Tải bản đầy đủ (.doc) (71 trang)

XÂY DỰNG ỨNG DỤNG ĐỂ TRỢ GIÚP BỆNH NHÂN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.79 MB, 71 trang )

BỘ THÔNG TIN VÀ TRUYỀN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG

----------oOo----------

ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
Đề tài:
XÂY DỰNG ỨNG DỤNG ĐỂ TRỢ GIÚP BỆNH NHÂN
ĐĂNG KÍ KHÁM VÀ ĐIỀU TRỊ BỆNH TẠI BỆNH VIỆN

GIÁO VIÊN HƯỚNG DẪN
SINH VIÊN THỰC HIỆN
MSSV
LỚP
KHĨA
HỆ

:
:
:
:
:
: ĐẠI HỌC CHÍNH QUY

Tp. Hồ Chí Minh, 12/2019


LỜI CẢM ƠN
Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý thầy cô ở khoa Công Nghệ
Thông Tin 2 – Học viện Cơng Nghệ Bưu Chính Viễn Thông cơ sở tại TP.HCM đã tận


tâm chỉ bảo, truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian học
tập tại trường. Và đặc biệt trong học kỳ này, nếu khơng có những lời hướng dẫn, dạy
bảo của các thầy cơ thì em nghĩ bài báo cáo này của em rất khó có thể hồn thiện
được. Một lần nữa, em xin chân thành cảm ơn thầy cô. Bài báo cáo tốt nghiệp thực
hiện trong khoảng thời gian 10 tuần. Bước đầu đi vào thực tế của em còn hạn chế và
còn nhiều bỡ ngỡ. Do vậy, khơng tránh khỏi những thiếu sót là điều chắc chắn, em rất
mong nhận được những ý kiến đóng góp quý báu của quý Thầy Cô và các bạn học
cùng lớp để kiến thức của em trong lĩnh vực này được hoàn thiện hơn.
Em xin gởi lời cảm ơn chân thành và sự tri ân sâu sắc đối với các thầy cô ở khoa
Công Nghệ Thông Tin 2 – Học viện Cơng Nghệ Bưu Chính Viễn Thơng cơ sở tại
TP.HCM đã tạo điều kiện cho em để em có thể hồn thành tốt bài báo cáo thực tập này.
Đặc biệt em xin gửi lời cảm ơn đến thầy ThS Nguyễn Anh Hào với những buổi vừa
học kết hợp với thực hành trên lớp cùng những buổi nói chuyện rất hữu ích đã giúp em
định hướng và hoàn thành tốt đề tài này.
Trong quá trình làm bài báo cáo, cũng như là trong q trình làm đề tài khó tránh
khỏi sai sót, rất mong các Thầy, Cô bỏ qua. Đồng thời do trình độ lý luận cũng như
kinh nghiệm thực tiễn cịn hạn chế nên bài báo cáo không thể tránh khỏi những thiếu
sót, em rất mong nhận được ý kiến đóng góp Thầy, Cơ để em học thêm được nhiều
kinh nghiệm làm hành trang vững chắc để em tự tin theo đuổi sự nghiệp của mình.

Em xin chân thành cảm ơn!
Thành phố Hồ Chí Minh, tháng 12 năm
2019

i


MỤC LỤC

LỜI MỞ ĐẦU.................................................................................................1

CHƯƠNG 1: GIỚI THIỆU...............................................................................2
1.1 Mục tiêu............................................................................................2
1.2 Lĩnh vực............................................................................................2
1.3 Chức năng chính...............................................................................2
1.3.1 Đối với Admin...........................................................................2
1.3.2 Đối với nhân viên (staff)...........................................................2
1.3.3 Đối với user bình thường..........................................................2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT....................................................................3
2.1 Tìm hiểu về WebSocket và Spring Boot trong ứng dụng hỗ trợ người
dùng đăng ký khám chữa bệnh online....................................................3
2.2 Tìm hiểu về STOMP client được sử dụng trong ứng dụng:................4
2.3 Tìm hiểu về MySQL trong ứng dụng.................................................5
CHƯƠNG 3: XEM XÉT YÊU CẦU CHO SẢN PHẨM THỰC TẾ...........................6
3.1 Mô tả nghiệp vụ đăng ký khám chữa bệnh tại bệnh viện: (qua khảo
sát thực tế):............................................................................................6
3.2 Phân tích sản phẩm trên 3 khía cạnh...............................................8
3.2.1 Mơi trường nghiệp vụ...............................................................8
3.2.2 Mơi trường vận hành................................................................8
3.2.3 Mơi trường phát triển phần mềm.............................................8
CHƯƠNG 4: MƠ TẢ PHÂN TÍCH THIẾT KẾ VÀ PHÁT BIỂU HỆ THỐNG............9
4.1 Phân tích hệ thống server hỗ trợ lưu truy xuất thơng tin từ DB và
điều phối message đến các client..........................................................9
4.1.1 Lược đồ UML Use Case.............................................................9
Mơ hình đăng ký khám chữa bệnh mới với phần mềm:...................10
4.1.2Phân tích thiết kế cơ sở dữ liệu...............................................14
4.2 Mơ hình hệ thống server-client.......................................................20
........................................................................................................20
Phía server (Socket API)..................................................................21

ii



Phía Client.......................................................................................22
CHƯƠNG 5: THỰC NGHIỆM SẢN PHẨM VÀ SO SÁNH VỚI YÊU CẦU............23
5.1 Các chức năng đã thực hiện được...................................................23
5.1.1 Đối với Admin.........................................................................23
5.1.2 Đối với nhân viên (staff).........................................................23
5.1.3 Đối với user bình thường........................................................23
5.2 Phía người dùng..............................................................................24
5.2.1 Giao diện đăng ký: (FR004)....................................................24
5.2.2 Giao diện đăng nhập khi người dùng đã có tài khoản............25
5.2.3 Giao diện người dùng khi quên mật khẩu(FR007)..................26
5.2.4 Giao diện trang chính của ứng dụng:.....................................29
5.2.5 Giao điện đăng ký theo ngày (FR002)....................................30
5.2.6 Giao diện đăng ký theo bác sĩ (FR002)..................................45
5.2.7 Người dùng có thể xem thơng tin hồ sơ bệnh án của mình trên
giao diện chính................................................................................46
5.2.8 Người dùng thay đổi thơng tin cá nhân của mình qua giao diện
(FR001)...........................................................................................49
5.3 Phía staff và admin.........................................................................50
Giao diện đăng nhập (FR104).........................................................51
5.3.1. Giao diện staff (vai trị bình thường) (FR105) (FR103)..........51
Giao diện staffs(với vai trò là doctor)................................................53
Giao diện cho staff (với vai trò là Nurse)..........................................54
5.3.2. Giao diện staffs (Staffs có vai trị là admin)..........................56
5.3.3. Giao diện chung cho cả admin và staffs thông thường
là(FR106) :......................................................................................63
KẾT LUẬN...................................................................................................65
6.1 Kết quả đạt được............................................................................65
Lý thuyết:........................................................................................65

Thực hành:......................................................................................65
6.2 Hạn chế..........................................................................................65
6.3 Hướng khắc phục............................................................................65

iii


6.4 Hướng mở rộng...............................................................................65
TÀI LIỆU THAM KHẢO..................................................................................66

iv


DANH MỤC HÌNH
Hình 1: Mơ hình websocket vs Client............................................................3
Hình 2: Spring boot......................................................................................4
Hình 3: Mơ hình đến khám và chữa bệnh.....................................................7
Hình 4: Lược đồ Use Case.............................................................................9
Hình 5: Lượt đồ hoạt động đăng ký tài khoản người dùng.........................10
Hình 6: Lượt đồ hoạt động đăng nhập của người dùng..............................11
Hình 7: Đăng ký lịch khám.........................................................................11
Hình 8: Lượt đồ hoạt động than tốn với paypal........................................11
Hình 9: Lượt đồ hoạt động đăng nhập của bác sĩ.......................................12
Hình 10: Lượt đồ hoạt động tạo hồ sơ bệnh án cho bệnh nhân.................12
Hình 11: Lượt đồ hoạt động thêm bác sĩ của admin...................................13
Hình 12: Đăng nhập bởi admin..................................................................13
Hình 13: Lược đồ diagram..........................................................................14
Hình 14: Mơ hình gửi nhận WebSocket API.................................................20
Hình 15: Cấu trúc project API WebSocket...................................................21
Hình 16: Mơ hình đăng ký và nhận messae của client...............................22

Hình 17: Giao diện đăng ký phía người dùng.............................................24
Hình18: Giao diện đăng nhập phía client...................................................25
Hình 19: Giao diện lấy lại mật khẩu phía client..........................................26
Hình 20: Giao diện lấy lại mật khẩu khi đã nhận mail................................27
Hình 21: Ảnh mail nhận được resetcode....................................................28
Hình 22: Giao diện chính phía client..........................................................29
Hình 23: Giao diện chọn hình thức đăng ký...............................................30
Hình 18: Giao diện đăng ký theo ngày của client.......................................30
Hình25: Giao diện chọn service phía client................................................32
Hình26: Lọc service theo tên....................................................................33
Hình 27: Giao diện tất cả các khoa được lấy về phía client........................34
Hình 19: Giao diện lấy khoa theo tên.........................................................35

v


Hình 29: Giao diện chọn ngày đi khám của clent.......................................36
Hình 30: Giao diện chọn buổi của ngày phía client....................................37
Hình 31: Giao diện danh sách các phòng đã được lọc theo lựa chọn.........38
Hình 32: Giao diện thanh tốn qua paypal.................................................39
Hình 33: Giao diện xác nhận thanh tốn....................................................40
Hình 34: Giao diện hiển thị tất cả các vé của người dùng..........................42
Hình 35: Giao diện hiển thị thơng tin chi tiết của một vé...........................43
Hình 36: Giao diện danh sách các bác sĩ ở bệnh viện................................45
Hình 37: Giao diện chọn xem hồ sơ bệnh án..............................................46
Hình38: Giao diện hiển thị tất cả hồ sơ bệnh án của người dùng...............47
Hình 39: Hiển thị chi tiết hồ sơ bệnh..........................................................48
Hình 40: Giao diện chọn thay đổi thơn tin cá nhân....................................49
Hình 41:Giao diện thay đổi thơng tin cá nhân của người dùng..................50
Hình 42: Giao diện đăng nhập phía nhân viên trong bệnh viện.................51

Hình 43: Giao diện cho một nhân viên bình thường...................................52
Hình 44: Giao diện xem hồ sơ bệnh của bệnh nhân cho nhân viên bình
thường........................................................................................................53
Hình 45: Giao diện cho nhân viên có vai trị là bác sĩ................................53
Hình 46: Giao diện xem thông tin hồ sơ bệnh trong ngày..........................54
Thông tin hồ sơ bệnh nhân được lập trong 1 ngày của bác sĩ hoặc y tá được
truy vấn từ table MedicalRecord với id_Doctor hoặc id_Nurse là id_staff đã
đăng nhập và ngày được lấy từ trường Date. Để cập nhận hồ sơ bệnh nhân
bác sĩ chỉ cần nhập thêm thông tin về phía chi tiết kê đơn khám và bấm
update thì thơng tin sẽ được cập nhập vào bảng MedicalRecord với hàng
tương ứng mà nhân viên đac chọn bên phía hiển thị tất cả MediacalRecord
của bệnh nhân mà bác sĩ khám trong ngày...............................................54
Hình 47: Giao diện thêm hồ sơ bệnh với vai trị là y tá của bác sĩ.............54
Hình 48: Giao diện cập nhật hồ sơ bệnh cho bệnh nhân của y tá..............55
Thông tin hồ sơ bệnh nhân được lập trong 1 ngày của bác sĩ hoặc y tá được
truy vấn từ table MedicalRecord với id_Doctor hoặc id_Nurse là id_staff đã
đăng nhập và ngày được lấy từ trường Date. Để cập nhận hồ sơ bệnh nhân
bác sĩ chỉ cần nhập thêm thông tin về phía chi tiết kê đơn khám và bấm
update thì thơng tin sẽ được cập nhập vào bảng MedicalRecord với hàng
tương ứng mà nhân viên đac chọn bên phía hiển thị tất cả MediacalRecord
của bệnh nhân mà bác sĩ khám trong ngày...............................................55

vi


Hình 49: Giao diện admin...........................................................................56
Hình 50:Giao diện thêm nhân viên cho khoa.............................................56
Hình 51: Giao diện thêm lịch trình cho phịng............................................58
Hình52: Giao diện thêm khoa và thêm dịch vụ cho khoa...........................59
Hình53: Nhân viên xem lịch làm việc của mình.........................................61

Thơng tin được truy vấn từ bảng RoomActive với id_Doctor hoặc id_Nurse
và dateActive được lấy từ trường Date Start sẽ lấy giá trị ngày bắt dầu từ
ngày theo trường Date Start là id nhân viên được lưu ở Form đăng nhập. 61

vii


ĐỒ ÁN TN ĐẠI HỌC

LỜI MỞ ĐẦU

LỜI MỞ ĐẦU
Cùng với sự phát triển nhanh chóng của xã hội hiện nay, kéo theo đó là nhu cầu
về cải thiện đời sống vật chất của con người ngày càng được nâng cao, đặc biệt là
trong lĩnh vực y tế, cụ thể hơn đó là nhu cầu khám chữa bệnh. Hiện nay nhu cầu chăm
sóc sức khỏe ngày càng trở nên chú trọng ở mọi quốc gia. Nhưng hiện tại ở hầu hết các
cơ sở khám bệnh và bệnh viện hàng ngày phải tiếp đón nhiều ca khám chữa bệnh, gây
ra hiện trạng quá tải, đặc biệt nhất là tình trạng chen chúc xếp hàng từ sớm mong lấy
được số thứ tự để vào khám bệnh. Với những hiện trạng hiện tại, bệnh viện cùng với
cơ sở khám bệnh đang phải đối mặt với khó khăn trong ngân sách duy trì số đội ngũ
tiếp đón, hướng dẫn bệnh nhân khám chữa bệnh, chưa kể đến những ngày sẽ có nhiều
người khám, cịn có những ngày rất ít người đến khám làm cho việc bố trí nhân viên,
bác sĩ ngày càng trở nên khó khăn gây ra tốn kém cả vè mặt thời gian và tiền của, cũng
là một phần tác động đến nguyên nhân của việc người muốn đi khám bệnh phải chuẩn
bị khá nhiều thứ, gây mất thời gian và cảm giác khó chịu khi phải chờ đợi của bệnh
nhân đến lượt khám, ảnh hưởng khá lớn đến nhu cầu khám chữa bệnh cũng như điều
trị của bệnh viện. Đối mặt với khó trên hơm nay em muốn khảo sát phân tích và thiết
kế một chương trình ứng dụng hỗ trợ cho bệnh nhân việc đăng ký khám chữa bệnh ở
tại một cơ sở khám bệnh nhỏ và vẫn đảm bảo đầy đủ hồ sơ thủ tục.


1


ĐỒ ÁN TN ĐẠI HỌC

CHƯƠNG 1: GIỚI THIỆU

CHƯƠNG 1: GIỚI THIỆU
1.1 Mục tiêu
Phân tích thiết kế cơ sở dữ liệu cho hệ thống hỗ trợ đăng ký khám chữa bệnh cho
người dùng.
Xây dựng ứng dụng hỗ trợ người dùng đăng ký khám và chữa bệnh online.
Xây dựng ứng dụng hỗ trợ bác sĩ theo dõi hồ sơ và cập nhật hồ sơ bệnh án cho
bệnh nhân mà mình chịu trách nhiệm.
1.2 Lĩnh vực
Chuyên ngành: Công nghệ phần mềm.
Chuyên môn: Lập trình ứng dụng Spring Boot và WebSocket.
Lĩnh vực liên quan: ứng dụng .
1.3 Chức năng chính
Ứng dụng gồm những chức năng sau:
1.3.1 Đối với Admin
Quản lý tài khoản của staff (FR201)
Quản lý phòng làm việc (FR202)
Quản lý khoa (FR203)
Quản lý các loại hình dịch vụ của bệnh viện (FR204)
Thống kê số lược khám cảu bác sĩ trong một khoảng thời gian (FR205)
Thống kê số lượng dịch vụ được sử dụng trong một khoảng thời gian
(FR206)
1.3.2 Đối với nhân viên (staff)
Cập nhật hồ sơ bệnh án (FR101)

Thêm hồ sơ bệnh án (FR102)
Xem hồ sơ bệnh của bệnh nhân (FR103)
Đang nhập hệ thống(FR104)
Xem số lượng người đã đăng ký tại phòng theo ngày(FR105)
Đăng ký khám bệnh cho bệnh nhân (FR106)
1.3.3 Đối với user bình thường
Cập nhật hồ sơ cá nhân(FR001)
Đặt lịch khám bệnh (FR002)
Xem hồ sơ bệnh án (FR003)
Đăng ký tài khoản (FR004)
Đăng nhập vào tài khoản (FR005)
Thanh toán dịch vụ (FR006)
2


ĐỒ ÁN TN ĐẠI HỌC

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Tìm hiểu về WebSocket và Spring Boot trong ứng dụng hỗ trợ người dùng
đăng ký khám chữa bệnh online
- WebSocket cung cấp một giải pháp thay thế cho việc giới hạn giao tiếp hiệu quả
giữa máy chủ và trình duyệt web bằng cách cung cấp liên lạc hai chiều, song công,
song song, máy khách / máy chủ theo thời gian thực. Máy chủ có thể gửi dữ liệu đến
máy khách bất cứ lúc nào. Bởi vì nó chạy trên TCP, nó cũng cung cấp một giao tiếp
cấp thấp có độ trễ thấp và giảm chi phí của mỗi tin nhắn.
. Trong ứng dụng WebSocket, máy chủ xuất bản điểm cuối WebSocket và máy
khách sử dụng URI của điểm cuối để kết nối với máy chủ. Giao thức WebSocket đối
xứng sau khi kết nối được thiết lập; máy khách và máy chủ có thể gửi tin nhắn cho

nhau bất cứ lúc nào trong khi kết nối đang mở và họ có thể đóng kết nối bất cứ lúc
nào. Khách hàng thường chỉ kết nối với một máy chủ và máy chủ chấp nhận kết nối từ
nhiều máy khách.
Giao thức WebSocket có hai phần: bắt tay và truyền dữ liệu. Máy khách bắt đầu
bắt tay bằng cách gửi yêu cầu đến điểm cuối WebSocket bằng URI của nó. Cái bắt tay
tương thích với cơ sở hạ tầng dựa trên HTTP hiện có: các máy chủ web diễn giải nó
như một yêu cầu nâng cấp kết nối HTTP. Một ví dụ bắt tay từ một khách hàng trơng
như thế này:

Hình 1: Mơ hình websocket vs Client

3


ĐỒ ÁN TN ĐẠI HỌC

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

-Đối với ứng dụng hỗ trợ người dùng đăng ký khám chữa bệnh online việc ứng
dụng WebSocket để hỗ trợ người dùng quan sát số lượng người đã đăng ký khám bệnh
tại 1 phòng.Cũng như việc hỗ trợ cho nhân viên biết được ai vừa mới đăng ký sử dụng
dịch vụ tại phịng mình mà khơng cần phải load lại chương trình.
Spring Boot

Hình 2: Spring boot
Spring Boot là một dự án nổi bật trong hệ sinh thái Spring Framework. Nếu như
trước đây, công đoạn khởi tạo một dự án Spring khá vất vả từ việc khai báo các
dependency trong file pom.xml cho đến cấu hình bằng XML hoặc annotation phức tạp,
thì giờ đây với Spring Boot, chúng ta có thể tạo các ứng dụng Spring một cách nhanh
chóng và cấu hình cũng đơn giản hơn.

Dưới đây là một số tính năng nổi bật của Spring Boot:
Đóng gói ứng dụng Spring dưới dạng một file JAR (stand-alone application).
Chúng ta có thể dễ dàng start ứng dụng Spring chỉ với câu lệnh quen thuộc java -jar.
Tối ưu cơng đoạn cấu hình cho ứng dụng Spring, khơng sinh code cấu hình và
khơng u cầu phải cấu hình bằng XML.
Cung cấp một loạt các tính năng phi chức năng phổ biến cho các dự án lớn như
nhúng trực tiếp web server như Tomcat, Jetty, ... vào ứng dụng, bảo mật, health
check...
Spring boot hõ trợ server ứng dụng connect sqlServer 2014 sử dụng jdbc, kết nối
trược tiếp máy chủ tomcat cùng với việc tạo nhanh chóng project và sử dụng thư viện
hỗ trợ JPA
2.2 Tìm hiểu về STOMP client được sử dụng trong ứng dụng:
STOMP là một giao thức nhắn tin định hướng văn bản đơn giản. Nó xác định định
dạng dây có thể tương tác để bất kỳ ứng dụng khách STOMP nào có thể giao tiếp với
bất kỳ nhà môi giới tin nhắn STOMP nào để cung cấp khả năng tương tác nhắn tin dễ
dàng và rộng rãi giữa các ngôn ngữ và nền tảng (trang web STOMP có danh sách triển
khai máy khách và máy chủ STOMP.
Trong hệ thống ứng dụng trợ giúp bệnh nhân đăng ký khám và điều trị bệnh tại
bệnh viện: STOMP được sử dụng như 1 thư viện hỗ trợ nhận các message từ API

4


ĐỒ ÁN TN ĐẠI HỌC

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

websocket cũng như đăng ký các topic nhận dữ liệu real time từ websocket API.
2.3 Tìm hiểu về MySQL trong ứng dụng
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và

được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL
là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên
nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Với tốc độ
và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên
internet. Người dùng có thể tải về MySQL miễn phí từ trang chủ.
Trong hệ thống hỗ trợ người đăng ký khám chữa bệnh tại Doctor Care, MySQL
được sử dụng để tạo nên cơ sở dữ liệu của hệ thống để lưu trữ thông tin người dùng và
nhân viên cũng như các thông tin hỗ trợ cho việc đăng ký khám bệnh tại bệnh viện.

5


ĐỒ ÁN TN ĐẠI HỌC

CHƯƠNG 3: XEM XÉT YÊU CẦU
CHO SẢN PHẨM THỰC TẾ

CHƯƠNG 3: XEM XÉT YÊU CẦU CHO SẢN PHẨM THỰC TẾ
3.1 Mô tả nghiệp vụ đăng ký khám chữa bệnh tại bệnh viện: (qua khảo sát thực
tế):
Bệnh nhân đến bệnh viện phải tiến hành như sau:
Đầu tiên bệnh nhân qua bộ phận đón tiếp và làm thủ tục. Tại đây, nhân viên bệnh
viện sẽ lấy thông tin cá nhân của bệnh nhân để viết vào phiếu đăng ký khám chữa
bệnh.
Tiếp theo, bệnh nhân được hướng dẫn sang bộ phận nhận bệnh. Ở đây bệnh nhân
nói về triệu chứng cơ bản bệnh cho nhân viên bộ phận tiếp nhận bệnh. Nhân viên bộ
phận tiếp nhận bệnh ghi thông tin bệnh vào sổ khám bệnh cho bệnh nhân, nhân viên
bộ phận tiếp nhận bệnh sắp xếp phòng khoa khám phù hợp với tình trạng bệnh của
bệnh nhân. Sau đó nhân viên sẽ thông báo cho khách hàng đi thanh tốn viện phí và
nhận hóa đơn, rồi quay lại phịng tiếp nhận bệnh lấy sổ khám bệnh và theo nhân viên

hướng dẫn đến phòng bác sĩ chuyên khoa được ghi trên phiếu khám bệnh cùng với số
thứ tự của bệnh nhân.
Đến phòng bác sĩ tương ứng được ghi trên phiếu khám bệnh bênh nhân sẽ trải qua
các bước như sau:
Tại phòng khám đa khoa bác sĩ tiến hành khám và kê đơn thuốc theo toa cho bệnh
nhân. Trong quá trình khám nếu bệnh nhân được đi làm xét nghiệm hoặc gửi bệnh
nhân cho khoa khác tùy vào mức độ nặng nhẹ của tình trạng bệnh. Nếu bệnh nhẹ thì
bác sĩ kê đơn lập phát đồ điều trị rồi cho bệnh nhân về. Nếu trường hợp bệnh nặng
hoặc chưa tìm ra bệnh bệnh nhân sẽ được cho nhập viện nếu bác sĩ yêu cầu và sẽ được
lập phát đồ khám và điều trị rõ ràng.
Trước khi bệnh nhân nhập viện hoặc xét nghiệp, chụp hình … theo yêu cầu của
bác sĩ thì điều phải trải qua bộ phân thanh tốn viện phí.

6


ĐỒ ÁN TN ĐẠI HỌC

CHƯƠNG 3: XEM XÉT YÊU CẦU
CHO SẢN PHẨM THỰC TẾ

Sơ đồ hoạt động:

Hình 3: Mơ hình đến khám và chữa bệnh
Từ bài toán nghiệp vụ trên của bênh viện ta thấy được từng chức năng nghiệp vụ của
các bộ phận hỗ trợ đăng ký khám trong bệnh viện:
1. Bộ phận đón tiếp:
Đón tiếp ghi thơng tin bệnh nhân.
Hướng dẫn bệnh nhân đến nơi khám bệnh.
2. Bộ phân kế toán:

Hỗ trợ bệnh nhân thanh toán các khoản phí dịch vụ khám bệnh tại bệnh viện
3. Bộ phận khám bệnh:
Khám chuẩn đốn bệnh.
Ghi thơng tin bệnh lưu hồ sơ bệnh
4. Bộ phận xét nghiệm:
Nhận xét nghiệp cho bệnh nhân.
Xem thơng tin bệnh nhân đến đăng ký
Bài tốn được đặt ra cho 1 hệ thống hỗ trợ người dùng đăng ký khám và chữa
bệnh cần:
Hỗ trợ khâu đón tiếp của bộ phận đón tiếp bệnh nhân bằng việc bệnh nhân tự ghi
thông tin cá nhân trên hệ thống(FR001) và (FR004).
Hỗ trợ khâu thanh tốn viện phí cho bệnh nhân thơng qua việc thanh tốn bằng
PayPal(FR006).
Hỗ trợ khâu của bộ phận khám bệnh xem trước hồ sơ bệnh án của bệnh nhân đã
7


ĐỒ ÁN TN ĐẠI HỌC

CHƯƠNG 3: XEM XÉT YÊU CẦU
CHO SẢN PHẨM THỰC TẾ

đăng ký khám chữa bệnh trước (FR103)
Hỗ trợ bộ phận khám bệnh ghi nhân thông tin hồ sơ bệnh án của bệnh nhân
(FR101), (FR102)
Giới thiệu về sản phẩm.
Hệ thống ứng dụng hỗ trợ bệnh nhân đăng ký khám chữa bệnh tại bệnh viện, cho
phép bệnh nhân đăng ký khám bệnh tại bệnh viện, ngoài ra cung cấp cho người đăng
ký biết thời gian phải chờ để đến lược khám của mình cũng như số thứ tự đến khám tại
phịng bệnh. Cung cấp cho bác sĩ thơng tin bệnh nhân trong ngày cùng với danh sách

hồ sơ bệnh án của người bệnh.
3.2 Phân tích sản phẩm trên 3 khía cạnh.
3.2.1 Mơi trường nghiệp vụ
- Vấn đề nghiệp vụ của ứng dụng cho phép đặt lịch khám và thanh toán.(đối với
khách hàng)(FR001)(FR002)
- Vấn đề nghiệp vụ của phần mềm cho phép tạo hồ sơ bệnh án mới cho bệnh nhân.
(đối với y tá hỗ trợ bác sĩ)(FR101) (FR102)
- Vấn đề nghiệp vụ của phần mềm cho phép tạo tài khoản cho nhân viên trong
bệnh viện(đối với admin ).(FR201)
- Vấn đề nghiệp vụ cho phép admin xem thêm và sửa các loại hình dịch vụ hiện có
của bệnh viện.(FR204).
3.2.2 Mơi trường vận hành
- Máy tính hoặc các thiết di dộng sử dụng nền tản Android hoặc Windows.
- Máy chủ cài đặt MySQl hệ quản trị cơ sở dữ liệu SQL(đối với máy chủ admin)
- Máy ảo Java (Tomcat server)
3.2.3 Môi trường phát triển phần mềm
- Phần mềm hỗ trợ phát triển phần mềm Android Studio, Visual Studio, IntelliJ
IDEA 2019.2.4 x64
- Hệ quản trị cơ sở dữ liệu MySQL (sql)

8


ĐỒ ÁN TN ĐẠI HỌC

CHƯƠNG 4: MƠ TẢ PHÂN TÍCH THIẾT KẾ
VÀ PHÁT BIỂU HỆ THỐNG

CHƯƠNG 4: MÔ TẢ PHÂN TÍCH THIẾT KẾ VÀ PHÁT BIỂU HỆ THỐNG
4.1 Phân tích hệ thống server hỗ trợ lưu truy xuất thông tin từ DB và điều phối

message đến các client
4.1.1 Lược đồ UML Use Case.

Hình 4: Lược đồ Use Case
Mơ tả hoạt động nghiệp vụ
a. Người dùng (user bình thường)
Cập nhật hồ sơ cá nhân (FR001)
Đặt lịch khám bệnh (FR002)
Xem hồ sơ bệnh án (FR003)
Đăng ký tài khoản (FR004)
Đăng nhập vào tài khoản (FR005)
Thanh toán dịch vụ (FR006)
b. Bác sĩ và y tá (doctor )
Cập nhật hồ sơ bệnh án (FR101)
Thêm hồ sơ bệnh án (FR102)
9


ĐỒ ÁN TN ĐẠI HỌC

CHƯƠNG 4: MƠ TẢ PHÂN TÍCH THIẾT KẾ
VÀ PHÁT BIỂU HỆ THỐNG

Xem hồ sơ bệnh nhân khám trong ngày(FR103)
Đang nhập hệ thống(FR104)
Đăng ký khám bệnh cho bệnh nhân (FR106)
c. Quản trị viên (Admin )
Quản lý tài khoản của staff (FR201)
Quản lý phòng làm việc (FR202)
Quản lý khoa (FR203)

Quản lý dịch vụ của bệnh viện (FR204)
Thống kê số lược khám cảu bác sĩ trong một khoảng thời gian (FR205)
Thống kê số lượng dịch vụ được sử dụng trong một khoảng thời gian (FR206)
Mơ hình đăng ký khám chữa bệnh mới với phần mềm:
Bệnh nhân sẽ thực hiện quy trình có phần mềm như sau:
Ở các khâu này tương ứng với nhiệm vụ bộ phận đón tiếp bệnh nhân của của bệnh
viện
Đầu tiên bệnh nhân đăng ký một tài khoản với ứng dụng (nếu chưa có): (FR004)

Hình 5: Lượt đồ hoạt động đăng ký tài khoản người dùng
Quy trình đăng nhập của 1 người dùng đã có tài khoản (FR005)

10


ĐỒ ÁN TN ĐẠI HỌC

CHƯƠNG 4: MƠ TẢ PHÂN TÍCH THIẾT KẾ
VÀ PHÁT BIỂU HỆ THỐNG

Hình 6: Lượt đồ hoạt động đăng nhập của người dùng
Sau khi đã đăng nhập thành công bệnh nhân đăng ký lịch khám chữa bệnh với bệnh
viện: (FR002)
Hình thức thanh tốn qua mã hóa đơn của bệnh nhân: (FR006)

Hình7:8:Đăng
Lượt ký
đồlịch
hoạtkhám
động than tốn với paypal

Hình
Bác sĩ sẽ thực hiện quy trình có phần mềm như sau:

11


ĐỒ ÁN TN ĐẠI HỌC

CHƯƠNG 4: MƠ TẢ PHÂN TÍCH THIẾT KẾ
VÀ PHÁT BIỂU HỆ THỐNG

Đăng nhập hệ thống quản lý bệnh nhân của mình (Tài khoản đã được admin cấp khi
vào bệnh viện)

Hình 9: Lượt đồ hoạt động đăng nhập của bác sĩ

Hình 10: Lượt đồ hoạt động tạo hồ sơ bệnh án cho bệnh nhân
Tạo hồ sơ bệnh cho bệnh nhân: (FR102)
Hồ sơ bệnh nhân cũng như phát đồ điều trị mà bác sĩ đã đưa cho bệnh nhân để đi qua
các khâu khám, sẽ được hiển thị khi các bộ phận khác của bệnh viện truy cập với vào
mã của bệnh nhân cũng như trạng thái thanh tốn của hóa đơn.
Đối với admin của hệ thống:
Sơ đồ đăng nhập của admin :

12


ĐỒ ÁN TN ĐẠI HỌC

CHƯƠNG 4: MƠ TẢ PHÂN TÍCH THIẾT KẾ

VÀ PHÁT BIỂU HỆ THỐNG

Hình 12: Đăng nhập bởi admin
Admin thêm tài khoản bác sĩ: (FR201)

Hình 11: Lượt đồ hoạt động thêm bác sĩ của admin

13


ĐỒ ÁN TN ĐẠI HỌC

CHƯƠNG 4: MƠ TẢ PHÂN TÍCH THIẾT KẾ
VÀ PHÁT BIỂU HỆ THỐNG

4.1.2Phân tích thiết kế cơ sở dữ liệu
Lược đồ ClassDiagram

Hình 13: Lược đồ diagram
14


ĐỒ ÁN TN ĐẠI HỌC

CHƯƠNG 4: MƠ TẢ PHÂN TÍCH THIẾT KẾ
VÀ PHÁT BIỂU HỆ THỐNG

Table user:
Bảng 1: Table User
idUser (Varchar(100))


Mã người dùng được tạo ra từ thời gian
tạo tài khoản của người dùng

Address (Varchar(200))

Lưu thông tin địa chỉ cho người dùng

BirthDay (Date)

Lưu thông tin ngày sinh của người dùng

Email (varchar(100))

Lưu thông tin mail dùng làm tài khoản
đăng nhập cho người dùng

giveName (varchar(100))

Lưu họ và tên lót của người dùng

lastName(varchar(100))

Lưu tên của người dùng

Identification(varchar(30))

Lưu số chứng minh dùng để xác thực
danh tính của người dùng khi đến khám
tại bệnh viện


Password(varchar(20))

Mật khẩu lưu để người dùng đăng nhập

phoneNumber(varchar(20))

Lưu thông tin dùng cho việc liên hệ trực
tiếp đến người dùng

Resetcode(varchar(10))

Được tạo ra qua hình thức random giúp
người dùng lấy lại mật khẩu khi qn

Sex(varchar(20))

Lưu thơng tin giới tính của người dùng

Table user hỗ trợ cho hệ thống lưu thông tin cá nhân của người dùng (bệnh nhân) đi
đến khám và chữa bệnh hỗ trợ giải quyết bài toán (FR001), (FR004), (FR005)
Table Transactions
Bảng 2: Table Transactions
Id_transaction(varchar(100))

Được tạo ra từ id khi đã thanh tốn hồn
tồn qua PayPal

content_pay(varchar(100))


Lưu lại nội dung của việc thanh toán

date_create (DATETIME(6))

Lưu thời gian thực hiện giao dịch

Price(int)

Giá của loại hình dịch vụ mà người ùng
đã thanh tốn

id_user(varchar(100))

Mã người dùng đã thực hiện thanh toán

15


ĐỒ ÁN TN ĐẠI HỌC

CHƯƠNG 4: MƠ TẢ PHÂN TÍCH THIẾT KẾ
VÀ PHÁT BIỂU HỆ THỐNG

Table Transaction hỗ trợ hệ thống lưu lại các thông tin và những giao dịch của người
dùng hỗ trợ (FR006)
Table Staffs
Bảng 3: Table staffs
idStaff(varchar(100))

Lưu lại thông tin mã nhân viên cũng như

userName đăng nhập của nhân viên được
admin tạo ra

Degree(varchar(100))

Lưu thông tin loại bằng cấp mà nhân viên
hiện tại đạt được

fullName(varchar(200))

Lưu thông tin tên đầy đủ của một nhân
viên

Password(varchar(100))

Thông tin mật khẩu đăng nhập vào hệ
thống của nhân viên được admin cấp

phoneNumber(varchar(20))

Số điện thoại của nhân viên

Rolse(varchar(100))

Lưu thơng tin vai trị của nhân viên trong
hệ thống

Sex(varchar(10))

Lưu thơng tin giới tính của nhân viên


idSpecialism(varchar(100))

Thơng tin mã chuyên khoa mà nhân viên
trực thuộc

Active(INT)

Thể hiện trạng thái xóa của 1 staff

Table Staffs trong hệ thống giúp lưu thông tin nhân viên của bệnh viện gồm có các sĩ
và các nhân viên kỹ thuật phục vụ cho các dịch vụ của bệnh viện. Hỗ trợ giải quyết
vần đề ở Đăng nhập hệ thống(FR104).
Table Specialisms
Bảng 4: Table Specialisms
idSpecialism(varchar(100))

Lưu thông tin mã khoa

nameSpecialism(varchar(100))

Lưu thông tin tên khoa

16


ĐỒ ÁN TN ĐẠI HỌC

CHƯƠNG 4: MƠ TẢ PHÂN TÍCH THIẾT KẾ
VÀ PHÁT BIỂU HỆ THỐNG


Table Specialisms hỗ trợ lưu thơng tin về mã khoa mà 1 loại hình dịch vụ hay 1 bác sĩ
trực thuộc.
Table Service:
Bảng 5: Table Services
Id_service(varchar(100))

Mã loại hình dịch vụ được tạo ra bởi
admin

Price(int)

Giá tương ứng cho loại hình dịch vụ mà
khoa cung cấp

service_name(varchar(100))

Tên loại hình dịch vụ

id_specialism(varchar(100))

Mã khoa ứng với dịch vụ trên

Table Service lưu trữ các thơng tin loại hình dịch vụ của các khoa mà bệnh viện cung
cấp. Hỗ trợ vấn đề thánh tốn khi người dùng có nhu cầu sử dụng dịch vụ (FR006).
Table RoomActive
Bảng 6: Table RoomActive
idRoomsActive(varchar(100))

Lưu thông tin mã của 1 phòng được cấp

phép hoạt động đươc tạo ra tự động từ
ngày tạo và thời gian tạo

currentOrderNumber(int)

Lưu thông tin số thứ tự người được khám
ở hiện tại giúp cho người dùng dễ dàng
đăng ký cũng như tiết kiệm thời gian phải
chờ đợi

dateActive(Date)

Lưu lại thơng tin ngày mà phịng này sẽ
hoạt động

registeredNumber(INT)

Lưu lại số người đã đăng ký hiện tại để
so sánh với giới hạn số lượng người của
phịng

Session(INT)

Lưu thơng tin buổi làm việc của phịng đó
tương ứng với(1: Sáng, 2:Chiều).

idRoom(varchar(100))

Mã phòng tương ứng


limitedNumber(INT)

Số lượng người giới hạn trong 1 phòng

idDoctor(varchar(100))

Mã bác sĩ phụ trách phòng vào buổi ngày
phòng hoạt động

idNurse(varchar(100))

Mã y tá phụ trách phòng cùng bác sĩ

Table RoomActive hỗ trợ việc lưu thông tin cụ thể hoạt động của 1 phòng trong 1 thời
17


×