admin 管理员组文章数量: 1086019
2024年3月7日发(作者:boundary怎么改中文)
基于JSP的医院信息管理系统
摘要: 随着科技的飞速发展,计算机已经广泛的应用于各个领域之中,而且日趋普及。在医学领域内,计算机的应用已经十分广泛,各种智能诊断设备都与计算机紧密结合在一起,主要应用于两个方面:一是医疗设备智能化,以硬件为主。另一种是医院信息管理系统(HIS)的软件建设,以提高医院的现代化管理形象。因此,本次毕业设计的主要任务是基于B/S模式,即Browser/Server(浏览器/服务器)结构,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现。B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。利用JSP语句结合Microsoft SQL
Server 2000后台数据库开发“医院信息管理系统”,可应用于各大中小型医院。
关键词:医院信息管理系统,HIS,JSP
第 1 页 共
52
页
Hospital Information Management System Based on JSP
ABSTRACT:With development at full speed of science and
technology, already extensive to apply all field computer have, In
the medical science realm, the application of the calculator is very
extensive already, various intelligence examines a patient
equipmentses all is close with calculator to combine together, mainly
is apply in two JSPects:Turn while being the medical treatment
equipments intelligence, regard hardware as r a
kind of software construction that is the hospital information
management system(HIS), with the exaltation hospital of modern
manage image. So, the main task of this graduation project is namely
structure of Brows
Keywords: Hospital Information Management System,HIS,JSP
目 录
1 前言 ........................................... 4
1.1 课题背景、目的与意义 .......................... 4
1.2 医院信息管理系统发展历史与现状 ................. 6
1.3 结构概述,技术及相关工具介绍 ................... 9
1.3.1 JSP概述 ..................................... 9
第 2 页 共
52
页
1.3.2 JSP的新特性 ................................ 10
1.3.3 SQL Server 2005 ............................ 14
1.3.4 MyEclipse .................................. 15
1.3.5 Apache Tomcat .............................. 16
1.3.6 Struts2.0 .................................. 16
2 系统需求分析 ................................... 17
2.1 数据分析 ..................................... 17
2.2 功能分析 ..................................... 19
3 系统设计 ....................................... 22
3.1 系统模块结构图 ............................... 22
3.2 功能模块设计 ................................. 23
3.2.1 门诊划价收费 ............................... 23
3.2.2 住院管理 ................................... 24
3.2.3 药品信息管理 ............................... 25
3.2.4 病人信息管理 ............................... 25
3.2.5 统计报表 ................................... 26
3.2.6 系统设置 ................................... 27
3.3 数据库设计 ................................... 28
4 系统实现 ....................................... 32
4.1 数据访问层的实现 ............................. 33
4.2 业务逻辑层的实现 ............................. 34
第 3 页 共
52
页
4.3 功能模块的实现 ............................... 35
4.3.1 登录模块的实现 ............................. 36
4.3.2 门诊收费模块的实现 ......................... 36
4.3.3 住院管理模块的实现 ......................... 37
4.3.4 病人信息管理模块的实现 ...................... 38
4.3.6 报表统计模块的实现 ......................... 43
4.3.7 系统设置模块的实现 ......................... 44
4.4 实现结果与分析 ............................... 46
5 系统测试 ....................................... 47
5.1 测试内容 ..................................... 47
5.2 测试结果与分析 ............................... 48
6 结论 ........................................... 50
1 前言
1.1 课题背景、目的与意义
信息时代已经来临,信息处理的利器——计算机,应用于医院的日常管理,为医院的现代化带来了从未有过的动力和机遇,为医疗卫生领域的发展提供了无限的潜力。信息技术是当前全世界发展的重点技术,是衡量经济发展和社会进步的重要标志。随着科学技术的发展和医院改革的逐步深入,信息化、管理科学化第 4 页 共
52
页
的概念已渗透到医院管理之中,医院的管理模式必须实现由经验管理向信息管理的转变,才能适应现代化医院科学管理的需要。
我国医院的信息处理劳动强度大且工作效率低,医师护士和管理人员的大量时间都消耗在事务性工作上,致使“人不能尽其才”;病人排队等候时间长,辗转过程多,影响医院的秩序;病案、临床检验、病理检查等许多宝贵的数据资料的检索十分费事甚至难以实现;对这些资料深入的统计分析手工方式无法进行,不能充分为医学科研利用;在经济管理上也因而存在漏、跑、错费现象;医院物资管理由于信息不准确,家底不明,积压浪费,以致“物不能尽其用”。开发HIS是解决上述问题的有效途径。HIS系统的有效运行,将提高医院各项工作的效率和质量,促进医学科研、教学;减轻各类事务性工作的劳动强度,使他们腾出更多的精力和时间来服务于病人;改善经营管理,堵塞漏洞,保证病人和医院的经济利益;为医院创造更多的经济效益。
完整的HIS系统实现了信息的全过程追踪和动态管理,从而做到简化患者的诊疗过程,优化就诊环境,改变目前排队多、等候时间长、秩序混乱的局面。如目前多数医院就诊必须经过挂号、等候病历、划价、收费、取药或治疗一系列过程,一个患者少则排3次队,多则5、6次,用于过程性的时间最少在1个小时以上,若实施HIS以后,每个病人用于诊疗的中间过程时间会大幅度减少;假定一家医院门诊人次为2000人次/天,年门诊250天,第 5 页 共
52
页
每人少花费半小时,则日节约1000小时,一年节约36万小时,其产生的社会效益和间接经济效益是明显的。同时HIS的实施也强化了医院内部管理,降低了医护人员的工作强度和时间,伪、冒、漏现象可以解决,也加速了资金周转和减少药品、器械等物资积压。据估计如果全国有2000家医院应用HIS,每年每所医院增收节支、加速资金回笼和周转、堵漏、减少物资积压的回收资金方面的效益按20万元估计的话(实际比这高),则年效益估计为40亿元,十分可观。但这往往不被人所认识。当然建立HIS更主要的还在于它对医院管理、医疗质量和医学研究的长期效应带来的综合效益。HIS的效益远远超出医院本身,因为完整的病人医学记录是医学研究的重要信息资源,这类资源在手工作业环境下,大部分都被抛弃了。
1.2 医院信息管理系统发展历史与现状
国际上医院信息化管理大致可以分为3个阶段。第一个十年,集中在开发医院行政管理的功能上,如财务收费管理、住院病人和门诊病人管理等,但到1972年Collen仍报告美国连一个成功的已完成的全面医院管理计算机系统都没有。第二个十年,在继续完成和实现医院管理信息计算机化的同时,开发者的努力已进入医疗信息的处理领域,如病人医疗处理系统,实验室系统等。到1985年,美国全国医院数据处理工作调查表明,100张床位以上的医院80%实现了计算机财务收费管理、70%的医院可第 6 页 共
52
页
支持病人挂号登记和行政事务管理,25%的医院有了较完整的HIS。最后一个十年至今,研究者又把重点放在了病人床边系统(Bedside Information System)、医学影像处理系统(Picture
Archiving and Communication System,PACS)、病人计算机化病案(Computer Based Patient Record,CPR)、统一的医学语言系统(Unified Medical Language System,UMLS)等方面。医院信息系统正在经历着小型化、智能化和集成化的改造过程。刺激美国医院采用计算机系统的重要因素有:为病人提供更好、更快的服务,提高医院在医疗服务市场上的竞争力,以吸引更多病人到本院就医。人力工资的昂贵,迫使医院采用计算机以提高劳动效率。国家和保险公司为施行预付款制度(Prospective Payment System,PPS)而要求医院及时上交复杂的有关DRGS的报告,迫使医院采用计算机技术。DRGS(诊断相关分组,Diagnosis—Related
Groups)自1983年开始在美国实行,其目的是为了控制不断上涨的老年医疗保险的费用。所谓DRG编码是在国际疾病分类的基础上,再参照疾病的严重程度、个人状态和并发症做出一个编码。每一个编码有对应的费用,医疗保险单位根据这个编码付费。如果医院的费用超出了规定的费用,则由医院自己赔付,相反若低于规定费用则节约的部分归医院所有。我国医院信息系统的研发工作,从20世纪80年代初期算起,至今也有十多年的历史,其中经历了单机单任务的阶段,多机多任务的阶段以及微机网络一第 7 页 共
52
页
体化的阶段,应该承认这期间我们有了很大进步。医院对信息的需求永远是HIS发展的原动力。刺激我国医院广泛采用计算机信息系统的因素主要有:
(1) 医院要强化自身的管理,逐步实现医疗价格评价与按成本收费,实现医院内按成本核算与全面财务计划,并体现在建立和优化医院内合理的分配制度上,为此每个医院都迫切需要建立自己的以财务管理为中心的医院管理信息系统。
(2) 医院要加强医疗服务质量的自我监督、自我控制的能力,为病人提供更快、更好的服务,必然要依赖于计算机信息系统。
(3) 医疗制度的改革正在把病人—医院的二元关系改变为病人—医院—保险机构—政府监督的多元关系。大量的有关病人的诊断、治疗、用药、资源消耗的信息不仅在院内而且要在许多部门之间流通、传递,这将是一件难以用手工完成的繁杂的任务。
(4) 每个医院的信息系统是全国或地区性医疗信息网络的基础,医疗信息网络即所谓“金卫”工程,是我国国民经济信息化的重要组成部分,必然要与“金桥”、“金卡”等国民经济信息网络相连接。
(5) 建立以计算机化病人病历CPR为核心的HIS会成为已初步建立医院管理信息系统的那些医院的下一个努力目标。
第 8 页 共
52
页
1.3 结构概述,技术及相关工具介绍
1.3.1 JSP概述
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。
JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet第 9 页 共
52
页
和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。
JSP可用一种简单易懂的等式表示为:HTML+Java=JSP。
1.3.2 JSP的新特性
JSP 2.0的新功能主要包括下面几部分:
(一)运行环境变化
1、格式变化
我们知道JSP 1.2可以在Java 2标准版1.3版本运行,而JSP
2.0要求使用Java 2标准版1.4或更新版本,JSP 2.0使用由Servlet
2.4规定的Web程序部署描述格式。
在Web程序描述文件中需要使用xml schema打头的格式。在中主要的变化是所有有关JSP的设置信息要放在标记中。
2、JSP设置
在标记提供了Web程序中JSP程序的设置信息。包括<
taglib>和两类元素。定义了Web程序使用的 custom tag,它的用法和以前JSP 1.2中的用法相同。定义了一组JSP的特性。这些第 10 页 共
52
页
特性实际上对应JSP的page directive定义的特性。通过只不过可以方便地对多个具有相同属性的JSP统一定义。定义一个或多个URL样式,在中定义的属性会适用于匹配这些URL样式的所有JSP文件。
(二)引入表达式语言(EL)
JSP 2.0的一个主要特点是它支持表达语言(expression
language)。JSTL表达式语言可以使用标记格式方便地访问JSP的隐含对象和JavaBeans组件,JSTL的核心标记提供了流程和循环控制功能。自制标记也有自定义函数的功能,因此基本上所有seriptlet能实现的功能都可以由JSP替代。在JSP 2.0中,建议尽量使用EL而使JSP的格式更一致。在的中可以控制一组JSP是否使用EL,在每个JSP中也可以指定是否该JSP使用EL。在page directive中的isELIgnored属性用来指定是否忽略。格式为:如果设定为真,那么JSP中的表达式被当成字符串处理。比如下面这个表达式${2000 % 20}在isELIgnored="true"时输出为${2000 % 20},而isELIgnored="false"时输出为100。Web容器默认isELIgnored="false"。虽然JSP 2.0可以使JSP中完全使用表达语言而避免scriptlet,在实际编程中,应该根据程序的功能要求和编程人员的自身条件选择合适的方式。使用表达语言的JSP比较方便规整,但是由于需要将标记进行转换,在第一次被调用时会比较慢;有些编程人员由于对Java比较了解,因而更习惯JSP
第 11 页 共
52
页
1.2之前的编程方式,因此,在使用中应因地制宜地选择适用的编程方法。
(三)SimpleTag
JSP 2.0中加入了新的创建自制标记的API,Tag定义了用来实现简单标记的接口。和 JSP 1.2中的已有接口不同的是,SimpleTag接口不使用doStartTag()和doEndTag()方法,而提供了一个简单的doTag()方法。这个方法在调用该标记时只被使用一次。而需要在一个自制标记中实现的所有逻辑过程、循环和对标记体的评估等都在这个方法中实现。从这个方面来讲, SimpleTag和IterationTag可以达到同等的作用。但SimpleTag的方法和处理周期要简单得多。在SimpleTag中还有用来设置JSP内容的seUspBody()和getJspBody()方法。Web容器会使用setJspBody()方法定义一个代表JSP内容的 JspFragment对象。实现SimpleTag标记的程序可以在doTag方法中根据需要多次调用getJspBody().invoke()方法以处理JSP内容。
(四)使用JSP fragment
JSP2.0中的一个主要功能是JSP fragment,它的基本特点是可以使处理JSP的容器推迟评估JSP标记属性。我们知道一般JSP是首先评估JSP标记的属性,然后在处理JSP标记时使用这些属性,而JSP fragment提供了动态的属性。也就是说,这些属第 12 页 共
52
页
性在JSP处理其标记体时是可以被改变的。JSP需要将这样的属性定义为 gment类型。当JSP标记设置成这种形式时,这种标记属性实际上的处理方法类似于标记体。在实现标记的程序中,标记属性可以被反复评估多次。这种用法称为JSP fragment。JSP fragment还可以定义在一个SimpleTag处理程序中使用的自制标记动作。像前面例子说明的,getJspBody返回一个 JspFragment对象并可以在doTag方法中多次使用。需要注意的是,使用JSP fragment的JSP只能有一般的文本和JSP action,不能有scriptlet和scriptlet表达式。
我们可以简单地认为JSP fragment是一段可以重复使用的JSP。一段JSP fragment可以被传递到另一个JSP中并被使用。与JSP include概念不同的是,JSP fragment一般功能比较短小简单而且重复使用率高。
JSP fragment一般在标记体内或标记体内定义。每次当含有JSP fragment的标记被使用时,Web容器生成一个JspFragment对象,这个对象和当前JSP的page scope联系起来。同时,这个JspFragment对象和包含它的父标记建立联系。JspFragment对象可以有两种调用方式:使用Java编写的标记处理程序,或者使用标记文件(tag file)。标记文件可以使用,或者动作使用JSP
fragment。 JSP标记文件可以和JSP fragment共同工作。CustomTag都是以编程方式实现的。JSP标记文件是用文本文件第 13 页 共
52
页
格式(JSP语法)实现自制标记,这也是JSP 2.0的一个主要新功能。一个标记文件可以对应一个标记,可以不需tld文件定义该标记的方法。这样,即使编程人员不熟悉Java,也可以使用JSP语法定义自己的标记。标记文件一般使用.tag为后缀并放在Web程序的/WEB-INF目录下。
(五)其他特性
JSP2.0还有一些其他特性变化,比如严格修正了I18N的语法规则,改进JSP对应XML语法从而允许使用namespaces等。
1.3.3 SQL Server 2005
SQL Server 2005数据库在SQL Server 2000的基础上上升了一个档次,尤其是在数据分区、可编程性、语言增强以及安全上都有长足的进步;但也保留了SQL Server 2000原来具有的优点。从借助浏览器实现的数据库查询功能到内容丰富的扩展标记语言(XML)支持特性均可有力地证明:SQL Server 2005全面支持Web功能的数据库解决方案。与此同时,SQL Server 2005还在可伸缩性与可靠性方面保持着多项基准测试纪录,而这两方面特性又都是企业数据库系统在激烈市场竞争中克敌致胜的关键所在。无论以应用程序开发速度还是以事务处理运行速度来衡量,SQL Server 2005都堪称最为快捷的数据库系统。
高度的人性化使SQL Server 2005有着优秀的可编程性,几乎是变革性的提升;如CLR(Common Language Runtime,公共语言运第 14 页 共
52
页
行时)集成。你可以轻松利用.NET语言的优势如其面向对象的封装、继承和多态特性,编写出那些需要对数据进行复杂数值计算或逻辑的代码,如字符串处理,数据加密算法,XML数据操作等等。所以这样的优势使得使用它的开发商几乎会立即升级到SQL
Server 2005 享受数据库编程的便捷。
1.3.4 MyEclipse
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,
Struts, JSF, CSS, Javascript, SQL, Hibernate。
在结构上,MyEclipse的特征可以被分为7类:
1. JavaEE模型
2. WEB开发工具
3. EJB开发工具
4. 应用程序服务器的连接器
5. JavaEE项目部署服务
6. 数据库服务
7. MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功第 15 页 共
52
页
能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。
1.3.5 Apache Tomcat
Apache是普通服务器,本身只支持html即普通网页。不过可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)。Apache只支持静态网页,但像asp,php,cgi,jsp等动态网页就需要Tomcat来处理。 Apache和Tomcat整合使用:如果客户端请求的是静态页面,则只需要Apache服务器响应请求;如果客户端请求动态页面,则是Tomcat服务器响应请求;因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销 。
1.3.6 Struts2.0
虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts 1而言。Struts 2 与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名第 16 页 共
52
页
的框架:WebWork基础上发展起来的。从某种程度上来讲,Struts2没有继承Struts 1的血统,而是继承WebWork的血统。或者说,WebWork衍生出了Struts2,而不是Struts 1衍生了Struts2。因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了Struts 1和WebWork两者的优势,因此,是一个非常值得期待的框架。
Apache Struts2是一个优雅的,可扩展的JAVA EE web框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。
Apache Struts 2即是之前大家所熟知的WebWork 2。在经历了几年的各自发展后,WebWork和Struts社区决定合二为一,也即是Struts 2
2 系统需求分析
当今,大部分医院仍采用传统的C/S模式医院信息管理系统(Hospital Information Management System,HIMS),随着网络技术的不断发展及企业的网络化,这种模式下的C/S系统很难与医院Intranet以及外部Internet集成起来,减慢了医院的信息化发展。相比之下,采用B/S模式组建的三层体系Web应用系统因具有良好的开放性、易维护性和易升级等特点而逐渐成为组建管理信息系统的首选。
2.1 数据分析
第 17 页 共
52
页
本系统管理的数据信息主要有:
病人(病人住院号,姓名,性别,年龄,出生日期,病历)
手术(手术方式,手术日期,手术时间,手术记录,出血量,输血量,复查情况,备注信息,手术图像)
手术图像(术前影像CR,术前影像CT,术前影像MR,术后影像CR,术后影像CT,术后影像MR,复查影像CR,复查影像CT,复查影像MR)
住院(病人住院号,病房信息,住院日期,住院押金)
药品(药品名称,药品规格,药品单位,药品价格,生产厂家,药品有效期,药品数量)
员工(职工编号,职工姓名,联系电话,家庭住址,学历,部门,职位)
本系统的部分E-R图如下:
姓名
性别
年龄
住址
病历
出生日期 总价 日期
库存量
售价 进价
生产厂家
病人信息
n
收费
m
药品信息
编号 数量 医保类型 编号
名称
有效日期
规格
单位
图3.1 门诊划价收费E-R图
第 18 页 共
52
页
姓名
性别
年龄
住址
病历
编号
住院日期
编号
类型
病人信息
n
住院
1
病房信息
床位数
住院日期
出生日期
剩余床位数
图3.2 住院管理E-R图
2.2 功能分析
本系统主要业务内容如下:
门诊划价收费模块
包括门诊处方划价收费、收费查询、退费功能。开放所有权限给管理员,使其对上述所有数据都具有添加、删除、修改的功能。
门诊划价收费
划价收费收费查询退费管理
图3.3 门诊划价收费结构图
住院管理模块
提供对“入住医院病人”数据的输入、查询、以及预交押金。根据各科室病床的空缺情况对其进行统计分配。主要包括病人入院第 19 页 共
52
页
登记和办理出院,为病人提供费用信息查询。
住院管理
办理入院办理出院床位管理 图3.4 住院管理模块结构图
药品管理模块
提供对“药品”数据的输入、查询,同时根据相应药品的库存量进行出库入库的实现。
药库管理模块:包括药品人库/出库管理、门诊处方发药/退药处理、查询、盘点等功能。开放所有权限给管理员,使其对上述所有数据都具有添加、删除、修改的功能。
药品管理
图3.5 药品管理模块结构图
病人信息管理模块
提供对病人基本信息和病人手术信息的输入、查询。 提供对手第 20 页 共
52
页
药房发药药品退回
药品信息管理
术图像信息的管理。
开放所有权限给管理员,使其对上述所有数据都具有添加、删除、修改的功能。
病人信息管理
病人基本信息管理
病人手术信息管理手术图像信息管理综合信息查询
图3.6 病人信息管理模块结构图
统计报表模块
对医院门诊部门、住院部门、药房进行工作量统计,可进行日报及年报,可以按照时间对门诊进行账目统计、汇总查询。
统计报表
日报表查询
年报表查询阶段信息查询
图3.7 统计报表模块结构图
系统设置模块
对系统基本信息进行设置,例如:部门类型、手术类型、医保类第 21 页 共
52
页
型、医生信息等。
对系统操作员进行设置,允许用户修改密码。对数据库进行备份和恢复。
系统设置
基础信息设置数据备份和恢复操作员设置修改密码
图3.8 系统设置模块结构图
3 系统设计
3.1 系统模块结构图
根据系统分析的结果,得到医院信息管理系统的系统模块结构图,该系统划分为六个模块:门诊划价收费、住院管理、药品管理、病人信息管理、统计报表、系统设置。每个模块又进一步划分出各自的子模块。
系统模块结构如图4.1所示:
第 22 页 共
52
页
医院信息管理系统
门诊划价收费住院信息管理药品信息管理病人信息管理统计报表管理系统综合设置3.2 功能模块设计
3.2.1 门诊划价收费
门诊划价收费模块是用于处理医院门急诊划价和收费的模块,包括门诊划价收费、退费、统计等功能。
门诊收费模块的功能如下:
划价收费
支持从网络系统中自动获取或直接录入患者收费信息,包括:患者姓名、病历号、结算类别、医疗类别、临床诊断、医生编码,开处方科室名称、药品/诊疗项目名称、数量等收费有关信息,系统自动划价,输入所收费用,系统自动找零。
收费查询
对门诊收费历史进行查询。可按多种条件查询:
按单据号查询;
按日期查询;
按医生姓名查询;
第 23 页 共
52
页
图4.1 系统模块结构图
按科室名查询;
退费管理
首先,输入需退费发票号码后在费用窗口中显示所有可退费用,点击退费按钮即可完成退费。
3.2.2 住院管理
住院管理模块是用于医院住院患者登记管理的模块,包括办理入院、床位管理、办理出院等功能。
住院管理功能如下:
办理入院
对住院病人进行登记。如果病人是第一次到医院就诊,则为该病人建立档案,分配一个新的编号(病人的唯一标识,也即病人住院号);若存在该病人的档案,则直接给该病人分配床位即可。分配床位前,要先查看病房床位信息,判断是否有空房。若有,则为病人分配床位;若没有,给出提示信息。
办理出院
将出院病人的状态设置为出院,对住院期间的医疗费用进行结算,同时将出院病人的床位设置为空。
床位管理
设置医院的病房床位信息。系统管理员可以增加,修改和删除床位信息。普通用户只能查询床位信息,并给住院病人分配床位。
第 24 页 共
52
页
3.2.3 药品信息管理
药品管理模块是用于协助整个医院完成对药品管理的模块,其主要任务是对药库、药品价格、药品会计核算等信息的管理以及药品的进货,退货管理等。
药品管理模块功能如下:
药房发药
自动获得取药信息。在门诊收费处交过费用后,将在此页面中产生所有待发药信息。发药前,先检查该药库存信息,如果该药库存量为零则给出提示信息;如果库存数量低于给定值则给出缺货警告;否则给病人发药。发药完成后,同时减少药品库存量。
药品退回
记录药品退回信息,增加相应药品的库存量。
药品信息管理
系统管理员可以对药品信息进行查询,添加,删除和修改;普通用户只能对药品信息进行查询和添加。可按照药品编号,药品名称查询药品信息。
3.2.4 病人信息管理
病人信息管理功能如下:
病人基本信息管理
系统管理员可以对病人信息进行查询,添加,删除和修改;普通用户只能对病人信息进行查询和添加。可按照病人编号,姓第 25 页 共
52
页
名查询病人信息。
病人手术信息管理
系统管理员可以对病人手术信息进行查询,添加,删除和修改;普通用户只能对病人手术信息进行查询和添加。手术图像信息比较多,因此将其单独作为一个模块进行管理。
手术图像信息管理
手术相关图像的管理,包括上传图片,修改图片信息,删除图片。
综合信息查询
主要是针对病人手术信息的查询。可以按多种方式进行查询:
按病人住院号查询;
按病人姓名查询;
按各种影像号查询;
按诊断信息查询;
按分型查询;
按手术方式查询。
3.2.5 统计报表
该模块对医院门诊部门,住院部门,药房进行工作量统计,并打印输出。
统计报表功能如下:
日报表查询
第 26 页 共
52
页
对医院门诊部门,住院部门,药房某天的工作量进行统计,并打印输出。
年报表查询
对医院门诊部门,住院部门,药房某年的工作量进行统计,并打印输出。
阶段信息查询
对医院门诊部门,住院部门,药房某一段时间的工作量进行统计,并打印输出。
3.2.6 系统设置
系统设置模块主要对本系统的一些辅助功能进行设置。包括基础信息设置,操作员设置,数据备份和恢复以及修改密码功能。
系统设置功能如下:
基础信息设置
包括职位类型设置,部门设置,手术类型设置,医保类型设置,医生信息设置。并有系统管理员对上述信息进行添加,删除和修改。
数据备份和恢复
对本系统的所有数据进行定期的备份。在系统出问题时,还可以进行数据恢复。
操作员设置
设置本系统的操作人员。操作人员共分为两类:管理员和普第 27 页 共
52
页
通用户。管理员拥有本系统内的所有权限,普通用户只能对本系统的数据进行查看,添加,而不能对其进行修改和删除。在该模块中,对系统操作员进行添加,删除和修改权限。
修改密码
登录操作员可以对自己的密码进行修改,普通用户只能修改自己的密码。
3.3 数据库设计
数据库设计的主要任务是根据系统分析得到的数据流图,建立系统的实体关系模型。设计得到的医院信息管理系统数据库表如下(限于篇幅,本文只列出几个主要的表):
病人信息表(HIS_PatientInfo) ----记录病人的基本信息(如表4.1所示)
表4.1 病人信息表
字段名称 字段类字段大描述
型
PatientID
PatientName
PatientSex
PatientAge
PatientAdress
char
char
char
int
小
10
10
10
4
病人ID(住院号)
病人性别
病人性别
病人年龄
病人住址
出生年月
varchar 50
10 PatientBirthday char
第 28 页 共
52
页
CaseHistory ntext 16 病人病史
病人手术信息表(HIS_OperationInfo)----记录病人的手术信息(如表4.2所示)
表4.2 病人手术信息
字段名称 字段类型 字段描述
大小
OperationID
ImgID
PatientID
OperateTypeID
char
int
char
int
10
4
10
4
手术ID
手术图像编号
病人ID(住院号)
手术类型
手术时间
手术记录
输血量
出血量
复查情况
备注
主刀医师编号
OperateDatetime smalldatetime 4
OperateRecord
InBloodCount
OutBloodCount
ReExamine
Other
DoctorNO
text
int
int
text
text
char
16
4
4
16
16
10
药品信息表(HIS_DrugInfo)----记录药品信息(如表4.3所示)
表4.3 药品信息
字段名称 字段类型 字段描述
大小
第 29 页 共
52
页
DrugID
DrugName
DrugNorm
DrugUnit
DrugInPrice
DrugOutPrice
DrugCompany
char
varchar
char
char
money
money
varchar
10
50
10
10
8
8
50
4
4
药品编号
药品名称
药品规格
药品单位
药品进价
药品售价
药品生产厂家
库存数量
药房药品数量
药品有效期
DrugInStockCount int
DrugInDstockCount int
DrugValidDate smalldatetime 4
医生信息表(HIS_Doctor)----记录医生基本信息(如表4.4所示)
表4.4 医生信息表
字段名称 字段类型 字段大描述
小
DoctorID
DoctorNo
DoctorName
DoctorTel
int
char
char
char
4
10
10
10
50
10
第 30 页 共
52
页
医生ID
医生职工号
医生姓名
医生电话
医生地址
医生学历
DoctorAddress varchar
DoctorEdu char
PostID
DepID
int
int
4
4
医生职务
医生所在科室
操作员信息表(HIS_Users)----记录操作员信息(如表4.5所示)
表4.5 操作员信息表
字段名称 字段类型 字段大描述
小
UserID
UserName
UserPwd
UserRole
int
char
char
char
4
10
10
10
操作员ID
操作员名称
操作员密码
操作员权限
门诊收费表(HIS_Doctor)----记录门诊收费信息(如表4.6所示)
表4.6 门诊收费表
字段名称 字段类型 字段大描述
小
ChargeID
DrugID
DrugCount
DiscountID
int
char
int
int
4
10
4
4
收费ID
收费项目ID
收费项目数量
打折类型(医保费用类别)
ChargeTotal money 8
第 31 页 共
52
页
收费总额
PatientID smalldatetime 4 收费日期
进货表(HIS_BuyInfo)----记录进货信息(如表4.7所示)
表4.7 进货表
字段名称 字段类型 字段大描述
小
BuyID
DrugID
BuyDate
BuyCount
int
char
4
10
进货单编号
所进药品
进货日期
进货数量
smalldatetime 4
int 4
进货表(HIS_BuyInfo)----记录进货信息(如表4.8所示)
表4.8 进货表
字段名称 字段类型 字段大描述
小
BuyID
DrugID
BuyDate
BuyCount
4 系统实现
系统利用Microsoft Visual 2005作为开发工具,对上述各功能模块进行了设计与调试。
第 32 页 共
52
页
int
char
4
10
进货单编号
所进药品
进货日期
进货数量
smalldatetime 4
int 4
4.1 数据访问层的实现
数据访问层的任务就是打开连接,然后创建命令对象,给命令对象的CommandText属性设置值,可以是存储过程名字,也可以是SQL语句。然后就调用执行命令的方法,得到结果后返回。本系统将数据库访问的代码封装到了一个类中,这个类是,类中的方法都是静态的,可以直接调用。它专门负责访问数据库,这样本系统的各模块的实现只需要调用这个类,就可以取得数据库中的数据。
系统中每一个模块的实现都需要在数据层中做相应的声明,例如添加病人手术信息中,当用户输入病人手术信息时,需要将数据提交给手术信息类HIS_,这一个业务需要在数据层中声明一个方法Add (),然后在业务逻辑层中调用数据层中的这个方法。
数据层中操作数据库的类如图5.1所示:
第 33 页 共
52
页
图5.1 数据层中的类
4.2 业务逻辑层的实现
业务逻辑层封装了数据传输和一些具体算法,用来完成表示层的请求,接受从表示层传递的参数,封装表示层需要的、从数据层返回的数据以及建立中关系数据的完整性,主外键约束等。如病人手术信息模块,当需要将病人手术信息数据提交给手术信息类的时候,就需要在业务层中调用相关方法,业务层再通第 34 页 共
52
页
过数据层中的Add()这个方法进行操作数据库,就可以完成手术信息存入数据库这一过程。
业务逻辑层的类如图5.2所示:
图5.2 业务逻辑层中的类
4.3 功能模块的实现
本系统的界面表现层用的是web窗体,通过它来负责和用户的交互。在本层中运用Visual Studio 2005提供的各类控件,来实第 35 页 共
52
页
现形式各样的显示效果,结合Dreamweaver强大的美化功能,弥补了Visual Studio在界面上的操作不足。
限于篇幅,本文仅详细介绍了各个模块中的主要部分的具体实现。还有一些功能类似的页面,本文也只详细介绍了一次。
4.3.1 登录模块的实现
该模块的主要功能是实现用户登录。用户登录后,该用户的姓名、权限类型将被保存在Cookie中,在系统中用到权限判断时,再从Cookie中将用户信息读取出来。
用户登录页面如图5.3所示:
图5.3 用户登录页面
4.3.2 门诊收费模块的实现
该模块包括划价收费,退费管理和收费查询三个子模块。本文仅对划价收费模块的具体实现进行详细介绍。
第 36 页 共
52
页
划价收费模块的主要功能是实现对病人的收费项目进行划价,并完成收费;另外还有付款的自动找零功能。当用户输入病人信息,医生信息和收费项目信息的时候,只需输入病人编号,医生编号和收费项目名称,系统将自动读取其他信息并显示。在输入病人编号,医生编号和收费项目名称的时候,用到了AutoComplete控件,该控件是Ajax工具包中的输入提示控件,当用户输入前几个字符时,该控件找出数据库中所有以这些字符开头的数据提示给用户,供用户选择。
划价收费页面如图5.4所示:
图5.4 划价收费页面
4.3.3 住院管理模块的实现
该模块主要包括办理入院,办理出院和病房管理三个子模块。本文仅对办理入院模块的具体实现进行详细介绍。
在办理入院模块,用户输入病人住院号后,系统会自动显示病人第 37 页 共
52
页
姓名,如果不存在该病人,系统将提示用户添加该病人信息。另外,该页面中的病房号可选项中都是有空床位的病房,如要查询病房详细信息,可以到病房管理页面查看。
办理入院页面如图5.5所示:
图5.5 办理入院页面
4.3.4 病人信息管理模块的实现
该模块主要包括病人基本信息,病人手术信息,手术图像信息,综合信息查询三个子模块。本文仅对病人手术信息模块进行详细说明。
在病人手术信息页面中,使用DataGrid控件显示收入信息列表。选择要删除的信息,点击“删除信息”按钮即可删除选择的所有信息。手术记录,复查情况和备注三项的内容有可能很长,因此系统中用CSS限制了这三项的列表宽度,超过列表宽度的内容用第 38 页 共
52
页
省略号代替。具体代码如下:
style=“overflow:hidden;
word-break:keep-all;
white-space:nowrap;
text-overflow:ellipsis;
width:70px;”
病人手术信息页面如图5.6所示:
图5.6 病人手术信息管理页面
点击“新建信息“按钮进入添加手术信息页面。该页面分为基本信息和图像信息两部分,同一条手术信息可以同时上传多张图片。本系统中定义了一个数组变量imgNOs来记录上传图片的编号,每种类型的图片对应一个数组中的一项。
添加手术信息页面,如图5.7和5.8所示:
第 39 页 共
52
页
图5.7 添加手术信息页面(基本信息)
图5.8 添加手术信息页面(图像信息)
点击列表中的手术编号可进入手术信息修改页面,如图5.9所示:
第 40 页 共
52
页
图5.9 修改手术信息页面
点击列表中的手术图像编号,可进入手术图像修改页面,如图5.10所示:
图5.10 修改图像信息页面
第 41 页 共
52
页
4.3.5 药品信息管理模块的实现
该模块包括药房发药,进货管理,退货管理,药品信息管理四个子模块。本文仅详细介绍进货管理和药品信息管理两个子模块。
进货管理模块的主要功能是实现医院在采购药品时,对购货单据信息进行保存。在进货管理页面中,用到了面板Panel控件,该控件在页面加载时是隐藏的。当用户点击“新建信息”按钮时才显示出来,点击“关闭”按钮即可关闭面板。
进货管理页面如图5.11所示:
图 5.11 进货管理页面
药品信息管理模块主要实现药品信息的添加,删除和修改。其具体实现方法与手术信息管理页面基本相同,只有修改信息功能是采用DataGrid自带的编辑功能。
第 42 页 共
52
页
药品信息管理页面如图5.12所示:
图5.12 药品信息管理页面
4.3.6 报表统计模块的实现
该模块包括日报表查询,年报表查询,阶段信息查询三个子模块。本文仅详细介绍年报表查询模块。
年报表模块的主要功能是实现对门诊,药房和病房的工作量的统计,并可对报表进行打印及输出到Excel。在具体实现该模块的时候,用到了Crystal报表,并使用了报表自带的打印和导出到Excel功能。
年报表查询页面如图5.13所示:
第 43 页 共
52
页
图5.13 年报表查询页面
4.3.7 系统设置模块的实现
该模块主要包括基础信息设置,数据库备份和恢复,操作员设置和修改密码四个子模块。本文仅详细介绍数据库备份和恢复,操作员设置两个模块。
数据库备份和恢复模块主要完成对系统数据库所有数据的备份和恢复。备份数据库的代码如下:
public int DataBackup(string savePath)
{
string sqlStr = "backup database HIS to
disk='" + savePath + "'";
int result= eSql(sqlStr);
第 44 页 共
52
页
return result;
}
还原数据库的代码如下:
public int DataRestore(string savePath)
{
string sqlStr = "use master restore database
HIS from disk='" + savePath + "' with replace";
int result = eSql(sqlStr);
return result;
}
变量savePath是从页面表现层传进来的数据库备份路径。
数据库备份和恢复页面如图5.14所示:
图5.14 数据库备份和恢复页面
第 45 页 共
52
页
操作员设置模块的主要功能是实现对系统操作员信息的添加,删除和修改。系统的操作权限有两种:管理员和普通用户,管理员可以对系统所有功能进行操作,而普通用户只能进行信息的查询。
操作员设置页面如图5.15所示:
图5.15 操作员设置页面
4.4 实现结果与分析
在系统设计与实现过程中,由于本人能力和时间问题,只完成了门诊划价收费,住院管理,病人信息管理,药品管理,报表查询和系统设置这几个模块的基本功能。但是本系统所有功能都可以正常运行。
在界面方面本人运用Dreamweaver,对各个功能模块界面进行设第 46 页 共
52
页
计,然后将其复制到VS2005中,进行后台代码的编写。通过添加事件函数代码,触发控件事件来执行代码,完成相应系统功能。数据库方面主要把常用数据操作创建为存储过程,以方便代码中的调用,这样不仅能减少系统运行时的数据操作反应时间,也可显著提高了系统的整体性能。
一个完整的医院信息管理系统是相当复杂的,本系统对医院信息有一定的管理能力,但由于需求分析没有做好,个人设计和实现的能力也存在一些不足之处,本系统并不能完全运用于现实医院中,所以要完成一个功能完全的医院信息管理系统,还需对现在医院发展的实际情况进行进一步的了解,并进行更加深刻的分析,把系统需求分析部分做好了,才能设计出更加完善、符合实际要求的医院管理系统。
5 系统测试
5.1 测试内容
由于测试内容很多,限于篇幅,本文只对登录模块的测试进行介绍。每个模块的测试方法大致相同,因此不再赘述。
测试模块:
用户登录模块
测试用例:
管理员----用户名 zijiaxing 密码 198515
普通用户----用户名 iljxing 密码 198515
第 47 页 共
52
页
其他----用户名 jiaxing 密码 111111
测试结果:
正常登录。该用户可以对系统所有页面进行访问操作。
正常登录。该用户可以对系统部分页面进行访问操作。
出现错误信息。如图6.1所示:
图6.1 登录错误提示
5.2 测试结果与分析
本系统只实现了一个完整的医院管理系统的部分功能,已实现的功能现在已全部测试完成,大部分功能都可以正常运行,只有报表的导出和打印功能尚未实现,估计是报表与系统中的其他代码存在冲突,致使报表的导出和打印功能不能使用,因此可能的解决方案有更改程序中的冲突代码或者修改报表。
系统出错时,会在合适的时机给出错误提示信息,以便于用户进第 48 页 共
52
页
行正确的操作,使系统更加人性化。
第 49 页共
52
页
版权声明:本文标题:基于JSP的医院信息管理系统 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1709765537a545737.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论