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

Trong xu thế phát triển của khoa học và kỹ thuật, công nghệ thông tin đóng vai trò là ngành mũi nhọn, thúc đẩy hiện đại hóa các lĩnh vực kinh tế - xã hội, trong đó có y tế. Tại các cơ sở y tế truyền thống, quy trình tiếp đón và xếp hàng chờ khám bệnh thường xuyên xảy ra tình trạng quá tải, gia tăng thời gian chờ đợi của bệnh nhân và tạo áp lực vận hành lên nhân viên y tế. Đề tài khóa luận tốt nghiệp "Xây dựng phần mềm đặt lịch khám bệnh tại cơ sở y tế" do sinh viên Nguyễn Tiến Dũng và Ngô Công Huân thực hiện (ngành Công nghệ Thông tin, chuyên ngành Công nghệ phần mềm, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh, dưới sự hướng dẫn của PGS. TS Hoàng Văn Dũng) tập trung giải quyết bài toán số hóa quy trình đặt hẹn, tối ưu hóa sự kết nối giữa người bệnh và cơ sở y tế.

Về tính cấp thiết, việc xây dựng hệ thống đặt lịch khám trực tuyến giải quyết các vấn đề thực tiễn:

  • Giảm thiểu thời gian chờ đợi tại phòng khám thông qua việc chủ động lựa chọn lịch hẹn mọi lúc, mọi nơi.
  • Hạn chế xung đột lịch khám và tối ưu hóa việc phân bổ tài nguyên cơ sở vật chất (phòng khám, trang thiết bị, nhân sự y bác sĩ).
  • Thiết lập cơ sở dữ liệu lưu trữ bệnh sử và hồ sơ bệnh án phục vụ theo dõi điều trị lâu dài.
  • Tự động hóa hệ thống thông báo, nhắc nhở lịch hẹn và tích hợp cổng thanh toán trực tuyến nhằm giảm tải thủ tục hành chính.
  • Tăng tính minh bạch trong việc tra cứu trình độ y bác sĩ và tiếp nhận đánh giá khách quan từ người bệnh.

Về ý nghĩa khoa học và thực tiễn, hệ thống cung cấp nguồn dữ liệu thực nghiệm về hành vi đặt hẹn, thời gian chờ đợi và xu hướng bệnh lý, hỗ trợ thống kê y tế và phục vụ công tác nghiên cứu quản lý bệnh viện. Về mặt thực tiễn, phần mềm chuẩn hóa quy trình tiếp đón, nâng cao chất lượng dịch vụ y tế.

Đề cương khóa luận xác định 5 nhiệm vụ nghiên cứu cụ thể:

  1. Tìm hiểu các yêu cầu chức năng cho phần mềm đặt lịch khám bệnh tại cơ sở y tế.
  2. Tìm hiểu về các công nghệ sử dụng để xây dựng sản phẩm.
  3. Thiết kế và xây dựng giao diện người dùng trên hai nền tảng Android và Website.
  4. Triển khai các chức năng của phần mềm.
  5. Kiểm thử và tối ưu hoá hiệu suất của phần mềm.

Kế thừa kết quả từ đề tài Tiểu luận chuyên ngành, mục tiêu mở rộng của đồ án tốt nghiệp gồm: phát triển phiên bản Website cho người dùng và bác sĩ tương đương bản di động; bổ sung chức năng tư vấn sức khỏe từ xa qua gọi điện và nhắn tin; xây dựng mô-đun quản lý thuốc cho bệnh viện; hoàn thiện tính năng hồ sơ bệnh nhân giúp đặt lịch cho người thân; tái cấu trúc phân quyền giữa bệnh viện và quản trị viên; cải thiện giao diện và hiệu năng.

  • Đối tượng nghiên cứu: Quy trình đăng ký và quản lý khám chữa bệnh tại các bệnh viện, phòng khám; nhu cầu tương tác của bệnh nhân; các công nghệ phần mềm chuyên dụng (RESTful API, NodeJS, ExpressJS, ReactJS, Java Android, MongoDB, Cloudinary, Firebase).
  • Phạm vi nghiên cứu: Các nghiệp vụ đặt lịch, quản lý lịch khám, tra cứu thông tin cơ sở y tế, bác sĩ, hồ sơ bệnh nhân, quản lý thuốc và đánh giá dịch vụ.
  • Thời gian thực hiện: Từ ngày 20/02/2024 đến ngày 10/07/2024.

Cơ sở lý thuyết và công nghệ áp dụng

Đề tài sử dụng phương pháp phân tích yêu cầu kỹ thuật phần mềm, khảo sát thực tế và đối chuẩn (benchmarking) với các ứng dụng y tế đang vận hành tại Việt Nam, kết hợp phương pháp mô hình hóa hệ thống bằng ngôn ngữ UML.

Nền tảng / Công nghệ Vai trò kỹ thuật trong hệ thống Đặc tính công nghệ theo báo cáo
ReactJS Xây dựng giao diện Website Thư viện giao diện người dùng, sử dụng DOM ảo (Virtual DOM) để tối ưu hóa việc re-render, luồng dữ liệu một chiều (one-way data binding), cú pháp JSX biên dịch trước phát hiện lỗi sớm, kiến trúc component độc lập phân tách State và Props.
Android SDK & Java Phát triển ứng dụng di động Bộ công cụ phát triển ứng dụng di động chính thức từ Google, sử dụng ngôn ngữ Java cùng các công cụ gỡ lỗi và quản trị như ADB, DDMS, AVD Manager, SDK Manager.
NodeJS & ExpressJS Xây dựng hệ thống Backend API NodeJS hoạt động trên nền tảng V8 JavaScript Engine với mô hình đơn luồng (Single-Threaded), cơ chế non-blocking I/O hướng sự kiện (event-driven), hỗ trợ xử lý hàng chục ngàn kết nối đồng thời mà không sử dụng đệm (buffer). ExpressJS đóng vai trò framework định nghĩa routing và hệ thống middleware xử lý HTTP request/response.
MongoDB Hệ quản trị cơ sở dữ liệu chính CSDL phi quan hệ hướng tài liệu (document-based NoSQL), lưu trữ dữ liệu dạng JSON tự do cấu trúc trong các collection. Tự động đánh chỉ mục trường _id, loại bỏ toán tử join phức tạp. Báo cáo ghi nhận thử nghiệm cho thấy tốc độ thêm dữ liệu của MongoDB có thể nhanh gấp 100 lần MySQL đối với tập dữ liệu lớn. Tác giả cũng chỉ rõ nhược điểm tốn dung lượng lưu trữ do lặp lại các trường key-value và độ trễ ghi dữ liệu từ RAM xuống đĩa (chu kỳ 60 giây).
Firebase Services Hỗ trợ xác thực và tiện ích đám mây Sử dụng Firebase Authentication (xác thực qua email/mật khẩu, số điện thoại), Cloud Firestore (CSDL thời gian thực), Firebase Cloud Messaging (thông báo), Firebase Cloud Storage (lưu trữ tệp), Analytics và Crashlytics.
Cloudinary & ZaloPay Lưu trữ tệp media và thanh toán Dịch vụ đám mây Cloudinary dùng lưu trữ hình ảnh triệu chứng và ảnh đại diện cơ sở y tế; cổng thanh toán ZaloPay hỗ trợ thanh toán trực tuyến tiền khám.

Để xác định cấu trúc chức năng, nhóm tác giả tiến hành khảo sát hiện trạng 3 nền tảng y tế gồm YouMed, Medpro và BookingCare:

  • YouMed: Ưu điểm giao diện thân thiện, hỗ trợ đặt khám, tư vấn từ xa; nhược điểm còn lỗi và diện tích quảng cáo lớn trên màn hình chính.
  • Medpro: Ưu điểm đa dạng dịch vụ (khám bệnh, xét nghiệm, tiêm chủng, hồ sơ bệnh nhân cho người thân); nhược điểm gặp lỗi mất dữ liệu đã chọn khi người dùng quay lại bước trước trong quá trình đặt lịch.
  • BookingCare: Ưu điểm phát triển mạnh mảng khám chuyên khoa và sức khỏe tinh thần; nhược điểm thao tác chuyển đổi giữa các fragments trên thiết bị di động đời cũ chưa tối ưu.

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

Hệ thống được thiết kế theo kiến trúc Client - Server tập trung, giao tiếp thông qua giao thức RESTful API. Phía Client bao gồm ứng dụng di động Android (ngôn ngữ Java) và cổng thông tin điện tử Website (ReactJS). Phía Server tiếp nhận và xử lý yêu cầu nghiệp vụ thông qua runtime NodeJS và framework ExpressJS, kết nối CSDL MongoDB cùng các dịch vụ lưu trữ đám mây.

Báo cáo phân định quyền hạn và chức năng của 4 nhóm tác nhân tham gia hệ thống:

Nhóm tác nhân Quyền hạn và phạm vi chức năng trên hệ thống
Khách / Bệnh nhân (Patient) Tra cứu cơ sở y tế, bác sĩ, lịch khám không cần đăng nhập. Khi đăng nhập: tạo và quản lý hồ sơ bệnh nhân cá nhân và người thân; đặt lịch khám qua các bước chọn ngày, giờ, đính kèm ảnh triệu chứng; thanh toán phí qua ZaloPay hoặc tại bệnh viện; quản lý và hủy lịch hẹn; nhận cuộc gọi và nhắn tin tư vấn từ xa; gửi đánh giá nhận xét cơ sở y tế và bác sĩ.
Bác sĩ (Doctor) Đăng nhập hệ thống; tra cứu lịch làm việc của bản thân; duyệt hoặc từ chối các lịch hẹn của bệnh nhân; thực hiện cuộc gọi và nhắn tin tư vấn sức khỏe từ xa; tra cứu hồ sơ bệnh án của bệnh nhân đăng ký khám.
Cơ sở y tế / Bệnh viện (Host) Quản lý thông tin hồ sơ bệnh viện; quản lý danh sách chuyên khoa, phân bổ bác sĩ trực thuộc; thiết lập và quản lý ca khám, lịch làm việc của bác sĩ; kiểm duyệt đặt lịch; quản lý danh mục và thông tin thuốc của bệnh viện; theo dõi hồ sơ bệnh nhân từng khám tại viện.
Quản trị viên (Admin) Toàn quyền kiểm soát hệ thống: quản lý tài khoản người dùng (thêm, sửa, xóa, khóa); quản lý danh mục hệ thống; quản lý toàn bộ cơ sở y tế, chuyên khoa, bác sĩ và lịch khám trên toàn nền tảng.

Hệ thống được mô hình hóa chi tiết với 23 ca sử dụng (Use case). Tiêu biểu là ca sử dụng Đặt lịch khám gồm 18 bước trong luồng sự kiện chính (Main flow): từ việc chọn cơ sở y tế, chọn chuyên khoa, chọn bác sĩ, chọn ngày/giờ khám, nhập xác nhận thông tin, đến lựa chọn phương thức thanh toán. Hệ thống xử lý 3 luồng rẽ nhánh (Alternate flow) gồm: cảnh báo bác sĩ hết lịch khám; xử lý xác nhận thanh toán trực tiếp tại bệnh viện; tích hợp chuyển hướng thanh toán tự động qua ứng dụng ZaloPay.

Thiết kế cơ sở dữ liệu trên MongoDB được tổ chức thành các collection phi quan hệ chuyên biệt, trong đó có collection Patient Profile lưu trữ hồ sơ y tế bệnh nhân phục vụ đặt lịch hộ người thân, cùng các collection quản lý người dùng, cơ sở y tế, bác sĩ, chuyên khoa, lịch khám, thuốc và đánh giá. Về giao diện, đồ án thiết kế hơn 25 màn hình chức năng trực quan trên cả Web và Android: màn hình trang chủ, đăng ký/đăng nhập, hộp thoại lọc khoảng ngày, màn hình chọn giờ khám, màn hình xác nhận thanh toán, màn hình quản lý thuốc và duyệt lịch khám.

Về kiểm thử, theo kế hoạch thực hiện từ ngày 21/06/2024 đến 30/06/2024, nhóm tác giả tiến hành kiểm thử các luồng hoạt động chính, luồng ngoại lệ và tiến hành tối ưu hóa hiệu năng xử lý của phần mềm trên cả hai môi trường Website và Android.


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

Phần Mở đầu

Trình bày cơ sở lý luận, tính cấp thiết của việc ứng dụng công nghệ thông tin trong y tế, ý nghĩa khoa học và thực tiễn của đề tài. Xác định mục tiêu nghiên cứu, 5 nhiệm vụ trọng tâm của đồ án tốt nghiệp, phạm vi nghiên cứu các nghiệp vụ y tế và đối tượng thụ hưởng của hệ thống.

Chương 1: Cơ sở của đề tài

Hệ thống hóa nền tảng lý thuyết và công nghệ xây dựng phần mềm, phân tích sâu các ưu - nhược điểm kỹ thuật của ReactJS (DOM ảo, JSX, Component), NodeJS (Single-Threaded, non-blocking I/O), ExpressJS, MongoDB (CSDL NoSQL hướng tài liệu, tốc độ ghi vượt trội so với MySQL nhưng tốn dung lượng lưu trữ), Android SDK và hệ sinh thái Firebase. Thực hiện khảo sát hiện trạng, phân tích giao diện, tính năng, điểm mạnh và hạn chế của 3 hệ thống thực tế: YouMed, Medpro và BookingCare để làm cơ sở xây dựng yêu cầu phần mềm.

Chương 2: Mô hình hoá yêu cầu

Xác định danh mục yêu cầu chức năng cho 4 tác nhân (Bệnh nhân, Bác sĩ, Bệnh viện, Quản trị viên) và các yêu cầu phi chức năng (tính bảo mật, giao diện trực quan, độ ổn định và tốc độ xử lý). Thiết lập sơ đồ kiến trúc hệ thống và xây dựng lược đồ Use Case tổng quát. Cung cấp 23 bảng đặc tả ca sử dụng chi tiết (từ Bảng 1 đến Bảng 23) bao gồm tóm tắt, tác nhân, tiền điều kiện, hậu điều kiện, luồng sự kiện chính và các luồng rẽ nhánh, ngoại lệ cho các nghiệp vụ: Đăng ký, Đăng nhập, Đăng xuất, Quên mật khẩu, Tra cứu lịch khám, Đặt lịch khám, Tra cứu/Đánh giá cơ sở y tế, Tra cứu/Đánh giá bác sĩ, Chỉnh sửa thông tin, Quản lý lịch khám cá nhân, Hủy lịch khám, Quản lý người dùng, Quản lý bác sĩ, Quản lý chuyên khoa, Quản lý cơ sở y tế, Quản lý lịch khám, Quản lý đặt lịch, Quản lý thuốc, Đổi mật khẩu, Quản lý bệnh nhân, Quản lý danh mục.

Chương 3: Thiết kế phần mềm

Hiện thực hóa các yêu cầu thông qua hệ thống lược đồ UML hoàn chỉnh:

  • Xây dựng 23 lược đồ tuần tự (Sequence Diagram) mô tả chi tiết thông điệp trao đổi giữa các lớp đối tượng cho từng ca sử dụng.
  • Xây dựng 23 lược đồ hoạt động (Activity Diagram) thể hiện luồng xử lý logic nghiệp vụ và điều kiện rẽ nhánh.
  • Thiết kế mô hình cơ sở dữ liệu phi quan hệ MongoDB, chi tiết hóa cấu trúc lưu trữ của các collection (như Collection Patient Profile).
  • Thiết kế hệ thống giao diện người dùng trên hai nền tảng Android và Website, thể hiện đầy đủ các màn hình thao tác của bệnh nhân và các bảng điều khiển quản trị của bệnh viện, admin.

Chương 4: Cài đặt và kiểm thử

Mô tả quá trình cài đặt phần mềm trên môi trường thực tế dựa trên tech stack đã chọn. Thực hiện kiểm tra tính đúng đắn của các chức năng phần mềm trên cả Website và ứng dụng di động Android; kiểm thử các luồng nghiệp vụ cốt lõi (đăng ký, đặt lịch, thanh toán, hủy lịch); tiến hành các giải pháp tối ưu hóa hiệu suất ứng dụng.

Phần Kết luận

Đánh giá mức độ hoàn thành nhiệm vụ nghiên cứu của đồ án, tổng kết các kết quả đạt được về mặt tính năng ứng dụng trên hai nền tảng, chỉ rõ các nhược điểm kỹ thuật còn tồn đọng và đề xuất các định hướng phát triển phần mềm trong tương lai.


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

Về kết quả kỹ thuật, đề tài đã hoàn thành việc xây dựng và triển khai hệ thống phần mềm đặt lịch khám bệnh đồng bộ trên hai nền tảng Website và di động Android theo đúng kế hoạch đề ra:

  • Hiện thực hóa đầy đủ 23 ca sử dụng nghiệp vụ y tế, vận hành ổn định từ khâu tìm kiếm thông tin không cần đăng nhập đến quy trình đặt hẹn 18 bước.
  • Tích hợp thành công phương thức thanh toán trực tuyến qua ZaloPay song song với hình thức thanh toán tại bệnh viện.
  • Hoàn thiện các tính năng mở rộng so với giai đoạn Tiểu luận chuyên ngành: bổ sung cổng giao diện Web cho bệnh nhân và bác sĩ; phát triển tính năng tư vấn sức khỏe từ xa (gọi thoại và nhắn tin); mô-đun quản lý danh mục thuốc cho bệnh viện; tính năng tạo nhiều hồ sơ bệnh nhân hỗ trợ đặt lịch cho người thân; tinh chỉnh phân quyền quản trị độc lập giữa Admin và Host.

Về đóng góp khoa học và thực tiễn, đồ án cung cấp một tài liệu phân tích thiết kế phần mềm chi tiết về chuyển đổi số quy trình tiếp đón y tế. Kết quả của khóa luận chứng minh tính khả thi của việc ứng dụng kiến trúc kết hợp ReactJS, NodeJS RESTful API, MongoDB và Android SDK trong việc giải quyết bài toán giảm tải thời gian chờ đợi tại các cơ sở y tế. Đồng thời, cấu trúc dữ liệu được thiết kế mở ra khả năng thu thập và xử lý thông tin y tế phục vụ công tác thống kê, theo dõi bệnh án và quản trị nguồn lực bệnh viện.


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

Báo cáo khóa luận nêu rõ một số nhược điểm và hạn chế tồn tại do thời gian thực hiện đề tài ngắn (khoảng 5 tháng từ 20/02/2024 đến 10/07/2024), kinh nghiệm thực tiễn và kỹ thuật của nhóm sinh viên trong việc triển khai dự án phần mềm y tế còn hạn chế:

  • Hệ thống vẫn còn phát sinh một số lỗi kỹ thuật nhỏ trong quá trình tương tác ứng dụng.
  • Cơ chế lưu trữ của MongoDB có đặc tính ghi dữ liệu từ RAM xuống ổ cứng theo chu kỳ 60 giây, tiềm ẩn rủi ro sai lệch hoặc mất mát dữ liệu nếu xảy ra sự cố phần cứng hoặc ngắt nguồn điện đột ngột.
  • Trải nghiệm giao diện và thao tác chuyển đổi phân đoạn trên các dòng thiết bị di động cấu hình cũ cần tiếp tục được tối ưu.

Hướng phát triển tiếp theo được nhóm tác giả xác định:

  • Khắc phục triệt để các lỗi kỹ thuật phát sinh trên phiên bản Android và Website.
  • Tối ưu hóa hiệu năng xử lý của các truy vấn CSDL và tăng tốc độ tải trang của hệ thống giao diện.
  • Nâng cấp và mở rộng thêm các nghiệp vụ y tế chuyên sâu, đáp ứng linh hoạt các quy trình vận hành phức tạp tại các bệnh viện quy mô lớn.

Giá trị tham khảo

Báo cáo khóa luận tốt nghiệp là tài liệu tham khảo chuyên môn phù hợp cho sinh viên ngành Công nghệ thông tin, Công nghệ phần mềm, Kỹ thuật phần mềm và Hệ thống thông tin đang thực hiện đồ án tốt nghiệp hoặc xây dựng các giải pháp ứng dụng y tế số (HealthTech).

Các phần nội dung có giá trị tham khảo cao gồm:

  • Tài liệu đặc tả yêu cầu nghiệp vụ: Bộ 23 bảng đặc tả use case chuẩn mực với đầy đủ luồng chính, luồng phụ và luồng ngoại lệ cho hệ thống đặt lịch khám bệnh.
  • Hệ thống thiết kế kiến trúc phần mềm: Tài liệu thiết kế trực quan với 23 lược đồ tuần tự (Sequence Diagram) và 23 lược đồ hoạt động (Activity Diagram), phản ánh logic xử lý giữa Client, Server và CSDL.
  • Mô hình hóa dữ liệu NoSQL: Cách tổ chức collection phi quan hệ trong MongoDB cho bài toán quản lý hồ sơ y tế, lịch khám và danh mục thuốc.
  • Quy trình phân tích đối chuẩn: Phương pháp khảo sát, phân tích ưu - nhược điểm từ các sản phẩm thực tế trên thị trường (YouMed, Medpro, BookingCare) để định hình tính năng phần mềm.

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

1. Khóa luận giải quyết quy trình đặt lịch khám bệnh qua bao nhiêu bước và hỗ trợ những hình thức thanh toán nào?
Theo bảng đặc tả ca sử dụng, quy trình đặt lịch khám bệnh của người dùng gồm 18 bước thao tác tuần tự: từ việc chọn cơ sở y tế, chọn chuyên khoa, chọn bác sĩ, chọn ngày/giờ khám, xác nhận thông tin, đến bước thanh toán. Hệ thống hỗ trợ 2 phương thức thanh toán: thanh toán trực tiếp tại bệnh viện và thanh toán trực tuyến qua cổng điện tử ZaloPay.

2. Điểm mở rộng nổi bật của khóa luận tốt nghiệp so với sản phẩm Tiểu luận chuyên ngành trước đó là gì?
Nhóm tác giả đã mở rộng 6 nội dung trọng tâm: (1) Đưa các tính năng phía người dùng và bác sĩ từ Android lên nền tảng Website; (2) Xây dựng tính năng tư vấn sức khỏe từ xa qua gọi điện và nhắn tin; (3) Bổ sung mô-đun quản lý thuốc cho bệnh viện; (4) Triển khai tính năng hồ sơ bệnh nhân giúp đặt lịch cho người thân; (5) Tái cơ cấu phân quyền giữa bệnh viện (Host) và quản trị viên (Admin); (6) Tối ưu hóa giao diện và hiệu năng phần mềm.

3. Cơ chế phân quyền trong hệ thống phần mềm được thiết lập như thế nào giữa các nhóm tác nhân?
Hệ thống phân định 4 nhóm vai trò: Bệnh nhân (tra cứu, tạo hồ sơ cá nhân/người thân, đặt lịch, thanh toán, đánh giá, tư vấn từ xa); Bác sĩ (xem lịch làm việc cá nhân, duyệt lịch khám, tư vấn từ xa qua tin nhắn/cuộc gọi); Bệnh viện/Host (quản lý thông tin viện, bác sĩ, chuyên khoa, lịch khám, đặt lịch, danh mục thuốc và hồ sơ bệnh nhân thuộc cơ sở); Quản trị viên/Admin (toàn quyền quản trị danh mục, tài khoản người dùng, cơ sở y tế và các thiết lập trên toàn hệ thống).

4. Vì sao nhóm tác giả lựa chọn MongoDB và tài liệu đã chỉ ra nhược điểm gì của hệ quản trị này?
MongoDB được chọn nhờ mô hình hướng tài liệu JSON linh hoạt, không yêu cầu ràng buộc quan hệ join phức tạp, trường _id được tự động đánh chỉ mục, và tốc độ thêm dữ liệu có thể nhanh gấp 100 lần MySQL trong thử nghiệm dữ liệu lớn. Tuy nhiên, văn bản cũng nêu rõ 2 nhược điểm: tốn dung lượng do lưu trữ lặp lại cấu trúc key-value và độ trễ ghi dữ liệu từ RAM xuống ổ đĩa sau 60 giây, gây rủi ro mất dữ liệu nếu xảy ra sự cố nguồn điện.

5. Nhóm tác giả đã rút ra kinh nghiệm gì từ việc khảo sát 3 ứng dụng y tế YouMed, Medpro và BookingCare?
Qua khảo sát, nhóm tác giả học hỏi cách bố trí giao diện và các tính năng thiết yếu như đặt khám, tư vấn từ xa, tạo hồ sơ người thân (từ Medpro), đồng thời ghi nhận các hạn chế cần khắc phục trong sản phẩm của mình: tránh lỗi mất dữ liệu khi quay lại bước trước trong luồng đặt lịch (từng gặp ở Medpro), hạn chế việc lạm dụng banner quảng cáo gây phiền toái (từ YouMed) và tối ưu hóa điều hướng giữa các màn hình để đảm bảo ứng dụng chạy mượt mà trên thiết bị cũ (từ BookingCare).


Kết luận

Khóa luận tốt nghiệp "Xây dựng phần mềm đặt lịch khám bệnh tại cơ sở y tế" của sinh viên Nguyễn Tiến Dũng và Ngô Công Huân đã hoàn thành đầy đủ các mục tiêu thiết kế và cài đặt hệ thống hỗ trợ quản lý y tế trên cả hai nền tảng Android và Website. Nghiên cứu kết hợp hiệu quả giữa lý thuyết công nghệ hiện đại (ReactJS, NodeJS, ExpressJS, MongoDB, Firebase) và khảo sát thực tiễn để giải quyết bài toán giảm tải thời gian chờ khám bệnh. Mặc dù vẫn còn tồn tại một số hạn chế về độ ổn định kỹ thuật do hạn chế thời gian thực hiện, công trình cung cấp tài liệu đặc tả 23 use case chi tiết và giải pháp phần mềm có giá trị tham khảo rõ ràng cho sinh viên và các nhà phát triển trong lĩnh vực công nghệ y tế.