Giới thiệu dự án
Theo thống kê của Tổ chức Y tế Thế giới (WHO) và Bộ Y tế, các bệnh lý đường hô hấp (viêm họng, viêm xoang, viêm phế quản, viêm phổi và Covid-19) chiếm hơn 30% tổng số ca khám bệnh ngoại trú hàng năm tại các cơ sở y tế tuyến cơ sở. Tình trạng quá tải bệnh viện dẫn đến thời gian chờ đợi khám trung bình kéo dài từ 2 đến 4 giờ cho một lượt chẩn đoán ban đầu, trong khi đa phần các triệu chứng thông thường có thể được sàng lọc và định hướng điều trị sớm tại nhà. Người bệnh thiếu thông tin y khoa chính xác thường dẫn đến việc tự ý sử dụng kháng sinh bừa bãi hoặc bỏ lỡ thời điểm vàng điều trị.
Đồ án tốt nghiệp "Phần mềm chuẩn đoán bệnh lý chuyên khoa hô hấp" (Thực hiện bởi sinh viên Dương Quốc Huy, GVHD: ThS. Bùi Văn Chuyên, Khoa Công nghệ Thông tin, Robot và Trí tuệ Nhân tạo – Trường Đại học Bình Dương, kết hợp cùng đơn vị thực tập VNPT) được phát triển nhằm giải quyết triệt để bài toán sàng lọc y tế ban đầu. Hệ thống xây dựng một Hệ chuyên gia y tế (Medical Expert System) áp dụng mô hình toán học suy diễn xác suất trên nền tảng ứng dụng máy tính (Desktop Application).
+-------------------------------------------------------------------------+
| HỆ CHUYÊN GIA CHẨN ĐOÁN HÔ HẤP |
+-------------------------------------------------------------------------+
| [Người dùng/Bệnh nhân] ---> Khai báo triệu chứng lâm sàng (A_k) |
| | |
| v |
| [Động cơ suy diễn] <---> [Cơ sở tri thức: P(E_i), P(A_k|E_i), Dữ liệu y khoa]
| | |
| v |
| [Tương tác hỏi - đáp] ---> Chuẩn hóa xác suất P''(E_i) |
| | |
| v |
| [Kết luận & Phác đồ] ---> Xuất báo cáo, lưu lịch sử, cập nhật tri thức |
+-------------------------------------------------------------------------+
Mục tiêu dự án
- Xây dựng Cơ sở tri thức (Knowledge Base): Hệ thống hóa bộ dữ liệu lâm sàng chuẩn cho 9 nhóm bệnh lý hô hấp thường gặp (Covid-19, Viêm xoang cấp, Viêm họng do virus/liên cầu/bạch hầu/khuẩn kỵ khí, Viêm phế quản cấp/mãn, Viêm phổi) cùng hơn 40 triệu chứng liên đới.
- Hiện thực hóa Động cơ suy diễn xác suất (Probabilistic Inference Engine): Ứng dụng mô hình xác suất có điều kiện kết hợp kỹ thuật tham vấn tương tác lặp (interactive questioning) để phân loại và sắp xếp thứ tự xác suất bệnh.
- Phát triển giao diện quản trị và chẩn đoán: Tạo ứng dụng Windows Forms (WinForms) trực quan, cho phép thao tác chẩn đoán nhanh dưới 5 giây, quản lý bệnh án, cập nhật phác đồ điều trị và tự động phản hồi dữ liệu (data feedback loop).
Phạm vi và giới hạn hệ thống
- Phạm vi ứng dụng: Hỗ trợ chẩn đoán và tư vấn điều trị sơ bộ trên nền tảng máy tính (Windows PC), phục vụ người dùng cá nhân và trợ lý phòng khám ban đầu.
- Giới hạn kỹ thuật: Không thay thế hoàn toàn các xét nghiệm cận lâm sàng (X-quang, sinh hóa máu, PCR) mà đóng vai trò là hệ thống sàng lọc sớm (pre-screening tool).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Trước khi triển khai, đồ án đã tiến hành khảo sát và so sánh các mô hình chẩn đoán hiện hành:
| Tiêu chí |
Tra cứu tĩnh (Cẩm nang y học) |
Hệ chuyên gia luật cố định (Rule-based IF-THEN) |
Hệ suy diễn xác suất (Đồ án đề xuất) |
| Tính linh hoạt |
Rất thấp (cố định trang) |
Thấp (cứng nhắc, dễ lỗi khi thiếu triệu chứng) |
Cao (chấp nhận tập triệu chứng không đầy đủ) |
| Xử lý bất định |
Không |
Không |
Có (Tính toán xác suất tiền nghiệm $P(E_i)$ & hậu nghiệm $P'(E_i)$) |
| Tương tác động |
Không |
Cây quyết định cứng |
Hệ thống tự động phát vấn triệu chứng còn thiếu |
| Tối ưu dữ liệu |
Thủ công |
Truy vấn cơ bản |
Áp dụng kỹ thuật "Vật chất hóa dữ liệu" (Data Materialization) |
| Tốc độ phản hồi |
Chậm |
Nhanh ($< 1s$) |
Cực nhanh ($< 0.5s$ trên hệ cơ sở dữ liệu) |
Phân tích yêu cầu theo mô hình MoSCoW
- Must have (Bắt buộc): Chức năng đăng nhập/phân quyền, Nhập triệu chứng bệnh nhân, Động cơ suy diễn xác suất, Hiển thị kết luận bệnh & phác đồ điều trị tương ứng, Quản lý danh mục bệnh và triệu chứng.
- Should have (Nên có): Cơ chế tự động phát vấn (hỏi thêm các triệu chứng của bệnh có xác suất cao nhất), Xuất báo cáo chẩn đoán cho bệnh nhân, Lưu trữ lịch sử khám bệnh.
- Could have (Có thể có): Cơ chế cập nhật tri thức động dựa trên kết quả điều trị thực tế (phản hồi xác suất $P(E_i)$ theo tần suất khám).
- Won't have (Chưa hỗ trợ): Chẩn đoán tự động thông qua hình ảnh X-quang/CT phổi bằng mô hình Deep Learning.
Thiết kế hệ thống
Kiến trúc phần mềm được xây dựng theo mô hình 3 lớp (3-Tier Architecture) kết hợp mô hình luồng dữ liệu phân cấp (Data Flow Diagram - DFD từ mức ngữ cảnh, mức đỉnh đến mức dưới đỉnh):
+----------------------------------------------------------------------+
| KIẾN TRÚC PHÂN LỚP HỆ THỐNG |
+----------------------------------------------------------------------+
| 1. Presentation Layer : Giao diện Windows Forms (C# .NET GUI) |
| - Controls : ListView, ComboBox, CheckedListBox, TreeView |
+----------------------------------------------------------------------+
| 2. Business Logic Layer: Động cơ suy diễn & Xử lý nghiệp vụ |
| - Module : Probabilistic Inference Engine |
| - Module : Knowledge Management & Auto-Questioning |
+----------------------------------------------------------------------+
| 3. Data Access Layer : Tương tác Cơ sở dữ liệu ADO.NET |
| - Engine : Microsoft SQL Server |
| - Schema : Benh, TrieuChung, BenhNhan, BenhNhan_TC... |
+----------------------------------------------------------------------+
Công nghệ và phiên bản sử dụng
- Ngôn ngữ lập trình: C# (C-Sharp) trên nền tảng Microsoft .NET Framework.
- Môi trường phát triển: Microsoft Visual Studio 2008 IDE (tương thích các bản VS mới hơn).
- Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server.
- Kiến trúc thực thi: Mã nguồn C# biên dịch sang mã trung gian MSIL (Microsoft Intermediate Language), được CLR (Common Language Runtime) quản lý bộ nhớ, cấp phát và thực thi thông qua trình biên dịch JIT (Just-In-Time); sử dụng bộ thư viện lớp nền tảng FCL (Framework Class Library) kết hợp CTS (Common Type System) và CLS (Common Language Specification).
Thiết kế Cơ sở dữ liệu (Database Schema)
Hệ thống thiết kế chuẩn hóa cơ sở dữ liệu quan hệ với các bảng cốt lõi:
-- 1. Bảng lưu trữ thông tin bệnh và tần suất xác suất
CREATE TABLE Benh (
MaBenh INT PRIMARY KEY IDENTITY(1,1),
TenBenh NVARCHAR(100) NOT NULL,
P FLOAT NOT NULL, -- Xác suất tiên nghiệm P(E_i)
SoNguoi INT DEFAULT 0 -- Kỹ thuật vật chất hóa dữ liệu để tối ưu tốc độ tính toán
);
-- 2. Bảng lưu trữ danh mục triệu chứng lâm sàng
CREATE TABLE TrieuChung (
MaTC INT PRIMARY KEY IDENTITY(1,1),
TenTC NVARCHAR(100) NOT NULL,
P FLOAT NOT NULL -- Tần suất/xác suất xuất hiện của triệu chứng P(A_k)
);
-- 3. Bảng quan hệ Bệnh - Triệu chứng trong Cơ sở tri thức
CREATE TABLE Benh_TrieuChung (
MaBenh INT FOREIGN KEY REFERENCES Benh(MaBenh),
MaTC INT FOREIGN KEY REFERENCES TrieuChung(MaTC),
P_Condition FLOAT NOT NULL, -- Xác suất có điều kiện P(A_k | E_i)
PRIMARY KEY (MaBenh, MaTC)
);
-- 4. Bảng lưu vết lịch sử khám của bệnh nhân
CREATE TABLE BenhNhan (
MaBenhNhan INT PRIMARY KEY IDENTITY(1,1),
TenBenh NVARCHAR(100),
P FLOAT, -- Xác suất chẩn đoán kết luận
NgayKham DATETIME DEFAULT GETDATE()
);
-- 5. Bảng chi tiết triệu chứng của từng lượt khám
CREATE TABLE BenhNhan_TrieuChung (
MaBenhNhan INT FOREIGN KEY REFERENCES BenhNhan(MaBenhNhan),
MaTC INT FOREIGN KEY REFERENCES TrieuChung(MaTC),
PRIMARY KEY (MaBenhNhan, MaTC)
);
-- 6. Bảng phân quyền và tài khoản người dùng
CREATE TABLE Quyen (
Username NVARCHAR(50) PRIMARY KEY,
Password NVARCHAR(50) NOT NULL,
Quyen INT NOT NULL -- 1: Quản trị viên (Admin), 2: Nhân viên y tế/Người dùng
);
Phương pháp luận phát triển (Methodology)
Dự án áp dụng mô hình phát triển phần mềm theo vòng đời thác nước có lặp (Iterative Waterfall Model), chia thành 5 giai đoạn rõ ràng:
- Khảo sát & Thu thập tri thức y khoa (15/10/2022 - 25/10/2022): Phỏng vấn chuyên gia chuyên khoa hô hấp, số hóa triệu chứng của 9 diện bệnh lâm sàng.
- Phân tích mô hình chức năng & DFD (26/10/2022 - 16/11/2022): Xây dựng sơ đồ phân rã chức năng, biểu đồ luồng dữ liệu ngữ cảnh/mức đỉnh, thiết kế thực thể dữ liệu.
- Thiết kế giao diện WinForms & CSDL (17/11/2022 - 01/12/2022): Xây dựng giao diện Form đăng nhập, chẩn đoán, tra cứu, quản lý tri thức bằng các điều khiển chuyên biệt (
ListView, CheckedListBox, Panel, TabControl, Timer).
- Lập trình động cơ suy diễn & Kết nối ADO.NET (02/12/2022 - 15/12/2022): Hiện thực hóa giải thuật suy diễn xác suất bằng C#, kết nối cơ sở dữ liệu SQL Server.
- Kiểm thử, đánh giá & hoàn thiện (16/12/2022 - 10/01/2023): Kiểm tra lỗi logic, đánh giá độ chính xác chẩn đoán trên các kịch bản bệnh nhân giả lập, xuất tài liệu nghiệm thu.
Implementation và kết quả
Development process & Core Algorithm
Trọng tâm của hệ thống là Động cơ suy diễn xác suất giải quyết bài toán không chắc chắn (Uncertainty Management) trong chẩn đoán y khoa.
Mô hình toán học suy diễn
Giả sử hệ thống có tập $n$ chứng bệnh $E = {E_1, E_2, \dots, E_n}$. Mỗi bệnh $E_i$ có tập các triệu chứng liên đới $S = {S_j}$.
Bệnh nhân khai báo tập triệu chứng ban đầu $A = {A_1, A_2, \dots, A_k}$.
Xác suất đồng thời xảy ra bệnh $E_i$ khi xuất hiện tập triệu chứng $A$ được xác định theo công thức:
$$P(E_i \cap A) = P(E_i) \times \prod_{A_k \in S} P(A_k | E_i) \times \prod_{A_k \notin S} P(A_k)$$
Trong đó:
- $P(E_i)$: Xác suất ban đầu (tiền nghiệm) của bệnh $E_i$, tương đương tần suất xuất hiện bệnh trong cộng đồng.
- $P(A_k | E_i)$: Xác suất xuất hiện triệu chứng $A_k$ khi bệnh nhân mắc bệnh $E_i$.
- $P(A_k)$: Xác suất xuất hiện tự nhiên của triệu chứng $A_k$.
Để đưa ra độ tin cậy tương đối phục vụ xếp hạng, hệ thống chuẩn hóa xác suất hậu nghiệm $P'(E_i)$:
$$P''(E_i) = \frac{P'(E_i)}{\sum_{j=1}^{n} P'(E_j)}$$
// Thuật toán tính toán xác suất suy diễn bệnh từ danh sách triệu chứng
public class InferenceEngine
{
public class DiseaseProbability
{
public int MaBenh { get; set; }
public string TenBenh { get; set; }
public double Probability { get; set; }
}
public List<DiseaseProbability> InferDiseases(List<int> selectedSymptomIds, List<DiseaseData> knowledgeBase)
{
List<DiseaseProbability> results = new List<DiseaseProbability>();
double sumProb = 0.0;
foreach (var disease in knowledgeBase)
{
// P'(E_i) = P(E_i) * Product(P(A_k | E_i) for A_k in S) * Product(P(A_k) for A_k not in S)
double pDisease = disease.PriorProbability;
foreach (var symId in selectedSymptomIds)
{
if (disease.AssociatedSymptoms.ContainsKey(symId))
{
// Triệu chứng thuộc bệnh E_i
pDisease *= disease.AssociatedSymptoms[symId].ConditionalProbability;
}
else
{
// Triệu chứng không đặc trưng của bệnh E_i
pDisease *= disease.GetGeneralSymptomProbability(symId);
}
}
results.Add(new DiseaseProbability {
MaBenh = disease.MaBenh,
TenBenh = disease.TenBenh,
Probability = pDisease
});
sumProb += pDisease;
}
// Chuẩn hóa xác suất P''(E_i) = P'(E_i) / Sum(P'(E_j))
if (sumProb > 0)
{
foreach (var item in results)
{
item.Probability = (item.Probability / sumProb) * 100.0; // Định dạng phần trăm
}
}
// Sắp xếp xác suất giảm dần để chọn bệnh có nguy cơ cao nhất
return results.OrderByDescending(x => x.Probability).ToList();
}
}
Quy trình tham vấn lặp tự động (Interactive Inference)
Khi tập triệu chứng $A$ ban đầu quá ít dẫn đến giá trị xác suất cao nhất $P''(E_{max}) < 70%$, động cơ suy diễn tự động kích hoạt tiến trình phát vấn:
- Lấy danh sách các triệu chứng còn lại của bệnh $E_{max}$ mà bệnh nhân chưa khai báo.
- Hiển thị hộp thoại hỏi bệnh nhân từng triệu chứng theo thứ tự mức độ quan trọng giảm dần.
- Cập nhật lại vector triệu chứng $A = A \cup {A_{new}}$ và tái tính toán ma trận xác suất cho đến khi đạt ngưỡng tin cậy hoặc người dùng dừng quá trình.
[Bắt đầu]
|
v
[Bệnh nhân chọn triệu chứng ban đầu] ---> [Tính P''(E_i)]
|
v
[P''(E_max) >= Ngưỡng?]
/ \
(Có) (Không)
/ \
v v
[Đưa ra kết luận bệnh] [Hệ thống hỏi triệu chứng tiếp theo]
| |
v v
[In phác đồ & Lưu DB] [Cập nhật tập A và tính toán lại]
Testing và validation
Hệ thống đã trải qua quá trình kiểm thử hộp trắng (White-box testing) trên từng đơn vị mã nguồn C# và kiểm thử hộp đen (Black-box testing) với 50 ca bệnh án lâm sàng giả lập:
| Nhóm chức năng kiểm thử |
Số ca test (Test cases) |
Tỷ lệ Pass (%) |
Thời gian xử lý trung bình |
| Xác thực & Phân quyền |
10 |
100% |
120 ms |
| Suy diễn xác suất (Tập triệu chứng đủ) |
15 |
100% |
45 ms |
| Phát vấn tương tác (Triệu chứng thiếu) |
15 |
93.3% (14/15 ca hội tụ) |
350 ms / lượt hỏi |
| CRUD Cơ sở tri thức & Bệnh nhân |
10 |
100% |
85 ms |
| Tổng thể hệ thống |
50 |
98.0% |
< 500 ms |
Kết quả đạt được
- Về tính năng: Hoàn thiện 100% các chức năng cốt lõi theo đề cương: Giao diện trực quan WinForms, quản lý cơ sở tri thức động, động cơ chẩn đoán xác suất, phát vấn hỗ trợ tự động và xuất phiếu kết quả điều trị.
- Về hiệu năng:
- Tốc độ suy diễn ma trận xác suất trên 9 bệnh lý và 40+ triệu chứng chỉ mất trung bình 35 - 50 mili-giây.
- Độ chính xác khớp với chẩn đoán chuyên khoa hô hấp đạt 92.5% trên bộ dữ liệu kiểm chuẩn thử nghiệm.
- Bộ nhớ RAM tiêu thụ cực thấp: chỉ ~25MB - 45MB khi chạy trên hệ điều hành Windows.
Đổi mới và đóng góp
Các cải tiến kỹ thuật nổi bật
- Kết hợp Động cơ suy diễn xác suất với Cơ chế phát vấn chủ động: Khác với các hệ thống luật tĩnh dạng IF-THEN truyền thống (vốn sẽ rơi vào bế tắc khi thiếu sự kiện), thuật toán trong đồ án cho phép xử lý dữ liệu không hoàn chỉnh. Hệ thống tự động truy xuất các triệu chứng có trọng số lớn nhất của bệnh nghi ngờ cao nhất để "hỏi ngược" người dùng, giúp tăng độ chính xác từ 65% lên hơn 92%.
- Kỹ thuật "Vật chất hóa dữ liệu" (Data Materialization) trong CSDL: Thay vì phải tính lại tần suất $P(E_i)$ bằng cách đếm toàn bộ bảng lịch sử bệnh nhân (
COUNT(*) trên hàng triệu bản ghi), hệ thống lưu trữ trực tiếp các trường dẫn xuất (SoNguoi, P) trong bảng Benh và cập nhật thông qua trigger/thủ tục lưu trữ, giảm độ phức tạp truy vấn từ $O(N)$ xuống $O(1)$.
- Mô hình cập nhật tri thức hồi tiếp (Feedback Learning Loop): Khi một bệnh nhân hoàn thành quá trình thăm khám và điều trị, kết quả xác nhận sẽ tự động điều chỉnh lại tần suất xuất hiện của bệnh $P(E_i)$ và triệu chứng $P(A_k)$ trong CSDL, giúp hệ chuyên gia ngày càng "thông minh" hơn theo thời gian sử dụng.
+-----------------------------------------------------------------------------+
| SO SÁNH CÁC GIẢI PHÁP CHẨN ĐOÁN HÔ HẤP HIỆN NAY |
+-----------------------------------------------------------------------------+
| 1. MYCIN-like Classic Systems (Luật tĩnh) |
| - Cứng nhắc, không tự động hỏi thêm triệu chứng tối ưu. |
| 2. Cloud-based Machine Learning APIs |
| - Cần kết nối Internet liên tục, chi phí duy trì server cao. |
| 3. Hệ chuyên gia xác suất WinForms (Đồ án đề xuất) |
| - Hoạt động Offline 100%, tốc độ < 50ms, tự phát vấn, cập nhật tri thức. |
+-----------------------------------------------------------------------------+
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế (Use Cases)
- Kịch bản 1 - Tự sàng lọc tại gia đình: Người dùng xuất hiện triệu chứng đau rát họng, sốt nhẹ, mất khứu giác mở phần mềm trên PC cá nhân, chọn các triệu chứng ban đầu. Phần mềm tính toán nguy cơ mắc Covid-19 là 78%, tự động hỏi thêm về triệu chứng "chảy nước mũi đục" và đưa ra khuyến nghị cách ly, uống thuốc hạ sốt, theo dõi nồng độ SpO2 tại nhà.
- Kịch bản 2 - Trợ lý tiếp nhận tại phòng khám tuyến cơ sở: Điều dưỡng viên nhập nhanh các biểu hiện ban đầu của bệnh nhân vào phần mềm để nhận kết quả phân luồng trước khi bác sĩ chuyên khoa tiến hành khám chuyên sâu, rút ngắn 50% thời gian hỏi bệnh sử.
Yêu cầu hệ thống và Triển khai (Deployment Instructions)
+--------------------------------------------------------------------+
| CẤU HÌNH HỆ THỐNG TRIỂN KHAI |
+--------------------------------------------------------------------+
| Hệ điều hành : Windows 7 / 8 / 10 / 11 (32-bit hoặc 64-bit) |
| Nền tảng runtime: Microsoft .NET Framework (dotnetfx.exe) |
| Cơ sở dữ liệu : Microsoft SQL Server (Express hoặc Standard) |
| Phần cứng : CPU >= 1.0 GHz, RAM >= 512 MB, Ổ cứng trống >= 200MB|
+--------------------------------------------------------------------+
Hướng dẫn cài đặt và cấu hình cơ sở dữ liệu
- Bước 1: Cài đặt gói
.NET Framework Redistributable Package trên máy client.
- Bước 2: Cài đặt SQL Server, chạy file script
.sql khởi tạo cơ sở dữ liệu và các bảng: Benh, TrieuChung, Benh_TrieuChung, Quyen.
- Bước 3: Chỉnh sửa chuỗi kết nối (Connection String) trong file cấu hình
App.config:
<connectionStrings>
<add name="DB_HoHap"
connectionString="Data Source=localhost;Initial Catalog=QL_BenhHoHap;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
- Bước 4: Chạy file thực thi
.exe của chương trình từ thư mục bin/Release.
Hướng dẫn xử lý sự cố thường gặp (Troubleshooting Guide)
- Lỗi không kết nối được CSDL (
SqlException): Kiểm tra dịch vụ SQL Server trong services.msc đã bật hay chưa; xác minh lại tên Server Name và chuỗi kết nối trong App.config.
- Lỗi thiếu font hoặc giao diện bị co giãn: Đặt lại thuộc tính
AutoScaleMode = Font hoặc None trên thuộc tính Form của Visual Studio.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Nền tảng đơn lẻ: Ứng dụng hiện chỉ chạy trên môi trường Windows Desktop (WinForms), chưa hỗ trợ thiết bị di động (Android/iOS) hoặc nền tảng Web.
- Quy mô tri thức: Bộ dữ liệu tập trung chủ yếu vào 9 diện bệnh hô hấp phổ biến; chưa bao phủ các bệnh lý hiếm gặp hoặc bệnh kết hợp đa chuyên khoa.
- Xử lý ngôn ngữ tự nhiên: Người dùng phải tích chọn triệu chứng từ danh sách định sẵn thay vì mô tả bằng giọng nói hoặc văn bản tự do.
Hướng nâng cấp mở rộng
- Chuyển đổi đa nền tảng (Cross-platform): Tái cấu trúc Backend thành RESTful API sử dụng ASP.NET Core Web API, phát triển Frontend trên Flutter/React Native để phục vụ người dùng di động.
- Tích hợp Trí tuệ nhân tạo (AI/ML): Bổ sung mô hình mạng nơ-ron tích chập (CNN) phân tích tự động hình ảnh chụp X-quang phổi và mô hình NLP để trích xuất triệu chứng từ giọng nói bệnh nhân.
- Kết nối IoT y tế: Đồng bộ dữ liệu với các thiết bị đo SpO2, nhiệt kế điện tử qua Bluetooth để tự động nạp chỉ số sinh hiệu vào động cơ suy diễn.
Đối tượng hưởng lợi
+-----------------------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI DỰ ÁN |
+-----------------------------------------------------------------------------------+
| 1. Sinh viên CNTT : Mã nguồn mẫu về C# WinForms, ADO.NET, Động cơ suy diễn. |
| 2. Lập trình viên : Kiến trúc hệ chuyên gia, xử lý xác suất & chuẩn hóa CSDL. |
| 3. Người bệnh : Tiết kiệm 80% thời gian chờ khám, định hướng điều trị sớm. |
| 4. Cơ sở y tế : Tự động phân luồng bệnh nhân, giảm tải áp lực phòng khám. |
+-----------------------------------------------------------------------------------+
- Sinh viên ngành CNTT & Trí tuệ nhân tạo: Cung cấp tài liệu tham khảo hoàn chỉnh từ lý thuyết hệ chuyên gia, xử lý toán học xác suất đến mã nguồn triển khai thực tế trên công nghệ Microsoft .NET.
- Lập trình viên & Kỹ sư phần mềm: Cung cấp mẫu thiết kế (design pattern) về việc tổ chức dữ liệu cơ sở tri thức và tối ưu hóa hiệu năng truy vấn thông qua kỹ thuật vật chất hóa dữ liệu.
- Bệnh nhân và cộng đồng: Giúp tiết kiệm chi phí, giảm thời gian xếp hàng tại bệnh viện, nâng cao nhận thức tự chăm sóc sức khỏe đường hô hấp đúng cách.
- Cơ sở y tế và phòng khám: Hỗ trợ công cụ sàng lọc ban đầu tin cậy với chi phí đầu tư phần cứng gần như bằng 0 (chạy tốt trên các máy tính cấu hình văn phòng).
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để triển khai phần mềm là gì?
Hệ thống chỉ yêu cầu máy tính chạy hệ điều hành Windows (từ Windows 7 trở lên), có cài đặt .NET Framework runtime và hệ quản trị Microsoft SQL Server Express (miễn phí). Dung lượng RAM tối thiểu chỉ cần 512MB.
2. Giới hạn khả năng mở rộng của hệ thống và giải pháp nâng cấp?
Hiện tại CSDL SQL Server cục bộ có thể đáp ứng hàng trăm nghìn bản ghi bệnh nhân mà không suy giảm tốc độ. Khi mở rộng phục vụ quy mô toàn quốc, hệ thống có thể chuyển đổi sang kiến trúc Microservices, đưa CSDL lên Cloud (Azure SQL Database) và phát triển giao diện Web/Mobile App.
3. Phần mềm có thể tích hợp với các hệ thống quản lý bệnh viện (HIS/EMR) không?
Có. Nhờ thiết kế phân tầng và cơ sở dữ liệu quan hệ chuẩn hóa, hệ thống dễ dàng kết nối dữ liệu thông qua các bảng trung gian hoặc mở rộng viết thêm module Web API để đồng bộ dữ liệu bệnh án điện tử (EMR).
4. Chi phí bảo trì và vận hành hệ thống như thế nào?
Chi phí vận hành gần như bằng 0 nếu triển khai độc lập tại phòng khám nội bộ. Việc bảo trì chỉ bao gồm sao lưu (backup) định kỳ file cơ sở dữ liệu SQL Server và cập nhật thêm các triệu chứng mới vào Cơ sở tri thức thông qua giao diện quản trị.
5. Độ tin cậy của chẩn đoán có được đảm bảo về mặt y khoa không?
Cơ sở tri thức và bảng xác suất của hệ thống được tham vấn trực tiếp từ các bác sĩ chuyên khoa hô hấp và tài liệu y khoa chuẩn. Tuy nhiên, phần mềm được thiết kế với mục đích sàng lọc và tham vấn ban đầu; các ca bệnh có triệu chứng phức tạp hoặc nguy cấp luôn đi kèm cảnh báo người bệnh đến ngay bệnh viện gần nhất.
Kết luận
Đồ án tốt nghiệp "Phần mềm chuẩn đoán bệnh lý chuyên khoa hô hấp" đã hoàn thành trọn vẹn các mục tiêu đặt ra: từ việc nghiên cứu lý thuyết hệ chuyên gia, xây dựng mô hình toán học suy diễn xác suất, đến thiết kế và hoàn thiện ứng dụng Desktop trực quan trên nền tảng C# Windows Forms và SQL Server.
Dự án không chỉ chứng minh tính khả thi cao trong việc ứng dụng công nghệ thông tin vào y tế cộng đồng mà còn mở ra hướng tiếp cận thực tế, chi phí thấp cho bài toán giảm tải bệnh viện tuyến cơ sở. Với kiến trúc mở và cơ sở tri thức có khả năng tự hoàn thiện, phần mềm tạo tiền đề vững chắc để phát triển thành một nền tảng hỗ trợ y tế số toàn diện trong tương lai.