基于J2EE实现医院信息管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

毕业论文
课题名称:基于J2EE实现医院信息管理系统
学号:
姓名:
学院:
专业:
指导老师:
摘要医院的业务正在迅速增长,公众对其保健护理服务的赞誉也达到前所未有的程度.医院极为注重高度专业化的医疗服务和使用高科技仪器和技术,因此医院努力引入最新的信息科技来稳步推进其业务。

本文对医院的流程和结构做了详细规划,深入到医院的各科室,了解各科室的
工作过程,研究前人的研究成果,得出医院信息系统的需求分析、概要设计和详细设计,利用JSP、Servlet和JavaBean技术实现医院管理系统的解决方案。

本次设计主要完了成对患者情况和患者治疗管理,包括门诊管理、住院管理、药品管理、实验室管理等。

系统还可以完成对各类信息的查询、添加、删除、修改等功能。

系统的核心是数据库中各个表联系,每一个表的修改都将联动的影响其它的表,当完成对数据的操作时系统会自动地完成数据库的修改。

关键词门诊管理;JSP;Servlet;JavaBean;数据库
目录
前言 (4)
第一章项目概述 (5)
1.2体系结构介绍 (6)
1.2.1 B/S结构 (6)
1.2.2 MVC模型结构 (6)
1.3系统目标 (7)
第二章系统分析 (8)
2.1系统的功能描述 (8)
2.2开发平台的选择 (10)
2.3系统运行环境 (10)
2.4分析建模 (11)
2.4.1 建模工具的选择 (11)
2.4.2建模相关定义 (12)
2.4.3系统用例图 (12)
6)收费管理 (19)
7)系统管理 (20)
2.5可行性分析 (21)
2.5.1 技术可行性 (21)
2.5.2 操作可行性 (22)
2.5.3 经济可行性 (22)
2.5.4可行性分析结论 (22)
2.6系统特点 (22)
第三章系统概要设计 (24)
3.1系统首页构架设计 (24)
3.2界面设计 (25)
3.2.1系统首页 (25)
3.2.3系统后台管理 (26)
3.3数据库设计 (33)
3.3.1医院信息管理系统的E-R图 (33)
3.3.2数据表之间的关系 (34)
3.3.3数据字典 (35)
3.4系统类分析 (37)
3.5系统部署 (39)
第四章用户信息管理模块的具体实现 (40)
4.2用户信息模块编码设计 (44)
4.2.1数据库连接yiyuanDB.java代码 (44)
4.2.2过滤器设置SetCharacterEncodingFilter.java代码 (47)
4.2.3java代码相关定义 (49)
4.2.4页面代码相关定义 (50)
第五章模块测试 (50)
5.1测试项目 (50)
5.1.1功能测试 (50)
5.1.2界面测试 (51)
5.1.3 代码测试 (51)
5.2测试用例 (52)
5.3测试评估 (54)
5.3.1软件功能 (54)
5.3.2 缺陷和限制 (54)
5.3.3 建议 (54)
5.3.4 测试结论 (55)
第六章结论 (55)
致谢 (56)
参考文献 (56)
附录 (57)
前言
医院信息系统(Hospital Information System,HIS)在国际学术界已公认为新兴的医学信息学(Medical Informatics)的重要分支。

美国该领域的著名教授
Morris.Collen于1988年曾著文为医院信息系统下了如下定义:利用电子计算机和通讯设备,为医院所属各部门提供病人诊疗信息和行政管理信息的收集、存储、处理、提取和数据交换的能力,并满足所有授权用户的功能需求。

电子计算机在医院的应用已有三十多年的历史,60年代初,美国便开始了HIS 的研究。

随着计算机技术的发展,70年代,HIS进入大发展时期,美日欧各国的医院,特别是大学医院及医学中心纷纷开发HIS,成为医药信息学的形成和发展的基础。

70-80年代,美国的HIS产业已有很大发展。

但我国医院的信息处理基本上还停留在手工方式,劳动强度大且工作效率低,医师护士和管理人员的大量时间都消耗在事务性工作上,致使“人不能尽其才”;病人排队等候时间长,辗转过程多,影响医院的秩序;病案、临床检验、病理检查等许多宝贵的数据资料的检索十分费事甚至难以实现;对这些资料深入的统计分析手工方式无法进行,不能充分为医学科研利用;在经济管理上也因而存在漏、跑、错费现象;医院物资管理由于信息不准确,家底不明,积压浪费,以致“物不能尽其用”。

开发HIS是解决上述问题的有效途径。

HIS系统的有效运行,将提高医院各项工作的效率和质量,促进医学科研、教学;减轻各类事务性工作的劳动强度,使他们腾出更多的精力和时间来服务于病人;改善经营管理,堵塞漏洞,保证病人和医院的经济利益;为医院创造经济效益。

第一章项目概述
1.1系统背景
医院的业务正在迅速增长,公众对其保健护理服务的赞誉也达到前所未有的程
度。

医院极为注重其高度专业化的医疗和使用高科技仪器和技术,因此医院努力引进最新的信息技术来稳步推进其业务。

医院的主席确信对信息技术的有效使用将会带来战略性的业务优势。

以前的工作方式及某些环节上存在着缺陷,如纸质的办公繁琐,时间安排不合理等因素,导致就诊率无法提高。

信息技术的介入将有效的缓解这一方面的不足之处,以新的就诊步骤及无纸化的办公方式,良好的时间安排,医疗设备的有效管理和使用将提高医院各个方面。

1.2体系结构介绍
1.2.1 B/S结构
本系统采B/S结构。

B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。

在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。

B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。

这种结构更成为当今应用软件的首选体系结构。

1.2.2 MVC模型结构
本系统将使用JSP+Servlet+JavaBean技术开发,系统开发前台页面设计用Dreamweaver MX 2004,数据库拟采用SQL server2000,Tomcat作为JSP容器。

服务器端使用模型-视图-控制器(MVC)体系结构,数据库使用JDBC与底层数据库进行交互,用JavaBean作为模型,Servlet作为控制器、JSP作为视图。

将主件保存
与显示数据的功能分开,使系统更加安全,维护更加方便。

模型:表示应用程序数据以及管理对数据进行访问和修改业务规则。

视图:用于显示模型的内容。

它从模型访问数据并指定数据如何显示。

当模型更改时,视图的责任是保持模型与其显示之间的一致性。

控制器:将定义应用程序的行为。

它将定义应用程序的行为。

它将解释用户的输入并将它们映射为该模型要执行的操作。

在Web应用程序中,输入可以是来自客户机的GET或POST HTML请求。

模型执行的操作包括激活业务过程或更改模型的状态。

根据拥护的表示以及模型命令的输入,控制器将选择要显示的视图作为对该用户请求的响应一部分。

服务器端的MVC结构及之间的关系如图1-1所示:
WEB容器
图1-1 服务器MVC端体系结构
1.3系统目标
该软件系统是为了完善Virgo医院管理提高就诊率以及相关设备的管理,主要应用目标是以网站方式不仅提高软件在互联网的宣传作用同时也成为设备管理,时间安排等方面的功能,作用范围是医院管理医院的各个科室,系统各个模块将与不同种类的科室关联到一起,提高工作效率。

主要以日常事务处理功能,其中包括:门
诊管理、住院管理、药品管理、治疗管理、业务管理、系统管理等等。

为管理者全方位地了解企业拥有的人力资源,并对这一资源进行开发提供决策支持。

第二章系统分析
2.1 系统的功能描述
1)系统需要经过有效的身份验证才可以登录。

2)将登录本系统的身份定为五种:一是医生;二是实验室人员;三是药剂师;四是
会计、五是管理员,只有被授权的用户才可以使用本系统的资源。

3)系统提供患者信息录入、查询、统计。

4)用户的身份不同,使用的系统资源也不同。

医生端:
(1)医生可以修改自己的基本资料
(2)医生能对患者简单信息输入、查询
(3)医生应当能查看患者的预约史。

(4)医生能给患者开处方查询处方
(5)医生要患者治疗,查看患者的化验结果并且给回患者症状详细信息(6)查看患者费用信息
(7)医生有在留言版给在线患者解疑的任务
实验室人员端:
(1)可拥有自己修改信息功能;
(2)可对实验室、血库的管理
(3)对患者化验和填写化验单
药剂师端:
(1)可拥有自己修改信息功能;
(2)可对药品的管理、出库和入库
(3)可对药品进行调价处理
会计端:
(1)可拥有自己修改信息功能;
(2)对患者的费用进行收费
管理员端:
(1)管理员可以修改自己的基本资料
(2)给其他工作人员分配工号,管理他们的数据库信息
(3)后台数据库备份和维护
(4)查看报表
2.2 开发平台的选择
本系统开发平台使用了WindowsXP,数据库选用SQL Server2000,Web服务器程序Tomcat5.0。

客户端必须是IE5.0以上版本的浏览器才能正常调试本系统。

编译工具的选择:Myeclipse5.0GA+eclise3.2+Tomcat5.0;辅助工具: Dreamweaver MX 2004。

2.3系统运行环境
1)硬件环境
(1)服务器端
服务器端的最低配置是由建立站点所需的软件来决定的,在最低配置的情况下,服务器的性能往往不尽人意,现在硬件性能已经相当出色,而且价格也很便宜,因此通常应给服务器端配置高性能硬件。

本网络系统服务器端的配置如下:
处理器:Inter Pentium(Celeron) 4 2.4GHz 或更高。

内存:512MB
硬盘空间:60G
显卡:SVGA显示适配器
(2)客户端
因为客户端主要用于浏览和操作数据,所以对客户端的硬件要求不高,不过现在的电脑有很高的性价比,因此需要的配置应该高于下面的配置:
处理器:Inter Pentium(Celeron) 4 1.6GHz 或更高。

内存:32MB
硬盘空间:1GB
显卡:SVGA显示适配器
2)软件环境
(1)服务器端
操作系统:windows 2000/XP/2003
网络协议:TCP/IP。

Web服务器:Tomcat
数据库:Microsoft SQL Server 2000
(2)用户端
操作系统:Windows 98/ME/2000/XP/2003
网络协议:TCP/IP
浏览器:Internet Explore 5.0以上建议分辨率为1024*768。

2.4 分析建模
2.4.1 建模工具的选择
以UML语言建模应该是以Rational公司的Rose工具为最好。

所以选择了Rose。

2.4.2建模相关定义
建模:也称为系统建模;不管面向过程的方法还是面向对象的方法,它们
都在按自己的理论、技术、方法描述软件系统。

UML(Unified Modeling Language)是一种用来为面向对象开发的软件系
统进行可视化描述、建造和文档编制的建模语言。

UML基本图素:它是构成UML模型图的基本元素。

UML模型图:它由UML基本图素按照UML建模规则构成。

UML建模规则:UML模型图必须按特定的规则有机地组合而成,从而构成一个有机的、完整的UML模型图。

用例图:指被称为参与者的外部用户所能观察到的系统功能的模型图.从用户角度描述系统功能,并指出各功能的操作者
活动图:描述系统功能,方框上面的箭头表示完成该功能所需的控制条件,底部的箭头表示执行该活动的机制,左边和右边的箭头分别代表完成该功能的输入输出。

类图:描述了类里的属性和方法,展示了一组类、接口和协作及它们之间的关系。

2.4.3系统用例图
1)系统角色关系图如图2-1所示:
文件系统
管理员医生会计员实验室人员药剂师接待员
2_1系统角色关系图
2) 系统总框图:
2_2系统总框图
(3)以下为各子业务的用例和活动图,它们可以进一步详细地描述业务工作流程 1)身份验证
a)用例图如图2_3所示:
用户
图2_3
b)活动图如图2_4所示:
图2_4
2)门诊管理
a)用例图如图2_5所示:
实验室人员
图2-5 b)活动图如图2_6所示:
图2_6
3)住院管理
a)用例图如图2_7所示:
实验室调度
图2_7 b)活动图如图2_8所示
图2_8
4) 药品管理
a )用例图如图2_9所示:
药品调价
会计
图2_9
b) 活动图如图2_10所示:
图2_10
5)实验室活动
a)用例图如图2_11所示:
实验室调度
会计
图2_11
b) 活动图如图2_12所示:
图2_12
6)收费管理
a)用例图如图2_13所示:
其他收费
图2_13
b) 活动图如图2_14所示:
图2_14
7)系统管理
a)用例图如图2_15所示:
参数表管理
图2_15
b) 活动图如图2_16所示:
图2_16
2.5 可行性分析
2.5.1 技术可行性
该系统在技术上因具备以下特点:
1)先进性:本系统开发平台选用了当今业内最流行的跨平台开发工具J2EE,数据库系统也采用业内最流行的可跨平台的数据库系统SQL Server2000。

本系统的设计采用了MVC端体系结构,采用B/S(浏览器/服务器)模式,基于Internet网络环境,使系统的实现建立在一个较高的起点上,为完成系统的开发奠定了基础。

2)跨平台性好:本系统客户机要通过Web浏览器就能方便的访问本系统,由于所有的用户都装有Web浏览器,这样就实现了系统的跨平台性。

3)便于维护、升级:本系统采用B/S模式开发,整个系统的升级、维护工作只要在服务器端运行即可。

4)开放性:整个系统与Internet接轨,不但系统内的用户可以访问系统资源,
系统之外的用户通过认证也可以访问此系统资源。

根据以上分析本系统在技术上是可行的。

2.5.2 操作可行性
本系统是一个基于Web界面的系统,客户只需要安装Web浏览器,同过网页上的链接无须专门的培训就能访问服务器上的所有应用程序,从而统一了用户界面,方便易用。

因此,在操作上是完全可行的。

2.5.3 经济可行性
本系统对软、硬件要求不高,用户无须安装专门的客户端软件,只须通过Web 浏览器就能访问本系统,因此在经济上也是可行的。

2.5.4可行性分析结论
通过可行性分析,系统开发的软、硬件环境都得到满足,并且通过论证得出了本系统在操作、技术、经济三方面都完全具备可行性的结论,完全具备研发的价值,开发完成后,即可发挥相应的作用。

2.6系统特点
1. 强大的管理功能
系统紧贴用户需求,全面覆盖了医院管理各个领域;强大的医院管理功能,使系统成为医院管理完美运作的强有力保障。

2.智能化的资源配置
使医疗资源得到优化,医生、药剂师、会计、实验室人员、实验室、时间等的
高效调配和合理使用,解决医院资源紧缺,多部门管理下的患者就疹安排等问题。

3. 系统安全可性,用户管理权限清晰明确
在医院管理事务中,对每一项具体的业务流程,不同的部门有着不同的职责和权限。

采用相应的技术措施使其具有很好的安全严密性,不允许被非法访问和破坏。

4. 基于大型数据库开发,通用性强
系统适用于大型数据库系统,系统总体设计是以达到国际标准的医院系统为目标,基于通用医院MIS共性的基本功能。

5. 先进的开发技术,靠拢于国际标准化
系统具有良好的稳定性,服务器的健壮性,安全性及跨平台性能。

6. 提高了工作效率
各医院在处理患者数据时,仅仅通过点击几个按钮就可以实现教务管理的全过程,节省了人力物力财力,使医院信息化工作必不可少的一部分。

第三章系统概要设计
3.1系统首页构架设计
首页构架图如图3-1所示:
图3-1首页构架图
3.2界面设计
3.2.1系统首页
首页主要实现:用户登临、科室介绍、专家介绍、预约挂号、医院动态、价格介绍、医院院刊、图片新闻、患者留言板、意见和反馈、医院概况、就医指南、急诊指南、住院指南
在医院信息管理系统首页可以方便许多浏览网页的人进行一系列的医疗信息咨询、预约挂号,就诊看病,检查等一系列的操作,其界面如图3_2所示:
图3_2
3.2.3系统后台管理
主要实现:门诊管理、住院管理、药品管理、治疗管理、业务管理、系统管理等等
1.门诊管理
患者可以根据自己的登记的预约信息进行就诊,以及进行自己相关信息的查询,例如:检查结果、诊断结果、查询处方、进行治疗;医生可以根据患者的信息进行诊断治疗,以及输入处方、修改处方等,其界面如图3_3所示:
图3_3
2.住院管理
患者可以根据自己病情进行选择住院、以及对相关的的检查、诊断、治疗进行相关的费用查询,和向医生咨询一些列的医疗信息等;医生可在住院管理进行病房病床管理、门诊诊断记录以及门诊费用信息、检验结果、药方进行查询,
其界面如图3_4所示:
图3_4
3.收费管理
会计员在此管理系统里将对医院收费的项目进行整理录入,对挂号进行收费查询、门诊收费等,设置收费项目类型、查询收费明细等,其界面如图3_5所示:
图3_5
4.手术室管理
实验员在手术室管理里将对手术室的日常使用情况进行管理同时对手术室进行
调用,其界面如图3-6所示:
图3_6
5.血库管理
实验员在血库里储存的血液情况进行管理,实现血库情况的即时查询和更新,
其界面如图3-7所示:
图3_7
8.用户信息管理
对系统用户进行增、删、查、改等,在系统里进行数据备份和恢复等,
其界面如图3-8所示:
图3_8 9.系统用户登陆界面
系统用户登陆界面如图3-9 所示:
图3-9 10.会计员登陆界面
会计员登陆界面如图3-10 所示:
图3-10
3.3数据库设计
数据库是管理信息系统的重要组成部分,保存整个企业的重要信息,数据库的设计直接关系到管理信息系统的性能以及安全性。

数据库设计采用SQL Server 2000服务器,每个表都采用主键ID唯一性设计,即不存在有两个ID相同的字段,保证数据的正确性。

每个模块都采用主表与从表的关系,也就是一个主表可以有多个从表(一对多的关系),保证数据的整洁性,不冗余,节省计算机资源开销。

3.3.1医院信息管理系统的E-R图
医院信息管理系统的E-R图如图3_9所示:
图3_9 3.3.2数据表之间的关系
数据库表之间的E-R图如图3_10所示:
数据表之间关系图3_10 3.3.3数据字典
1)病人登记表(patientDj)
字段名类型长度字
段说明
name varchar 30 姓名
Sex varchar 4 性别
age int 年龄
varchar 30 科室Section_
room
doctor varchar 30 医生opid int 病人标识号
码ZyroomId varchar 30 住院房间号
码GhTime datetime 挂号时间
2)用户管理表(user manager)
3)病人账单表(Patient_bill)
4 )模块表(MoldPiece)
3.4系统类分析
系统类分析地主要任务是把用例描述中的各个步骤和动作交换为协作中的类、类操作和类之间的关系。

具体地说,就是把用例中每个步骤所完成地工作交给协作中地类来完成。

这里要注意的是,一个用例一般不对应一个类,一个用例往往通过多个类来实现。

1.公共类图如图3_11所示:
图3_11
2.用户身份验证类图如图3_12所示:
3.用户信息类图如图3_13所示:
4.模块信息类图如图3_14所示:
3.5系统部署
第四章用户信息管理模块的具体实现
4.1界面设计
1)用户信息管理模块主界面,如图4_1所示:
图4_1
2)用户密码修改,如图4_2所示:
图4_2 3)用户信息操作
(a) 用户信息查询界面,如图4_3所示:
图4_3
(b) 用户信息ID查询以及删除界面,如图4_4所示:
图4_4
4)数据库备份界面:如图4_5所示:
5)数据库恢复界面:如图4_6所示:
图4_6
6)系统首页权限登陆功能界面:如图4-7所示:
图4-7 4.2用户信息模块编码设计
4.2.1数据库连接yiyuanDB.java代码
package ;
import java.sql.*;
public class yiyuanDB {
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
public yiyuanDB(){
Class.forName
("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}catch(ClassNotFoundException e){
System.out.println(e.getMessage());
}
}
/***************************************************
*method name: e xecuteQuery()
*功能:执行查询操作
*return value: ResultSet
*2007-2-13
****************************************************/
ResultSet executeQuery(String SqlStr){
try{
conn=DriverManager.getConnection
("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=yiyuan","sa","sa");
stmt=conn.createStatement
(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONL Y);
rs=stmt.executeQuery(SqlStr);
}catch(SQLException ex){
System.out.println(ex.getMessage());
return rs;
}
/***************************************************
*method name: executeUpdate()
*功能:执行更新操作
*return value: int
*2005-12-05
****************************************************/
public int executeUpdate(String sql){
int result=0;
try{
conn=DriverManager.getConnection
("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=yiyuan","sa","sa");
stmt=conn.createStatement
(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONL Y);
result=stmt.executeUpdate(sql);
}catch(SQLException ex){
result=0;
}
return result;
}
}
4.2.2过滤器设置SetCharacterEncodingFilter.java代码
/**
* <p>Title:编码过滤器</p>
* <p>Description: 该类实现把request请求编码为web.xml文件中所配置的字符集</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author
* @version 1.0
*/
package com.yiyuan.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class SetCharacterEncodingFilter implements Filter {
/**
* 字符集名称,缺省为GBK
*/
protected String encoding = "GBK";
/**
* 过滤器配置对象
*/
protected FilterConfig filterConfig = null;
/**
* <p>从web.xml得到过滤器参数值</p>
*/
public void init(javax.servlet.FilterConfig filterConfig) {
this.filterConfig = filterConfig;
this.encoding = filterConfig.getInitParameter("encoding");
}
/**
* <p>把请求编码为web.xml所配置的字符集</p>
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
//对请求进行编码
request.setCharacterEncoding(encoding);
// 把控制传递给下一个过滤器
chain.doFilter(request, response);
}
/**
* 清除对象
*/
public void destroy() {
this.encoding = null;
this.filterConfig = null;
}
}
注:其余代码请参见附录光碟
4.2.3java代码相关定义
4.2.4页面代码相关定义
第五章模块测试
5.1测试项目
5.1.1功能测试。

相关文档
最新文档