Tên: Đăng nhập hệ thống
Đối tượng sử dụng: Người quản lý hệ thống, giám đốc, bác sĩ, bệnh nhân. Mục đích: Use case này mô tả các bước đăng nhập của các actor vào hệ thống. Mô tả khái quát: Người sử dụng hệ thống chọn trang đăng nhập của hệ thống, sau đó nhập tài khoản và mật khẩu để được đăng nhập vào hệ thống.
Chức năng tham chiếu: R1 Sơ đồ luồng sự kiện: Luồng chính:
1.Người sử dụng chọn chức năng đăng nhập hệ thống 2. Hệ thống hiển thị trang đăng nhập hệ thống
3. Người sử dụng nhập tài khoản và mật khẩu 4. Hệ thống kiểm tra tài khoản và mật khẩu
5. Hệ thống hiển thị giao diện chính sau khi đăng nhập đối với tài khoản đó (hệ thống đăng nhập thành công)
6. Kết thúc ca sử dụng
Rẽ nhánh A1. Người sử dụng đột ngột dừng không đăng nhập vào hệ thống nữa 1.Hệ thống hủy bỏ việc đăng nhập và hiển thị trang theo chức năng mà người sử dụng đã chọn
2. Kết thúc ca sử dụng đăng nhập.
Rẽ nhánh A2. Tài khoản hoặc mật khẩu của người sử dụng khơng chính xác 1.Hệ thống thông báo sai tài khoản hoặc mật khẩu và yêu cầu nhập lại tài khoản và mật khẩu
Rẽ nhánh A3. Quá trình đăng nhập xuất hiện lỗi 1.Hệ thống thông báo và ghi nhận lại lỗi
2.Kết thúc ca sử dụng.
+ Ca sử dụng đăng xuất
Đối tượng sử dụng: Người quản lý hệ thống, giám đốc, bác sĩ, bệnh nhân. Mục đích: Use case này mơ tả các bước đăng xuất của tài khoản khỏi hệ thống. Mô tả khái quát: Người sử dụng hệ thống chọn chức năng đăng xuất.
Chức năng tham chiếu: R1.2 Sơ đồ luồng sự kiện:
Luồng chính:
1.Người sử dụng chọn chức năng đăng xuất
2. Hệ thống hiển thị yêu cầu xác nhận của người dùng 3. Người dùng xác nhận đăng xuất
4. Kết thúc ca sử dụng
Rẽ nhánh A1: Người dùng hủy bỏ xác nhận đăng xuất 1.Hệ thống giữ nguyên hiện trạng
+ Ca sử dụng đổi mật khẩu
Đối tượng sử dụng: Người quản lý hệ thống, giám đốc, bác sĩ, bệnh nhân. Mục đích: Use case này mơ tả các bước đổi mật khẩu đăng nhập hệ thống Mô tả khái quát: Người sử dụng hệ thống chọn chức năng đổi lại mật khẩu Chức năng tham chiếu: R1.1
Sơ đồ luồng sự kiện: Luồng chính:
1.Người sử dụng chọn chức năng đổi mật khẩu. 2. Hệ thống yêu cầu đăng nhập lại
3. Người dùng đăng nhập lại thành công
4. Hệ thống yêu cầu nhập mật khẩu mới và nhập lại mật khẩu mới 5. Người dùng nhập mật khẩu mới và nhập lại
6. Hệ thống thông báo đổi mật khẩu thành công 7.Kết thúc ca sử dụng
Chức năng được sử dụng để cập nhật bác sĩ và thống kê danh sách, các thơng tin bác sĩ.
Hình 3.3. Biểu đồ CSD quản lý bác sĩ
Đối tượng sử dụng: Giám đốc
Mục đích: Use case này mơ tả chức năng quản lý bác sĩ
Mô tả khái quát: Giám đốc chọn chức năng quản lý bác sĩ. Trong chức năng quản lý bác sĩ, giám đốc có thể thêm mới bác sĩ, tìm kiếm, chỉnh sửa, xóa bác sĩ. Ngồi ra có thể xem thống kê danh sách bệnh nhân bác sĩ hỗ trợ .
Chức năng tham chiếu: R2 Sơ đồ luồng sự kiện: Luồng chính:
1.Người sử dụng chọn chức năng quản lý bác sĩ 2.Hệ thống tự động hiển thị danh sách bác sĩ 3.Người dùng chọn thêm mới bác sĩ
4.Hệ thống yêu cầu nhập thông tin 5. Người dùng nhập thông tin
6. Hệ thống kiểm tra thông tin đáp ứng yêu cầu 7. Hệ thống tự động hiển thị danh sách bác sĩ 8.Kết thúc ca sử dụng
Rẽ nhánh A1. Người dùng nhập thông tin bác sĩ sai
1.Hệ thống giữ nguyên trang thêm mới bác sĩ, báo lỗi đỏ những trường thông tin sai
2.Người dùng sửa lại thông tin và quay lại bước 6 luồng chính Rẽ nhánh A2. Người dùng chọn tìm kiếm bác sĩ
1.Người dùng nhập tên bác sĩ
2.Hệ thống hiển thị tên bác sĩ người dùng yêu cầu 3.Người dùng chọn 1 bác sĩ
4.Hệ thống tự động hiển thị thông tin bác sĩ người dùng chọn. 5.Kết thúc ca sử dụng.
+ Ca sử dụng hiển thị thông tin bác sĩ
Đối tượng sử dụng: Giám đốc
Mục đích: Use case này hiển thị thông tin bác sĩ từ bảng danh sách bác sĩ, ở usecase này có thể xem danh sách bệnh nhân bác sĩ đó hỗ trợ.
Mô tả khái quát: Người sử dụng hệ thống chọn chức năng hiển thị thông tin bác sĩ Chức năng tham chiếu: R2.2
Sơ đồ luồng sự kiện: Luồng chính:
1.Người sử dụng chọn chức năng quản lý bác sĩ 2.Hệ thống tự động hiển thị danh sách bác sĩ 3.Người dùng chọn thống kê danh sách bệnh nhân
4. Hệ thống hiển thị danh sách bệnh nhân bác sĩ trực tiếp điều trị 5. Kết thúc ca sử dụng
Rẽ nhánh A1. Người dùng chọn thống kê lịch sử liên hệ
1.Hệ thống hiển thị danh sách cuộc hội thoại của bác sĩ đang chọn 2.Kết thúc ca sử dụng
Rẽ nhánh A2. Người dùng cập nhật sai thông tin bác sĩ
1.Hệ thống giữ nguyên trang cập nhật thông tin bác sĩ, báo lỗi đỏ các trường nhập sai và quay lại mục 6 của nhánh A2
2. Kết thúc ca sử dụng
+ Thêm mới bác sĩ
Đối tượng sử dụng: Giám đốc
Mục đích: Use case này có chức năng thêm mới bác sĩ trong mục quản lý bác sĩ Mô tả khái quát: Giám đốc đăng nhập vào hệ thống chọn chức năng quản lý bác sĩ, sau đó chọn thêm mới bác sĩ
Chức năng tham chiếu: R2.5 Sơ đồ luồng sự kiện:
Luồng chính:
1.Người sử dụng chọn chức năng thêm mới bác sĩ 2.Hệ thống hiển thị giao diện thêm bác sĩ mới 3.Người dùng nhập thông tin vào hệ thống
4.Hệ thống kiểm tra thông tin và đáp ứng yêu cầu
5.Hệ thống hiển thị giao diện danh sách bác sĩ sau khi thêm mới 6.Kết thúc ca sử dụng
Rẽ nhánh A1. Người dùng nhập sai một trong số các thông tin bác sĩ
1.Hệ thống giữ nguyên giao diện thêm mới bác sĩ, báo lỗi màu đỏ các trường nhập sai thông tin và quay lại bước 3 luồng chính.
Rẽ nhánh A2. Người dùng đột ngột dừng việc thêm mới bác sĩ 1.Hệ thống yêu cầu xác nhận việc dừng thêm mới bác sĩ
2.Người dùng đồng ý yêu cầu
3.Hệ thống hủy việc thêm mới bác sĩ 4.Kết thúc ca sử dụng
+ Tìm kiếm bác sĩ
Đối tượng sử dụng: Giám đốc
Mục đích: Use case này có chức năng tìm kiếm bác sĩ từ giao diện quản lý bác sĩ Mô tả khái quát: Giám đốc đăng nhập tên bác sĩ cần tìm kiếm vào ơ trống tìm kiếm trên trang quản lý bác sĩ
Chức năng tham chiếu: R2.6 Sơ đồ luồng sự kiện:
Luồng chính:
1.Hệ thống đang ở giao diện chính của chức năng quản lý bác sĩ. Giám đốc nhập tên bác sĩ cần tìm kiếm vào ơ tìm kiếm
2.Hệ thống hiển thị các tên hợp lệ cùng với thanh tìm kiếm 3.Giám đốc chọn bác sĩ trên thanh gợi ý tìm kiếm
4.Hệ thống hiển thị thông tin bác sĩ đã được chọn 5.Kết thúc ca sử dụng
1.Hệ thống không hiển thị thanh gợi ý tìm kiếm 2.Kết thúc ca sử dụng
+ Ca sử dụng quản lý bệnh nhân
Hình 3.4. Biểu đồ CSD quản lý bệnh nhân
Tên: Ca sử dụng quản lý bệnh nhân Đối tượng sử dụng: Bác sĩ
Mục đích: Quản lý tài các thơng tin liên quan đến bệnh nhân
Mô tả khái quát: Người sử dụng hệ thống chọn chức năng quản lý tài khoản cá nhân để xem, chỉnh sửa hoặc xóa tài khoản
Chức năng tham chiếu: R3 Sơ đồ luồng sự kiện: Luồng chính:
1.Bác sĩ chọn chức năng quản lý bệnh nhân
2.Hệ thống hiển thị giao diện danh sách bệnh nhân
3.Bác sĩ có thể chọn chỉnh sửa, xóa, quản lý hồ sơ, xem thông tin bệnh nhân trong danh sách bệnh nhân hoặc chọn chức năng tìm kiếm, tạo tài khoản bệnh nhân ở giao diện quản lý danh sách bệnh nhân
4. Hệ thống kiểm tra thông tin và đáp ứng yêu cầu 5.Kết thúc ca sử dụng
+ Ca sử dụng quản lý hồ sơ bệnh án
Mục đích: Quản lý hồ sơ bệnh án
Mô tả khái quát: Sử dụng chức năng quản lý hồ sơ bệnh án để xem, chỉnh sửa thông tin, tư vấn từ xa. Đối với tài khoản bác sĩ chức năng quản lý hồ sơ bệnh án gồm nhiều hồ sơ bệnh án, đối với bệnh nhân chỉ có quyền quản lý hồ sơ bệnh án cá nhân.
Chức năng tham chiếu: R3.7 Sơ đồ luồng sự kiện:
Luồng chính:
1.Người dùng chọn chức năng quản lý hồ sơ bệnh án 2. Hệ thống hiển thị danh sách hồ sơ bệnh án
3. Người dùng tùy chọn chỉnh sửa hồ sơ bệnh án, xóa bệnh án hoặc tư vấn từ xa 4. Hệ thống kiểm tra và đáp ứng yêu cầu
5. Kết thúc ca sử dụng
Rẽ nhánh A1. Việc kiểm tra yêu cầu của hệ thống bị lỗi 1.Hệ thống thông báo lỗi
2.Kết thúc ca sử dụng
+ Ca sử dụng hội chẩn
Hình 3.5. Biểu đồ CSD hội chẩn
Đối tượng sử dụng: Bác sĩ
Mục đích: Liên lạc giữa các bác sĩ
Mơ tả khái quát: Bác sĩ sử dụng chức năng hội chẩn để thảo luận với nhau về công việc
Chức năng tham chiếu: R4 Sơ đồ luồng sự kiện: Luồng chính:
1. Bác sĩ chọn chức năng tư hội chẩn 2. Hệ thống hiển thị giao diện hội chẩn
3.Bác sĩ chọn hội chẩn gián tiếp hoặc tư vấn từ xa 5. Hệ thống kiểm tra và đáp ứng yêu cầu
6. Kết thúc ca sử dụng
Rẽ nhánh A1. Bác sĩ đột ngột dừng khi đang thực hiện chức năng hội chẩn 1.Hệ thống yêu cầu xác nhận yêu cầu dừng
2. Bác sĩ xác nhận yêu cầu 3. Kết thúc ca sử dụng
+ Ca sử dụng tư vấn từ xa
Hình 3.6. Biểu đồ CSD tư vấn từ xa
Đối tượng sử dụng: Bệnh nhân, bác sĩ
Mục đích: Liên lạc giữa bệnh nhân và bác sĩ
Mô tả khái quát: Người dùng có thể chọn một trong 3 hình thức gọi điện, gọi video, nhăn tin trong chức năng tư vấn từ xa
Chức năng tham chiếu: R4.2 Sơ đồ luồng sự kiện:
Luồng chính:
1.Người dùng chọn chức năng tư vấn từ xa
2. Hệ thống hiển thị giao diện tư vấn từ xa đối với từng đối tượng
3. Người sử dụng chọn 1 trong các hình thức tư vấn (gọi điện, gọi video, nhắn tin)
4. Hệ thống kiểm tra và đáp ứng yêu cầu 5. Kết thúc ca sử dụng
Rẽ nhánh A1. Người dùng đột ngột dừng khi sử dụng 1 trong các hình thức tư vấn
1.Hệ thống yêu cầu xác nhận yêu cầu dừng 2. Người dùng xác nhận yêu cầu
3. Kết thúc ca sử dụng
+ Thống kê báo cáo
Hình 3.7. Biểu đồ thống kê báo cáo
Đối tượng sử dụng: Giám đốc
Mục đích: Thống kê số lượng bác sĩ, bệnh nhân theo tháng/năm
Mô tả khái quát: Người dùng chọn chức năng thống kê báo cáo. Sau đó có thể xem thống kê bác sĩ hoặc bệnh nhân theo tháng/năm
Chức năng tham chiếu: R5 Sơ đồ luồng sự kiện: Luồng chính:
1.Người dùng chọn chức năng thống kê báo cáo 2. Hệ thống hiển thị giao diện thống kê báo cáo
3. Người dùng chọn thống kê số lượng bác sĩ hoặc bệnh nhân và chọn thời gian thống kê
4. Hệ thống kiểm tra và đáp ứng yêu cầu 5. Kết thúc ca sử dụng
c) Xây dựng các biểu đồ
Biều đồ tuần tự
Biểu đồ tuần tự đăng nhập hệ thống
Sau đây là biểu đồ phân tích tuần tự của ca sử dụng đăng nhập hệ thống, với ca sử dụng này các tác nhân là Người quản trị hệt hống, Bác sĩ, Bệnh nhân và Giám đốc
đều sử dụng đến nó nên Actor trong trường hợp này là Người dùng thay vì phải viết chi tiết từng Actor
Hình 3.8. Biểu đồ tuần tự chức năng đăng nhập
Biểu đồ tuần tự tạo tài khoản bệnh nhân
Sau đây là biểu đồ phân tích tuần tự của ca sử dụng tạo tài khoản bệnh nhân
Hình 3.9. Biểu đồ tuần tự chức năng tạo tài khoản bệnh nhân
Sau đây là biểu đồ phân tích tuần tự của ca sử dụng chỉnh sửa thơng tin bác sĩ
Hình 3.10. Biểu đồ tuần tự chức năng chỉnh sửa thông tin bác sĩ
Biểu đồ tuần tự chức năng tìm kiếm bác sĩ
Sau đây là biểu đồ phân tích tuần tự của ca sử dụng tìm kiếm bác sĩ
Hình 3.11. Biểu đồ tuần tự chức năng tìm kiếm bác sĩ Biểu đồ hoạt động
Hình 3.12. Biểu đồ hoạt động đăng nhập hệ thống
Hoạt động thêm bệnh nhân
Hình 3.13. Biểu đồ hoạt động thêm bệnh nhân
Hình 3.14. Biểu đồ hoạt động cập nhập thông tin bệnh nhân
Biể đồ lớp
Biểu đồ trạng thái
Biểu đồ trạng thái lớp bệnh nhân
Hình 3.17. Biểu đồ trạng thái lớp bệnh nhân
Biểu đồ trạng thái lớp tài khoản
Trạng thái lớp bệnh nhân
Hình 3.19. Trạng thái lớp bệnh nhân
Trạng thái cuộc gọi điện
Biểu đồ thành phần
Hình 3.21. Biểu đồ thành phần Biểu đồ triển khai Biểu đồ triển khai
Hình 3.22. Biểu đồ triển khai
3.4.3. Thiết kế hệ thống:
Giao diện đăng nhập hệ thống
Hình 3.23. Giao diện đăng nhập hệ thống Giao diện bác sĩ Giao diện bác sĩ
Giao diện quản lý bệnh nhân
Giao diện quản lý hồ sơ bệnh án
Hình 3.25. Giao diện quản lý hồ sơ bệnh án
Giao diện hiển thị thông tin bệnh nhân
Giao diện thêm bệnh nhân
Hình 3.27. Giao diện thêm bệnh nhân Giao diện bệnh nhân Giao diện bệnh nhân
Giao diện chính
Giao diện hiển thị thơng tin cá nhân
Hình 3.29. Giao diện hiển thị thơng tin cá nhân
Giao diện tư vấn từ xa
Giao diện giám đốc
Hình 3.31. Giao diện giám đốc
b) Thiết kế cơ sở dữ liệu
Cơ sở dữ liệu của hệ thống được thiết kế gồm có 5 Collection, gồm: Bac_si, Benh_nhan, Benh_an, Tin_nhan, Xet_nghiem. Mỗi Collection được nhúng thêm các Document nhỏ để tăng thêm khả năng lưu trữ dữ liệu. Do Giám đốc và quản lý có thơng tin trùng với bác sĩ nên sẽ được lưu chung tại Colletion Bac_si và được phân biệt qua Field ChucDanh. Dưới đây là thiết kế của các Colletion.
Colletion BacSi
Colletion BenhNhan
Hình 3.33. Colletion BenhNhan
Colletion BenhAn
Colletion TinNhan
Hình 3.35. Colletion TinNhan
Colletion XetNghiem
Hình 3.36. Colletion XetNghiem
c) Thiết kế các ràng buộc
Ràng buộc trong thiết kế hệ thống
Quy trình:
Định hướng, nghiên cứu tính khả thi Bản kế hoạch dự án Bản đặc tả yêu cầu hệ thống Phân tích, thiết kế hệ thống Xây dựng và kiểm thử hệ thống Công cụ phát triển: Chrome DevTools MongoDB Compass
d) Thiết kế kiến trúc hệ thống
Sử dụng mơ hình kiến trúc Model-View-Controller. Mơ hình này tách riêng phần biểu diễn và phần tương tác ra khỏi dữ liệu hệ thống. Hệ thống được cấu trúc hóa thành ba component logic tương tác với nhau:
+Model component: quản lý dữ liệu hệ thống và các thao tác trên dữ trên dữ liệu đó.
+View component: định nghĩa và quản lý cách dữ liệu được biểu diễn tới người dùng như thế nào.
+Controller component: Quản lý tương tác người dùng và chuyển các tương tác này tới View và Model.
3.5. Cài đặt (Implementation)
3.5.1. Cài đặt Modul:
Hệ thống hỗ trợ tương tác trong quá trình điều trị bệnh nhân từ xa được xây dựng dựa trên mơ hình MVC. Trong chương trình sử dụng các lớp sau:
Controller dùng để tiếp nhận những yêu cầu xử lý từ phía người dùng, nó gồm các function xử lý nhiều nghiệp vụ logic giúp lấy đúng dữ liệu thông tin cần thiết nhờ các nghiệp nghiệp vụ lớp Model cung cấp và hiển thị dữ liệu đó ra cho người dùng ở