Chương trình HCG y tế chẩn đoán một số bệnh ban đầu về phổi bao gồm các lớp giao diện chính là: khởi tạo, chẩn đoán lâm sàng, tìm hiểu tri thức bệnh, kết luận. Giao diện khởi tạo được thể hiện ở hình 3.5. Giao diện nhằm giới thiệu sơ qua về chương trình hệ chuyên gia, cùng với đó là hình tượng bác sĩ với nét vẽ ngộ nghĩnh tạo thiện cảm cho người dùng. Giao diện này chỉ xuất hiện một lần khi khởi động chương trình.
Hình 3.5. Giao diện khởi tạo
hai chức năng của hệ chuyên gia để người dùng lựa chọn: “Chẩn đoán lâm sàng” (bắt đầu quá trình chẩn đoán lâm sàng) và “Tìm hiểu” (tìm hiểu về các bệnh có trong hệ chuyên gia). Hai nút chức năng có mũi tên sang phải và sang trái, có vai trò đưa người sử dụng đến giao diện kế tiếp hoặc trở về giao diện trước (trái là lùi, phải là tiến).
Hình 3.6. Giao diện trang chủ a. Chức năng chẩn đoán lâm sàng
Sau khi chọn vào chức năng “chẩn đoán lâm sàng”, người dùng bắt đầu quá trình chẩn đoán bệnh. Hình 3.7 và 3.8 là giao diện nhập triệu chứng bệnh thứ nhất và thứ hai, thể hiện bước hỏi bệnh, giống như khi bác sĩ hỏi thăm bệnh nhân những biến đổi của cơ thể liên quan tới đường hô hấp như đau ngực, khó thở và ho. Bên cạnh đó là những triệu chứng mà bệnh nhân gặp phải trong sinh hoạt như ốm, sút cân, chán ăn, mất ngủ, ra mồ hôi đêm.
Tại giao diện triệu chứng khám phổi ở hình 3.9, các triệu chứng khi khám phổi được đưa ra. Đối tượng người dùng là bác sĩ có thể dễ dàng kiểm tra xem có
hay không mắc phải những triệu chứng được liệt kê ở người bệnh qua việc thăm khám phổi.
Hình 3.7. Giao diện nhập triệu chứng bệnh thứ nhất
Giao diện ở hình 3.10 đưa ra những dấu hiệu có thể gặp phải khi mắc các bệnh về phổi. Bác sĩ có chuyên môn có thể thực hiện khám tổng quát toàn thân bệnh nhân để kiểm tra những dấu hiệu này. Các triệu chứng này được nhận biết khi hỏi bệnh nhân trong quá trình sinh hoạt hằng ngày. Sau khi tích vào các ô triệu chứng, chương trình sẽ thu nhận và tổng hợp kết quả cho đến khi bước chọn triệu chứng cuối cùng được thực hiện. Trong khi chọn triệu chứng, ngươi dùng có thể trở lại giao diện chọn triệu chứng trước để chọn lại triệu chứng, nhưng sẽ phải chọn lại triệu chứng khi chuyển sang giao diện tiếp theo. Các triệu chứng xuyên suốt chương trình được sắp xếp theo các bước thăm khám bệnh nhân của bác sĩ hay nhân viên y tế: Hỏi bệnh, khám phổi, kiểm tra tổn thương liên quan và đưa ra kết luận.
Hình 3.8. Giao diện nhập triệu chứng bệnh thứ hai
Hình 3.10. Giao diện chọn các triệu chứng liên quan đến tổn thương phổi
Sau khi hoàn thành các thao tác chọn triệu chứng, giao diện kết luận như hình 3.11 sẽ được đưa ra cùng với khả năng mắc bệnh được xác định với 5 kết quả. Các kết quả này được đánh dấu bằng biểu tượng ngôi sao với màu sắc tương ứng như phần chú giải ở ngay trong giao diện: không có nguy cơ (màu xanh da trời), nguy cơ thấp (màu xanh lá), nguy cơ trung bình (màu tím), nguy cơ cao (màu da cam) và nguy cơ rất cao (màu đỏ). Phím bấm hình ngôi nhà màu xanh lá cây giúp cho người dùng trở về giao diện trang chủ để thực hiện một chẩn đoán khác hoặc thực hiện chức năng “tìm hiểu” để tìm hiểu tri thức bệnh. Ngay khi nhấn vào mũi tên sang phải màu xanh, các triệu chứng được chọn từ tất cả các giao diện sẽ được sử dụng vào quá trình suy diễn của máy suy diễn, và đưa ra kết luận phù hợp với mỗi bệnh.
Hình 3.12 và 3.13 minh họa cho hai trường hợp các triệu chứng lâm sàng đều không được chọn và các triệu chứng lâm sàng đều được tích chọn. Nghẽn mạch phổi và lao phổi sau khi tích chọn hết các triệu chứng nhưng chỉ dừng ở mức nguy cơ cao, là do tuân thủ theo đúng luật suy diễn ở phần 3.2.
Hình 3.11. Giao diện kết luận chẩn đoán lâm sàng
Hình 3.12. Giao diện kết luận khi không có triệu chứng nào được đánh dấu
Hình 3.13. Giao diện kết luận khi tất cả các triệu chứng đều được đánh dấu b. Chức năng tìm hiểu
Chức năng thứ hai của Hệ chuyên gia là tìm hiểu về tri thức các bệnh về phổi được sử dụng trong Hệ chuyên gia. Tại giao diện hình 3.14, người dùng chọn một trong các bệnh được liệt kê trong danh sách xổ xuống, nhấn CHỌN để chuyển sang giao diện tìm hiểu bệnh được chọn. Nếu không muốn tiếp tục quá trình tìm hiểu, người dùng có thể nhấn mũi tên sang trái màu đỏ để trở về giao diện trang chủ, thực hiện chức năng chẩn đoán hoặc kết thúc chương trình.
Hình 3.15 là ví dụ của việc tìm hiểu tri thức về bệnh phổi kẽ lan tỏa. Giao diện có ba mục riêng biệt để dễ phân loại tri thức về bệnh gồm Triệu chứng, Nguyên nhân và Điều trị, tương ứng với đó là các giao diện hình 3.16, hình 3.17 và hình 3.18. Giao diện tại hình 3.15 đưa ra định nghĩa cơ bản về bệnh phổi kẽ lan tỏa, cung cấp cho người đọc cái nhìn tổng quan về bệnh.
Hình 3.14. Giao diện tìm hiểu tri thức bệnh
Hình 3.16. Giao diện tìm hiểu triệu chứng bệnh phổi kẽ lan tỏa
Hình 3.18. Giao diện tìm hiểu phương pháp điều trị phổi kẽ lan tỏa
Tương tự như phần tìm hiểu tri thức của phổi kẽ lan tỏa, phần tìm hiểu tri thức của bệnh lao phổi cũng bắt đầu với giao diện mở đầu phần tìm hiểu như hình 3.19, với phần nêu lên khái niệm của bệnh lao phổi, cùng với đó là ba lựa chọn để tìm hiểu về tri thức bệnh là “triệu chứng”, “nguyên nhân” và “điều trị”.
Đối với bệnh có phần thông tin tri thức nhiều như lao phổi, cửa sổ giao diện sẽ được kéo dài ra nhằm đáp ứng đủ không gian chứa tri thức (hình 3.20). Các triệu chứng cận lâm sàng được liệt kê cùng với triệu chứng lâm sàng, nhưng chỉ nhằm mục đích tham khảo chứ không sử dụng để chẩn đoán bệnh trong HCG.
Hình 3.20. Tìm hiểu triệu chứng bệnh lao phổi
Phần nguyên nhân gây bệnh lao phổi được thể hiện ở hình 3.21 sẽ gồm hai giao diện con, nhằm đảm bảo cung cấp đủ thông tin cho người dùng mà không làm cho cửa sổ của chương trình HCG trở nên quá lớn. Cuối cùng là giao diện tri thức điều trị bệnh lao phổi tương tự như các bệnh khác tại hình 3.22.
Trong quá trình thực hiện chức năng Chẩn đoán, HCG không thêm vào các triệu chứng cận lâm sàng, vì tính đòi hỏi chuyên môn cao ở nhân viên y tế, bởi để đọc được phim chụp X-quang cũng sẽ đòi hỏi chuyên môn và kinh nghiệm nhất định mới có thể nhận biết được tổn thương được thể hiện trên tấm phim chụp. Vì
vậy, các triệu chứng cận lâm sàng được sử dụng để tham khảo trong phần Tìm hiểu tri thức bệnh của HCG.
Hình 3.22. Giao diện điều trị bệnh lao phổi
KẾT LUẬN CHƯƠNG 3
Chương 3 đã xây dựng được cơ sở tri thức, máy suy diễn cùng chương trình hệ chuyên gia y tế chẩn đoán ban đầu một số bệnh về phổi. Giao diện của HCG được thiết kế trên phần mềm Matlab với 2 chức năng chính: chẩn đoán lâm sàng và tìm hiểu tri thức các bệnh có trong HCG. HCG được xây dựng với các giao diện trực quan, dễ nhìn và thân thiện với người dùng
KẾT LUẬN
Sau quá trình thực hiện đồ án với đề tài “Xây dựng hệ chuyên gia y tế chẩn đoán ban đầu một số bệnh về phổi”, đồ án đã thực hiện được các nội dung sau:
- Trình bày kiến thức tổng quát nhất về HCG;
- Tổng hợp tri thức của một số bệnh về phổi, dựa trên tài liệu “Khám và
chữa các bệnh phổi” của GS. Phạm Gia Cường;
- Xây dựng cơ sở tri thức và máy suy diễn của HCG;
- Thiết kế giao diện HCG thân thiện, trực quan, dễ sử dụng.
Đồ án sử dụng phương pháp trọng số cho HCG, cho phép đánh giá các khả năng mắc bệnh suy ra từ việc chọn các triệu chứng có trọng số khác nhau. Phương pháp này cung cấp cái nhìn tổng quan và dễ hình dung nhất cho người sử dụng.
Do khả năng còn hạn chế và không được tiếp xúc trực tiếp với bác sĩ chuyên môn nên HCG y tế chẩn đoán ban đầu một số bệnh về phổi mới dừng lại ở mức chẩn đoán còn đơn giản. Vì vậy, nếu đồ án có khả năng được phát triển, định hướng của đồ án sẽ là:
- Mở rộng cơ sở tri thức bệnh
- Mở rộng phạm vi các bệnh về phổi có thể chẩn đoán được.
- Liên hệ trao đổi trực tiếp với chuyên gia y khoa, người có chuyên môn
tăng độ tin cậy cho hệ chuyên gia.
TÀI LIỆU THAM KHẢO
[1]. Thomas D.McFarland & Reese Parker, Expert Systems in Education and
Training, Educational Technology ,1990, tr. 93.
[2]. E. A. Feigenbaum, Knowledge Engineering, the applied side of artIFicial
intelligence, Annels of the New York Academy of Sciences, 1984, tr.91-107
[3].P. Jackson, Introduction To Expert Systems, Pearson Education, 1999.
[4]. E. Turban, Decision support and expert systems: management support
systems, Prentice Hall, 1995
[5]. Sở Y Tế TP.HCM, Tìm hiểu ứng dụng trí tuệ nhân tạo
trong y tế,
medinet.gov.vn – 2019
[6].Ryan Hoang, DeepClinics - Ứng dụng AI chẩn đoán bệnh da liễu đầu tiên tại
Việt Nam.
[7].Phạm Gia Cường, Khám và chữa các bệnh phổi, NXB Y Học, 2005, tr.
13
[8].TS. Mai Ngọc Anh & ThS. Nguyễn Thị Ngọc Mai, Giáo trình hệ chuyên gia
y tế, Nhà xuất bản quân đội nhân dân -2019.
[9].EDWARD H. SHORTLIFFE, Medical Expert Systems-Knowledge Tools for
Physicians, Medical Informatics – 1986.
[10]. Ngyễn Thanh Thủy, Hệ trợ giúp và kiểm tra đơn thuốc chữa bệnh tăng huyết
áp ES – TENSION, Tạp chí tin học và điều khiển học, Viện Công nghệ Thông tin - 1996
PHỤ LỤC.
CHƯƠNG TRÌNH CÁC HÀM SUY DIỄN TRONG HỆ CHUYÊN GIA
1. Hàm suy diễn đưa ra kết luận bệnh phổi kẽ lan tỏa:
if(pklt1==0 & pklt2==0 & pklt3==0 & pklt4==0 & pklt5==0 &
pklt6==0) axes(handles.axes3); imshow('tb5.jpg'); end if pklt1==1 axes(handles.axes3); imshow('tb1.jpg'); end if (pklt2==1 | pklt3==1) axes(handles.axes3); imshow('tb2.jpg'); end if ((pklt2==1 & pklt3==1) | pklt4==1 |pklt5==1 | pklt6==1) axes(handles.axes3); imshow('tb3.jpg'); end
if(pklt4==1 & pklt5==1 | pklt4==1 & pklt6==1) | (pklt5==1 &
pklt6==1 | pklt4==1 & pklt5==1 & pklt6==1)
axes(handles.axes3);
imshow('tb4.jpg');
end
2. Hàm suy diễn đưa ra kết luận bệnh nghẽn mạch phổi
if (nmp1==0 & nmp2==0 & nmp3==0 & nmp4==0 & nmp5==0 & nmp6==0
& nmp7==0) axes(handles.axes4); imshow('tb5.jpg'); end if nmp1==1 | nmp2==1 | nmp3==1 | (nmp1==1 & nmp2==1) | (nmp1==1 & nmp3==1) | (nmp2==1 & nmp3==1) axes(handles.axes4); imshow('tb1.jpg'); end
if (nmp1==1 & nmp2==1 & nmp3==1) | nmp4==1 | nmp5==1 | nmp6==1 axes(handles.axes4);
imshow('tb2.jpg');
end
if(nmp4==1 & nmp5==1) | (nmp4==1 & nmp6==1) | (nmp5==1 &
nmp6==1) | nmp7==1 axes(handles.axes4);
imshow('tb3.jpg');
end
3. Hàm suy diễn đưa ra kết luận bệnh lao phổi
if (lp1==0 & lp2==0 & lp3==0 & lp4==0 & lp5==0 & lp6==0)
axes(handles.axes5); imshow('tb5.jpg'); end if lp1==1 | lp2==1 | lp3==1 | lp1==1 & lp2==1 | (lp1==1 & lp3==1) | (lp2==1 & lp3==1) axes(handles.axes5); imshow('tb1.jpg'); end if (lp1==1 & lp2==1 & lp3) | lp4==1 | lp5==1 axes(handles.axes5); imshow('tb2.jpg'); end if (lp4==1 & lp5==1) | lp6==1 axes(handles.axes5); imshow('tb3.jpg'); end
4. Hàm suy diễn đưa ra kết luận bệnh tràn dịch màng phổi
if (tdmp1==0 &tdmp2==0 & tdmp3==0 & tdmp4==0 & tdmp5==0 &
tdmp6==0 & tdmp7==0 & tdmp8==0 & tdmp9==0) axes(handles.axes6); imshow('tb5.jpg'); end if tdmp1==1 | tdmp2==1 | tdmp3==1 | (tdmp1==1 & tdmp2==1) | (tdmp1==1 & tdmp3==1) | (tdmp2==1 & tdmp3==1) axes(handles.axes6); imshow('tb1.jpg'); end
if (tdmp1==1 & tdmp2==1 & tdmp3==1) | tdmp4==1 | tdmp5==1 |
tdmp6==1
axes(handles.axes6);
imshow('tb2.jpg');
end
if (tdmp4==1 & tdmp5==1) | (tdmp4==1 & tdmp6==1) | (tdmp5==1 &
tdmp6==1) | tdmp7==1 | tdmp8==1 | tdmp9==1 axes(handles.axes6);
imshow('tb3.jpg');
end
if (tdmp4==1 & tdmp5==1 & tdmp6==1) | (tdmp7==1 & tdmp8==1) |
(tdmp7==1 & tdmp9==1) | (tdmp8==1 & tdmp9==1) | (tdmp7==1 & tdmp8==1 & tdmp9==1)
axes(handles.axes6);
imshow('tb4.jpg');
end
5. Hàm suy diễn đưa ra kết luận bệnh tràn khí màng phổi
if (tkmp1==0 & tkmp2==0 & tkmp3==0 & tkmp4==0 & tkmp5==0 &
tkmp6==0) axes(handles.axes7); imshow('tb5.jpg'); end if tkmp1==1 axes(handles.axes7); imshow('tb1.jpg'); end if tkmp2==1 | tkmp3==1 axes(handles.axes7); imshow('tb2.jpg'); end if (tkmp2==1 & tkmp3==1) | tkmp4==1 | tkmp5==1 | tkmp6==1 axes(handles.axes7); imshow('tb3.jpg'); end
if (tkmp4==1 & tkmp5==1) | (tkmp4==1 & tkmp6==1) | (tkmp5==1 &
tkmp6==1) | (tkmp4==1 & tkmp5==1 & tkmp6==1) axes(handles.axes7);
imshow('tb4.jpg');
6. Hàm suy diễn đưa ra kết luận bệnh viêm phổi do hít
if (vpdh1==0 & vpdh2==0 & vpdh3==0 & vpdh4==0) axes(handles.axes8); imshow('tb5.jpg'); end if vpdh1==1 | vpdh2==1 axes(handles.axes8); imshow('tb2.jpg'); end if (vpdh1==1 & vpdh2==1) | vpdh3==1 | vpdh4==1 axes(handles.axes8); imshow('tb3.jpg'); end if (vpdh3==1 & vpdh4==1) axes(handles.axes8); imshow('tb4.jpg'); end