Mục tiêu đề tài
Đề tài “Xây dựng website hỗ trợ đặt lịch khám online “ sẽ bao gồm các mục tiêu như sau:
- Tạo ra một trang web với giao diện đẹp, thân thiện với người dùng và dễ dàng sử dụng Người dùng cần có thể tìm thông tin về bác sĩ, các phòng khám và lựa chọn lịch khám phù hợp một cách dễ dàng.
- Hệ thống này nên cho phép bác sĩ cập nhật lịch trình, xem và xác nhận các cuộc hẹn đã đặt và quản lý thông tin bệnh nhân một cách thuận tiện.
- Xây dựng các tính năng người dùng cần có thể chọn bác sĩ, phòng khám, và ngày giờ khám một cách dễ dàng và nhanh chóng thông qua trang web.
- Cung cấp tính năng nhắc nhở và thông báo cho người dùng để đảm bảo họ không bỏ lỡ cuộc hẹn khám bệnh Hệ thống sẽ gửi thông báo qua email khi người dung đặt lịch thành công
Ý nghĩa và khoa học thực tiễn
Sau khi hoàn thiện đề tài, nhóm nghiên cứu đã rút ra nhiều kinh nghiệm quý giá cũng như bài học bổ ích, đặc biệt liên quan đến việc áp dụng các công nghệ hiện đang được sử dụng rộng rãi trong thực tế Đồng thời, đề tài cũng đã đóng góp một phần nhỏ trong việc đơn giản hóa quá trình đặt lịch khám bệnh cho mọi người.
Khi triển khai website hỗ trợ đặt lịch khám bệnh trong thực tế, việc đặt lịch trực tuyến sẽ trở nên dễ dàng hơn và giúp tối ưu thời gian cho mọi người khi lựa chọn bác sĩ Điều này mang lại lợi ích quan trọng cho cả bệnh nhân và các cơ sở y tế, giúp tiết kiệm thời gian và tăng cường trải nghiệm người dùng.
Tóm lại, đề tài đã đạt được mục tiêu của việc xây dựng một hệ thống đặt lịch khám bệnh trực tuyến, góp phần đơn giản hóa quá trình khám bệnh và mang lại lợi ích cho cả bệnh nhân và cơ sở y tế
CƠ SỞ LÝ THUYẾT
Khái niệm các công nghệ sử dụng
ReactJS là một thư viện JavaScript phổ biến được sử dụng để xây dựng giao diện người dùng (UI) cho các ứng dụng web Được phát triển bởi Facebook, ReactJS giúp tạo ra các giao diện tương tác phong phú và dễ bảo trì.
ReactJS áp dụng một khái niệm gọi là "component" để xây dựng giao diện người dùng Mỗi thành phần đại diện cho một phần của giao diện và có thể được kết hợp để tạo thành các giao diện phức tạp Việc sử dụng component giúp tái sử dụng mã, tăng tính module và giúp dễ dàng duy trì và mở rộng ứng dụng.
ReactJS sử dụng một nguyên tắc gọi là "Virtual DOM" để tăng hiệu suất. Virtual DOM là một phiên bản nhẹ của DOM (Document Object Model) thực tế, được duy trì bởi React Khi dữ liệu thay đổi, React so sánh Virtual DOM mới với phiên bản trước đó và chỉ cập nhật những phần thay đổi thực sự trong DOM thực tế Điều này giúp giảm thiểu việc tác động trực tiếp lên DOM và cải thiện hiệu suất ứng dụng.
Một trong những đặc điểm nổi bật của ReactJS là khả năng tương tác mạnh mẽ Nó cho phép cập nhật dữ liệu và hiển thị những thay đổi tương ứng trên giao diện người dùng một cách nhanh chóng và mượt mà.
ReactJS cũng hỗ trợ việc xử lý dữ liệu hai chiều (two-way data binding) thông qua việc kết hợp với thư viện quản lý trạng thái như Redux hoặc MobX. Điều này giúp quản lý trạng thái ứng dụng dễ dàng và đồng bộ hóa dữ liệu giữa các thành phần.
Tóm lại, ReactJS là một công nghệ mạnh mẽ và phổ biến để xây dựng giao
Virtual DOM và khả năng tương tác mạnh mẽ, ReactJS đơn giản hóa việc phát triển ứng dụng web phức tạp và cung cấp trải nghiệm người dùng tốt hơn.
Hình 1 1: Virtual Dom trong ReactJs [1]
Node.js là một môi trường chạy mã JavaScript phía máy chủ (server-side) dựa trên Chrome V8 JavaScript engine Nó cung cấp khả năng xây dựng các ứng dụng web và dịch vụ mạng hiệu suất cao và có khả năng mở rộng.
Node.js sử dụng mô hình không đồng bộ (asynchronous) và sự kiện (event- driven) để xử lý yêu cầu Điều này cho phép nó xử lý nhiều yêu cầu cùng một lúc mà không phải chờ đợi yêu cầu trước hoàn thành, tăng cường hiệu suất ứng dụng.
Với npm (Node Package Manager), Node.js cung cấp hàng ngàn thư viện và module cho phát triển ứng dụng Npm không chỉ giúp bạn sử dụng các thư viện sẵn có mà còn cho phép chia sẻ gói của bạn với cộng đồng phát triển Node.js.
Node.js có khả năng mở rộng vượt trội Nhờ cấu trúc không đồng bộ và khả năng xử lý đa luồng, nó có thể xử lý hàng nghìn yêu cầu đồng thời mà không gây block hoặc làm chậm hệ thống Điều này làm cho Node.js trở thành lựa chọn phổ biến cho các ứng dụng đòi hỏi khả năng mở rộng cao.
Với một cộng đồng phát triển đông đảo, Node.js cung cấp tài liệu và hỗ trợ phong phú Điều này giúp việc học và sử dụng Node.js trở nên dễ dàng và thuận tiện.
MySQL là một hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở phổ biến.
Nó được phát triển bởi Oracle Corporation và có sự hỗ trợ đông đảo từ cộng đồng phát triển.
MySQL được sử dụng rộng rãi trong các ứng dụng web và hệ thống quản lý cơ sở dữ liệu do tính bảo mật, độ tin cậy và hiệu suất cao Nó hỗ trợ ngôn ngữ truy vấn SQL (Structured Query Language), cho phép bạn tương tác với cơ sở dữ liệu bằng các câu lệnh truy vấn.
Một trong những đặc điểm nổi bật của MySQL là khả năng xử lý dữ liệu lớn và khả năng mở rộng Nó có thể xử lý hàng triệu bản ghi và hỗ trợ các công nghệ như phân vùng (partitioning) và sao chép dữ liệu (replication) để tăng cường hiệu suất và khả năng chịu tải của hệ thống.
MySQL cung cấp các tính năng quản lý cơ sở dữ liệu như tạo, sửa đổi và xóa cơ sở dữ liệu, bảng và chỉ mục Nó hỗ trợ các tính năng bảo mật như quản lý người dùng, phân quyền truy cập và mã hóa dữ liệu.Ngoài ra, MySQL cũng tương thích với nhiều ngôn ngữ lập trình và framework phát triển ứng dụng phổ biến Nó cung cấp các giao diện lập trình (API) để tương tác với cơ sở dữ liệu từ các ngôn ngữ như PHP, Python, Java, Node.js và nhiều ngôn ngữ khác
Tóm lại, MySQL là một hệ quản trị cơ sở dữ liệu quan hệ mạnh mẽ và phổ biến, được sử dụng rộng rãi trong các ứng dụng web và hệ thống quản lý cơ sở dữ liệu Với tính bảo mật, độ tin cậy và khả năng mở rộng, MySQL là một lựa chọn tuyệt vời cho việc lưu trữ và quản lý dữ liệu.
Ưu điểm của các công nghệ
Tái sử dụng mã: ReactJS cho phép xây dựng các thành phần giao diện có thể tái sử dụng Điều này giúp giảm sự lặp lại mã, tăng tính module và giảm thời gian phát triển.
Virtual DOM: ReactJS sử dụng Virtual DOM để tối ưu hóa hiệu suất Khi dữ liệu thay đổi, React so sánh Virtual DOM mới với phiên bản trước đó và chỉ cập nhật những phần thay đổi thực sự trong DOM thực tế Điều này giúp cải thiện tốc độ và hiệu suất của ứng dụng.
Khả năng tương tác: ReactJS cung cấp khả năng tương tác mạnh mẽ, cho phép cập nhật dữ liệu và hiển thị những thay đổi tương ứng trên giao diện người dùng một cách nhanh chóng và mượt mà Điều này tạo ra trải nghiệm người dùng tốt hơn.
Hỗ trợ cộng đồng: ReactJS có một cộng đồng phát triển đông đảo và phong phú Có nhiều tài liệu, hướng dẫn và thư viện hỗ trợ, giúp việc học và sử dụng ReactJS trở nên thuận tiện và dễ dàng.
Hiệu suất cao: Node.js sử dụng mô hình không đồng bộ và sự kiện để xử lý yêu cầu Điều này cho phép xử lý đa luồng và xử lý nhiều yêu cầu cùng một lúc mà không gây chờ đợi Kết quả là hiệu suất cao và khả năng xử lý tốt trong các ứng dụng có nhiều kết nối đồng thời.
Mở rộng dễ dàng: Node.js có khả năng mở rộng tốt Với cấu trúc không đồng bộ, nó có thể xử lý hàng nghìn yêu cầu đồng thời mà không gây block hoặc làm chậm hệ thống Điều này giúp xây dựng các ứng dụng có khả năng mở rộng cao và có thể mở rộng theo nhu cầu.
Cộng đồng phát triển mạnh mẽ: Node.js có một cộng đồng phát triển đông đảo và nhiều nguồn tài liệu học tập Cộng đồng này cung cấp hỗ trợ, góp ý và chia sẻ kiến thức để giúp người dùng Node.js dễ dàng tiếp cận và giải quyết các vấn đề phát triển. Đa nền tảng: Node.js có thể chạy trên nhiều nền tảng, bao gồm Windows,macOS và Linux Điều này cho phép phát triển và triển khai ứng dụng trên nhiều môi trường khác nhau. Độ tin cậy và bảo mật: MySQL cung cấp các tính năng bảo mật như quản lý người dùng, phân quyền truy cập và mã hóa dữ liệu Nó cũng có tính năng khôi phục dữ liệu, giúp đảm bảo tính toàn vẹn và tin cậy của cơ sở dữ liệu.
Hiệu suất và khả năng mở rộng: MySQL có khả năng xử lý dữ liệu lớn và khả năng mở rộng cao Nó hỗ trợ các công nghệ như phân vùng và sao chép dữ liệu để tăng cường hiệu suất và khả năng chịu tải của hệ thống.
Tương thích đa ngôn ngữ: MySQL tương thích với nhiều ngôn ngữ lập trình và framework phát triển ứng dụng phổ biến Điều này giúp nâng cao tính linh hoạt và tiện lợi trong việc phát triển ứng dụng.
Cộng đồng hỗ trợ: MySQL có một cộng đồng phát triển rộng lớn, cung cấp tài liệu, hướng dẫn và hỗ trợ Cộng đồng này giúp người dùng giải quyết các vấn đề phát triển, chia sẻ kiến thức và tìm kiếm giải pháp hiệu quả.
Quản lý trạng thái dễ dàng: Redux giúp quản lý trạng thái ứng dụng một cách dễ dàng và hiệu quả Trạng thái của ứng dụng được lưu trữ trong một "store" duy nhất, làm cho việc theo dõi và cập nhật trạng thái trở nên đơn giản.
Dữ liệu ứng dụng dễ dàng chia sẻ: Redux cho phép dữ liệu và trạng thái được chia sẻ một cách dễ dàng giữa các thành phần của ứng dụng Điều này giúp tránh việc truyền dữ liệu qua lại giữa các thành phần một cách không cần thiết và giúp tạo ra một cấu trúc ứng dụng rõ ràng.
Tính nhất quán và dễ dàng theo dõi các thay đổi: Redux sử dụng một quy trình đơn giản và định rõ để cập nhật trạng thái của ứng dụng Mọi thay đổi vào trạng thái đều phải thông qua các hành động (actions) và qua các reducer để trả về trạng thái mới Điều này giúp duy trì tính nhất quán của trạng thái và dễ dàng theo dõi các thay đổi trong ứng dụng.
Dễ dàng kiểm thử: Redux giúp việc kiểm thử ứng dụng trở nên dễ dàng hơn.
Vì trạng thái của ứng dụng được lưu trữ trong store và các thay đổi trạng thái được thực hiện thông qua các hành động và reducer, nên việc kiểm thử các phần của ứng dụng trở nên đơn giản và có thể tách biệt.
Mở rộng và tích hợp dễ dàng: Redux hỗ trợ các middleware để mở rộng chức năng của nó Middleware cho phép thực hiện các tác vụ bất đồng bộ, ghi nhật ký, kiểm tra điều kiện và thực hiện các thay đổi khác vào luồng xử lý hành động.Điều này giúp Redux tích hợp dễ dàng với các công nghệ và thư viện khác.
KHẢO SÁT HIỆN TRẠNG
Từ khóa tìm kiếm
Nhằm phục vụ tốt nhất cho việc thực hiện đề tài cuối kì của môn học, sau khi thảo luận chọn ra đề tài là “Xây dựng Website hỗ trợ đặt lịch khám bệnh” Nhóm em đã tham khảo các Website trên Internet để học hỏi và xem các trang website đó có những chức năng tiêu biểu nào từ đó kết hợp với ý tưởng đã có hướng tới xây dựng một Website hợp nhất với tiêu chuẩn môn học và khả năng nhóm.
Trước hết để đánh giá được khách quan các từ khóa tìm kiếm đã được sử dụng như: "20 Website hỗ trợ đặt lịch khám bệnh được nhiều người truy cập ở Việt Nam", "Website hỗ trợ đặt lịch khám bệnh nổi tiếng nhất Việt Nam" Sau khi nhập từ khóa tìm kiếm nhóm đã chọn các kết quả hiển thị gần nhất và các web hỗ trợ đặt lịch khám có thể vừa có số người truy cập đông hoặc cũng có thể là các bệnh viện đã có tiếng tăm ở thực tế để đưa ra các đánh giá chân thực nhất hỗ trợ cho việc đưa ra các tiêu chuẩn khi tạo hệ thống.
Hoàn thành weiste với khả năng và có kết quả tốt nhất, khi các kết quả tìm kiếm được hiển thị nhóm em đã không hẳn chỉ khảo sát các Website có độ nhận diện cao, được nhiều người truy cập mà còn tham khảo những Website kinh doanh thông thường chẳng hạn như: Booking care…
Khảo sát Website hỗ trợ đặt lịch khám bệnh
2.2.1 Website đặt lịch khám bệnh - Bệnh viện Việt Pháp https://www.hfh.com.vn/
Nhóm em lựa chọn trang này vì: Một trang web đặt lịch khám bệnh tốt nên cung cấp trải nghiệm dễ sử dụng và tiện lợi cho người dùng Nó nên có giao diện thân thiện, dễ dàng để tìm kiếm các bác sĩ và các bệnh viện, và cho phép người dùng đặt lịch khám bệnh trong vài bước đơn giản
Hình 2 1: Trang chủ website Bệnh Viện Pháp a Nội dung Website
Trang web đặt lịch khám bệnh nên cung cấp đầy đủ thông tin về bác sĩ và bệnh viện, bao gồm tên, địa chỉ, số điện thoại và các chuyên khoa để người dùng có thể chọn được bác sĩ và bệnh viện phù hợp với nhu cầu của mình b Các chức năng của Website
-Đặt lịch khám bệnh: Cho phép người dùng đặt lịch khám bệnh trực tuyến với bác sĩ và bệnh viện mà họ đã chọn.
- Tìm kiếm bác sĩ và bệnh viện: Cung cấp công cụ tìm kiếm để người dùng có thể tìm kiếm bác sĩ và bệnh viện theo chuyên khoa, địa điểm, bảo hiểm, giờ làm việc và nhiều tiêu chí khác
-Xem thông tin chi tiết về bác sĩ và bệnh viện: Cung cấp thông tin chi tiết về bác sĩ và bệnh viện, bao gồm tên, hình ảnh địa chỉ, số điện thoại, lịch trình làm việc và các chuyên khoa để người dùng có thể chọn được bác sĩ và bệnh viện phù hợp với nhu cầu của mình
- Tư vấn y tế trực tuyến: Cung cấp chức năng tư vấn y tế trực tuyến để giải đáp thắc mắc của người dùng về các vấn đề liên quan đến sức khỏe
- Chi tiết về các chuyên khoa và mỗi chuyên khoa sẽ có nhiều bác sĩ đảm nhiệm
Hình 2 2: Chi tiết về các chuyên khoa c Bố cục trang web
- Header: Gồm có các mục như tên dịch vụ y tế, hướng dẫn người bệnh, thai sản, tin tức, giới thiệu và liên hệ….
- Footer: Thông tin liên lạc, địa chỉ và các liên kết website d Nhận xét ưu và nhược điểm Ưu điểm:
Người dùng có thể dễ dàng tìm kiếm các bác sĩ và bệnh viện phù hợp với nhu cầu của mình, đặt lịch khám bệnh, quản lý lịch trình khám bệnh và thanh toán phí mà không cần phải tốn công sức nhiều
Truy cập thông tin bác sĩ và bệnh viện: Người dùng có thể xem thông tin chi tiết về các bác sĩ và bệnh viện
Chưa có phần bình luận
2.2.2 Website đặt lịch khám bệnh Hello Bác sĩ https://hellobacsi.com/care/
Hình 2 3: Trang chủ của website Hello Bác sĩ a Nội dung website
Hello Bacsi giúp khách hàng có thể đặt lịch khám, gồm các chuyên gia sức khỏe và y bác sĩ từ nhiều chuyên khoa, với đầy đủ chứng nhận, chứng chỉ hành nghề, hỗ trợ xây dựng và củng cố nội dung theo chuyên môn của mình Trách nhiệm của chuyên gia là bảo đảm tính chính xác về mặt y học ở những nội dung đăng tải trên Hello Bacsi, thường xuyên cập nhật các thông tin mới về khoa học, nghiên cứu và sức khỏe. b Chức năng tiêu biểu
- Đăng kí tư vấn khám sức khỏe
-Tư vấn y tế trực tuyến: Cung cấp chức năng tư vấn y tế trực tuyến để giải đáp thắc mắc của người dùng về các vấn đề liên quan đến sức khỏe.
- Đăng nhập có thể liên kết bằng FB hoặc qua Email
- Tìm kiếm bác sĩ hoặc chuyên khoa: Cho phép người dùng tìm kiếm bác sĩ hoặc chuyên khoa mà họ cần khám bệnh ở thành phố mà họ mong muốn.
Hình 2 4: Lọc bác sĩ trang Hello Bác sĩ
- Thanh toán trực tuyến: Cho phép người dùng thanh toán trực tuyến cho các dịch vụ y tế mà họ sử dụng trên website.
-Xem thông tin chi tiết về bác sĩ và bệnh viện: Cung cấp thông tin chi tiết về bác sĩ và bệnh viện, bao gồm tên, hình ảnh địa chỉ, số điện thoại, lịch trình làm việc và các chuyên khoa để người dùng có thể chọn được bác sĩ và bệnh viện phù hợp với nhu cầu của mình. c Bố cục trang web
-Menu ngang: Chuyên mục, kiểm tra sức khỏe , đặt lịch khám, cộng đồng, đăng nhập, tìm kiếm bác sĩ.
-Footer: Tên công ty, địa chỉ, và các thông tin liên lạc.
-Màu sắc chủ đạo là nền trắng Ưu điểm:
Bố cục Website được phân chia hợp lý Thiết kế dễ sử dụng và đơn giản
Sắp xếp và phân loại các chuyên mục bệnh để người dùng có thể lựa chọn
Chưa có chức năng bình luận
2.2.3 Website đặt lịch khám bệnh Tâm Anh hospital https://tamanhhospital.vn/
Hình 2 5: Trang chủ website Tâm Anh hospital a Các nội dung website
Hiển thị những dịch vụ khám chữa bệnh chất lượng cao về y khoa, tiếp cận phương pháp, kỹ thuật và phác đồ hiện đại, được hưởng các dịch vụ cao cấp như ở nước ngoài Có những chuyên gia bác sĩ giỏi về chuyên môn, nhiều kinh nghiệm, bệnh viện đã quy tụ được đội ngũ chuyên gia hàng đầu từ nhiều lĩnh vực như nam khoa tiết niệu, sản phụ khoa, nhi khoa, hô hấp, cơ xương khớp, hỗ trợ sinh sản, tai mũi họng, thần kinh… b Chức năng tiêu biểu
- Đăng kí đặt lịch khám bệnh: có thể chọn khung giờ, ngày khám, bác sĩ, và địa điểm chi nhánh khám bệnh.
- Có nhân viên tư vấn y tế trực tuyến và chat bot
- Có nhiều dịch vụ đặc biệt: như khu vip, chăm sóc thai sản trọn gói,…
- Có phần review bác sĩ.
- Các tin tức liên quan đến y học và bệnh viện được cập nhật thường xuyên c Bố cục của website
-Header : giới thiệu, chuyên khoa, chuyên gia-bác sĩ, dịch vụ đặc biệt, tiện nghi, thành tựu, tin tức, liên hệ.
- Footer: Tên công ty, địa chỉ, các thông tin liên lạc, và các chứng nhận của bệnh viện
- Màu sắc chủ đạo là nền trắng và xanh. Ưu điểm:
Bố cục Website được phân chia hợp lý Thiết kế đơn giản
Sắp xếp và phân loại các chuyên mục bệnh để người dùng có thể lựa chọn
Website hiển thị nhiều bác sĩ nhưng khi vào đặt lịch thì có khí ít khung giờ và bác sĩ có thể khám
2.2.4 Website đặt lịch khám bệnh - bệnh viện nhân dân
Hình 2 6: Trang chủ website bệnh viện 115 a Nội dung Website
Hiển thị những dịch vụ khám chữa bệnh Thông tin các bác sĩ, dịch vụ giải đáp thắc mắc, chăm sóc khách hàng và cho phép đặt lịch khám bệnh online. b Các chức năng chính
- Đăng kí đặt lịch khám bệnh nhanh.
- Có tư vấn trực tuyến bằng chat bot:
- Tìm kiếm bác sĩ theo tên, chuyên khoa.
-Chức năng hỏi đáp miễn phí với bác sĩ. c Bố cục website
-Header : Giới thiệu , tin tức và hoạt động, dịch vụ khám bệnh, chăm sóc khách hàng, lịch khám, bảng giá, tuyển dụng, thông báo
- Footer : Tên bệnh viện, địa chỉ, thông tin liên lạc
- Màu sắc chủ đạo : Trắng và xanh d Ưu và nhược điểm Ưu điểm:
Bố cục được phân chia hợp lý Thiết kế dễ sử dụng và đơn giản ngay cả người dùng lớn tuổi mới biết đến lần đầu tiên
Kèm tính năng “TƯ VẤN” khi truy cập bất cứ mặt hàng nào để khách hàng có thể được giải đáp hết các thắc mắc trước trước khi đặt lịch khám.
Phần đánh giá không có bình luận chỉ có chọn sao
Nhận xét
- Một số điểm về bệnh viện : tên bệnh viện, hình ảnh, địa chỉ, số đt, email, ngành nghề kinh doanh.
- Phân loại bệnh : danh mục từng loại bệnh, tên bệnh, hình ảnh, mô tả…
- Tin tức của website: nội dung tin tức trong nước va ngoài nước, sự kiện đang và sắp diễn ra, hoạt động công ty, thông liên quan trong ngành trong hoặc ngoài nước. b Chức năng (User)
- Xem thông tin chi tiết giới thiệu về bác sĩ và phòng khám
- Xem các list hình ảnh, chi tiết sản phẩm của website
- Xem các tin tức, sự kiện, các tin tức liên quan trong ngành.
- Chức năng liên hệ: Cho phép khách liên hệ, phản hồi, đặt hàng lịch khám bệnh thông qua hệ thống website khi có nhu cầu.
- Đặt lịch khám bệnh c Bố cục trình bày
- Một trang chủ dễ nhìn với đối tượng khách hàng muốn xem: có hiển thị tiêu biểu những chức năng như hình ảnh của website, logo….
- Một menu top với các menu con như: trang chủ của website, giới thiệu, hoạt động, tin tức, liên hệ,
- Một thanh để trình bày các sản phẩm cho phép xem dưới dạng list
PHÂN TÍCH HỆ THỐNG
Phân tích yêu cầu người dùng
3.1.1.1 Yêu cầu chức năng nghiệp vụ (phân chia theo model / bộ phận)
STT Yêu cầu Loại yêu cầu Mô tả / Ràng buộc / Biểu mẫu
1 Xem thông Tra cứu Khách có thể xem mô tả tin bác sĩ bác sĩ
2 Xem thông Tra cứu Khách có thể xem mô tả tin phòng phòng khám khám
3 Xem thông Tra cứu Khách có thể xem mô tả tin chuyên chuyên khoa khoa
4 Đặt lịch Lưu trữ, nhập Người dùng có thể chọn khám liệu các bác sĩ mình muốn đặt lịch , sau đó nhập thông tin địa chỉ để đặt lịch
Bảng 3 1 : Bảng yêu cầu chức năng nghiệp vụ phía khách hàng
STT Yêu cầu Loại yêu cầu Mô tả / Ràng buộc /
Biểu mẫu liên quan(nếu có)
1 Đăng nhập Tra cứu, tìm Bác sĩ đã có tài khoản kiếm đăng nhập bằng email và password đã đăng ký
2 Thêm kế Lưu trữ, nhập Bác sĩ có thể thêm kế hoạch khám liệu hoạch khám bệnh bệnh
3 Xem lịch Tra cứu, tìm Bác sĩ có thể tra cứu lịch khám bệnh kiếm khám bệnh dựa vào ngày đặt
Bảng 3 2 : Bảng yêu cầu chức năng nghiệp vụ phía bác sĩ Admin :
STT Yêu cầu Loại yêu cầu Mô tả / Ràng buộc / Biểu mẫu
1 Quản lý Lưu trữ, nhập Admin có thể thêm, thay thông tin bác liệu đổi thông tin của bác sĩ sĩ
2 Quản lý các Lưu trữ, nhập Admin có thể thêm sửa, tài khoản bác liệu xóa các tài khoản sĩ
3 Quản lý Lưu trữ, nhập Admin có thể thêm, sửa, chuyên khoa liệu xóa các chuyên khoa
4 Quản lý Lưu trữ, nhập Admin có quyền thêm phòng khám liệu xóa sửa các phòng khám
Bảng 3 3 : Bảng yêu cầu chức năng nghiệp vụ phía admin
3.1.1.2 Yêu cầu chức năng hệ thống
STT Yêu cầu Loại Yêu cầu Ghi Chú
1 Giao diện đơn giản, dễ dàng Tính tiện dụng thao tác và sử dụng
2 Dễ dàng tích hợp, mở rộng Tính nâng cấp các chức năng
3 Tốc độ load trang nhanh dưới Tính hiệu quả
4 Bảo mật, xác thực thông tin Tính bảo mật
Bảng 3 4 : Bảng yêu cầu chức năng hệ thống
3.1.2 Yêu cầu phi chức năng, chất lượng
STT Yêu cầu Mô Tả / Ràng buộc Ghi chú
1 Phân Quyền Phân quyền cho 3 loại người dung :
Guest,Doctor, Admin Ở dạng Guest: Người sử dụng được thực hiện nhiều tính năng gồm: xem chi tiết chuyên khoa, bác sĩ và đặt lịch khám
2 Quản lí Phần quản lí người dùng: phía admin sẽ xoá người sử tài khoản bác sĩ, tạo mới tài khoản cho bác dụng sĩ
3 Quản lí các Quản lí các sản phẩm : Thêm, xóa, sửa các chuyên chuyên, khoa phòng khám… khoa, phòng khám
Bảng 3 5 : Bảng yêu cầu phi chức năng, chất lượng
Hình 3 1: Lược đồ Use case phía admin và doctor
Hình 3 2: Lược đồ Use Case phía Guest
Hình 3 3: Lược đồ Use Case “Đăng nhập”
Pre-Conditions Admin, doctor có kết nối với hệ thống, hệ thống hoạt động được
Post-Conditions Đăng nhập vào hệ thống thành công
Main Flow 1 Truy cập vào trang login
3 Điền thông tin yêu cầu để login
4 Gửi thông tin đăng kí tới hệ thống.
6 Đăng nhập thành công chuyển đến trang quản lí
Exception Flow(s) 5.1 Người dùng nhập sai thông tin tên tài khoản, email quay lại bước 3 5.2 Hệ thống thông báo bắt buộc phải nhập không được để trống quay lại bước 3
Bảng 3 6 : Bảng đặc tả Use Case “Đăng nhập”
3.1.4.2 Xem thông tin đặt lịch khám bệnh
Hình 3 4: Lược đồ Use Case “Xem thông tin đặt lịch khám bệnh”
Use Case Xem thông tin đặt lịch khám bệnh
Pre-Conditions Doctor cần đăng nhập vào hệ thống
Post-Conditions Xác nhận lịch đặt khám bệnh thành công
Main Flow 1 Vào mục Quản lí người dùng
2 Chọn Quản lí bệnh nhân khám bệnh
3 Hiển thị giao diện xem thông tin đặt lịch khám
4 Chọn ngày để xem thông tin đặt lịch khám
5 Hiển thị thông tin đặt lịch khám
6 Xác nhận thông tin đặt lịch khám
Bảng 3 7: Bảng đặc tả Use case “Xem thông tin đặt lịch khám bệnh”
3.1.4.3 Thêm kế hoạch khám bệnh
Hình 3 5: Lược đồ Use Case “Thêm kế hoạch khám bệnh”
Use Case Thêm kế hoạch khám bệnh của bác sĩ
Pre-Conditions Doctor, admin cần đăng nhập vào hệ thống
Post-Conditions Tạo kế hoạch khám bệnh của bác sĩ thành công
Main Flow 1 Vào mục Quản lí người dùng
2 Chọn Thêm kế hoạch khám bệnh
3 Hiển thị giao diện Thêm kế hoạch khám bệnh
4 Chọn bác sĩ, ngày, giờ khám
Exception Flow(s) 5.1 Nếu nhập thiếu quay lại bước 4
Bảng 3 8 : Bảng đặc tả Use Case “Thêm kế hoạch khám bệnh của bác sĩ”
3.1.4.4 Xác nhận lịch hẹn khám bệnh
Hình 3 6: Lược đồ Use Case “Xác nhận lịch hẹn khám bệnh”
Use Case Xác nhận thông tin đặt lịch khám bệnh
Pre-Conditions Doctor cần đăng nhập vào hệ thống
Post-Conditions Xác nhận lịch đặt khám bệnh thành công
Main Flow 1 Vào mục Quản lí người dùng
2 Chọn Quản lí bệnh nhân khám bệnh
3 Hiển thị giao diện xem thông tin đặt lịch khám
4 Chọn ngày để xem thông tin đặt lịch khám
5 Hiển thị thông tin đặt lịch khám
6 Chọn lịch khám cần xác nhận
8 Xác nhận thông tin đặt lịch khám
Bảng 3 9 : Bảng đặc tả Use Case “Xác nhận lịch hẹn khám bệnh”
3.1.4.5 Tạo thông tin bác sĩ
Hình 3 7: Lược đồ Use Case “Tạo thông tin bác sĩ”
Use Case Tạo thông tin bác sĩ
Pre-Conditions Admin cần đăng nhập vào hệ thống
Post-Conditions Tạo thông tin bác sĩ thành công
Main Flow 1 Vào mục Quản lí người dùng
2 Chọn Quản lí thông tin của bác sĩ
3 Hiển thị giao diện Quản lí thông tin của bác sĩ
4 Chọn bác sĩ và nhập thông tin bác sĩ và chọn tạo thông tin
Exception Flow(s) 5.1 Nhập thiếu thông tin quay lại bước 4
Bảng 3 10 : Bảng đặc tả Use Case “Tạo thông tin bác sĩ”
3.1.4.6 Cập nhập thông tin bác sĩ
Hình 3 8: Lược đồ Use Case “Cập nhập thông tin bác sĩ”
Use Case Cập nhập thông tin bác sĩ
Pre-Conditions Admin cần đăng nhập vào hệ thống
Post-Conditions Cập nhập thông tin bác sĩ thành công
Main Flow 1 Vào mục Quản lí người dùng
2 Chọn Quản lí thông tin của bác sĩ
3 Hiển thị giao diện Quản lí thông tin của bác sĩ
4 Chọn bác sĩ cần cập nhập thông tin và cập nhập
Bảng 3 11 : Bảng đặc tả Use Case “Cập nhập thông tin bác sĩ”
3.1.4.7 Thêm tài khoản bác sĩ
Hình 3 9: Lược đồ Use Case “Thêm tài khoản bác sĩ”
Use Case Thêm thông tin tài khoản bác sĩ
Pre-Conditions Admin cần đăng nhập vào hệ thống
Post-Conditions Thêm bác sĩ thành công
Main Flow 1 Vào mục Quản lí người dùng
2 Chọn Quản lí bác sĩ
3 Hiển thị giao diện Quản lí bác sĩ
4 Nhập thông tin bác sĩ cần tạo
Exception Flow(s) 5.1 Nhập thiếu thông tin quay lại bước 4
Bảng 3 12: Bảng đặc tả Use Case “Thêm thông tin tài khoản bác sĩ”
3.1.4.8 Sửa tài khoản bác sĩ
Hình 3 10: Lược đồ Use Case “Sửa tài khoản bác sĩ”
Use Case Sửa tài khoản bác sĩ
Pre-Conditions Admin cần đăng nhập vào hệ thống
Post-Conditions Sửa thông tin tài khoản bác sĩ thành công
Main Flow 1 Vào mục Quản lí người dùng
2 Chọn Quản lí bác sĩ
3 Hiển thị giao diện Quản lí bác sĩ
4 Chọn bác sĩ cần sửa
5 Hiển thị thông tin bác sĩ trên giao diện
6 Chỉnh sửa thông tin bác sĩ
Bảng 3 13 : Bảng đặc tả Use Case “Sửa tài khoản bác sĩ”
3.1.4.9 Xóa tài khoản bác sĩ
Hình 3 11: Lược đồ Use Case “Xóa tài khoản bác sĩ”
Use Case Xóa tài khoản bác sĩ
Pre-Conditions Admin cần đăng nhập vào hệ thống
Post-Conditions Xóa tài khoản bác sĩ thành công
Main Flow 1 Vào mục quản lí người dùng
2 Chọn Quản lí bác sĩ
3 Hiển thị giao diện Quản lí bác sĩ
4 Chọn bác sĩ cần xóa và chọn biểu tượng xóa
5 Xóa bác sĩ thành công
Bảng 3 14 : Bảng đặc tả Use Case “Xóa tài khoản bác sĩ”
Hình 3 12: Lược đồ Use Case “Thêm thông tin chuyên khoa”
Use Case Thêm chuyên khoa
Pre-Conditions Amin cần truy cập vào hệ thống
Post-Conditions Thêm chuyên khoa thành công
Main Flow 1 Chọn chuyên khoa
2 Chọn quản lí chuyên khoa
3 Hiển thị giao diện quản lí chuyên khoa
Exception Flow(s) 5.1 Admin chưa nhập đầy đủ thông tin quay lại bước 4
Bảng 3 15 : Bảng đặc tả Use Case “Thêm chuyên khoa”
Hình 3 13: Lược đồ Use Case “Xóa chuyên khoa”
Use Case Xóa chuyên khoa
Pre-Conditions Amin cần truy cập vào hệ thống
Post-Conditions Xóa chuyên khoa thành công
Main Flow 1 Chọn chuyên khoa
2 Chọn quản lí chuyên khoa
3 Hiển thị giao diện quản lí chuyên khoa
4 Chọn chuyên khoa cần xóa và nhấn biểu tượng xóa
Bảng 3 16 : Bảng đặc tả Use Case “Xóa chuyên khoa”
3.1.4.12 Thêm thông tin phòng khám
Hình 3 14: Lược đồ Use Case “Thêm thông tin phòng khám”
Use Case Thêm thông tin phòng khám
Pre-Conditions Amin cần truy cập vào hệ thống
Post-Conditions Thêm thông tin phòng khám thành công
Main Flow 1 Chọn chuyên khoa
2 Chọn quản lí phòng khám
3 Hiển thị giao diện quản lí phòng khám
Exception 5.1 Nhập thiếu thông tin quay lại bước 4
Bảng 3 17 : Bảng đặc tả Use Case “Thêm thông tin chuyên khoa”
Hình 3 15: Lược đồ Use Case “Xóa phòng khám”
Use Case Xóa phòng khám
Pre-Conditions Amin cần truy cập vào hệ thống
Post-Conditions Xóa thông tin phòng khám thành công
Main Flow 1 Chọn phòng khám
2 Chọn quản lí phòng khám
3 Hiển thị giao diện quản lí phòng khám
4 Chọn phòng khám cần xóa và nhấn biểu tượng xóa
Bảng 3 18 : Bảng đặc tả Use Case “Xóa phòng khám”
3.1.4.14 Sửa thông tin phòng khám
Hình 3 16: Lược đồ Use Case “Sửa thông tin phòng khám”
Use Case Sửa thông tin phòng khám
Pre-Conditions Đăng nhập bằng tài khoản admin
Post-Conditions Sửa thông tin phòng khám thành công
Main Flow 1 Chọn phòng khám
2 Chọn quản lí phòng khám
3 Hiển thị giao diện quản lí phòng khám
4 Chọn phòng khám cần sửa và nhấn biểu tượng sửa
5 Thông tin phòng khám hiển thị lên giao diện
Bảng 3 19 : Bảng đặc tả Use Case “Sửa thông tin phòng khám”
3.1.4.15 Sửa thông tin chuyên khoa
Hình 3 17: Lược đồ Use Case “Sửa thông tin chuyên khoa”
Use Case Sửa thông tin chuyên khoa
Pre-Conditions Admin đăng nhập vào website
Post-Conditions Sửa thông tin chuyên khoa thành công
Main Flow 1 Chọn chuyên khoa
2 Chọn quản lí chuyên khoa
3 Hiển thị giao diện quản lí chuyên khoa
4 Chọn chuyên khoa cần sửa và nhấn biểu tượng sửa
5 Thông tin chuyên khoa hiển thị lên giao diện
Bảng 3 20 : Bảng đặc tả Use Case “Sửa thông tin chuyên khoa”
3.1.4.16 Tra cứu thông tin chuyên khoa
Hình 3 18: Lược đồ Use Case “Tra cứu thông tin chuyên khoa”
Use Case Tra cứu thông tin chuyên khoa
Pre-Conditions Truy cập vào trang chủ
Post-Conditions Tra cứu thông tin chuyên khoa thành công
Main Flow 1 Chọn chuyên khoa cần xem
2 Hiển thị giao diện thông tin chuyên khoa
Bảng 3 21 : Bảng đặc tả Use Case “ Tra cứu thông tin chuyên khoa”
3.1.4.17 Tra cứu thông tin phòng khám
Hình 3 19: Lược đồ Use case “Tra cứu thông tin phòng khám”
Use Case Tra cứu thông tin phòng khám
Pre-Conditions Truy cập vào trang chủ
Post-Conditions Tra cứu thông tin phòng khám thành công
Main Flow 1 Chọn phòng khám cần xem
2 Hiển thị giao diện thông tin phòng khám
Bảng 3 22 : Bảng đặc tả Use Case “Tra cứu thông tin phòng khám”
3.1.4.18 Tra cứu thông tin bác sĩ
Hình 3 20: Lược đồ Use Case “Tra cứu thông tin sĩ”
Use Case Tra cứu thông tin bác sĩ
Pre-Conditions Truy cập vào trang chủ
Post-Conditions Tra cứu thông tin bác sĩ thành công
Main Flow 1 Chọn bác sĩ cần xem
2 Hiển thị giao diện thông tin bác sĩ
Bảng 3 23 : Bảng đặc tả Use Case “Tra cứu thông tin bác sĩ”
Hình 3 21: Lược đồ Use Case “Đặt lịch khám bệnh”
Use Case Đặt lịch khám bệnh
Pre-Conditions Truy cập vào trang chủ
Post-Conditions Đặt lịch khám bệnh thành công
Main Flow 1 Chọn bác sĩ cần đặt lịch
2 Hiển thị giao diện thông tin bác sĩ
3 Chọn ngày giờ để khám
4 Nhập thông tin khám bệnh
6 Xác nhận mail và đặt lịch thành công
Exception Flow(s) 5.1 Nhập thiếu thông tin quay lại bước 4
Bảng 3 24 : Bảng đặc tả Use Case đặt lịch khám bệnh
Chức năng và đối tượng của Website
Website được thiết kế dành cho hai người dùng chính là Admin và người mua hàng với các tính năng cơ bản:
-Xem chuyên khoa : Người dùng chọn chuyên khoa muốn xem thông tin sẽ chi tiết chuyên khoa sẽ được hiển thị
-Xem chi tiết thông tin bác sĩ: Người dùng có thể xem nội dung chi tiết, miêu tả, giới thiệu bác sĩ để đưa ra quyết định thích hợp.
-Xem thông tin phòng khám : Người dùng chọn thông tin phòng khám muốn xem thông tin sẽ chi tiết chuyên khoa sẽ được hiển thị
-Đặt lịch khám bệnh : Khách hàng có thể đặt lịch khám bệnh theo nhu cầu cá nhân.
- Thêm kế hoạch khám bệnh : Thêm lịch khám bệnh để bệnh nhân đặt lịch
-Quản lí các tài khoản bác sĩ: Quản lí các các tài khoản bác sĩ để bác sĩ có đăng nhập vào tài khoản của mình
- Quản lí thông tin bác sĩ : Thê hoặc cập nhập các thông tin mô tả chi tiết về bác sĩ
-Quản lí chuyên khoa : Thêm, xóa, sửa các thông tin mô tả chi tiết về chuyên khóa
-Quản lí chuyên khoa : Thêm, xóa, sửa các thông tin mô tả chi tiết về chuyên khóa
Lược đồ Sequence diagram
Hình 3 23: Lược đồ tuần tự “Đăng nhập”
Hình 3 24: Lược đồ tuần tự “Đặt lịch khám bệnh”
3.4.3 Tra cứu thông tin phòng khám
Hình 3 25: Lược đồ tuần tự “Tra cứu thông tin phòng khám”
3.4.4 Tra cứu thông tin bác sĩ
Hình 3 26: Lược đồ tuần tự “Tra cứu thông tin bác sĩ”
3.4.5 Sửa thông tin phòng khám
Hình 3 27: Lược đồ tuần tự “Sửa thông tin phòng khám”
Hình 3 28: Lược đồ tuần tự “Xóa phòng khám”
Hình 3 29: Lược đồ tuần tự “Thêm phòng khám”
3.4.8 Xóa tài khoản bác sĩ
Hình 3 30: Lược đồ tuần tự “Xóa tài khoản bác sĩ”
3.4.9 Sửa tài khoản bác sĩ
Hình 3 31: Lược đồ tuần tự “ Sửa tài khoản bác sĩ”
3.4.10 Thêm tài khoản bác sĩ
Hình 3 32: Lược đồ tuần tự “Thêm tài khoản bác sĩ”
3.4.11 Xác nhận lịch hẹn khám bệnh
Hình 3 33: Lược đồ tuần tự “Xác nhận lịch hẹn khám bệnh”
3.4.12 Tạo thông tin bác sĩ
Hình 3 34: Lược đồ tuần tự “Tạo thông tin bác sĩ”
3.4.13 Cập nhập thông tin bác sĩ
Hình 3 35: Lược đồ tuần tự “Cập nhập thông tin bác sĩ”
3.4.14 Tra cứu thông tin chuyên khoa
Hình 3 36: Lược đồ tuần tự “Tra cứu thông tin chuyên khoa”
Hình 3 37: Lược đồ đồ tuần tự “Xóa chuyên khoa”
Hình 3 38: Lược đồ tuần tự “Thêm chuyên khoa”
3.4.17 Sửa thông tin chuyên khoa
Hình 3 39: Lược đồ tuần tự “Sửa thông tin chuyên khoa”
3.4.18 Xem lịch hẹn khám bệnh
Hình 3 40: Lược đồ tuần tự “ Xem lịch hẹn khám bệnh”
3.4.19 Thêm kế hoạch khám bệnh
Hình 3 41: Lược đồ tuần tự “Thêm kế hoạch khám bệnh”
THIẾT KẾ GIAO DIỆN
Giao diện phía người dùng
Trang chủ hỗ trợ đặt lịch khám bệnh online là một nền tảng tiện ích và hiệu quả giúp bạn dễ dàng tìm kiếm và đặt lịch khám bệnh một cách thuận tiện Với giao diện đa ngôn ngữ.
Trang chủ của nhóm em giới thiệu đến khách hàng danh sách các bác sĩ và các phòng khám uy tín nổi bật Có thể tìm hiểu thông tin về bác sĩ và chuyên khoa của họ để lựa chọn bác sĩ phù hợp với nhu cầu của bạn.
Hình 4 1: Giao diện trang chủ
Các chuyên khóa phổ biến Người dùng có thể chọn bất kì chuyên khoa nào để xem thông tin cũng như bác sĩ trong trang chuyên khoa đó
Hình 4 2: Các chuyên khoa phổ biến
Các cơ sở y tế nổi bật Người dùng có thể chọn bất kì cơ sở y tế nào để xem thông tin cũng như bác sĩ trong cơ sơ y tế đó.
Hình 4 3: Các cơ sở y tế nổi bật
Các bác sĩ nổi bật trong tuần Người dùng có thể chọn bác sĩ mình mong muốn để xem thông tin bác sĩ và đặt lịch khám
Hình 4 4: Bác sĩ nổi bật trong tuần
4.1.2 Trang thông tin chuyên khoa
Trên trang thông tin chuyên khoa, bạn sẽ tìm thấy các thông tin chi tiết về mỗi chuyên khoa y tế, bao gồm mô tả về lĩnh vực chuyên môn, các vấn đề y tế liên quan và những điểm đặc biệt của chuyên khoa đó Bên cạnh đó, cũng cung cấp thông tin về danh sách các bác sĩ thuộc chuyên khoa đó, bao gồm giới thiệu để
Hình 4 5: Giao diện trang thông tin chuyên khoa
Các bác sĩ thuộc chuyên khoa đó Người dùng có thể chọn bác sĩ mình mong muốn để xem thông tin bác sĩ và đặt lịch khám Ngoài ra có bộ lọc theo từng thành phố người dùng có thể thành phố mà mình mong muốn
Hình 4 6: Hình các bác sĩ thuộc chuyên khoa
4.1.3 Trang thông tin bác sĩ
Website hỗ trợ đặt lịch khám sẽ cung cấp cho người dùng một trang thông tin chi tiết về các bác sĩ có sẵn Trang này sẽ liệt kê các thông tin quan trọng của từng bác sĩ, bao gồm chuyên khoa, kinh nghiệm, trình độ học vấn, các khóa đào tạo chuyên môn và các chứng chỉ chuyên ngành mà bác sĩ đã đạt được Thông qua việc hiển thị đầy đủ thông tin này, người dùng có thể dễ dàng tìm hiểu về từng bác sĩ và lựa chọn bác sĩ phù hợp với nhu cầu của mình.
Ngoài ra, trên website còn có một hệ thống lịch hẹn khám, cho phép người dùng tùy chọn thời gian khám bệnh phù hợp với sự thuận tiện của họ Bằng cách truy cập vào trang thông tin bác sĩ, người dùng có thể xem lịch trình khám của từng bác sĩ và chọn một thời gian phù hợp Điều này giúp người dùng tiết kiệm thời gian và tránh việc phải đến phòng khám chỉ để biết rằng không có lịch trống.
Hình 4 7: Giao diện bác sĩ chưa có thông tin
Hình 4 8: Giao diện bác sĩ đã có thông tin
Trang thông tin chi tiết về phòng khám cung cấp một cái nhìn tổng quan về cơ sở y tế, bao gồm địa chỉ, thời gian làm việc và các thông tin liên quan khác Điều này giúp người dùng có được sự đảm bảo về độ tin cậy và chất lượng của phòng khám, tạo điều kiện thuận lợi cho việc chọn lựa.
Trong khi đó, thông tin về các bác sĩ có sẵn trong phòng khám giúp người dùng xác định được chuyên môn và kinh nghiệm của từng bác sĩ Mỗi bác sĩ sẽ được liệt kê với các thông tin cá nhân, bao gồm chuyên khoa, học vấn, kinh nghiệm làm việc và các thành tựu chuyên ngành Điều này mang lại sự tin tưởng và sự an tâm cho người dùng khi chọn lựa bác sĩ phù hợp với nhu cầu y tế của mình.
Hình 4 9: Giao diện trang thông tin phòng khám
Các các bác sĩ thuộc phòng khám
Hình 4 10: Các bác sĩ thuộc phòng khám
4.1.5 Giao diện trang đặt lịch khám bệnh
Bạn có thể tìm kiếm bác sĩ theo chuyên khoa, vị trí hoặc tên và xem thông tin chi tiết về từng bác sĩ Điều này giúp bạn lựa chọn được bác sĩ phù hợp với nhu cầu và yêu cầu cá nhân.
Trang đặt lịch khám bệnh cung cấp một lịch trống của các bác sĩ, cho phép bạn chọn thời gian và ngày khám bệnh phù hợp với lịch trình của bạn Bạn có thể dễ dàng kiểm tra sự khả dụng của bác sĩ và lựa chọn thời gian tiện lợi nhất Sau khi chọn lịch khám bệnh, bạn sẽ nhận được xác nhận đặt lịch qua email Bạn cần phải nhập đầy đủ thông tin cần thiết để có thể nhận được hóa đơn của bác sĩ qua email
Giao diện phía admin
Mục đích: Cho phép truy cập vào website với tài khoản Email và Password Đầu vào: Email, Password.
Quá trình: Nhập Email và Password tiếp theo kiểm tra xem các thông tin đầu vào Đầu ra: Nếu dữ liệu đầu vào hợp lệ thì người dùng có thể sử dụng để đăng nhập vào hệ thống Nếu sai hệ thống sẽ yêu cầu nhập lại.
Hình 4 12: Giao diện trang đăng nhập
4.2.2 Trang quản lí tài khoản bác sĩ
Trang quản lí tài khoản bác sĩ được thiết kế đặc biệt dành riêng cho admin của trang web, mang đến sự thuận tiện và hiệu quả trong việc quản lí thông tin và hoạt động của các bác sĩ Với vai trò là admin, bạn sẽ có quyền truy cập và quản lí các tài khoản bác sĩ trên hệ thống.
Trang quản lí tài khoản bác sĩ cung cấp một giao diện trực quan và dễ sử dụng,cho phép bạn quản lí thông tin cá nhân của từng bác sĩ như tên, địa chỉ, số điện thoại, email và các thông tin liên quan khác Bên cạnh đó, bạn cũng có thể thực hiện các thao tác như tạo mới, chỉnh sửa và xóa tài khoản bác sĩ.
Hình 4 13: Trang quản lí tài khoản bác sĩ
Hình 4 14: Bảng tài khoản bác sĩ và quản trị 4.2.3 Các quản lí thông tin bác sĩ
Trang này cho phép nhà quản lý thêm mới, chỉnh sửa và xóa thông tin của các bác sĩ Họ có thể cập nhật các thông tin cơ bản như thông tin giới thiệu, giá khám, chuyên môn làm việc của từng bác sĩ.
Trang quản lí thông tin bác sĩ cũng cung cấp chức năng để gán bác sĩ vào các khoa/phòng khám tương ứng Điều này giúp người dùng dễ dàng tìm kiếm và lựa chọn bác sĩ theo chuyên khoa mà họ quan tâm.
Hình 4 15: Trang tạo thông tin bác sĩ 4.2.4 Trang thêm kế hoạch khám bệnh
Trang thêm lịch khám bệnh của bác sĩ cung cấp một giao diện trực quan và dễ sử dụng, Với trang này, ta có thể chọn bác sĩ, ngày, giờ phù hợp để hiện lên lịch khám bệnh của mình từ đó khách hàng có thể dựa vào đó đặt lịch khám bệnh theo từng khung giờ
Hình 4 16: Trang thêm kế hoạch khám bệnh 4.2.5 Giao diện quản lí phòng khám
Trang quản lí phòng khám cung cấp một giao diện trực quan và dễ sử dụng,giúp admin có thể xem và chỉnh sửa thông tin chi tiết về phòng khám Admin có thể cập nhật thông tin phòng khám và các thông tin khác liên quan đến phòng khám để đảm bảo sự chính xác và tin cậy.
Hình 4 17: Giao diện trang quản lí phòng khám
Hình 4 18: Chỉnh sửa thông tin phòng khám 4.2.6 Giao diện quản lí chuyên khoa
Trang quản lí chuyên khoa cung cấp một giao diện trực quan và dễ sử dụng,giúp admin có thể xem và chỉnh sửa thông tin chi tiết về chuyên Admin có thể cập nhật thông tin phòng khám và các thông tin khác liên quan đến phòng khám để đảm bảo sự chính xác và tin cậy.
Hình 4 19: Trang quản lí chuyên khoa
Sau khi tạo thông tin phía dưới sẽ hiện thị lại tên phòng khám mà admin vừa tạo, ở đây sẽ có hai hành động chủ yếu.
Hình 4 20: Chỉnh sửa xóa thông tin chuyên khoa
Khi ta chọn biểu tượng chỉnh sửa thông tin của chuyên khoa đó sẽ được hiển thị lên trên Sau khi nhấn chỉnh sửa nút button Lưu đã chuyển thành Chỉnh sửa tại đây khi người dung lưu thông tin xong nút button sẽ chuyển qua trạng thái là Lưu
Giao diện phía doctor
4.3.1 Thêm kế hoạch khám bệnh
Trang thêm lịch khám bệnh của bác sĩ cung cấp một giao diện trực quan và dễ sử dụng, Với trang này, ta có thể chọn bác sĩ, ngày, giờ phù hợp để hiện lên lịch khám bệnh của mình từ đó khách hàng có thể dựa vào đó đặt lịch khám bệnh theo từng khung giờ
Hình 4 22: Giao diện trang thêm kế hoạch khám bệnh 4.3.2 Quản lí bệnh nhân khám bệnh
Sau khi người dùng xác nhận qua email, phía bác sĩ sẽ chọn ngày bệnh nhân đã đặt lịch, sau khi chọn ngày phía dưới sẽ hiển thị thông tin người đặt lịch khám như thời gian, họ và tên, địa chỉ giới tính….
Hình 4 23 : Giao diện trang quản lí bệnh nhân khám bệnh
Khi bác sĩ thao tác nút sẽ nhận sẽ hiện lên bảng gửi gửi thông tin khám bệnh cho bệnh nhân Tại đây email bệnh nhân sẽ được hiển thị kèm theo đó là nút gửi ảnh thông tin liên quen đến việc khám bệnh cho bệnh nhân
Hình 4 24: Gửi thông tin khám bệnh
Kết quả đạt được
-Vận dụng các kỹ năng đọc và tự nghiên cứu tài liệu để xử lí các vấn đề trong thời gian thực hiện đề tài
- Nâng cao tinh thần khi làm việc nhóm, tạo cơ hội để phát triển với bạn bè và người đi trước
- Hiểu biết thêm về quy trình xây dựng trang web từ lúc bắt đầu lên ý tưởng cho đến lúc xây dựng website hoàn thiện bằng công nghệ Mern
- Hiểu biết thêm về mô hình MVC, nắm được các kiến thức về MySql
Các ưu điểm và những mặt còn hạn chế
Quá trình xây dựng website các em cũng phát hiện ra website này có những ưu điểm và khiếm khuyết sau:
- Trang web còn có cả phiên bản của riêng admin, dành cho phía khách hàng sử dụng.
-Giao diện được thiết kế một cách trực quan và người dùng dễ dàng điều hướng và tìm hiểu cách sử dụng các tính năng Điều này giúp người dùng dễ dàng đặt lịch khám mà không gặp khó khăn.
- Giao diện nhiều trang vẫn còn chưa được đẹp mắt
- Chức năng đặt lịch khám vẫn chưa được tối ưu
Hướng phát triển
- Phát triển trên ứng dụng di động
- Cho phép đăng nhập qua tài khoản google, facebook,
- Thêm tích hợp thanh toán như Momo, Paypal
- Có thể chèn quảng cáo vào trong website
Cài đặt chương trình
4.3.1 Yêu cầu hệ thống Để có thể cài đặt và thực thi ứng dụng, cần đáp ứng được các yêu cầu sau:
Về môi trường: o Đã cài đặt NodeJS o Đã cài đặt MySql
Về công cụ: o Visual Studio Code hoặc các công cụ tương đương để chạy FE. o Xampp
Phía Back-end o Bước 1: Thực hiện clone hoặc tải xuống dự án từ github : https://github.com/PhamDacTruong/PhamTruong-ThienNghia o Bước 2: Sau khi tải về mở VScode thực hiện lệnh npm i o Bước 3: Sau khi thực hiện lệnh thành công, bật Xampp và cho chạy Apache và MySQL o Bước 4: Thực hiện lệnh npm start
Phía Front-end o Bước 1: Thực hiện clone hoặc tải xuống hai dự án sau từ github: https://github.com/PhamDacTruong/PhamTruong-ThienNghia o Bước 2: Vào thư mục dự án và mở Terminal hoặc Command Prompt Sau đó chạy câu lệnh “npm i” để tiến hành tải các thư viện cần thiết. o Bước 3: Sau khi hoàn tất cài đặt các thư viện thì thực hiện câu lệnh “npm start” để chạy dự án