Với tình hình hiện nay người nhiễm Covid cách ly tại nhà rất nhiều, hệ thống khai báo y tế giúp cán bộ y tế cập nhật thông tin vàtình hình sức khỏe của bệnh nhân một cách nhanh chóng và
Trang 1BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
-ĐỒ ÁN TỐT NGHIỆPNGÀNH KỸ THUẬT PHẦN MỀM
XÂY DỰNG ỨNG DỤNG WEBSITE HỆ THỐNG THÔNG TIN QUẢN LÝ KHAI BÁO Y TẾ ĐIỆN TỬ SỬ DỤNG NODEJS,
Trang 2DANH MỤC BẢNG BIỂU ii
MỤC LỤC HÌNH VẼ iii
MỞ ĐẦU 1
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 4
1.1 Tổng quan về website khai báo y tế 4
1.1.1 Khai báo y tế 4
1.1.2 Tình hình khai báo y tế hiện nay 4
1.2 Các công cụ thiết kế website hệ thống thông tin khai báo y tế 5
1.2.1 NodeJS 5
1.2.2 Javascript 6
1.2.3 ReactJS 7
1.2.4 MongoDB 8
1.3 Kiến trúc phần mềm 9
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 10
2.1 Phân tích yêu cầu 10
2.2 Các yêu cầu phi chức năng 11
2.3 Biểu đồ use case 11
2.3.1 Biểu đồ use case tổng quan 11
2.3.2 Use case phân rã người dân đăng nhập 12
2.3.3 Use case phân rã quản lý thông tin cá nhân người dân 13
2.3.4 Use case phân rã quản lý thông tin người dân 13
2.3.5 Use case phân rã tạo mã QR 14
2.4 Mô tả chi tiết use case 14
Trang 32.4.1 Mô tả use case Đăng nhập của nhân viên y tế 14
2.4.2 Mô tả use case Đăng nhập của người dân 15
2.4.3 Mô tả use case Tạo QR code 17
2.4.4 Mô tả use case quản lý thông tin người dân 18
2.4.5 Mô tả use case người dân cập nhật thông tin 19
2.4.6 Mô tả use case người dân khai báo khẩn 20
2.5 Biểu đồ trình tự 22
2.5.1 Chức năng đăng nhập của người dân 22
2.5.2 Chức năng đăng nhập của nhân viên y tế 23
2.5.3 Chức năng tạo mã QR code 24
2.5.4 Chức năng cập nhật thông tin khai báo người dân 25
2.5.5 Chức năng quản lý thông tin người dân 26
2.6 Sơ đồ hoạt động 27
2.6.1 Chức năng đăng nhập của nhân viên y tế 27
2.6.2 Chức năng đăng nhập của người dân 28
2.6.3 Chức năng tạo QR code của người dân 29
2.6.4 Chức năng quản lý thông tin người dân 30
2.6.5 Chức năng xem khai báo chi tiết người dân 31
2.7 Thiết kế cơ sở dữ liệu 32
2.7.1 Quan hệ giữa các bảng 32
2.7.2 Chi tiết các bảng 32
2.8 Thiết kế giao diện 35
2.8.1 Màn hình đăng nhập 35
2.8.2 Màn hình nhập mã otp 35
Trang 42.8.4 Màn hình mã QR 37
2.8.5 Màn hình khai báo khẩn cấp 37
2.8.6 Màn hình danh sách khai báo y tế 38
CHƯƠNG 3 CÀI ĐẶT CHƯƠNG TRÌNH VÀ KIỂM THỬ HỆ THỐNG 39
3.1 Cài đặt chương trình 39
3.2 Phần mềm khai báo y tế điện tử 40
3.2.1 Màn hình chức năng đăng nhập của người dân 40
3.2.2 Màn hình trang chủ khai báo y tế 42
3.2.3 Màn hình hướng dẫn khai báo y tế 44
3.2.4 Màn hình thống kê khai báo y tế của nhân viên y tế 44
3.3 Kiểm thử phần mềm khai báo y tế điện tử 46
3.3.1 Kiểm thử chức năng đăng nhập của người dân 46
3.3.2 Kiểm thử chức năng đăng nhập của nhân viên y tế 48
3.3.3 Kiểm thử chức năng khai báo y tế 49
3.3.4 Kiểm thử chức năng khai báo khẩn cấp 55
KẾT LUẬN 59
TÀI LIỆU THAM KHẢO 60
PHỤ LỤC 61
Trang 5LỜI CẢM ƠN
Là một sinh viên trường đại học Công nghiệp Hà Nội, đồ án tốt nghiệp
là minh chứng cho những kiến thức đã có sau bốn năm học tập Trong quá trình hoàn thành đồ án tốt nghiệp, ngoài sự cố gắng của bản thân em cũng nhận được sự hướng dẫn tận tình của thầy cô cùng các anh chị bạn bè Qua đây, em xin chân thành cảm ơn khoa Công nghệ thông tin, trường đại học Công nghiệp Hà Nội đã trang bị kiến thức cho em trong suốt quá trình học tập và tạo cơ hội để em được làm đồ án tốt nghiệp Đặc biệt, em cảm ơn tới thầy ThS Nguyễn Đức Lưu đã luôn giúp đỡ, hướng dẫn, chỉ bảo tận tình để
em hoàn thành tốt đồ án của mình Em đã cố gắng hoàn thành đồ án tốt nghiệp nhưng vẫn rất mong nhận được sự đóng góp ý của thầy cô và các bạn
để đồ án của em được hoàn thiện hơn.
Em xin chân thành cảm ơn!
Trang 6DANH MỤC BẢNG BIỂU
Bảng 1.1: Các yêu cầu phi chức năng 11
Bảng 2.1: Chi tiết bảng admin 33
Bảng 2.2: Chi tiết bảng user 35
Bảng 2.3: Chi tiết bảng form 36
Bảng 2.4: Chi tiết bảng formtype 36
Bảng 2.5: Chi tiết bảng question 37
Bảng 2.6: Chi tiết bảng answer 37
Bảng 3.1: Kiểm thử chức năng đăng nhập của người dân 50
Bảng 3.2: Kiểm thử chức năng đăng nhập của nhân viên y tế 52
Bảng 3.3: Kiểm thử chức năng khai báo y tế 54
Bảng 3.4: Kiểm thử chức năng khai báo khẩn cấp 60
Trang 7MỤC LỤC HÌNH VẼ
Hình 2.1 Biểu đồ use case tổng quan 11
Hình 2.2: Biểu đồ use case phân rã đăng nhập của người dân 12
Hình 2.3: Biểu đồ use case phân rã quản lý thông tin cá nhân 13
Hình 2.4: Biểu đồ use case phân rã quản lý thông tin người dân 13
Hình 2.5: Biểu đồ use case phân rã quản lý tài khoản 14
Hình 2.6: Biểu đồ trình tự chức năng đăng nhập của người dân 22
Hình 2.7: Biểu đồ trình tự chức năng đăng nhập của admin và nhân viên y tế 23 Hình 2.8: Biểu đồ trình tự chức năng tạo mã QR Code 24
Hình 2.9: Biểu đồ trình tự chức năng cập nhật thông tin người dân 25
Hình 2.10: Sơ đồ hoạt động nhân viên y tế đăng nhập 27
Hình 2.11: Sơ đồ hoạt động chức năng người dân đăng nhập 28
Hình 2.12: Sơ đồ hoạt động người dân tạo QR code 29
Hình 2.13: Sơ đồ hoạt động quản lý thông tin người dân 30
Hình 2.14: Sơ đồ hoạt động xem khai báo chi tiết người dân 31
Hình 2.15: Cơ sở dữ liệu 32
Hình 2.16: Giao diện đăng nhập 35
Hình 2.17: Giao diện nhập mã otp 35
Hình 2.18: Giao diện khai báo y tế 36
Hình 2.19: Giao diện mã QR 37
Hình 2.20: Giao diện khai báo khẩn cấp 37
Hình 2.21: Màn hình danh sách khai báo y tế 38
Hình 3.22: Màn hình khởi chạy dự án 39
Hình 3.23: Mở terminal chạy chương trình 39
Hình 3.24: Màn hình đăng nhập 40
Hình 3.25: Màn hinh mail khi nhận được mã otp 40
Hình 3.26: Màn hình nhập mã otp đăng nhập 41
Hình 3.27: Màn hình khai báo y tế 42
Trang 8Hình 3.28: Màn hình tạo mã QR code 43
Hình 3.29: Màn hình khai báo y tế khẩn cấp 44
Hình 3.30: Màn hình hướng dẫn khai báo y tế 44
Hình 3.31: Màn hình danh sách khai báo y tế 44
Hình 3.32: Màn hình xem chi tiết khai báo y tế 45
Trang 9MỞ ĐẦU
1 Tên đề tài
Xây dựng ứng dụng Website hệ thống thông tin quản lý khai báo y
tế điện tử sử dụng NodeJS, ReactJS và MongoDB
2 Lý do chọn đề tài
Cuối năm 2019, đại dịch Covid-19 đã xảy ra cướp đi sinh mạng của hàngtriệu người trên khắp thế giới Một vấn đề lớn khó có thể giải quyết ngay lúc bấygiờ đó là làm cách nào có thể kiểm soát được thông tin và lịch trình di chuyểncủa người dân, người có nguy cơ mang mầm bệnh cũng như khoanh vùng dịch.Khai báo y tế là việc người dân cung cấp thông tin y tế cá nhân, trong đó nhất lànhững thông tin về lịch sử nơi đi, nơi ở và nơi đến nhằm mục đích kiểm soát vàphòng chống dịch bệnh COVID-19 Căn cứ các thông tin được cập nhật, cơ quan
y tế địa bàn sẽ nắm bắt cơ bản diễn biến sức khỏe, lịch trình đi lại, di chuyển củamỗi cá nhân để theo dõi, hỗ trợ trong tình huống cần thiết Đặc biệt, những ngườiliên quan đến các ca bệnh, người đi từ tâm dịch trở về, người có biểu hiện sốt,
ho, khó thở,… sẽ được cách ly tập trung và lấy mẫu xét nghiệm tại chỗ Cáctrường hợp khác sẽ được tư vấn, hướng dẫn thực hiện các biện pháp phòngchống dịch khi về địa phương Với tình hình hiện nay người nhiễm Covid cách
ly tại nhà rất nhiều, hệ thống khai báo y tế giúp cán bộ y tế cập nhật thông tin vàtình hình sức khỏe của bệnh nhân một cách nhanh chóng và có phương pháp điềutrị kịp thời hạn chế được rủi ro đáng tiếc xảy ra Chính vì lý do trên, em chọn đề
tài “Xây dựng ứng dụng Website hệ thống
thông tin quản lý khai báo y tế điện tử sử dụng NodeJS, ReactJS và
MongoDB” là có tính thực tiễn.
3 Mục tiêu nghiên cứu
dụng vào xây dựng Website hệ thống thông tin khai báo y tế điện tử
quản ký tờ khai y tế, khai báo y tế
Trang 10- Phát biểu được bài toán cần xử lý cho một ứng dụng website khai báo ytế.
việc phát triển ứng dụng website hệ thống khai báo y tế
người dân đang sinh sống trên lãnh thổ Việt Nam hoặc đang có ý định nhập cảnh
về Việt Nam giúp cho người dân có thể dễ dàng khai báo y tế mà không phải trựctiếp đến các cơ quan có thẩm quyền khai báo làm giảm được tình trạng lây nhiễmchéo
dùng
4 Nội dung nghiên cứu
điện tử:
báo khẩn cấp, hướng dẫn khai báo y tế
theo các tình trạng, trạng thái khai báo, xử lý thông tin khai báo …
5 Phạm vi của đề tài
nhập hệ thống khai báo bằng email Đăng nhập hệ thống thành công, người dân tiếnhành nhập thông tin khai báo y tế Khai báo y tế thành công thì sẽ hiển thị màn hình
mã QR Code, người dân có thể tải mã QR Code về máy Ngoài chức năng khai báo,người dân thực hiện chức năng
Trang 11khai hộ hoặc khai báo khẩn cấp Trong trường hợp người dân chưa biết
sử dụng hệ thống khai báo y tế thì người dân vào hướng dẫn khai báo ytế
khẩn cấp, lọc và tìm kiếm các tình trạng khai báo y tế Ngoài ra, nhân viên y tế cóthể chỉnh sửa hoặc xóa thông tin khai báo người dân
6 Phương pháp thực hiện
báo y tế lớn, từ đó phân tích và thiết kế hệ thống website hệ thống thông tin khaibáo y tế
7 Bố cục đề tài
(Nội dung chính đề tài chia thành 3 chương)
Chương 1: Cơ sở lý thuyết
Giới thiệu về các công cụ để ứng dụng vào phát triển phần mềm khai báo điện tử: NodeJS, Javascript, ReactJS và MongoDB
Chương 2: Phân tích thiết kế hệ thống
Phân tích tích yêu cầu, mô tả các biểu đồ use case, biểu đồ trình tự, sơ đồ hoạt động và thiết kế giao diện của từng chức năng hệ thống khai báo
Chương 3: Cài đặt chương trình và kiểm thử hệ thống
Mô tả cách cài đặt phần mềm khai báo y tế, hướng dẫn sử dụng, kết quảđạt được và kiểm thử của phần mềm khai báo y tế
Trang 12CHƯƠNG 1 CƠ SỞ LÝ THUYẾT1.1 Tổng quan về website khai báo y tế
1.1.1 Khai báo y tế
Khai báo y tế là người dân tự khai báo các thông tin của mình, bao gồm:thông tin về hành chính cá nhân, thời gian đã đi, đến ngoài tỉnh trong vòng 14ngày qua; có hay không có các triệu chứng nhiễm Covid-19, Trong cácthông tin trên thì thông tin đi, đến nơi khác trong vòng 14 ngày qua là quantrọng nhất; nó quyết định nhiều hay ít các mốc dịch tễ, tương ứng nhiều hay ítcác F1, F2; từ đó cần phải phong tỏa nhiều hay ít điểm, diện phong tỏa rộnghay hẹp?
năng truy vết, khoanh vùng kịp thời Nếu khai báo y tế ngay sẽ không để phát sinhcác mốc dịch tễ mới, không phát sinh thêm F1, F2
nghiệm ngay Có kết quả xét nghiệm sớm là thông tin quyết định cho
điều tra truy vết
quyết định cách ly y tế
1.1.2 Tình hình khai báo y tế hiện nay
Đối với các cơ quan, tổ chức, doanh nghiệp, cơ sở sản xuất kinh doanh, các chủ hộ kinh doanh, quản lý các địa điểm công cộng tập trung đông người:
điểm kiểm dịch/checkin cho cơ quan, đơn vị, cơ sở sản xuất, địa điểm kinh doanh
để kiểm soát vào và ra cơ quan, đơn vị hằng ngày đối với khách đến và đi thôngqua mã QR
Trang 13dân kết nối internet và khai báo trực tuyến;
QR;
danh sách cho lãnh đạo đơn vị khi có yêu cầu
Đối với người dân:
nguyên tắc 5K của Bộ Y tế
điện thoại thông minh
và kiểm soát vào ra Lưu mã QR code của tờ khai y tế Trường hợp người không
có điện thoại thông minh, người già có thể nhờ người thân khai báo hộ
đông người phải thực hiện việc khai báo y tế, đưa mã QR code tờ khai y tế đểngười kiểm soát quét mã thực hiện check in/check out khi vào/ra
phục vụ truy vết phòng chống dịch khi có yêu cầu
1.2 Các công cụ thiết kế website hệ thống thông tin khai báo y tế
1.2.1 NodeJS
Một nền tảng phát triển độc lập được xây dựng ở trên JavascriptRuntime của Chrome mà chúng ta có thể xây dựng được các ứng dụng mạngmột cách nhanh chóng và dễ dàng mở rộng là công cụ NodeJS
NodeJS có thể được dùng để xây dựng các loại ứng dụng khác nhau nhưcác ứng dụng dòng lệnh, ứng dụng web, ứng dụng trò chuyện theo thời gianthực, máy chủ REST API, Tuy nhiên, NodeJS thường được dùng chủ yếu để
Trang 14xây dựng các chương trình mạng như máy chủ web, tương tự như PHP, Javahoặc ASP.NET.
Phần Core bên dưới của Nodejs được viết hầu hết bằng C++ nên chotốc độ xử lý và hiệu năng khá cao
Nodejs tạo ra được các ứng dụng có tốc độ xử lý nhanh, realtime thờigian thực
Nodejs áp dụng cho các sản phẩm có lượng truy cập lớn, cần mở rộngnhanh, cần đổi mới công nghệ, hoặc tạo ra các dự án Startup nhanh nhất có thể
NodeJS có thể tạo, mở, đọc, ghi, xóa và đóng các tệp ngay khi đangtruy cập trên máy chủ
Xây dựng nội dung cho các trang Web động
Thực hiện thu thập dữ liệu theo yêu cầu cụ thể
Thực hiện truy vấn, sửa, xóa, thêm các dữ liệu trong các hệ quản trị cơ
sở như: Microsoft SQL Server, MySQL, MongoDB, PostgreSQL
1.2.2 Javascript
JavaScript là một ngôn ngữ lập trình của HTML và WEB Nó là nhẹ vàđược sử dụng phổ biến nhất như là một phần của các trang web, mà sự thihành của chúng cho phép Client-Side script tương tác với người sử dụng vàtạo các trang web động Nó là một ngôn ngữ chương trình thông dịch với cáckhả năng hướng đối tượng
Nhiệm vụ của Javascript là xử lý những đối tượng HTML trên trìnhduyệt Nó có thể can thiệp với các hành động như thêm/xóa/sửa các thuộc tínhCSS và các thẻ HTML một cách dễ dàng Hay nói cách khác, Javascript làmột ngôn ngữ lập trình trên trình duyệt ở phía client Tuy nhiên, hiện nay với
sự xuất hiện của NodeJS đã giúp cho Javascript có thể làm việc ở backend
Javascript Framework là một bộ thư viện được xây dựng dựa vào ngônngữ lập trình Javascript Mỗi framework thường được tạo ra để phục vụ chomột lĩnh vực nào đó Ví dụ với Angular và React thì chuyên xử lý frontend,
Trang 15Xây dựng các ứng dụng web cho máy chủ: Đây là một xu hướng côngnghệ có thể nói là rất hót hiện nay (từ 2016 đến giờ) Các doanh nghiệp hiện naykhá hào hứng với các Frame work từ JavaScript như: Node.js, AngularJS,… Cụthể những cái này sẽ hỗ trợ tạo ra các ứng dụng web thiên về tương tác thời gianthực của người dùng Nếu cùng cấu hình máy chủ tương tự thì điều đó là khôngthể đối với PHP, Java, Python, Net khi số lượng người dùng tương tác cùng lúcquá nhiều Máy chủ sẽ không thể nào gánh nổi, nhưng với các Frame work củaJavaScript thì mọi chuyện sẽ hoàn toàn khác.
1.2.3 ReactJS
ReactJS là một thư viện trong đó có chứa nhiều JavaScript mã nguồn
mở và cha đẻ của ReactJS đó chính là một ông lớn với cái tên ai cũng biết đóchính là Facebook Mục đích của việc tạo ra ReactJS là để tạo ra những ứngdụng website hấp dẫn với tốc độ nhanh và hiệu quả cao với những mã hóa tốithiểu Và mục đích chủ chốt của ReactJS đó chính là mỗi website khi đã sửdụng ReactJS thì phải chạy thật mượt thật nhanh và có khả năng mở rộng cao
và đơn giản thực hiện
Thay vì làm việc trên toàn bộ ứng dụng web, ReactJS cho phépDeveloper chia nhỏ cấu trúc UI thành những component đơn giản hơn
ReactJS thường dùng để chạy tại phía Client Nhưng nó cũng có thểchạy được trên Server nếu Server đó hiểu được Javascript, chẳng hạn nhưNodeJS Server
Trang 161.2.4 MongoDB
MongoDB là một database hướng tài liệu, một dạng NoSQL database
Vì thế, MongoDB sẽ tránh cấu trúc table-based của relational database đểthích ứng với các tài liệu như JSON có một schema rất linh hoạt gọi là BSON.MongoDB sử dụng lưu trữ dữ liệu dưới dạng Document JSON nên mỗi mộtcollection sẽ các các kích cỡ và các document khác nhau Các dữ liệu đượclưu trữ trong document kiểu JSON nên truy vấn sẽ rất nhanh
Mongodb chính là một database hướng tài liệu, nên khi đó mọi dữ liệu
sẽ được lưu trữ trong document theo kiểu JSON thay vì lưu theo dạng bảngnhư CSDL quan hệ nên việc truy cập vấn sẽ nhanh chóng hơn
Với các CSDL quan hệ thì chúng ta sẽ có khái niệm bảng, khi đó các cơ
sở dữ liệu quan hệ sẽ sử dụng các bảng để có thể lưu trữ dữ liệu, còn vớiMongodb thì bạn cần phải sử dụng khái niệm collection thay cho bảng
Mongodb chính là một hệ quản trị cơ sở dữ liệu mà trong đó mã nguồn
mở là CSDL thường thuộc NoSql và được hàng triệu người sử dụng
So với RDBMS thì trong Mongodb collection thường sẽ ứng với table,còn document sẽ tương ứng với row MongoDB sẽ sử dụng các document đểthay cho row trong RDBMS
Với các collection có trong Mongodb thường sẽ được cấu trúc rất linhhoạt nên nó cho phép các dữ liệu được lưu trữ mà không cần phải tuân theobất kỳ một cấu trúc nhất định nào
Các thông tin có liên quan đều sẽ được lưu trữ cùng với nhau để ngườidùng có thể truy cập truy vấn nhanh hơn thông qua các ngôn ngữ truy vấnMongodb
Trang 17sở dữ liệu như cho phép xem, truy xuất, xử lý dữ liệu,…
View (V): Đây là phần giao diện (theme) dành cho người sử dụng Nơi
mà người dùng có thể lấy được thông tin dữ liệu của MVC thông qua các thaotác truy vấn như tìm kiếm hoặc sử dụng thông qua các website Thôngthường, các ứng dụng web sử dụng MVC View như một phần của hệ thống,nơi các thành phần HTML được tạo ra Bên cạnh đó, View cũng có chức năngghi nhận hoạt động của người dùng để tương tác với Controller Tuy nhiên,View không có mối quan hệ trực tiếp với Controller, cũng không được lấy dữliệu từ Controller mà chỉ hiển thị yêu cầu chuyển cho Controller mà thôi Vídụ: Nút “delete” được tạo bởi View khi người dùng nhấn vào nút đó sẽ có mộthành động trong Controller
Controller (C): Bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưađến thông qua view Từ đó, C đưa ra dữ liệu phù hợp với người dùng Bêncạnh đó, Controller còn có chức năng kết nối với model
Trang 18CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 Phân tích yêu cầu
“Hệ thống quản lý khai báo y tế” tập trung vào nhiệm vụ liên quan đếnviệc kiểm soát và nắm bắt thông tin và lộ trình di chuyển của toàn dân, giúpcác đơn vị có chức năng dễ dàng thống kê được số lượng đối tượng cần lưu đểphục vụ cho công tác chống dịch Đặc biệt, những người liên quan đến các cabệnh, người đi từ tâm dịch trở về, người có biểu hiện sốt, ho, khó thở,… sẽđược cách ly tập trung và lấy mẫu xét nghiệm tại chỗ Các trường hợp khác sẽđược tư vấn, hướng dẫn thực hiện các biện pháp phòng chống dịch khi về địaphương Với tình hình hiện nay người nhiễm covid cách ly tại nhà rất nhiều,
hệ thống khai báo y tế giúp cán bộ y tế cập nhật thông tin và tình hình sứckhỏe của bệnh nhân một cách nhanh chóng và có phương pháp điều trị kịpthời hạn chế được rủi ro đáng tiếc xảy ra
Quy trình nghiệp vụ của người dân: Người dân sau khi đăng ký tàikhoản và đăng nhập bằng email thoại sẽ bắt đầu tiến hành khai báo các thôngtin cá nhân, sau khai báo, người dân có thể chỉnh sửa thông tin Khi người dânbấm gửi thông tin, họ sẽ nhận được mã QR Code chứa đựng các thông tin của
họ Người dân có thể tải mã QR Code về dưới dạng hình ảnh Thêm vào đóngười dân có thể tiến hành khai báo khẩn cấp trong trường hợp đặc biệt.Ngoài ra, người dân thực hiện khai hộ và xem hướng dẫn khai báo y tế
Quy trình nghiệp vụ của nhân viên Y tế: Nhân viên y tế sau khi đăngnhập vào hệ thống sẽ có thể tìm kiếm và quản lý thông tin người dân, checkthông tin của người dân, thống kê số lượng người đã khai báo, hỗ trợ
Trang 192.2 Các yêu cầu phi chức năng
Bảng 1.1: Các yêu cầu phi chức năng
- Giao diện tiếng Việt
gần gũi, trực quan và dễ sử dụngđối với người dùng
cần được vá trong tương lai
- Tốc độ xử lý nhanh trong hầu hết
thời với nhiều vai trò khác nhau
2.3 Biểu đồ use case
2.3.1 Biểu đồ use case tổng quan
Khai bao khan cap
Xem huong dan Dang nhap Tim kiem khai bao y te Quan ly thong tin ca nhan
Hình 2.1 Biểu đồ use case tổng quan
Trang 20gồm 3 tác nhân:
Trang 21vào hệ thống và tiến hành khai báo các thông tin cá nhân Sau khi hoàn thành cácthông tin cá nhân, người dân sẽ nhận được mã QR Code chứa đựng các thông tin vừakhai báo, mã QR Code có thể được tải về Ngoài ra, người dân có thể cập nhật lạithông tin khai báo, khai báo hộ hoặc khai báo khẩn cấp
sẵn Họ có các chức năng như quản lý thông tin người dân, thống kê số liệu, tìmkiếm thông tin, check thông tin người dân
2.3.2 Use case phân rã người dân đăng nhập
Dang ky (from Use Case View)
Hình 2.2: Biểu đồ use case phân rã đăng nhập của người dân
Sau khi người dân đã đăng ký tài khoản bằng email, hệ thống sẽ kiểmtra địa chỉ email và gửi mã otp về tài khoản email đăng ký, họ sẽ nhận được
mã otp để truy cập vào hệ thống và bắt đầu tiến hành khai báo
Trang 222.3.3 Use case phân rã quản lý thông tin cá nhân người dân
Cap nhat thong tin
Thay doi thong tin
Chinh sua thong tin
Quan ly thong tin ca nhan
Them thong tin NguoiDan
(from Use Case View)
Khai bao ho
Khai bao khan cap
Hình 2.3: Biểu đồ use case phân rã quản lý thông tin cá nhân
Người dân có thể chỉnh sửa lại thông tin cá nhân, cập nhật lại thông tin
khai báo hoặc có thể tiến hành khai báo hộ Sau khi cập nhật lại thông tin thì
hệ thống sẽ tạo lại mã QR Code có chứa thông tin đã được cập nhật Toàn bộ
thông tin khai báo của người dân sẽ được gửi lên hệ thống để các nhân viên y
tế có thể kiểm tra Ngoài ra người dân có thể tiến hành khai báo khẩn cấp
trong những trường hợp đặc biệt
2.3.4 Use case phân rã quản lý thông tin người dân
Tim kiem thong tin
Thong tin nguoi dan
(from Use Case View) (from Use Case View)
<<extend>>
Trang thai xu ly
Trang 23Xoa thong tin
Hình 2.4: Biểu đồ use case phân rã quản lý thông tin người dân
Trang 24Nhân viên y tế có chức năng quản lý các thông tin của người dân, saukhi người dân khai báo và gửi thông tin, nhân viên y tế sẽ nhận được cácthông tin đó và tiến hành xử lý, nhân viên y tế có thể tra cứu thông tin ngườidân qua tên, số điện thoại, ngày tháng khai báo,… sau đó tiến hành xử lý Cóthể để lại trạng thái xử lý để các nhân viên khác biết được tình trạng.
Hệ thống sẽ thu thập số liệu khai báo khẩn cấp và thống kê dưới dạngbiểu đồ để nhân viên y tế dễ kiểm soát
Sau khi đã xử lý các thông tin khai báo, nhân viên y tế có thể xóa cácthông tin đã được xử lý
2.3.5 Use case phân rã tạo mã QR
<<extend>>
NguoiDan
Hình 2.5: Biểu đồ use case phân rã quản lý tài khoản
Khi người dân khai báo y tế thành công sẽ chuyển sang màn hình mã
QR Code cho phép người dân tải mã QR để dễ dàng khai báo y tế khi dichuyển khỏi vùng dịch
2.4 Mô tả chi tiết use case
2.4.1 Mô tả use case Đăng nhập của nhân viên y tế
Use case này cho phép nhân viên y tế đăng nhập hệ thống để thực hiệncác chức năng của mình
y tế Hiển thị lên màn hình đăng nhập
CSDL Cho phép nhân viên y tế đăng nhập, hiển thị lên màn hình
Trang 25Use case kết thúc
hợp lệ, hệ thống sẽ hiển thị thông báo “không tồn tại tài khoản”, ngược lại use case
sẽ tiếp tục
quá trình thực hiện use case thì hệ thống sẽ hiển thị thông báo “lỗi kết
nối” và use case kết thúc
Cần kiểm soát quyền thực hiện use case này để đảm bảo tính an toàn
và bảo mật
Người quản trị, nhân viên y tế đã có tài khoản đăng nhập
Nếu use case này thành công thì hiển thị màn hình chính Nếu không trạng thái của hệ thống sẽ không thay đổi
Không có
2.4.2 Mô tả use case Đăng nhập của người dân
Use case này cho phép người dân đăng nhập hệ thống để thực hiện các chức năng của mình
báo y tế Hiển thị lên màn hình đăng nhập
Trang 264) Hệ thống kiểm tra thông tin đã hợp lệ hay chưa Cho phép người dân nhập mã OTP.
Cho phép người dùng đăng nhập và khai báo y tế
Use case kết thúc.
không hợp lệ, hệ thống sẽ hiển thị thông báo “không tồn tại email”, ngược lại usecase sẽ tiếp tục
không hợp lệ, hệ thống sẽ hiển thị thông báo “Mã otp không đúng”, ngược lại usecase sẽ tiếp tục
trong vòng 30 phút, hệ thống sẽ hiển thị thông báo “Mã otp không đúng”, ngượclại use case sẽ tiếp tục
quá trình thực hiện use case thì hệ thống sẽ hiển thị thông báo “lỗi
kết nối” và use case kết thúc
Cần kiểm soát quyền thực hiện use case này để đảm bảo tính an toàn
và bảo mật
Người quản trị, nhân viên y tế đã có tài khoản đăng nhập
Nếu use case này thành công thì hiển thị màn hình chính Nếu không trạng thái của hệ thống sẽ không thay đổi
Không có
Trang 272.4.3 Mô tả use case Tạo QR code
Use case này cho phép người dân tạo mã QR code để thực hiện các chức năng của mình
thống khai báo y tế Hiển thị lên màn hình điền thông tin khai báo y tế
màn hình mã QR Code
Use case kết thúc
hợp lệ, hệ thống sẽ hiển thị thông báo “Yêu cầu nhập đúng và đủ thông tin”, ngượclại use case sẽ tiếp tục
quá trình thực hiện use case thì hệ thống sẽ hiển thị thông báo “lỗi
kết nối” và use case kết thúc
Cần kiểm soát quyền thực hiện use case này để đảm bảo thông tin khai báo hợp lệ, chính xác
Người dân nhập mã OTP thành công
Nếu use case này thành công thì hiển thị màn hình mã QR code Nếu không trạng thái của hệ thống sẽ không thay đổi
Trang 28● Điểm mở rộng
Không có
2.4.4 Mô tả use case quản lý thông tin người dân
Use case này cho phép nhân viên y tế xem, thêm, sửa, xóa thông tin khaibáo y tế
Hệ thống lấy thông tin danh sách khai báo y tế gồm thông tin: Họ tên, email, sốđiện thoại, ngày sinh, giới tính, địa chỉ từ bảng FORM và hiển thị danh sách khaibáo y tế lên màn hình
thống sẽ lấy tên người dân từ bảng FORM hiển thị lên màn hình
Covid-19 hoặc khai báo y tế
cả, khẩn cấp, cảnh báo, thường
thống sẽ sẽ lấy các thông tin của người dân khai báo y tế gồm: Họ tên, email, sốđiện thoại, ngày sinh, giới tính, quốc tịch, địa chỉ từ bảng USER và hiển thị lênmàn hình
“Lưu thông tin” Hệ thống cập nhật thông tin danh mục vào bảng FORM sau đóhiển thị danh sách sản phẩm sau khi được cập nhật
sách các giỏ hàng Hệ thống hiển thị một màn hình xác nhận xóa
Trang 29trong danh sách người dân đã khai báo y tế và cập nhật lại bảng FORM sau đó lấythông tin về các người dân đã khai báo từ bảng FORM và hiển thị lên màn hình
Use case kết thúc
nối được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use casekết thúc
nào thì hệ thống sẽ hiển thị “No data” và use case kết thúc
thông báo lỗi, không cho phép sửa thông tin và use case kết thúc
thống sẽ hiển thị một thông báo lỗi và use case kết thúc
Không có
Người dân đã khai báo y tế thành công
Không có
Không có
2.4.5 Mô tả use case người dân cập nhật thông tin
Use case này cho phép người dân cập nhật thông tin khai báo y tế
công Hệ thống sẽ lấy thông tin khai báo y tế từ bảng FORM và hiển thị lên mànhình
Trang 302) Người dân sửa thông tin khai báo y tế sau đó kích vào nút
“Gửi tờ khai” Hệ thống cập nhật thông tin bộ sưu tập vào bảng FORM và hiển thịlên màn hình
Use case kết thúc
nếu không kết nối được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi
và use case kết thúc
báo y tế thì hệ thống sẽ thông báo lỗi “Bạn nhập sai thông tin” và use case kếtthúc
Không có
Người dân phải đăng nhập thành công hệ thống
Khi cập nhật xong thông tin sẽ hiển thị màn hình mã QR code
Không có
2.4.6 Mô tả use case người dân khai báo khẩn
Use case này cho phép người dân khai báo thông tin khẩn cấp
màn hình khai báo y tế Hệ thống sẽ hiển thị màn hình yêu cầu nhập thông tin khaibáo khẩn cấp
“Thêm mới” Hệ thống sẽ thêm một bản ghi mới vào bảng FORM
Trang 31không kết nối được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi vàuse case kết thúc
báo y tế thì hệ thống sẽ thông báo lỗi “Bạn nhập sai thông tin” và
use case kết thúc
Không có
Người dân phải đăng nhập thành công hệ thống
Khi cập nhật xong thông tin sẽ hiển thị màn hình mã QR code
Không có
Trang 322.5 Biểu đồ trình tự
2.5.1 Chức năng đăng nhập của người dân
: NguoiDan : DangNhapUI : DangNhapController : User : ICsdl : CSDL
1: Nhap email ()
2: Kich nut "Nhan ma otp" ()
3: Gui yeu cau dang nhap ()
4: Lay bang user ()
5: Lay bang user ()
6: setOtp()
7: return ket qua
8: Kiem tra email ()
9: Nhap ma otp ()
10: Lay thong tin dang nhap ()
11: Lay bang user ()
12: Lay bang user ()
13: getOtp()
14: return ket qua
Hình 2.6: Biểu đồ trình tự chức năng đăng nhập của người dân
Người dân nhập địa chỉ email vào form đăng nhập, hệ thống sẽ kiểm traemail và báo lỗi khi sai email Với kết quả email chính xác, hệ thống gửi mãotp tới địa chỉ email, người dân nhập mã otp để tiến hành đăng nhập Mã otpchỉ có giá trị trong 30p, sau khoảng thời gian này người dân cần yêu cầu gửilại mã otp Khi đăng nhập thành công, hệ thống sẽ điều hướng tới trang khaibáo y tế
Trang 332.5.2 Chức năng đăng nhập của nhân viên y tế
: DangNhapUI : DangNhapController : Admins : ICsdl : CSDL 1: Nhap ten dang nhap ()
2: Nhap mat khau ()
3: Lay thong tin dang nhap ()
4: Lay bang ADMINS ()
5: Lay bang ADMINS() 6: getAdmins()
7: return ket qua
Hình 2.7: Biểu đồ trình tự chức năng đăng nhập của admin và nhân viên y tế
Nhân viên y tế đăng nhập vào hệ thống qua form đăng nhập, thông tin đượcgửi lên và hệ thống so sánh với thông tin ở data, sau đó hệ thống sẽ gửitrả kết quả lại và được hiển thị trên giao diện Dữ liệu chính xác hệ thống sẽbáo đăng nhập thành công và báo thất bại khi các thông tin đăng nhập sai
: NhanVienYTe
Trang 342.5.3 Chức năng tạo mã QR code
: NguoiDan : : TaoMaQRController : Form : ICsdl : CSDL
1: Nhap thong tin khai
TaoMaQRUI bao() 2: Kich nut "Gui thong tin"()
3: Lay thong tin khai bao()
4: CreateKhaiBao()
5: Lay bang FORM()
6: Lay bang FORM() 7: return ket qua
8: hien thi man hinh ma QR code()
Hình 2.8: Biểu đồ trình tự chức năng tạo mã QR Code
Người dân nhập thông tin khai báo cá nhân và gửi yêu cầu lên hệ thống,
hệ thống sẽ xác nhận yêu cầu và kiểm tra thông tin nhập, nếu chính xác hệ
thống xác nhận và tạo mã QR Code và hiển thị trên giao diện người dân Nếu
thông tin sai, hệ thống yêu cầu nhập lại thông tin cho chính xác
Trang 352.5.4 Chức năng cập nhật thông tin khai báo người dân
: NguoiDan Hien thi thong tin da khai bao() : : Form : ICsdl
: CSDL : CapNhatThongTinUI CapNhatThongTinController
1: Dang nhap thanh cong()
2: Lay thong tin khai bao()
3: getFormByID() 4: return ket qua
5: Hien thi thong tin da khai bao()
6: Sua thong tin khai bao y te()
7: Kich nut "Gui thong tin"()
8: Sua thong tin khai bao()
9: updateFormByID() 10: Cap nhat bang FORM()
11: Cap nhat bang FORM() 12: return ket qua
13: Hien thi man hinh ma QR code()
Hình 2.9: Biểu đồ trình tự chức năng cập nhật thông tin người dân
Người dân có thể sửa lại thông tin khai báo và sau đó cập nhật lại trên
hệ thống, hệ thống tiếp nhận yêu cầu và xác minh thông tin, nếu chính xác thì
yêu cầu cập nhật thông tin được xử lý thành công và hệ thống sẽ gửi về một
mã QR Code mới, nếu sai thông tin hệ thống sẽ thông báo để người dân nhập
lại chính xác
Trang 362.5.5 Chức năng quản lý thông tin người dân
: NhanVienYTe:QuanLyThongTinNguoiDanUI: : Form : ICsdl : CSDL
1: Dang nhap thanh cong()
QuanLyThongTinNguoiDanController
2: Lay thong tin nguoi dan khai bao()
3: Doc bang FORM()
4: Doc bang FORM()
5: getFORM()
6: return ket qua
7: Nhap ten nguoi dan()
8: Kich nut enter()
9: Lay thong tin theo ten()
10: Doc bang FORM()
11: Doc bang FORM()
12: GetHoTen() 13: return ket qua
14: Hien thi danh sach tim kiem theo ten()
15: Kich nut "Chi tiet"()
16: Sua thong tin nguoi dan()
17: Kich nut "Cap nhat"()
18: Sua thong tin khai bao()
19: updateFormByID() 20: Cap nhat bang FORM()
21: Cap nhat bang FORM() 22: return ket qua
23: Hien thi danh sach khai bao()
24: Kich nut "Xoa"()
25: Hien thi man hinh xac nhan xac()
26: Kich nut "Dong y"()
27: Xoa thong tin khai bao()
Trang 3728: deleteFormByID() 29: Cap nhat bang FORM()
30: Cap nhat bang FORM() 31: return ket qua
32: Hien danh sach khai bao()
Trang 382.6 Sơ đồ hoạt động
2.6.1 Chức năng đăng nhập của nhân viên y tế
Vao man hinh dang nhap
Hien thi form dang nhap
Nhap thong tin
Chon dang nhap
Dang nhap that bai
Kiem tra thong tin Dang nhap thanh cong
Hình 2.10: Sơ đồ hoạt động nhân viên y tế đăng nhập
Nhân viên y tế đăng nhập bằng tài khoản đã được cấp Hệ thống báođăng nhập thành công khi thông tin đăng nhập là chính xác, nếu sai thông tin
Hien form dang nhap Sai
Trang 39Kiem tra dia chi email Dung
Gui ma otp
Sai
Dung
Dang nhap thong cong
Nhap dia chi email
Gui yeu cau dang nhap
Nhap ma otp
Kiem tra thong tin
Hình 2.11: Sơ đồ hoạt động chức năng người dân đăng nhập
Người dân nhập địa chỉ email để đăng nhập, hệ thống kiểm tra địa chỉemail, nếu sai sẽ yêu cầu nhập lại Hệ thống gửi mã otp về địa chỉ email đăng
ký nếu đúng email Người dân nhập mã otp để tiến hành đăng nhập vào hệthống
Trang 402.6.3 Chức năng tạo QR code của người dân
Vao trang khai bao
Sai
Kiem tra thong tin Dung
code
Hình 2.12: Sơ đồ hoạt động người dân tạo QR code
Người dân sau khi đăng nhập thành công sẽ tiến hành khai báo các
thông tin cần thiết, hệ thống sẽ kiểm tra thông tin nhập vào, nếu chính xác thì
thông tin sẽ được xác nhận và hệ thống tạo mã QR Code và gửi về, nếu thông
tin không chính xác thì người dân sẽ phải nhập lại các thông tin