Cùng với sự phát triển đó, việc ứng dụng công nghệ thông tin vào quản lý và điều hành bệnh viện đã chứng minh được mặt ưu việt của nó .Trong khuôn khổ báo này này em xin trình bày một số
Trang 24 Tính khả thi của đề tài
5 Phần công công việc và thời gian thực hiện
1 Yêu cầu chức năng
2 Yêu cầu hoạt động
3 Những người sử dụng chính của chương trình
4 Kịch bản sử dụng
1 Funtion Diagram – Sơ đồ chức năng
2 Context Diagram – Sơ đồ mức ngữ cảnh
3 Data Flow Diagram – Sơ đồ luồng dữ liệu
1 Thiết kế giao diện chương trình
Trang 3I GIỚI THIỆU ĐỀ TÀI
1)Tổng quan
Đồng hành với sự phát triển của khoa học kỹ thuật,công nghệ thông tin đã đóng một vai trò vô cùng quan trọng trong đời sống hàng ngày Cùng với sự phát triển đó, việc ứng dụng công nghệ thông tin vào quản lý và điều hành bệnh viện đã chứng minh được mặt ưu việt của nó Trong khuôn khổ báo này này em xin trình bày một số nội dung cơ bản của phần mềm quản lý bệnh nhân sử dụng phần mềm mã nguồn mở
OPENMRS™ Với các phân hệ này các nhà quản lý bệnh viện sẽ thực hiện quản lý được số lượng bệnh nhân , các chi phí trong quá trình điều trị, quản lý tình hình sử dụng thuốc và vật tư tiêu hao, có được số liệu thống kê phục vụ các báo cáo Tuy nhiên do thời gian có hạn nên báo cáo không tránh khỏi những thiếu sót, rất mong nhận được những ý kiến đóng góp của Thầy, Cô và các bạn.
2)Nghiên cứu OpenMRS????
a)Mã nguồn mở là gì:
Phần mềm nguồn mở là phần mềm với mã nguồn được công bố và sử dụng một giấy phép nguồn mở Giấy phép này cho phép bất cứ ai cũng có thể nghiên cứu, thay đổi và cải tiến phần mềm, và phân phối phần mềm ở dạng chưa thay đổi hoặc đã thay đổi
Năm 1998 một nhóm người chủ trương rằng thuật ngữ phần mềm tự do nên được thay thế bằng phần mềm nguồn mở vì thuật ngữ này ít mơ hồ hơn và dễ sử dụng hơn cho giới
doanh nghiệp
Định nghĩa Nguồn mở của Tổ chức Sáng kiến Nguồn mở (Open Source Initiative - OSI) thể hiện một triết lí nguồn mở và xác định ranh giới về việc sử dụng, thay đổi và tái phân phối phần mềm nguồn mở Giấy phép phần mềm cung cấp cho người dùng các quyền vốn
bị cấm bởi bản quyền, gồm các quyền về sử dụng, thay đổi và tái phân phối Một vài giấy phép phần mềm nguồn mở đã được thẩm định thuộc giới hạn của Định nghĩa Nguồn mở Thí dụ nổi bật nhất là Giấy phép Công cộng GNU (GPL) Trong khi nguồn mở cho phép công chúng truy cập vào nguồn của một sản phẩm, giấy phép nguồn mở cho phép tác giả điều chỉnh cách truy cập đó
(Nguồn Wikipedia)
Trang 4b) Những công nghệ được xây dựng trên OpenMRS?
OpenMRS được lập trình trong Java và thực hiện cốt lõi hoạt động thông qua một trình duyệt web ( Internet Explore,Fire Fox,Google chrome,Opera v.v…) Các trình duyệt được sửdụng như năm lớp giao diện cơ sở dữ liệu Tomcat được sử dụng như là máy chủ ứng dụngweb Kết thúc trở lại cơ sở dữ liệu trong MySQL Hệ thống Tạo lược đồ XML cho thiết kế mẫu Form nhập dữ liệu hình thức và thiết kế hiện đang được thực hiện trong Microsoft InfoPath, HTML, hoặc XForms Khi dữ liệu mẫu được nhập đăng, nó được chuyển đổi thànhmột bài HL7 trước khi đi vào cơ sở dữ liệu
c) Ngôn ngữ lập trình Java trong phần mềm quản lý bệnh nhân:
''Java'' là một ngôn ngữ lập trình dạng lập trình hướng đối tượng (OOP) Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì trình biên dịch biên dịch mã nguồn thành mã máy hoặc trình thông dịch thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch
mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi (runtime
environment) chạy Bằng cách này, Java thường chạy chậm hơn những ngôn ngữ lập trình thông dịch khác như C++, Python,Perl, PHP, C#
Cú pháp Java được vay mượn nhiều từ C (ngôn ngữ lập trình)C & C++ nhưng có cú pháp hướng đối tượng đơn giản hơn và ít tính năng xử lý cấp thấp hơn Do đó việc viết một chương trình bằng Java dễ hơn, đơn giản hơn, đỡ tốn công sửa lỗi hơn Dùng bộ thư viện chuẩn KFC, nhiều đoạn code Java chỉ mất vài dòng trong khi C phải mất cả trang giấy Lập trình C rất hay xảy ra lỗi và khó sửa Trong Java, hiện tượng dò rỉ bộ nhớ hoàn toàn có thể tránh bằng cách định nghĩa vài preprocessor directives như '''#define NO_MEMORY_LEAK'''hay '''#define NO_ACCESS_VIOLATION''' ở đầu chương trình
Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun Microsystems năm
1991 Ban đầu ngôn ngữ này được gọi là '''Oak''' (có nghĩa là cây sồi; do bên ngoài cơ quan của ông Gosling có trồng nhiều loại cây này), họ dự định ngôn ngữ đó thay cho C++, nhưng các tính năng giống Objective C Không nên lẫn lộn Java với JavaScript, hai ngôn ngữ đó chỉ giống tên và loại cú pháp như C (ngôn ngữ) C Công ty Sun Microsystems đang giữ bản quyền và phát triển Java thường xuyên Tháng 04/2011, công ti Sun Microsystems tiếp tục cho ra bản JDK 1.6.24
Java được tạo ra với tiêu chí "Viết (code) một lần, thực thi khắp nơi" ("Write Once, Run Anywhere" (WORA)) Chương trình phần mềm viết bằng Java có thể chạy trên mọi nền tảng(platform) khác nhau thông qua một môi trường thực thi với điều kiện có môi trường thực thithích hợp hỗ trợ nền tảng đó Môi trường thực thi của Sun Microsystems hiện hỗ trợ Sun Solaris, Linux, Mac OS, FreeBSD & Windows Ngoài ra, một số công ty, tổ chức cũng như
cá nhân khác cũng phát triển môi trường thực thi Java cho những hệ điều hành khác như BEA, IBM, HP Trong đó đáng nói đến nhất là IBM Java Platform hỗ trợ Windows, Linux, AIX & z/OS
Những chi tiết về ngôn ngữ, máy ảo Java|máy ảo và API của Java được giữ bởi Cộng đồng Java (do Sun quản lý) Java được tạo ra vào năm 1991 do một số kỹ sư ở Sun
Microsystems|Sun, bao gồm ông James Gosling, một phần của ''Dự án Xanh'' (Green
Trang 5Project) Java được phát hành vào năm 1994, rồi nó trở nên nổi tiếng khi Netscape tuyên bốtại hội thảo SunWorld năm 1995 là trình duyệt Netscape Navigator|Navigator của họ sẽ hỗ trợ Java Về sau Java được được hỗ trợ trên hầu hết các trình duyệt như Internet Explorer (Microsoft), Firefox (Mozilla), Safari (Apple)
Java được sử dụng chủ yếu trên môi trường NetBeans và Oracle
Sau khi Oracle mua lại công ty Sun Microsystems năm 2009-2010, Oracle đã mô tả họ là
"''người quản lý công nghệ Java với cam kết không ngừng để bồi dưỡng một cộng đồng tham gia và minh bạch''
Phương châm của Java
Có 5 mục tiêu chính trong việc xây dựng ngôn ngữ Java
• # Nó sẽ được "đơn giản, hướng đối tượng và quen thuộc"
• # Nó sẽ được "mạnh mẽ và an toàn"
• # Nó sẽ được "kiến trúc trung lập và di động"
• # Nó sẽ được thực thi với "hiệu suất cao"
• # Nó sẽ được "thể hiện, phân luồng và năng động"
Trang 6* Java SE 6 (còn gọi là ''Mustang''), được công bố 11 tháng 12 năm 2006, thông tin chính tại http://java.sun.com/javase/6/ Các bản cập nhật 2 và 3 được đưa ra vào năm 2007, bản cậpnhật 4 đưa ra tháng 1 năm 2008.
* JDK 6.18, 2010
* Java SE 7 (còn gọi là ''Dolphin''), được bắt đầu từ tháng 8 năm 2006 và công bố ngày 28 tháng 7 năm 2011
c) Giới thiệu về MySQL và giả lập Tomcat:
• Giới thiệu về 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 MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ Nó 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 Microsoft Windows|Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,
'''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ợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm nơilưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,
• Giới thiệu về phần mềm Tomcat:
'''Apache Tomcat''' là một Java Servlet được phát triển bởi Apache Software
Foundation (ASF) Tomcat thi hành các ứng dụng Java Servlet và JavaServer Pages (JSP) từ Sun Microsystems, và cung cấp một máy chủ HTTP cho ngôn ngữ Java thuần túy để thực thi các chương trình lệnh viết bằng ngôn ngữ Java
Tomcat không nên được hiểu nhầm với các máy chủ HTTP Apache - cái mà dùng để thực thi các câu lệnh viết bằng ngôn ngữ C trên máy chủ HTTP; có 2 máy chủ web đượckết nối với nhau Apache Tomcat cung cấp các công cụ cho việc cấu hình và quản lý, nhưng cũng có thể được cấu hình bởi việc soạn thảo các file cấu hình viết bằng XML
Trang 7Tình trạng phát triển
Các thành viên của ASF và các tình nguyện viên riêng lẻ vẫn đang phát triển và duy trì Tomcat Người dùng có thể truy cập miễn phí vào mã nguồn và các lớp nhị phân của Tomcat dưới sự cho phép của Apache Phiên bản Tomcat đầu tiên được công bố là phiên bản 3.0.x (các phiên bản trước được Sun phát hành nội bộ, và không được phát hành rộng rãi ra ngoài) Phiên bản Tomcat 6.0.20 là sản phẩm cuối cùng của thế hệ phiên bản 6.0.x (một phần của bộ 2.5 servlet), vào năm 2009
Jasper
Jasper là công cụ JSP của Tomcat Tomcat 5.x sử dụng Jasper 2, chính là một thực thi các trang JSP được chỉ rõ của Sun Microsystems Jasper phân tích các file JSP để biên dịch chúng trong code Java như là các servlets (có thể được điều khiển bởi Catalina) Tại thời điểm thực thi, Jasper có khả năng tự động dò ra các file JSP và biên dịch chúng
Jasper 2
Từ Jasper sang Jasper 2, có những đặc điểm quan trọng được thêm vào:
* Cụm các thư viện JSP dùng chung - Mỗi cụm đặt trong các file JSP được điều khiển bởi một lớp điều khiển các tag Các đối tượng lớp điều khiển các cụm có thể được dùng chung hoặc tái sử dụng lại trong toàn bộ JSP servlet
* Biên dịch JSP - Khi việc dịch lại sửa đổi Java code, các phiên bản cũ vẫn có hiệu lực cho yêu cầu máy chủ Bản JSP servlet cũ nhất bị xóa đi một khi bản JSP servlet mới được biên dịch lại
* Dịch lại JSP khi các trang có sự thay đổi - Các trang cso thể được chèn và bao gồm trong một file JSP tại thời điểm biên dịch JSP sẽ không chỉ được tự động dịch lại với các
Trang 8sự thay đổi các file JSP mà còn bao gồm sự thay đổi trang.
* Trình biên dịch JDT Java - Jasper 2 có thể sử dụng trình biên dịch JDT Java là Eclipse thay cho Ant và javac
d)Giới thiệu về OpenMRS
OpenMRS là một nền tảng phần mềm và ứng dụng tham khảo cho phép thiết kế của một hệ thống tùy chỉnh hồ sơ y tế Nó là một nền tảng phổ biến tin y tế nỗ lực
ở các nước đang phát triển có thể được xây dựng Hệ thống được dựa trên một cấu trúc cơ sở dữ liệu có thể được tùy biến cho các mục đích sử dụng khác nhau.
Phiên bản hiện tại OpenMRS 1.9.1 Standalone
Released 12-August-2012
3)Hệ thống đáp ứng được các yêu cầu:???
Đề tài: “Hệ thống quản lý bệnh nhân sử dụng mã nguồn openmrs” cần đạt được những mục tiêu sau:
o Độ chính xác: Việc nhập thông tin về bệnh nhân chính xác và không có sai
sót.
o Xử lý nhanh: Việc đưa ra báo cáo và thống kê nhanh chóng
o Tìm kiếm dễ dàng: Việc tra cứu, tìm kiếm về thông tin bệnh nhân một cách
nhanh chóng và dễ dàng, giao diện người dùng thân thiện, ai cũng có thể sử dụng.
o Tính bảo mật: Cần phải có tài khoản để đăng nhập và chương trình
4)Tính khả thi của đề tài ???
Về mặt kỹ thuật:
Trang 9• Hệ thống được phát triển dựa trên phần mềm mã nguồn mở openMRS vả SQL sever là những công cụ hỗ trợ mạnh đảm bảo tính khả thi về mặt kỹ thuật, tốn ít tài nguyên hệ thống và giá thành sản phẩm rẻ.
• Sản phầm được thiết kế chạy trên nhiều hệ điều hành đảm bảo bảo phù hợp với
đa số người dùng (win 98,win XP,win7,win8,mac OS…)
• Hệ thống phát triển phần mềm này có quy mô vừa phải, gói gọn trong một cơ sở
y tế nên cơ sở dữ liệu tương đối nhỏ, đảm bảo có thể thực hiện xong trong thời gian ngắn ( khoảng 10 tuần) Đồng thời, cũng là lần đầu tiên tham gia vào quá trình làm phần mềm, nên không tránh khỏi những sai sót, nhóm sẽ tích cực nhận những đóng góp, đánh giá của thầy giáo cùng các thành viên của lớp.
Về kinh tế :
• Hệ thống được phát triền dựa trên mã nguồn mở(Java) openMRS nên đảm bảo tốn ít tài nguyên hệ thống, giá thành rẻ, thời gian thực hiện ngắn.
• Chi phí bảo trì phần mềm gần như không có.
- Giảm thiểu thời gian quản lý, giúp quản lý linh hoạt hơn, giảm tải đội ngũ nhân viên
II KHẢO SÁT VÀ THU THẬP CÁC YÊU CẦU
Trang 101 Yêu cầu chức năng
Quản lý bệnh nhân : thông tin về bệnh nhân, họ tên, tuổi, ngày sinh,…
Quản lý bệnh án : phác đồ điều trị, thăm khám, liều lượng thuốc,…
Tìm kiếm bệnh nhân
2 Yêu cầu hoạt động:
- Giao diện đơn giản, dễ thao tác
- Hệ thống chạy nhanh, tính ổn định cao
- Chiếm ít tài nguyên của máy tính
3 Những ngưởi sử dụng chính của hệ thống
a Người quản lý có thể thực hiện các công việc:
- Cập nhật thông tin về bệnh nhân
- Cập nhật thông tin về bệnh án
- Tìm kiếm thông tin về bệnh nhân,bệnh án
b Bác sỹ
- Cập nhật thông tin về bệnh nhân, bệnh án
- Tìm kiếm thông tin về bệnh nhân, bệnh án
- Tìm kiếm thông tin về bệnh nhân theo họ tên, mã bệnh nhân
- Thống kê về bệnh nhân
4.Kịch bản sử dụng (User Cases)
UC1: Cập nhật thông tin về bệnh nhân
User: Nhân viên Actor: Nhân viên
Input: Thông tin bệnh nhân mới Output: Thông tin về bệnh nhân đã được
cập nhật
Trang 11Mô tả:
Chức năng cập nhật thông tin về bệnh nhân bao gồm 4 chức năng con:
- Thêm bệnh nhân mới: Khi có bệnh nhân mới vào nhập viện, nhân viên sẽ nhập thông tin về bệnh nhân vào trong phần mềm như: họ và tên,ngày
sinh,ngày nhập viện,…
- Xóa bệnh nhân: Nhân viên có thể xóa thông tin về bệnh nhân nhập sai
hoặc đã suất viện
- Cập nhật chi tiết thông tin về bệnh nhân: cho phép cập nhật lại một trong các chi tiết đã nhập trong thông tin về bệnh nhân
- Tìm kiếm bệnh nhân đã nhập viện: việc tìm kiếm có thể theo nhiều tiêu chuẩn khác nhau như: theo họ tên, theo mã bệnh nhân
UC2: Cập nhật thông tin cần quản lý
User: Người quản lý Actor: Người quản lý
Input: Thông tin về các user,địa
điểm,đơn thuốc
Output: Thông tin đã được cập nhật
Mô tả:
Chức năng cập nhật thông tin quản lý gồm các chức năng con:
- Quản lý về user: Thay đổi thong tin các user sử dụng trong sever, như: password,ngày sinh,contact v.v…
- Quản lý về địa điểm: Các địa điểm trong hồ sơ
- Quản lý về các cuộc họp: Gồm chức năng thời gian biểu báo cáo hội nghị hội thảo
- Quản lý về đơn thuốc: thong tin về đặt hàng,chủng loại thuốc …
5.Phân công công việc và thời gian thực hiện:
Trang 12III.PHÂN TÍCH HỆ THỐNG
Trang 13a) Funtion Diagram – Sơ đồ chức năng:
Trang 142 Context Diagram – Sơ đồ mức ngữ cảnh
( 1 ) Là thông tin dữ liệu trao đổi giữa người dùng và hệ thống quản lý bệnh viện
về thông tin bệnh nhân,lịch hẹn và tìm kiếm
( 2 ) Là các thông tin giữ liệu giữa bệnh nhân và hệ thống quản lý về thủ tục, hồ
sơ , bệnh án, lịch khám
HỆ THỐNG QUẢN LÝ BỆNH VIỆN
Trang 15b) Data Flow Diagram – Sơ đồ luồng dữ liệu
a DFD mức 0
Trong đó:
( 3 ) Thông tin về bác sĩ mà người quản lý cật nhật tới dữ liệu bác sĩ và ngược lại
là thông tin lấy từ cơ sở dữ liệu cần tìm kiếm và cật nhật về bác sĩ
( 4 ) Là thông tin về bệnh án mà quản lý muốn cật nhật, tìm kiếm trong cơ sở dữ liệu về bệnh án đồng thời là thông tin phản hồi lại.
( 5 ) Là thông tin về bệnh án mà bác sĩ tìm kiếm hay muốn cật nhật và phản hồi của hệ thống lại cho bác sĩ.
HỆ THỐNG
NGƯỜI DÙNG
HỆ THỐNG BỆNH NHÂN