2019
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN TỐT NGHIỆP
NGÀNH: CÔNG NGHỆ THÔNG TIN
CHUYÊN NGÀNH: CƠNG NGHỆ PHẦN MỀM
ĐỀ TÀI:
Lê Đình Tuyến
TÊN ĐỀ TÀI: MASTER PATIENT INDEX
MASTER PATIENT INDEX
Người hướng dẫn: ThS TRẦN HỒ THỦY TIÊN
Sinh viên thực hiện: LÊ ĐÌNH TUYẾN
Số thẻ sinh viên: 102150144
Lớp: 15T2
Đà Nẵng, 12/2019
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN TỐT NGHIỆP
NGÀNH: CÔNG NGHỆ THÔNG TIN
CHUYÊN NGÀNH: CÔNG NGHỆ PHẦN MỀM
ĐỀ TÀI:
MASTER PATIENT INDEX
Người hướng dẫn: ThS TRẦN HỒ THỦY TIÊN
Sinh viên thực hiện: LÊ ĐÌNH TUYẾN
Số thẻ sinh viên: 102150144
Lớp: 15T2
Đà Nẵng, 12/2019
NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN
………………………………………………………………………………………… ..
………………………………………………………………………………………… ..
………………………………………………………………………………………… ..
………………………………………………………………………………………… ..
………………………………………………………………………………………… ..
………………………………………………………………………………………… ..
………………………………………………………………………………………… ..
NHẬN XÉT CỦA NGƯỜI PHẢN BIỆN
………………………………………………………………………………………… ..
………………………………………………………………………………………… ..
………………………………………………………………………………………… ..
………………………………………………………………………………………… ..
………………………………………………………………………………………… ..
………………………………………………………………………………………… ..
………………………………………………………………………………………… ..
TÓM TẮT
Tên đề tài: Master Patient Index – Hệ thống định danh bệnh nhân
Sinh viên thực hiện: LÊ ĐÌNH TUYẾN
Số thẻ SV: 102150144 Lớp: 15T2
Đề tài: Master Patient Index- Hệ thống chỉ mục bệnh nhân
Master Patient Index(gọi tắt là MPI) là một hệ thống lưu giữ thông tin bệnh nhân khi
các bệnh nhân này tham gia các dịch vụ chăm sóc sức khỏe ở các cơ sở y tế khác nhau.
MPI nhằm mục đích gán mỗi bệnh nhân với 1 định danh duy nhất.
Khi một bệnh nhân đến khám 7tại các cơ sở y tế khác nhau thì ở những cơ sở y tế này
sẽ tạo ra nhiều bản ghi chứa thông tin của bệnh nhân này, hệ thống MPI sẽ giúp ta biết
được những bản ghi này đều tham chiếu đến cùng 1 người duy nhất.
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THƠNG TIN
CỘNG HỊA XÃ HƠI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên: : LÊ ĐÌNH TUYẾN
Số thẻ sinh viên: 102150144
Lớp: 15T2
Khoa: Công nghệ thông tin
Ngành: Công nghệ phần mềm
1. Tên đề tài đồ án:
Master Patient Index – Hệ thống chỉ mục bệnh nhân
2. Đề tài thuộc diện: ☐ Có ký kết thỏa thuận sở hữu trí tuệ đối với kết quả thực hiện
3. Các số liệu và dữ liệu ban đầu:
Thông tin cá nhân của bệnh nhân
Thông tin các tỉnh thành phố theo tổng cục thống kê
Cấu hình các thuật tốn
4. Nội dung các phần thuyết minh và tính tốn:
Cấu hình hệ thống: thuật toán so sánh, blocking
Tạo mới, quản lý tài khoản cho cơ sở y tế
Quản lý các cơ sở y tế
Thêm mới, quản lý thông tin bệnh nhân
Thực hiện manual merge person
5. Các bản vẽ, đồ thị ( ghi rõ các loại và kích thước bản vẽ ):
Sơ đồ ca sử dụng
Sơ đồ hoạt động
Bản vẽ cơ sở dữ liệu
6. Họ tên người hướng dẫn: Th.S TRẦN HỒ THỦY TIÊN
7. Ngày giao nhiệm vụ đồ án:
……../……./201…..
8. Ngày hoàn thành đồ án:
……../……./201…..
Đà Nẵng, ngày
tháng
năm 201
Trưởng Bộ môn:TS.LÊ THỊ MỸ HẠNH
Người hướng dẫn
Trần Hồ Thủy Tiên
LỜI NÓI ĐẦU
Đầu tiên, em xin gửi lời cảm ơn chân thành tới Th.S Trần Hồ Thủy Tiên đã giúp
đỡ em hoàn thành tốt đề tài đồ án tốt nghiệp này. Trong q trình hướng dẫn em làm đồ
án, cơ đã chỉ bảo và hướng dẫn tận tình cho em những lý thuyết, cũng như các kỹ năng
trong lập trình, cách giải quyết các vấn đề trong đề tài. Cô luôn là người truyền động lực
cho em, đề xuất cho em các ý tưởng mới mẽ để giúp em hoàn thành tối đề tài đồ án.
Em thực sự biết ơn và ghi nhớ sự dạy dỗ tận tình của các thầy cô khoa Công nghệ
thông tin – Trường Đại học Bách khoa – Đại học Đà Nẵng.
Trong q trình hồn thành đồ án, em đã rất cố gắng thực hiện hết khả năng trong
thời gian cho phép nhưng chắc chắn sẽ khơng tránh khỏi những thiếu sót. Em rất mong
nhận sự góp ý, chỉ bảo của q thầy cơ.
i
CAM ĐOAN
Tôi xin cam đoan:
1. Nội dung trong đồ án này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của
Th.S Trần Hồ Thủy Tiên
2. Các tham khảo dùng trong đồ án đều được trích dẫn rõ ràng tên tác giả, tên cơng
trình, thời gian, địa điểm cơng bố
3. Nếu có những sao chép khơng hợp lệ, vi phạm, tơi xin chịu hồn tồn trách nhiệm.
Sinh viên thực hiện
ii
MỤC LỤC
TÓM TẮT .................................................................................................................... .
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP ............................................................................. .
LỜI NÓI ĐẦU .............................................................................................................. i
CAM ĐOAN ...............................................................................................................ii
MỤC LỤC ................................................................................................................. iii
DANH SÁCH CÁC BẢNG, HÌNH VẼ ....................................................................... v
DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT....................................................... vi
MỞ ĐẦU .................................................................................................................... 1
Chương 1: GIỚI THIỆU CHUNG ............................................................................ 2
1.1. Giới thiệu chung về đề tài: .............................................................................. 2
1.1.1. Đề tài: ...................................................................................................... 2
1.1.2. Lợi ích mang lại của đề tài: ..................................................................... 2
1.2. Các công nghệ đã được sử dụng: ....................................................................... 3
1.2.1. Back end: .................................................................................................... 3
1.2.2. Front end: ................................................................................................... 3
1.2.3 Hệ quản trị cơ sở dữ liệu: ............................................................................ 4
Chương 2: PHÂN TÍCH HỆ THỐNG ...................................................................... 6
2.1. Actors:............................................................................................................... 6
2.2. Sơ đồ Use cases:................................................................................................ 6
2.3. Sơ đồ hoạt động: ............................................................................................... 8
2.4. Từ điển dữ liệu: ................................................................................................. 9
Chương 3: PHÁT TRIỂN VÀ TRIỂN KHAI HỆ THỐNG ................................... 13
3.1. Phát triển hệ thống:.......................................................................................... 13
3.1.1. Thuật tốn tính độ tương đồng của hai chuỗi: ........................................... 13
3.1.2. Thuật toán chia block: .............................................................................. 15
3.1.3. Quy tắc sinh mã định danh: ....................................................................... 16
3.1.4. Cơ sở dữ liệu: ........................................................................................... 17
3.2. Triển khai hệ thống: ........................................................................................ 19
3.2.1. Triển khai back end: ................................................................................. 19
3.2.2. Triển khai frontend: .................................................................................. 22
3.3. Kết quả đã thực hiện:....................................................................................... 23
iii
3.3.1. Màn hình bắt đầu: .................................................................................... 23
3.3.2. Màn hình đăng nhập: ............................................................................... 24
3.3.3. Màn hình quản lý bệnh nhân: ................................................................... 24
3.3.4. Màn hình quản lý định danh: .................................................................... 25
3.3.5. Màn hình duyệt thủ cơng: ......................................................................... 26
3.3.6. Màn hình cài đặt: ..................................................................................... 26
KẾT LUẬN.............................................................................................................. 28
TÀI LIỆU THAM KHẢO....................................................................................... 29
PHỤ LỤC 1 ................................................................................................................ .
PHỤ LỤC 2 ................................................................................................................ .
iv
DANH SÁCH CÁC BẢNG, HÌNH VẼ
Bảng 2.1 Actors
Bảng 2.2 Setting
Bảng 2.3 FieldWeight
Bảng 2.4 BlockingRound
Bảng 2.5 BlockingField
Bảng 2.6 User
Bảng 2.7 Role
Bảng 2.8 HealthCenter
Bảng 2.9 Person
Bảng 2.10 Person
Bảng 2.11 ReviewLink
Bảng 2.12 Province
Bảng 3.1 Ví dụ về cách đánh trọng số
Bảng 3.2 Ví dụ về blocking
Hình 1.1 Hình minh họa về Master Patient Index
Hình 1.2 Kiến trúc của Spring Framework
Hình 1.3 Đặc điểm của thư viện của React.js
Hình 1.4 Kiến trúc của MySQL
Hình 2.2 Sơ đồ Use case
Hình 2.3 Sơ đồ hoạt động
Hình 3.1 Mã giả thuật tốn Levenshtein
Hình 3.2 Quy tắc sinh mã định danh
Hình 3.3 Màn hình đăng ký Heroku
Hình 3.4 Đăng nhập Heroku CLI thành cơng
Hình 3.5 Màn hình thêm mới app
Hình 3.6 Thêm add-on heroku-postgresql
Hình 3.7 Cấu hình datasource
Hình 3.8 Tồn bộ file server.js
Hình 3.9 Màn hình welcome
Hình 3.10 Màn hình đăng nhập
Hình 3.11 Màn hình quản lý bệnh nhân
Hình 3.12 Màn hình quản lý định danh
Hình 3.13 Màn hình duyệt thủ cơng
Hình 3.14 Màn hình cài đặt
v
DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT
KÝ HIỆU:
…….……..........................................................................................................................
…….……..........................................................................................................................
…….……..........................................................................................................................
…….……..........................................................................................................................
…….……..........................................................................................................................
…….……..........................................................................................................................
CHỮ VIẾT TẮT:
MPI: Master Patient Index
Java EE: Java Enterprise Edition
CSDL: Cơ sở dữ liệu
SQL: Structure Query Language
CLI: Command Line Interface
vi
Master Patient Index
MỞ ĐẦU
Mục đích thực hiện đề tài:
Củng cố, hoàn thiện các kiến thức và kỹ năng đã trau dồi suốt thời gian học tập
Nắm bắt những công nghệ mới, đang là xu thế trong ngành công nghệ thơng tin
Xây dựng một hệ thống có thể mang những lợi ích thiết thực trong cuộc sống
Mục tiêu đề tài:
Xây dựng hệ thông Master Patient Index – nhằm mang lại cơ sở dữ liệu để định
danh bệnh nhân giữa các cơ sở y tế khác nhau
Hệ thơng có đầy đủ chức năng và đáp ứng tốt các yêu cầu phi chức năng
Phạm vi và đối tượng nghiên cứu:
Tham khảo các hệ thống tương tự đã có trên các nước khác, các phần mềm mã
nguồn mở
Các quy định về y tế đã được ban hành
Phương pháp nghiên cứu:
Tìm hiểu, nghiên cứu các tài liệu, hệ thống mã nguồn mở có sẵn trên internet
Học cách sử dụng các công nghệ như Spring, React
Cấu trúc của đồ án tốt nghiệp:
Chương 1 Giới thiệu chung
Chương 2 Phân tích hệ thống
Chương 3 Phát triển hệ thống và triển khai
Sinh viên thực hiện: Lê Đình Tuyến
Hướng dẫn: Trần Hồ Thủy Tiên
1
Master Patient Index
Chương 1: GIỚI THIỆU CHUNG
1.1.
Giới thiệu chung về đề tài:
1.1.1. Đề tài:
Master Patient Index(gọi tắt là MPI) là một hệ thống lưu giữ thông tin bệnh nhân khi
các bệnh nhân này tham gia các dịch vụ chăm sóc sức khỏe ở các cơ sở y tế khác nhau.
MPI nhằm mục đích gán mỗi bệnh nhân với 1 định danh duy nhất.
Khi một bệnh nhân đến khám tại các cơ sở y tế khác nhau thì ở những cơ sở y tế này
sẽ tạo ra nhiều bản ghi chứa thông tin của bệnh nhân này, hệ thống MPI sẽ giúp ta biết
được những bản ghi này đều tham chiếu đến cùng 1 người duy nhất.
Hình 1.1 Hình minh họa về Master Patient Index
1.1.2. Lợi ích mang lại của đề tài:
MPI là 1 phần quan trọng, không thể thiếu trong 1 hệ thống y tế điện tử hiện nay.
MPI cho phép trao đổi thông tin cá nhân và những hồ sơ bệnh án của cùng 1 bệnh
nhân giữa các cơ sở y tế mà bệnh nhân đó đã tham gia khám, điều trị. Nhờ đó, bác sĩ có
thể dễ dàng xem xét việc tiếp tục điều trị như thế nào.
Duy trì 1 định danh duy nhất cho mỗi bệnh nhân, có thể sử dụng để liên kết với bệnh
án điện tử.
Hệ thống này còn giúp xác định các cở sở y tế mà bệnh nhân đã tham gia khám, điều
trị.
Sinh viên thực hiện: Lê Đình Tuyến
Hướng dẫn: Trần Hồ Thủy Tiên
2
Master Patient Index
1.2. Các công nghệ đã được sử dụng:
1.2.1. Back end:
Sử dụng ngôn ngữ Java với Framework Spring Boot
Spring Framework là một bộ khung ứng dụng và bộ chứa đảo ngược điều khiển cho
nền tảng Java. Chức năng tính của bộ khung này có thể áp dụng cho bất kỳ ứng dụng
Java nào, tuy vậy, nhiều bản mở rộng dành cho việc xây dựng ứng dụng nền web cũng
được phát triển trên nền tảng Java EE. Tuy bộ khung không ấn định lên một cụ thể
nào, Spring Framework đã trở nên phổ biến trong cộng đồng Java như một phương án
song hành, thay thế, hoặc thậm chí bổ sung cho mơ hình Enterprise JavaBeans (EJB).
Đây là bộ khung mã nguồn mở.
Hình 1.2 Kiến trúc của Spring Framework
1.2.2. Front end:
Sử dụng ngôn ngữ JavaScript với Framework React.js
React là một thư viện JavaScript nhằm đơn giản hóa việc phát triển giao diện người
dùng.
Sinh viên thực hiện: Lê Đình Tuyến
Hướng dẫn: Trần Hồ Thủy Tiên
3
Master Patient Index
Được phát triển bởi Facebook và bản release đầu tiên trên thế giới vào nằm 2013 và
được sử dụng để viết ra Facebook, instagram và được sự ủng hộ sử dụng của rất nhiều
công ty khác trên thế giới.
Mục tiêu của react chính là đơn giản để phát triển. Tất cả trạng thái đều được tập
trung tại một thời điểm, bằng cách chia giao diện người dùng thành tập hợp các thành
phần (components)
Hình 1.3 Đặc điểm của thư viện của React.js
1.2.3 Hệ quản trị cơ sở dữ liệu:
Sử dụng hệ quản trị cơ sở dữ liệu MySQL.
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ủ. MySQL có nhiều phiên bản
cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng
Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix,
Solaris, SunOS,..
Sinh viên thực hiện: Lê Đình Tuyến
Hướng dẫn: Trần Hồ Thủy Tiên
4
Master Patient Index
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ
sử dụng Ngơn ngữ truy vấn có cấu trúc (SQL).
MySQL được sử dụng cho việc bổ trợ NodeJs, PHP, Perl, và nhiều ngôn ngữ khác,
làm nơi lưu trữ những thông tin trên các trang web viết bằng NodeJs, PHP hay Perl,...
Hình 1.4 Kiến trúc của MySQL
Sinh viên thực hiện: Lê Đình Tuyến
Hướng dẫn: Trần Hồ Thủy Tiên
5
Master Patient Index
Chương 2: PHÂN TÍCH HỆ THỐNG
2.1. Actors:
Bảng dưới đây sẽ mô tả tất cả các tác nhân tham gia vào hệ thông Master Patient
Index. Mỗi tác nhân sẽ có một vai trị khác nhau trong hệ thống. Hiện tại chúng ta có
các tác nhân : Admin, Health Center User.
Actor
Description
Admin
Có quyền chỉnh sửa thơng tin cá nhân, mật khẩu
Cấu hình hệ thống: thuật tốn so sánh, blocking
Tạo mới, quản lý tài khoản cho cơ sở y tế
Quản lý các cơ sở y tế
Thực hiện manual merge person
Xem, tìm kiếm thơng tin person, master person
Health Center
User
Có quyền chỉnh sửa thơng tin cá nhân, mật khẩu
Tạo mới, cập nhật person
Thực hiện manual merge person
Xem, tìm kiếm thơng tin person, master person
Bảng 2.1 Actors
2.2. Sơ đồ Use cases:
Chúng ta có 2 sơ đồ use case tương ứng với 2 actors có trong hệ thông:
Admin: là người quản trị hệ thống
Health Center User: là người dùng ở các cơ sở y tế
Sinh viên thực hiện: Lê Đình Tuyến
Hướng dẫn: Trần Hồ Thủy Tiên
6
Master Patient Index
Hình 2.2 Sơ đồ Use case
Sinh viên thực hiện: Lê Đình Tuyến
Hướng dẫn: Trần Hồ Thủy Tiên
7
Master Patient Index
2.3. Sơ đồ hoạt động:
Hình 2.3 Sơ đồ hoạt động
Sinh viên thực hiện: Lê Đình Tuyến
Hướng dẫn: Trần Hồ Thủy Tiên
8