ii TÓM TẮT Đồ án của em mang tên “Xây dựng hệ thống đặt lịch khám bệnh tại phòng khám bác sĩ gia đình”.. Website cung cấp các tính năng cho bốn nhóm người dùng là quản trị viên, chủ phò
Trang 1TRƯỜNG ĐẠI HỌC AN GIANG KHOA CÔNG NGHỆ THÔNG TIN
KHÓA LUẬN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN
XÂY DỰNG HỆ THỐNG ĐẶT LỊCH KHÁM BỆNH TẠI PHÒNG KHÁM BÁC SĨ GIA ĐÌNH
DƯƠNG HUỲNH PHÚC HẬU
AN GIANG, THÁNG 05 –NĂM 2022
Trang 2TRƯỜNG ĐẠI HỌC AN GIANG KHOA CÔNG NGHỆ THÔNG TIN
KHÓA LUẬN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN
XÂY DỰNG HỆ THỐNG ĐẶT LỊCH KHÁM BỆNH TẠI PHÒNG KHÁM BÁC SĨ GIA ĐÌNH
DƯƠNG HUỲNH PHÚC HẬU
MÃ SỐ SV: DTH185274
GIẢNG VIÊN HƯỚNG DẪN:
HUỲNH PHƯỚC HẢI
AN GIANG, THÁNG 05 –NĂM 2022
Trang 3Khoá luận “Xây dựng hệ thống đặt lịch khám bệnh tại phòng khám bác sĩ gia đình”
do sinh viên Dương Huỳnh Phúc Hậu thực hiện dưới sự hướng dẫn của TS.Huỳnh Phước Hải Tác giả đã báo cáo kết quả nghiên cứu và được Hội đồng Khoa học và Đào tạo thông qua ngày
………
(Ký và ghi rõ chức danh, họ tên) (Ký và ghi rõ chức danh, họ tên)
Giảng viên hướng dẫn
(Ký và ghi rõ chức danh, họ tên)
Trang 4i
LỜI CẢM ƠN
Ngày nay, ở hầu hết các lĩnh vực hay ngành nghề thì việc ứng dụng công nghệ thông tin đang trở nên vô cùng phổ biến Công nghệ thông tin dần có mặt
và trở thành công cụ hỗ trợ đắc lực cho con người trong mọi công việc
Trong thời gian gần đây, công nghệ thông tin vốn đã phát triển rất nhanh, nay lại còn nhanh hơn Do đó, để không trở nên lạc hậu về công nghệ, để bắt kịp với tốc độ phát triển của công nghệ ngày nay, thì việc tiếp nhận những kiến thức có chọn lọc từ các giảng viên trên giảng đường đại học là vô cùng cần thiết
và quan trọng
Em xin gửi lời cảm ơn đến thầy Huỳnh Phước Hải, thầy là người đã tận tình giúp đỡ em trong suốt quá trình hoàn thành bài báo cáo Em xin cảm ơn các thầy cô của Trường Đại Học An Giang nói chung và của khoa Công Nghệ Thông Tin nói riêng đã tận tình giảng dạy cho em suốt quảng thời gian học đại học Nhờ đó mà em trang bị được lượng kiến thức là đủ để hoàn thành bài báo cáo này và hơn nữa là hành trang để tiến lên trên những quảng đường sau này
Con xin cảm ơn cha, mẹ đã luôn là chỗ dựa tinh thần vững chắc cho con trong suốt quá trình học tập, giúp con luôn tự tin thực hiện những gì mình muốn
vì con biết dù con có thất bại bao nhiêu lần đi nữa thì vẫn luôn có cha, mẹ ủng
hộ con vô điều kiện
Em xin chân thành cảm ơn!
Long xuyên, 15 tháng 05 năm 2022
Sinh viên thực hiện
Dương Huỳnh Phúc Hậu
Trang 5ii
TÓM TẮT
Đồ án của em mang tên “Xây dựng hệ thống đặt lịch khám bệnh tại phòng khám bác sĩ gia đình” Quá trình thực hiện đồ án này bao trùm tất cả các công đoạn để cho ra sản phẩm là một website đảm bảo đáp ứng được những yêu cầu
cơ bản mà một hệ thống đặt lịch khám cần có Các công đoạn đó bao gồm xác định hiện trạng, phân tích yêu cầu, phân tích, thiết kế, cài đặt, kiểm thử và triển khai Website cung cấp các tính năng cho bốn nhóm người dùng là quản trị viên, chủ phòng khám, bác sĩ và bệnh nhân Trong đó quản trị viên có quyền hành cao nhất, chủ phòng khám có những tính năng như một hệ thống quản lý phòng khám đơn giản, bệnh nhân là người tương tác với các phòng khám để thực hiện nhu cầu của mình
Trang 6iii
ABSTRACT
My project is called "Building a system to schedule medical examinations at the family doctor's clinic" The process of implementing this project covers all the stages to produce the product is a website that ensures that
it meets the basic requirements that a scheduling system needs These stages include status quo identification, request analysis, analysis, design, installation, testing, and deployment The website offers features to four groups of users: administrators, clinic owners, doctor and patients In which the administrator has the highest authority, the clinic owner has features such as a simple clinic management system, the patient is the one who interacts with the clinic to fulfill his needs
Trang 7iv
MỤC LỤC
CHƯƠNG 1: 1
ĐẶT VẤN ĐỀ 1
1.1.TÍNH CẤP THIẾT CỦA ĐỀ TÀI .1
1.2.MỤC TIÊU THỰC HIỆN ĐỀ TÀI .1
CHƯƠNG 2: 3
TỔNG QUAN VÀ CƠ SỞ LÝ THUYẾT 3
2.1.ĐẶT VẤN ĐỀ .3
2.2.LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ .3
2.3.PHẠM VI CỦA ĐỀ TÀI .3
2.4.HƯỚNG GIẢI QUYẾT VẤN ĐỀ .3
2.5.CƠ SỞ LÝ THUYẾT .3
2.5.1 Khái niệm về Laravel .3
2.5.2 Tìm hiểu về Bing Map API .4
2.5.3 Tìm hiểu về Bootstrap .4
2.5.4 Tìm hiểu về PhpMyAdmin .4
CHƯƠNG 3: 6
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 6
3.1.THIẾT KẾ CƠ SỞ DỮ LIỆU .6
3.1.1 Cấu trúc các bảng dữ liệu .6
3.1.2 Mối quan hệ giữa các đối tượng 15
3.2.CÁC SƠ ĐỒ 20
3.2.1 Sơ đồ Usecase tổng quát của quyền Admin 20
3.2.2 Sơ đồ Usecase tổng quát 21
3.2.3 Sơ đồ Usecase tra cứu thông tin 22
3.2.4 Sơ đồ Usecase xem trang tin 22
3.2.5 Sơ đồ Usecase đặt lịch khám bệnh 23
3.2.6 Sơ đồ Usecase đánh giá và bình luận 23
3.2.7 Sơ đồ Usecase Quản lý phòng khám 24
Trang 8v
3.2.7.1 Sơ đồ usecase quản lý thông tin phòng khám 24
3.2.7.2 Sơ đồ usecase quản lý bác sĩ 24
3.2.7.3 Sơ đồ usecase quản lý bình luận 25
3.2.7.4 Sơ đồ usecase quản lý bệnh nhân 25
3.2.7.5 Sơ đồ usecase quản lý thân nhân 26
3.2.7.6 Sơ đồ usecase quản lý đặt lịch 26
3.2.7.7 Sơ đồ usecase quản lý hồ sơ 27
3.2.8 Sơ đồ tuần tự đăng nhập 27
3.2.9 Sơ đồ tuần tự thêm đối tượng 28
3.2.10 Sơ đồ tuần tự sửa đối tượng 29
3.2.11 Sơ đồ tuần tự xóa đối tượng 29
3.3.MÔ TẢ CHỨC NĂNG 30
3.3.1 Đối với người dùng 30
3.3.2 Đối với chủ phòng khám 30
3.3.3 Đối với bác sĩ 30
3.3.4 Đối với quản trị viên 30
3.3.5 Mô tả các usecase 32
3.3.5.1 Mô tả usecase đăng ký tài khoản 32
3.3.5.2 Mô tả usecase đăng nhập 33
3.3.5.3 Mô tả usecase xem thông tin phòng khám 33
3.3.5.4 Mô tả usecase đặt lịch khám bệnh 34
3.3.5.5 Mô tả usecase liên hệ nhận tư vấn 35
3.3.5.6 Mô tả usecase đăng xuất 35
3.3.5.7 Mô tả usecase quản lý thông tin phòng khám 36
3.3.5.8 Mô tả usecase quản lý bác sĩ 37
3.3.5.9 Mô tả usecase quản lý bình luận 38
3.3.5.10 Mô tả usecase quản lý bệnh nhân 39
3.3.5.11 Mô tả usecase quản lý thân nhân 40
3.3.5.12 Mô tả usecase quản lý đặt lịch 41
Trang 9vi
3.3.5.13 Mô tả usecase quản lý hồ sơ 42
3.3.5.14 Mô tả usecase khám bệnh nhân 43
3.4.KẾT QUẢ CÀI ĐẶT CHƯƠNG TRÌNH 44
3.4.1 Giao diện bắt đầu 44
3.4.2 Giao diện đăng nhập 44
3.4.3 Giao diện đăng ký 45
3.4.4 Giao diện sau khi đăng nhập quyền Admin 45
3.4.4.1 Giao diện quản lý phòng khám 46
3.4.4.2 Giao diện quản lý bác sĩ 48
3.4.4.3 Giao diện quản lý đặt lịch 49
3.4.4.4 Giao diện quản lý người dùng 50
3.4.4.5 Giao diện quản lý bình luận 51
3.4.4.6 Giao diện quản lý bài viết 52
3.4.4.7 Giao diện quản lý hồ sơ 53
3.4.4.8 Giao diện quản lý bệnh nhân 54
3.4.4.9 Giao diện quản lý hỏi đáp 54
3.4.4.10 Giao diện duyệt 55
3.4.5 Giao diện sau khi đăng nhập quyền User 56
3.4.6 Giao diện sau khi đăng nhập quyền ChuPhongKham 57
3.4.7 Giao diện quản lý phòng khám 58
3.4.8 Giao diện sau khi đăng nhập quyền BacSi 61
3.4.9 Giao diện trang tin 63
3.5.KẾT LUẬN 63
3.6.HƯỚNG PHÁT TRIỂN 64
Trang 10vii
DANH MỤC HÌNH ẢNH
Hình 1 Sơ đồ mối quan hệ giữa các bảng 7
Hình 2 Mối quan hệ giữa phòng khám và loại phòng khám 15
Hình 3 Mối quan hệ giữa phòng khám và bác sĩ 15
Hình 4 Mối quan hệ giữa bác sĩ và chuyên môn 16
Hình 5 Mỗi quan hệ giữa người dùng, bài viết và chủ đề 17
Hình 6 Mối quan hệ giữa người dùng, phòng khám và bình luận 17
Hình 7 Mối quan hệ giữa bệnh nhân, phòng khám, bác sĩ và thân nhân 18
Hình 8 Mối quan hệ bảng hồ sơ, loại hồ sơ và bác sĩ 19
Hình 9 Sơ đồ usecase của quyền Admin 20
Hình 10 Sơ đồ Usecase tổng quát 21
Hình 11 Sơ đồ usecase tra cứu thông tin 22
Hình 12 Sơ đồ usecase xem trang tin 22
Hình 13 Sơ đồ usecase đặt lịch khám bệnh 23
Hình 14 Sơ đồ usecase đánh giá và bình luận 23
Hình 15 Sơ đồ usecase quản lý thông tin phòng khám 24
Hình 16 Sơ đồ usecase quản lý thông tin bác sĩ 24
Hình 17 Sơ đồ usecase quản lý bình luận 25
Hình 18 Sơ đồ usecase quản lý bệnh nhân 25
Hình 19 Sơ đồ usecase quản lý thân nhân 26
Hình 20 Sơ đồ usecase quản lý đặt lịch 26
Hình 21 Sơ đồ usecase quản lý hồ sơ 27
Hình 22 Sơ đồ tuần tự đăng nhập 27
Hình 23 Sơ đồ tuần tự thêm đối tượng 28
Trang 11viii
Hình 24 Sơ đồ tuần tự sửa đối tượng 29
Hình 25 Sơ đồ tuần tự xóa đối tượng 29
Hình 26 Mô tả usecase đăng ký tài khoản 32
Hình 27 Mô tả usecase đăng nhập 33
Hình 28 Mô tả usecase xem thông tin phòng khám 33
Hình 29 Mô tả usecase đặt lịch khám bệnh 34
Hình 30 Mô tả usecase liện hệ nhận tư vấn 35
Hình 31 Mô tả usecase đăng xuất 35
Hình 32 Mô tả usecase quản lý thông tin phòng khám 36
Hình 33 Mô tả usecase quản lý bác sĩ 37
Hình 34 Mô tả usecase quản lý bình luận 38
Hình 35 Mô tả usecase quản lý bệnh nhân 39
Hình 36 Mô tả usecase quản lý thân nhân 40
Hình 37 Mô tả usecase quản lý đặt lịch 41
Hình 38 Mô tả usecase quản lý hồ sơ 42
Hình 39 Mô tả usecase khám bệnh nhân 43
Hình 40 Giao diện danh sách phòng khám 46
Hình 41 Giao diện thêm phòng khám 47
Hình 42 Giao diện sửa phòng khám 47
Hình 43 Giao diện thêm bình luận cho phòng khám 48
Hình 44 Giao diện danh sách bác sĩ 48
Hình 45 Giao diện đặt lịch 49
Hình 46 Giao diện danh sách đặt lịch 49
Hình 47 Giao diện danh sách người dùng 50
Hình 48 Giao diện thêm người dùng 50
Hình 49 Giao diện sửa người dùng 51
Hình 50 Giao diện danh sách bình luận 51
Hình 51 Giao diện danh sách bài viết 52
Hình 52 Giao diện thêm bài viết 52
Trang 12ix
Hình 53 Giao diện sửa bài viết 53
Hình 54 Giao diện danh sách hồ sơ 53
Hình 55 Giao diện danh sách bệnh nhân 54
Hình 56 Giao diện quản lý hỏi đáp 54
Hình 57 Giao diện duyệt phòng khám 55
Hình 58 Giao diện duyệt bài viết 55
Hình 59 Giao diện khi đăng nhập quyền User 56
Hình 60 Giao diện xem danh sách phòng khám 57
Hình 61 Giao diện khi đăng nhập quyền chủ phòng khám 57
Hình 62.Giao diện quản lý thông tin phòng khám 58
Hình 63 Giao diện quản lý bác sĩ của phòng khám 58
Hình 64 Giao diện xem các bình luận về phòng khám 59
Hình 65 Giao diện quản lý bệnh nhân của phòng khám 59
Hình 66 Giao diện quản lý thân nhân của phòng khám 60
Hình 67 Giao diện quản lý đặt lịch của phòng khám 60
Hình 68 Giao diện quản lý hồ sơ của phòng khám 61
Hình 69 Giao diện khi đăng nhập quyền Bác sĩ 61
Hình 70 Danh sách lịch được đặt 62
Hình 71 Giao diện danh sách bệnh nhân của bác sĩ 62
Hình 72 Giao diện trang tin 63
Trang 13x
DANH MỤC CÁC BẢNG
Bảng 1 Cấu trúc bảng người dùng( users) 8
Bảng 2 Cấu trúc bảng phòng khám( phongkham) .8
Bảng 3 Cấu trúc bảng loại phòng khám( loaiphongkham) .9
Bảng 4 Cấu trúc bảng đặt lịch (datlich) .9
Bảng 5 Cấu trúc bảng chuyên môn( chuyenmon) .9
Bảng 6 Cấu trúc bảng chủ đề(chude) 10
Bảng 7 Cấu trúc bảng bình luận( binhluan) 10
Bảng 8 Cấu trúc bảng bài viết( baiviet) 10
Bảng 9 Cấu trúc bảng bác sĩ( bacsi) 11
Bảng 10 Cấu trúc bảng dấu hiệu sinh tồn(dauhieusinhton) 11
Bảng 11 Cấu trúc bảng bệnh nhân( benhnhan) 12
Bảng 12 Cấu trúc bảng thân nhân( thannhan) 12
Bảng 13 Cấu trúc bảng Xã phường(xaphuong) 13
Bảng 14 Cấu trúc bảng hồ sơ 13
Bảng 15 Cấu trúc bảng loại hồ sơ 14
Bảng 16 Cấu trúc bảng Câu hỏi (cauhoi) 14
Bảng 17 Cấu trúc bảng trả lời (traloi) 14
Trang 141
CHƯƠNG 1:
ĐẶT VẤN ĐỀ 1.1.TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Hiện nay với tình hình dịch bệnh diễn ra phức tạp, việc gặp nhau để giao tiếp, trao đổi giữa người với người trở nên vô cùng khó khăn Khi chúng ta có nhu cầu được khám chữa bệnh nhưng muốn hạn chế tiếp xúc người khác để tránh lây lan dịch bệnh, mà vẫn đảm bảo tìm được phòng khám hoàn toàn phù hợp với bệnh tình của bản thân, từ chuyên môn cho đến vị trí địa lý là điều khó
có thể thực hiện được nếu không có một công cụ công nghệ hỗ trợ
Những năm gần đây, cùng với việc dịch bệnh ngày càng phức tạp thì các phòng khám cũng như y bác sĩ cũng xuất hiện ngày càng nhiều cho nên việc quản lý các thông tin y tế trở nên phức tạp và khó khăn hơn rất nhiều Để quản
lý được lượng thông tin lớn và liên tục thì một công cụ hỗ trợ quản lý là cần thiết
Tuy nhiên, hiện nay chưa có nhiều công cụ phòng khám gia đình có thể đồng thời vừa đáp ứng được những nhu cầu của bệnh nhân, thân nhân mà vừa
có thể hỗ trợ cho việc quản lý thông tin các chủ phòng khám và y bác sĩ
Vì vậy xây dựng hệ thống hỗ trợ đặt lịch khám gia đình giúp người dùng
có thể dễ dàng tìm hiểu về một phòng khám hay y bác sĩ, thậm chí giúp người dùng có thể trao đổi với y bác sĩ để nhận được sự tư vấn từ họ mà không cần gặp mặt hạn chế tối đa sự lây nhiễm dịch bệnh Đồng thời có thể hỗ trợ cho việc quản lý phòng khám của chủ phòng khám cũng trở nên dễ dàng và phòng khám cũng dễ dàng tiếp cận đến khách hàng của mình hơn Do đó, em quyết định chọn
đề tài “Xây dựng hệ thống hỗ trợ đặt lịch khám bệnh tại phòng khám bác sĩ gia đình”
1.2.MỤC TIÊU THỰC HIỆN ĐỀ TÀI
Xây dựng một hệ thống giúp cho người sử dụng có thể tìm hiểu, tra cứu
và đặt lịch khám bệnh trực tuyến cho bản thân hoặc người thân tại các phòng khám bác sĩ gia đình, cụ thể bao gồm:
- Chủ phòng khám có thể đăng ký tài khoản và đưa thông tin phòng khám cùng với y bác sĩ của phòng khám lên website, kèm theo vị trí phòng khám để hiển thị lên bản đồ cho người khám bệnh có thể tìm thấy Quản lý thông tin bệnh nhân, thân nhân, bác sĩ, hồ sơ khám bệnh, hóa đơn khám bệnh,…
Trang 152
- Bệnh nhân hoặc người thân có thể đăng ký tài khoản, tìm kiếm và xem các thông tin của các phòng khám (vị trí, thông tin, bằng cấp của y bác sĩ,…), trao đổi để nhận tư vấn, đặt lịch khám bệnh và đánh giá phòng khám, thực hiện khai báo y tế trước khi đặt lịch khám Thông báo sẽ được gửi về email người khám nếu lịch đăng ký được phòng khám chấp nhận Trong thông báo sẽ có cả
số khám bệnh và thời gian đề xuất đến khám Có thể đặt câu hỏi nếu có vấn đề liên quan đến y tế mà bản thân chưa hiểu, nếu có bác sĩ hiểu về vấn đề nhìn thấy câu hỏi sẽ tiến hành trả lời để giải đáp thắc mắc
- Bác sĩ có thể kiểm tra các lịch đặt mà bệnh nhân đã đặt, xem lịch sử khám bệnh, giải đáp thắc mắc của bệnh nhân hay thân nhân
Trang 16Do đó, cần phải tạo ra một công cụ có thể giúp con người hạn chế tiếp xúc người khác đến mức tối đa, để đảm bảo cho sức khỏe bản thân mà vẫn đáp ứng được các nhu cầu về sức khỏe và khám chữa bệnh
2.2.LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ
Hiện nay đã có nhiều website về thông tin y tế, đặt lịch khám bệnh, trao đổi với chuyên gia y tế,… Nhưng một công cụ có thể đồng thời đáp ứng được nhu cầu của bệnh nhân, thân nhân vừa hỗ trợ được chủ các phòng khám trong công tác quản lý thì còn ít
2.3.PHẠM VI CỦA ĐỀ TÀI
Phạm vi của đề tài hướng tới đối tượng là các phòng khám, bác sĩ và người dùng trên cả nước
2.4.HƯỚNG GIẢI QUYẾT VẤN ĐỀ
Phân loại người dùng thành nhiều loại bao gồm User, Admin, ChuPhongKham và BacSi Mỗi loại người dùng sẽ có giao diện khác nhau cùng với các chức năng khác nhau Từ đó, mỗi loại người dùng sẽ sử dụng hệ thống với mục đích nhằm đáp ứng nhu cầu của bản thân
Tìm hiểu về ngôn ngữ PHP và framework Laravel, Bingmap API để xây dựng hệ thống và tính năng được Bingmap API hỗ trợ sẵn
Tìm hiểu về công cụ quản lý cơ sở dữ liệu PhpMyAdmin để giúp cho việc lưu trữ toàn bộ dữ liệu của hệ thống nhằm phục vụ cho các tác vụ truy vấn vào cơ sở dữ liệu
2.5.CƠ SỞ LÝ THUYẾT
2.5.1 Khái niệm về Laravel
Laravel là một PHP framework có mã nguồn mở và miễn phí, được xây dựng nhằm hỗ trợ phát triền phần mềm, ứng dụng theo kiến trúc MVC Hiện nay Laravel đang được sử dụng rất phổ biến Những nguyên nhân khiến Laravel
Trang 174
được sử dụng rộng rãi là do laravel giúp các lập trình viên tiếp cận được những tính năng mới nhất mà PHP cung cấp, nhất là đối với namespaces, interfaces, overloading, Nguồn tài nguyên của Laravel rất thân thiện với các lập trình viên
và đa dạng tài liệu khác nhau để tham khảo Ngoài ra, Laravel còn hỗ trợ hiệu quả cho việc tạo lập website hay các dự án trong thời gian ngắn Vì vậy nó được các công ty công nghệ và lập trình viên sử dụng rộng rãi để phát triển các sản phẩm của họ
Laravel là framework hỗ trợ rất tốt nhưng cũng không phải là không có khuyết điểm, vấn đề lớn nhất có thể kể đến của framework này là thiếu sự liên kết giữa các phiên bản, nếu cố cập nhật code, có thể khiến cho ứng dụng bị gián đoạn hoặc phá vỡ
2.5.2 Tìm hiểu về Bing Map API
Ứng dụng Bing Maps là một dịch vụ bản đồ trực tuyến trên web và app miễn phí do Microsoft cung cấp Ứng dụng hỗ trợ nhiều dịch vụ, tính năng cho người dùng, phổ biến là dò đường, chỉ đường, tìm vị trí
Bing Map API là phương pháp cho phép một website có thể sử dụng dịch
vụ hoặc hiển thị nội dung của Bing Maps thông qua Bing Map API Từ đó website có thể sử dụng các dịch vụ của Bing Maps như hiện bản đồ, di chuyển, phóng to, thu nhỏ,…
2.5.3 Tìm hiểu về Bootstrap
Bootstrap là một framework bao gồm các HTML, CSS và Javascript template dùng để phát triển website chuẩn reponsive Bootstrap cho phép quá trình thiết kế trở nên nhanh chóng và dễ dàng hơn dựa trên những thành tố cơ bản có sẵn như forms, buttons, tables, grids,…
Bootstrap là bộ sưu tập các mã nguồn mở miễn phí và là công cụ dùng
để tạo ra một mẫu website hoàn chỉnh
Những lý do khiến Bootstrap đang được sử dụng rất phổ biến là dễ dàng thao tác, chất lượng đầu ra hoàn hảo, và độ tương thích cao, nó có khả năng tương thích với mọi trình duyệt và nền tảng, đây là điều cực kỳ quan trọng và cần thiết trong trải nghiệm người dùng
2.5.4 Tìm hiểu về PhpMyAdmin
PhpMyAdmin là công cụ mã nguồn mở được viết bằng ngôn ngữ PHP
để giúp người dùng quản lý cơ sở dữ liệu của MySQL thông qua một trình duyệt web Đây là công cụ quản trị MySQL phổ biến nhất được sử dụng bởi hàng triệu
Trang 18bỏ cơ sở dữ liệu, bảng hoặc bản ghi; thực hiện báo cáo SQL; phân quyền và quản lý người dùng,…
Đương nhiên phải có lý do, thì PhpMyAdmin mới được sử dụng rộng rãi đến như vậy bởi các người dùng trên toàn thế giới Một vài lý do trong đó, thứ nhất là PhpMyAdmin giúp tăng hiệu quả công tác quản lý cơ sở dữ liệu, không chỉ được xem là một công cụ hoàn hảo để duyệt cơ sở dữ liệu, thực hiện truy vấn SQL, quản lý các đặc quyền người dùng, mà còn được coi là một công cụ quản trị đầy đủ tính năng Thứ hai là PhpMyAdmin có cộng đồng hỗ trợ lớn, với tính chất là một mã nguồn mở, PhpMyAdmin được phát triển bởi cộng đồng các lập trình viên trên toàn cầu Do đó, ai biết lập trình đều có thể đóng góp mã lệnh của mình Thứ ba là tính đa ngôn ngữ, Phần mềm hiện có sẵn trong 64 ngôn ngữ khác nhau, được duy trì bởi The PhpMyAdmin Project Và một trong những
điều tốt nhất của phpMyAdmin đó chính là hoàn toàn miễn phí
Đã là một công cụ thì chắc hẳn phải có điểm mạnh, điểm yếu, ta vừa xem qua một vài điểm mạnh cơ bản khiến PhpMyAdmin được sử dụng rộng rãi, thì giờ đến với các hạn chế mà công cụ này chưa thể làm tốt được Thứ nhất, chính
vì PhpMyAdmin là một mã nguồn mở nên cũng có một số hạn chế nhất định về bảo mật Tuy nhiên phiên bản PhpMyAdmin hiện tại đã được khắc phục tạm thời lỗi này Dù vậy, để tránh rủi ro, tốt nhất bạn cũng nên hạn chế truy cập vào địa chỉ URL của PhpMyAdmin từ những địa chỉ IP cố định Thứ 2 là sao lưu dữ liệu chưa tốt, chức năng export/import còn một số thiếu sót
Trang 196
CHƯƠNG 3:
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 3.1.THIẾT KẾ CƠ SỞ DỮ LIỆU
3.1.1 Cấu trúc các bảng dữ liệu
Từ các bước phân tích về các thực thể tham gia và hệ thống, các thuộc tính của thực thể, các mối quan hệ, Tổng hợp lại để thiết kế chi tiết các bảng
cơ sở dữ liệu dùng trong hệ thống như sau:
Do tên cơ sở dữ liệu, tên bảng và tên trường sẽ được dùng trong các câu truy vấn và được đặt trong mã nguồn Để tránh lỗi và sự phức tạp hóa, em quy định cách đặt tên chung là tên cơ sở dữ liệu, bảng sẽ viết liền không dấu và viết thường(VD: phongkham, bacsi, ), tên các trường trong bảng sẽ viết liền không dấu và viết hoa chữ cái đầu mỗi chữ(VD: DiaChi , TenPhongKham, )
Khóa chính sẽ viết in đậm và gạch chân, còn khóa ngoại sẽ được in đậm
Tên cơ sở dữ liệu: fdoctor
Trang 207
Hình 1 Sơ đồ mối quan hệ giữa các bảng
Trang 218
Bảng 1 Cấu trúc bảng người dùng( users)
Trang 229
Bảng 3 Cấu trúc bảng loại phòng khám( loaiphongkham)
Bảng 5 Cấu trúc bảng chuyên môn( chuyenmon)
TenChuyenMon varchar(191
TenChuyenMon_slug varchar(191
Trang 23Bảng 7 Cấu trúc bảng bình luận( binhluan)
Bảng 8 Cấu trúc bảng bài viết( baiviet)
Trang 2411
Bảng 9 Cấu trúc bảng bác sĩ( bacsi)
Bảng 10 Cấu trúc bảng dấu hiệu sinh tồn(dauhieusinhton)
Trang 2512
Bảng 11 Cấu trúc bảng bệnh nhân( benhnhan)
Bảng 12 Cấu trúc bảng thân nhân( thannhan)
Trang 2714
Bảng 15 Cấu trúc bảng loại hồ sơ
Bảng 16 Cấu trúc bảng Câu hỏi (cauhoi)
Bảng 17 Cấu trúc bảng trả lời (traloi)
Trang 2815
3.1.2 Mối quan hệ giữa các đối tượng
Hình 2 Mối quan hệ giữa phòng khám và loại phòng khám
Nhiều phòng khám cùng loại sẽ cùng thuộc một loại phòng khám Giá trị 0 phòng khám xảy ra khi có loại phòng khám mà chưa chủ phòng khám nào tạo phòng khám có loại phòng khám đó
Hình 3 Mối quan hệ giữa phòng khám và bác sĩ
Trang 2916
Mỗi phòng khám có thể có nhiều bác sĩ hoặc không có bác sĩ nào Trường hợp không có bác sĩ là do phòng khám vừa được tạo chưa kịp thêm bác sĩ vào phòng khám, đối với trường hợp này người dùng không thể tiến hành đặt lịch khi phòng khám chưa có bác sĩ nên phòng khám vẫn chưa thể hoạt động
Hình 4 Mối quan hệ giữa bác sĩ và chuyên môn
Tương tự phòng khám với loại phòng khám, nhiều bác sĩ sẽ thuộc một chuyên môn, trường hợp có 0 bác sĩ là do chưa có bác sĩ nào được thêm vào hệ thống
có chuyên môn đó
Trang 3017
Hình 5 Mỗi quan hệ giữa người dùng, bài viết và chủ đề
Mỗi người dùng có thể có nhiều bài viết hoặc không có bài viết nào Còn bài viết thì thuộc một chủ đề
Hình 6 Mối quan hệ giữa người dùng, phòng khám và bình luận
Trang 3118
Mỗi tài khoản người dùng chỉ được có 1 phòng khám vì khi phòng khám được duyệt, giao diện người dùng sẽ chuyển sang giao diện quản lý phòng khám của mình Mỗi người dùng có thể có nhiều bình luận và phòng khám cũng có nhiều bình luận
Hình 7 Mối quan hệ giữa bệnh nhân, phòng khám, bác sĩ và thân nhân
Mỗi phòng khám sẽ có nhiều bác sĩ, mỗi bác sĩ sẽ có nhiều bệnh nhân hoặc không có bệnh nhân, và mỗi bệnh nhân cũng có thể có 1 hoặc nhiều thân nhân(
đa phần là 1 thân nhân, chỉ những trường hợp đặc biệt mới có nhiều thân nhân
để đảm bảo dễ dàng liên hệ được) Trong khi đó mỗi thân nhân cũng thuộc về phòng khám
Trang 3219
Hình 8 Mối quan hệ bảng hồ sơ, loại hồ sơ và bác sĩ
Mỗi bác sĩ có nhiều hồ sơ hoặc không có hồ sơ nào, trường hợp không có hồ sơ thường là những bác sĩ vừa được thêm vào phòng khám, do hồ sơ khám bệnh
sẽ được lưu lại nên đa phần bác sĩ sẽ có nhiều hồ sơ Nhiều hồ sơ sẽ thuộc 1 loại
hồ sơ
Trang 3320
3.2.CÁC SƠ ĐỒ
3.2.1 Sơ đồ Usecase tổng quát của quyền Admin
Hình 9 Sơ đồ usecase của quyền Admin
Trang 3421
3.2.2 Sơ đồ Usecase tổng quát
Hình 10 Sơ đồ Usecase tổng quát
Trang 3522
3.2.3 Sơ đồ Usecase tra cứu thông tin
Hình 11 Sơ đồ usecase tra cứu thông tin
3.2.4 Sơ đồ Usecase xem trang tin
Hình 12 Sơ đồ usecase xem trang tin
Trang 3623
3.2.5 Sơ đồ Usecase đặt lịch khám bệnh
Hình 13 Sơ đồ usecase đặt lịch khám bệnh
3.2.6 Sơ đồ Usecase đánh giá và bình luận
Hình 14 Sơ đồ usecase đánh giá và bình luận
Trang 3724
3.2.7 Sơ đồ Usecase Quản lý phòng khám
3.2.7.1 Sơ đồ usecase quản lý thông tin phòng khám
Hình 15 Sơ đồ usecase quản lý thông tin phòng khám
3.2.7.2 Sơ đồ usecase quản lý bác sĩ
Hình 16 Sơ đồ usecase quản lý thông tin bác sĩ
Trang 3825
3.2.7.3 Sơ đồ usecase quản lý bình luận
Hình 17 Sơ đồ usecase quản lý bình luận
3.2.7.4 Sơ đồ usecase quản lý bệnh nhân
Hình 18 Sơ đồ usecase quản lý bệnh nhân
Trang 3926
3.2.7.5 Sơ đồ usecase quản lý thân nhân
Hình 19 Sơ đồ usecase quản lý thân nhân
3.2.7.6 Sơ đồ usecase quản lý đặt lịch
Hình 20 Sơ đồ usecase quản lý đặt lịch
Trang 4027
3.2.7.7 Sơ đồ usecase quản lý hồ sơ
Hình 21 Sơ đồ usecase quản lý hồ sơ
3.2.8 Sơ đồ tuần tự đăng nhập
Hình 22 Sơ đồ tuần tự đăng nhập