Đặ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ủ • Đối tượng: Những người có nhu cầu khám bệnh online • Tính mới/ khác b
Trang 1ĐỒ ÁN 1 WEBSITE ĐẶT LỊCH KHÁM BỆNH ONLINE
Online Medicial Examination schedule
Trang 2Cán bộ hướng dẫn: ThS.Huỳnh Tuấn Anh
Thời gian thực hiện: Từ ngày 1/10/2021 đến ngày 31/12/2021
Sinh viên thực hiệ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ột cá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
Trang 33
• 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ác hà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ủ
• Đối tượng: Những người có nhu cầu khám bệnh online
• Tính mới/ khác biệt về chức năng:
Khảo sát qua các trang khám bệnh online của Việt Nam hiện nay như
umc.medpro.com.vn, aiheath.com.vn,… nhóm nhận thấy:
Các trang web khám bệnh online đều trình bày theo hình thức đơn giản, khiến người dùng dễ dàng sử dụng khi lần đầu vào trang web Cũng vì thế mà nhóm cũng đã thiết kế giao diện gọn gàng không rối mắc
Nhóm em sẽ hoàn thành các chức năng cần thiết như hỗ trợ tư vấn, đặt lịch, trao đổi trực tiếp với bác sĩ, quản lý lịch khám bệnh
Trang 4Quản lý tài khoản
Quản lý bác sĩ, chuyên khoa, cơ sở y tế
Tra cứu các thông tin bác sĩ, chuyên khoa, cơ sở y tế
Quản lý lịch khám bệnh của bác sĩ và bệnh nhân
Quản lý tìm kiếm thông tin theo bác sĩ, bệnh nhân
• Phương pháp thực hiện:
• Làm việc cá nhân, sử dụng request để lấy thông tin từ những trang web cụ thể, lưu xuống database và xuất lên cho người dùng thấy
• Xậy dựng database với mySQL
• Xây dựng hệ thống Restful API với nodejs và express
Trang 5- 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ác hà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ủ
- Reactjs là một frontend được nhiều phần mềm sử dụng vì tính phong phú và đa dạng, được nhiều thư việc hỗ trợ, nên có thể tuỳ biến phần frontend trở nên đẹp hơn mà không thô cứng
- ExpressJs là công nghệ sử dụng ở dưới phần backend Nodejs, giúp xây dựng các API để gọi tới MySQL
- Postman là một chương trình ngoài để kiểm tra các API một cách độc lập mà không cần phải thao tác trên ứng dụng
- Visual Code là phần mềm để viết và thực thi các dòng lệnh
• Kết quả mong đợi:
- Hoàn thiện ứng dụng web đặt lịch khám bệnh online đáp ứng đủ các nhu cầu cơ bản
- Giao diện dễ thao tác, đăng kí lịch khám bệnh, hiển thị thông tin cho người dùng
• Định hướng phát triển: Mở rộng thêm các trang web khác, thêm các tính năng mới tiện lợi cho người dùng
Trang 66
Kế hoạch thực hiện: (thời gian thực hiện trong 2 tuần)
công Phase 1: Tìm hiểu và xây dựng ứng dụng web có
backend và frontend
4 tuần
Express + Reactjs + MySQL
Vũ, Cảnh
Nodejs + Express + Reactjs
2.1
- Xây dựng ứng dụng cơ bản để hiểu về luồng
chạy của các ngôn ngữ, kết hợp 2 sever nodejs và
reactjs thành 1
Tuần 3 – 4 (16/10/2021 – 30/10/2021)
Vũ, Cảnh
Phase 2: Xây dựng ứng dụng thu nhập và chia sẻ
thông tin của các trang web
6 tuần
MySQL
Trang 77
3.1
- Tạo database và kết nối MySQL
- Tạo API để lấy thông tin từ một đường link cụ
thể, xuất ra thông tin và trả về cho người dùng
- Tạo API thêm, sửa, xoá các lĩnh vực
Tuần 5 – 10 (31/10/2021 –
4.1
- Tạo trang web với Reactjs
- Gọi các API từ Backend lên Frontend để sử dụng
- Thiết kế và chỉnh sửa UI/UX
Vũ, Cảnh
Trang 99
Lờ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 Đại học Công nghệ thông tin – Đại học Quốc gia TP.HCM và quý thầy cô khoa Công nghệ phần mềm đã 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 thầy Trần Anh Dũng, 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 tụi em hoàn thành báo cáo môn học của mình
Trong thời gian một học kỳ thực hiện đề tài, 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 một báo cáo đồ án 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 tiếp các đề tài khác trong tương lai
Xin chân thành cảm ơn quý thầy/cô!
Trang 1010
NHẬN XÉT CỦA GIẢNG VIÊN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Giảng viên hướng dẫn
Ths.Huỳnh Tuấn Anh
Trang 1111
MỤC LỤC
TÓM TẮT ĐỒ ÁN 1
Chương 1 TỔNG QUAN 1
1.1 Đặt vấn đề 1
1.1 Phát biểu bài toán 2
1.2 Mục tiêu và phạm vi đề tài 3
Chương 2 CƠ SỞ LÝ THUYẾT 6
2.1 Nodejs 6
2.2 ExpressJS framework 8
2.3 MySQL 10
2.4 Reactjs 12
Chương 3 PHÁT BIỂU BÀI TOÁN 14
3.1 Giới thiệu hệ thống website “Đặt lịch khám bệnh online ” 14
3.2 Khảo sát các hệ thống liên quan 15
3.3 Yêu cầu hệ thống 21
Chương 4 ĐẶC TẢ CÁC CHỨC NĂNG 23
4.1 Chức năng quản lý kế hoạch khám bệnh 23
4.2 Chức năng tìm kiếm bác sĩ, cơ sở y tế 23
4.3 Chức năng đặt lịch hẹn khám bệnh 24
4.1 Chức năng quản lý bệnh nhân khám bệnh 24
4.2 Chức năng quản lý bác sĩ 24
Trang 1212
4.3 Chức năng quản lý chuyên khoa 25
4.4 Chức năng quản lý cơ sở y tế 25
Chương 5 THIẾT KẾ DỮ LIỆU 26
5.1 Sơ đồ cơ sở dữ liệu 26
5.2 Mô tả chi tiết các bảng 26
Chương 6 HIỆN THỰC HỆ THỐNG – SƠ ĐỒ USECASE 31
6.1 Danh sách actor 31
6.2 Sơ đồ usecase tổng quát 32
6.3 Đặc tả một số use-case chính 34
Chương 7 THIẾT KẾ GIAO DIỆN 45
7.1 Danh sách các màn hình 45
7.2 Hình ảnh một số màn hình chính 46
Chương 8 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 54
8.1 Đánh giá kết quả làm việc 54
8.2 Hướng phát triển: 55
Chương 9 TÀI LIỆU THAM KHẢO 57
Trang 131
TÓM TẮT ĐỒ ÁN
- Tổng quan đề tài: đặt vấn đề, lý do chọn đề tài, phát biểu bài toán, mục tiêu và phạm vi tiếp cận đề tài
- Tìm hiểu thực trạng, thị trường, khả năng phát triển
- Phân tích các dịch vụ hệ thống website đặt lịch khám bệnh online
- Tìm hiểu và áp dụng các công nghệ, cấu trúc mới để xây dựng hệ thống đặt lịch khám bệnh online
- Phát triển hệ thống với các tính năng cơ bản dựa trên các hệ thống liên quan, thêm những tính năng nâng cao để tăng tính tiện lợi cho người dùng và tạo sự khác biệt
- Giải quyết bài toán về độ tin cậy của thông tin bác sĩ, cơ sở y tế, tăng tính tin tưởng cho người dùng với hệ thống
- Trình bày kết luận và hướng phát triển đồ án
Chương 1 TỔNG QUAN 1.1 Đặt vấn đề
- Đại dịch Covid-19 đã thúc đẩy sự phát triển của công nghệ và dữ liệu kỹ thuật số Việc vừa phải bảo đảm an toàn chống dịch, vừa phải phục vụ việc khám chữa bệnh cho người dân, nên áp dụng đặt lịch khám bệnh trực tuyến đã chứng minh rõ ràng mô hình này không chỉ là giải pháp để đối phó với đại dịch mà còn là biện pháp được sử dụng lâu dài Bên cạnh đó, bộ phận chăm sóc người bệnh thuộc phòng quản lý chất lượng của bệnh viện cũng thường xuyên thăm hỏi bệnh lý, nhắc nhở bệnh nhân đến tái khám theo định
kỳ, theo lịch hẹn của bác sĩ hoặc trực tiếp tư vấn cho bệnh nhân
- Với sự phát triển của công nghệ thông tin, không gian mạng xã hội đã phủ rộng khắp các lĩnh vực đời sống, giờ đây chỉ cần một chiếc điện thoại thông minh hoặc máy tính kết nối mạng bạn đã có thể được các bác sĩ, chuyên gia y tế hàng đầu chăm sóc sức khỏe Trên cơ
Trang 142
sở đó, nhóm em đã thiết kế website đặt lịch khám bệnh để giúp những bệnh nhân đi đứng bất tiện, bận rộn hoặc hạn chế phương tiện di chuyển được chăm sóc sức khỏe thuận tiện hơn
1.1 Phát biểu bài toán
1.1.1 Giới thiệu hệ thống website “Đặt lịch khám bệnh online”
- Là website tổng thể được thiết kế hiện đại nổi bật giới thiệu tổng quan về bệnh viện, khoa phòng chức năng
- Trang web giúp người dùng có thể tra cứu các thông tin cần thiết trước khi đặt lịch khám với bác sĩ như chuyên khoa, cơ sở y tế, bác sĩ
- Trang web có công cụ sắp xếp một cách hiệu quả giúp người dùng cần tìm một số thông tin một cách nhanh nhất có thể, ví dụ tìm theo: bác sĩ, chuyên khoa, cơ sở y tế
- Trang web hỗ trợ các bác sĩ có thể quản lý lịch làm việc, thông tin bệnh nhân một cách hiệu quả và chính xác
- Trang web giúp người dùng đăng kí đặt lịch khám bệnh online dễ dàng và nhanh chóng trong mùa dịch covid hạn chế di chuyển giữa các vùng
- Trang web giúp người dùng xác nhận thông tin và phản hồi kết quả qua gmail nhanh chóng và hiệu quả
- Trang web giúp quản lý các thông tin bác sĩ, chuyên khoa và phòng khám một cách chi tiết và chính xác giúp người dùng dễ dàng tra cứu thông tin cần thiết
- Chức năng cho phép người dân có thể đăng ký khám bệnh trực tuyến thông qua website của khoa khám bệnh Các bước đăng ký khám được quy định chặt chẽ đồng bộ với lịch làm việc của các bác sĩ - khoa khám bệnh
Trang 15- Xây dựng chức năng đăng kí đặt lịch khám bệnh cho người dùng
- Xây dựng server theo thời gian thực, cập nhật các thông tin bài lịch khám của người dùng trong thời gian thực
- Xây dựng chức năng quản lý kế hoạch khám bệnh
- Xây dựng chức năng quản lý bệnh nhân khám bệnh
- Xây dựng chức năng cập nhật thêm mới các thông tin như bác sĩ, phòng khám, chuyên khoa
- Xây dựng chức năng đăng nhập và hệ thống người dùng để tăng tính bảo mật
- Xây dựng chức năng tìm kiếm thông tin bác sĩ, cơ sở y tế
- Xây dựng các chức năng tra cứu thông tin chi tiết của bác sĩ, cơ sở y tế, chuyên khoa
Trang 164
• Quản lý thông tin người dùng
• Quản lí thông tin bác sĩ
• Quản lí thông tin chuyên khoa
• Quản lí thông tin phòng khám
• Quản lí lịch khám bệnh của bác sĩ
• Tìm kiếm thông tin bác sĩ, cơ sở y tế
• Sắp xếp thông tin bác sĩ theo chuyên khoa, cơ sở y
- Hoàn thành website cung cấp thông tin bác sĩ, chuyên khoa,cơ sở y tế
- Hoàn thành website cung cấp chức năng đặt lịch, xác nhận lịch khám chữa bệnh
- Hoàn thành chức năng khám bệnh cho người dùng
- Hoàn thành chức năng thanh toán người dùng
- Hoàn thành chức năng tìm kiếm thông tin
Trang 175
Trang 186
Chương 2 CƠ SỞ LÝ THUYẾT
2.1 Nodejs
2.1.1 Giới thiệu về Nodejs
NodeJS là một nền tảng được xây dựng trên V8 JavaScript Engine – trình thông dịch thực thi mã JavaScript, giúp xây dựng các ứng dụng web một cách đơn giản và dễ dàng mở rộng
NodeJS được phát triển bởi Ryan Dahl vào năm 2009 và có thể chạy trên nhiều hệ điều hành khác nhau: OS X, Microsoft Windows, Linux
Phần Core bên dưới của Nodejs được viết hầu hết bằng C++ nên cho tố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ời gian 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ộng nhanh, cần đổi mới công nghệ, hoặc tạo ra các dự án Startup nhanh nhất có thể
2.1.2 Tại sao nên sử dụng Nodejs
Các ứng dụng Nodejs được viết bằng javascript, ngôn ngữ này là một ngôn ngữ khá thông dụng Theo tác giả của ngôn ngữ Javascript, Ryan Dahl: “Javascript có những đặc tính mà làm cho nó rất khác biệt so với các ngôn ngữ lập trình động còn lại, cụ thể là nó không có khái niệm về đa luồng, tất cả là đơn luồng và hướng sự kiện.”
Tốc độ xử lý nhanh Nhờ cơ chế xử lý bất đồng độ (non-blocking), NodeJS có thể xử lý hàng ngàn kết nối cùng lúc mà không gặp bất cứ khó khăn nào
Dễ dàng mở rộng Nếu bạn có nhu cầu phát triển website thì tính năng dễ dàng mở rộng của NodeJS là một lợi thế cực kỳ quan trọng
Trang 197
Các ứng dụng NodeJS đáp ứng tốt thời gian thực và chạy đa nền tảng, đa thiết bị
Node.js sử dụng một mô hình luồng duy nhất với sự kiện lặp cơ chế tổ chức sự kiện giúp các máy chủ để đáp ứng một cách không ngăn chặn và làm cho máy chủ cao khả năng mở rộng như trái ngược với các máy chủ truyền thống mà tạo đề hạn chế để xử lý yêu cầu Node.js sử dụng một chương trình đơn luồng và các chương trình tương tự có thể cung cấp dịch vụ cho một số lượng lớn hơn nhiều so với yêu cầu máy chủ truyền thống như Apache HTTP Server
Hình 2.1 Blocking I/O (trái) và Non-Blocking I/O (phải)
2.1.3 Áp dụng Nodejs vào đề tài
Trong hệ thống ứng dụng của nhóm, Nodejs được áp dụng để làm phần backend cho hệ thống, vì những ưu điểm của Nodejs dành cho một ứng dụng nhỏ rất là tiện lợi đặc biệt là tốc độ xử lí
Trang 208
2.2 ExpressJS framework
2.2.1 Giới thiệu về ExpressJS
Express js là một Framework nhỏ, nhưng linh hoạt được xây dựng trên nền tảng của Nodejs
Nó cung cấp các tính năng mạnh mẽ để phát triển web hoặc mobile
Về các package hỗ trợ: Expressjs có vô số các package hỗ trợ nên không phải lo lắng khi làm việc với Framework này
Về performance: Express cung cấp thêm về các tính năng (feature) để dev lập trình tốt hơn Chứ không làm giảm tốc độ của NodeJS
Và hơn hết, các Framework nổi tiếng của NodeJS hiện nay đều sử dụng ExpressJS như một core function, chẳng hạn: SailsJS, MEAN,
Hình 2.2 Cấu trúc của ExpressJs
Root:
- App.js chứa các thông tin về cấu hình, khai báo, các định nghĩa, để ứng dụng của chúng ta chạy trơn tru
Trang 219
- Package.json chứa các package cho ứng dụng chạy, có chức năng tương tự như
composer.json hoặc Gemfile trong PHP hoặc RoR
- Folder routes: chứa các route có trong ứng dụng
- Folder view: chứa view/template cho ứng dụng
- Folder public chứa các file css, js, images, cho ứng dụng
2.2.2 Tại sao nên sử dụng ExpressJS
Framework 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ên NodeJs 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ến cho 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
Hỗ trợ REST API
Và còn rất nhiều thứ mà framework này hỗ trợ
2.2.3 Áp dụng ExpressJS vào đề tài
Trong hệ thống ứng dụng của nhóm, ExpressJS được áp dụng để làm phần framework backend cho hệ thống, vì những ưu điểm của ExpressJS có dành cho một ứng dụng nhỏ rất là tiện lợi đặc biệt là tốc độ xử lí, hỗ trợ Rest API, cộng đồng lớn mạnh
Trang 2210
2.3 MySQL
2.3.1 Giới thiệu về MySQL
Hệ quản trị cơ sở dữ liệu MySQLđược hiểu như là chương trình dùng để quản lý hệ thống
cơ sở dữ liệu, trong đó, cơ sở dữ liệu là một hệ thống lưu trữ thông tin được sắp xếp rõ ràng, phân lớp ngăn nắp Nó giúp bạn có thể truy cập dữ liệu một cách thuận lợi và nhanh chóng nhất Vì hỗ trợ đa số các ngôn ngữ lập trình nên MySQL chính là hệ quản trị cơ sở
dữ liệu tự do nguồn mở phổ biến nhất trên thế giới Hiện MySQL đang được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng
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ác hà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ủ Nó có
rất nhiều những phiên bản cho các hệ điều hành khác nhau MySQL được sử dụng cho việc bỗ trợ PHP, Perl và nhiều ngôn ngữ khác Là nơi lưu trữ những thông tin trên các trang web viết bằng framework PHP hay Perl…
2.3.2 Tại sao nên sử dụng hệ quản trị cơ sở dữ liệu MySQL
Trang 2311
quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp
-Khả năng mở rộng và mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu và hơn thế nữa nó có thể được mở rộng nếu cần thiết
-Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm việc rất hiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi
2.3.3 Áp dụng MySQL vào đề tài
Nhờ những tính năng nổi trội của MySQL, nhóm đã sử dụng MySQL dùng làm hệ quản trị
cơ sở dữ liệu chính Server sử dụng MySQL để lưu trữ toàn bộ dữ liệu, dữ liệu này sẽ được server sử dụng REST API để gọi lên
Trang 2412
2.4 Reactjs
2.4.1 Giới thiệu về Reactjs
React.js là một thư viện Javascript đang nổi lên trong những năm gần đây với xu hướng Single Page Application Trong khi những framework khác cố gắng hướng đến một mô hình MVC hoàn thiện thì React nổi bật với sự đơn giản và dễ dàng phối hợp với những thư viện Javascript khác Nếu như AngularJS là một Framework cho phép nhúng code javasscript trong code html thông qua các attribute như ng-model, ng-repeat thì với react
là một library cho phép nhúng code html trong code javascript nhờ vào JSX, có thể dễ dàng lồng các đoạn HTML vào trong JS.Tích hợp giữa javascript và HTML vào trong JSX làm cho các component dễ hiểu hơn
React là một thư viện UI phát triển tại Facebook để hỗ trợ việc xây dựng những thành phần (components) UI có tính tương tác cao, có trạng thái và có thể sử dụng lại được React được sử dụng tại Facebook trong production, và Instagram được viết hoàn toàn trên React Một trong những điểm hấp dẫn của React là thư viện này không chỉ hoạt động trên phía client, mà còn được render trên server và có thể kết nối với nhau React so sánh sự thay đổi giữa các giá trị của lần render này với lần render trước và cập nhật ít thay đổi nhất trên DOM
2.4.2 Tại sao nên sử dụng Reactjs
Dễ sử dụng:
- React là một thư viện GUI nguồn mở JavaScript tập trung vào một điều cụ thể; hoàn thành nhiệm vụ UI hiệu quả Nó được phân loại thành kiểu “V” trong mô hình MVC (Model-View-Controller)
Trang 2513
- Là lập trình viên JavaScript, bạn sẽ dễ dàng hiểu được những điều cơ bản về React Bạn thậm chí có thể bắt đầu phát triển các ứng dụng dựa trên web bằng cách sử dụng react chỉ trong vài ngày
- Để củng cố hiểu biết của mình, bạn hãy thử khám phá thêm nhiều hướng dẫn về React Chúng mang đến nhiều thông tin về cách sử dụng công cụ: videos, hướng dẫn và dữ liệu làm phong phú góc nhìn của bạn
Viết component dễ dàng hơn:
- React component dễ viết hơn vì nó sử dụng JSX, mở rộng cú pháp tùy chọn cho JavaScript cho phép kết hợp HTML với JavaScript
- JSX là một sự pha trộn tuyệt vời của JavaScript và HTML Nó làm rõ toàn bộ quá trình viết cấu trúc trang web Ngoài ra, phần mở rộng cũng giúp render nhiều lựa chọn dễ dàng hơn
- JSX có thể không là phần mở rộng cú pháp phổ biến nhất, nhưng nó được chứng minh là hiệu quả trong việc phát triển components đặc biệt hoặc các ứng dụng có khối lượng lớn
Hiệu suất tốt hơn với Virtual DOM:
- React sẽ cập nhật hiệu quả quá trình DOM (Document Object Model – Mô hình đối tượng tài liệu) Như đã biết, quá trình này có thể gây ra nhiều thất vọng trong các dự
án ứng dụng dựa trên web May mắn là React sử dụng virtual DOMs, vì vậy có thể tránh được vấn đề này
- Công cụ cho phép xây dựng các virtual DOMs và host chúng trong bộ nhớ Nhờ vậy, mỗi khi có sự thay đổi trong DOM thực tế, thì virtual sẽ thay đổi ngay lập tức
- Hệ thống này sẽ ngăn DOM thực tế để buộc các bản cập nhật được liên tục Do
đó, tốc độ của ứng dụng sẽ không bị gián đoạn
Trang 2614
Thân thiện với SEO:
- React cho phép tạo giao diện người dùng có thể được truy cập trên các công cụ tìm kiếm khác nhau Tính năng này là một lợi thế rất lớn vì không phải tất cả các khung JavaScript đều thân thiện với SEO
- Ngoài ra, vì React có thể tăng tốc quá trình của ứng dụng nên có thể cải thiện kết quả SEO Cuối cùng tốc độ web đóng một vai trò quan trọng trong tối ưu hóa SEO
Chương 3 PHÁT BIỂU BÀI TOÁN 3.1 Giới thiệu hệ thống website “Đặt lịch khám bệnh online ”
- Là website tổng thể được thiết kế hiện đại nổi bật giới thiệu tổng quan về bệnh viện, khoa phòng chức năng
- Trang web giúp người dùng có thể tra cứu các thông tin cần thiết trước khi đặt lịch khám với bác sĩ như chuyên khoa, cơ sở y tế, bác sĩ
Trang 273.2 Khảo sát các hệ thống liên quan
- Nhóm đã tham khảo nhiều hệ thống website đặt lịch khám bệnh online như website umc.medpro.com.vn và aiheath.vn.Hầu hết website đều cung cấp các chức năng đăng kí khám bệnh, quản lý hồ sơ, quản lý phiếu khám bệnh, và quản lý lịch hẹn và chức năng tư vấn hỗ trợ trực tuyến Chính vì lẽ đó nhóm sẽ tham khảo đưa các tính năng cần thiết và quan trọng vào đồ án
3.2.1 Website https://umc.medpro.com.vn/
Mô tả chung:
Website này được phát triển nhằm giúp bệnh nhân có thể:
Trang 28
16
+ Đăng ký khám bệnh
+ Thanh toán tiền khám
+ Nhận phiếu khám bệnh
+ Tạo hồ sơ bệnh nhân
+ Quản lý hồ sơ bệnh nhân
Từ đó làm tăng thêm sự hài lòng của bệnh nhân, nâng cao chất lượng dịch vụ của bệnh viện, và góp phần phát triển bệnh viện ngày càng trở nên thông minh hiện đại đáp ứng với sự kỳ vọng và tin tưởng của quý bệnh nhân trong và ngoài nước
Trang 29
17
Hình 3.1 Trang chủ của ucm.medpro.com.vn
Các chức năng nổi bật của umc.medpro.com.vn:
- Hỗ trợ tư vấn trực tiếp, hướng dẫn rõ quy trình đặt lịch khám
- Có nhiều thông tin cần thiết, hỗ trợ trên nhiều nền tảng
- Có thể đăng nhập bằng nhiều phương thức, …
- Hỗ trợ nhiều chức năng
- Hệ thống hỗ trợ tư vấn và hỗ trợ kỹ thuật trực tiếp
Trang 3018
Khuyết điểm:
- Hệ thống bắt đăng nhập để thao tác các tính năng
- Giao diện website truyền tải nhiều nội dung, khó thao tác
Nhân viên tổng đài là những nhân viên y tế có khả năng giao tiếp tốt, có kiến thức chuyên môn và kinh nghiệm xử lý, nên khi tiếp nhận ý kiến người bệnh về tình hình sức khỏe và
tư vấn và sắp xếp lịch khám, bác sĩ khám theo đúng nhu cầu khám bệnh của khách hàng
Với việc đặt lịch khám online và qua tổng đài, khách hàng không phải xếp hàng chờ đợi,
có thể chủ động thời gian vì đã đặt lịch trước, nên rút ngắn được thời gian làm thủ tục hành chính, từ đó thời gian khám bệnh sẽ nhanh hơn
Trang 31- Có thể đặt lịch tư vấn ngay chỉ cần họ tên và số điện thoại
- Hệ thống giao diện bắt mắt, gọn gang giúp người dùng dễ tìm kiếm thông tin
- Có nhiều dịch vụ cần thiết
Khuyết điểm:
Trang 3220
- Giao diện website truyền tải nhiều nội dung, khó thao tác
- Chưa hỗ trợ nhiều trên website, chủ yếu hỗ trợ trên app di động
- Hỗ trợ nhiều chức năng
- Hệ thống hỗ trợ tư vấn và hỗ trợ kỹ thuật trực tiếp
- Hệ thống bắt đăng nhập để thao tác các tính năng
- Giao diện website truyền tải nhiều nội dung, khó thao tác
Website aiheath.vn Hỗ trợ 2 ngôn ngữ anh-việt
- Có thể đặt lịch tư vấn ngay chỉ cần
họ tên và số điện thoại
- Hệ thống giao diện bắt mắt, gọn gang giúp người dùng dễ tìm kiếm thông tin
Hệ thống website - Hệ thống thông tin hiển thị của - Hệ thống chưa có nhiều
Trang 3321
của nhóm trang web đơn giản, cung cấp đầy đủ
chi tiết của một trang web đặt lịch khám bệnh online
- Giúp người dùng dễ dàng sử dụng, đăng kí lịch mà không cần đăng nhập -Thông tin khác hàng được bảo mật, lưu trữ an toàn
- Thời gian phản hồi nhanh, độ tin cậy cao
người dùng, còn hạn chế về một số tính năng
- Hạn chế về lượng bác sĩ, cơ
sở y tế
- Hạn chế về tính năng hỗ trợ cho người dùng
Bảng 3.1 Bảng so sánh giữa các hệ thống
3.3 Yêu cầu hệ thống
3.3.1 Yêu cầu chức năng
- Yêu cầu đặt lịch : đặt lịch hẹn khám bệnh cho người dùng
- Yêu cầu lưu trữ: Hệ thống đáp ứng yêu cầu lưu trữ các thông tin như:
• Thông tin bác sĩ: tên, giá thành, địa chỉ phòng khám, chuyên khoa, thông tin giới thiệu
• Thông tin chuyên khoa:thông tin chuyên khoa, ảnh
• Thông tin phòng khám:thông tin phòng khám, ảnh, địa chỉ
• Thông tin người khám bệnh: họ tên, số điện thoại, địa chỉ email, địa chỉ liên lạc,
lý do khám bệnh, ngày sinh, giới tính
• Thông tin về hình ảnh: hình ảnh chân thật, rõ ràng
- Yêu cầu tìm kiếm:
Trang 3422
• Tìm kiếm bác sĩ: tên bác sĩ
• Tìm kiếm cơ sở y tế: tên cơ sở y tế
- Yêu cầu sắp xếp:
• Sắp xếp bác sĩ theo từng chuyên khoa, cơ sở y tế
- Yêu cầu về trực quan hóa:
• Trực quan hóa dữ liệu một cách rõ ràng, dễ nhận biết
3.3.2 Yêu cầu phi chức năng
- Yêu cầu về giao diện:
Giao diện hệ thống gần gũi Đơn dạng với đại đa số người dùng, mang lại cảm giác thân thiện không rối mắt, hướng người dùng, tính tương tác cao
- Yêu cầu chất lượng:
▪ Hệ thống có tính responsive cho các dòng điện thoại và máy tính bảng
▪ Các nút ấn và dòng chữ hiển thị trực quan nội dung muốn truyền đạt
• Tính hiệu quả: