1.1.2 Giới thiệu hệ thốngVới mục tiêu đáp ứng được nhu cầu tối thiểu của người dùng là đặt lịch khám bệnh trước với bác sĩ, có thể khám bệnh từ xa, dễ dàng liên hệ với bác sĩ, cung cấp m
Trang 1Sinh viên thực hiện: NGUYỄN THỊ THÙY DUNG CT0402009
ĐỒNG MINH DƯƠNG CT040114
LÊ ANH ĐỨC CT040116
Trang 2Nhóm 13
Giảng viên hướng dẫn: ThS LÊ THỊ NHƯ
Hà Nội, 01 - 2023
Trang 3LỜI CẢM ƠN
Đầu tiên, chúng em xin gửi lời cảm ơn chân thành đến tập thể quý thầy cô trường Học viện Kỹ thuật Mật mã và quý thầy cô khoa Công nghệ thông tin đã giúp cho chúng em có những kiến thức cơ bản làm nền tảng để thực hiện đề tài này
Đặc biệt, nhóm tác giả xin gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới cô Bùi Thị Như người đã hướng dẫn tận tình, sửa chữa và đóng góp nhiều ý kiến quý báu giúp chúng em hoàn thành báo cáo môn học của mình
Trong thời gian thực hiện đề tài, chúng em đã vận dụng những kiến thức nền tảng
đã tích lũy đồng thời kết hợp với việc học hỏi và nghiên cứu những kiến thức mới Từ
đó, em đã vận dụng tối đa những gì đã thu thập được để hoàn thành báo cáo đồ án thựctập tốt nhất Tuy nhiên, trong quá trình thực hiện không tránh khỏi những thiếu sót Chính vì vậy, em rất mong nhận được những sự góp ý từ phía các thầy/cô nhằm hoàn thiện những kiến thức mà em đã học tập và là hành trang để em thực hiện các đề tài khác trong tương lai
Cuối cùng, em xin kính chúc các thầy cô giảng viên trong trường Học viện Kỹ thuật Mật mã nói chung, các thầy cô khoa Công nghệ thông tin nói riêng có nhiều sức khỏe và thành công trong sự nghiệp cao quý
Em xin chân thành cảm ơn!
Trang 4LỜI CAM ĐOAN
Chúng tôi là Nguyễn Thị Thùy Dung, mã số sinh viên CT040209, sinh viên lớp CT4B,khóa 16, Lê Anh Đức, mã số sinh viên CT040116, sinh viên lớp CT4A, khóa 16, ĐồngMinh Dương, mã số sinh viên CT040114, sinh viên lớp CT4A, khóa 16 Người hướng dẫn là ThS Bùi Thị Như Chúng tôi xin cam đoan toàn bộ nội dung được trình bày
trong đồ án Xây dựng hệ thống đặt lịch khám bệnh tại các phòng khám, bệnh viện là
kết quả quá trình tìm hiểu và nghiên cứu của nhóm Các dữ liệu được nêu trong đồ án
là hoàn toàn trung thực, phản ánh đúng kết quả thực tế Mọi thông tin trích dẫn đều tuân thủ các quy định về sở hữu trí tuệ; các tài liệu tham khảo được liệt kê rõ ràng Nhóm xin chịu hoàn toàn trách nhiệm với những nội dung được viết trong đồ án này
Hà Nội, ngày 08 tháng 01 năm 2023
Người cam đoan
Trang 5MỤC LỤC
LỜI CẢM ƠN i
LỜI CAM ĐOAN i
DANH MỤC HÌNH VẼ i
DANH MỤC BẢNG BIỂU iii
LỜI NÓI ĐẦU 4
1 Lý do chọn đề tài 4
2 Mục tiêu đề tài 4
3 Đối tượng và phạm vi nghiên cứu 4
4 Phương pháp nghiên cứu 4
5 Cấu trúc đề tài 5
CHƯƠNG 1 TỔNG QUAN HỆ THỐNG 6
1.1 Tổng quan về hệ thống đặt lịch khám bệnh 6
1.1.1 Khảo sát thực tế 6
1.1.2 Giới thiệu hệ thống 7
1.2 Giới thiệu về một số công nghệ được sử dụng 8
1.2.1 Front-end 8
1.2.2 Back-end 9
1.2.3 Hosting website 10
1.2.4 Các công nghệ khác 10
1.3 Kết luận Chương 1 10
CHƯƠNG 2 ĐẶC TẢ YÊU CẦU, THIẾT KẾ HỆ THỐNG 12
2.1 Phân tích yêu cầu của hệ thống 12
2.1.1 Yêu cầu chức năng 12
2.1.2 Yêu cầu phi chức năng 12
2.2 Quy trình nghiệp vụ 13
2.3 Xác định các tác nhân của hệ thống 13
Trang 62.4 Mô tả hệ thống bằng UML 14
2.4.1 Danh sách biểu đồ usecase 14
2.4.2 Đặc tả các ca sử dụng 20
2.4.3 Phân tích các ca sử dụng 32
CHƯƠNG 3 KẾT QUẢ THỰC NGHIỆM 51
Kết luận chung 51
Hạn chế 51
Hướng phát triển 52
TÀI LIỆU THAM KHẢO 53
Trang 7DANH MỤC HÌNH VẼ
Hình 2.1 Biểu đồ usecase tổng quát của hệ thống 12
Hình 2.2 Biểu đồ usecase Quản lý tài khoản 13
Hình 2.3 Biểu đồ usecase Đặt lịch khám bệnh 14
Hình 2.4 Biểu đồ usecase Tìm kiếm 14
Hình 2.5 Biểu đồ usecase Quản lý kế hoạch khám bệnh 15
Hình 2.6 Biểu đồ usecase Quản lý bác sĩ 16
Hình 2.7 Biểu đồ usecase Quản lý lịch khám 17
Hình 2.8 Biểu đồ usecase Quản lý bệnh viện 17
Hình 2.9 Biểu đồ usecase Quản lý cẩm nang 18
Hình 2.10 Biểu đồ tuần tự usecase Đăng nhập 31
Hình 2.11 Biểu đồ tuần tự usecase Xem kế hoạch khám bệnh 31
Hình 2.12 Biểu đồ tuần tự usecase Thêm kế hoạch khám bệnh 32
Hình 2.13 Biểu đồ tuần tự usecase Sửa kế hoạch khám bệnh 32
Hình 2.14 Biểu đồ tuần tự usecase Xem kế hoạch khám bệnh 33
Hình 2.15 Biểu đồ tuần tự usecase Xác nhận lịch khám 34
Hình 2.16 Biểu đồ tuần tự usecase Đặt lịch khám bệnh 34
Hình 2.17 Biểu đồ tuần tự usecase Quản lý thông tin bác sĩ 35
Hình 2.18 Biểu đồ tuần tự usecase Thêm bệnh viện 36
Hình 2.19 Biểu đồ tuần tự usecase Sửa thông tin bệnh viện 36
Hình 2.20 Biểu đồ tuần tự usecase Xóa bệnh viện 37
Hình 2.21 Biểu đồ tuần tự usecase Thêm cẩm nang 37
Hình 2.22 Biểu đồ tuần tự usecase Sửa thông tin cẩm nang 38
Hình 2.23 Biểu đồ tuần tự usecase Xóa cẩm nang 38
Hình 2.24 Biểu đồ tuần tự usecase Thêm tài khoản 39
Hình 2.25 Biểu đồ tuần tự usecase Sửa thông tin tài khoản 39
Hình 2.26 Biểu đồ tuần tự usecase Xóa tài khoản 40
Trang 8Hình 2.27 Biểu đồ hoạt động usecase Đăng nhập 41
Hình 2.28 Biểu đồ hoạt động usecase Đặt lịch khám 42
Hình 2.29 Biểu đồ hoạt động usecase Thêm tài khoản 43
Hình 2.30 Biểu đồ hoạt động usecase Sửa thông tin tài khoản 44
Hình 2.31 Biểu đồ hoạt động usecase Xóa tài khoản 45
Hình 2.32 Biểu đồ hoạt động usecase Thêm bệnh viện 46
Hình 2.33 Biểu đồ hoạt động usecase Thêm cẩm nang 47
Hình 2.34 Biểu đồ hoạt động usecase Quản lý thông tin bác sĩ 48
Trang 9DANH MỤC BẢNG BIỂU
Bảng 2.1 Bảng đặc tả ca sử dụng Đăng nhập 19
Bảng 2.2 Bảng đặc tả ca sử dụng Đăng xuất 19
Bảng 2.3 Bảng đặc tả ca sử dụng Xem kế hoạch khám bệnh 20
Bảng 2.4 Bảng đặc tả usecase Thêm kế hoạch khám bệnh 20
Bảng 2.5 Bảng đặc tả usecase Sửa kế hoạch khám bệnh 21
Bảng 2.6 Bảng đặc tả usecase Xem lịch khám 22
Bảng 2.7 Bảng đặc tả usecase Xác nhận lịch khám 22
Bảng 2.8 Bảng đặc tả usecase Đặt lịch khám bệnh 23
Bảng 2.9 Bảng đặc tả usecase Quản lý thông tin bác sĩ 24
Bảng 2.10 Bảng đặc tả ca sử dụng Thêm bệnh viện 24
Bảng 2.11 Bảng đặc tả ca sử dụng Sửa thông tin bệnh viện 25
Bảng 2.12 Bảng đặc tả ca sử dụng Xóa bệnh viện 26
Bảng 2.13 Đặc tả ca sử dụng Thêm cẩm nang 26
Bảng 2.14 Bảng đặc tả ca sử dụng Sửa thông tin cẩm nang 27
Bảng 2.15 Bảng đặc tả ca sử dụng Xóa cẩm nang 27
Bảng 2.16 Bảng đặc tả ca sử dụng Thêm tài khoản 28
Bảng 2.17 Bảng đặc tả ca sử dụng Sửa thông tin tài khoản 29
Bảng 2.18 Bảng đặc tả ca sử dụng Xóa tài khoản 29
Bảng 2.19 Bảng đặc tả ca sử dụng Reset thông tin tài khoản 30
Trang 10LỜI NÓI ĐẦU
1 Lý do chọn đề tài
Ngày nay, cùng với sự phát triển của khoa học kỹ và công nghệ ; đặc biệt là lĩnh vực công nghệ thông tin (CNTT) đã có những bước phát triển vượt bậc Trong đó,
ngành y tế là một trong những ngành được công nghệ thông tin nhiều nhất Và hiện
nay, việc ứng dụng công nghệ thông tin trong quản lý bệnh viện trên thế giới cũng nhưcác bệnh viện ở Việt Nam tận dụng triệt để lợi ích của CNTT mang lại Từng bước
được ứng dụng vào công tác nghiên cứu, quản lý bệnh nhân, lưu trữ hồ sơ, truy xuất
dữ liệu phục vụ công tác chuyên môn, nghiệp vụ
Chính vì lẽ đó, chúng em quyết định xây dựng website và phát triển ứng dụng di động (mobile app) “Hệ thống đặt lịch khám bệnh tại các phòng khám, bệnh viện” làm
đề tài cho môn Phát triển phần mềm ứng dụng
2 Mục tiêu đề tài
ứng dụng cho việc hỗ trợ bệnh nhân và những người liên quan tại phòng khám, bệnhviện trong quy trình đặt lịch khám bệnh trên nền tảng website và ứng dụng di động
3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu: Trang web đặt lịch khám bệnh online
Phạm vi nghiên cứu: Các bệnh viện, phòng khám
4 Phương pháp nghiên cứu
Đề tài này sẽ kết hợp với hai phương pháp nghiên cứu, đó là:
Phương pháp nghiên cứu lý thuyết:
- Nghiên cứu tài liệu, ngôn ngữ và công nghệ có liên quan
- Tổng hợp các tài liệu
- Phân tích và thiết kế hệ thống thông tin
Phương pháp nghiên cứu thực nghiệm:
- Phân tích yêu cầu thực tế của bài toán và xây dựng các bước phân tích hệ thống để
hỗ trợ việc lập trình, xây dựng phần mềm
Trang 115 Cấu trúc đề tài
Ngoài phần mở đầu và kết luận của đề tài gồm 3 chương:
- Chương 1: Cơ sở lý thuyết sẽ là chương giới thiệu kiến trúc và các công
nghệ được sử dụng để xây dựng nên hệ thống
- Chương 2: Phân tích và thiết kế hệ thống sẽ tập trung phân tích hệ thống
bao gồm các yêu cầu nghiệp vụ cũng như các quy trình, các luồng hoạt độngcủa hệ thống
- Chương 3: Cài đặt hệ thống sẽ mô tả cách thức cài đặt hệ thống và trình
bày kết quả thực tế của hệ thống
Trang 12-
CHƯƠNG 1 TỔNG QUAN HỆ THỐNG
1.1 Tổng quan về hệ thống đặt lịch khám bệnh
1.1.1 Khảo sát thực tế
Thông thường, khi cần đi khám với bác sĩ, bệnh nhân (hoặc người nhà) thường đến các
cơ sở y tế lấy số, xếp hàng, chờ đợi, hoặc nhắn tin, gọi điện đặt lịch trước Tuy nhiên, lấy sốxếp hàng chờ khám rất mất thời gian và mệt mỏi Bệnh nhân ở tỉnh xa đi lại rất khó khăn, vất vả, tốn kém Nếu là gọi điện đặt lịch thì có vẫn có một số tình huống sau đây xảy ra như:
- Không gặp được lễ tân, trợ lý của bác sĩ vì không ai bắt máy
- Bệnh nhân gọi điện vào giờ nghỉ vì nhân viên chỉ làm việc vào giờ hành chính
- Bệnh nhân không nắm được lịch khám chi tiết của bác sĩ khi gọi điện đến
- Bệnh nhân không tìm được các thông tin quan trọng khác như: giá khám, giá dịch vụ,thông tin về bảo hiểm y tế, địa chỉ khám, các thay đổi lịch khám
Những trường hợp này đa số sẽ dẫn đến các cuộc gọi liên tục qua lại giữa hai bên Vì nhiều lý do, bệnh nhân không thể nhận điện thoại từ phòng khám vào giờ làm việc, khiến quá trình này kéo dài hơn Và tình trạng không hẹn được kéo dài càng lâu thì càng có nhiều khả năng họ bỏ cuộc và đi tìm nơi khác
Những thuận lợi của đặt khám trực tuyến thông qua hệ thống đặt lịch khám là rất rõ ràng Bệnh nhân có thể đặt lịch khám 24/7, mọi lúc, mọi nơi chỉ cần một thiết bị có kết nối Internet Sau đó, sẽ có nhân viên tại phòng khám xác nhận thông tin khách hàng và thông báo lịch khám cụ thể, tư vấn chi phí
Do đó, chúng em quyết định xây dựng “Hệ thống đặt lịch khám bệnh cho các phòngkhám, bệnh viện” nhằm cung cấp nền tảng, phương tiện công nghệ để kết nối bệnh nhânđến với phòng khám, bệnh viện dễ dàng, nhanh chóng và thuận tiện thay vì phải gọi
điện hay đến xếp hàng dài chờ đợi tại các cơ sở y tế
Hiện nay, đã có rất nhiều website hỗ trợ bệnh nhân đăng ký khám bệnh trực tuyến tại các bệnh viện công và tư với đầy đủ các tính năng hữu ích cho người dùng
Trang 131.1.2 Giới thiệu hệ thống
Với mục tiêu đáp ứng được nhu cầu tối thiểu của người dùng là đặt lịch khám bệnh trước với bác sĩ, có thể khám bệnh từ xa, dễ dàng liên hệ với bác sĩ, cung cấp một số thông tin về y tế đến cho người dùng, những chia sẻ về vấn đề chăm sóc sức khỏe của bác sĩ tới bệnh nhân, website sẽ được xây dựng hướng tới bốn nhóm người dùng chínhvới các tính năng như sau:
Nhóm người dùng thứ nhất: Khách hàng
- Tìm kiếm bệnh viện, phòng khám, bác sĩ
- Đặt lịch khám bệnh
- Xem tin tức về y tế, cẩm nang sức khỏe của bác sĩ
- Bình luận, tương tác với bài viết
- Nhắn tin với chatbot
Nhóm người dùng thứ hai: Bác sĩ
- Quản lý tài khoản của bác sĩ
- Quản lý lịch khám bệnh
Nhóm người dùng thứ ba: dành cho quản trị hệ thống
- Quản lý tài khoản của người dùng (mở/khóa tài khoản)
- Quản lý tin tức, cẩm nang
- Quản lý bác sĩ (mở/khóa tài khoản, thêm tài khoản bác sĩ)
- Quản lý bệnh viện (thêm, sửa, xóa bệnh viện)
Nhóm người dùng thứ tư: dành cho quản trị bệnh viện
- Quản lý tài khoản
- Quản lý kế hoạch khám chữa bệnh (thêm thông tin, xem thông tin, sửa thôngtin kế hoạch)
Trang 141.2 Giới thiệu về một số công nghệ được sử dụng
1.2.1 Front-end
1.2.1.1 ReactJS + Redux
- ReactJS là một thư viện JavaScript chuyên giúp các nhà phát triển xây dựng giaodiện người dùng hay UI Trong lập trình ứng dụng front-end, lập trình viên thường sẽphải làm việc chính trên 2 thành phần sau: UI và xử lý tương tác của người dùng UI làtập hợp những thành phần mà bạn nhìn thấy được trên bất kỳ một ứng dụng nào, ví dụ
có thể kể đến bao gồm: menu, thanh tìm kiếm, những nút nhấn, card,… Giả sử bạnđang lập trình một website thương mại điện tử, sau khi người dùng chọn được sảnphẩm ưng ý rồi và nhấn vào nút “Thêm vào giỏ hàng”, thì việc tiếp theo mà bạn phảilàm đó là thêm sản phẩm được chọn vào giỏ hàng và hiển thị lại sản phẩm đó khi uservào xem => xử lý tương tác
- Redux là một thư viện giúp bạn quản lí trạng thái (state) của application Nó đượcthiết kế dựa trên Flux, nhưng giảm bớt những đau khổ thường gặp phải khi viết mộtứng dụng Flux Nếu bạn đã từng làm việc với Flux, bạn sẽ dễ dàng nhận ra rằng Redux
đã xây dựng sẵn cho bạn rất nhiều thứ mà lẽ ra bạn tự phải làm Ngoài ra, không giốngnhư Flux, bạn có một state container duy nhất Đó là một ưu điểm lớn, bởi vì nó sẽgiúp chia sẻ state và tái sử dụng code dễ dàng hơn
1.2.1.2 HTML/CSS-scss/Bootstrap5 (reactrap)
- HTML, HyperText Markup Language, cung cấp cấu trúc nội dung và ý nghĩa bằngcách xác định nội dung đó, ví dụ như tiêu đề, đoạn văn hoặc hình ảnh CSS, hayCascading Style Sheets, là ngôn ngữ trình bày được dùng để tạo kiểu cho sự xuất hiệncủa nội dung sử dụng, ví dụ như phông chữ hoặc màu sắc
- Bootstrap là một framework front-end miễn phí giúp người dùng phát triển webnhanh hơn và dễ dàng hơn Bootstrap bao gồm các mẫu thiết kế dựa trên HTML vàCSS cho các kiểu chữ, biểu mẫu, nút, bảng, điều hướng, hình ảnh , cũng như cácplugin JavaScript tùy chọn Bootstrap cũng cung cấp cho bạn khả năng dễ dàng tạo cácthiết kế website responsive
Trang 151.2.2 Back-end
1.2.2.1 NodeJS (ExpressJS)
- NodeJS là một môi trường runtime chạy JavaScript đa nền tảng và có mã nguồn mở,được sử dụng để chạy các ứng dụng web bên ngoài trình duyệt của client Nền tảngnày được phát triển bởi Ryan Dahl vào năm 2009, được xem là một giải pháp hoàn hảocho các ứng dụng sử dụng nhiều dữ liệu nhờ vào mô hình hướng sự kiện (event-driven) không đồng bộ Và cũng như nhiều ngôn ngữ chạy phía server khác, NodeJScũng bắt đầu có một cộng đồng phát triển rất lớn, nhiều framework sử dụng coreNodeJS ra đời, một trong số các framework phổ biến nhất hiện nay là Express
Framework này giúp cho việc phát triển ứng dụng được rút ngắn đi rất nhiều.Cũng như các framework dựa trên những ngôn ngữ khác như Rails (Ruby);Django (Python); Laravel, CakePHP (PHP)… Express được xây dựng dựa trênNodeJs Vậy nó có ưu điểm gì để ta lựa chọn cho việc phát triển ứng dụng
Express hỗ trợ việc phát triển ứng dụng theo mô hình MVC, mô hình phổ biếncho việc lập trình web hiện nay
Cho phép định nghĩa Middleware hỗ trợ cho việc tổ chức và tái sử dụng code
Định nghĩa routes và các request method đến server một cách dễ dàng
(object- PostgreSQL được phát triển dựa trên POSTGRES 4.2 tại phòng khoa học máytính Berkeley, Đại học California
PostgreSQL được thiết kế để chạy trên các nền tảng tương tự UNIX Tuy nhiên,PostgreSQL sau đó cũng được điều chỉnh linh động để có thể chạy được trênnhiều nền tảng khác nhau như Mac OS X, Solaris và Windows
PostgreSQL là một phần mềm mã nguồn mở miễn phí Mã nguồn của phầnmềm khả dụng theo license của PostgreSQL, một license nguồn mở tự do Theo
Trang 16đó, bạn sẽ được tự do sử dụng, sửa đổi và phân phối PostgreSQL dưới mọi hìnhthức.
PostgreSQL không yêu cầu quá nhiều công tác bảo trì bởi có tính ổn định cao
Do đó, nếu bạn phát triển các ứng dụng dựa trên PostgreSQL, chi phí sở hữu sẽthấp hơn so với các hệ thống quản trị dữ liệu khác
1.2.3 Hosting website
Back-end: Deploy bằng Render
Front-end: Deploy bằng Vercel
Trang 17CHƯƠNG 2 ĐẶC TẢ YÊU CẦU, THIẾT KẾ HỆ THỐNG
2.1 Phân tích yêu cầu của hệ thống
2.1.1 Yêu cầu chức năng
- Xây dựng hệ thống bao gồm những chức năng cơ bản của một trang web đặtlịch khám bệnh online như: Đặt lịch khám bệnh, tra cứu thông tin bác sĩ, chuyênkhoa, cơ sở y tế, quản lý bác sĩ, quản lý kế hoạch khám bệnh cũng như bệnh nhân
- Xây dựng hệ thống cho phép người dùng có thể tìm kiếm, tra cứu thông tin mộtcách nhanh chóng và trực quan
- Xây dựng trang web thông tin có các tin tức về cơ sở y tế, bác sĩ, chuyên khoa
- Xây dựng hệ thống với các công nghệ mới như Nodejs, Reactjs, MySQL.Nhóm em chọn những công nghệ này vì chúng có tính bao quát rộng hơn, Nodejs hỗtrợ bất đồng bộ giúp nhiều phương thức chạy động thời, MySQL là cơ sở dữ liệu tốc
độ cao, ổn định hoạt động trên nhiều hệ điều hành, cung cấp một hệ thống lớn cáchàm tiện ích rất mạnh Đặc biệt, hệ quản trị cơ sở dữ liệu MySQL hoàn toàn miễn phínên người dùng có thể thoải mái tải về từ trang chủ
2.1.2 Yêu cầu phi chức năng
Một số yêu cầu phi chức năng của Hệ thống đặt lịch khám bệnh cần đảm bảo nhưsau:
Hoạt động được trên các thiết bị sử dụng hệ điều hành Windown 10: Hệ thốngđược xây dựng dựa trên hệ điều hành sẽ được chạy ổn định nhất
Giao diện đẹp, thân thiện với người dùng: Giao diện hệ thống được xây dựngbắt mắt, dễ dàng sử dụng và thân thiện với người dùng nhằm mục đích đem lạitrải nghiệm tốt nhất tới người sử dụng
Dễ dàng bảo trì, nâng cấp và sửa đổi: Cấu trúc hệ thống được xây dựng theo môhình MVC nhằm tối ưu hóa trong việc tìm kiếm, bảo trì, nâng cấp thêm tínhnăng và dễ dàng sửa đổi
Trang 18+ Quản lý tài khoản
+ Quản lý thông tin bác sĩ
+ Quản lý kế hoạch khám bệnh
+ Bình luận, like, share bài viết
+ Tìm kiếm bệnh viện, bác sĩ, cẩm nang…
Quản trị bệnh viện: Là người làm việc tại phòng khám, bệnh viện với nhiệm vụ sắp xếp lịch khám của bệnh nhân
Bác sĩ: Để hoàn thành vai trò của mình, Bác sĩ sẽ cần các chức năng: quản lý tàikhoản cá nhân, quản lý cuộc hẹn, đặt lịch làm việc
Khách hàng: Là các bệnh nhân muốn khám tại phòng khám hay các khách hàng có nhu cầu đặt lịch khám bệnh Chúng ta cần các chức năng: đăng ký khám trực tuyến và xác nhận đặt lịch cho nhóm đối tượng này
Trang 192.4 Mô tả hệ thống bằng UML
2.4.1 Danh sách biểu đồ usecase
2.4.1.1 Biểu đồ usecase tổng quát
Hình 2.1 Biểu đồ usecase tổng quát của hệ thống
Trang 202.4.1.2 Biểu đồ usecase Quản lý tài khoản
Hình 2.2 Biểu đồ usecase Quản lý tài khoản
Trang 212.4.1.3 Biểu đồ usecase Đặt lịch khám bệnh
Hình 2.3 Biểu đồ usecase Đặt lịch khám bệnh
Trang 222.4.1.4 Biểu đồ usecase Tìm kiếm
Hình 2.4 Biểu đồ usecase Tìm kiếm
Trang 232.4.1.5 Biểu đồ usecase Quản lý kế hoạch khám bệnh
Hình 2.5 Biểu đồ usecase Quản lý kế hoạch khám bệnh
Trang 242.4.1.6 Biểu đồ usecase Quản lý bác sĩ
Hình 2.6 Biểu đồ usecase Quản lý bác sĩ
Trang 252.4.1.7 Biểu đồ usecase Quản lý lịch khám
Hình 2.7 Biểu đồ usecase Quản lý lịch khám
Trang 262.4.1.8 Biểu đồ usecase Quản lý bệnh viện
Hình 2.8 Biểu đồ usecase Quản lý bệnh viện
Trang 272.4.1.9 Biểu đồ usecase Quản lý cẩm nang
Hình 2.9 Biểu đồ usecase Quản lý cẩm nang
2.4.2 Đặc tả các ca sử dụng
2.4.2.1 Đặc tả ca sử dụng Đăng nhập
Actor Bác sĩ, Admin hệ thống, Admin bệnh viện
Brief Description Use Case này cho phép mô tả các bước đăng nhập vào hệ
thống của actor
Pre-Condition Yêu cầu actor phải có tài khoản để đăng nhập
Basic Flows 1 Hệ thống yêu cầu actor nhập tên đăng nhập, mật khẩu.
2 Actor nhập tên đăng nhập, mật khẩu của mình và nhấn nút đăng nhập
3 Hệ thống kiểm tra thông tin đăng nhập
Trang 28Use case Đăng nhập
4 Hệ thống thông báo thành công và cho actor đăng nhậpvào hệ thống, đồng thời phân quyền tùy theo vai trò củaactor
Alternative Flows
5 Tên đăng nhập hoặc mật khẩu không đúng , hệ thống hiệnthông báo cho người dùng và yêu cầu đăng nhập lại
6 Không tồn tại tài khoản người dùng đã đăng nhập
Post-Condition Actor đăng nhập vào hệ thống thành công
Bảng 2.1 Bảng đặc tả ca sử dụng Đăng nhập
2.4.2.2 Đặc tả ca sử dụng Đăng xuất
Actor Bác sĩ, Admin hệ thống, Admin bệnh viện
Brief Description Use Case này cho phép mô tả các bước đăng xuất khỏi hệ
thống của actor
Pre-Condition Yêu cầu actor cần phải đăng nhập vào hệ thống trước đó
Basic Flows
1 Người dùng nhấp vào nút Đăng xuất
2 Hệ thống đăng xuất, xóa lịch sử của phiên làm việc
và chuyển người dùng trở lại trang Đăng nhập
Alternative Flows Không có
Post-Condition Actor đăng xuất khỏi hệ thống thành công
Trang 29Use case Xem kế hoạch khám bệnh
Brief Description
Use Case này cho phép mô tả các bước xem thông tin kế hoạch khám bệnh của từng bác sĩ đối với tài khoản admin bệnh viện
Pre-Condition Yêu cầu actor phải có tài khoản để đăng nhập, actor được
phân quyền là admin bệnh viện
Alternative Flows Không có
Post-Condition Actor xem được thông tin lịch khám của bác sĩ
Brief Description Use Case này cho phép mô tả các bước thêm kế hoạch khám
bệnh cho từng bác sĩ
Pre-Condition Yêu cầu actor phải có tài khoản để đăng nhập, actor được
phân quyền là admin bệnh viện
Basic Flows 1 Actor chọn chức năng quản lý kế hoạch khám bệnh
2 Actor chọn bác sĩ cần thêm thông tin kế hoạch khám bệnh
3 Actor chọn khung thời gian khám bệnh cho bác sĩ theo từng ngày
Trang 30Use case Thêm kế hoạch khám bệnh
4 Actor ấn nút lưu thông tin
Hệ thống lưu lại lịch khám bệnh của bác sĩ
Alternative Flows Không
Post-Condition Actor thêm thành công kế hoạch khám bệnh của bác sĩ
Brief Description Use Case này cho phép mô tả các bước sửa kế hoạch khám
bệnh cho từng bác sĩ
Pre-Condition Yêu cầu actor phải có tài khoản để đăng nhập, actor được
phân quyền là admin bệnh viện
Basic Flows
1 Actor chọn chức năng quản lý hoạch khám bệnh
2 Actor chọn bác sĩ cần sửa thông tin kế hoạch khám bệnh
3 Actor chọn lại khung thời gian khám bệnh cho bác sĩ theo từng ngày
4 Actor ấn nút lưu thông tin
Hệ thống lưu lại lịch khám bệnh của bác sĩ
Alternative Flows Không
Post-Condition Actor sửa lại thành công kế hoạch khám bệnh của bác sĩ
Special
Requirements
Không có
Trang 31Bảng 2.5 Bảng đặc tả usecase Sửa kế hoạch khám bệnh
2.4.2.6 Đặc tả ca sử dụng Xem lịch khám
Brief Description Use Case này cho phép mô tả các bước xem lịch khám bệnh
đã được đặt đối với từng bác sĩ
Pre-Condition Yêu cầu actor phải có tài khoản để đăng nhập, actor được
phân quyền là admin bệnh viện
Basic Flows
1 Actor chọn chức năng Quản lý lịch khám
Hệ thống hiển thị thông tin các đơn khám đã được kháchhàng đặt trong ngày
Alternative Flows Không có
Post-Condition Actor xem được lịch khám thành công
Brief Description Use Case này cho phép mô tả các bước xem lịch khám bệnh
đã được đặt đối với từng bác sĩ
Pre-Condition Yêu cầu actor phải có tài khoản để đăng nhập, actor được
phân quyền là bác sĩ
Basic Flows 1 Actor chọn chức năng Quản lý lịch khám
2 Khi bác sĩ thực hiện khám bệnh thành công, bác sĩ chọn vào nút xác nhận
Trang 32Use case Xác nhận lịch khám
3 Hệ thống trả về form điền các thông tin về hóa đơn khám bệnh cho bệnh nhân
4 Bác sĩ điền thông tin và ấn vào nút xác nhận
Hệ thống cập nhập thông tin hóa đơn đồng thời gửi hóa đơn
về gmail người dùng
Alternative Flows Không có
Post-Condition Actor xác nhận lịch khám thành công
Basic Flows 1 Actor chọn Bệnh viện muốn đặt lịch khám
2 Hệ thống trả về danh sách chuyên khoa
3 Actor chọn chuyên khoa
4 Hệ thống trả về danh sách các bác sĩ trong chuyên khoa
9 Actor điền form và ấn nút xác nhận
10 Hệ thống thực hiện xác nhận bằng cách gửi email về