Xây dựng hệ thống quản lý khám chữa bệnh và đặt lịch khám từ xa thông minh cho bệnh viện/phòng khám

MỤC LỤC

KHẢO SÁT VÀ XÁC ĐỊNH YÊU CẦU 1.1. Đặt vấn đề

Ý nghĩa khoa học và thực tiễn

Trong phạm vi đồ án, đối tượng mà đồ án khảo sát và nghiên cứu xây dựng đề tài “Xây dựng hệ thống quản lý khám chữa bệnh và đăng ký khám bệnh từ xa cho bệnh viện/phòng khám” là các trung tâm y tế, phòng khám bệnh tư nhân. Đồ án sẽ tập trung khảo sát quy trình nghiệp vụ quản lý khám bệnh và quy trình đăng ký khám từ xa của khoa khám bệnh, và từ đó xây dựng module tính năng phù hợp. Hệ thống sẽ tập trung vào các tính năng đặt lịch hẹn, quản lý lịch hẹn, quản lý khám chữa bệnh và quản lý các hồ sơ liên quan.

Hiệu quả cải thiện chung: Hiệu quả chung của toàn bộ tổ chức phòng khám được cải thiện nhờ việc thực hiện trên hệ thống quản lý thông mình.

Xác định yêu cầu hệ thống

    Bác sĩ trưởng khoa là người chịu trách nhiệm tổ chức thực hiện các nghiệp vụ chuyên môn của khoa, bố trí nhân lực trong khoa cho phù hợp với công việc. Điều dưỡng trưởng khoa là người quản lý, tổ chức, kiểm tra, đôn đốc điều dưỡng thực hiện các y lệnh của bác sĩ, lập kế hoạch phân công công việc cho các điều dưỡng. Làm công tác tiếp nhận người bệnh đến khám và hướng dẫn chăm sóc sức khỏe ban đầu như: Phát số thứ tự cho bệnh nhân, làm các thủ tục cần thiết cho bệnh nhân đi khám bệnh.

    ● Bệnh nhân muốn đổi lịch hẹn/ Lịch hẹn đã quá số lượng bệnh nhân đăng ký -> Điều dưỡng tư vấn tư vấn bệnh nhân đổi sang lịch hẹn khác: Chuyển đến bước 4.2. Điều dưỡng xác nhận thông tin tiếp nhận trên hệ thống.Hệ thống tự động cập nhật trạng thái và chuyển thông tin bệnh nhân vào danh sách chờ khám của các phòng khám tương ứng. Khi đó, cuộc hẹn của bệnh nhân đến trễ sẽ được đẩy xuống cuối hàng đợi, hoặc nếu giữa hàng đợi cho 1 chỗ trống (tức là có bệnh nhân khác đến muộn/ không đến hoặc thời gian đó không có lịch hẹn) thì bệnh nhân đó có thể chen ngang vào hàng đợi.

    ○ Khi bác sĩ đến muộn hoặc không có mặt trong cuộc hẹn thì quy trình được kiểm soát thủ công, có thể chuyển cho bác sĩ khác thực hiện cuộc hẹn hoặc bác sĩ đó phải hẹn sắp xếp lịch hẹn với bệnh nhân vào 1 thời gian khác.

    Hình 1.2: Quy trình Đặt lịch hẹn Mô tả quy trình
    Hình 1.2: Quy trình Đặt lịch hẹn Mô tả quy trình

    PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG Trong chương này, đồ án thực hiện phân tích và thiết kế hệ thống hướng đối

    Yêu cầu và tính năng hệ thống Đặt lịch hẹn và quản lý lịch hẹn

      Mỗi bác sĩ, điều dưỡng đều được cung cấp một tài khoản để quy trách nhiệm trong quá trình làm việc của mình. Bệnh nhân thanh toán chi phí khám chữa bệnh trước khi khám và thanh toán chi phí xét nghiệm CLS (nếu có) trước khi xét nghiệm. - Quản lý bệnh nhân: Người quản trị có quyền tìm kiếm bệnh nhân, xóa, sưa khi cần thiết.

      + Cho phép tạo mới, chỉnh sửa, xóa lịch làm việc + Cho phép xem thông tin bệnh nhân. + Cho phép phê duyệt, chỉnh sửa, xóa lịch hẹn + Cho phép tạo mới, chỉnh sửa, xóa lịch làm việc. + Cho phép phân quyền cho các user của bác sĩ, điều dưỡng + Cho phép chỉnh sửa, xóa, khóa tài khoản người dùng + Cho phép xem, sửa , xóa thông tin hồ sơ của bệnh nhân Cho phép thêm mới, chỉnh sửa, xóa thông tin thuốc.

      - Giao diện thõn thiện, dễ sử dụng: Giao diện ngắn gọn, rừ ràng, cỏc tớnh năng được bố trí hợp lý và dễ tìm kiếm. - Bảo mật, bảo vệ thông tin cá nhân: Mã hóa dữ liệu, hệ thống xác thực tài khoản vững chắc. + Truy cập website xem thông tin khám và đặt lịch khám + Quản lý lịch hẹn của mình.

      + Sắp xếp lịch hẹn và quản lý lịch hẹn của khoa khám bệnh Module 2: Quản lý đăng ký khám bệnh. Biểu đồ phân cấp chức năng được sử dụng để nêu ra các chức năng và quá trình cho biểu đồ luồng dữ liệu, thông qua nó mô tả các chức năng xử lý của hệ thống theo dạng mức. Việc phân rã chức năng được thực hiện trong biểu đồ phân cấp chức năng còn được dùng để chỉ ra mức độ mà từng quá trình hoặc quá trình còn phải xuất hiện.

      Ở mức này, sơ đồ ngữ cảnh chỉ có một tiến trình duy nhất, các tác nhân và các luồng dữ liệu. Quy trình phân rã sẽ dừng khi đạt được sơ đồ luồng dữ liệu sơ cấp (khi một tiến trình là một tính toán hay thao tác dữ liệu, khi mỗi luồng dữ liệu không cần chia nhỏ hơn nữa).

      Hình 2.1: Sơ đồ phân cấp chức năng đối với bệnh nhân
      Hình 2.1: Sơ đồ phân cấp chức năng đối với bệnh nhân

      Biểu đồ use case và kịch bản chuẩn 1. Biểu đồ usecase tổng quan

      - UC “Đăng ký khám bệnh”: Cho phép Bệnh nhân đăng ký tài khoản trên hệ thống - UC “Đặt lịch hẹn khám”: cho phép Bệnh nhân đặt lịch hẹn khám trực tuyến. Usecase Đăng nhập, Đăng xuất Actor Người dùng hệ thống Tiền điều kiện Người dùng vào hệ thống. Người dùng Click Button Đăng xuất Hệ thống quay trở về giao diện Đăng nhập Ngoại lệ 4.

      Hệ thống kiểm tra dữ liệu truyền vào, tạo mới dữ liệu trong hệ thống và trả về thông báo tạo mới thành công. Hệ thống kiểm tra dữ liệu, thêm mới dữ liệu vào hệ thống và trả về thông báo thêm mới thành công. Hệ thống kiểm tra dữ liệu, thêm mới dữ liệu vào hệ thống và trả về thông báo thêm mới thành công.

      Hệ thống kiểm tra dữ liệu, thêm mới dữ liệu vào hệ thống và trả về thông báo thêm mới thành công. Usecase và kịch bản module Lễ tân Quán lý hóa đơn thanh toán khám bệnh. - Label: Thông tin bệnh nhân - Table: Danh sách chỉ định CLS - Table: Danh sách đơn thuốc.

      Usecase và kịch bản module Bác sĩ Quản lý thông tin khám chữa bệnh cho bệnh nhân. Hệ thống Lưu thông tin khám bệnh và thông báo thành công Ngoại lệ None. Hệ thống hiển thị giao diện Tạo đơn thuốc cho ca khám gồm - Label: Thông tin bệnh nhân.

      Bệnh nhân đăng nhập vào hệ thống và chọn chức năng Đăng ký khám bệnh. Bệnh nhân đăng nhập vào hệ thống và chọn chức năng Lịch sử khám bệnh. - Label: Thông tin khám bệnh - Table: Danh sách chỉ định CLS - Table: Danh sách đơn thuốc 5.

      Hệ thống chuyển hướng sang giao diện danh sách ca khám trong quá khứ của bệnh nhân.

      Hình 2.15: Biểu usecase module Lễ tân Quản lý lịch hẹn
      Hình 2.15: Biểu usecase module Lễ tân Quản lý lịch hẹn

      Biểu đồ tuần tự

      - Thông tin ca khám => Đề xuất lớp MedicalRecordInformation: id, bloodPressure, bodyTemperature, heartBeat, height, weight, diagnose, detail, solution, patient. - Quan hệ giữa Prescription – Medicine: Một đơn thuốc có thể có nhiều loại thuốc và một loại thuốc có thể có trong nhiều đơn thuốc => Quan hệ giữa Prescription – Medicine là n-n. - Quan hệ giữa MedicalTest – Service: Một đơn chỉ định có thể có nhiều dịch vụ và một dịch vụ có thể có trong nhiều đơn chỉ định => Quan hệ giữa MedicalTest – Service là n-n.

      Biểu đồ tuần tự module Lễ tân Quán lý hóa đơn thanh toán khám bệnh. Biểu đồ tuần tự module Bác sĩ Chẩn đoán, kê đơn thuốc và chỉ định cho bệnh nhân.

      Hình 2.25: Biểu đồ tuần tự module Quản lý tài khoản hệ thống
      Hình 2.25: Biểu đồ tuần tự module Quản lý tài khoản hệ thống

      TRIỂN KHAI HỆ THỐNG

      Kiến trúc hệ thống

      Phần Frontend tương tác với Backend thông qua các API được thiết kế bởi Spring Boot. Các yêu cầu từ người dùng sẽ được gửi từ Frontend thông qua các API này, sau đó Backend xử lý logic, truy xuất hoặc cập nhật dữ liệu từ cơ sở dữ liệu MySQL và trả kết quả về cho Frontend để hiển thị cho người dùng. Hệ thống được thiết kế để có tính mở rộng và linh hoạt, cho phép mở rộng các tính năng, thay đổi và cải thiện hiệu suất một cách dễ dàng trong tương lai.

      Cài đặt môi trường

        - Cài đặt môi trường cho server và setting các thuộc tính cấu hình các dịch vụ của server. - Tạo các thực thể tương ứng với các bảng đã thiết kế trong cơ sở dữ liệu và khởi tạo các interface kế thừa Jpa Repository ứng với từng bảng để thực hiện các thao tác truy vấn cơ sở dữ liệu. - Tạo các rest controller triển khai web API, định nghĩa Controller Advice, các exception để lọc và bắt các ngoại lệ xảy ra khi xử lý logic.

        - Tạo các Data tranfer object để nhận các object request từ gói tin HTTP request và phản hồi lại sử dụng các object response. - Sau khi triển khai các API và thực hiện xử lý logic, Springfox sẽ tạo ra một giao diện Swagger để kiểm tra các API đã định nghĩa. - Truy cập website https://code.visualstudio.com/ cài đặt visual studio code - Khởi tạo project angular app mới và tạo các thư mục cần thiết và dựng base.

        - Tạo các object common, components common và các object request, response để sử dụng chung trong project. - Tạo các Service và object Dto, request, response thực hiện gọi các web API và xử lý dữ liệu từ phía server backend. Sau khi thục hiện xử lý dữ liệu, cài đặt hệ thống và triển khai các server backend và forontend.

        Hệ thống sẽ có thể sử dụng thông qua giao diện website của server frontend.

        Hình 3.2: Các thư mục thiết kế cho base project BE - Spring boot
        Hình 3.2: Các thư mục thiết kế cho base project BE - Spring boot