5. Mục tiêu cần đạt đƣợc
2.2. Phân tích và thiết kế hệ thống
2.2.1. Sơ đồ Use Case
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 29 Mô tả Actor:
Actor Mô tả
Người dùng chưa đăng kí
Người dùng chưa đăng kí có thể đăng kí tài khoản, đăng nhập, tìm bác sĩ, tra cứu thuốc.
Bệnh nhân
Bệnh nhân có các chức năng của người dùng chưa đăng kí, ngoài ra bệnh nhân còn có thêm xem bệnh án, xem toa thuốc, xem thông tin chi tiết của thuốc có trong toa thuốc, thay đổi mật khẩu, chỉnh sửa thông tin cá nhân.
Bác sĩ Bác sĩ thừa kế tất cả các năng mà bệnh nhân có, ngoài ra bác sĩ có thêm tạo bệnh án, tạo toa thuốc, thêm thông tin về thuốc mới.
Bảng 2.1 Mô tả Actor
Mô tả Use Case
TT Use-Case Mô tả
1 Đăng kí Người dùng đăng kí tài khoản. Có 2 loại tài khoản là
tài khoản bệnh nhân và tài khoản bác sĩ.
2 Đăng nhập Người dùng đăng nhập vào hệ thống bằng tài khoản và
mật khẩu đã đăng kí.
3 Tìm bác sĩ Người dùng có thể tìm bác sĩ bằng cách chọn khu vực
và chuyên khoa cần tìm.
5 Tra cứu thuốc Người dùng có thể tra cứu thuốc theo tên.
6 Xem thông tin Người dùng có thể xem các thông tin như xem bệnh án, xem toa thuốc, xem thông tin của thuốc.
7 Chỉnh sửa thông tin
Người dùng có thể chỉnh sửa các thông tin như mật khẩu, thông tin cá nhân.
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 30 8 Thêm thông tin Bác sĩ có thể thêm các thông tin như bệnh án mới, toa
thuốc mới, thông tin về một loại thuốc mới. Bảng 2.2: Mô tả use case
2.2.2. Mô hình chức năng
Hình 2.2. Mô hình chức năng của hệ thống
Mô hình chức năng cho thấy được các chức năng chính trong hệ thống bao gồm: Quản lí tài khoản, xem thông tin, chỉnh sửa thông tin, thêm thông tin, tìm bác sĩ, tra cứu thuốc.
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 31
2.2.3. Sơ đồ phân rã các chức năng
Hình 2.3. Sơ đồ phân rã chức năng
Mô tả chi tiết các chức năng:
● Đăng kí: Để sử dụng đầy đủ các chức năng của website thì người dùng phải đăng kí tài khoản. Có 2 loại tài khoản để người dùng lựa chọn khi đăng kí là tài khoản bệnh nhân và tài khoản bác sĩ.
● Đăng nhập: Người dùng sử dụng tài khoản và mật khẩu đã đăng kí để đăng nhập vào hệ thống.
● Tìm bác sĩ: Người dùng chọn vị trí muốn tìm và chọn chuyên khoa của bác sĩ. Hệ thống sẽ đưa ra danh sách các phòng khám theo đúng địa điểm và chuyên khoa cho người dùng.
● Tra cứu thuốc: Người dùng điền tên thuốc vào, hệ thống sẽ đưa ra thông tin chi tiết của thuốc: tên, thành phần, chỉ định, chống chỉ định, công dụng, bảo quản… ● Xem bệnh án : Người dùng có thể xem lại toàn bộ các bệnh án của mình. Bác sĩ
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 32 ● Tạo bệnh án: Bác sĩ có thể tạo bệnh án cho bệnh nhân và lưu trữ ngay trên web. ● Xem đơn thuốc: Người dùng có thể xem lại các đơn thuốc cũ của mình. Bác sĩ
tìm và xem đơn thuốc của bệnh nhân.
● Tạo đơn thuốc mới: Bác sĩ tạo đơn thuốc mới và lưu vào hồ sơ bệnh án cho bệnh nhân. Hệ thống sẽ hỗ trợ cho việc nhập thuốc nhanh chóng hơn.
● Chỉnh sửa thông tin: Người dùng có thể chỉnh sửa các thông tin như mật khẩu, thông tin cá nhân.
2.2.4. Biểu đồ luồng dữ liệu 3 mức 2.2.4.1. Sơ đồ ngữ cảnh 2.2.4.1. Sơ đồ ngữ cảnh
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 33
2.2.4.2. Sơ đồ luồng dữ liệu mức đỉnh
Hình 2.5. Sơ đồ luồng dữ liệu mức đỉnh
2.2.4.3. Sơ đồ luồng dữ liệu mức dưới đỉnh
Sơ đồ mức dưới đỉnh chức năng quản lí tài khoản
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 34
Sơ đồ mức dưới đỉnh chức năng xem thông tin
Hình 2.7. Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng xem thông tin
Sơ đồ mức dưới đỉnh chức năng chỉnh sửa thông tin
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 35
Sơ đồ mức dưới đỉnh chức năng thêm thông tin
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 36
2.3. Thiết kế cơ sở dữ liệu 2.3.1. Sơ đồ quan hệ thực thể 2.3.1. Sơ đồ quan hệ thực thể
Hình 2.10. Sơ đồ thực thể quan hệ.
Sơ đồ thực thể quan hệ dùng để thiết kế cơ sở dữ liệu ở mức khái niệm. Từ sơ đồ này ta thấy được các thực thể trong hệ thống cùng mối quan hệ giữa các thực thể đó.
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 37
2.3.2. Xây dựng các lƣợc đồ quan hệ 2.3.2.1. Mô tả các lƣợc đồ 2.3.2.1. Mô tả các lƣợc đồ
STT Tên bảng Các trƣờng Mô tả
1 taikhoan id, taikhoan, matkhau,
cauhoi,traloi,ten,sodient hoai,gioitinh,ngaysinh,ti nh,huyen,chucvu,bangca p,giayphep,role,chuyenk hoa,avatar,diachichitiet.
Chứa thông tin tài khoản người dùng.
2 benhan id, benhnhan_id,
toathuoc_id, bacsi_id, ngaykham, chuandoan, dauhieu, huyetap, nhiptim,
xetnghiemkhac,quatrinh dieutri, ghi chu
Chứa thông tin về bệnh án
3 toathuoc id, benhan_id Chứa id bệnh án, và id toa thuốc
để liên kết với bảng chitietdonthuoc
4 Chitiet_toathuoc id, thuoc_ten, toathuoc_id,
songayuong, solanuong, sovien, thoidiemuong
Chứa thông tin chi tiết của toa thuốc
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 38
5 thuoc id, tenthuoc, thanhphan,
chidinh, sudung, chongchidinh,
tacdungphu, khuyencao, trinhbayvadonggoi
Chứa thông tin về các loại thuốc
Bảng 2.3. Mô tả các lược đồ quan hệ.
2.3.2.2. Lƣợc đồ quan hệ
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 39
2.3.2.3. Mô tả dữ liệu các bảng
Bảng taikhoan
Thuộc tính Kiểu dữ liệu Độ dài NULL Mô tả khóa Ghi chú
id int 11 Not null Khóa chính
taikhoan varchar 25 Not null
matkhau varchar 25 Not null
cauhoi varchar 100 Not null
traloi varchar 100 Not null
ten varchar 100 Allow null
sodienthoai varchar 20 Allow null
gioitinh varchar 20 Allow null
ngaysinh date Allow null
tinh varchar 25 Allow null
huyen varchar 25 Allow null
chucvu varchar 100 Allow null
bangcap varchar 100 Allow null
giayphep varchar 100 Allow null
role int 100 Not null
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 40
avatar varchar 100 Allow null
diachichitiet varchar 100 Allow null
Bảng 2.4. Mô tả chi tiết bảng taikhoan.
Bảng benhan
Thuộc tính Kiểu dữ liệu Độ dài NULL Mô tả khóa Ghi chú
id int 11 Not null Khóa chính
benhnhan_id varchar 25 Not null
toathuoc_id int 11 Allow null
bacsi_id varchar 100 Not null
ngaykham varchar 100 Not null
dauhieu varchar 100 Not null
chuandoan varchar 20 Not null
huyetap varchar 20 Allow null
nhiptim varchar 20 Allow null
xetnghiemkhac text Allow null
quatrinhdieutri text Allow null
ghichu text Allow null
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 41 Bảng toathuoc
Thuộc tính Kiểu dữ liệu Độ dài NULL Mô tả khóa Ghi chú
id int 11 Not null Khóa chính
benhan_id int 11 Not null
Bảng 2.6. Mô tả chi tiết bảng toathuoc.
Bảng chitiet_toathuoc
Thuộc tính Kiểu dữ liệu Độ dài NULL Mô tả khóa Ghi chú
id int 11 Not null Khóa chính
thuoc_ten varchar 50 Not null
toathuoc_id int 11 Not null
songayuong int 11 Not null
solanuong int 11 Not null
sovien int 11 Not null
thoidiemuong varchar 20 Not null
Bảng 2.7. Mô tả chi tiết bảng chitiet_toathuoc.
Bảng thuoc
Thuộc tính Kiểu dữ liệu Độ dài NULL Mô tả khóa Ghi
chú
id int 11 Not null Khóa chính
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 42
thanhphan text Not null
chidinh text Not null
sudung text Not null
chongchidinh text Allow null
tacdungphu text Allow null
khuyencao text Allow null
trinhbayvadonggoi text Allow null
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 43
CHƢƠNG 3: TRIỂN KHAI THỰC HIỆN VÀ ĐÁNH GIÁ WEBSITE HỖ TRỢ KHÁM VÀ ĐIỀU TRỊ BỆNH 3.1. Triển khai xây dựng
3.1.1. Cài đặt Node.js
Trước tiên download Node.js từ trang http://Node.js.org/download/ Tiến hành cài đặt theo các bước.
Sau khi hoàn tất quá trình cài đặt chúng ta có thể kiểm tra xem Node.js đã được cài đặt hay chưa bằng lệnh $ node, nếu xuất hiện con trỏ chuột phía sau ký tự „>‟ thì Node.js đã được cài đặt thành công.
3.1.2. Xây dựng server bằng module express
Để xây dựng server ta cần thực hiện những công việc như sau: Cài đặt module Express của Node.js
Khởi tạo server như sau:
var express = require('express'); var app = express();
...
app.listen(8000);
console.log('Listening on port 8000...');
Để chạy server ta gõ lệnh
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 44
3.1.3. Giao diện website
Hình 3.1. Giao diện trang chủ.
Tại giao diện trang chủ của website người dùng có thể thực hiện các chức năng: đăng kí tài khoản, đăng nhập, tìm bác sĩ, tra cứu thuốc.
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 45 Hình 3.2. Trang đăng kí tài khoản.
Tại trang đăng ký tài khoản sẽ có 2 form đăng ký khác nhau dành cho 2 đối tượng người dùng là: bác sĩ và người bệnh.
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 46 Hình 3.3. Quên mật khẩu.
Khi đăng kí tài khoản, người dùng sẽ đăng kí 1 câu hỏi bí mật và câu trả lời. Trường hợp người dùng quên mật khẩu đăng nhập, muốn lấy lại mật khẩu thì bắt buộc người dùng phải nhập đúng câu hỏi bí mật và câu trả lời.
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 47 Hình 3.4. Trang xem bệnh án của tài khoản người bệnh.
Tại trang xem bệnh án : Danh sách các lần khám của cá nhân sẽ được hiển thị theo sắp xếp thời gian. Ngày khám gần nhất sẽ được đưa lên trước.
Khi người dùng click vào ngày nào đó thì sẽ hiển thị chi tiết của bệnh án đó. Với những bệnh án nào có toa thuốc người dùng click vào xem toa thuốc sẽ xem được chi tiết toa thuốc.
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 48 Hình 3.5. Xem toa thuốc.
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 49 Hình 3.7. Trang tìm bác sĩ.
Tại trang này khi người dùng chọn xong các thông tin cần tìm. Hệ thống sẽ đưa ra danh sách thông tin về các bác sĩ theo các tiêu chí người dùng vừa chọn.
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 50 Hình 3.8. Trang chỉnh sửa thông tin cá nhân.
Tại trang này người dùng có thể cập nhật hoặc chỉnh sửa những thông tin cá nhân của mình.
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 51 Hình 3.9. Trang thay đổi mật khẩu.
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 52 Hình 3.10. Tra cứu thuốc.
Trang tra cứu thuốc sẽ hiển thị đầy đủ thông tin của thuốc gồm: tên, thành phần của thuốc, hướng dẫn sử dụng, chỉ định, chống chỉ định, tác dụng phụ của thuốc, những khuyến cáo khi dùng thuốc.
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 53 Đối với tài khoản bác sĩ, ngoài những chức năng tương tự như trên ra, còn thêm một số chức năng với giao diện khác như sau:
Hình 3.11. Trang nhập thuốc mới.
Khi người dùng là bác sĩ thấy có 1 loại thuốc nào đó mới ra, chưa có trên hệ thống thì họ có thể thêm thông tin thuốc đó vào hệ thống.
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 54 Hình 3.12. Tạo bệnh án mới.
Khi người bệnh đến khám, bác sĩ có thể lưu lại thông tin của lần khám vào hệ thống tại trang này.
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 55 Hình 3.13. Trang tạo toa thuốc.
Sau khi khám bệnh xong bác sĩ sẽ kê toa thuốc cho bệnh nhân. Ở đây khi nhập tên thuốc sẽ được hỗ trợ auto complete để nhập nhanh hơn, đồng thời đảm bảo không có lỗi ghi sai tên thuốc như khi kê toa bằng tay.
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 56
3.1.4. Giao diện app
Hình 3.14. Giao diện trang chủ app
Tại trang chủ người sử dụng phải nhập tài khoản và mật khẩu để có thể đăng nhập và sử dụng các chức năng của app.
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 57 Trang danh sách bệnh án chứa danh sách các bệnh án theo ngày, những ngày gần nhất sẽ được đưa lên đầu danh dách, để xem thông tin chi tiết của ngày khám nào thì người dùng click vào ngày đó.
Hình 3.16. Xem chi tiết bệnh án.
Trang chi tiết bệnh án chứa thông tin chi tiết của từng ngày khám. Với những bệnh án có toa thuốc kèm theo thì người dùng có thể xem toa thuốc bằng cách click vào nút xem toa thuốc.
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 58 Hình 3.17. Xem chi tiết toa thuốc.
Trang xem chi tiết thoa thuốc hiển thị thông tin chi tiết toa thuốc của ứng với bệnh án. Những thông tin của toa thuốc bao gồm: tên thuốc, số ngày uống, số lần uống/1 ngày, số viên/ 1 lần uống, thời điểm uống.
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 59
3.2. Đánh giá Kết quả đạt đƣợc: Kết quả đạt đƣợc:
Với phiên bản website cho desktop cơ bản hoàn thành tất cả các chức năng như mục tiêu ban đầu đã đề ra.
Với phiên bản app mobile hoàn thành được các chức năng đăng nhập, đăng xuất, xem danh sách bệnh án, xem chi tiết bệnh án, xem toa thuốc.
Hạn chế:
Giao diện website chưa được đẹp mắt và khoa học. Phiên bản app mới chỉ dừng lại ở các chức năng chính.
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 60
KẾT LUẬN
Sau quá trình thực tập bản thân em đã học được rất nhiều kiến thức và kinh nghiệm quý báu. Tại công ty ngoài được đào tạo kiến thức chuyên môn em còn có cơ hội tìm hiểu, quan sát thực tiễn và trực tiếp viết code cho đề tài của mình qua đó thấy được bản thân mình thiếu những gì, cần trang bị gì để chuẩn bị bước vào giai đoạn làm việc trong tương lai.
Với đề tài thực tập tuy chỉ mang quy mô nhỏ ở một demo nhưng trong quá trình thực hiện bản thân em đã học được cách hiện thực hóa những kiến thức từ sách vở vào công việc. Từ đó tự rút ra những kinh nghiệm hữu ích cho bản thân.
Tuy nhiên vì thời gian và kiến thức chuyên môn còn hạn chế nên trong thời gian thực tập bản thân em chỉ mới hoàn thành được các chức năng của website. Đối với phiên bản app mobile mới chỉ dừng lại ở các chức năng: login, xem danh sách bệnh án, xem chi tiết bệnh án, xem toa thuốc.
Hƣớng phát triển:
Xây dựng đầy đủ các chức năng cho app mobile.
Xây dựng thêm chức năng cho phép người dùng tìm kiếm hiệu thuốc theo khu vực.
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 61
TÀI LIỆU THAM KHẢO Ebooks:
[1] Dejan V Cancarevi. Front-end Guide, ISBN 978-1-257-37903-3, 2011.
[2] Oreilly.JavaScript.The.Good.Parts.May.2008 [3] Oreilly.Node.Up.and.Running.Apr.2012 [4] Learning jQuery Third Edition.pdf
Website: [5] http://getbootstrap.com/ [6] http://w3school.com/ [7] http://jquerymobile.com/ [8] http://phonegap.com / [9] http://vi.wikipedia.org/
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 62
NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN
…... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Đà Nẵng, ngày….tháng….năm 2014 GIÁO VIÊN HƢỚNG DẪN
SV: Trần Văn Vĩnh-Lớp 10CNTT4 Trang 63
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
…... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Đà Nẵng, ngày….tháng….năm 2014 GIÁO VIÊN PHẢN BIỆN