Quy trình xử lý thông tin nhập

Một phần của tài liệu Xây dựng chương trình hỗ trợ chẩn đoán các bệnh về phổi bằng (Trang 52)

a. Xử lý trong trường hợp xác nhận triệu chứng bệnh đầu vào.

- Bƣớc 1: Lấy dữ liệu

Ví dụ: bệnh nhân Dƣơng Thị Mai 68 tuổi tại khoa điều trị Bệnh nhân đƣợc chuyển đến bệnh viện trong trạng thái:

Tinh thần tỉnh táo Không nghe thấy 2 phổi Lồng ngực trƣớc tim có gờ Sốt cao trên 39 độ C Nhịp tim đập 100/phút

Xuất huyết hạch ngoại biên to - Bƣớc 2: So sánh dữ liệu mẫu

Giả sử ta có bảng dữ liệu mẫu nhƣ sau:

TT Tên triệu chứng Thể hiện bằng ngôn ngữ Trọng số

1 Về tinh thần Tỉnh táo 0,0

Không tỉnh táo 0,4

2 Nghe phổi Không nghe thấy 0,0

Không thở thô 0,2 3 Lồng ngực trƣớc tìm Có gờ 0,4 Không có gờ 0,0 4 Sốt Không 0,0 Trung bình (38 đến<39) 0,2 Sốt cao (>39) 0,5 5 Nhịp tim Đều 0,0 Không đều (100 lần /1 phút) 0,4 6 Xuất huyết hạch ngoại biên Không to 0,1 To 0,3

So sánh dữ liệu thu đƣợc với bảng đối chiếu ở trên

Tinh thần tỉnh táo 0,0 Không nghe thấy 2 phổi 0,0 Lồng ngực trƣớc tim có gờ 0.4 Sốt cao trên 39 độ 0.5

Nhịp tim đập 100/phút 0.4 Xuất huyết hạch ngoại biên 0.3

Lập bảng

Bệnh nhân Artt1 Artt2 Artt3 Artt4 Artt5 Artt6 Dƣơng Thị Mai 0,0 0,0 0,4 0,5 0,4 0,3

- Bƣớc 3: So sánh theo hệ thống dữ liệu

Lấy thêm một bệnh nhân đã đƣợc xét nghiệm chẩn đoán bệnh trƣớc đây để xét kết quả với trƣờng hợp bệnh nhân Dƣơng Thị Mai

Giả sử bệnh nhân 02: Nguyễn Thị Bình

Triệu chứng của bệnh nhân Bình:

Tinh thần không tỉnh táo Không nghe thấy 2 phổi

Lồng ngực trƣớc tim không có gờ Sốt cao trên 39 độ C

Nhịp tim đập 100/phút

So sánh dữ liệu thu đƣợc với bảng đối chiếu ở trên

Tinh thần không tỉnh táo 0,4 Không nghe thấy 2 phổi 0,0

Lồng ngực trƣớc tim không có gờ 0,0 Sốt cao trên 39 độ 0,5

Nhịp tim đập 100/phút 0,4

Xuất huyết hạch ngoại biên nhỏ 0,1

Lập bảng

Bệnh nhân Artt1 Artt2 Artt3 Artt4 Artt5 Artt6 Nguyễn Thị Bình 0,4 0,0 0,0 0,5 0,4 0,1

Lập bảng tính toán cho 2 bệnh nhân về độ tƣơng tự: (adsbygoogle = window.adsbygoogle || []).push({});

Bệnh nhân Artt1 Artt2 Artt3 Artt4 Artt5 Artt6 Nguyễn Thị Bình 0,4 0,0 0,0 0,5 0,4 0,1 Dƣơng Thị Mai 0,0 0,0 0,4 0,5 0,4 0,3

Sử dụng công thức tính toán để đƣa ra kết quả:

n i i n i i i j w Sim w SM 1 1 ) ( Trong đó SM là độ tƣơng tự Và Sim đƣợc tính theo công thức

n) = (i ; VN VO = Simi 1 i i 1.. Từ 2 công thức trên ta tính đƣợc: Sim1=1-|0,4-0,0|=0,6

Sim2=1-|0,0-0,0|=1 Sim3=1-|0,0-0.4|=0.6

Tƣơng tự ta tính đƣợc sim4=1, sim 5=1, sim 6=0.8 Theo công thức 1 ta đƣợc

SM=(0.4*0.6+0*1+0.0*0.6+0,5*1+0.4*1+0.1*0.8)/(0.4+0.0+0.0+0,5+0.4+0.1) =1.22/1.4=0.87

Kết quả ta đƣợc

Độ tƣơng tự giữa 2 bệnh án là 0.87 tƣơng đối giống nhau vậy ta có thể đƣa ra quy trình xét nghiệm cho bệnh nhân Mai

b. Xác định những mục tiêu đầu ra cho hệ thống

Hiển thị dữ liệu đầu ra

4.5 Kiểm thử chẩn đoán cho thông tin nhập vào theo trường hợp

Nhập dữ liệu khuyết thông tin Bệnh nhân 1: Nông Quốc Đạt Dữ liệu nhập:

Cánh mũi đập?-không. Giảm trí nhớ?-không. Phù chi. Rung thanh mất ở 1/2 phổi trái hoặc phải. Sốt từng cơn. Sốt có dấu hiệu mất nƣớc mạch nhanh nhỏ. Vã mồ hôi có sốt nhẹ (37 đến <38) độ.

Xét nghiệm:

Bệnh nhân 2: Lê Hồng Quân Dữ liệu nhập:

Đau đầu liệt nửa ngƣời bên trái. Chảy nƣớc mũi có khó thở. Gõ đục ở 3/4 bên phổi phải hoặc trái. Gan to. Giảm giãn lồng ngực cân đối. Ho khan ho liên tục. Ho ra máu tƣơi số lƣợng nhiều (>50ml). Huyết áp hạ. Không thở đƣợc khi nằm ngửa xuất hiện vào ban đêm. Rung thanh mất ở 1/3 phổi trái hoặc phải.

Xét nghiệm:

Nhịp thở trên 25 lần/1 phút. ………..

300 trƣờng hợp đã nhập: Dữ liệu đã đƣợc input vào hệ thống đầy đủ Nhập dữ liệu đầy đủ thông tin

Bệnh nhân 1: Dƣơng Thị Mai Dữ liệu nhập:

Đau ngực lan toả lan lên vai và cánh tay. Đau đầu đột ngột. Đau đầu liệt liệt nửa ngƣời bên phải. Đau và sƣng các khớp?-không. Ho khạc đờm đờm có máu. Buồn ngủ về buổi sáng. Có biểu hiện tâm thần, lú lẫn có khó thở. Chảy nƣớc mũi có khó thở. Giảm trí nhớ?-không. Lở mép, gò má đỏ?-không. Lƣỡi trắng?-không. Mặt tím tái có kèm khó thở. Ngứa mũi. Nƣớc tiểu ít sẫm mầu đi tiểu ít <1000ml. Rì rào phế nang rõ 2 bên phổi. Rung thanh giảm ở 1/3 phổi trái hoặc phải. Sốt cao (>39 độ) li bì. Sốt có dấu hiệu nhiễm trùng hơi thở hôi. Tiếng thở rít kéo dài. Trung thất và tim bị đẩy sang bên đối diện?-không.

Xét nghiệm:

Mạch bình thƣờng. Nhịp thở 22-24 lần/phút. Tinh thần tinh thần không tỉnh táo. Thể trạng bình thƣờng. Nghe 2 phổi không nghe thấy. Hạch ngoại biên to. Môi không tím. Tim nhịp đều rõ T1,T2 bình thƣờng. da và niêm mạc hồng. Lồng ngực bình thƣờng. thể trạng trung bình. Lồng ngực trƣớc tim có gờ. Huyết hạch ngoại biên có xuất huyết. nhịp tim nhanh đều tần số 100 l /phút. Mỏm tim đập ở khoang liên sƣờn 5 . sốt cao trên 39 độ.

Bệnh nhân 2: Nguyễn Trọng Trích Dữ liệu nhập:

Đau 1/2 đầu bên trái. Đau và sƣng các khớp?-không. Ho khạc đờm đờm trắng có mùi hôi. Trạng thái tinh thần có biểu hiện tâm thần. Cánh mũi đập. Chảy nƣớc mũi có khó thở. Co kéo các cơ hô hấp. Dãn đồng tử. Gõ vang ở 3/4 bên phổi phải hoặc trái. Gầy sút cân đột ngột. Giảm cảm giác?-không. Giảm thị lực. Giảm trí nhớ. Hôn mê?-không. Ho đờm có mủ đờm có màu gỉ sắt. Ho ra máu lẫn đờm đờm xanh có mùi hôi. Ho ra máu tƣơi số lƣợng nhiều (>50ml). Huyết áp hạ?-không. Khó thỏ đột ngột. Lồng ngực di động yếu các khoang liên xƣờn rãn rộng. Lở mép, gò má đỏ?-không. Môi se lƣỡi bẩn có sốt nhẹ (37 đến <38) độ. Ngón tay dùi trống?-không. Ngứa mũi?-không. Nƣớc tiểu ít sẫm mầu có kèm theo sốt. Phản xạ mắt, não chậm. Rì rào phế nang rõ 2 bên phổi. Tiếng cọ màng phổi?-không. Rối loạn ăn uống. Rung thanh mất ở 1/3 phổi trái hoặc phải. Rung thanh giảm ở 1/2 phổi trái hoặc phải. Sốt nhẹ (37-38C) xuất hiện vào chiều tối. Sốt có dấu hiệu mất nƣớc mắt trũng. Sốt có dấu hiệu nhiễm trùng lƣỡi bẩn. Tiếng cọ màng phổi không xuất hiện. Tiếng thở rít kéo dài. Trụy tim mạch?-không. Trung thất và tim bị đẩy sang bên đối diện?-không.

Xét nghiệm:

Tinh thần tinh thần tỉnh táo, tiếp xúc tốt. Thể trạng gầy yếu. Ho khạc máu rải rác. Nghe 2 phổi thấy thở thô. Tuyến giáp to. Tổ chức dƣới da không phù. Môi tím. Tim nhịp đều rõ T1,T2 không bình thƣờng. da xanh, niêm mạc không nhợt. Lồng ngực bình thƣờng. Lồng ngực trƣớc tim không có gờ. Sờ rung mui không có rung. Huyết hạch ngoại biên không xuất huyết . nhịp tim nhanh đều tần số 100 l /phút. Mỏm tim đập ở khoang liên sƣờn 5 không có ở khoang liên sƣờn 5 trên đƣờng giữa đòn trái. Tiếng tim bệnh lý có tiếng tim bệnh lý. sốt không.

………

Đã nhập 700 bệnh nhân. Toàn bộ dữ liệu đƣợc input vào hệ thống không có lỗi. Vậy qua kiểm tra nhập dữ liệu khuyết và nhập dữ liệu đầy đủ số trƣờng hợp thử đã là 1000 bệnh án (adsbygoogle = window.adsbygoogle || []).push({});

Xác xuất nhập: 100%

4.6 Các trường hợp nhập liệu lỗi và phương pháp xử lý

Một số lỗi có thể xảy ra:

Lỗi font chữ: Khi nhập font chữ .vntime có thể gay ra lỗi không đọc đƣợc ký tự trên màn hình hiển thị

Nhập thiếu thông tin: Thông tin không đƣợc in ra đầy đủ trong báo cáo

Cách khác phục tình trạng lỗi:

Nhập đầy đủ các mục theo font chữ unicode là unicode full hoặc utf-8 có thể sử dụng font mặc định là times new roman.

4.7 Cài đặt chương trình.

a. Lựa chọn ngôn ngữ và hệ quản trị cơ sở dữ liệu

Hiện nay có rất nhiều ngôn ngữ có thể áp dụng cho việc xây dựng bài toán lập luận CBR. Với bài toán xây dựng hệ trợ giúp chẩn đoán các bệnh về phổi, ta cần ngôn ngữ lập trình có thể truy nhập vào các cấu trúc dữ liệu phù hợp với việc mô tả tri thức biểu diễn các triệu chứng bệnh, thuận tiện cho việc tính toán độ tƣơng tự.

C# là một ngôn ngữ lập trình tạo ra các ứng dụng, chạy đƣợc trên nền của Windows - một hệ điều hành hiện đang đƣợc dùng phổ biến ở nƣớc ta và trên thế giới. Là ngôn ngữ trực quan, thuận tiện cho việc sửa đổi chƣơng trình và thể hiện kết quả thực hiện. Ngoài ra, lớp đối tƣợng Data có thể truy nhập và sử dụng các File dữ liệu của hầu hết các hệ quản trị cơ sở dữ liệu, thi hành đƣợc các câu lệnh truy vấn, có các đối tƣợng hỗ trợ truy xuất cơ sở dữ liệu từ xa và bên cạnh đó có đầy đủ các cấu trúc dữ liệu nhƣ bản ghi, con trỏ, tệp, lớp, modul, các hàm toán học ... Không chỉ có vậy C# là một ngôn ngữ lập trình có tốc độ thực thi nhanh, bảo mật và là ngôn ngữ thích hợp cho các phiên bản hệ điều hành windows tân tiến nhƣ win8 hoặc các phiên bản windows sau này.

Với đặc tính là ngôn ngữ lập trình hƣớng đối tƣợng, hoạt động trên nền tảng thông dịch thay vì biên dịch nhƣ các ngôn ngữ lập trình trƣớc đây. C# tạo ra cho

ngƣời dùng một hệ thống phát triển phần mềm tuyệt vời cho phép kết nối đến những nền tảng khác nhƣ MSSQL, Crystal report….

Hệ hỗ trợ chẩn đoán các bệnh phổi dựa trên lập luận theo các trƣờng hợp Case-Based Reasoning Diagnosis (CBR-DIAG) đƣợc viết trên C# , thông tin của bệnh án đƣợc thể hiện bằng Crystal Report - thuận tiện cho việc kết xuất ra các định dạng File khác nhƣ .DOC, .RTF,.HTML.... Kèm theo đó với sự hỗ trợ của InstallShield Proffessional XX có thể tạo ra một bày cài đặt thuận tiện, nhanh chóng.

Các triệu chứng đƣợc ghi vào file dƣới dạng bản ghi, bao gồm tên triệu chứng, các mức độ của triệu chứng đó và trọng số của từng mức độ. Hiện chƣơng trình đang đƣợc chạy kiểm tra tại Phòng kế hoạch - Bệnh viện Lao và bệnh phổi Hƣng Yên.

Hệ quản trị CSDL đƣợc lựa chọn là hệ quản trị cơ sở dữ liệu SQL express là một hệ quản trị CSDL nhẹ nhƣng vẫn mang sự mạnh mẽ của hệ quản trị CSDL MS SQL server. Hệ quản trị này cho phép ta có thể mang theo mà không cần phải mất chi phí bản quyền cho hệ thống Office nhƣ hệ quản trị MS Access.

b. Sơ đồ hoạt động của hệ thống.

Tri thức đƣợc dùng cho hệ thống là hồ sơ bệnh án của những bệnh nhân mắc bệnh về phổi, đã đƣợc điều trị tại bệnh viện Lao và Bệnh phổi Hƣng Yên trong năm 2012. Qua thực hiện, sau khi nhập các thông tin về ngƣời bệnh, tiền sử, triệu chứng, mức độ triệu chứng, kết quả xét nghiệm, kết quả thực hiện XQ, môi trƣờng sống, ... Chƣơng trình thực hiện tính toán độ tƣơng tự của trƣờng hợp mới với các trƣờng hợp trong cơ sở dữ liệu nhờ công thức (2). Kết qủa chƣơng trình sẽ đƣa ra tối đa là 5 trƣờng hợp đƣợc sắp theo chiều giảm dần của độ tƣơng tự, với các bệnh khác nhau nhƣng có thể hiện mức độ để ngƣời dùng có thể xem xét lựa chọn.

Để cho phù hợp hơn với quá trình khám và điều trị cho bệnh nhân tại bệnh viện, hệ thống đƣa ra 3 chế độ lựa chọn cho quá trình lập luận để xác định bệnh cho bệnh nhân.

Lập luận dựa trên các triệu chứng: Chức năng này đƣợc thực hiện tại phòng đón tiếp bệnh nhân hoặc tại các bàn khám bệnh, nó có ý nghĩa giúp cho ngƣời sử dụng có thể chẩn đoán sơ bộ đƣợc bệnh cho ngƣời bệnh dựa trên các triệu chứng lâm sàng giúp cho họ lên đƣợc các xét nghiệm cần phải thực hiện để có thể kết luận chính xác hơn.

Lập luận dựa trên các kết quả xét nghiệm và kết quả XQ. Chức năng này cùng với chức năng a) giúp cho ngƣời sử dụng ra đƣợc kết luận về bệnh và phác đồ điều trị cho bệnh nhân, giúp họ có thể lập đƣợc bệnh án khi vào viện một cách dẽ dàng và một điều quan trọng là nó có thể là một yếu tố để giúp cho ngƣời sử dụng rút kinh nghiệm cho mình trong quá trình chẩn đoán.

Lập luận dựa trên triệu chứng, kết quả xét nghiệm, kết quả XQ và các yếu tố có thể ảnh hƣởng khác nhƣ: môi trƣờng sống, tiểu sử bản thân ... Nhƣ ta đã tìm hiểu ở chƣơng 4 thì để điều trị cho 1 bệnh nhân mắc bệnh Lao thì phải mất thời gian từ 6 đến 8 tháng nếu nhƣ chẩn đoán đúng bệnh. Còn nếu chẩn đoán sai thì thời gian đã qua coi nhƣ vô nghĩa. Nên trong quá trình điều trị bệnh Lao và các bệnh phổi định kỳ sau 2 tuần đến 1 tháng bệnh nhân đƣợc đi làm lại các xét nghiệm, chụp chiếu XQ để xác định biến chuyển của bệnh. Dựa vào các kết quả xét nghiệm, XQ này các bác sỹ phải tiến hành hội chẩn để chọn ra phác đồ điều trị cho phù hợp. Để phục vụ cho

mục đích này hệ thống đƣa ra chức năng c) này để dùng cho trƣờng hợp cần phải lập luận tổng quát. Đối với cơ sở tri thức bệnh án đã đƣợc điều trị năm 2003 ngoài những bệnh về phổi thì còn một số các bệnh khác đã đƣợc phát hiện trong quá trình điều trị cho bệnh nhân và các bệnh nhân này có biểu hiện lâm sàng ban đầu khi khởi phát bệnh khá giống với các bệnh phổi (Xem phần phụ lục).

Thực hiện 1 quá trình lập luận của hệ (CBR-DIAG) phải thực hiện qua 4 bƣớc sau:

Bƣớc 1: Nhập thông tin bệnh nhân, triệu chứng, kết quả xét nghiệm, kết quả XQ ..

Khi click vào button nhập thông tin bệnh nhân chƣơng trình (xem thuật toán phần phụ lục)

Ngoài ra ta còn phải nhập các thông tin về triệu chứng của bệnh nhân:

Bƣớc 2: Tính và xác định Similarity Measure

Chƣơng trình thực hiện thuật toán để tính toán mức độ Similarity Measure (Xem chi tiết mã lệnh phần phụ lục)

Bƣớc 3: Đƣa ra danh sách các hồ sơ bệnh án có độ Similarity Measure thoả mãn yêu cầu. (adsbygoogle = window.adsbygoogle || []).push({});

Bƣớc 4: Thực hiện tính toán và kết nối cơ sở dữ liệu và gọi ra bệnh án tƣơng ứng.

Xem mã lệnh thực hiện phần phụ lục  Giao diện chƣơng trình chính.

Hệ hỗ trợ chẩn đoán các bệnh phổi dựa trên lập luận theo các trƣờng hợp Case-Based Reasoning - Diagnosis (CBR-DIAG) đƣợc xây dựng với giao diện chính nhƣ hình 3.1. Các chức năng chính của hệ là:

Input a new case history: Nhập hồ sơ bệnh án để lƣu trữ ; Print Case history : In bệnh án;

Input new Case for Reasoning: Chẩn đoán theo triệu chứng.

Based on Symptom of the patient: Lập luận dựa trên triệu chứng của bệnh nhân Based on symptom and Test result of the patient : Lập luận dựa trên triệu chứng và kết quả xét nghiệm

Based on all part of Case history: Lập luận dựa trên toàn bộ thông tin của bệnh án.

 Giao diện nhập một bệnh án mới.

Giao diện nhập bệnh án đƣợc thiết kế nhƣ hình 3.2, gồm có 8 mục:

Nhập bệnh nhân: Nhập các thông tin hành chính để quản lý ngƣời bệnh nhƣ: Họ và tên, ngày tháng năm sinh, quê quán, số bệnh án.

Lý do vào viện: Nhập thông tin mô tả triệu chứng nguyên nhân vào viện của bệnh nhân.

Khám bệnh: cho phép nhập các triệu chứng lâm sàng, tiền sử, hoàn cảnh môi trƣờng sống của ngƣời bệnh và các thuộc tính liên quan đến việc hỗ trợ chẩn đoán.

Tiền sử: Nhập thông tin về quá khứ bệnh của bệnh nhân

Một phần của tài liệu Xây dựng chương trình hỗ trợ chẩn đoán các bệnh về phổi bằng (Trang 52)