CHƯƠNG 1. TỔNG QUAN HỆ THỐNG 1. Mô tả bài toán Phần mềm ComMCare là một phần mềm ứng dụng di động. Chạy trên cả hai nền tảng ios và android.
Mục đích của phần mềm là hỗ trợ và theo dõi các bệnh nhân bị Covid đang điều trị tại nhà. Nhiệm vụ của các bác sĩ là hàng ngày theo dõi tình hình sức khỏe và khám bệnh cho bệnh nhân nhằm phát hiện ra các trường hợp bệnh chuyển biến nặng sẽ đề nghị bệnh nhân nhập viện ngay lập tức. Các bạn tình nguyện viên có nhiệm vụ hỗ trợ bệnh nhân và bác sĩ khi cần thiết. Bệnh nhân truy cập phần mềm để làm theo các chỉ định và yêu cầu của bác sĩ trong ngày.
Ngoài ra, khi bệnh nhân thấy tình trạng bệnh có tiến triển xấu, trên ứng dụng phần mềm có nút SOS để bệnh nhân ấn vào nhằm mục đích yêu cầu bác sĩ trực gọi xe cấp cứu đến đúng lúc. Có thê liên kết với các nhà cung cấp bao gồm bệnh viện và nhà thuốc nhằm hỗ trợ bệnh nhân. Mô tả hệ thống 1. Sơ đồ tổng quan chức năng hệ thống Hình 1.
Sơ đồ chức năng hệ thống 1. Các tác nhân tham gia hệ thống 1 Tác nhân Vai trò ADMIN - Quản lý các modules có trong hệ thống. Bác sĩ - Chịu trách nhiệm với bệnh nhận mình theo dõi. - Quản lý hồ sơ bệnh nhân mình theo dõi.
- Khám bệnh cho bệnh nhân. - Quản lý đơn thuốc và trò chuyện. - Quản lý yêu cầu. - Bác sĩ được phép sử dụng tài khoản ADMIN.
Tình nguyện viên - Hỗ trợ bệnh nhân khi bệnh nhân có yêu cầu. - Quản lý yêu cầu. - Làm chỉ định hàng ngày do bác sĩ yêu cầu. Bệnh nhân - Những người dùng là F0 hoặc người phụ thuộc là F0.
- Làm chỉ định theo yêu cầu của bác sĩ. - Quản lý yêu cầu. - Xem danh sách đơn thuốc. 2 Người phụ thuộc - Là đối tượng sử dụng không có chứng minh thư hoặc số điện thoại hoặc họ muốn phụ thuộc vào người khác giúp đỡ.
- Là người dùng có tất cả chức nặng của một bệnh nhân nhưng không đăng nhập được vào hệ thống. - Khi tạo bệnh nhân là người phụ thuộc sau đó bỏ qua thông tin người dùng và bệnh nhân đó phụ thuộc vào một bệnh nhân chính. Các tác nhân tham gia hệ thống 1. Các chức năng chính của hệ thống Use-case Chức năng UC#01-Quản lý đơn thuốc Cho phép bác sĩ kê đơn thuốc cho bệnh nhân mình đang theo dõi.
UC#02-Tạo thông tin người dùng Cho phép bác sĩ tạo bệnh nhân và nhận bệnh nhân đó vào để quản lý. UC#03-Khám bệnh hàng ngày cho bệnh Cho phép bác sĩ tạo chỉ định cho bệnh nhân, nhân chẩn đoán bệnh cho bệnh nhân. Xem lịch sử chuẩn chẩn đoán, chuyển trạng thái bệnh nhận và chuyển nhãn cho bệnh nhân. UC#04-Quản lý yêu cầu Cho phép bác sĩ tạo yêu cầu cho bệnh nhân, xem danh sách yêu cầu và nhận yêu cầu.
Cho phép tình nguyện viên xem danh sách yêu cầu và nhận yêu cầu từ bệnh nhân. Cho phép bệnh nhân xem danh sách yêu cầu từ bác sĩ và yêu cầu trợ giúp từ tình nguyện viên. Cho phép hệ thống kiểm quản lý bao gồm: 3 xem yêu cầu, thêm yêu cầu, tìm kiếm yêu cầu, sửa yêu cầu và xóa yêu cầu. UC#05-Nhận bệnh nhân chưa được ai Cho phép bác sĩ nhận bệnh nhân khi bệnh chăm sóc nhân đó chưa được bác sĩ nào nhận.
UC#06-Trò chuyện Nhóm chát bao gồm bác sĩ, bệnh nhân, tình nguyện viên do bác sĩ thêm vào. UC#07-Xem thông báo Cho mọi người xem thông báo khi có thông báo gửi tới. UC#08-Xem thông tin danh sách bệnh Cho phép bác sĩ xem thông tin bệnh nhân mà nhân đang theo dõi mình đang theo dõi. UC#09-Đăng nhập Cho phép bác sĩ, tình nguyện viên, bệnh nhân đăng nhập và sử dụng chức năng của hệ thống.
UC#10-Đăng xuất Cho phép bác sĩ, tình nguyện viên, bệnh nhân đăng xuất khỏi hệ thống. UC#11-Làm chỉ định task hàng ngày Cho phép bệnh nhân xem danh sách chỉ định hàng ngày phải làm và hoàn thành chỉ định đó. Cho phép tình nguyện viên giúp bệnh nhân hoàn thành chỉ định và nhắc bệnh nhân mau chóng hoàn thành chỉ định. UC#12-Xem danh sách đơn thuốc Cho phép bệnh nhân xem danh sách đơn thuốc bác sĩ kê đơn.
UC#13-Gửi SOS Cho phép bệnh nhân gửi cấp cứu khi gặp tình trạng nguy kịch lên hệ thống và bác sĩ. UC#14-Quản lý nhãn bệnh nhân Cho phép hệ thống quản lý nhãn bao gồm: thêm nhãn, sửa nhãn, tìm kiếm nhãn và xóa nhãn. UC#15-Quản lý nhà cung cấp Cho phép hệ thống quản lý nhà cung cấp bao gồm: thêm nhà cung cấp, sửa nhà cung cấp, 4 tìm kiếm nhà cung cấp và xóa nhà cung cấp. UC#16-Thống kê Cho phép hệ thống thống kê số liệu và thông tin.
UC#17-Quản lý người dùng Cho phép hệ thống quản lý tài khoản thông tin người dùng bao gồm: thêm, tìm kiếm, sửa và xóa. UC#18-Quản lý báo cáo test Cho phép hệ thống quản lý bệnh nhân và tạo báo cáo test cho bệnh nhân. Các chức năng chính của hệ thống 5 CHƯƠNG 2. CÔNG NGHỆ SỬ DỤNG VÀ KIẾN TRÚC TỔNG THỂ 2.
Các công nghệ sử dụng 2.NET Core là một open-source mới và framework đa nền tảng (cross-platform) cho việc xây dựng những ứng dụng hiện tại dựa trên kết nối đám mây, giống như web apps, IoT và backend cho mobile. Ứng dụng ASP.NET Core có thể chạy trên .NET Core hoặc trên phiên bản đầy đủ của. Nó được thiết kế để cung cấp và tối ưu development framework cho những ứng dụng mà được triển khai trên đám mây (clound) hoặc chạy on-promise.NET bao gồm các thành phần hướng module nhằm tối thiểu tài nguyên và chi phí phát triển, như vậy người dùng giữ lại được sự mềm dẻo trong việc xây dựng giải pháp của người dùng. Người dùng có thể phát triển và chạy những ứng dụng ASP.NET Core đa nền tảng trên Windows, Mac và Linux.NET SignalR là một thư viện cho các lập trình viên Asp.Net đơn giản hóa quá trình thêm chức năng web real-time trong phát triển ứng dụng.
Đó là khả năng server đẩy nội dung tới client đã được kết nối một cách tức thì. Nó khác với giao thức HTTP thông thường: server đợi yêu cầu từ client và trả về nội dung tương ứng. SignalR có thể sử dụng trong bất kì chức năng web real-time nào. Trong đó ứng dụng chat trên web là một ví dụ điển hình.
Ngoài ra, các ứng dụng cho dashboards, monitoring, collaborative là những gợi ý cho việc sử dụng SignalR. SignalR cung cấp một API đơn giản cho việc tạo server-to-client remote procedure call 6 (RPC) để gọi những hàm javascript trong trình duyệt (và những nền tảng khác) từ code .Net của server-side. SignalR cũng bao gồm API cho việc quản lý kết nối (connect và disconnect events) và những kết nối nhóm. SignalR xử lý quản lý kết nối một cách tự động, và cho người dùng truyền đi thông điệp tới tất cả các client đã được kết nối một cách đồng loạt, giống như một chat room.
Người dùng cũng có thể gửi những thông điệp tới những client được xác định. Kết nối giữa client và server là liên tục, không giống như kết nối HTTP cổ điển, cái mà sẽ thành lập lại kết nối cho mỗi lần giao tiếp. SignalR hỗ trợ chức năng "server push", trong server code có thể gọi tới client code trong trình duyệt bởi "Remote Procedure Calls" (RPC), hơn là sử dụng Service Bus, SQL Server hay Redis. Firebase 7 Firebase là dịch vụ cơ sở dữ liệu hoạt động trên nền tảng đám mây – cloud.
Kèm theo đó là hệ thống máy chủ cực kỳ mạnh mẽ của Google. Chức năng chính là giúp người dùng lập trình ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu. Cụ thể là những giao diện lập trình ứng dụng API đơn giản. Mục đích nhằm tăng số lượng người dùng và thu lại nhiều lợi nhuận hơn.
Đặc biệt, còn là dịch vụ đa năng và bảo mật cực tốt. Firebase hỗ trợ cả hai nền tảng Android và IOS. Không có gì khó hiểu khi nhiều lập trình viên chọn Firebase làm nền tảng đầu tiên để xây dựng ứng dụng cho hàng triệu người dùng trên toàn thế giới. Identity server 4 IdentityServer4 là một phần mềm phát hành mã thông báo bảo mật cho khách hàng IdentityServer4 chịu trách nhiệm tạo ra một dịch vụ xác thực hoàn chỉnh, với đầu vào và đầu ra phiên duy nhất cho nhiều loại ứng dụng khác nhau, chẳng hạn như di động, web, bản địa 8 hoặc thậm chí các dịch vụ khác.
Với việc sử dụng IdentityServer4, chúng ta chỉ cần tạo một trang đăng nhập và đăng xuất (và có thể đồng ý), mọi thứ khác có thể được thực hiện bởi phần mềm trung gian IdentityServer4. Do đó, các ứng dụng khách có thể giao tiếp với nó bằng các giao thức chuẩn. IdentityServer4 cũng có thể được sử dụng để bảo mật các API web. Grpc gRPC là một khung cộng tác RPC hiệu suất cao mã nguồn mở hiện đại có thể chạy trong mọi môi trường.
Nó có thể kết nối hiệu quả các dịch vụ trong và giữa các trung tâm dữ liệu với sự hỗ trợ có thể cắm được để cân bằng tải, truy tìm, kiểm tra tình trạng và xác thực. Nó cũng được áp dụng trong lĩnh vực máy tính phân tán cuối cùng để kết nối thiết bị, ứng dụng di động và trình duyệt với các dịch vụ phụ trợ. gRPC là một RPC framework giúp người dùng kết nối giữa các service trong hệ thống, nó hỗ trợ load balancing, tracing, health checking và authentication hỗ trợ từ mobile, trình duyệt cho tới back-end service. gRPC tập trung vào hiệu suất cao và sử dụng giao thức HTTP/2 để truyền tải các message nhị phân.
Nó cũng dựa vào ngôn ngữ Protocal Buffer để định nghĩa các service contact. gRPC sử dụng Protocol Buffer để transfer data thay vì JSON/XML truyền thống nên tốc độ được gia tăng đáng kể, ngoài ra nó cũng dùng RPC thay cho REST API. Trong việc thiết kế API sự khác biệt giữa REST API với RPC là REST được thiết kế tập trung vào Resource còn RPC thì tập trung vào action. Sql server Microsoft SQL Server (MSSQL) là hệ thống quản lý cơ sở dữ liệu quan hệ được phát 9 triển bởi Microsoft.
MSSQL là một hệ quản trị cơ sở dữ liệu rất phổ biến trên thế giới, nó là nơi chứa dữ liệu cho nhiều phần mềm doanh nghiệp lớn, nhiều website cũng như hệ thống sản xuất. MSSQL rất dễ sử dụng. MSSQL đi kèm với các công cụ tuyệt vời mà sẽ giúp lập trình viên tiết kiệm rất nhiều thời gian trong các lĩnh việc sửa chữa và năng cấp. Với MSSQL, việc thiết lập gần như mọi thứ, từ cài đặt trên máy ảo đến việc viết và chỉnh sửa truy vấn là vô cùng dễ dàng với MSSQL.