Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh ngành y tế ngày càng phát triển và nhu cầu chăm sóc sức khỏe cộng đồng ngày càng cao, việc quản lý phòng khám trở thành yếu tố then chốt để đảm bảo chất lượng dịch vụ. Phòng khám là điểm đến của hàng triệu bệnh nhân hàng ngày, đòi hỏi quy trình vận hành chuyên nghiệp, từ tiếp nhận bệnh nhân, quản lý hồ sơ bệnh án, kê đơn thuốc cho đến thanh toán và báo cáo tài chính. Thực tế cho thấy, các phòng khám quy mô vừa và nhỏ vẫn còn phụ thuộc nhiều vào quy trình thủ công, dẫn đến sai sót, thất thoát thông tin và giảm chất lượng phục vụ bệnh nhân.
Đồ án môn học "Ứng dụng Web Quản lý Phòng Khám" thuộc môn Phân Tích & Thiết Kế Hệ Thống Thông Tin (mã môn ITE1214), được nhóm 07 lớp A02 Khoa Công nghệ Thông tin – Trường Đại học Kinh tế - Tài chính TP.HCM thực hiện năm 2024, hướng đến xây dựng một hệ thống web tích hợp nhằm số hóa và tự động hóa toàn bộ quy trình quản lý phòng khám.
Mục tiêu đồ án:
- Thu thập, tóm tắt và trình bày các cơ sở dữ liệu qua các tình huống thực hiện trên website quản lý phòng khám.
- Xây dựng các mô hình mô tả bài toán và thể hiện kết quả quá trình phân tích, từ đó dần hoàn thiện website đáp ứng nhu cầu của khách hàng (bệnh nhân và nhân viên phòng khám).
Phạm vi đồ án:
- Thực hiện dựa trên cơ sở lý thuyết môn Phân Tích và Thiết Kế Hệ Thống Thông Tin.
- Bao gồm các góc nhìn kiến trúc: Use Case View, Logical View, Process View, Implementation View, Deployment View và giao diện người dùng.
- Công cụ mô hình hóa sử dụng: StarUML.
- Phạm vi nghiệp vụ: bao quát toàn bộ vòng đời hoạt động của phòng khám, từ đăng ký bệnh nhân, đặt lịch khám, khám bệnh, kê đơn thuốc, quản lý dược, đến thanh toán và báo cáo doanh thu.
- Thời gian thực hiện: năm học 2024.
Cơ sở lý thuyết và phương pháp
Khung phương pháp luận
Đồ án áp dụng phương pháp phân tích và thiết kế hướng đối tượng theo kiến trúc 4+1 View Model (còn gọi là mô hình kiến trúc đa góc nhìn), bao gồm:
| Góc nhìn |
Tên trong văn bản |
Công cụ biểu diễn |
| Use Case View |
Use Case View |
Use Case Diagram |
| Logical View |
Logical View |
Class Diagram, Object Diagram |
| Process View |
Process View |
Sequence Diagram, Collaboration Diagram, State Diagram, Activity Diagram |
| Implementation View |
Implementation View |
Component Diagram |
| Deployment View |
Deployment View |
Deployment Diagram |
Công cụ và kỹ thuật
Toàn bộ quá trình mô hình hóa sử dụng phần mềm StarUML, một công cụ thiết kế UML phổ biến trong giảng dạy kỹ thuật phần mềm. Các loại biểu đồ được xây dựng bao gồm: Use Case Diagram, Class Diagram, Object Diagram, Sequence Diagram (18 kịch bản), Collaboration Diagram (18 kịch bản tương ứng), State Diagram (4 đối tượng: Bệnh nhân, Nhân viên y tế, Lịch hẹn, Hóa đơn), và Activity Diagram (11 luồng hoạt động).
Nguồn dữ liệu
Bài toán được xây dựng từ yêu cầu nghiệp vụ thực tế của một phòng khám cần số hóa, với các đối tượng dữ liệu cốt lõi bao gồm: hồ sơ bệnh nhân, phiếu khám bệnh, toa thuốc, danh mục thuốc, phiếu nhập thuốc, hóa đơn thanh toán và dữ liệu doanh thu theo tuần.
Nội dung chính theo từng chương
Chương 1: Tổng quan về đồ án
Chương này trình bày mục tiêu, phạm vi đề tài và mô tả bài toán nghiệp vụ. Bài toán đặt ra là một phòng khám cần xây dựng ứng dụng web tích hợp để quản lý toàn bộ hoạt động, bao gồm:
- Quản lý bệnh nhân: Mỗi bệnh nhân đăng ký lần đầu cung cấp các thông tin: họ tên, ngày sinh, số điện thoại, địa chỉ, giới tính, tuổi; hệ thống cấp mã số duy nhất để nhận dạng.
- Phiếu khám bệnh: Ghi nhận mã phiếu, mã bệnh nhân, họ tên, ngày khám, cân nặng, chiều cao, huyết áp, nhịp tim, chẩn đoán bệnh.
- Toa thuốc: Một toa bao gồm một hoặc nhiều thuốc; mỗi thuốc ghi rõ số ngày dùng, số lần và liều dùng mỗi ngày.
- Danh mục thuốc: Mỗi thuốc có mã thuốc, tên thuốc, hoạt chất, đường dùng, dạng bào chế, nhóm thuốc.
- Phiếu nhập thuốc: Gồm số phiếu, ngày nhập, danh sách thuốc nhập về (mã thuốc, số lượng, đơn giá, lô thuốc, ngày sản xuất).
- Hóa đơn: Tổng hợp tiền khám và tiền thuốc; có hỗ trợ giảm trừ bảo hiểm y tế.
Chương 2: Use Case View
Chương này mô hình hóa toàn bộ các chức năng hệ thống theo góc nhìn người dùng thông qua Use Case Diagram và Use Case Description chi tiết cho từng ca sử dụng. Hệ thống xác định các tác nhân chính gồm: Bệnh nhân, Bác sĩ, Dược sĩ, Thu ngân, và Quản lý bệnh viện/phòng khám.
Các use case được mô tả đầy đủ bao gồm:
| Mã UC |
Tên Use Case |
Tác nhân |
| UC-1.0 |
Đăng ký |
Bệnh nhân |
| UC-2.0 |
Đăng nhập |
Bệnh nhân |
| UC-3.0 |
Đặt lịch khám |
Bệnh nhân |
| UC-4.0 |
Chuyển khoản |
Bệnh nhân |
| UC-5.0 |
Xem trang cá nhân |
Bệnh nhân, Nhân viên |
| UC-5.1 |
Xem lịch sử khám bệnh |
Bệnh nhân |
| UC-5.2 |
Xem tình trạng sức khỏe |
Bệnh nhân |
| UC-6.0 |
Xem lịch khám bệnh |
Bác sĩ |
| UC-7.0 |
Xem các ca khám từng ngày |
Bác sĩ |
| UC-8.0 |
Xem chi tiết từng ca khám |
Bác sĩ |
| UC-8.1 |
Chẩn đoán bệnh |
Bác sĩ |
| UC-8.2 |
Kê đơn thuốc |
Bác sĩ |
| UC-9.0 |
Quản lý nhân viên |
Quản lý |
| UC-10.0 |
Xem đơn thuốc |
Dược sĩ |
| UC-11.0 |
Ghi nhận nhập thuốc |
Dược sĩ |
| UC-12.0 |
Xem hóa đơn |
Thu ngân |
| UC-13.0 |
Báo cáo doanh thu |
Thu ngân |
Mỗi use case được mô tả với các thành phần: Use Case ID, Use Case Name, Description, Actor(s), Pre-Condition, Flow (basic flow và alternate flow), Post-Condition. Một số use case có quan hệ phụ thuộc, ví dụ UC-7.0 được kích hoạt từ UC-6.0, UC-8.1 là tiền điều kiện của UC-8.2, UC-13.0 liên kết với UC-12.0.
Điểm đáng chú ý: UC-4.0 (Chuyển khoản) cho phép bệnh nhân chọn ngân hàng và hệ thống kiểm tra số dư tài khoản trước khi xác nhận; UC-13.0 (Báo cáo doanh thu) hỗ trợ in phiếu báo cáo trực tiếp từ hệ thống sau khi thu ngân đối chiếu và xác nhận.
Chương 3: Logical View
Chương này trình bày Class Diagram và Object Diagram nhằm mô hình hóa cấu trúc tĩnh của hệ thống. Class Diagram xác định các lớp đối tượng, thuộc tính, phương thức và mối quan hệ giữa các lớp như: BenhNhan, PhieuKham, ToaThuoc, Thuoc, PhieuNhapThuoc, HoaDon, NhanVien, LichKham, CaKham. Object Diagram cụ thể hóa các thể hiện của lớp trong một số kịch bản nghiệp vụ điển hình, giúp kiểm tra tính nhất quán của mô hình lớp.
Chương 4: Process View
Đây là chương có khối lượng tài liệu lớn nhất, bao gồm bốn loại sơ đồ mô tả hành vi động của hệ thống:
Sequence Diagram (18 kịch bản): Mô tả tương tác tuần tự giữa các đối tượng trong từng luồng nghiệp vụ, từ Đăng ký, Đăng nhập, Đặt lịch khám, Chuyển khoản cho đến Kê đơn thuốc, Chẩn đoán bệnh, Ghi nhận nhập thuốc và Lập báo cáo doanh thu.
Collaboration Diagram (18 kịch bản tương ứng): Biểu diễn cùng các tương tác trên theo dạng cộng tác, nhấn mạnh vào mối liên kết giữa các đối tượng hơn là thứ tự thời gian.
State Diagram (4 đối tượng): Mô tả vòng đời trạng thái của: Bệnh nhân, Nhân viên y tế, Lịch hẹn và Hóa đơn — cho phép xác định các trạng thái hợp lệ và điều kiện chuyển đổi của từng đối tượng nghiệp vụ quan trọng.
Activity Diagram (11 luồng): Mô tả luồng hoạt động nghiệp vụ chi tiết cho: Đăng ký, Đăng nhập, Đặt lịch khám, Chuyển khoản, Xem trang cá nhân, Xem lịch sử khám bệnh, Xem tình trạng sức khỏe, Xem lịch khám bệnh, Xem các ca khám từng ngày, Ghi nhận nhập thuốc và Lập báo cáo doanh thu.
Chương 5: Implementation View
Chương này trình bày Component Diagram, mô tả cách hệ thống được tổ chức thành các thành phần phần mềm và mối quan hệ phụ thuộc giữa chúng. Sơ đồ thành phần làm rõ sự phân tầng và giao tiếp giữa các module trong ứng dụng web quản lý phòng khám.
Chương 6: Deployment View
Deployment Diagram mô tả cách triển khai hệ thống lên cơ sở hạ tầng vật lý, xác định các node (máy chủ, thiết bị đầu cuối) và cách các thành phần phần mềm được phân bổ lên từng node tương ứng.
Chương 7: Giao diện
Chương này trình bày 19 màn hình giao diện người dùng (từ Hình 64 đến Hình 82), bao gồm toàn bộ luồng tương tác của các vai trò: bệnh nhân (đăng ký, đăng nhập, đặt lịch chọn khoa, chọn ngày giờ, chuyển khoản, trang cá nhân, tình trạng sức khỏe, lịch sử khám bệnh), bác sĩ (lịch khám bệnh theo tháng, danh sách ca khám trong ngày, chi tiết ca khám, chẩn đoán bệnh, kê đơn thuốc), quản lý (quản lý nhân viên, thông tin bệnh nhân), dược sĩ (xem đơn thuốc, ghi nhận nhập thuốc) và thu ngân (xem hóa đơn, lập báo cáo doanh thu).
Thiết kế và triển khai
Kiến trúc hệ thống
Hệ thống được thiết kế theo kiến trúc ứng dụng web gồm ba lớp chính được thể hiện qua Component Diagram và Deployment Diagram: lớp giao diện người dùng (client/browser), lớp xử lý nghiệp vụ (application server), và lớp dữ liệu (database server). Công cụ mô hình hóa sử dụng xuyên suốt là StarUML.
Phân quyền người dùng
Hệ thống xác định rõ năm vai trò với quyền hạn khác nhau:
- Bệnh nhân: Đăng ký, đăng nhập, đặt lịch khám, thanh toán, xem hồ sơ cá nhân.
- Bác sĩ: Xem lịch khám, quản lý ca khám, chẩn đoán bệnh, kê đơn thuốc.
- Dược sĩ: Xem đơn thuốc, ghi nhận nhập thuốc, quản lý danh mục thuốc.
- Thu ngân: Xem hóa đơn, lập báo cáo doanh thu theo tuần, in phiếu báo cáo.
- Quản lý: Quản lý nhân viên (xem, thêm, sửa thông tin nhân viên), xem thông tin bệnh nhân.
Quy trình thanh toán
Hệ thống hỗ trợ thanh toán bằng chuyển khoản ngân hàng (UC-4.0), trong đó người dùng chọn ngân hàng, nhập số tiền và hệ thống kiểm tra số dư trước khi xác nhận. Hóa đơn được tạo tự động dựa trên phiếu khám và toa thuốc, có xử lý miễn giảm cho bệnh nhân có thẻ bảo hiểm y tế.
Kết quả và đóng góp
Sản phẩm phân tích và thiết kế:
Đồ án hoàn thành bộ tài liệu phân tích thiết kế hệ thống đầy đủ theo mô hình 4+1 View, cụ thể:
- 1 Use Case Diagram tổng thể với 13 use case chính và nhiều use case mở rộng
- 17 bảng Use Case Description chi tiết (từ UC-1.0 đến UC-13.0)
- 1 Class Diagram và 1 Object Diagram (Logical View)
- 18 Sequence Diagram và 18 Collaboration Diagram tương ứng (Process View)
- 4 State Diagram cho các đối tượng cốt lõi
- 11 Activity Diagram cho các luồng hoạt động chính
- 1 Component Diagram (Implementation View)
- 1 Deployment Diagram (Deployment View)
- 19 màn hình giao diện người dùng minh họa
Giải pháp đề xuất:
Hệ thống web quản lý phòng khám được thiết kế nhằm tích hợp và đồng bộ toàn bộ quy trình: từ đăng ký bệnh nhân, đặt lịch từ xa, theo dõi sức khỏe cá nhân, đến kê đơn thuốc điện tử, quản lý dược phẩm và báo cáo tài chính — tạo thành một quy trình quản lý phòng khám khép kín.
Đóng góp về mặt học thuật:
Đồ án thực hành áp dụng đầy đủ phương pháp luận phân tích thiết kế hướng đối tượng vào một bài toán nghiệp vụ thực tế trong lĩnh vực y tế, thể hiện khả năng vận dụng lý thuyết môn học ITE1214 vào thiết kế hệ thống thông tin quy mô vừa với nhiều vai trò người dùng và quy trình nghiệp vụ phức tạp.
Hạn chế và hướng nghiên cứu tiếp
Văn bản không trình bày phần hạn chế một cách tường minh. Tuy nhiên, dựa trên phạm vi đồ án môn học, có thể nhận thấy một số giới hạn tự nhiên:
- Đồ án dừng ở giai đoạn phân tích và thiết kế, chưa bao gồm lập trình và kiểm thử hệ thống thực tế.
- Công cụ sử dụng là StarUML, các sơ đồ mang tính tài liệu học thuật, chưa gắn với một stack công nghệ cụ thể.
- Phạm vi nghiệp vụ giới hạn ở phòng khám đơn lẻ; chưa thiết kế cho hệ thống đa cơ sở hoặc tích hợp với hệ thống y tế quốc gia.
Hướng phát triển tiếp theo (theo Chương 8): Đồ án định hướng tiếp tục hoàn thiện website theo các mô hình phân tích đã xây dựng, đáp ứng ngày càng tốt hơn nhu cầu thực tế của người dùng cuối.
Giá trị tham khảo
Tài liệu này phù hợp để tham khảo cho các nhóm đối tượng sau:
- Sinh viên ngành Công nghệ Thông tin đang học môn Phân Tích & Thiết Kế Hệ Thống Thông Tin, cần mẫu tài liệu UML đầy đủ theo mô hình 4+1 View cho một hệ thống nghiệp vụ thực tế.
- Sinh viên thực hiện đồ án tương tự về hệ thống quản lý trong lĩnh vực y tế (phòng khám, bệnh viện, nhà thuốc) có thể tham khảo cách phân chia use case, cách mô tả Use Case Description và cách xây dựng State Diagram cho các đối tượng nghiệp vụ đặc thù.
- Người tìm hiểu quy trình nghiệp vụ phòng khám có thể tham khảo phần Mô tả Bài toán (Chương 1) và các Activity Diagram (Chương 4) để nắm bắt luồng hoạt động từ tiếp nhận bệnh nhân đến thanh toán và báo cáo tài chính.
- Giảng viên và trợ giảng môn PTTKHTTT có thể dùng đồ án này làm tài liệu tham chiếu minh họa việc áp dụng đầy đủ các loại biểu đồ UML vào một bài toán đa tác nhân.
Các phần đáng tham khảo nhất: Use Case Description (Chương 2) với 17 bảng mô tả chi tiết từng ca sử dụng; State Diagram 4 đối tượng (Chương 4); và toàn bộ phần giao diện người dùng (Chương 7) với 19 màn hình minh họa.
Câu hỏi thường gặp
1. Hệ thống hỗ trợ bao nhiêu vai trò người dùng và mỗi vai trò có chức năng gì?
Hệ thống xác định 5 vai trò: Bệnh nhân (đăng ký, đặt lịch, xem hồ sơ, thanh toán), Bác sĩ (xem lịch, chẩn đoán, kê đơn), Dược sĩ (xem đơn thuốc, ghi nhận nhập thuốc), Thu ngân (xem hóa đơn, lập báo cáo doanh thu), và Quản lý (quản lý nhân viên, xem thông tin bệnh nhân).
2. Thông tin nào được lưu trong phiếu khám bệnh và toa thuốc?
Phiếu khám ghi nhận: mã phiếu, mã bệnh nhân, họ tên, ngày khám, cân nặng, chiều cao, huyết áp, nhịp tim và chẩn đoán bệnh. Toa thuốc liên kết với phiếu khám, mỗi thuốc trong toa ghi rõ số ngày dùng, số lần và liều dùng mỗi ngày.
3. Quy trình đặt lịch khám và thanh toán của bệnh nhân diễn ra như thế nào?
Theo UC-3.0, bệnh nhân chọn chức năng "Đặt lịch khám bệnh", điền thông tin vào phiếu đăng ký (bao gồm chọn khoa khám, thời gian và ngày khám theo Hình 66–67), hệ thống gửi xác nhận. Thanh toán (UC-4.0) thực hiện qua chuyển khoản ngân hàng: chọn ngân hàng, nhập số tiền, hệ thống kiểm tra số dư và thông báo kết quả.
4. Phiếu nhập thuốc của dược sĩ bao gồm những thông tin gì và được liên kết với toa thuốc như thế nào?
Theo mô tả bài toán Chương 1, mỗi phiếu nhập thuốc gồm: số phiếu, ngày nhập, danh sách thuốc nhập về với các trường mã thuốc, số lượng, đơn giá, lô thuốc và ngày sản xuất. Thông tin phiếu nhập được ghi nhận và liên kết với các toa thuốc để đảm bảo truy xuất nguồn gốc dược phẩm.
5. Thu ngân lập báo cáo doanh thu theo đơn vị thời gian nào và quy trình thực hiện ra sao?
Theo UC-13.0, báo cáo doanh thu được lập theo tuần. Thu ngân chọn chức năng "Báo cáo doanh thu", hệ thống hiển thị báo cáo, thu ngân đối chiếu với các hóa đơn (liên kết UC-12.0), xác nhận bằng nút "Chấp nhận", sau đó chức năng "In" được kích hoạt để in phiếu báo cáo doanh thu ra máy in.
Kết luận
Đồ án "Ứng dụng Web Quản lý Phòng Khám" của nhóm 07 lớp A02 Khoa CNTT – Trường ĐH Kinh tế - Tài chính TP.HCM là sản phẩm phân tích và thiết kế hệ thống thông tin áp dụng đầy đủ mô hình kiến trúc 4+1 View vào bài toán quản lý y tế với 5 vai trò người dùng và 13 nhóm chức năng chính. Bộ tài liệu bao gồm hơn 60 biểu đồ UML các loại, 17 bảng Use Case Description chi tiết và 19 màn hình giao diện minh họa, phản ánh toàn bộ vòng đời nghiệp vụ từ tiếp nhận bệnh nhân đến thanh toán và báo cáo tài chính. Đồ án dừng ở giai đoạn phân tích thiết kế và định hướng tiếp tục hoàn thiện ứng dụng thực tế trong các giai đoạn phát triển tiếp theo.