TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
CHUYÊN NGÀNH HỆ THỐNG THÔNG TIN
EG
Huỳnh Thị Kim Dung
0112049
Trần Nam Quốc
0112322
Cổng báo cáo tổng hợp trực tuyến
phục vụ HTTT chỉ đạo ngành Y tế
cộng đồng
KHOÁ LUẬN CỬ NHÂN TIN HỌC
GIÁO VIÊN HƯỚNG DẪN
PGS.TS. ĐỒNG THỊ BÍCH THỦY
NIÊN KHOÁ 2001-2005
Luận văn tốt nghiệp
0112049 – 0112322
Trang 2 / 137
MỤC LỤC
LỜI MỞ ĐẦU………………………………………………………………………………………………………..5
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN……………………………………………………………..8
1. Giới thiệu về HISP………………………………………………………………………………………….8
2. Hệ thống DHIS 1.x………………………………………………………………………………………….8
1.2 Chức năng chính của DHIS 1.3 ………………………………………………………………….9
1.3 Môi trường cài đặt hệ thống …………………………………………………………………….10
1.4 Mục đích – Yêu cầu triển khai hệ thống……………………………………………………10
1.5 Nhận xét – Đánh giá …………………………………………………………………………………10
2. GIỚI THIỆU HỆ THỐNG DHIS 2.0……………………………………………………………..12
2.1. Giới thiệu ……………………………………………………………………………………………….12
2.2. Mô hình và mối quan hệ giữa các mô đun trong hệ thống…………………………12
2.3. Chức năng chính. ……………………………………………………………………………………13
CHƯƠNG 2: NỘI DUNG THỰC HIỆN LUẬN VĂN ……………………………………………15
1. Mục tiêu ……………………………………………………………………………………………………….15
2. Yêu cầu thực hiện …………………………………………………………………………………………15
2.1 Tìm hiểu và triển khai hệ thống DHIS 1.3…………………………………………………15
2.2 Tìm hiểu các công nghệ mã nguồn mở………………………………………………………15
2.3 Phát triển ứng dụng Report portal …………………………………………………………..16
3. Cụ thể các công việc thực hiện……………………………………………………………………….16
3.1 Tìm hiểu và triển khai hệ thống DHIS 1.3…………………………………………………16
3.1.1 Cấu trúc hệ thống DHIS: …………………………………………………………………..16
3.1.2 Các nội dung đã thực hiện khi tham gia triển khai hệ thống: ………………18
3.2 Tìm hiểu các công nghệ và phát triển ứng dụng Report portal ………………….25
CHƯƠNG 3: PHÁT TRIỂN REPORT PORTAL………………………………………………….26
1. Giới thiệu tổng quan và phân tích yêu cầu……………………………………………………..26
1.1. Giới thiệu ……………………………………………………………………………………………….26
1.2. Yêu cầu chức năng………………………………………………………………………………….28
1.2.1. Các yêu cầu nghiệp vụ………………………………………………………………………28
1.2.2. Các yêu cầu hệ thống………………………………………………………………………..28
1.2.3. Các yêu cầu khác………………………………………………………………………………29
1.3 Nội dung yêu cầu về công nghệ…………………………………………………………………29
1.4. Phân tích các yêu cầu chức năng……………………………………………………………..30
1.5 Sơ đồ Use case …………………………………………………………………………………………31
1.5.1. Tác nhân của hệ thống………………………………………………………………………31
1.5.2. Lược đồ Use case cấp cao………………………………………………………………….33
1.5.3. Mô tả chi tiết từng Use case. ……………………………………………………………..35
1.5.3.1 Manage Users ……………………………………………………………………………..35
1.5.3.2. Authorize user access………………………………………………………………….37
1.5.3.3. Manage Reports…………………………………………………………………………40
1.5.3.4. Login …………………………………………………………………………………………44
1.5.3.5. Change password ……………………………………………………………………….45
1.5.3.6. Search for reports ………………………………………………………………………46
1.6. Mô tả các bước xử lí theo từng yêu cầu ……………………………………………………46
1.6.1. Đăng nhập và đăng kí người dùng:……………………………………………………46
1.6.2. Yêu cầu upload các tập tin báo cáo hoặc các mẫu báo cáo:…………………48
Luận văn tốt nghiệp
0112049 – 0112322
Trang 3 / 137
1.6.3. Yêu cầu tra cứu báo cáo……………………………………………………………………48
1.6.4. Yêu cầu phân quyền sử dụng hệ thống………………………………………………49
1.6.5. Yêu cầu kết xuất báo cáo từ các tập tin mẫu………………………………………49
1.6.6. Yêu cầu quản lí người dùng………………………………………………………………49
1.6.7. Yêu cầu xây dựng tính năng đa ngôn ngữ:…………………………………………50
1.6.8. Kiểm tra quyền hạn và cung cấp chức năng của hệ thống ………………….50
2. Thiết kế lớp…………………………………………………………………………………………………..51
2.1. Mô hình lớp đối tượng cơ sở và các interfaces………………………………………….51
2.1.1. Thiết kế các gói (package)…………………………………………………………………51
2.1.2. Sơ đồ lớp:…………………………………………………………………………………………58
2.1.3. Diễn giải:………………………………………………………………………………………….59
2.1.3.1 Danh sách các lớp đối tượng:……………………………………………………….59
2.1.3.2 Danh sách các quan hệ:……………………………………………………………….60
2.2. Thiết kế các lớp xử lí action. ……………………………………………………………………62
2.2.1. Sơ đồ các gói:……………………………………………………………………………………62
2.2.2. Nội dung các xử lí chính:…………………………………………………………………..63
3. Cấu trúc cơ sở dữ liệu……………………………………………………………………………………68
3.1.Ánh xạ các lớp đối tượng sang cơ sở dữ liệu quan hệ. ……………………………….68
3.2. Cấu trúc của cơ sở dữ liệu sau khi ánh xạ………………………………………………..71
3.2.1. Mô hình thực thể kết hợp………………………………………………………………….71
3.2.2. Thuyết minh cho mô hình …………………………………………………………………71
3.2.3. Mô hình quan hệ………………………………………………………………………………74
4. Thiết kế giao diện………………………………………………………………………………………….75
4.1. Sơ đồ liên kết các trang …………………………………………………………………………..75
4.2. Nội dung và thiết kế các trang chức năng chính……………………………………….76
4.2.1. Đăng nhập và gởi đăng kí người dùng……………………………………………….76
4.2.2. Trang chủ…………………………………………………………………………………………78
4.2.3. Trang tìm kiếm báo cáo…………………………………………………………………….81
4.2.4. Trang phân quyền sử dụng hệ thống. ………………………………………………..83
4.2.5. Trang kết xuất báo cáo……………………………………………………………………..85
CHƯƠNG 4: GIỚI THIỆU CÔNG NGHỆ VÀ MÔI TRƯỜNG PHÁT TRIỂN……..87
1. Spring framework…………………………………………………………………………………………87
1.1. Lí do sử dụng Spring? …………………………………………………………………………….87
1.2. Vấn đề Inversion of Control trong Spring………………………………………………..87
1.3. Khái niệm về bean và bean factory. …………………………………………………………91
2. Hibernate……………………………………………………………………………………………………..92
2.1. Lí do sử dụng Hibernate. ………………………………………………………………………..92
2.2. Các vấn đề bất tương xứng giữa đối tượng và cơ sở dữ liệu quan hệ…………93
2.2.1. Thế nào là tính bền vững: …………………………………………………………………93
2.2.2. Mô hình ghép đôi không xứng:………………………………………………………….94
3. Webwork, Velocity………………………………………………………………………………………100
3.1. Webwork framework. …………………………………………………………………………..100
3.1.1. Giới thiệu webwork framework. ……………………………………………………..100
3.1.2. Xwork và cấu hình Webwork thực thi các actions……………………………100
3.2. Velocity template…………………………………………………………………………………..103
3.2.1. Giới thiệu Velocity template. …………………………………………………………..103
Luận văn tốt nghiệp
0112049 – 0112322
Trang 4 / 137
3.2.2. Sử dụng velocity và webwork trong môi trường Java và trên trang
HTML. ……………………………………………………………………………………………………104
CHƯƠNG 5: CÀI ĐẶT VÀ THỬ NGHIỆM ……………………………………………………….107
1. Cài đặt………………………………………………………………………………………………………..107
1.1 Môi trường phát triển…………………………………………………………………………….107
1.2 Mô tả chi tiết từng xử lí trong các lớp đối tượng……………………………………..107
1.2.1. Interface ReportManager ……………………………………………………………….107
1.2.2. Interface ReportTypeManager………………………………………………………..110
1.2.3. Interface OrganizationStore……………………………………………………………111
1.2.4. Interface DataStore…………………………………………………………………………113
1.2.5. Interface UserManager …………………………………………………………………..115
1.3. Nội dung xây dựng các tập tin ánh xạ đối tượng sang cơ sở dữ liệu quan hệ.
…………………………………………………………………………………………………………………..125
1.3.1. Đối tượng period (Period.hbm.xml)…………………………………………………125
1.3.2. Đối tượng periodtype (PeriodType.hbm.xml)…………………………………..125
1.3.3. Đối tượng reporttype (ReportType.hbm.xml)…………………………………..125
1.3.4. Đối tượng reportfile (Report.hbm.xml) ……………………………………………126
1.3.5. Đối tượng organizationunit (OrganizationUnit.hbm.xml)…………………128
1.3.6.Đối tượng organizationunitgroup OrganizationUnitGroup.hbm.xml) .129
1.3.7. Đối tượng user (User.hbm.xml)……………………………………………………….130
1.3.8. Đối tượng group (Group.hbm.xml)………………………………………………….131
1.3.9. Đối tượng role (Role.hbm.xml)………………………………………………………..131
1.3.10. Đối tượng roletype (RoleType.hbm.xml)………………………………………..132
2. Thử nghiệm ………………………………………………………………………………………………..132
CHƯƠNG 6: NHẬN XÉT VÀ ĐÁNH GIÁ………………………………………………………….135
1. Đánh giá ưu và khuyết điểm. ……………………………………………………………………….135
1.1 Ưu điểm…………………………………………………………………………………………………135
1.2 Khuyết điểm. …………………………………………………………………………………………135
2. Hướng phát triển trong tương lai…………………………………………………………………136
TÀI LIỆU THAM KHẢO…………………………………………………………………………………..137
Luận văn tốt nghiệp
0112049 – 0112322
Trang 5 / 137
LỜI MỞ ĐẦU
Ngày nay, cùng với sự phát triển cao của khoa học kỹ thuật, xã hội tiến bộ,
công nghiệp hoá – hiện đại hoá là những vấn đề nảy sinh trong cuộc sống khi mà
mọi thứ ngày càng trở nên phức tạp, và yêu cầu về sự hoàn hảo, chuẩn mực ngày
càng được chú trọng. Sự phát triển không ngừng của lĩnh vực Công nghệ Thông tin
đã phần nào giải quyết được các vấn đề nảy sinh đó. Công nghệ thông tin đã có
những bước phát triển mạnh mẽ và đang trở nên phổ biến trong tất cả các lĩnh vực.
Ở Việt Nam, cũng không ngoài xu hướng phát triển ấy, các tổ chức xã hội và
các doanh nghiệp phải định hướng con đường và các bước phát triển để ngày càng
hoàn thiện và nâng cao hiệu quả hơn. Các công ty tin học không ngừng đầu tư và đề
ra các giải pháp cũng như cung cấp các ứng dụng nhằm đáp ứng nhu cầu cấp bách
đó. Công nghệ thông tin đã dần trở nên sâu rộng hơn trong từng cơ quan, xí nghiệp
từ quy mô nhỏ đến quy mô lớn, từ lĩnh vực này sang lĩnh vực khác. Đặc biệt, lĩnh
vực y tế là một trong những lĩnh vực mang nhiều thử thách và áp lực xã hội, làm
sao để cung cấp được các dịch vụ y tế nhanh chóng, kịp thời và phải được quản lý
một cách chặt chẽ, chính xác? Trước đây, tất cả công việc được thực hiện một cách
thủ công nên đòi hỏi đội ngũ cán bộ y tế phải tốn nhiều thời gian và công sức nhằm
đảm bảo được yêu cầu trong lĩnh vực ấy. Xuất phát từ thực tế ấy, Bộ y tế Việt Nam
cũng dần có những giải pháp nhằm từng bước củng cố và nâng cao hiệu quả hoạt
động. Hệ thống thông tin sức khoẻ y tế cộng đồng chính là một trong những giải
pháp ấy. Hệ thống đã xuất hiện ở nhiều quốc gia trên thế giới và được các nước ủng
hộ nhiệt tình. Hệ thống này trước mắt nhằm thu thập các thông tin y tế đáp ứng yêu
cầu thống kê các chỉ tiêu và quản lý các vấn đề liên quan đến y tế cộng đồng được
hiệu quả hơn. Hiện nay hệ thống DHIS v1.3 đang được triển khai thí điểm tại Thành
phố Hồ Chí Minh và Huế dưới sự hợp tác giữa Đại học Oslo, Na Uy, công ty TMA
và sở Y tế Thành phố Hồ Chí Minh. Song song với quá trình triển khai này là việc
phát triển hệ thống DHIS 2.0 với mục đích xây dựng trên nền web nhằm hỗ trợ tối
đa cho việc chia sẻ thông tin và phục vụ đắc lực cho quá trình đánh giá, lên kế
hoạch, ra quyết định cho các chương trình sức khỏe. DHIS 2.0 được xây dựng trên
Luận văn tốt nghiệp
0112049 – 0112322
Trang 6 / 137
mã nguồn mở sử dụng Java và một số công nghệ mới hiện đang rất phổ biến trên
thế giới như: Spring framework, Hibernate, Webwork, Velocity….
Module Report portal là một trong 19 module của hệ thống DHIS 2.0. Đây là
một ứng dụng web cho phép chia sẻ thông tin báo cáo giữa các đơn vị y tế, kết xuất
báo cáo theo các mẫu thiết kế từ người dùng. Toàn bộ quá trình phát triển module
này được thực hiện tại công ty TMA Solutions với sự giám sát của các thành viên
Na Uy trong nhóm và công cụ quản lí dự án jira ( www.hisp.info/jira).
Tham gia vào dự án về Hệ thống thông tin y tế cộng đồng này, chúng em
mong muốn được góp một phần nhỏ công sức vào công cuộc phát triển chung của
ngành y tế nói riêng hay nói chung là sự phát triển của đất nước Việt Nam.
Luận văn được trình bày theo bố cục gồm 6 chương và 1 phụ lục như sau:
– Chương 1, 2: Giới thiệu về hệ thống DHIS v1.x và hệ thống DHIS 2.0
Nội dung phần này nhằm cung cấp một cái nhìn tổng quan về Hệ thống
thông tin sức khoẻ cộng đồng (DHIS – District Health Information System), các
chức năng, sơ đồ thiết kế cơ sở dữ liệu…. Đồng thời giới thiệu hệ thống DHIS 2.0
đang được phát triển, so sánh sự khác nhau giữa hai hệ thống và mối liên hệ giữa
ứng dụng Report portal và các mô đun khác trong hệ thống mới.
– Chương 3: Phát triển ứng dụng Report portal.
Nội dung phần này trình bày tất cả các vấn đề liên quan trực tiếp đến quá
trình xây dựng ứng dụng Report portal. Quá trình xây dựng bao gồm: phân tích các
yêu cầu, thiết kế xử lí, thiết kế lớp đối tượng, xây dựng tập tin ánh xạ đối tượng
sang cơ sở dữ liệu quan hệ, thiết kế lớp action, thiết kế giao diện. Riêng thông tin cụ
thể trong từng lớp đối tượng, chi tiết các thuộc tính và nội dung tập tin ánh xạ đối
tượng chúng em xin trình bày trong phần phụ lục.
– Chương 4: Giới thiệu công nghệ và môi trường phát triển
Nội dung phần này nhằm giới thiệu các công nghệ mới được ứng dụng để
phát triển hệ thống. Chúng em chỉ chọn những thông tin chung mang tính giải thích
cho lí do sử dụng và những đặc điểm nội trội của những công nghệ này. Các vấn đề
tìm hiểu sâu về công nghệ xin được trình bày trong phần phụ lục.
Luận văn tốt nghiệp
0112049 – 0112322
Trang 7 / 137
– Chương 5: Cài đặt và thử nghiệm
Nội dung phần này trình bày cách thức cài đặt ứng dụng, các dữ liệu mẫu
và cách thực hiện kiểm thử chương trình.
– Chương 6: Nhận xét và đánh giá
Nội dung phần này trình bày các ưu khuyết điểm của chương trình, và
hướng phát triển trong tương lai.
– Phụ lục:
Nội dung phần phụ lục được chia làm ba phần:
Phần A: Sưu liệu cho toàn bộ quá trình phân tích hệ thống DHIS 1.x và
quá trình thực hiện triển khai và cài đặt hệ thống cho 6 quận thí điểm tại Thành phố
Hồ Chí Minh.
Phần B: Tìm hiểu công nghệ Hibernate, JUnit, Maven, JasperReport.
Phần C: Sưu liệu và hồ sơ thiết kế cho quá trình phát triển ứng dụng
Report portal.
Luận văn tốt nghiệp
0112049 – 0112322
Trang 8 / 137
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN
1. Giới thiệu về HISP
Hệ thống thông tin y tế (HISP – Health Information System Programme) được
xây dựng và phát triển đầu tiên tại Nam Phi, và được chính phủ Nam Phi chú trọng
phát triển ứng dụng trong ngành y tế (được đánh giá là phần mềm chuẩn quốc gia)
nhằm phục vụ yêu cầu chăm sóc sức khoẻ cộng đồng y tế. Phần mềm được xây
dựng miễn phí và thuộc một trong những sản phẩm mã nguồn mở. Dự án đã được
nghiên cứu phát triển tiếp bởi đội ngũ nghiên cứu từ NaUy và với hy vọng được
triển khai và phát triển trên nhiều quốc gia. Hệ thống đã được tiếp nhận và ủng hộ
nhiệt tình bởi nhiều trường đại học, các nhà nghiên cứu, chính phủ các nước trên thế
giới như Thổ Nhĩ Kỳ. Ấn độ, Ethiopia, Cu Ba và hiện nay cũng đang ứng dụng và
phát triển ở Việt Nam.
Công việc của HISP tập trung vào việc tập hợp dữ liệu, phân tích và thực hiện
các yêu cầu về y tế thông qua phần mềm hỗ trợ DHIS (District Health Information
Software – “Hệ thống thông tin sức khoẻ theo khu vực”) để sử dụng quản lý các cấp
quận huyện, đặc biệt quan tâm các vấn đề về lưu trữ, quản lý, phân tích dữ liệu, tính
toán, … từ đó đưa ra những giải pháp, định hướng phù hợp với từng khu vực, quốc
gia.
2. Hệ thống DHIS 1.x
1.1 Khái niệm “Hệ thống thông tin sức khoẻ cộng đồng”
Hệ thống thông tin sức khoẻ cộng đồng (DHIS – District Health Information
Software) là một phần mềm thuộc dự án Hệ thống thông tin y tế (HISP – Health
Information System programme) nhằm phục vụ yêu cầu chăm sóc sức khoẻ cộng
đồng y tế. Phần mềm DHIS hỗ trợ các dịch vụ về sức khoẻ như lưu trữ thông tin,
báo cáo về các chương trình sức khoẻ thông qua các ứng dụng nhập liệu, phân tích,
tổng hợp dữ liệu,… từ đó đưa ra những giải pháp, định hướng phù hợp với từng khu
vực đồng thời đảm bảo tính nhất quán về quản lí trong lĩnh vực y tế.
Luận văn tốt nghiệp
0112049 – 0112322
Trang 9 / 137
Ở Việt Nam, hệ thống DHIS đang được triển khai và ứng dụng ở Thành phố
Hồ Chí Minh và Thành phố Huế, và được tìm hiểu, phân tích, tối ưu hoá các chức
năng sao cho phù hợp với yêu cầu thực tế. Cụ thể các tiện tiện ích được quan tâm
và phát triển như:
– Phần mềm là công cụ linh hoạt với cấu trúc chuẩn được sử dụng phù hợp
với dữ liệu từng địa phương. (Tuỳ địa phương mà có thể sử dụng một cấu trúc cơ sở
dữ liệu của địa phương đó).
– Phần mềm là công cụ với nhiều thuộc tính có thể được định nghĩa và
chuyển đổi linh hoạt nhằm đáp ứng nhu cầu xây dựng khác nhau của từng đơn vị.
– Hỗ trợ người dùng công tác lưu trữ, quản lý dữ liệu và phân tích dữ liệu
để xuất các báo cáo theo các định dạng linh hoạt.
– Phần mềm đa ngôn ngữ
– Phần mềm miễn phí và với mã nguồn mở. Phần được tìm hiểu và phân
tích, phát triển bởi nhóm phát triển tại Việt Nam dưới sự hỗ trợ của công ty TMA
và đội ngũ phát triển từ NaUy
1.2 Chức năng chính của DHIS 1.3
Hệ thống DHIS đã được xây dựng và phát triển ban đầu tại Nam Phi và hiện
nay đã được nhiều quốc gia quan tâm, ứng dụng. Với phiên bản 1.3 hiện tại, DHIS
hỗ trợ các nghiệp vụ y tế chính:
– Xây dựng cơ cấu tổ chức (cấu trúc đơn vị) các đơn vị y tế theo cấp: Đây
là chức năng cho phép người dùng định nghĩa sơ đồ tổ chức phân cấp của hệ thống
y tế.
– Định nghĩa các đơn vị y tế cho hệ thống: Cho phép định nghĩa các đơn vị
y tế của khu vực, các đơn vị sẽ được xây dựng tương ứng với cấu trúc đơn vị đã
định nghĩa trước.
– Định nghĩa các phần tử dữ liệu, các phần tử dữ liệu tạm và các chỉ số liên
quan: Đây chính là các thông số y tế cần quan tâm, lưu trữ số liệu , báo cáo thống
kê,…
Luận văn tốt nghiệp
0112049 – 0112322
Trang 10 / 137
– Lưu trữ các dữ liệu người dùng nhập vào hệ thống, tổng hợp dữ liệu theo
từng nhóm đơn vị và tổng hợp dữ liệu từ các đơn vị cấp dưới cho đơn vị cấp trên
tương ứng.
– Xuất dữ liệu ra các tập tin văn bản, đồng thời cũng cho import dữ liệu rời
rạc từ các tập tin văn bản của các đơn vị khác nhau để thành dữ liệu thống nhất: Các
dữ liệu nhập vào để quản lí sau khi phân tích, tổng hợp có thể được xuất ra dưới
dạng tập tin văn bản để có thể import dữ liệu đó vào hệ thống ở một nơi khác.
– Xuất dữ liệu ra tập tin data mart (tập tin dữ liệu thông minh): Đây là tập
tin dữ liệu Access hỗ trợ các thao tác tổng hợp, kết xuất báo cáo cho đơn vị.
1.3 Môi trường cài đặt hệ thống
Hệ thống được phát triển bằng Access.
1.4 Mục đích – Yêu cầu triển khai hệ thống
Việc triển khai hệ thống DHIS tại Việt Nam được thực hiện dưới sự chỉ đạo
của Bộ y tế, sự hỗ trợ từ phía NaUy và được thực hiện trực tiếp bởi công ty TMA ở
Tp HCM. Mục tiêu chủ yếu là đáp ứng các yêu cầu từ thực tế trong lĩnh vực chăm
sóc sức khỏe y tế cộng đồng.
Mục tiêu cụ thể:
– Bước đầu tin học hoá trong lĩnh vực y tế
– Tạo điều kiện thuận lợi cho công tác quản lý và theo dõi tình hình hoạt
động tại các bệnh viện, trung tâm y tế trong toàn thành phố.
– Xây dựng đội ngũ cán bộ y tế thạo tin học và có khả năng ứng dụng, khai
thác các tính năng của hệ thống DHIS sao cho phù hợp với thực tế.
– Công tác triển khai cũng là bước tiếp cận, tìm hiểu và phân tích yêu cầu
thực tiễn nhằm thiết kế, xây dựng nên các hệ thống, chương trình phát triển trong
tương lai.
1.5 Nhận xét – Đánh giá
Hiện tại, hệ thống y tế tại Thành phố Hồ Chí Minh hoạt động theo quy trình:
Mỗi tháng, các phường sẽ tổng hợp số liệu và báo cáo theo mẫu (thống nhất cho tất
cả các phường). Các báo cáo sẽ được gởi lên đơn vị cấp cao hơn để tổng hợp và lập
báo cáo cho cấp đó (theo mẫu quy định chung cho quận). Tất cả các công việc đều
Luận văn tốt nghiệp
0112049 – 0112322
Trang 11 / 137
do nhân viên phụ trách và đều thực hiện thủ công. Do đó công việc ghi nhận số liệu
và công tác lưu trữ tốn nhiều thời gian và công sức. Bên cạnh đó do việc tính toán
thủ công nên đôi lúc sai lệch về số liệu, dữ liệu không thống nhất,…
Hệ thống y tế Thành phố Hồ Chí Minh đang dần được xây dựng và hoàn chỉnh
các cơ cấu tổ chức phân theo cấp và quản lý riêng từng lĩnh vực, từng chương trình.
Hệ thống sức khoẻ cộng đồng được chia làm nhiều chương trình như: Chương trình
chăm sóc sức khoẻ bà mẹ và trẻ em, chương trình Vắc xin, chương trình HIV –
AIDS, chương trình phòng chống lao,… Cùng với sự quản lý chặt chẽ theo các nội
dung riêng biệt như thế là sự đòi hỏi về tính chặt chẽ trong quản lý, sự thống nhất
trong hoạt động.
Với nhu cầu thực tế của hệ thống y tế Việt Nam, hệ thống DHIS hiện tại cần
được cải tiến các chức năng sao cho phù hợp và tiện dụng hơn. Cùng với sự cải tiến
đó, cần xây dựng các hệ thống, các chương trình mới hỗ trợ phù hợp cho từng khía
cạnh của ngành y tế (chăm sóc trẻ em, chăm sóc sức khỏe phụ nữ, vắc xin, bệnh
lao,… ). Các ứng dụng được phát triển có thể được tích hợp lại với nhau để tạo
thành một hệ thống hoạt động hiệu quả như một dây chuyền hoàn chỉnh. Cụ thể, các
ứng dụng mới cần phát triển:
Web patient: Quản lý thông tin bệnh nhân tại các trạm y tế phường xã
Report designer: Hỗ trợ công cụ giúp người dùng có thể thiết kế các nội
dung báo cáo tương ứng với từng nội dung quản lý về y tế.
Report generator: Hỗ trợ công cụ kết xuất các báo cáo từ các dữ liệu được
nhập vào và theo mẫu mà report designer đã hỗ trợ thiết kế
Report portal: Cung cấp ứng dụng hỗ trợ người dùng upload các báo cáo đã
kết xuất lên server thay vì phải gửi báo cáo lên cho cấp trên bằng thủ công.
Report portal cũng là ứng dụng mà chúng em sẽ quan tâm và xây dựng khi tham gia
dự án này. Các chức năng cụ thể và các bước phân tích, thiết kế, xây dựng sẽ được
đề cập đến trong phần 3 – nội dung chính của Report portal. Riêng phần nội dung về
công cụ kết xuất báo cáo hỗ trợ cho hệ thống 1.x chúng em xin trình bày ở phần phụ
lục.
Luận văn tốt nghiệp
0112049 – 0112322
Trang 12 / 137
2. GIỚI THIỆU HỆ THỐNG DHIS 2.0
2.1. Giới thiệu
DHIS 2.0 là hệ thống quản lí thông tin y tế được phát triển dựa trên phiên bản
DHIS v1.x do trường Đại học Oslo, Na Uy thực hiện. Phần mềmDHIS 2.0 với
những mô đun sẽ được phát triển trên môi trường Java (dùng IDE là Eclipse để soạn
thảo ) có thể chạy trên hệ điều hành Linux , độc lập với hệ điều hành , giúp cho sản
phẩm không còn phụ thuộc vào nền tảng bên dưới. Cùng với việc sử dụng mã
nguồn mở thì hệ thống cũng sử dụng 1 số công nghệ tiên tiến để hổ trợ chương trình
như: Maven, JUnit, Subversion, Spring và Hibernate…
DHIS 2.0 được phân chia ra làm 19 mô đun bao gồm: Patient mô đun for wards,
Indicator module, Validation module, Import/export module, Standard data entry,
Customised data entry, System admin module, DHIS core, Alternative persistence
strategy, DHIS 1.4 bridge, Wireless module, Internationalization localization, Web
pivot module, Desktop pivot module, Report portal module, Report generator
module, Report designer module, GIS report integration, GIS module.
2.2. Mô hình và mối quan hệ giữa các mô đun trong hệ thống
Trong phần này, chúng em chỉ giới thiệu 1 cách tóm tắt các mô đun chính có
liên quan trực tiếp đến đề tài của hệ thống bao gồm: DHIS Core và Report mô đun.
DHIS Core: là mô đun chứa tât cả thông tin về hệ thống, những tập hợp những
thông tin dữ liệu quan trọng của hệ thống. Là nơi trực tiếp kết nối CSDL để lấy
thông tin về dữ liệu liên quan. Những mô đun khác liên quan đến hệ thống, liên
quan đến tập hợp dữ liệu trong CSDL sẽ phải thông qua mô đun DHIS Core để lấy
thông tin từ CSDL như mô tả của hình.
Report Mô đun: mô đun này hỗ trợ người dùng xây dựng các template báo cáo.
Sẽ có các user interface cho phép người dùng thêm các thông tin về giai đoạn báo
cáo, đơn vị tổ chức để điền vào báo cáo. Dựa trên những mẩu thiết kế sẵn và dữ liệu
nguồn cần thiết, report generator sẽ tạo ra những mẩu báo cáo với các định dạng
khác nhau (html, pdf …). Jasper report là 1 công cụ generator report có thể dùng để
tạo ra những mẩu báo cáo theo yêu cầu và được sử dụng trong mô đun này.
Luận văn tốt nghiệp
0112049 – 0112322
Trang 13 / 137
Report Mô đun có 3 mô đun nhỏ thực hiện các công việc khác nhau: Report
Designer, Report Generator, Report Portal. Ba mô đun này liên quan đến nhau cùng
tạo ra 1 báo cáo hoàn chỉnh để upload và download. Mối liên quan giữa ba mô đun
này sẽ được trình bày chi tiết ở phần sau.
Hình 1.1: Sơ đồ liên kết các mô đun trong hệ thống DHIS 2.0
2.3. Chức năng chính.
– Quản lí và chia sẻ các thông tin y tế.
– Định nghĩa các phần tử dữ liệu, các chỉ số tính toán trong các chương trình
sức khỏe.
– Kết xuất báo cáo theo mẫu qui định của bộ Y tế, cho phép người dùng tự
thiết kế các mẫu báo cáo.
– Chia sẻ báo cáo giữa các cấp, hỗ trợ thông tin chính xác và cần thiết cho việc
ra quyết định và lên kế hoạch.
Luận văn tốt nghiệp
0112049 – 0112322
Trang 14 / 137
– Có khả năng tương tác với hệ thống phiên bản 1.x.
2.4. So sánh giữa DHIS 2.0 và DHIS 1.x
DHIS phiên bản 2.0
DHIS phiên bản 1.x
– Độc lập với hệ điều hành và hệ
quản trị cơ sở dữ liệu
– Hỗ trợ kết xuất các mẫu báo cáo
theo yêu cầu
– Hỗ trợ chia sẻ báo cáo giữa các đơn
vị y tế thông qua một ứng dụng web.
Xây dựng trên môi trường Windows và
cơ sở dữ liệu Access
– Báo cáo kết xuất được thiết kế trước,
không có đáp ứng được yêu cầu.
– Báo cáo sau khi kết xuất được gửi đi
qua mail.
Bảng 1.1: So sánh giữa DHIS 2.0 và DHIS 1.x
Luận văn tốt nghiệp
0112049 – 0112322
Trang 15 / 137
CHƯƠNG 2: NỘI DUNG THỰC HIỆN LUẬN VĂN
1. Mục tiêu
Hỗ trợ công tác triển khai hệ thống tại thành phố Hồ Chí Minh. Thông qua đó
phân tích, tiếp nhận yêu cầu từ thực tế để phát triển ứng dụng Report portal.
2. Yêu cầu thực hiện
2.1 Tìm hiểu và triển khai hệ thống DHIS 1.3
Khi tham gia vào dự án HISP, để đảm bảo hoàn thành nhiệm vụ thực tập tại
công ty và đảm bảo thực hiện tốt đề tài tốt nghiệp, nhóm chúng em đã tìm hiểu về
hệ thống DHIS, tham gia công tác triển khai hệ thống theo sự phân công của công
ty TMA. Cụ thể phải đảm bảo các yêu cầu công việc như sau:
– Tìm hiểu kiến trúc, phương thức hoạt động của hệ thống DHIS 1.3.
– Tìm hiểu qui trình quản lí y tế tại thành phố Hồ Chí Minh, các tài liệu liên
quan.
– Xây dựng tập tin dữ liệu để ứng dụng cho thành phố.
– Xây dựng công cụ hỗ trợ kết xuất báo cáo theo các yêu cầu thực tế
– Tham gia công tác triển khai hệ thống cho các quận huyện trong thành phố.
2.2 Tìm hiểu các công nghệ mã nguồn mở
Hệ thống được xây dựng và phát triển phục vụ cho ngành y tế – một lĩnh vực
rất rộng lớn trong xã hội. Do đó yêu cầu vấn đề chi phí là vấn đề đáng quan tâm đối
với nhiều quốc gia. Giải pháp nào cho các quốc gia còn khó khăn, các khu vực, đơn
vị còn kém về khả năng kinh tế?
Chính vì lí do đó, công nghệ mã nguồn mở được nhóm phát triển hệ thống từ
NaUy đặc biệt chú trọng và chọn làm công cụ để phát triển các ứng dụng. Đây là
điều thật sự ích lợi vì có thể áp dụng miễn phí trên nhiều quốc gia, và tuỳ thuộc vào
yêu cầu cụ thể của từng quốc gia, khu vực mà xây dựng các ứng dụng thật sự phù
hợp. Các công nghệ được tìm hiểu để phát triển ứng dụng:
Luận văn tốt nghiệp
0112049 – 0112322
Trang 16 / 137
– Spring framework: cung cấp khả năng quản lí các dependency linh hoạt,
thêm nữa Spring có hỗ trợ các công nghệ ánh xạ đối tượng sang cơ sở dữ liệu như
JDO, Hibernate và iBatis, và Spring có hỗ trợ mô hình Web MVC.
– Hibernate: Hỗ trợ việc ánh xạ đối tượng sang cơ sở dữ liệu
– Webwork: tương tự với một web framework khá nổi tiếng khác của Jakarta
là Struts. Ngoài ra Webwork còn cung cấp thêm ba chức năng khác là: dispatcher,
Web-specific result và một tập các tag được sử dùng ở tầng view của mô hình
MVC.
– Velocity: Cung cấp một cách tiếp cận dễ dàng hơn trong xử lí, thể hiện các
thông tin động trên trang web, ngoài ra có thể truy xuất đến các đối tượng Java.
2.3 Phát triển ứng dụng Report portal
Report portal sẽ cung cấp ứng dụng hỗ trợ người dùng upload các báo cáo đã
kết xuất lên server thay vì phải gửi báo cáo lên cho cấp trên bằng thủ công. Ứng
dụng này phải đảm bảo các yêu cầu về chức năng cũng như yêu cầu tiện dụng đối
với các người dùng trong lĩnh vực y tế.
3. Cụ thể các công việc thực hiện
3.1 Tìm hiểu và triển khai hệ thống DHIS 1.3
Với thời gian thực tập tại công ty TMA, chúng em tìm hiểu , phân tích và hỗ
trợ công tác triển khai và hoàn thiện hệ thống DHIS v1.3. Các nội dung thực hiện đã
được phân công và thực hiện hiệu quả. Công tác triển khai hệ thống DHIS được
đánh giá cao và được sự hưởng ứng tích cực của các đơn vị y tế. Hiện tại các đơn vị
y tế đang sử dụng hệ thống DHIS v1.3 cùng với chương trình kết xuất báo cáo đã
phần nào giảm thiểu được công việc tính toán phức tạp trước đây.
3.1.1 Cấu trúc hệ thống DHIS:
Hệ thống file: cơ sở dữ liệu của DHIS được lưu trữ dưới dạng các tập
tin Access, bao gồm 2 loại:
Data File: Bao gồm tất cả các bảng, câu lệnh truy vấn lưu trữ thông tin
về đơn vị, cấu trúc đơn vị, được định nghĩa sẵn (hoặc người dùng định nghĩa thêm
cho phù hợp), các dữ liệu người dùng nhập vào để lưu trữ cho các đơn vị.
Luận văn tốt nghiệp
0112049 – 0112322
Trang 17 / 137
Data Mart: Data File lưu trữ dữ liệu thực và sau khi phân tích, tổng hợp
dữ liệu từ các dữ liệu nhập vào đó, hệ thống hỗ trợ xuất ra một tập tin khác nhằm
lưu trữ các dữ liệu tổng hợp, hỗ trợ các chức năng khác như truy xuất đến dữ liệu
mộ cách nhanh chóng. Đó gọi là Data Mart. Data mart có thể được cập nhật thường
xuyên từ data file một cách linh hoạt (có thể cập nhật dữ liệu từng phần, dữ liệu mới
hoặc có thể cập nhật toàn bộ dữ liệu từ data file).
OrgUnits (Đơn vị các cấp):Các đơn vị được định nghĩa liên quan đến 2
khái niệm: Cấu trúc đơn vị và Đơn vị các cấp.
Cấu trúc đơn vị: Hệ thống quy định: Khi định nghĩa các orgunits thì
phải định nghĩa đủ 5 cấp (từ trên xuống) và dữ liệu chỉ nhập cho 1 cấp thấp nhất.
Các dữ liệu của các cấp cao hơn sẽ tự động cập nhật (bằng tổng dữ liệu của các đơn
vị cấp con của nó). Tuỳ thuộc vào từng địa phương, khu vực mà cấu trúc được xây
dựng khác nhau.Nếu như thiếu 1 cấp nào thì sẽ được định nghĩa thành cấp giả (Ví
dụ Dummy)
Đơn vị các cấp: Hệ thống sẽ lưu trữ tất cả các thông tin về đơn vị
như (Tên đơn vị, cấp đơn vị, cấp cha của đơn vị này, địa điểm,…Quan trọng nhất là
việc xác định đúng cấp cho đơn vị khi định nghĩa để khi nhập dữ liệu, chương trình
sẽ tự động tính dữ liệu cho các đơn vị cấp cao hơn.
Phần tử dữ liệu (DataElement)
Phần tử dữ liệu bao gồm tất cả các thông tin hỗ trợ cho việc lưu trữ dữ liệu.
Mỗi phần tử dữ liệu thể hiện một thông số về sức khoẻ và được sử dụng để nhập
cho tất cả các đơn vị.
Khi nhập dữ liệu, ứng với từng đơn vị, số liệu cho từng phần tử dữ liệu sẽ
được ghi nhận và tự động cập nhật cho các đơn vị cấp cao hơn.
Phần tử dữ liệu tạm (Sermi – DataElement)
Phần tử dữ liệu tạm cũng giống như các phần tử dữ liệu nhưng dùng để thể
hiện các thông tin ít thay đổi, các thông tin phục vụ cho việc đánh giá việc thực hiện
Luận văn tốt nghiệp
0112049 – 0112322
Trang 18 / 137
(thông tin thường kỳ) so với việc quản lý của đơn vị. Phần tử dữ liệu tạm thường
dùng trong việc phân tích. Các giá trị của các phần tử dữ liệu này là những con số ít
thay đổi (thường được nhập liệu theo các quý), người dùng không phải tốn thời gian
để nhập nhiều lần.
Các chỉ số (Indicator)
Các chỉ số tức là tỷ số giữa khối lượng thực hiện ngoài thực tế so với khối
lượng quản lý chung của đơn vị. Các chỉ số này hỗ trợ việc đánh giá chung các hoạt
động y tế của từng đơn vị từ đó đánh giá các nội dung và hiệu quả thực hiện. Các
chỉ số này được quy định thống nhất chung trong cả nước cho từng lĩnh vực đánh
giá nhằm có cách nhìn tổng quát và đánh giá công bằng với tất cả đơn vị. Thường
thì được định nghĩa theo công thức:
Tỷ lệ = Chỉ số thực hiện/ Tổng số đối tượng
3.1.2 Các nội dung đã thực hiện khi tham gia triển khai hệ thống:
Bước 1: Xây dựng hoàn chỉnh hệ thống DHIS v1.3 phù hợp với
thực tế
¾ Định nghĩa cấu trúc đơn vị cho datafile:
Qua phân tích sơ đồ tổ chức quản lí y tế ngoài thực tế, sơ đồ tổ
chức y tế tại Thành phố Hồ Chí Minh như sau:
Luận văn tốt nghiệp
0112049 – 0112322
Trang 19 / 137
Hình 2.1: Cấu trúc đơn vị y tế các cấp
Chúng em xây dựng cấu trúc đơn vị cho hệ thống y tế cho Thành phố Hồ
Chí Minh như sau (Phù hợp cho chương trình “Chăm sóc sức khoẻ Bà mẹ” và
chương trình “Chăm sóc sức khoẻ trẻ em”:
Stt
Hệ thống đơn vị y tế
Cấp
1
Dummy (Cấp giả)
Cấp1
2
Việt Nam
Cấp 2
3
Thành phố Hồ Chí Minh
Cấp 3
4
Quận/ huyện hoặc Bệnh viện (thuộc sự quản lý
của Tp)
Cấp 4
5
Phường/ Xã
Cấp 5
Bảng 2.1: Ví dụ cấu trúc đơn vị y tế
¾ Định nghĩa các đơn vị y tế theo các cấp
Định nghĩa tất cả các đơn vị y tế thuộc sự quản lý theo các cấp trong thành
phố: 24 đơn vị quận/ huyện, và tất cả các trung tâm y tế phường/ xã thuộc sự quản
lý của 24 đơn vị cấp quận/ huyện đó.
Luận văn tốt nghiệp
0112049 – 0112322
Trang 20 / 137
¾ Định nghĩa các phần tử dữ liệu, phần tử dữ liệu tạm và các chỉ số
cho 2 chương trình: Chương trình chăm sóc sức khoẻ Bà mẹ và chương trình chăm
sóc sức khoẻ trẻ em.
Từ các báo cáo tổng hợp từ thực tế, các phần tử dữ liệu, phần tử dữ liệu tạm
được định nghĩa vào data file. Đây là những thông tin cần thiết để lưu trữ các nội
dung thực hiện của đơn vị.
Chương trình bà mẹ: định nghĩa 134 phần tử dữ liệu:
Hình 2.2: Xây dựng phần tử dữ liệu trong DHIS 1.3
Luận văn tốt nghiệp
0112049 – 0112322
Trang 21 / 137
Định nghĩa các phần tử dữ liệu tạm:
Hình 2.3: Định nghĩa phần tử dữ liệu tạm trong DHIS 1.3
Chương trình trẻ em: Định nghĩa 114 phần tử dữ liệu
Hình 2.4: Xây dựng phần tử dữ liệu cho chương trình trẻ em trong DHIS 1.3
¾ Định nghĩa các chỉ số liên quan theo quy định của bộ y tế: Bộ y tế
quy định các chỉ số (được đánh tổng hợp hằng năm) để đánh giá tình hình hoạt
động, làm cơ sở so sánh hiệu quả hoạt động của các địa phương. Từ đó đề ra những
giải pháp tích cực cho từng địa phương, đơn vị.
Luận văn tốt nghiệp
0112049 – 0112322
Trang 22 / 137
Ví dụ: Bộ y tế có một vài quy định về các chỉ số như sau:
– Tỷ lệ trẻ em tiêm văc xin phòng bệnh viêm não Nhật bản B:
Tỷ lệ TE tiêm phòng viêm não Nhật bản B = Tổng số trẻ em từ 1 – 5 tuổi
tiêm đủ 3 mũi vắc xin phòng viêm não Nhật Bản B của 1 khu vực / Tổng số trẻ em
từ 1-5 tuổi của khu vực đó.
¾ Xây dựng công cụ kết xuất báo cáo theo các mẫu báo cáo ngoài thực
tế dựa trên hệ thống dữ liệu trong DHIS v1.3.
Hằng tháng hoặc hằng quý các đơn vị y tế phải tổng hợp số liệu và lập báo
cáo gửi về cho cấp trên. Các cấp trên tổng hợp báo cáo từ cấp dưới và lập báo cáo
cho đơn vị. Nếu chỉ sử dụng hệ thống DHIS có sẵn thì chỉ hỗ trợ công tác lưu trữ dữ
liệu, tổng hợp dữ liệu chứ không cho phép chức năng kết xuất báo cáo. Yều cầu đặt
ra là phải xây dựng công cụ kết xuất báo cáo từ dữ liệu đã nhập đó. Công cụ được
xây dựng bằng ngôn ngữ VB, cho phép xuất các báo cáo theo mẫu. Từ yêu cầu thực
tế đó, chúng em tiến hành phân tích cơ sở dữ liệu của hệ thống DHIS, xây dựng một
chương trình bằng ngôn ngữ Visual Basic hỗ trợ kết xuất báo cáo từ dữ liệu đã lưu
trữ. Chúng em thiết kế các mẫu báo cáo bằng Datareport, xây dựng các chức năng
hỗ trợ phù hợp với từng nội dung báo cáo cụ thể.
Ví dụ mẫu báo cáo:
Luận văn tốt nghiệp
0112049 – 0112322
Trang 23 / 137
Hình 2.5: Mẫu báo cáo cho chương trình trẻ em
Luận văn tốt nghiệp
0112049 – 0112322
Trang 24 / 137
Giao diện chương trình:
Hình 2.6: Chương trình kết xuất báo cáo
Chương trình báo cáo cho phép kết xuất báo cáo theo thời gian (theo tháng
hoặc theo quý) và báo cáo cho tất cả các đơn vị của các các cấp. Dữ liệu nhập vào
chỉ là cấp thấp nhất, dữ liệu các cấp cao hơn sẽ tự động tổng hợp.
Cơ sở dữ liệu của chương trình là tập tin dữ liệu thông minh (data mart) mà
người dùng đã nhập và xuất từ hệ thống DHIS. Người sử dụng chỉ cần xác định
đúng tập tin chứa dữ liệu và chọn đơn vị, thời gian và loại báo cáo thì có thể kết
xuất được báo cáo như báo cáo ngoài thực tế.
Bước 2: Công tác triển khai và hướng dẫn sử dụng
Ban đầu, chúng em hỗ trợ khi hệ thống chỉ được áp dụng thí điểm cho 2 quận
trong thành phố: Quận 4 và quận Tân Bình. Sau đó, đánh giá được hiệu quả khi sử
dụng hệ thống, Sở y tế Thành phố Hồ Chí Minh quyết định mở rộng quy mô áp
dụng hơn nữa ở các đơn vị y tế khác.
Để thực hiện công tác triển khai có hiệu quả, nhóm thực tập chúng em được
phân công chuẩn bị các nội dung liên quan: lên kế hoạch triển khai hệ thống DHIS
cho các đơn vị y tế và chuẩn bị nội dung triển khai, các tài liệu, công cụ liên quan
cho công tác hướng dẫn.
Luận văn tốt nghiệp
0112049 – 0112322
Trang 25 / 137
Công tác triển khai đã được tiến hành với sự hỗ trợ của Trung tâm chăm sóc
sức khoẻ bà mẹ trẻ em. Đã tổ chức 2 đợt tập huấn và hiện đã triển khai và ứng dụng
cho 6 quận huyện và 2 bệnh viện trong thành phố.
Công tác hỗ trợ sau triển khai cũng được chú trọng, chúng tôi- những sinh
viên thực tập đã tham gia vào dự án cũng đã phụ trách và giúp đỡ các đơn vị trong
thời gian đầu làm quen với hệ thống.
Hiện tại, hệ thống đã được ứng dụng hiệu quả tại 6 quận huyện, 2 bệnh viện.
Với DHIS 1.3, công việc quản lí được chặt chẽ hơn, hệ thống hơn. Điều này khẳng
định được tác dụng tích cực của hệ thống DHIS tại thành phố Hồ Chí Minh và hứa
hẹn cho một hệ thống mới hơn, hiệu quả hơn, được sử dụng rộng rãi hơn chứ không
chỉ tại Thành phố Hồ Chí Minh và Thành phố Huế. Đó chính là hệ thống DHIS 2.0.
3.2 Tìm hiểu các công nghệ và phát triển ứng dụng Report portal
Tìm hiểu các công nghệ mã nguồn mở: Spring framework, Hibernate, Webwork,
Velocity.
Phân tích, thiết kế và xây dựng ứng dụng report portal.