Bối cảnh và vấn đề nghiên cứu

Trong lĩnh vực chăm sóc sức khỏe hiện đại, các kỹ thuật chẩn đoán hình ảnh như siêu âm và chụp X-quang đóng vai trò thiết yếu giúp các chuyên gia y tế đánh giá tình trạng bệnh lý và đưa ra phác đồ điều trị phù hợp. Sự tích lũy nhanh chóng của dữ liệu hình ảnh tại các hệ thống lưu trữ và truyền thông hình ảnh y khoa (PACS - Picture Archiving and Communication System) vừa tạo ra tiềm năng ứng dụng trí tuệ nhân tạo (AI), vừa đặt ra bài toán phức tạp về khả năng lưu trữ, quản lý và truy cập dữ liệu hiệu quả.

Thực tế tại Việt Nam cho thấy, quy trình chẩn đoán các bệnh lý phổ biến như thoái hóa khớp gối chủ yếu vẫn thực hiện thủ công. Các bác sĩ phải trực tiếp định vị vùng quan tâm (ROI - Region of Interest) trên từng phim chụp X-quang và phân tích mức độ tổn thương, dẫn đến nguy cơ sai sót do áp lực công việc, tốn kém thời gian và chi phí vận hành. Đồng thời, các cơ sở y tế quy mô vừa và nhỏ thường gặp khó khăn về hạ tầng công nghệ để tự triển khai các hệ thống chẩn đoán tự động độc lập.

Trước bối cảnh đó, đề tài "Tìm hiểu kiến trúc Multi-tenant và ứng dụng xây dựng hệ thống phần mềm hỗ trợ chẩn đoán bệnh dựa trên ảnh y khoa" (ứng dụng mang tên DiagHub) được thực hiện nhằm giải quyết các nhiệm vụ trọng tâm:

  1. Nghiên cứu kiến trúc đa người thuê (Multi-tenancy) và các phương pháp thiết kế cơ sở dữ liệu dùng chung để tối ưu chi phí hạ tầng.
  2. Xây dựng nền tảng phần mềm SaaS (Software-as-a-Service) cho phép nhiều đơn vị y tế (phòng khám, bệnh viện) và cá nhân cùng chia sẻ dịch vụ chẩn đoán trên một phiên bản phần mềm duy nhất nhưng vẫn đảm bảo tính độc lập về dữ liệu và cấu hình.
  3. Tích hợp các mô hình học sâu hỗ trợ chẩn đoán tự động bệnh thoái hóa khớp gối từ hình ảnh X-quang, rút ngắn thời gian xử lý và giảm tải cho đội ngũ y bác sĩ.
  • Đối tượng nghiên cứu: Kiến trúc phần mềm Multi-tenant, mô hình cơ sở dữ liệu quan hệ cho SaaS, và các mô hình học sâu xử lý ảnh y tế (DIKO, xDesCO).
  • Phạm vi nghiên cứu: Thiết kế và hiện thực hệ thống ứng dụng web chẩn đoán bệnh thoái hóa khớp gối qua ảnh X-quang; thử nghiệm tại Khoa Khoa học và Kỹ thuật Máy tính, Trường Đại học Bách Khoa – ĐHQG TP.HCM (niên khóa 2023–2024).

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và công nghệ nền tảng

Nghiên cứu dựa trên các khái niệm và mô hình kỹ thuật sau:

  • Kiến trúc ứng dụng Web (Web Application Architecture): Mô hình phân lớp kết nối giữa Client-side (trình duyệt) và Server-side (máy chủ dịch vụ) cùng hệ thống quản trị cơ sở dữ liệu quan hệ (RDBMS).
  • Kiến trúc Multi-tenant: Cấu trúc phần mềm cho phép một phiên bản ứng dụng duy nhất phục vụ đồng thời nhiều khách hàng (tenants). Đề tài phân tích và đánh giá ba mô hình cơ sở dữ liệu đa người thuê:
    • Mỗi tenant một Database riêng biệt: Bảo mật và cô lập dữ liệu tuyệt đối nhưng chi phí tài nguyên cao.
    • Dùng chung Database nhưng tách biệt Schema/Table: Cân bằng giữa tài nguyên và quản lý.
    • Dùng chung Database và dùng chung Schema/Table: Tiết kiệm chi phí và tối ưu tài nguyên tối đa, đòi hỏi cơ chế kiểm soát truy cập và phân tách định danh (Tenant Identifier) chặt chẽ. Đề tài lựa chọn phương án này kết hợp với hệ quản trị cơ sở dữ liệu PostgreSQL.
  • Mô hình học sâu chẩn đoán thoái hóa khớp gối:
    • Mô hình DIKO: Quy trình hai giai đoạn gồm thuật toán YOLOv5 để tự động phát hiện vùng khớp gối (ROI) trên ảnh X-quang, kết hợp mạng tích chập DenseNet201 và InceptionV3 để phân loại và đưa ra kết quả chẩn đoán.
    • Mô hình xDesCO: Bao gồm Hệ thống phát hiện bất thường (Anomaly Detection System - ADS) và Hệ thống chẩn đoán (Diagnosis System - DS) phân loại mức độ tổn thương theo thang đo tiêu chuẩn y khoa Kellgren & Lawrence.
Tiêu chí so sánh Kiến trúc Single-tenant Kiến trúc Multi-tenant
Phân bổ tài nguyên Mỗi khách hàng sở hữu phiên bản phần mềm và máy chủ riêng Nhiều khách hàng dùng chung một phiên bản ứng dụng và tài nguyên phần cứng
Khả năng mở rộng Phức tạp, phải nhân bản và quản lý từng phiên bản Dễ dàng thay đổi quy mô thông qua một thiết lập thống nhất
Bảo mật & Cô lập Môi trường cô lập vật lý tự nhiên Phải triển khai logic kiểm soát truy cập và cách ly dữ liệu logic
Chi phí vận hành Tốn kém chi phí đầu tư và duy trì phần cứng riêng lẻ Tiết kiệm chi phí tối đa nhờ chia sẻ tài nguyên
Bảo trì & Cập nhật Nâng cấp độc lập cho từng hệ thống khách hàng Cập nhật tập trung đồng loạt cho toàn bộ khách hàng
Tốc độ triển khai Chậm, đòi hỏi cài đặt hạ tầng mới Nhanh chóng thêm tenant mới trên hệ thống hiện có

Phương pháp nghiên cứu và nguồn dữ liệu

Đề tài áp dụng phương pháp nghiên cứu kỹ thuật phần mềm kết hợp tích hợp mô hình AI:

  • Phương pháp phân tích - thiết kế: Xây dựng biểu đồ ca sử dụng (Use Case Diagram), mô hình quan hệ thực thể (ERD), và thiết kế cơ sở dữ liệu chuẩn hóa.
  • Phương pháp thực nghiệm và kiểm thử: Hiện thực hệ thống bằng mã nguồn thực tế và tiến hành kiểm thử chức năng, kiểm thử giao diện và kiểm thử API.
  • Nguồn dữ liệu: Tiếp nhận các định dạng dữ liệu ảnh y tế tiêu chuẩn bao gồm DICOM, JPEG và PNG từ ảnh chụp X-quang khớp gối của bệnh nhân.

Thiết kế và triển khai hệ thống

Kiến trúc công nghệ hệ thống DiagHub

Hệ thống được thiết kế theo mô hình tách biệt Front-end và Back-end với các thành phần công nghệ:

  • Front-end: Framework Angular (sử dụng TypeScript, kiến trúc MVVM và Two-Way Data Binding) xây dựng giao diện Single Page Application (SPA), đảm bảo tính tương thích giao diện đáp ứng (Responsive Web Design).
  • Back-end: Nền tảng ASP.NET Core (.NET Core / ngôn ngữ C#) cung cấp môi trường xử lý đa luồng, hỗ trợ Dependency Injection và kiến trúc MVC, cung cấp các chuẩn giao tiếp RESTful API.
  • Cơ sở dữ liệu: PostgreSQL với thiết kế bảng dùng chung cho các tenant, định danh qua trường khóa của đối tác nhằm kiểm soát tính riêng tư của dữ liệu.

Phân quyền người dùng và quy trình hoạt động

Hệ thống DiagHub phân chia không gian làm việc thành ba tác nhân chính:

  1. Quản trị viên (Administrator): Quản lý toàn bộ hệ thống máy chủ, quản lý danh sách và phê duyệt/kích hoạt tài khoản đối tác (Tenant), tạo lập và điều chỉnh các gói dịch vụ (Editions - tính phí hoặc miễn phí), phân bổ hạn mức chẩn đoán và theo dõi báo cáo doanh thu.
  2. Đối tác (Tenant - Bệnh viện/Phòng khám): Sau khi đăng ký và được Administrator kích hoạt, Tenant có thể đăng nhập vào không gian làm việc riêng, quản lý danh sách người dùng thuộc quyền quản lý, cấp phép quyền truy cập, tùy chỉnh danh mục phương pháp chẩn đoán và theo dõi biểu đồ thống kê lượt sử dụng.
  3. Người dùng cuối (User - Bác sĩ/Bệnh nhân): Chọn không gian tenant tương ứng để đăng ký/đăng nhập, tải lên hình ảnh y khoa (X-quang dạng JPEG, PNG, DICOM), kích hoạt mô hình AI để nhận kết quả chẩn đoán tự động, so sánh ảnh chẩn đoán với ảnh gốc, tải kết quả về máy hoặc lưu trữ trên thư viện lịch sử chẩn đoán.

Nội dung chính theo từng chương

Chương 1: Tổng quan

Chương 1 làm rõ tính cấp thiết của việc tự động hóa xử lý ảnh y khoa trong bối cảnh khối lượng ảnh chụp từ hệ thống PACS ngày một gia tăng. Tác giả xác định rõ việc phát triển nền tảng Multi-tenant không chỉ giảm áp lực cho bác sĩ chuyên khoa mà còn tối ưu hóa chi phí hạ tầng cho các tổ chức y tế nhỏ. Mục tiêu chính là hoàn thiện ứng dụng web có khả năng phân quyền đa cấp và tích hợp thuật toán phân tích ảnh y tế.

Chương 2: Kiến thức nền tảng

Chương này tổng hợp cơ sở lý thuyết về kiến trúc ứng dụng web, phân tích chi tiết ưu nhược điểm của kiến trúc Multi-tenant so với Single-tenant, từ đó lập luận cho quyết định chọn mô hình chia sẻ schema/table trên cơ sở dữ liệu PostgreSQL. Tác giả tiến hành so sánh các công nghệ Front-end (Angular, ReactJS) và Back-end (Java/Spring, PHP, Node.js, .NET Core), dẫn tới quyết định lựa chọn Angular và ASP.NET Core. Đồng thời, chương 2 phân tích cấu trúc của hai mô hình chẩn đoán AI: mô hình DIKO (kết hợp YOLOv5, DenseNet201, InceptionV3) và mô hình xDesCO (ADS và DS dựa trên tiêu chuẩn Kellgren & Lawrence).

Chương 3: Phân tích thiết kế hệ thống

Tác giả chi tiết hóa các yêu cầu chức năng cho 3 vai trò (Admin, Tenant, User) và các yêu cầu phi chức năng như bảo mật, sao lưu dự phòng, tuân thủ tiêu chuẩn dữ liệu y tế (như HIPAA) và tích hợp cổng thanh toán trực tuyến. Nội dung chương cung cấp sơ đồ Use Case tổng thể, bảng đặc tả chi tiết 6 nhóm use case chính (Quản lý tài khoản, Chẩn đoán bệnh, Quản lý người dùng, Đăng ký sử dụng dịch vụ, Quản lý thanh toán, Quản trị hệ thống) và sơ đồ quan hệ thực thể (ERD) cùng bản thiết kế chi tiết các bảng dữ liệu.

Chương 4: Hiện thực và kiểm thử hệ thống

Chương 4 mô tả toàn bộ giao diện và luồng nghiệp vụ thực tế của hệ thống DiagHub:

  • Giao diện đăng nhập đa cơ chế: Quản trị viên đăng nhập trực tiếp; Tenant và User đăng nhập thông qua cơ chế chuyển đổi định danh tenant ("Switch to tenant").
  • Quy trình đăng ký và duyệt: Tenant đăng ký gói dịch vụ (mặc định có gói dùng thử 100 lượt chẩn đoán) và phải được Admin kích hoạt trạng thái "Active"; User đăng ký tài khoản và phải được Tenant phê duyệt trước khi sử dụng.
  • Quản lý gói dịch vụ (Editions): Admin có thể tạo mới, tùy biến tính năng và cấu hình hạn ngạch sử dụng cho từng gói dịch vụ.
  • Quy trình chẩn đoán: Tải ảnh, phân tích tự động bằng AI, xem và xuất kết quả, theo dõi lịch sử chẩn đoán.
  • Công tác kiểm thử: Sử dụng công cụ Visual Studio cho kiểm thử mã nguồn hệ thống và Postman để kiểm tra tính toàn vẹn và độ tin cậy của các RESTful API.

Chương 5: Tổng kết và hướng phát triển đề tài

Tổng hợp toàn bộ các kết quả đạt được về mặt xây dựng phần mềm Multi-tenant và khả năng tích hợp mô hình AI; đồng thời đưa ra các đề xuất cải tiến cho hệ thống trong tương lai.


Kết quả và đóng góp

Kết quả kỹ thuật đạt được

  • Xây dựng hoàn chỉnh nền tảng web Multi-tenant DiagHub: Hiện thực thành công hệ thống phần mềm SaaS phục vụ 3 nhóm đối tượng riêng biệt (Admin, Tenant, User) trên cùng một hạ tầng máy chủ và cơ sở dữ liệu PostgreSQL dùng chung.
  • Cơ chế quản lý định danh và bảo mật tenant: Xây dựng cơ chế cô lập dữ liệu logic an toàn, quy trình duyệt tài khoản 2 cấp (Admin duyệt Tenant, Tenant duyệt User), và cơ chế chuyển đổi tenant linh hoạt khi đăng nhập.
  • Tích hợp quy trình chẩn đoán tự động: Cung cấp giải pháp tải ảnh đa định dạng (JPEG, PNG, DICOM) và tích hợp mô hình học sâu hỗ trợ phát hiện vùng tổn thương và phân loại mức độ thoái hóa khớp gối theo thang đo y học chuẩn xác.
  • Hệ thống quản trị dịch vụ linh hoạt: Cho phép thiết lập các gói dịch vụ linh hoạt theo số lượt dùng (như gói miễn phí 100 lượt) hoặc theo khung thời gian (tuần, tháng, năm).
  • Kiểm thử chất lượng: Toàn bộ các API và chức năng nghiệp vụ đều được kiểm thử đạt yêu cầu thông qua công cụ Visual Studio và Postman.

Đóng góp thực tiễn

Đồ án chứng minh tính khả thi của việc ứng dụng mô hình điện toán đám mây đa người thuê vào y tế số tại Việt Nam. Giải pháp giúp giảm chi phí đầu tư máy chủ ban đầu cho các phòng khám, chuẩn hóa quy trình phân tích ảnh X-quang và hỗ trợ bác sĩ giảm thiểu thời gian đọc phim thủ công.


Hạn chế và hướng nghiên cứu tiếp

  • Mở rộng danh mục bệnh lý: Hệ thống hiện tập trung chuyên sâu vào chẩn đoán thoái hóa khớp gối qua ảnh X-quang. Hướng nghiên cứu tiếp theo là tích hợp thêm các mô hình AI chẩn đoán các bệnh lý cơ - xương - khớp khác hoặc bệnh lý phổi từ ảnh X-quang/CT.
  • Tối ưu hóa hiệu năng tải lớn: Nghiên cứu nâng cao cơ chế cân bằng tải và mở rộng quy mô cơ sở dữ liệu khi số lượng đối tác y tế và lượt yêu cầu chẩn đoán đồng thời tăng cao.
  • Tích hợp sâu hệ thống PACS/HIS: Nâng cấp khả năng kết nối trực tiếp theo thời gian thực với hệ thống thông tin bệnh viện (HIS) và hệ thống PACS sẵn có của các cơ sở y tế.
  • Tự động hóa thanh toán: Mở rộng tích hợp đầy đủ các cổng thanh toán trực tuyến và ví điện tử (như MoMo, ZaloPay, chuyển khoản ngân hàng) cho các gói thuê dịch vụ.

Giá trị tham khảo

Đồ án là tài liệu tham khảo giá trị đối với:

  • Sinh viên ngành Khoa học Máy tính, Kỹ thuật Phần mềm, Công nghệ Thông tin: Tham khảo phương pháp xây dựng ứng dụng SaaS theo kiến trúc Multi-tenant trên nền tảng .NET Core kết hợp Angular và PostgreSQL.
  • Kỹ sư và nhà nghiên cứu ứng dụng AI trong y tế: Tham khảo quy trình tích hợp các mô hình thị giác máy tính (Computer Vision - YOLOv5, DenseNet, Inception) vào một hệ thống phần mềm có người dùng thực tế.
  • Các nhóm làm đồ án tốt nghiệp: Cung cấp cấu trúc tài liệu chuẩn mực về phân tích yêu cầu phần mềm, thiết kế Use Case, ERD và quy trình kiểm thử API.

Câu hỏi thường gặp

1. Đồ án sử dụng phương án thiết kế cơ sở dữ liệu Multi-tenant nào và vì sao?
Nhóm tác giả lựa chọn phương án chia sẻ chung Database và dùng chung Schema/Table cho toàn bộ các tenant trên hệ quản trị PostgreSQL. Phương án này được lựa chọn nhằm tối ưu hóa chi phí phần cứng, tiết kiệm tài nguyên và nâng cao hiệu quả quản lý tập trung ở giai đoạn phát triển ban đầu của hệ thống.

2. Mô hình AI chẩn đoán thoái hóa khớp gối trong đề tài gồm những thành phần nào?
Hệ thống áp dụng mô hình DIKO (gồm giai đoạn 1 dùng YOLOv5 phát hiện vùng quan tâm ROI, giai đoạn 2 kết hợp DenseNet201 và InceptionV3 để phân loại tổn thương) và mô hình xDesCO (gồm hệ thống ADS phát hiện bất thường và hệ thống DS chấm điểm theo thang đo Kellgren & Lawrence).

3. Hệ thống phân chia quyền hạn của các vai trò người dùng như thế nào?
Hệ thống chia thành 3 vai trò: Administrator (quản lý hệ thống, kích hoạt Tenant, quản lý gói dịch vụ và doanh thu), Tenant (đối tác y tế quản lý User nội bộ, cấu hình danh mục chẩn đoán), và User (tải ảnh y tế, thực hiện chẩn đoán, xem kết quả và lịch sử).

4. Quy trình đăng ký và sử dụng dịch vụ của một cơ sở y tế mới (Tenant) diễn ra như thế nào?
Tenant truy cập trang đăng ký chọn gói dịch vụ (có gói miễn phí 100 lần chẩn đoán), điền thông tin (Tenancy name, Tenant name, Email, Password). Sau khi đăng ký, tài khoản ở trạng thái chờ cho đến khi Quản trị viên phê duyệt và kích hoạt ("Active") trên trang quản trị.

5. Các công cụ nào đã được sử dụng để kiểm thử hệ thống?
Nhóm tác giả sử dụng môi trường Visual Studio để kiểm thử mã nguồn và công cụ Postman để kiểm thử các điểm cuối (endpoints) của RESTful API nhằm đảm bảo tính chính xác của các luồng dữ liệu.


Kết luận

Đồ án tốt nghiệp "Tìm hiểu kiến trúc Multi-tenant và ứng dụng xây dựng hệ thống phần mềm hỗ trợ chẩn đoán bệnh dựa trên ảnh y khoa" đã hoàn thành mục tiêu xây dựng nền tảng phần mềm SaaS DiagHub kết hợp kiến trúc đa người thuê với công nghệ trí tuệ nhân tạo. Bằng việc kết hợp các công nghệ hiện đại gồm Angular, ASP.NET Core, PostgreSQL và các mô hình học sâu (DIKO, xDesCO), hệ thống cung cấp giải pháp chẩn đoán thoái hóa khớp gối tự động, an toàn và tối ưu chi phí hạ tầng. Đây là tài liệu tham khảo hữu ích cho các nghiên cứu và dự án phát triển phần mềm y tế số theo mô hình dịch vụ đám mây.