MỞ ĐẦUDự án "Ứng dụng tư vấn y tế trên di động" nhằm tạo ra một ứng dụng diđộng thông minh để cung cấp tư vấn y tế và hỗ trợ cho người dùng trongviệc quản lý sức khỏe cá nhân.. Hơn nữa,
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC PHENIKAAKHOA HỌC CƠ BẢN
Giáo viên hướng dẫn : Mai Xuân Tráng
Thành viên nhóm : Nguyễn Xuân Hiếu
: Phạm Anh Tuấn: Nguyễn Quang Linh
Trang 2MỤC LỤC
MỞ ĐẦU 2
DANH MỤC HÌNH ẢNH 3
1.Tổng quan 4
1.1.Khảo sát thực trạng 4
1.2 Đánh giá 4
1.3.Tối tượng và phạm vi ứng dụng 5
2 CƠ SỞ LÝ THUYẾT 7
2.1 TỔNG QUAN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 7
2.2 TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL 8
3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 9
3.1 XÁC ĐỊNH YÊU CẦU 9
3.1.1 Yêu cầu chức năng 9
3.1.2 Yêu cầu hệ thống 10
3.2 MÔ HÌNH HÓA 12
3.3 CƠ SỞ DỮ LIỆU CỦA HỆ THỐNG 12
3.3.1 Bảng người dùng 12
3.3.2 Bảng bác sĩ 13
3.4.CÁC THÀNH PHẦN CHỨC NĂNG CỦA HỆ THỐNG 13
3.4.1 Chức năng đăng nhập hệ thống 13
3.4.2 Chức năng quyền admin 13
3.4.3 Chức năng quyền user 13
3.4.4.Chức năng hiển thị tìm kiếm 13
3.4.5.Chức năng hiển thị thông tin cá nhân user 13
3.5 SOURCE CODE CỦA CHƯƠNG TRÌNH 14
3.6 THIẾT KẾ GIAO DIỆN HỆ THỐNG 17
4.Tầm quan trọng của dự án 26
5 Những khó khăn dự án gặp phải 27
KẾT LUẬN 30
1
Trang 3MỞ ĐẦU
Dự án "Ứng dụng tư vấn y tế trên di động" nhằm tạo ra một ứng dụng diđộng thông minh để cung cấp tư vấn y tế và hỗ trợ cho người dùng trongviệc quản lý sức khỏe cá nhân
Ứng dụng sẽ cung cấp thông tin y tế đáng tin cậy, đưa ra lời khuyên, và
hỗ trợ giải đáp các thắc mắc về chăm sóc sức khỏe Nó sẽ giúp người dùng
tự quản lý sức khỏe một cách hiệu quả và thuận tiện Dự án đặt mục tiêutạo ra một nền tảng tư vấn y tế trên di động dễ sử dụng và tiện ích cho mọingười Người dùng có thể truy cập ứng dụng từ điện thoại di động củamình, tìm kiếm thông tin y tế, đặt câu hỏi và nhận được phản hồi chấtlượng từ các chuyên gia y tế Ứng dụng tư vấn y tế sẽ được thiết kế vớigiao diện thân thiện, dễ sử dụng và tương tác Người dùng có thể nhậpthông tin về tình trạng sức khỏe cá nhân, theo dõi chỉ số sức khỏe, và nhậnđược các bài viết, video và tài liệu hữu ích về chăm sóc sức khỏe Lợi íchcủa dự án bao gồm việc tăng cường quyền tự quyết và trách nhiệm cá nhântrong việc chăm sóc sức khỏe, tiết kiệm thời gian và tài nguyên trong việctruy cập y tế, và cung cấp sự hỗ trợ và giúp đỡ cho những người không thểtiếp cận dễ dàng đến cơ sở y tế truyền thống.Với sự phát triển nhanh chóngcủa thiết bị di động và ứng dụng di động, việc áp dụng công nghệ vào lĩnhvực y tế đã tạo ra một cơ hội mới để cung cấp dịch vụ chăm sóc sức khỏemột cách thuận tiện và hiệu quả Ứng dụng tư vấn y tế trên di động sẽ cungcấp một loạt các chức năng và tính năng phong phú để đáp ứng nhu cầu củangười dùng Người dùng sẽ có thể tra cứu thông tin y tế, như triệu chứngbệnh, phương pháp điều trị và thuốc, để có kiến thức cơ bản và tự chẩnđoán Hơn nữa, ứng dụng sẽ cung cấp tư vấn y tế cá nhân hóa dựa trênthông tin người dùng cung cấp về tuổi tác, giới tính, tiền sử bệnh và các chỉ
Trang 4DANH MỤC HÌNH ẢNH
Hình 3.1 Biểu đồ phân rã chức năng (BFD)
Hình 3.2 Bảng người dùng
Bảng 3.3 Bảng bác sĩ
Hình 3.4.Source code class ConnectoDB
Hình 3.5.Source class Đăng nhập và Đăng ký
Hình 3.6 Source code lưu thông tin đăng nhập
Hình 3.7 Source code lấy danh sách tất cả các bác sĩ
Hình 3.8.Source code thêm bác sĩ
Hình 3.9 Source code xóa tài khoản
Hình 3.10 Source code cập nhật bệnh án
Hình3.11.Source code đăng nhập người dùng
Hình 3.12 Form đăng nhập
Hình 3.13.Form giao diện chính của phần mềm dưới quyền Admin
Hình 3.14 Thông tin người dùng
Trang 5và tiếp cận dễ dàng thông qua các phương tiện kỹ thuật số Ngành tư vấn y
tế đóng góp quan trọng cho việc nâng cao chất lượng cuộc sống và sứckhỏe của mọi người, để giúp mọi người thuận tiện cũng như tiết kiệm thờigian khám sức khỏe cho mọi người các app sản phẩm tư vấn y tế trực tuyếnbắt đầu ra đời
1.2 Đánh giá
App tư vấn y tế có những ưu điểm và nhược điểm riêng Dưới đây là một
số điểm mạnh và điểm yếu của ứng dụng này:
Ưu điểm:
1 Tiện lợi và truy cập dễ dàng: App tư vấn y tế mang lại tiện ích cho ngườidùng với khả năng truy cập thông tin y tế và tư vấn mọi lúc, mọi nơi chỉcần có kết nối internet Điều này giúp tiết kiệm thời gian và công sức choviệc di chuyển đến các cơ sở y tế truyền thống
2 Tư vấn cá nhân hóa: Ứng dụng tư vấn y tế có thể cung cấp tư vấn cánhân hóa dựa trên thông tin và lịch sử sức khỏe của người dùng Điều nàygiúp người dùng nhận được thông tin và khuyến nghị phù hợp với tìnhtrạng sức khỏe và nhu cầu riêng của họ
3 Đa dạng thông tin y tế: App tư vấn y tế cung cấp một nguồn thông tinphong phú về triệu chứng, bệnh tật, phòng ngừa, và quản lý sức khỏe.Người dùng có thể tìm hiểu và cập nhật kiến thức y tế để tự quản lý sứckhỏe một cách tốt hơn
Trang 64 Giao tiếp và tương tác: Một số ứng dụng tư vấn y tế cung cấp khả nănggiao tiếp và tương tác trực tiếp với các chuyên gia y tế qua tin nhắn, cuộcgọi video hoặc hệ thống chat Điều này cho phép người dùng nhận được hỗtrợ và giải đáp thắc mắc từ những chuyên gia có kinh nghiệm
1.3.Tối tượng và phạm vi ứng dụng
Đối tượng của app tư vấn y tế có thể là mọi người, bao gồm cả ngườidùng có kiến thức y tế cơ bản và người không có nền tảng y tế Tuy nhiên,phạm vi đối tượng chủ yếu của app tư vấn y tế có thể được phân loại nhưsau:
- Người dùng tự chăm sóc sức khỏe: App tư vấn y tế hướng đến ngườidùng có nhu cầu tự chăm sóc sức khỏe cá nhân Đây có thể là những ngườiquan tâm đến việc duy trì lối sống lành mạnh, phòng ngừa bệnh tật, tìmhiểu về triệu chứng và cách quản lý tình trạng sức khỏe của mình
- Người tìm kiếm thông tin y tế: App tư vấn y tế cung cấp một nguồnthông tin phong phú về các vấn đề y tế Đối tượng này bao gồm nhữngngười tìm kiếm thông tin liên quan đến bệnh tật, phương pháp điều trị,phòng ngừa, và các lĩnh vực y tế khác
- Người cần tư vấn và hỗ trợ: App tư vấn y tế có thể hướng đến nhữngngười cần tư vấn và hỗ trợ từ các chuyên gia y tế Đối tượng này bao gồmnhững người có câu hỏi về sức khỏe, cần lời khuyên, hoặc muốn có ý kiếnchuyên môn về tình trạng sức khỏe của mình Phạm vi đối tượng của app tư
Trang 7vấn y tế là rất rộng, từ những người sử dụng thông thường cho đến nhữngngười quan tâm chuyên sâu về y tế
3 Lợi ích:
- Tiện lợi và truy cập dễ dàng: Người dùng có thể truy cập thông tin y tế và
tư vấn mọi lúc, mọi nơi chỉ cần có kết nối internet
- Tư vấn cá nhân hóa: Cung cấp tư vấn và thông tin phù hợp với tình trạngsức khỏe và nhu cầu riêng của từng người dùng
- Đa dạng thông tin y tế: Cung cấp nguồn thông tin phong phú về triệuchứng, bệnh tật, phòng ngừa và quản lý sức khỏe
- Giao tiếp và tương tác: Khả năng giao tiếp và tương tác trực tiếp với cácchuyên gia y tế, giúp người dùng nhận được hỗ trợ và giải đáp thắc mắc
c Phát triển ứng dụng: Tiến hành phát triển và kiểm thử ứng dụng tư vấn y
tế với sự hỗ trợ của các chuyên gia y tế và nhà phát triển phần mềm
d Triển khai và đánh giá: Triển khai ứng dụng và thu thập ph
Các ràng buộc của hệ thống
Trang 8 Dữ liệu phải đúng với khai báo và được cập nhật một cách chính xác
Phần mềm sau khi triển khai phải đáp ứng được nhu cầu tự động 50% sốlượng công việc liên quan
hệ thống tệp, và hơn thế nữa
Ở nhóm chúng em lựa chọn ngôn ngữ python.Python là một ngôn ngữ lậptrình phổ biến và mạnh mẽ được sử dụng chủ yếu cho việc phát triển phíabackend của ứng dụng Với cú pháp đơn giản, Python cho phép lập trìnhviên xây dựng các hệ thống phức tạp và ứng dụng web hiệu quả VớiPython, bạn có thể xây dựng các API, web service và ứng dụng web phứctạp Python hỗ trợ nhiều framework phát triển phía server như Django,Flask và Pyramid, giúp tăng tốc quá trình phát triển và cung cấp các công
cụ và thư viện mạnh mẽ để xây dựng các ứng dụng linh hoạt và bảo mật.Python cũng hỗ trợ kết nối với cơ sở dữ liệu thông qua các thư viện nhưSQLAlchemy, giúp quản lý và tương tác với cơ sở dữ liệu dễ dàng Ngoài
ra, Python cũng cung cấp các thư viện và công cụ để xử lý dữ liệu, thựchiện tính toán phức tạp và triển khai các tác vụ xử lý nền Với mô-đun vàgói phong phú, Python cho phép bạn mở rộng chức năng của ứng dụngbằng cách sử dụng các thư viện bên thứ ba Điều này giúp giảm thời gianphát triển và tận dụng lại mã nguồn có sẵn Tổng quan, Python là một lựa
Trang 9chọn mạnh mẽ cho việc phát triển phía backend của ứng dụng Với tínhđơn giản, hiệu quả và khả năng tích hợp, Python là một ngôn ngữ phổ biếntrong cộng đồng phát triển phần mềm và được sử dụng rộng rãi trong việcxây dựng các ứng dụng web và hệ thống phức tạp.
và cốt lõi của phần giao diện người dùng (frontend) của một trang web.HTML cho phép bạn xác định các phần tử và cấu trúc trên trang web bằngcách sử dụng các thẻ (tags) Các thẻ HTML được sử dụng để định nghĩacác phần tử như tiêu đề, đoạn văn bản, hình ảnh, liên kết, bảng, biểu đồ vànhiều phần tử khác Bằng cách sắp xếp và nhóm các thẻ HTML, bạn có thểtạo ra giao diện và cấu trúc trang web mong muốn Ngoài việc định nghĩacấu trúc, HTML cũng hỗ trợ định dạng thông qua CSS (Cascading StyleSheets) CSS được sử dụng để định rõ kiểu dáng, màu sắc, kích thước,khoảng cách và các thuộc tính khác của các phần tử HTML trên trang web.Bằng cách áp dụng CSS vào HTML, bạn có thể tạo ra giao diện đẹp mắt vàphù hợp với thiết kế của trang web Khi trình duyệt web hiển thị trang web,
nó sẽ hiểu và hiển thị nội dung HTML theo cấu trúc và định dạng đã đượcđịnh nghĩa Điều này cho phép người dùng tương tác với các phần tử trêntrang web và truy cập đến các liên kết, biểu mẫu nhập liệu và các chứcnăng khác Tóm lại, HTML là ngôn ngữ đánh dấu được sử dụng để xâydựng cấu trúc và định dạng nội dung của một trang web Nó là thành phần
cơ bản và quan trọng trong phát triển phần frontend của một trang web vàthường được kết hợp với CSS để tạo ra giao diện và trải nghiệm ngườidùng tốt hơn
Trang 102.2 TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
MySQL là một hệ quản trị cơ sở dữ liệu phổ biến và được sử dụng rộngrãi trên toàn thế giới Điểm mạnh của MySQL nằm ở sự dễ sử dụng, hiệusuất cao, độ tin cậy và khả năng mở rộng MySQL có cú pháp SQL đơngiản và dễ hiểu, giúp người dùng tạo, truy vấn và cập nhật dữ liệu một cách
dễ dàng Nó được tối ưu hóa để xử lý tốt các truy vấn và giao transactioistrong môi trường có tải công việc cao Đồng thời, MySQL cũng đảm bảotính toàn vẹn dữ liệu và cung cấp các tính năng bảo mật như xác thực ngườidùng và quyền truy cập Một ưu điểm quan trọng của MySQL là khả năng
mở rộng Người dùng có thể mở rộng dữ liệu bằng cách thêm các máy chủslave hoặc sử dụng các công nghệ như phân chia dữ liệu và nhân rộng dữliệu Điều này giúp MySQL xử lý hiệu quả các tải công việc lớn và đáp ứngnhu cầu mở rộng của hệ thống MySQL cũng hỗ trợ đa nền tảng, cho phépcài đặt trên nhiều hệ điều hành và nền tảng khác nhau Điều này giúp ngườidùng linh hoạt trong việc triển khai và vận hành MySQL trên các môitrường khác nhau Cuối cùng, MySQL có một cộng đồng người dùng lớn
và phong phú Người dùng MySQL có thể dễ dàng tìm kiếm tài liệu, tàiliệu hướng dẫn và nhận sự hỗ trợ từ cộng đồng thông qua các diễn đàn vànguồn kiến thức phong phú Tóm lại, MySQL là một hệ quản trị cơ sở dữliệu mạnh mẽ và linh hoạt, đáp ứng được nhiều yêu cầu về quản lý dữ liệu.Với tính dễ sử dụng, hiệu suất cao và khả năng mở rộng, MySQL là mộtlựa chọn phổ biến cho các ứng dụng web, di động và hệ thống thông tin
3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1 XÁC ĐỊNH YÊU CẦU
3.1.1 Yêu cầu chức năng
Yêu cầu chức năng của ứng dụng tư vấn y tế bao gồm:
1 Đăng ký và đăng nhập: Người dùng có thể tạo tài khoản và đăng nhậpvào ứng dụng để truy cập vào các tính năng và thông tin
Trang 112 Tìm kiếm thông tin y tế: Người dùng có thể tìm kiếm thông tin về triệuchứng, bệnh tật, phương pháp điều trị, và các tài liệu tham khảo y tế khác.
3 Tư vấn cá nhân hóa: Ứng dụng cung cấp khả năng tư vấn cá nhân hóadựa trên thông tin và triệu chứng của người dùng Người dùng có thể nhậpthông tin cá nhân và nhận được khuyến nghị và tư vấn phù hợp với tìnhtrạng sức khỏe của mình
4 Giao tiếp với chuyên gia y tế: Ứng dụng cung cấp khả năng giao tiếptrực tiếp với các chuyên gia y tế thông qua hệ thống chat, cuộc gọi videohoặc tin nhắn Người dùng có thể đặt câu hỏi, nhận lời khuyên và được hỗtrợ từ các chuyên gia
5 Quản lý lịch sử sức khỏe: Ứng dụng cho phép người dùng ghi lại lịch sửsức khỏe cá nhân, bao gồm triệu chứng, bệnh tật, điều trị, và các cuộc tưvấn trước đó
6 Thông báo và nhắc nhở: Ứng dụng có thể gửi thông báo và nhắc nhởcho người dùng về việc uống thuốc, khám bệnh định kỳ, và các hoạt độngchăm sóc sức khỏe khác
7 Đánh giá và phản hồi: Người dùng có thể đánh giá và phản hồi về trảinghiệm sử dụng ứng dụng, giúp cải thiện chất lượng và hiệu quả của nó
8 Bảo mật và quyền riêng tư: Ứng dụng phải đảm bảo bảo mật thông tinngười dùng và tuân thủ các quy định về quyền riêng tư và bảo vệ dữ liệu y
tế Các yêu cầu chức năng này sẽ đáp ứng nhu cầu cơ bản của người dùngtrong việc tìm kiếm thông tin, nhận tư vấn và hỗ trợ y tế cá nhân
3.1.2 Yêu cầu hệ thống
Yêu cầu hệ thống của ứng dụng tư vấn y tế bao gồm:
- Hệ điều hành: Ứng dụng phải hoạt động trên các hệ điều hành di độngphổ biến như Android và iOS
- Giao diện người dùng (UI): Giao diện người dùng phải được thiết kế đẹp,trực quan và dễ sử dụng Nó phải cung cấp các tính năng tìm kiếm, tư vấn
cá nhân hóa, giao tiếp với chuyên gia, quản lý lịch sử sức khỏe và các tínhnăng khác
Trang 12- Đăng ký và đăng nhập: Hệ thống phải có khả năng đăng ký tài khoản mớicho người dùng và cho phép họ đăng nhập vào ứng dụng bằng các phươngpháp xác thực an toàn như mật khẩu, mã OTP hoặc đăng nhập xã hội.
- Quản lý người dùng: Hệ thống phải có khả năng quản lý thông tin ngườidùng, bao gồm tài khoản, thông tin cá nhân, lịch sử sức khỏe và các dữ liệuliên quan khác
- Tìm kiếm và phân loại thông tin: Hệ thống phải có khả năng tìm kiếm vàphân loại thông tin y tế từ cơ sở dữ liệu, giúp người dùng dễ dàng tìm kiếmthông tin liên quan đến triệu chứng, bệnh tật, phương pháp điều trị và thamkhảo y tế
- Hệ thống tư vấn và xử lý thông tin: Hệ thống phải có khả năng xử lýthông tin từ người dùng và cung cấp tư vấn cá nhân hóa dựa trên dữ liệu cósẵn Nó cần tích hợp các thuật toán máy học và trí tuệ nhân tạo để cải thiệnkhả năng tư vấn và đưa ra quyết định
- Giao tiếp với chuyên gia y tế: Hệ thống phải cung cấp khả năng tương táctrực tiếp với các chuyên gia y tế thông qua hệ thống chat, cuộc gọi videohoặc tin nhắn
- Bảo mật và quyền riêng tư: Hệ thống phải tuân thủ các quy định về bảomật và quyền riêng tư của dữ liệu y tế Nó phải đảm bảo rằng thông tinngười dùng được bảo vệ an toàn và chỉ truy cập bởi những người có quyềntruy cập
Trang 133.2 MÔ HÌNH HÓA
3.2.1 Biểu đồ phân rã chức năng (BFD)
Hình 3.1 Biểu đồ phân rã chức năng (BFD)
3.3 CƠ SỞ DỮ LIỆU CỦA HỆ THỐNG
Để nắm được yêu cầu của bài toán, chúng ta cần hiểu dõ về cơ sở dữ liệu
mà bài toán cần Ở đây em xin đưa ra những thông tin mà phần mềm quản
lý khách sạn cần có như sau:
3.3.1 Bảng người dùng
Hình 3.2 Bảng người dùng
Trang 143.3.2 Bảng bác sĩ
Bảng 3.3 Bảng bác sĩ3.4.CÁC THÀNH PHẦN CHỨC NĂNG CỦA HỆ THỐNG
3.4.1 Chức năng đăng nhập hệ thống
Đăng nhập tài khoản để xứ lý chương trình
3.4.2 Chức năng quyền admin
Thêm sửa ,xóa, và hiển thị thông tin của nguời dùng, bác sĩ
3.4.3 Chức năng quyền user
Thêm, sửa và hiển thị thông tin cá nhân
3.4.4.Chức năng hiển thị tìm kiếm
Tìm kiếm bác sĩ, tra cứu bệnh án
3.4.5.Chức năng hiển thị thông tin cá nhân user
Thêm , xóa,hiển thị ,sửa thông tin đăng nhập
Trang 153.5 SOURCE CODE CỦA CHƯƠNG TRÌNH
3.5.1 Source code class ConnectoDB
Chức năng : Dùng để kết nối cơ sở dữ liệu MySql
Hình 3.4.Source code class ConnectoDB
3.5.2 Source class Dang Nhap và Đăng ký
Chức năng : Dùng để đăng nhập, đăng ký vào hệ thống
Hình 3.5.Source class Đăng nhập và Đăng ký
3.5.3 Source code check quyền đăng nhâp
Chức năng: Dùng để check quyền