4.3.1. Ý tƣởng của thuật giải
Vấn đề thu thập thông tin kết hợp với việc phân tích thông tin đã biết để đƣa ra kết luận chẩn đoán ta sử dụng phƣơng pháp suy diễn tiến là thích hợp trong hệ chẩn đoán bệnh.
Phƣơng pháp suy diễn tiến đƣợc bắt đầu bằng việc nhập thông tin bệnh nhân, tập các triệu chứng và các xét nghiệm lâm sàng cần thiết để đặt vào bộ nhớ làm việc. Sau đó máy suy diễn tự động đƣa ra tập các triệu chứng và bệnh nhân lựa chọn. Hệ thống dựa vào lựa chọn của bệnh nhân để thu thập triệu chứng lâm sàng và đƣa ra quyết định có cần thực hiện các xét nghiệm cận lâm sàng hay không. Nếu cần chƣơng trình sẽ xuất ra danh sách các xét nghiệm để bệnh nhân thực hiện. Sau khi có kết quả cận lâm sàng ngƣời dùng sẽ nhập vào hệ thống. Dựa trên tập triệu chứng và kết quả các xét nghiệm bộ máy suy diễn của hệ thống sẽ so khớp các biến trong tập luật với các sự kiện lƣu trữ trong bộ nhớ làm việc để quyết định luật nào sẽ sử dụng. Sau khi đã xác định đƣợc luật nào cần sử dụng, hệ thống sẽ thực hiện các hành động của luật đó.
Các luật suy diễn đƣợc áp dụng do hệ chuyên gia cung cấp vào cho đến khi lấy ra các luật thỏa mãn. Nếu không tìm ra các luật thỏa mãn thì thì máy suy diễn sẽ ngừng và chƣơng trình ngừng hoạt động. Sau khi mọi sự kiện đƣợc thỏa mãn, hệ thống sẽ gán giá trị thuộc tính kết luận và xuất kết quả chẩn đoán cho ngƣời sử dụng.
4.3.2. Thuật giải suy luận trong chẩn đoán bệnh
Thuật giải suy luận trong chẩn đoán bệnh ung thƣ gan đã mô phỏng quy trình chẩn đoán thực tế do bác sĩ chuyên gia cung cấp. Quá trình suy diễn này áp dụng các luật suy diễn phù hợp với thực tế lâm sàng. Danh sách các triệu chứng đƣợc thu thập từ từng những bệnh nhân cụ thể tại bệnh viện Nhân Dân Gia Định.
69
Hình 4.3 Thuật giải suy luận trong chẩn đoán
No
Yes
Yes No
Hiển thị danh sách các triệu chứng ban đầu cho bệnh nhân lựa chọn
Thêm các Triệu chứng vào danh sách.
Thêm kết quả xét nghiệm vào danh sách Danh sách Triệu chứng đủ để chẩn đoán Hệ thống xuất các xét nghiệm cận lâm sàng cần thực hiện Hệ thống lƣu trạng thái chờ chẩn đoán Danh sách các kết quả xét nghiệm cận lâm sàng Đọc tập luật từ tập tin Rule.xml So khớp các triệu chứng với tập luật Kết quả chẩn đoán Ung thƣ tế bào gan Kết quả chẩn đoán
chƣa phát hiện Ung thƣ tế bào gan
Bắt đầu
Kết thúc
70
Thuật giải đƣợc mô tả chi tiết bằng cách liệt kê:
– Bước 1: Nhập giá trị đầu vào là thông tin bệnh nhân: Họ tên, năm sinh, địa chỉ, điện thoại, tiền sử bệnh nhân.
– Bước 2: Hệ thống cho hiển thị ra danh sách các triệu chứng ban đầu và cho bệnh nhân chọn lựa.
– Bước 3: Hệ thống tự động thêm các triệu chứng vào danh sách và kiểm tra điều kiện.
– Bước 4:
If Danh sách đủ điều kiện chẩn đoán then Đọc tập luật từ tập tin Rule.xml
If So khớp các triệu chứng với luật then xuất ra kết quả chẩn đoán bệnh ung thƣ tế bào gan. Qua bƣớc 8
Else chƣa phát hiện bệnh ung thƣ tế bào gan. Qua bƣớc 8
Else Chƣơng trình xuất các xét nghiệm cận lâm sàng cần thực hiện. Qua bƣớc 5
– Bước 5: Hệ thống lƣu ở trạng thái chờ chẩn đoán. Hệ thống xuất ra bảng danh sách các xét nghiệm cận lâm sàng. Qua bƣớc 6
– Bước 6: Hệ thống đƣa kết quả xét nghiệm cận lâm sàng vào danh sách triệu chứng. Quay lại bƣớc 3: Thêm kết quả xét nghiệm vào danh sách
– Bước 7: Hệ thống đọc các luật từ tập luật từ hệ cơ sở tri thức và so khớp. (Bƣớc 4)
– Bước 8: Chƣơng trình đƣa ra bảng kết quả chẩn đoán bệnh. Kết thúc chƣơng trình
Ngoài ra còn có tập các biến với giá trị cụ thể đƣợc sử dụng trong quy trình thuật giải:
1. Đƣờng kính khối u gan: 1 – 5 cm : real; 2. Giá trị giảm cân: 5 – 6 kg/1 tháng : float;
3. Thân nhiệt : integer;
– Sốt nhẹ: 38o
C – 39oC – Sốt cao: > 39o
C – Sốt kéo dài: > 2 tuần
71
4. Nồng độ AFP: 350ng/ml <AFP < 1200ng/ml : integer; 5. Nồng độ Bilirubin: là biến kiểu liệt kê
– Tƣơng ứng là {“Toàn phần”, “Trực tiếp”, “Gián tiếp”} 6. Khám lâm sàng_Bụng: là biến kiểu liệt kê
– Tƣơng ứng là {“ Bụng dày mở”, “Bụng mềm”, “Ấn tức thoái bị”} 7. Khám lâm sàng _Chế độ ăn uống : là biến kiểu liệt kê
– Tƣơng ứng là {“ Bình thường”, “Ăn không tiêu”, “Ăn uống kém”} 8. Triệu chứng_ Vàng da : là biến kiểu liệt kê
– Tƣơng ứng là {“ Nước tiểu sẫm màu”,” Phân nhạt màu”,” Bình thường”}
9. Triệu chứng_Cổ trƣớng : là biến kiểu liệt kê
– Tƣơng ứng là {“Tràn dịch ổ bụng”, “Tắc hệ bạch huyết”} 10.Tĩnh mạch cửa : là biến kiểu liệt kê
– Tƣơng ứng là {“Bắt thuốc mạnh” , “Không bắt thuốc mạnh”, “Tăng áp”, “Không tăng áp”}
11.Triệu chứng_đặc hiệu : là biến kiểu liệt kê
– Tƣơng ứng là {“vàng da” , “vàng mắt”, “báng bụng”, “đau hạ sườn phải”}
Tập các biến kết luận trong chẩn đoán bệnh: a. Ung thƣ tế bào gan
b. Không có ung thƣ tế bào gan c. Viêm gan
d. Rối loạn tiêu hóa
e. HCC: ung thƣ gan nguyên phát f. Suy kiệt toàn thân
g. Giai đoạn khởi phát h. Giai đoạn toàn phát i. Bình thƣờng
72
CHƢƠNG 5
THIẾT KẾ HỆ THỐNG VÀ CÀI ĐẶT THỬ NGHIỆM
Trong chƣơng này sẽ giới thiệu về chƣơng trình ứng dụng và các thiết kế dựa trên mô hình Sub-COKB-Adapt. Chƣơng trình là một hệ thống suy diễn để đƣa ra kết quả bệnh lý hỗ trợ cho bác sĩ . Chƣơng trình đƣợc cài đặt thử nghiệm có so sánh đánh giá kết quả trên các mẫu bệnh án cụ thể tại bệnh viện Nhân Dân Gia Định và bệnh viện Đại học Y Dƣợc Thành phố Hồ Chí Minh.
5.1. THIẾT KẾ HỆ THỐNG 5.1.1. Mục tiêu ứng dụng 5.1.1. Mục tiêu ứng dụng
Mục tiêu của ứng dụng này nhằm hỗ trợ cho các bác sĩ mới ra trƣờng chƣa có kinh nghiệm trong chẩn đoán hay bất cứ một ngƣời nào có nghi ngờ bệnh hay có triệu chứng khác thƣờng có thể dùng chƣơng trình này để phát hiện và thăm khám chữa trị kịp thời. Hệ thống cho phép ngƣời dùng nhập thông tin bệnh nhân và các triệu chứng ban đầu. Dựa vào các triệu chứng trên hệ thống sẽ đƣa ra danh sách những xét nghiệm lâm sàng yêu cầu bệnh nhân thực hiện. Sau khi có kết quả, hệ thống sẽ so sánh với tập luật do hệ chuyên gia cung cấp để đƣa ra kết luận chẩn đoán bệnh. Chƣơng trình này là ứng dụng mang tính thực tế với mong muốn mọi ngƣời phát hiện bệnh sớm nhất và chữa trị để giảm đi tình trạng tử vong do căn bệnh ung thƣ ngày càng nhiều.
5.1.2. Sơ lƣợc quy trình chẩn đoán bệnh của hệ thống
Hệ thống này bao gồm các thành phần chẩn đoán bệnh đƣợc mô phỏng nhƣ sau: - Bộ phận thu nhận thông tin bệnh nhân
- Bộ phận thu nhận các triệu chứng cơ năng và thực thể của bệnh nhân - Bộ phận thu nhận các kết quả chẫn đoán lâm sàng và cận lâm sàng - Bộ phận tạo CSTT và CSTT thu thập thông tin
- Bộ phận CSTT chẩn đoán - Bộ phận chẩn đoán
73
Hình 5.1 Quy trình chẩn đoán bệnh của hệ thống
5.1.3. Cấu trúc của hệ thống
Dựa trên kiến thức của chuyên gia, các thông tin trong quá trình bác sĩ khám bệnh để xây dựng một hệ chuyên gia hỗ trợ chẩn đoán bệnh ung thƣ gan. Hệ thống gồm các thành phần nhƣ sau:
1. Giao diện ngƣời dùng
2. Các Control dùng để nhập thông tin ban đầu của bệnh nhân 3. Các Panel chứa các Control để nhận dữ liệu từ ngƣời dùng 4. Các Control để nhận và trả kết quả lâm sàng
5. Module xuất các xét nghiệm cận lâm sàng bệnh nhân cần thực hiện
6. Module chẩn đoán sử dụng các luật đã thu thập đƣợc từ chuyên gia và mô tơ suy diễn để thực hiện quá trình suy diễn
7. Các Module đƣa ra kết quả chẩn đoán
Chẩn đoán Thu thập thông tin bệnh nhân Thu thập các triệu chứng cơ năng và thực thể CSTT chẩn đoán bệnh Các xét nghiệm cận lâm sàng Thu thập kết quả lâm sàng và cận lâm sàng CSTT Tri thức Khám bệnh Luật suy diễn Tri thức Kết quả cận lâm sàng CSTT thu thập thông tin Bệnh Nhân Bác sĩ Luật suy diễn Tri thức Luật suy diễn
74
5.1.4. Tổ chức cơ sở tri thức
Dựa vào mô hình COKB trên ta có thể ứng dụng vào việc chẩn đoán bệnh
bằng mô hình Sub-COKB-Adapt gồm 4 thành phần: (Attr, Act, Rules, Patient)
[1]Tập tin “Attr.txt” : mô tả các thuộc tính dùng chẩn đoán bệnh [2]Tập tin “Act.txt” : mô tả các hành động về bệnh ung thƣ gan [3]Tập tin “Rules.txt”: mô tả tập các luật sử dụng trong suy diễn [4]Tập tin “Patient.txt”: mô tả bài toán cần giải quyết
Cấu trúc tập tin “Attr.txt”
Begin Attr begin variable {Danh sách các thuộc tính} end variable begin constraints end constraints End Attr Ví dụ: Attrs = { ChanAn : Boolean; MetMoi: Boolean; SuyKiet: Boolean; BuonNon: Boolean; NonOi : Boolean; SuySup: Boolean; TieuChay : Boolean; TieuSamMau: Boolean; Ho : Boolean; BangBung : Boolean; NghienRuou : Boolean; ĐauLung: Boolean; NhucVai: Boolean;
75 OnLanh: Boolean; ÐauBung : Boolean; ÐauVungThuongVi: Boolean; ÐauHaSuonPhai: Boolean; ChuongBung : Boolean; ...(xem thêm ở phần phụ lục) }
Cấu trúc tập tin “Act.txt”
Begin actions Begin action Kind_action=”” Hypothesis_part: {các hành động phần giả thiết} End_hypothesis_part Goal_part: {các hành động phần kết luận} End_goal_part: End action End actions Ví dụ: begin_action kind_action = "SieuAmBungTongQuat"; hypothesis_part: {"PhieuSieuAm"} end_hypothesis_part goal_part: {"KetQuaSieuAm"} end_goal_part end_action
76 begin_action kind_action = "XetNghiemHoaSinh"; hypothesis_part: {"PhieuXetNghiem"} end_hypothesis_part goal_part: {"NongDoAFP"} end_goal_part end_action ...(xem thêm ở phần phụ lục)
Cấu trúc tập tin “Rules.txt”
Begin rules begin rule
hypothesis_part:
{Các sự kiện phần giả thiết} end_hypothesis_part goal_part {Các sự kiện phần kết luận} end_goal_part end rule End rules Ví dụ: begin_rule hypothesis_part:
{chanan = true, metmoi = true, tieuchay = true} end_hypothesis_part
goal_part:
{chandoan = "roiloantieuhoa"} end_goal_part
77
begin_rule
hypothesis_part:
{buonnon = true, non oi = true, chuongbung = true, dayhoi = true} end_hypothesis_part goal_part: {chandoan = "roiloantieuhoa"} end_goal_part end_rule begin_rule hypothesis_part:
{tieuchay = true, daubung = true, dayhoi = true} end_hypothesis_part goal_part: {chandoan = "roiloantieuhoa"} end_goal_part end_rule begin_rule hypothesis_part:
{metmoi = true, suykiet = true, sutcan = true, sotcao = true} end_hypothesis_part
goal_part:
{chandoan = "suykiettoanthan"} end_goal_part
end_rule
Cấu trúc tập tin “Patient.txt ”
Begin Objects
begin variable
{Thuộc tính nền [đối tượng, tên đối tượng]} end variable end Objects Ví dụ: begin Patients begin variable {
78 HoTen : string; NamSinh : integer; DiaChi : string; SoBenhNhan : integer; TienSuUTG : boolean; TienSuBN : Boolean; UngThuTeBaoGan : boolean; ViemGan : boolean; RoiLoanTieuHoa : boolean; SuyKietToanThan : boolean; BinhThuong : boolean; } end variable end Patients 5.2. CÀI ĐẶT THỬ NGHIỆM 5.2.1. Nền tảng công nghệ
– Chƣơng trình sử dụng phần mềm Visual Studio 2010 và ngôn ngữ đƣợc chọn để xây dựng ứng dụng là C# trên nền DotNetFrameWork 4.0.
– Ứng dụng đƣợc chạy trên môi trƣờng Window.
– Hệ thống dữ liệu đƣợc lƣu trữ trên phần mềm Microsoft SQL Server 2008.
5.2.2. Tổ chức các giao diện
Giao diện màn hình chính gồm hai bảng:
– Bảng 1: Thông tin đề tài
79
Hình 5.2 Giao diện màn hình chính
80
Khi ta đăng nhập vào hệ thống, hệ thống sẽ hiển thị danh sách các bệnh nhân đã thu thập đƣợc (vì đây là dữ liệu thực tế). Khi cho một bệnh nhân nào đó thì sẽ liên kết đến giao diện màn hình chẩn đoán:
Hình 5.4 Giao diện màn hình chẩn đoán bệnh
Khi bệnh nhân nhập thông tin chƣa đủ điều kiện để kết luận bệnh thì hệ thống đƣa ra Màn hình thông báo yêu cầu bệnh nhân thực hiện thêm các siêu âm xét nghiệm hay tƣ vấn thêm thông tin để ra kết luận chẩn đoán cuối cùng.
81
Hình 5.5 Giao diện màn hình yêu cầu thực hiện thêm Sau khi chẩn đoán xong thì sẽ hiển thị màn hình kết quả chẩn đoán:
82
5.3. KẾT QUẢ THỬ NGHIỆM
Hệ chuyên này đƣợc cung cấp bởi Bác sĩ chuyên khoa 2 Võ Hồng Minh Công - Trƣởng khoa Nội tiêu hóa – Gan mật của bệnh viện Nhân Dân Gia Định. Bác sĩ đã có hơn 22 năm kinh nghiệm trong công tác khám và điều trị bệnh gan mật.
Hệ thống đƣợc Bác sĩ Võ Hồng Minh Công đánh giá tốt, các tri thức sử dụng trong hệ thống đúng với chuyên môn trong lĩnh vực y khoa và khá đầy đủ. Và tập các luật đƣợc mô tả trong hệ thống chính xác với tri thức chuyên gia cung cấp, vì vậy hệ thống chẩn đoán tƣơng đối chính xác các trƣờng hợp bệnh.
Kết quả chẩn đoán của hệ thống dựa trên dữ liệu bệnh nhân tại bệnh viện Nhân Dân Gia Định với trên 40 mẫu bệnh và 68 mẫu bệnh tại bệnh viện Đại học Y Dƣợc.
Bảng 5.1 Thống kê kết quả thử nghiệm:
Chẩn đoán đúng Chẩn đoán sai
Số mẫu có bệnh 107 0
Số mẫu không có bệnh 1 0
Tổng số mẫu 108 0
Nhƣ vậy kết quả chạy chƣơng trình thử nghiệm chẩn đoán đúng là 100%. Đây là dữ liệu thực tế với kết quả chẩn đoán của chuyên gia về bệnh gan. Kết quả này cho thấy hệ hỗ trợ chẩn đoán mà đề tài đã sử dụng mang tính ứng dụng rất cao. Hệ chuyên gia ESLCD này đƣợc ứng dụng thực tế và mang lại kết quả rất cao so với khi chẩn đoán không có hệ thống. Do vậy hệ thống này đã sử dụng phƣơng pháp nghiên cứu có hiệu quả và đạt đƣợc mục tiêu đã đề ra.
83
CHƢƠNG 6
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN
Trong luận văn này trình bày ứng dựng của mô hình Sub-COKB-Adapt vào lĩnh vực Y khoa và đặc biệt là xây dựng hệ chẩn đoán bệnh ung thƣ gan. Ứng dụng này mang tính thực tế rất cao và đƣợc nhiều ngƣời sử dụng, giúp cho mọi ngƣời phát hiện đƣợc bệnh kịp thời và chữa trị. Ngƣời dùng có thể đăng nhập vào hệ thống và làm theo hƣớng dẫn mà hệ chuyên gia yêu cầu. Từ đó họ có thể biết mình mắc bệnh hay không để đƣa ra hƣớng điều trị hợp lý giúp ích cho sức khỏe con ngƣời.
6.1. KẾT LUẬN
Kết quả của công trình nghiên cứu là xây dựng hệ hỗ trợ chẩn đoán bệnh ung thƣ gan. Hệ thống đã đƣợc xây dựng dựa trên mô hình Sub-COKB và dựa vào dữ liệu thực tế tại bệnh viện Nhân Dân Gia Định và bệnh viện Đại học Y Dƣợc Thành phố Hồ Chí Minh. Hệ thống đã đáp ứng nhu cầu thực tế về khám chữa bệnh và giúp ích đƣợc cho các bác sĩ trẻ mới ra trƣờng hay bác sĩ vùng tuyến huyện chƣa có kinh nghiệm trong chẩn đoán bệnh ung thƣ gan.
Hệ thống có chức năng nhập thông tin ban đầu của bệnh nhân, chức năng xuất ra các xét nghiệm yêu cầu bệnh nhân thực hiện. Hệ thống hoạt động dựa vào máy suy diễn và tập luật đã đƣợc thu thập từ tri thức chuyên gia để đƣa ra kết quả chẩn đoán. Tri thức của chuyên gia đã trãi qua nhiều năm kinh nghiệm nghiên cứu và thực hành lâm sàng chẩn đoán. Tất cả các tri thức thu thập đƣợc là hoàn toàn chính xác, đáng tin cậy và đang đƣợc sử dụng trong thực tế lâm sàng khám chữa bệnh hiện nay. Do vậy chƣơng trình ứng dụng này thực hiện việc hỗ trợ quyết định nhƣ một chuyên gia thực sự. Hệ thống đã mô phỏng đƣợc quy trình chẩn đoán các triệu chứng bệnh ung thƣ gan giống nhƣ trên thực tế lâm sàng tại các bệnh viện hay phòng khám chuyên khoa.
Xây dựng hệ hỗ trợ chẩn đoán bệnh ung thƣ gan đƣợc gọi tắt là ESLCD. Đây là kết quả của một công trình nghiên cứu về bệnh ung thƣ gan cũng nhƣ các triệu
84
chứng lâm sàng và cận lâm sàng của bệnh. Chƣơng trình đƣợc chuyên gia đánh giá có tính ứng dụng cao, đem lại nhiều lợi ích cho các bác sĩ chƣa có nhiều kinh