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

Khóa luận tốt nghiệp của sinh viên Nguyễn Thành Danh (MSSV: 17520323) và Trương Minh Sang (MSSV: 17520980), thuộc Khoa Công nghệ Phần mềm, Trường Đại học Công nghệ Thông tin – Đại học Quốc gia TP. Hồ Chí Minh, thực hiện dưới sự hướng dẫn của ThS. Phan Trung Hiếu và cán bộ phản biện ThS. Mai Trọng Khang. Đề tài thuộc ngành Kỹ thuật Phần mềm, loại hình nghiên cứu xây dựng phần mềm và ứng dụng kiến trúc hệ thống phân tán.

Bối cảnh thực tiễn được nhóm tác giả đặt trong quá trình hiện đại hóa của ngành y tế Việt Nam. Bộ Y tế xác định y tế cơ sở là xương sống của hệ thống y tế quốc gia nhằm cung cấp dịch vụ chăm sóc sức khỏe ban đầu toàn diện, giảm tải cho các bệnh viện tuyến trên và tiết kiệm chi phí cho người dân. Theo số liệu công bố từ Bộ Y tế năm 2019, 100% cơ sở khám, chữa bệnh trên cả nước đã ứng dụng công nghệ thông tin trong quản lý bệnh viện và kết nối liên thông với bảo hiểm xã hội; đồng thời khoảng 30% bệnh viện đã bước đầu áp dụng thanh toán điện tử không dùng tiền mặt. Song song đó, các hệ thống công nghệ y tế quốc gia như VssID, Bluezone hay NCOVI được triển khai trên diện rộng.

Tuy nhiên, đối với khối phòng khám vừa và nhỏ, phần lớn các phần mềm quản lý hiện có trên thị trường vẫn vận hành trên các công nghệ cũ, triển khai theo mô hình cài đặt phần mềm độc lập cục bộ trên từng máy tính (on-premise). Hướng tiếp cận này gây tốn kém chi phí bản quyền hệ điều hành, cơ sở dữ liệu, chiếm dụng tài nguyên tính toán riêng lẻ và tạo ra rào cản lớn khi nâng cấp hay mở rộng.

Mục tiêu nghiên cứu của đề tài gồm 03 mục tiêu cụ thể:

  1. Tìm hiểu kiến trúc Multi-tenancy, áp dụng hướng tiếp cận phù hợp vào việc xây dựng hệ thống quản lý phòng khám.
  2. Xây dựng một hệ thống quản lý phòng khám tiện dụng cho phòng khám, bệnh nhân, và dễ dàng phát triển, mở rộng cho nhà cung cấp dịch vụ phần mềm.
  3. Xây dựng một ứng dụng mobile cho bệnh nhân để tăng tương tác giữa bệnh nhân và phòng khám.

Đối tượng nghiên cứu của khóa luận bao gồm:

  • Các công nghệ phát triển phần mềm: ASP.NET Core, Angular, SQL Server, React Native và kiến trúc Multi-tenancy.
  • Đối tượng thụ hưởng và vận hành: Các phòng khám có nhu cầu số hóa quy trình quản lý và bệnh nhân đến khám bệnh tại các cơ sở này.

Phạm vi nghiên cứu:

  • Không gian và khảo sát nghiệp vụ: Khảo sát thực tế các ứng dụng phòng khám thương mại gồm STD Clinic, EZ Clinic, YouMed và tham vấn chuyên môn y tế từ Bác sĩ Chế Thanh Đoan.
  • Phạm vi chức năng: Tập trung vào chu trình khám chữa bệnh ngoại trú gồm quản lý danh mục, đặt lịch hẹn, tiếp nhận bệnh nhân, khám bệnh, tính viện phí và quản lý kho dược.
  • Thời gian thực hiện: Từ ngày 01/03/2021 đến ngày 26/06/2021.

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

Khóa luận sử dụng các nền tảng lý thuyết kỹ thuật phần mềm và kiến trúc điện toán đám mây:

  1. Kiến trúc phần mềm đa người thuê (Multi-tenancy): Khóa luận phân tích sự khác biệt giữa Single-tenancy (mỗi khách hàng triển khai một thể hiện phần mềm riêng) và Multi-tenancy (một thể hiện phần mềm duy nhất chạy trên máy chủ để phục vụ nhiều khách hàng/tenants). Tác giả so sánh 3 mô hình lưu trữ dữ liệu của Multi-tenancy:
Hướng tiếp cận Đặc điểm kiến trúc Đánh giá của tác giả
Nhiều ứng dụng – nhiều CSDL Chạy nhiều instance ứng dụng và database riêng biệt cho từng tenant trên cùng máy chủ. Không tối ưu, thường chỉ dùng khi chuyển đổi ứng dụng đơn lẻ sẵn có sang multi-tenant.
Một ứng dụng – nhiều CSDL Một ứng dụng duy nhất, một CSDL master quản trị metadata và các CSDL riêng cho từng tenant. Phân tách dữ liệu vật lý tốt nhưng tốn tài nguyên quản lý kết nối và bảo trì nhiều database.
Một ứng dụng – một CSDL Duy nhất một ứng dụng và một CSDL dùng chung; phân tách tài nguyên bằng cột TenantId. Hướng tiếp cận tối ưu nhất, tiết kiệm chi phí bản quyền, dễ scale và bảo trì; nhóm chọn mô hình này.
  1. Nền tảng phát triển backend: ASP.NET Core kết hợp framework mã nguồn mở ASP.NET Boilerplate (ABP). ABP cung cấp kiến trúc N-Layer tuân thủ các nguyên lý Domain Driven Design (DDD) gồm 6 tầng: Client Applications, Presentation, Distributed Service, Application, Domain và Infrastructure (sử dụng Entity Framework Core truy xuất cơ sở dữ liệu).
  2. Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server phiên bản Express Edition kết hợp công cụ IDE dbForge Studio for SQL Server để hỗ trợ thiết kế bảng, gợi ý mã lệnh, so sánh schema và sao lưu dữ liệu.
  3. Nền tảng frontend và mobile: Ngôn ngữ TypeScript kết hợp framework Angular (sử dụng các khái niệm Component, Template, NgModule, Dependency Injection, Data Binding, Directive) để xây dựng ứng dụng web quản lý (Single Page Application - SPA). Thư viện React Native (gồm JavaScript VM, React Native Bridge, Native Modules và tính năng Fast Refresh) để xây dựng ứng dụng di động cho bệnh nhân.
  4. Dịch vụ đám mây ngoại vi: Nền tảng Google Cloud Platform (GCP) và Google Map Platform. Tác giả khảo sát Distance Matrix API sử dụng HTTP GET request với các tham số bắt buộc như origins, destinations, key và trả kết quả dạng JSON để tính toán khoảng cách và thời gian di chuyển.
  5. Phương pháp nghiên cứu và nguồn số liệu:
  • Phương pháp nghiên cứu tài liệu: Đọc và tổng hợp tài liệu chuyên sâu về Multi-tenancy, DDD, kiến trúc ASP.NET Boilerplate và RESTful API.
  • Phương pháp so sánh và phân tích thực tế: Phân tích ưu nhược điểm của các ứng dụng phòng khám STD Clinic, EZ Clinic, YouMed.
  • Phương pháp chuyên gia: Phỏng vấn, khảo sát trực tiếp quy trình khám bệnh thực tế với Bác sĩ Chế Thanh Đoan.
  • Nguồn dữ liệu số hóa: Cổng thông tin điện tử Bộ Y tế (moh.gov.vn), bảng mã phân loại bệnh quốc tế ICD (International Classification of Diseases) và danh mục dược lâm sàng.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình phân tán Client-Server. Người dùng tương tác thông qua hai giao diện độc lập: Ứng dụng web Angular (dành cho nhân viên phòng khám, bác sĩ, thu ngân, quản trị viên) và ứng dụng di động React Native (dành cho bệnh nhân). Hai giao diện này giao tiếp với tầng backend ASP.NET Core thông qua các RESTful API dựa trên giao thức HTTP. Tầng backend xử lý các logic nghiệp vụ thông qua ABP framework và kết nối xuống cơ sở dữ liệu Microsoft SQL Server bằng Entity Framework Core. Tất cả các truy vấn dữ liệu nghiệp vụ đều tự động lọc theo TenantId để đảm bảo cô lập dữ liệu giữa các phòng khám đăng ký trên hệ thống.

Quá trình triển khai được nhóm tác giả phân chia thành 6 sprint cụ thể:

Sprint Thời gian Phân công Nguyễn Thành Danh Phân công Trương Minh Sang
Sprint 1 01/03/2021 – 15/03/2021 Tìm hiểu Multi-tenancy, ASP.NET Core, Angular, React Native; tìm hiểu công tác quản lý phòng khám; khảo sát STD Clinic, EZ Clinic, YouMed. Tìm hiểu Multi-tenancy, ASP.NET Core, Angular, React Native; tìm hiểu công tác quản lý phòng khám; khảo sát STD Clinic, EZ Clinic, YouMed.
Sprint 2 15/03/2021 – 05/04/2021 Thiết kế chức năng ứng dụng, thiết kế cơ sở dữ liệu. Phân tích yêu cầu chức năng, thiết kế cơ sở dữ liệu.
Sprint 3 05/04/2021 – 03/05/2021 Xây dựng giao diện đăng nhập, quản lý danh mục; xây dựng API. Xây dựng giao diện quản lý danh mục; xây dựng API.
Sprint 4 03/05/2021 – 31/05/2021 Xây dựng giao diện đặt lịch hẹn; xây dựng ứng dụng mobile cho bệnh nhân. Xây dựng giao diện tiếp nhận bệnh nhân, khám bệnh, tính viện phí; xây dựng API.
Sprint 5 31/05/2021 – 07/06/2021 Hoàn thành các chức năng hệ thống. Hoàn thành các chức năng hệ thống.
Sprint 6 07/06/2021 – 25/06/2021 Tiến hành kiểm thử hệ thống; viết báo cáo khóa luận. Tiến hành kiểm thử hệ thống; viết báo cáo khóa luận.

Về thiết kế cơ sở dữ liệu, hệ thống thiết kế mô hình dữ liệu quan hệ chặt chẽ với các bảng dữ liệu chính được định nghĩa chi tiết: bảng liên kết phòng ban dịch vụ (PHONGBAN_DICHVU), khám bệnh ngoại trú (KHAMBENH_NGOAITRU), toa thuốc ngoại trú (KHAMBENH_NGOAITRU_TOATHUOC), chi tiết toa thuốc ngoại trú (KHAMBENH_NGOAITRU_TOATHUOC_CHITIET), chứng từ dược (DUOC_CHUNGTU) và chi tiết chứng từ dược (DUOC_CHUNGTU_CHITIET).

Về tích hợp ngoại vi, tác giả cấu hình Distance Matrix API từ Google Map Platform với mức hỗ trợ tín dụng 200 USD/tháng của Google. Tuy nhiên, văn bản ghi nhận rõ ràng: tại thời điểm thực hiện đề tài, dịch vụ Google Map Platform bị chặn/cấm tại Việt Nam, do đó chức năng bản đồ dù đã được lập trình sẵn nhưng không thể hoạt động trên môi trường thực tế.

Công tác kiểm thử được tiến hành trong Sprint 6 nhằm rà soát tính đúng đắn của logic luồng nghiệp vụ khám bệnh, tính toán viện phí, quản lý xuất nhập kho thuốc và tính toàn vẹn dữ liệu đa tenant.

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

Chương 1. Tổng quan đề tài

Chương 1 giới thiệu lý do chọn đề tài dựa trên chủ trương đổi mới Y tế Cơ sở của Bộ Y tế và làn sóng chuyển đổi số trong ngành y tế (dẫn chứng 100% cơ sở khám chữa bệnh kết nối liên thông bảo hiểm, 30% bệnh viện triển khai thanh toán không tiền mặt). Tác giả xác định 3 mục tiêu nghiên cứu, xác lập đối tượng nghiên cứu (công nghệ .NET, Angular, React Native, Multi-tenancy và mô hình phòng khám - bệnh nhân), đồng thời vạch rõ phạm vi nghiên cứu xoay quanh quy trình khám ngoại trú. Điểm mới của luận văn được xác định là chuyển đổi từ phần mềm đơn lẻ cài đặt trên máy cục bộ sang ứng dụng web phân tán trên nền tảng đám mây áp dụng kiến trúc Multi-tenancy, giúp nhiều phòng khám dùng chung một hạ tầng phần mềm mà vẫn bảo đảm tính độc lập dữ liệu.

Chương 2. Cơ sở lý thuyết và công nghệ liên quan

Chương 2 trình bày chi tiết nền tảng lý thuyết và công nghệ được sử dụng:

  • Kiến trúc Multi-tenancy: Khái niệm, ưu điểm (giảm chi phí phần cứng, dễ cấp phép bản quyền, thuận lợi thu thập dữ liệu tập trung, phát hành phiên bản mới đồng loạt) và nhược điểm (đòi hỏi xử lý tùy biến giao diện, quyền truy cập, tính phức tạp trong mã nguồn). So sánh 3 mô hình triển khai dữ liệu và quyết định chọn mô hình "Một ứng dụng - một CSDL".
  • ASP.NET Core và ASP.NET Boilerplate: Kiến trúc N-Layer gồm 6 tầng tuân thủ Domain Driven Design.
  • Cơ sở dữ liệu: Hệ quản trị Microsoft SQL Server Express Edition và các tính năng hỗ trợ phát triển của công cụ dbForge Studio for SQL Server (SQL code assistance, Table & Database designer, Schema compare, Data compare, Data editor, Backup CSDL).
  • Công nghệ Frontend và Mobile: Ngôn ngữ TypeScript, các thành phần của Angular (Component, Template, NgModule, Dependency Injection, Data binding, Directive) và cơ chế vận hành của React Native (Native Code, JavaScript VM, React Native Bridge).
  • Dịch vụ Google Map Platform: Phân tích các gói dịch vụ (Maps, Routes, Places), cấu trúc gọi Distance Matrix API qua URL parameters, cấu trúc gói tin phản hồi JSON (các trường status, origin_addresses, destination_addresses, rows, elements, duration, distance), kèm bảng giá dịch vụ (Static Maps 2 USD/1000 requests, Dynamic Maps 7 USD/1000 requests, Directions/Distance Matrix 5 USD/1000 requests).

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

Chương 3 là phần trọng tâm của khóa luận, bao gồm:

  • Phân tích nghiệp vụ khám bệnh: Chu trình 4 bước khép kín gồm Đặt lịch hẹn $\rightarrow$ Tiếp nhận bệnh nhân $\rightarrow$ Khám bệnh $\rightarrow$ Tính viện phí.
  • Phân hệ quản lý dược: Quy trình Nhập dược từ nhà cung cấp, Hoàn trả dược cho nhà cung cấp, Bán thuốc tại quầy và Trả thuốc tại quầy.
  • Quản lý 12 danh mục phòng khám: Thông tin phòng khám, phòng ban, bác sĩ, đối tượng, danh mục bệnh quốc tế ICD, đơn vị tính, nhóm dịch vụ, dịch vụ, dược, nhà cung cấp, bệnh nhân, kho dược.
  • Thiết kế Use-case và phân rã chức năng: Trình bày sơ đồ phân rã chức năng ứng dụng quản lý và ứng dụng mobile; đặc tả chi tiết 21 bảng Use-case (từ Bảng 3.1 đến Bảng 3.21).
  • Mô hình dữ liệu: Thiết kế chi tiết cấu trúc các bảng CSDL (từ Bảng 3.22 đến Bảng 3.42) với các khóa chính, khóa ngoại và trường TenantId.
  • Thiết kế giao diện: Xây dựng hệ thống giao diện trực quan gồm 37 màn hình web quản lý (lịch hẹn theo ngày/tuần, tiếp nhận bệnh nhân, khám bệnh, bảng giá dịch vụ, quản lý kho dược, danh mục ICD...) và 11 màn hình mobile (đăng nhập số điện thoại, trang chủ, hồ sơ cá nhân, danh sách bác sĩ, chuyên khoa, đặt lịch hẹn cá nhân).

Kết luận và hướng phát triển

Phần kết luận tổng hợp toàn bộ các kết quả đạt được về mặt kỹ thuật và thực tiễn của đề tài sau 6 sprint làm việc, đồng thời nêu rõ các hạn chế tồn tại và đề xuất các hướng hoàn thiện hệ thống trong tương lai.

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

Về mặt kỹ thuật:

  • Đã nghiên cứu và hiện thực hóa thành công kiến trúc Multi-tenancy theo mô hình "Một ứng dụng – một CSDL" trên nền framework ASP.NET Boilerplate và ASP.NET Core. Cơ chế phân tách dữ liệu bằng trường TenantId cho phép phục vụ nhiều phòng khám độc lập trên cùng một hệ thống máy chủ mà không làm lộ dữ liệu chéo giữa các bên.
  • Xây dựng hoàn chỉnh hệ thống RESTful API phục vụ toàn bộ chu trình khám bệnh, quản lý kho thuốc và quản trị danh mục.
  • Xây dựng thành công ứng dụng web quản lý Single Page Application (SPA) bằng Angular và ứng dụng di động cho bệnh nhân bằng React Native, đáp ứng được các tiêu chí thẩm mỹ, tính logic nghiệp vụ và phân quyền người dùng.

Về mặt thực tiễn:

  • Tin học hóa thành công quy trình khám chữa bệnh ngoại trú tại phòng khám, giải quyết đồng bộ từ khâu tiếp đón, xếp lịch hẹn, quản lý hồ sơ bệnh nhân, nhập bệnh lý và chỉ định đơn thuốc theo danh mục ICD, tính toán viện phí tại quầy đến khâu quản lý xuất nhập tồn kho dược.
  • Cung cấp ứng dụng di động tiện lợi giúp bệnh nhân chủ động tra cứu thông tin phòng khám, bác sĩ, chuyên khoa và đăng ký lịch hẹn khám trước, giảm thiểu thời gian chờ đợi tại cơ sở y tế.

Đóng góp so với các nghiên cứu và ứng dụng trước:

  • So với các ứng dụng phòng khám truyền thống trên thị trường vốn chạy cục bộ trên từng máy đơn lẻ (on-premise), giải pháp của nhóm tác giả tiếp cận theo mô hình dịch vụ phần mềm cho thuê trên nền tảng đám mây (SaaS). Cách tiếp cận này giúp các phòng khám tiết kiệm chi phí đầu tư phần cứng ban đầu, loại bỏ quy trình cài đặt phức tạp, đồng thời cho phép nhà cung cấp dịch vụ cập nhật tính năng mới đồng loạt cho mọi khách hàng chỉ qua một lần triển khai duy nhất trên máy chủ.

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

Khóa luận chỉ rõ các hạn chế tồn tại và định hướng phát triển dựa trên văn bản:

Hạn chế:

  • Chức năng tính khoảng cách và thời gian di chuyển từ vị trí bệnh nhân đến phòng khám thông qua Google Map Platform (Distance Matrix API) không hoạt động được trên môi trường thực tế tại Việt Nam do dịch vụ bị giới hạn/chặn cung cấp dịch vụ tại thời điểm thực hiện đề tài.
  • Phạm vi nghiệp vụ mới tập trung vào công tác khám bệnh ngoại trú tại các phòng khám vừa và nhỏ, chưa mở rộng cho mô hình bệnh viện lớn có điều trị nội trú.
  • Hệ thống chưa tích hợp cổng thanh toán trực tuyến không dùng tiền mặt (chỉ mới dừng lại ở quy trình lập phiếu thu viện phí và xác nhận thanh toán tiền mặt tại quầy).

Hướng nghiên cứu tiếp:

  • Khắc phục sự cố bản đồ bằng cách nghiên cứu tích hợp các giải pháp thay thế Google Map Platform khả dụng tại Việt Nam (như các API bản đồ mở hoặc dịch vụ bản đồ số trong nước).
  • Tích hợp các cổng thanh toán điện tử trực tuyến vào hệ thống web và mobile để hỗ trợ bệnh nhân thanh toán viện phí từ xa.
  • Mở rộng các phân hệ chức năng cho điều trị nội trú và nghiên cứu phương án kết nối liên thông dữ liệu khám chữa bệnh với cổng thông tin giám định bảo hiểm y tế.

Giá trị tham khảo

Khóa luận là nguồn tài liệu hữu ích cho:

  • Sinh viên ngành Kỹ thuật Phần mềm, Công nghệ Thông tin đang làm đồ án tốt nghiệp hoặc nghiên cứu ứng dụng kiến trúc Multi-tenancy trên nền tảng .NET và Entity Framework Core.
  • Lập trình viên cần tham khảo mô hình kiến trúc phân tầng Domain Driven Design (DDD) thông qua framework ASP.NET Boilerplate (ABP), cũng như cách kết nối đồng bộ giữa backend RESTful API với frontend Angular và mobile app React Native.
  • Nhà phát triển phần mềm y tế cần tư liệu khảo sát về quy trình nghiệp vụ khám chữa bệnh ngoại trú, cấu trúc bảng dữ liệu quản lý dược, kê đơn thuốc chuẩn ICD và phân rã use-case cho hệ thống phòng khám.

Các nội dung đáng tham khảo nhất trong tài liệu bao gồm: Phần phân tích so sánh 3 mô hình lưu trữ dữ liệu của Multi-tenancy tại Chương 2; toàn bộ hệ thống đặc tả 21 use-case chi tiết và mô tả cấu trúc các bảng cơ sở dữ liệu quan hệ tại Chương 3.

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

  1. Khóa luận lựa chọn mô hình triển khai Multi-tenancy nào và cơ chế phân tách dữ liệu giữa các phòng khám được thực hiện ra sao? Nhóm tác giả lựa chọn mô hình "Một ứng dụng – một CSDL". Dữ liệu của tất cả các phòng khám được lưu trữ chung trong một cơ sở dữ liệu Microsoft SQL Server duy nhất, và hệ thống sử dụng trường định danh TenantId trong các bảng dữ liệu để phân biệt, cô lập hoàn toàn tài nguyên giữa các phòng khám khác nhau.

  2. Framework ASP.NET Boilerplate (ABP) đóng vai trò gì trong kiến trúc backend của hệ thống? ASP.NET Boilerplate cung cấp sẵn khung kiến trúc phần mềm N-Layer tuân thủ Domain Driven Design (gồm các tầng Presentation, Distributed Service, Application, Domain, Infrastructure), đồng thời tích hợp sẵn cơ chế xử lý Multi-tenancy tự động và các cấu trúc chuẩn hóa cho việc xây dựng RESTful API kết hợp Entity Framework Core.

  3. Tại sao chức năng Distance Matrix API của Google Map Platform đã được lập trình nhưng không thể hoạt động trên thực tế? Văn bản khóa luận ghi rõ tại thời điểm thực hiện đề tài (năm 2021), dịch vụ Google Map Platform bị giới hạn/cấm hoạt động tại một số quốc gia, trong đó có Việt Nam, dẫn đến việc các yêu cầu gọi API từ hệ thống không thể thực thi bình thường.

  4. Chu trình khám bệnh ngoại trú trong hệ thống bao gồm những bước chính nào? Chu trình nghiệp vụ gồm 4 bước nối tiếp nhau: (1) Đặt lịch hẹn khám bệnh theo khung giờ; (2) Nhân viên phòng khám tiếp nhận bệnh nhân tại quầy; (3) Bác sĩ thực hiện khám bệnh, chẩn đoán bệnh lý và kê toa thuốc; (4) Nhân viên phòng khám tổng hợp dịch vụ, toa thuốc để tính thành tiền và thu viện phí.

  5. Nhóm tác giả đã tiến hành khảo sát các ứng dụng thực tế nào và tham vấn nghiệp vụ y tế từ chuyên gia nào? Nhóm tác giả đã khảo sát 3 ứng dụng quản lý phòng khám thương mại đang có trên thị trường gồm STD Clinic, EZ Clinic và YouMed; đồng thời nhận sự hỗ trợ chuyên môn trực tiếp từ Bác sĩ Chế Thanh Đoan để khảo sát và chuẩn hóa các yêu cầu nghiệp vụ khám chữa bệnh.

Kết luận

Khóa luận tốt nghiệp của sinh viên Nguyễn Thành Danh và Trương Minh Sang đã giải quyết thành công bài toán ứng dụng kiến trúc Multi-tenancy vào việc xây dựng hệ thống phần mềm quản lý phòng khám theo mô hình dịch vụ SaaS phân tán. Đề tài kết hợp chặt chẽ giữa nền tảng backend ASP.NET Core (ABP framework), giao diện quản lý web Angular và ứng dụng di động React Native cho bệnh nhân, bao quát trọn vẹn chu trình khám ngoại trú và quản lý kho dược. Mặc dù còn hạn chế về tính năng bản đồ và tích hợp thanh toán trực tuyến, công trình có giá trị học thuật và thực tiễn cao, cung cấp tài liệu tham khảo chi tiết về thiết kế kiến trúc phần mềm hướng dịch vụ cho ngành y tế.