diễn từ các sự kiện: phù, vô niệu và thiếu máu. Trong đó thiếu máu được xác định bởi hai sự kiện: da xanh và niêm mạc nhợt nhạt. Trọng số của mỗi liên kết thể hiện mức độ chắc chắn CF của nút bên phải xác định được nhờ vào nút bên trái liên kết. Ví dụ trong đồ thị trên cho thấy bệnh nhân có triệu chứng phù nên bác sĩ nghĩ bệnh nhân này có thể bị suy thận với độ chắc chắn là 0.36.
3.3. Mô tả quá trình chẩn đoán
Các bước thực hiện chính được mô tả tổng quát trong sơ đồ hình 3.4
- Để bắt đầu quá trình chẩn đoán, ESKF yêu cầu thông tin bệnh nhân để đăng nhập. Nếu bệnh nhân đã được chẩn đoán trước đây thì chỉ cần cung cấp mã bệnh nhân do hệ thống tạo ra trong lần chẩn đoán đầu tiên. Nếu là bệnh nhân mới thì cung cấp tên, năm sinh và giới tính để khởi tạo profile.
- Sau khi đăng nhập, hệ thống bắt đầu thu thập thông tin để chẩn đoán bệnh. Tùy vào hiện trạng của bệnh nhân mà hệ thống xác định thông tin cần hỏi. Quá trình này được mô tả qua hình 3.5.
- Khi đã có các thông tin cần thiết, hệ thống bắt đầu chẩn đoán bệnh. Trong quá trình chẩn đoán có thể hệ thống sẽ hỏi thêm thông tin mà chủ yếu là các kết quả cận lâm sàng.
Hình 3.5 Sơ đồ DFD quá trình thu thập thông tin
Nếu bệnh nhân được xác định là có nguy cơ suy thận thì hệ thống chỉ hỏi một vài triệu chứng chính. Trong trường hợp này, bệnh nhân chỉ cần cho biết có một trong các triệu chứng đó thì sẽ được yêu cầu làm xét nghiệm để chẩn đoán xác định. Nếu hiện trạng của bệnh nhân không được xác định do chưa có thông tin trong profile hay bệnh nhân không có nguy cơ suy thận thì hệ thống yêu cầu cung cấp đầy đủ các triệu chứng, tiền căn của bệnh nhân, tiền căn gia đình và kết quả khám lâm sàng của bác sĩ.
Các trường hợp đặc biệt như bệnh nhân đã được chẩn đoán suy thận mạn hay đang được theo dõi suy thận thì hệ thống sẽ bỏ qua bước hỏi bệnh để tiến hành chẩn đoán xác định.
Sau khi thu thập được các thông tin về bệnh, hệ thống sẽ bắt đầu chẩn đoán bệnh. Quá trình chẩn đoán được phân ra làm ba bước sau: chẩn đoán sơ bộ, chẩn đoán xác định và chẩn đoán nguyên nhân.
Chẩn đoán sơ bộ là chẩn đoán ban đầu sau khi hỏi và khám lâm sàng để xác định bệnh nhân có khả năng bị suy thận không. Nếu các thông tin có được đủ để cho bác sĩ nghĩ bệnh nhân có khả năng bị suy thận thì yêu cầu làm xét nghiệm sinh hóa máu để chẩn đoán xác định. Do đó quá trình hỏi bệnh ban đầu chỉ hỏi: triệu chứng, tiền căn và các thông tin khám lâm sàng.
Chẩn đoán xác định là khẳng định bệnh nhân có suy thận không? Nếu có thì suy thận đó là suy thận cấp hay suy thận mạn. Quá trình chẩn đoán này dựa vào các kết quả cận lâm sàng là chính.
Sau khi xác định được bệnh nhân bị suy thận cấp hay suy thận mạn thì chuyển sang chẩn đoán nguyên nhân. Khi chẩn đoán nguyên nhân có thể bệnh nhân phải cung cấp thêm một số thông tin khác bao gồm thông tin về lâm sàng và cận lâm sàng. Quá trình chẩn đoán suy thận được thể hiện chi tiết qua hình 3.6.
Cuối cùng là hệ thống sẽ cập nhật lại profile của bệnh nhân dựa vào các thông tin đã suy diễn và các thông tin do người sử dụng cung cấp.
CHƯƠNG 4 THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ
Quá trình đánh giá hệ chẩn đoán suy thận ESKF được thực hiện qua hai giai đoạn:
- Kiểm tra cơ sở tri thức.
- Đánh giá kết quả chẩn đoán của hệ thống.
4.1. Kiểm tra cơ sở tri thức
Phần quan trọng nhất khi kiểm tra HCG chính là kiểm tra cơ sở tri thức và môtơ suy luận của HCG đó. Vì hệ chẩn đoán suy thận ESKF sử dụng môtơ suy luận Jess đã được dùng khá phổ biến nên phần kiểm tra này chỉ tập trung vào cơ sở tri thức. Một khi có được cơ sở tri thức có chất lượng thì mới đảm bảo hệ thống đó cung cấp những kết quả đáng tin cậy. Một cơ sở tri thức cần phải được kiểm tra tính nhất quán, tính đầy đủ và tính đúng đắn.
Đối với các HCG dựa trên luật dẫn thì kiểm tra tính nhất quán bằng việc xác định các luật dư thừa, luật mâu thuẫn, luật gộp (subsumed rule), điều kiện thừa trong các luật, các luật suy diễn có chu trình [25].
Cơ sở tri thức của ESKF không có luật dư thừa, không có luật gộp và các luật không tạo chu trình nhưng vẫn còn các luật mâu thuẫn nhau nhưng không ảnh hưởng kết quả chẩn đoán vì đối với một số triệu chứng vừa dùng để chẩn đoán suy thận và dùng để chẩn đoán nguyên nhân suy thận. Ví dụ hai luật THIEU_NIEU_ST và THIEU_NIEU_TN.
(defrule THIEU_NIEU_ST
(observable (name THIEU_NIEU) (certainty-factor ?CFTHIEU_NIEU)) =>
(bind ?cf (format nil “%2.2f” (* 0.56 ?CFTHIEU_NIEU))) (bind ?t (sym-cat “THIEU_NIEU -> SUY_THAN “ ?cf))
(assert (classification (class-name SUY_THAN) (certainty-factor ?cf)(track ?t)))) (defrule THIEU_NIEU_TN
(declare (salience 5))
(observable (name THIEU_NIEU) (certainty-factor ?CFTHIEU_NIEU)) =>
(bind ?cf (format nil “%2.2f” (* 0.28 ?CFTHIEU_NIEU))) (bind ?t (sym-cat “ THIEU_NIEU -> TAC_NGHEN “ ?cf))
(assert (classification (class-name TAC_NGHEN)(certainty-factor ?cf)(track ?t)))) Cơ sở tri thức đầy đủ khi thỏa các điều kiện [25]:
- Không có giá trị nào của một thuộc tính không được sử dụng: - Không sử dụng giá trị không hợp lệ
- Không có điều kiện trong mệnh đề IF “chết” (dead-end IF condition) có nghĩa là không có luật nào sinh ra sự kiện này hay không được người sử dụng cung cấp.
Cơ sở tri thức của ESKF thỏa mãn các điều kiện trên ngoại trừ điều kiện đầu tiên. Các giá trị của một thuộc tính không được sử dụng trong ESKF vì đây là các giá trị bình thường không giúp bác sĩ chẩn đoán. Ví dụ thuộc tính tình trạng huyết áp của bệnh nhân có ba giá trị: hạ huyết áp, bình thường và tăng huyết áp. Huyết áp bình thường không giúp bác sĩ chẩn đoán nên không có luật nào trong cơ sở tri thức sử dụng.
Tính đúng đắn được kiểm tra bằng cách với tập dữ liệu đầu vào suy diễn trên cơ sở tri thức đó có được kết quả như mong muốn hay không (xem 4.2.3).
4.2. Đánh giá kết quả chẩn đoán
4.2.1. Dữ liệu đánh giá
Dữ liệu dùng để đánh giá ESKF là các bệnh án được thu thập tại bệnh viện Chợ Rẫy từ năm 2008 đến 2009. Một bệnh án có nhiều loại thông tin, trong đó phần lớn thông tin dùng để điều trị và theo dõi bệnh. Khi nhập viện bác sĩ cần các loại thông tin sau để chẩn đoán: thông tin bệnh nhân, bệnh sử của bệnh nhân và của gia đình, thông tin khám bệnh của bác sĩ và một số kết quả cận lâm sàng và kết quả chẩn đoán. Bảng sau mô tả mẫu bệnh án dùng để thu thập dữ liệu đánh giá ESKF.
BỆNH ÁN I. Hành chánh 1. Số bệnh án:... 2. Họ tên:... 3. Giới tính: Nam Nữ 4. Năm sinh:...
5. Ngày nhập viện: ...Ngày xuất viện:...
II. Bệnh sử
1. Triệu chứng: 2. Tiền căn:
3. Tiền căn gia đình:
III. Khám xét 1. Thực thể: 2. Tổng quát: - Mạch : ...lần/phút - Nhiệt độ : ...oC - Huyết áp : .../...mmHg - Nhịp thở : ...lần/phút - Cân nặng : ...Kg - Chiều cao : ...cm - Nước tiểu 24 giờ: ...ml
IV. Cận lâm sàng
1. Sinh hóa máu
- Đuờng huyết : ...mg% - BUN : ...mg% - Creatinin : ...mg% 2. Sinh hóa máu chất điện giải
- Natri : ...mEq/l - Kali : ...mEg/l - Calci : ...mEq/l - Clo : ...mEq/l - Phospho : ...mg/l
Hình 4.1 Mẫu bệnh án dùng để thu thập dữ liệu
Nhiều trường hợp bệnh án không có đầy đủ các thông tin trên. Ví dụ đối với các bệnh nhân mới thì bác sĩ hỏi đầy đủ thông tin, còn đối với các bệnh nhân đã được chẩn đoán suy thận mạn (tái khám định kỳ) thì bệnh án chứa rất ít thông tin, chủ yếu là xét nghiệm dùng để đánh giá tình trạng của bệnh.
Tổng số bệnh án mẫu qua 2 lần thu thập được tại bệnh viện Chợ Rẫy là 278 bệnh án, trong đó:
- Lần 1 thu thập được 182 bệnh án có ngày nhập viện từ tháng 11 năm 2008 đến tháng 6 năm 2009. Các bệnh án này dùng để chỉnh sửa và cập nhật cơ sở tri thức.
- Lần 2 thu thập được 96 bệnh án có ngày nhập viện từ tháng 7 năm 2009 đến tháng 12 năm 2009. Các bệnh án này dùng để đánh giá kết quả chẩn đoán của ESKF.
4.2.2. Đánh giá ý nghĩa profile
Khi chẩn đoán, bác sĩ có thể cần đến thông tin trong các lần chẩn đoán trước. Phần lớn bệnh nhân không biết hay không nhớ các thông tin đó. Trong bệnh viện, bác sĩ có thể xem lại các bệnh án cũ nhưng cần phải có thời gian để phòng lưu trữ hồ sơ
3. Máu ngoại vi
- RBC : ...1012/L - HGB : ...g/L - HCT : ...% - WBC : ...109/L 4. Phân tích nước tiểu
- Máu : ... - Đạm niệu : ...mg/dL - Đạm niệu 24 giờ : ...g/24h - Số lượng hồng cầu : ... - Số lượng bạch cầu : ... - Trụ : ... - Hồng cầu biến dạng : ...
5. Siêu âm hệ niệu: ... 6. Khác:...
V. Chẩn đoán
1. Suy thận: ... 2. Nguyên nhân:...
tìm lại bệnh án đó. Hơn nữa một số thông tin không có trong bệnh án. Để có được các thông tin này, bác sĩ phải tính toán hay suy ra từ các thông tin khác. Ví dụ bác sĩ muốn biết độ thanh lọc creatinine phải tính từ tuổi, giới tính và giá trị creatinine có trong kết quả xét nghiệm sinh hóa máu. Như vậy patient profile giúp hệ thống cũng như bác sĩ chẩn đoán thuận tiện hơn vì cung cấp thông tin đầy đủ và nhanh chóng, không cần hỏi lại những thông tin đã biết. Đặc biệt khi bệnh nhân bị hôn mê (bác sĩ không hỏi được bệnh) hay cần phải chẩn đoán gấp khi cấp cứu thì có được các thông tin về bệnh nhân một cách nhanh chóng là rất quan trọng.
Khi theo dõi tình trạng của bệnh nhân qua các lần chẩn đoán, bác sĩ có thể tiên đoán bệnh nhân có nguy cơ suy thận cao hay không cao để khuyên bệnh nhân tái khám theo định kỳ cho phù hợp. ESKF thực hiện tương tự, sau mỗi lần chẩn đoán hệ thống cập nhật lại profile của bệnh nhân và suy diễn để xác định nguy cơ suy thận của những bệnh nhân chưa bị suy thận mạn. Nếu bệnh nhân có nguy cơ suy thận mạn cao, hệ thống khuyên bệnh nhân nên thường xuyên tái khám để theo dõi. Kết quả chẩn đoán nguy cơ suy thận của ESKF được đánh giá bằng cách so sánh với kết quả chẩn đoán nguy cơ của bác sĩ trên 40 bệnh án của 20 bệnh nhân được tạo ra ngẫu nhiên. Trong tổng số 20 trường hợp, ESKF cho kết quả đúng 14 trường hợp (70%) so với ý kiến đánh giá của bác sĩ.
Trong trường hợp hệ thống chẩn đoán có ít khả năng suy thận có thể vì lý do nào đó mà người sử dụng cung cấp không đầy đủ thông tin hay bác sĩ khám lâm sàng bị thiếu sót. Để đảm bảo nhận được đầy đủ các triệu chứng, dấu hiệu bất thường, tiền căn…từ người dùng, hệ thống dựa vào thông tin của các bệnh nhân khác để suy ra các thông tin cần hỏi lại. Để đánh giá các thông tin suy diễn của hệ thống dùng để hỏi lại bệnh nhân có hợp lý hay không, tiến hành như sau:
- Chọn ngẫu nhiên 1 bệnh án được ESKF chẩn đoán có khả năng suy thận cao (trong trường hợp thử nghiệm này chọn CF >= 0.7) và có kết quả chẩn đoán cuối cùng là bị suy thận trong tổng số 278 bệnh án mẫu.
- Sử dụng phương pháp được nêu trong 3.2.1.4 để xác định các thông tin cần hỏi lại.
- Kiểm tra xem trong các thông tin được xác định cần hỏi lại có sự kiện bị loại bỏ hay không.
Ví dụ bệnh án có mã số 09013679 có các thông tin sau dùng để chẩn đoán khả năng: thiểu niệu, tăng huyết áp, chán ăn, nôn ít. Thực hiện kiểm tra với trường hợp chọn các thông tin có trong các bệnh án khác nhiều nhất. Đầu tiên giả sử bệnh án không có thiểu niệu thì hệ thống suy diễn hỏi lại 2 thông tin (niêm mạc nhợt nhạt và thiểu niệu) trong đó có thiệu niệu. Khi loại bỏ tăng huyết áp thì hệ thống chỉ hỏi đúng thông tin bệnh nhân có tăng huyết áp hay không. Hai trường hợp còn lại hệ thống sẽ hỏi niêm mạc của bệnh nhân có nhợt nhạt không.
Cũng kiểm tra với bệnh án trên nhưng lần này sẽ hỏi tất cả các thông tin suy diễn ra được. Kết quả như sau:
- Khi bỏ thiểu niệu hệ thống sẽ hỏi lại các thông tin sau: niêm mạc nhợt nhạt, thiểu niệu.
- Khi bỏ mệt hệ thống sẽ hỏi lại các thông tin sau: niêm mạc nhợt nhạt, mệt. - Khi bỏ chán ăn hệ thống sẽ hỏi lại các thông tin sau: niêm mạc nhợt nhạt,
chán ăn, phù, da xanh xao.
- Khi bỏ nôn ít hệ thống sẽ hỏi lại các thông tin sau: niêm mạc nhợt nhạt, nôn ít hay nôn nhiều, phù, đau vùng thượng vị, da xanh xao, tiền că tiêu đường. - Khi bỏ tăng huyết áp hệ thống sẽ hỏi lại các thông tin sau: niêm mạc nhợt
nhạt, phù, tăng huyết áp, đau vùng thượng vị, da xanh xao, tiền căn đái tháo đường.
Khi chọn tất cả thông tin được suy diễn ra dùng để hỏi thì có sự khác biệt trong trường hợp loại bỏ thông tin nôn ít. Như vậy khi hệ thống hỏi lại càng nhiều thì khả năng phục hồi được thông tin bị thiếu càng cao.
Sau đây là bảng kết quả thực hiện kiểm tra trên 10 nhóm bệnh án, mỗi nhóm chọn ngẫu nhiên 20 bệnh án. Mỗi lần kiểm tra tương ứng với một thông tin trong một bệnh án bị loại bỏ. Trong các lần kiểm tra chỉ chọn các bệnh án có độ tương tự cao
nhất (k=1) và những thông tin xuất hiện trong các bệnh án tương tự n bậc cao nhất (xem phần 3.2.1.4).
Bảng 4.1 Bảng kết quả đánh giá chức năng hỏi bệnh bổ sung trên nhiều nhóm bệnh án
Nhóm Số lần kiểm tra n Kết quả
1 96 1 67.7% 2 84 2 76.2% 3 86 3 80.2% 4 83 4 83.1% 5 92 5 83.4% 6 91 1 63.7% 7 86 2 77.9% 8 85 3 78.8% 9 90 4 77.8% 10 88 5 80.7%
Sau đây là một bảng kết quả kiểm tra khác trên cùng một nhóm 20 bệnh án với các giá trị n khác nhau để thấy được sự ảnh hưởng của n với khả năng có thông tin cần hỏi trong số các thông tin dùng để hỏi.
Bảng 4.2 Bảng kết quả đánh giá chức năng hỏi bệnh bổ sung trên một nhóm bệnh án
Lần test Số lần kiểm tra n Kết quả
1 91 1 63.7% 2 91 2 73.6% 3 91 3 76.9% 4 91 4 76.9% 5 91 5 76.9% Nhận xét:
- Hơn 63% số lần hỏi bổ sung có chứa thông tin bị cung cấp thiếu và số lượng thông tin dùng để hỏi lại ảnh hưởng đến khả năng chứa thông tin bị thiếu sót.
- n và kcàng lớn thì hệ thống sẽ hỏi càng nhiều và khả năng có hỏi thông tin cần càng cao.
4.2.3. Đánh giá kết quả chẩn đoán
Để đánh giá kết quả chẩn đoán, hệ thống sẽ sử dụng thông tin có trong 96 bệnh án được thu thập trong lần 2. Kết quả của hệ thống sẽ được so sánh với kết quả chẩn đoán trong bệnh án. Nhưng phần lớn các bệnh án đều không có chẩn đoán nguyên nhân nên kết quả chẩn đoán nguyên nhân sẽ được so sánh với chẩn đoán của bác sĩ.
Sau đây là kết quả thực nghiệm với 96 bệnh án, trong đó có 3 bệnh án đã được chẩn đoán suy thận mạn trước đó. Đối với 3 bệnh án này, hệ thống chỉ kiểm tra lại bệnh nhân có bị suy thận mạn không và xác định giai đoạn suy thận mạn. Trong