5.2.1. Bảng “specialites” – Thông tin chuyên khoa
STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú
1 Id int Khóa chính ID định danh của bảng chuyên khoa 2 name varchar Bắt buộc nhập Tên chuyên khoa
3 image longblod Hình ảnh chuyên khoa
4 descriptionHTML longtext Mô tả chi tiết thông tin dạng HTML 5 descriptionMarkdown longtext Mô tả chi tiết thông
tin dạng Markdown
Bảng 5.1: Mô tả bảng “specialites” – Thông tin chuyên khoa
5.2.2. Bảng “clinics” – Thông tin phòng khám
STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú
1 id int Khóa chính ID định danh của bảng phòng khám
2 name varchar Tên phòng khám
3 address varchar Địa chỉ phòng khám 4 descriptionHTML longtext Mô tả thông tin dạng
HTML
5 descriptionMardown longtext Mô tả thông tin chi tiết Mardkdown 6 image longblod Hình ảnh phòng khám
Bảng 5.2: Mô tả bảng “clinics” – Thông tin phòng khám
5.2.3. Bảng “markdown” – Lưu trữ thông tin
1 id int Khóa chính ID định danh của bảng thông tin 2 contentHTML longtext Mô tả thông tin chi
tiết
3 contentMarkdown longtext Mô tả thông tin chi tiết
4 Description longtext Khóa ngoại Mô tả thông tin 5 doctorId int Khóa Ngoại chỉ
tới bảng bác sĩ
Khóa ngoại thể hiện bác sĩ phụ trách 6 specialtyId int Khóa ngoại chỉ tới
bảng chuyên khoa
Khóa ngoại thể hiện chuyên khoa
7 Clinicld int Khóa ngoại chỉ tới bảng phòng khám
Khóa ngoại thể hiện phòng khám
Bảng 5.3: Mô tả bảng “markdown” – Bảng lưu trữ thông tin
5.2.4. Bảng “doctor_infor” – Vai trò của bác sĩ
STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú
1 id Int Khóa chính, Khóa ngoại
ID định danh của bảng bác sĩ 2 doctorId int Khóa chính, Khóa
ngoại
ID định danh của bảng role_privilege, khóa ngoại trỏ tới bảng privilege
3 specialtyId int Khóa ngoại chỉ tới bảng chuyên khoa
Chuyên khoa của bác sĩ
4 clinicId int Khóa ngoại chỉ tới bảng phòng khám
Phòng khám có bác sĩ
5 priceId varchar Giá khám của bác sĩ 6 provinceld varchar Tỉnh của bác sĩ 7 paymentId varchar Loại thanh toán
note Ghi chú thông tin
Bảng 5.4: Mô tả bảng “doctor_infor” – Vai trò của bác sĩ
5.2.5. Bảng “bookings” – Đặt lịch khám
STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú
1 id int Khóa chính, Khóa ngoại
ID định danh của bảng đặt lịch khám 2 statusId varchar Bắt buộc nhập Mô tả chi tiết địa chỉ
người dùng 3 doctorId int Khóa Ngoại chỉ
tới bảng bác sĩ
Khóa ngoại trỏ đến bảng country, cho biết người dùng thuộc quốc gia nào
4 patienlId int Id bệnh nhân
4 date varchar Ngày
token varchar Xác nhận lịch hẹn
5.2.6. Bảng “allcodes” – Bảng mã
STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú
1 id int Khóa chính ID định danh của bảng mã
2 keymap varchar Giá trị mã code cho các bảng
3 type varchar Loại của mã code valueEn varchar Giá trị tiếng anh valueVi varchar Giá trị tiếng việt
Bảng 5.6: Mô tả bảng “allcodes” – Bảng mã
5.2.7. Bảng “users” – Vai trò người dùng
STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú
1 id int Khóa chính ID định danh của bảng province
2 email varchar Bắt buộc nhập Email của người dùng 3 password varchar Bắt buộc nhập Mật khẩu của người
dùng
4 fisrtName varchar Bắt buộc nhập Tên của người dùng 5 lastName varchar Họ của người dùng 6 address varchar Địa chỉ người dùng
7 gender varchar Khóa ngoại tham chiếu tới Keymap của allcodes
Giới tính người dùng
8 roleId varchar Khóa ngoại tham chiếu tới Keymap của allcodes
Vai trò người dùng
9 phoneNumber varchar Số điện thoại 10 posotionId varchar Khóa ngoại tham
chiếu tới Keymap của allcodes
Chức vụ người dùng
11 image longblod Hình ảnh người dùng
Bảng 5.7: Mô tả bảng “users” – Vai trò người dùng
Chương 6. HIỆN THỰC HỆ THỐNG – SƠ ĐỒ USECASE 6.1. Danh sách actor
Các đối tượng giao tiếp với hệ thống bao gồm:
STT Actor Ý nghĩa
1 Người dùng Là bệnh nhân muốn đặt lịch khám bệnh qua website, Tra cứu các thông tin bác sĩ, cơ sở y tế, chuyên khoa 2 Admin Nắm trọn bộ quyền quản lý hệ thống, quản lý tài
khoản, quản lý bác sĩ, quản lý chuyên khoa, quản lý cơ sở y tế
3 Bác sĩ Là bác sĩ làm việc tại các cơ sở y tế, phòng khám giúp trả lời kết quả lịch hẹn của bệnh nhân
Bảng 6.1: Danh sách các actor của hệ thống
6.2. Sơ đồ usecase tổng quát
Các tác nhân trong phần trên sẽ sử dụng các use case như bảng 6.1:
Bảng 6.2: Bảng danh sách các usecase của hệ thống
STT Usecase Mô tả
1 Đăng nhập Bác sĩ đăng nhập quản lý thông tin lịch hẹn, phản hồi lịch hẹn của bệnh nhân
Admin đăng nhập quản lý thông tin bác sĩ, chuyên khoa, cơ sở y tế,….
2 Đăng xuất Người dùng đã đăng nhập vào hệ thống và đăng xuất thông tin người dùng
3 Trang chủ Hiển thị thông tin như bác sĩ, chuyên khoa, cơ sở y tế, lịch hẹn
Tìm kiếm thông tin bác sĩ, cơ sở y tế 4 Tra cứu chi tiết
chuyên khoa
Hiển thị thông tin mô tả rõ về chuyên khoa đó Các bệnh, bác sĩ,…..
5 Tra cứu chi tiết cơ sở y tế
Hiển thị các thông tin liên quan đến cơ sở y tế: địa điểm, giờ làm việc, các khoa khám bệnh
6 Tra cứu chi tiết bác sĩ Hiển thị thông tin liên quan đến bác sĩ: chuyên khoa, giá thành, giờ làm việc,…
7 Quản lý tài khoản Chỉnh sửa thông tin, thêm mới xóa tài khoản bác sĩ
8 Quản lý bác sĩ Chỉnh sửa thông tin, thêm mới bác sĩ 9 Quản lý kế hoạch
khám bệnh
Hiện thị lịch khám theo ngày
10 Quản lý cơ sở y tế Hiện thị, thêm mới, chỉnh sửa cơ sở y tế 11 Quản lý chuyên khoa HIển thị, chỉnh sửa, thêm mới chuyên khoa 12 Quản lý bệnh nhân
khám bệnh
Xem thông tin, phản hồi kết quả khám bệnh cho bệnh nhân
6.3. Đặc tả một số use-case chính 6.3.1. Đặc tả use-case “Đăng Nhập" 6.3.1. Đặc tả use-case “Đăng Nhập"
Tên chức năng Đăng nhập.
Tóm tắt Đăng nhập vào hệ thống để thực hiện những tính năng trong hệ thống.
Actor Bác sĩ, admin
Dòng sự kiện chính Bác sĩ, admin truy cập vào hệ thống
Dòng sự kiện khác Không thể đăng nhập. Nguyên nhân:
• Không thể kết nối đến server.
• Bác sĩ, admin nhập sai mật khẩu.
• Bác sĩ,admin chưa đăng ký tài khoản.
Trạng thái hệ thống trước khi thực hiện usecase.
Actor: tất cả actor. Điều kiện: không có.
Trạng thái hệ thống sau khi thực hiện use case.
Bác sĩ, admin đăng nhập thành công truy cập vào trang quản lý
Bác sĩ, admin đăng nhập thất bại hiển thị thông báo ở trang đăng nhập
Các yêu câu đặc biệt Không có.
Ngoại lệ Không có.
6.3.2. Đặc tả use-case “Đăng xuất "
Tên chức năng Đăng xuất
Tóm tắt Đăng xuất người dùng ra khỏi hệ thống
Actor Người dùng.
Dòng sự kiện chính Người dùng truy cập vào hệ thống Người dùng nhấn đăng xuất để tiến hành đăng xuất khỏi hệ thống
Dòng sự kiện khác Không thể đăng xuất. Nguyên nhân:
• Chưa đăng nhập vào hệ thống
Trạng thái hệ thống trước khi thực hiện usecase.
Actor: tất cả actor. Điều kiện: không có.
Trạng thái hệ thống sau khi thực hiện use case.
Người dùng đăng xuất thành công hệ thống tải lại trang đăng nhập
Các yêu câu đặc biệt Không có.
Ngoại lệ Không có.
Bảng 6.4: Đặc tả usecase “Đăng xuất”
6.3.3. Đặc tả use-case “Tìm kiếm thông tin bác sĩ, cơ sở y tế, cơ sở y tế" Tên chức năng Tìm kiếm thông tin bác sĩ, cơ sở y tế
Tóm tắt Tìm kiếm thông tin bác sĩ, cơ sở y tế qua tên
Dòng sự kiện chính Người dùng đăng nhập ẩn danh
Vào trang chủ chọn ô tìm kiếm và nhập thông tin bác sĩ, cơ sở y tế muốn tìm
Dòng sự kiện khác Không thể tìm kiếm. Nguyên nhân:
• Không có bác sĩ, cơ sở y tế chứa từ khóa.
Trạng thái hệ thống trước khi thực hiện usecase.
Actor: tất cả actor. Điều kiện: không có.
Trạng thái hệ thống sau khi thực hiện use case.
Hiển thị danh sách tìm kiếm thành công cho người dùng
Các yêu câu đặc biệt Không có.
Ngoại lệ Không có.
Bảng 6.5: Đặc tả usecase “Tìm kiếm thông tin bác sĩ, cơ sở y tế”
6.3.4. Đặc tả use-case “Tra cứu thông tin chi tiết chuyên khoa"
Tên chức năng Tra cứu thông tin chi tiết chuyên khoa và đặt lịch khám
Tóm tắt Hiển thị chi tiết thông tin chuyên khoa, bác sĩ khoa,….
Actor Người dùng
Dòng sự kiện chính Người dùng đăng nhập ẩn danh Người dùng chọn một chuyên khoa
Dòng sự kiện khác Không có
Trạng thái hệ thống trước khi thực hiện usecase.
Actor: tất cả actor. Điều kiện: không có.
Trạng thái hệ thống sau khi thực hiện use case.
Hiển thị chi tiết thông tin của chuyên khoa,..
Các yêu câu đặc biệt Không có.
Ngoại lệ Không có.
Bảng 6.6: Đặc tả usecae “Tra cứu thông tin chuyên khoa”
6.3.5. Đặc tả use-case “Tra cứu chi tiết thông tin cơ sở y tế" Tên chức năng Tra cứu chi tiết thông tin cơ sở y tế
Tóm tắt Hiện thị nội dung của cơ sở y tế
Actor Người dùng.
Dòng sự kiện chính Người dùng đăng nhập ẩn danh. Người dùng chọn vào một cơ sở y tế
Dòng sự kiện khác Không có
Trạng thái hệ thống trước khi thực hiện usecase.
Actor: tất cả actor. Điều kiện: không có.
Trạng thái hệ thống sau khi thực hiện use case.
Hiển thị chi tiết thông tin cơ sở y tế
Các yêu câu đặc biệt Không có.
Bảng 6.7: Đặc tả usecase “Quản lý yêu thích, lưu lại thông tin bài viết”
6.3.6. Đặc tả use-case “Tra cứu chi tiết thông tin bác sĩ " Tên chức năng Tra cứu chi tiết bác sĩ
Tóm tắt Xem thông tin bác sĩ
Actor Người dùng.
Dòng sự kiện chính Đăng nhập ẩn danh vào trang chủ
Chọn thông tin bác sĩ cần tra xem chi tiết Hiển thị chi tiết thông tin bác sĩ
Dòng sự kiện khác Không có
Trạng thái hệ thống trước khi thực hiện usecase.
Actor: tất cả actor. Điều kiện: không có.
Trạng thái hệ thống sau khi thực hiện use case.
Hiển thị chi tiết thông tin bác sĩ
Các yêu câu đặc biệt Không có.
Ngoại lệ Không có.
Bảng 6.8: Đặc tả usecase “Tra cứu chi tiết thông tin bác sĩ và đặt lịch”
6.3.1. Đặc tả use-case “Đặt lịch khám bệnh " Tên chức năng Đặt lịch khám bệnh
Tóm tắt Đặt lịch khám bệnh cho người dùng
Dòng sự kiện chính Đăng nhập ẩn danh vào trang chủ
Chọn thông tin bác sĩ cần khám, chọn giờ và điền nội dung
Chọn xác nhận
Dòng sự kiện khác Không thể đăng kí lịch hẹn
Nguyên nhân: do điền sai thông tin, thiếu thông tin
Trạng thái hệ thống trước khi thực hiện usecase.
Actor: tất cả actor. Điều kiện: không có.
Trạng thái hệ thống sau khi thực hiện use case.
Xác nhận lịch hẹn thành công
Các yêu câu đặc biệt Không có.
Ngoại lệ Không có.
Bảng 6.9: Đặc tả usecase “Đặt lịch khám bệnh”
6.3.2. Đặc tả use-case “Quản lý tài khoản" Tên chức năng Quản lý tài khoản
Tóm tắt Quản lý thông tin cơ bản của bác sĩ, tài khoản, họ tên,…
Actor Admin
Dòng sự kiện chính Đăng nhập bằng tài khoản admin
Nhấn chức năng lưu thêm mới, xóa tài khoản bác sĩ
Dòng sự kiện khác Không thể thêm mới, chỉnh sửa
Nguyên nhân: trùng tài khoản email bác sĩ
Trạng thái hệ thống trước khi thực hiện usecase.
Actor: tất cả actor. Điều kiện: không có.
Trạng thái hệ thống sau khi thực hiện use case.
Lưu thông tin mới của bác sĩ
Các yêu câu đặc biệt Không có.
Ngoại lệ Không có.
Bảng 6.10: Đặc tả usecase “Quản lý tài khoản”
6.3.3. Đặc tả use-case “Quản lý bác sĩ"
Tên chức năng Quản lý bác sĩ
Tóm tắt Hiện thị thông tin bác sĩ, giá thành, nơi làm việc,….
Actor admin
Dòng sự kiện chính Đăng nhập vào trang web với tài khoản admin
Truy cập vào Quản lý bác sĩ
Hiển thị thông tin chi tiết từng bác sĩ Nhấn chức năng lưu sẽ lưu thông tin bác sĩ
Trạng thái hệ thống trước khi thực hiện usecase.
Actor: tất cả actor. Điều kiện: không có.
Trạng thái hệ thống sau khi thực hiện use case.
Lưu thành công thông tin mới của bác sĩ
Các yêu câu đặc biệt Không có.
Ngoại lệ Không có
Bảng 6.11: Đặc tả usecase “Quản lý bác sĩ”
6.3.4. Đặc tả use-case “Quản lý kế hoạch khám bệnh" Tên chức năng Quản lý kế hoạch khám bệnh
Tóm tắt Hiển thị, lưu thông tin giờ khám, ngày khám của từng bác sĩ
Actor admin, bác sĩ
Dòng sự kiện chính Đăng nhập vào tài khoản admin,bác sĩ. Truy cập vào quản lý kế hoạch khám bệnh Hiển thị giờ , ngày, thông tin bác sĩ
Nhấn chức lưu thông tin sẽ xác nhận lưu
Dòng sự kiện khác Không có
Trạng thái hệ thống trước khi thực hiện usecase.
Actor: tất cả actor. Điều kiện: không có.
Trạng thái hệ thống sau khi thực hiện use case.
Các yêu câu đặc biệt Không có.
Ngoại lệ Không có.
Bảng 6.12: Đặc tả usecase “Quản lý kế hoạch khám bệnh”
6.3.5. Đặc tả use-case “Quản lý phòng khám" Tên chức năng Quản lý phòng khám
Tóm tắt Hiển thị, thêm mới, chỉnh sửa phòng khám
Actor Người dùng admin
Dòng sự kiện chính Đăng nhập vào tài khoản người dùng admin. Truy cập vào quản lý phòng khám
Nhấn từng chức năng thêm, chọn phòng khám để nhập, thay đổi thông tin
Nhấn chức lưu thay đổi để lưu thông tin
Dòng sự kiện khác Không có.
Trạng thái hệ thống trước khi thực hiện usecase.
Actor: tất cả actor. Điều kiện: không có.
Trạng thái hệ thống sau khi thực hiện use case.
Hiển thị thông tin sau khi lưu thay đổi
Các yêu câu đặc biệt Không có.
Ngoại lệ Không có.
6.3.6. Đặc tả use-case “Quản lý chuyên khoa" Tên chức năng Quản lý chuyên khoa
Tóm tắt Thêm mới, chỉnh sửa thông tin chuyên khoa
Actor Admin
Dòng sự kiện chính Đăng nhập vào tài khoản người dùng admin. Truy cập vào quản lý chuyên khoa.
Chọn một chuyên khoa
Hiển thị thông tin chuyên khoa
Dòng sự kiện khác Không có.
Trạng thái hệ thống trước khi thực hiện usecase.
Actor: tất cả actor. Điều kiện: không có.
Trạng thái hệ thống sau khi thực hiện use case.
Hiển thi thông tin chi tiết chuyên khoa
Các yêu câu đặc biệt Không có.
Ngoại lệ Không có.
Bảng 6.14: Đặc tả usecase “Quản lý chuyên khoa”
6.3.7. Đặc tả use-case “Quản lý bệnh nhân khám bệnh" Tên chức năng Quản lý bệnh nhân khám bệnh
Tóm tắt Hiển thị thông tin bệnh nhân khám bệnh,phản hồi kết quả cho bệnh nhân
Dòng sự kiện chính Đăng nhập vào tài khoản bác sĩ
Truy cập vào mục quản lý bệnh nhân khám bệnh
Tra cứu danh sách kết quả theo ngày Xem, phản hồi thông tin của người dùng.
Dòng sự kiện khác Không có
Trạng thái hệ thống trước khi thực hiện usecase.
Actor: tất cả actor. Điều kiện: không có.
Trạng thái hệ thống sau khi thực hiện use case.
Hiển thị thông tin khám bệnh của người dùng
Các yêu câu đặc biệt Không có.
Ngoại lệ Không có.
Chương 7. THIẾT KẾ GIAO DIỆN 7.1. Danh sách các màn hình
STT Tên màn hình Ý nghĩa, ghi chú
1 Đăng nhập Màn hình đăng nơi đăng nhập cho người dùng, Đăng nhập ẩn danh
4 Trang chủ Màn hình hiển thị thông tin theo 3 danh mục: chuyên khoa, cơ sở y tế, bác sĩ
Có những chức năng chính như:
• Tìm kiếm theo 2 tiêu chí như: bác sĩ, cơ sở y tế.
• Vào trang chi tiết từng chuyên khoa.
• Vào trang chi tiết từng cơ sở y tế
• Vào trang chi tiết từng bác sĩ
• Đăng nhập.
• Đăng xuất.
• Chuyển đổi ngôn ngữ tiếng việt-tiếng anh Hiển thị thông tin cơ bản của hệ thống.