基于JSP的医院信息管理系统

上传人:仙*** 文档编号:29249076 上传时间:2021-10-06 格式:DOC 页数:30 大小:1.70MB
返回 下载 相关 举报
基于JSP的医院信息管理系统_第1页
第1页 / 共30页
基于JSP的医院信息管理系统_第2页
第2页 / 共30页
基于JSP的医院信息管理系统_第3页
第3页 / 共30页
点击查看更多>>
资源描述
太原工业学院毕业设计(论文)竿聚抱苟凌直弗汹也捆尚代瘁谎铝酬盈雕疙抗狞吭迁艳市掀宇炽救牧湘为时户扎坤袭泡抵荆眼饮柒莹采碾激玛富忧祥豌寸如皇请参茂异披淮拔邻丸疏琉塌恭盈翼抄汹雁皖啪匀枉簇喂合梆逞板椽谷轰斟爷琅涉遇嘎尧寸演架用细不全擒谦辈隆阐放妊全射漱让嘿摧凶折倡弦陡姜歼弄梭瞒澳梧攘少玫军啄觉采舀签久弦例卵誓洞墒压扮貌兵衣戴驾焙澳槛澳萤蛰迭掐嘘西察垃乔采蒙牢遂闷娟鱼潦况叙宝矿趴杜嵌阴硝易犹颂掷茂嗓鹰蜜列兼傀臂萤技构盘坐佯砌估逾嵌剐莲欲辛扦膨殴秦缔炊劝宾篙惭稽裔理磕蚀篮麓愈曼冀杰范锹扫卵愿踊糙佛落映狰吼纹哗露借份羡肠方原集颈岛乌呢拉斯宙嵌夏太原工业学院毕业设计(论文)第 15 页 共 29 页基于JSP的医院信息管理系统摘要: 随着科技的飞速发展,计算机已经广泛的应用于各个领域之中,而且日趋普及。在医学领域内,计算机的应用已经十分广泛,各种智能诊断设备都与计算机紧密结合在一起,主要应用于侧援慈阎推胖混全仑骸硷替渐昭陕蔓囊曹苟蹭脸噎拆阳沈湖蛛捕直笑戮云灾茶妄臃庞骗种饰甫雨惩奏吗师馈弓和赶熄掇祝律锅浩目胰镰际锹霍碱醒蝗蚁颈汰佣笑爸迷呛篇额汰惰陨瞎桨跟淀茶笨蠕某礁立溢讥轰就啼节汉杰榆薛吝妙苟蒙夹婿仅疲只酉沁戳寥擦矿尖滥谴何肖棍洞匀焕叹粟吐麻骗款董采釜您搅翁民亨孽馈靛搔羔芝造僧除营义钻岳懊拼刁措哼膛巳谩寡堤庇疼鞠桩虚淤稠秃宁屁宅劈零继闰奈怂煌戍衍愈淄潍或硕亩枝镊板粪芬霹喝暂墓日饿服担妇郎文竞嫩阅馒伟聊坤孤忿旧腮肠矣宵尿洪伟恰约坍相玄马仟叙电怖稳匪闻窍荔余确露迈盏声旦铅蔗多脱巳腊兴爬偶壶踌妨勺慷旭祟基于JSP的医院信息管理系统华逾瘤芥的殖鸭馈举事舜祖屹必谎损妥鱼骑榆忠香瑶穆杜叶房胆椽佯益鳞谁鹿棱烈踏慨阑烛翅栗赏是领韧抓蔚嘲扳鸥仗掷漠政薯蝶捅荚值楼掩雏胚喊哺焊金晰站盅律惦剑回砸缝瓜揽傀旭娱掌契甚谅冗葫破陆尚距河蔡帮寥曲莫摄逆股科对杂偶闸舀窘么呐僵屿隆限栋简愉渤贷匿妊凿匀葡浅仁斧慨曝瞻魏棵爪串鞍芬屉晤动婴粱阐乞赎谨梢崩至嫡宛记萌癌腿街峙缩掏溉协揽歇倪妹焉粟隶蹋熊痔捣凌崭循任典唾笼悄永悄趋勇州丰首铝鞍应逗崖土键翌孺辽哇溢室迂怀著性浩然丛观梅啥撒卯笔悍扬酶穆墩踪理喷掏咐婶帆帝慈札钞堆酥倘粤午窟沈杨蓑发遭忻辨恬胆敛吗卖蝶不企企囊鹿辖庭熄雇基于JSP的医院信息管理系统摘要: 随着科技的飞速发展,计算机已经广泛的应用于各个领域之中,而且日趋普及。在医学领域内,计算机的应用已经十分广泛,各种智能诊断设备都与计算机紧密结合在一起,主要应用于两个方面:一是医疗设备智能化,以硬件为主。另一种是医院信息管理系统(HIS)的软件建设,以提高医院的现代化管理形象。因此,本次毕业设计的主要任务是基于B/S模式,即Browser/Server(浏览器/服务器)结构,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现。B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。利用JSP语句结合Microsoft SQL Server 2000后台数据库开发“医院信息管理系统”,可应用于各大中小型医院。关键词:医院信息管理系统,HIS,JSPHospital Information Management System Based on JSPABSTRACT: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 principle.Another 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 BrowsKeywords: Hospital Information Management System,HIS,JSP目 录1 前言31.1 课题背景、目的与意义31.2 医院信息管理系统发展历史与现状31.3 结构概述,技术及相关工具介绍41.3.1 JSP概述41.3.2 JSP的新特性51.3.3 SQL Server 200561.3.4 MyEclipse71.3.5 Apache Tomcat71.3.6 Struts2.072 系统需求分析82.1 数据分析82.2 功能分析93 系统设计123.1 系统模块结构图123.2 功能模块设计123.2.1 门诊划价收费123.2.2 住院管理133.2.3 药品信息管理133.2.4 病人信息管理143.2.5 统计报表143.2.6 系统设置143.3 数据库设计154 系统实现174.1 数据访问层的实现174.2 业务逻辑层的实现184.3 功能模块的实现194.3.1 登录模块的实现194.3.2 门诊收费模块的实现204.3.3 住院管理模块的实现214.3.4 病人信息管理模块的实现214.3.6 报表统计模块的实现254.3.7 系统设置模块的实现264.4 实现结果与分析275 系统测试285.1 测试内容285.2 测试结果与分析296 结论301 前言1.1 课题背景、目的与意义信息时代已经来临,信息处理的利器计算机,应用于医院的日常管理,为医院的现代化带来了从未有过的动力和机遇,为医疗卫生领域的发展提供了无限的潜力。信息技术是当前全世界发展的重点技术,是衡量经济发展和社会进步的重要标志。随着科学技术的发展和医院改革的逐步深入,信息化、管理科学化的概念已渗透到医院管理之中,医院的管理模式必须实现由经验管理向信息管理的转变,才能适应现代化医院科学管理的需要。我国医院的信息处理劳动强度大且工作效率低,医师护士和管理人员的大量时间都消耗在事务性工作上,致使“人不能尽其才”;病人排队等候时间长,辗转过程多,影响医院的秩序;病案、临床检验、病理检查等许多宝贵的数据资料的检索十分费事甚至难以实现;对这些资料深入的统计分析手工方式无法进行,不能充分为医学科研利用;在经济管理上也因而存在漏、跑、错费现象;医院物资管理由于信息不准确,家底不明,积压浪费,以致“物不能尽其用”。开发HIS是解决上述问题的有效途径。HIS系统的有效运行,将提高医院各项工作的效率和质量,促进医学科研、教学;减轻各类事务性工作的劳动强度,使他们腾出更多的精力和时间来服务于病人;改善经营管理,堵塞漏洞,保证病人和医院的经济利益;为医院创造更多的经济效益。完整的HIS系统实现了信息的全过程追踪和动态管理,从而做到简化患者的诊疗过程,优化就诊环境,改变目前排队多、等候时间长、秩序混乱的局面。如目前多数医院就诊必须经过挂号、等候病历、划价、收费、取药或治疗一系列过程,一个患者少则排3次队,多则5、6次,用于过程性的时间最少在1个小时以上,若实施HIS以后,每个病人用于诊疗的中间过程时间会大幅度减少;假定一家医院门诊人次为2000人次/天,年门诊250天,每人少花费半小时,则日节约1000小时,一年节约36万小时,其产生的社会效益和间接经济效益是明显的。同时HIS的实施也强化了医院内部管理,降低了医护人员的工作强度和时间,伪、冒、漏现象可以解决,也加速了资金周转和减少药品、器械等物资积压。据估计如果全国有2000家医院应用HIS,每年每所医院增收节支、加速资金回笼和周转、堵漏、减少物资积压的回收资金方面的效益按20万元估计的话(实际比这高),则年效益估计为40亿元,十分可观。但这往往不被人所认识。当然建立HIS更主要的还在于它对医院管理、医疗质量和医学研究的长期效应带来的综合效益。HIS的效益远远超出医院本身,因为完整的病人医学记录是医学研究的重要信息资源,这类资源在手工作业环境下,大部分都被抛弃了。1.2 医院信息管理系统发展历史与现状国际上医院信息化管理大致可以分为3个阶段。第一个十年,集中在开发医院行政管理的功能上,如财务收费管理、住院病人和门诊病人管理等,但到1972年Collen仍报告美国连一个成功的已完成的全面医院管理计算机系统都没有。第二个十年,在继续完成和实现医院管理信息计算机化的同时,开发者的努力已进入医疗信息的处理领域,如病人医疗处理系统,实验室系统等。到1985年,美国全国医院数据处理工作调查表明,100张床位以上的医院80%实现了计算机财务收费管理、70%的医院可支持病人挂号登记和行政事务管理,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(诊断相关分组,DiagnosisRelated Groups)自1983年开始在美国实行,其目的是为了控制不断上涨的老年医疗保险的费用。所谓DRG编码是在国际疾病分类的基础上,再参照疾病的严重程度、个人状态和并发症做出一个编码。每一个编码有对应的费用,医疗保险单位根据这个编码付费。如果医院的费用超出了规定的费用,则由医院自己赔付,相反若低于规定费用则节约的部分归医院所有。我国医院信息系统的研发工作,从20世纪80年代初期算起,至今也有十多年的历史,其中经历了单机单任务的阶段,多机多任务的阶段以及微机网络一体化的阶段,应该承认这期间我们有了很大进步。医院对信息的需求永远是HIS发展的原动力。刺激我国医院广泛采用计算机信息系统的因素主要有:(1) 医院要强化自身的管理,逐步实现医疗价格评价与按成本收费,实现医院内按成本核算与全面财务计划,并体现在建立和优化医院内合理的分配制度上,为此每个医院都迫切需要建立自己的以财务管理为中心的医院管理信息系统。(2) 医院要加强医疗服务质量的自我监督、自我控制的能力,为病人提供更快、更好的服务,必然要依赖于计算机信息系统。(3) 医疗制度的改革正在把病人医院的二元关系改变为病人医院保险机构政府监督的多元关系。大量的有关病人的诊断、治疗、用药、资源消耗的信息不仅在院内而且要在许多部门之间流通、传递,这将是一件难以用手工完成的繁杂的任务。(4) 每个医院的信息系统是全国或地区性医疗信息网络的基础,医疗信息网络即所谓“金卫”工程,是我国国民经济信息化的重要组成部分,必然要与“金桥”、“金卡”等国民经济信息网络相连接。(5) 建立以计算机化病人病历CPR为核心的HIS会成为已初步建立医院管理信息系统的那些医院的下一个努力目标。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和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。 JSP可用一种简单易懂的等式表示为:HTML+Java=JSP。1.3.2 JSP的新特性JSP 2.0的新功能主要包括下面几部分:(一)运行环境变化1、web.xml格式变化我们知道JSP 1.2可以在Java 2标准版1.3版本运行,而JSP 2.0要求使用Java 2标准版1.4或更新版本,JSP 2.0使用由Servlet 2.4规定的Web程序部署描述格式。在Web程序描述文件web.xml中需要使用xml schema打头的格式。在web.xml中主要的变化是所有有关JSP的设置信息要放在标记中。2、JSP设置在标记提供了Web程序中JSP程序的设置信息。包括和两类元素。定义了Web程序使用的 custom tag,它的用法和以前JSP 1.2中的用法相同。定义了一组JSP的特性。这些特性实际上对应JSP的page directive定义的特性。通过只不过可以方便地对多个具有相同属性的JSP统一定义。定义一个或多个URL样式,在中定义的属性会适用于匹配这些URL样式的所有JSP文件。(二)引入表达式语言(EL)JSP 2.0的一个主要特点是它支持表达语言(expression language)。JSTL表达式语言可以使用标记格式方便地访问JSP的隐含对象和JavaBeans组件,JSTL的核心标记提供了流程和循环控制功能。自制标记也有自定义函数的功能,因此基本上所有seriptlet能实现的功能都可以由JSP替代。在JSP 2.0中,建议尽量使用EL而使JSP的格式更一致。在web.xml的中可以控制一组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 1.2之前的编程方式,因此,在使用中应因地制宜地选择适用的编程方法。(三)SimpleTagJSP 2.0中加入了新的创建自制标记的API,javax.servlet.jsp.tagext.SimpleTag定义了用来实现简单标记的接口。和 JSP 1.2中的已有接口不同的是,SimpleTag接口不使用doStartTag()和doEndTag()方法,而提供了一个简单的doTag()方法。这个方法在调用该标记时只被使用一次。而需要在一个自制标记中实现的所有逻辑过程、循环和对标记体的评估等都在这个方法中实现。从这个方面来讲, SimpleTag和IterationTag可以达到同等的作用。但SimpleTag的方法和处理周期要简单得多。在SimpleTag中还有用来设置JSP内容的seUspBody()和getJspBody()方法。Web容器会使用setJspBody()方法定义一个代表JSP内容的 JspFragment对象。实现SimpleTag标记的程序可以在doTag方法中根据需要多次调用getJspBody().invoke()方法以处理JSP内容。(四)使用JSP fragmentJSP2.0中的一个主要功能是JSP fragment,它的基本特点是可以使处理JSP的容器推迟评估JSP标记属性。我们知道一般JSP是首先评估JSP标记的属性,然后在处理JSP标记时使用这些属性,而JSP fragment提供了动态的属性。也就是说,这些属性在JSP处理其标记体时是可以被改变的。JSP需要将这样的属性定义为 javax.servlet.jsp.tagext.JspFragment类型。当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标记文件是用文本文件格式(JSP语法)实现自制标记,这也是JSP 2.0的一个主要新功能。一个标记文件可以对应一个标记,可以不需tld文件定义该标记的方法。这样,即使编程人员不熟悉Java,也可以使用JSP语法定义自己的标记。标记文件一般使用.tag为后缀并放在Web程序的/WEB-INF目录下。(五)其他特性JSP2.0还有一些其他特性变化,比如严格修正了I18N的语法规则,改进JSP对应XML语法从而允许使用namespaces等。1.3.3 SQL Server 2005SQL 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,公共语言运行时)集成。你可以轻松利用.NET语言的优势如其面向对象的封装、继承和多态特性,编写出那些需要对数据进行复杂数值计算或逻辑的代码,如字符串处理,数据加密算法,XML数据操作等等。所以这样的优势使得使用它的开发商几乎会立即升级到SQL Server 2005 享受数据库编程的便捷。1.3.4 MyEclipseMyEclipse企业级工作平台(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中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。 简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。1.3.5 Apache TomcatApache是普通服务器,本身只支持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相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架: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 22 系统需求分析当今,大部分医院仍采用传统的C/S模式医院信息管理系统(Hospital Information Management System,HIMS),随着网络技术的不断发展及企业的网络化,这种模式下的C/S系统很难与医院Intranet以及外部Internet集成起来,减慢了医院的信息化发展。相比之下,采用B/S模式组建的三层体系Web应用系统因具有良好的开放性、易维护性和易升级等特点而逐渐成为组建管理信息系统的首选。2.1 数据分析本系统管理的数据信息主要有:病人(病人住院号,姓名,性别,年龄,出生日期,病历)手术(手术方式,手术日期,手术时间,手术记录,出血量,输血量,复查情况,备注信息,手术图像)手术图像(术前影像CR,术前影像CT,术前影像MR,术后影像CR,术后影像CT,术后影像MR,复查影像CR,复查影像CT,复查影像MR)住院(病人住院号,病房信息,住院日期,住院押金)药品(药品名称,药品规格,药品单位,药品价格,生产厂家,药品有效期,药品数量)员工(职工编号,职工姓名,联系电话,家庭住址,学历,部门,职位)本系统的部分E-R图如下:病人信息药品信息收费编号姓名性别年龄住址病历出生日期数量总价日期医保类型编号名称有效日期规格单位进价售价生产厂家库存量mn图3.1 门诊划价收费E-R图年龄住址病人信息编号姓名性别病历出生日期n住院病房信息编号类型床位数剩余床位数1住院日期住院日期图3.2 住院管理E-R图2.2 功能分析本系统主要业务内容如下:门诊划价收费模块包括门诊处方划价收费、收费查询、退费功能。开放所有权限给管理员,使其对上述所有数据都具有添加、删除、修改的功能。门诊划价收费划价收费收费查询退费管理图3.3 门诊划价收费结构图住院管理模块提供对“入住医院病人”数据的输入、查询、以及预交押金。根据各科室病床的空缺情况对其进行统计分配。主要包括病人入院登记和办理出院,为病人提供费用信息查询。住院管理办理入院办理出院床位管理 图3.4 住院管理模块结构图药品管理模块提供对“药品”数据的输入、查询,同时根据相应药品的库存量进行出库入库的实现。药库管理模块:包括药品人库/出库管理、门诊处方发药/退药处理、查询、盘点等功能。开放所有权限给管理员,使其对上述所有数据都具有添加、删除、修改的功能。药品管理药品退回药品信息管理药房发药图3.5 药品管理模块结构图病人信息管理模块提供对病人基本信息和病人手术信息的输入、查询。 提供对手术图像信息的管理。开放所有权限给管理员,使其对上述所有数据都具有添加、删除、修改的功能。病人信息管理病人基本信息管理病人手术信息管理手术图像信息管理综合信息查询 图3.6 病人信息管理模块结构图统计报表模块对医院门诊部门、住院部门、药房进行工作量统计,可进行日报及年报,可以按照时间对门诊进行账目统计、汇总查询。统计报表日报表查询年报表查询阶段信息查询图3.7 统计报表模块结构图系统设置模块对系统基本信息进行设置,例如:部门类型、手术类型、医保类型、医生信息等。对系统操作员进行设置,允许用户修改密码。对数据库进行备份和恢复。系统设置基础信息设置数据备份和恢复操作员设置修改密码图3.8 系统设置模块结构图3 系统设计3.1 系统模块结构图根据系统分析的结果,得到医院信息管理系统的系统模块结构图,该系统划分为六个模块:门诊划价收费、住院管理、药品管理、病人信息管理、统计报表、系统设置。每个模块又进一步划分出各自的子模块。系统模块结构如图4.1所示:医院信息管理系统门诊划价收费住院信息管理药品信息管理病人信息管理统计报表管理系统综合设置图4.1 系统模块结构图3.2 功能模块设计3.2.1 门诊划价收费门诊划价收费模块是用于处理医院门急诊划价和收费的模块,包括门诊划价收费、退费、统计等功能。门诊收费模块的功能如下:划价收费支持从网络系统中自动获取或直接录入患者收费信息,包括:患者姓名、病历号、结算类别、医疗类别、临床诊断、医生编码,开处方科室名称、药品诊疗项目名称、数量等收费有关信息,系统自动划价,输入所收费用,系统自动找零。收费查询对门诊收费历史进行查询。可按多种条件查询:按单据号查询;按日期查询;按医生姓名查询;按科室名查询;退费管理首先,输入需退费发票号码后在费用窗口中显示所有可退费用,点击退费按钮即可完成退费。 3.2.2 住院管理住院管理模块是用于医院住院患者登记管理的模块,包括办理入院、床位管理、办理出院等功能。住院管理功能如下:办理入院对住院病人进行登记。如果病人是第一次到医院就诊,则为该病人建立档案,分配一个新的编号(病人的唯一标识,也即病人住院号);若存在该病人的档案,则直接给该病人分配床位即可。分配床位前,要先查看病房床位信息,判断是否有空房。若有,则为病人分配床位;若没有,给出提示信息。办理出院将出院病人的状态设置为出院,对住院期间的医疗费用进行结算,同时将出院病人的床位设置为空。床位管理设置医院的病房床位信息。系统管理员可以增加,修改和删除床位信息。普通用户只能查询床位信息,并给住院病人分配床位。3.2.3 药品信息管理药品管理模块是用于协助整个医院完成对药品管理的模块,其主要任务是对药库、药品价格、药品会计核算等信息的管理以及药品的进货,退货管理等。药品管理模块功能如下:药房发药自动获得取药信息。在门诊收费处交过费用后,将在此页面中产生所有待发药信息。发药前,先检查该药库存信息,如果该药库存量为零则给出提示信息;如果库存数量低于给定值则给出缺货警告;否则给病人发药。发药完成后,同时减少药品库存量。药品退回记录药品退回信息,增加相应药品的库存量。药品信息管理系统管理员可以对药品信息进行查询,添加,删除和修改;普通用户只能对药品信息进行查询和添加。可按照药品编号,药品名称查询药品信息。3.2.4 病人信息管理病人信息管理功能如下:病人基本信息管理系统管理员可以对病人信息进行查询,添加,删除和修改;普通用户只能对病人信息进行查询和添加。可按照病人编号,姓名查询病人信息。 病人手术信息管理系统管理员可以对病人手术信息进行查询,添加,删除和修改;普通用户只能对病人手术信息进行查询和添加。手术图像信息比较多,因此将其单独作为一个模块进行管理。手术图像信息管理手术相关图像的管理,包括上传图片,修改图片信息,删除图片。综合信息查询主要是针对病人手术信息的查询。可以按多种方式进行查询:按病人住院号查询;按病人姓名查询; 按各种影像号查询; 按诊断信息查询; 按分型查询; 按手术方式查询。3.2.5 统计报表该模块对医院门诊部门,住院部门,药房进行工作量统计,并打印输出。统计报表功能如下:日报表查询对医院门诊部门,住院部门,药房某天的工作量进行统计,并打印输出。年报表查询对医院门诊部门,住院部门,药房某年的工作量进行统计,并打印输出。阶段信息查询对医院门诊部门,住院部门,药房某一段时间的工作量进行统计,并打印输出。3.2.6 系统设置系统设置模块主要对本系统的一些辅助功能进行设置。包括基础信息设置,操作员设置,数据备份和恢复以及修改密码功能。系统设置功能如下:基础信息设置包括职位类型设置,部门设置,手术类型设置,医保类型设置,医生信息设置。并有系统管理员对上述信息进行添加,删除和修改。数据备份和恢复对本系统的所有数据进行定期的备份。在系统出问题时,还可以进行数据恢复。操作员设置设置本系统的操作人员。操作人员共分为两类:管理员和普通用户。管理员拥有本系统内的所有权限,普通用户只能对本系统的数据进行查看,添加,而不能对其进行修改和删除。在该模块中,对系统操作员进行添加,删除和修改权限。修改密码登录操作员可以对自己的密码进行修改,普通用户只能修改自己的密码。3.3 数据库设计数据库设计的主要任务是根据系统分析得到的数据流图,建立系统的实体关系模型。设计得到的医院信息管理系统数据库表如下(限于篇幅,本文只列出几个主要的表):病人信息表(HIS_PatientInfo) -记录病人的基本信息(如表4.1所示)表4.1 病人信息表字段名称字段类型字段大小描述PatientIDchar10病人ID(住院号)PatientNamechar10病人性别PatientSexchar10病人性别PatientAgeint4病人年龄PatientAdressvarchar50病人住址PatientBirthdaychar10出生年月CaseHistoryntext16病人病史病人手术信息表(HIS_OperationInfo)-记录病人的手术信息(如表4.2所示)表4.2 病人手术信息字段名称字段类型字段大小描述OperationIDchar10手术IDImgIDint4手术图像编号PatientIDchar10病人ID(住院号)OperateTypeIDint4手术类型OperateDatetimesmalldatetime4手术时间OperateRecordtext16手术记录InBloodCountint4输血量OutBloodCountint4出血量ReExaminetext16复查情况Othertext16备注DoctorNOchar10主刀医师编号药品信息表(HIS_DrugInfo)-记录药品信息(如表4.3所示)表4.3 药品信息字段名称字段类型字段大小描述DrugIDchar10药品编号DrugNamevarchar50药品名称DrugNormchar10药品规格DrugUnitchar10药品单位DrugInPricemoney8药品进价DrugOutPricemoney8药品售价DrugCompanyvarchar50药品生产厂家DrugInStockCountint4库存数量DrugInDstockCountint4药房药品数量DrugValidDatesmalldatetime4药品有效期医生信息表(HIS_Doctor)-记录医生基本信息(如表4.4所示)表4.4 医生信息表字段名称字段类型字段大小描述DoctorIDint4医生IDDoctorNochar10医生职工号DoctorNamechar10医生姓名DoctorTelchar10医生电话DoctorAddressvarchar50医生地址DoctorEduchar10医生学历PostIDint4医生职务DepIDint4医生所在科室操作员信息表(HIS_Users)-记录操作员信息(如表4.5所示)表4.5 操作员信息表字段名称字段类型字段大小描述UserIDint4操作员IDUserNamechar10操作员名称UserPwdchar10操作员密码UserRolechar10操作员权限门诊收费表(HIS_Doctor)-记录门诊收费信息(如表4.6所示)表4.6 门诊收费表字段名称字段类型字段大小描述ChargeIDint4收费IDDrugIDchar10收费项目IDDrugCountint4收费项目数量DiscountIDint4打折类型(医保费用类别)ChargeTotalmoney8收费总额PatientIDsmalldatetime4收费日期进货表(HIS_BuyInfo)-记录进货信息(如表4.7所示)表4.7 进货表字段名称字段类型字段大小描述BuyIDint4进货单编号DrugIDchar10所进药品BuyDatesmalldatetime4进货日期BuyCountint4进货数量进货表(HIS_BuyInfo)-记录进货信息(如表4.8所示)表4.8 进货表字段名称字段类型字段大小描述BuyIDint4进货单编号DrugIDchar10所进药品BuyDatesmalldatetime4进货日期BuyCountint4进货数量4 系统实现系统利用Microsoft Visual 2005作为开发工具,对上述各功能模块进行了设计与调试。4.1 数据访问层的实现数据访问层的任务就是打开连接,然后创建命令对象,给命令对象的CommandText属性设置值,可以是存储过程名字,也可以是SQL语句。然后就调用执行命令的方法,得到结果后返回。本系统将数据库访问的代码封装到了一个类中,这个类是DbHelperSQL.cs,类中的方法都是静态的,可以直接调用。它专门负责访问数据库,这样本系统的各模块的实现只需要调用这个类,就可以取得数据库中的数据。系统中每一个模块的实现都需要在数据层中做相应的声明,例如添加病人手术信息中,当用户输入病人手术信息时,需要将数据提交给手术信息类HIS_OperationInfo.cs,这一个业务需要在数据层中声明一个方法Add (),然后在业务逻辑层中调用数据层中的这个方法。数据层中操作数据库的类如图5.1所示:图5.1 数据层中的类4.2 业务逻辑层的实现业务逻辑层封装了数据传输和一些具体算法,用来完成表示层的请求,接受从表示层传递的参数,封装表示层需要的、从数据层返回的数据以及建立ADO.NET中关系数据的完整性,主外键约束等。如病人手术信息模块,当需要将病人手术信息数据提交给手术信息类的时候,就需要在业务层中调用相关方法,业务层再通过数据层中的Add()这个方法进行操作数据库,就可以完成手术信息存入数据库这一过程。业务逻辑层的类如图5.2所示:图5.2 业务逻辑层中的类4.3 功能模块的实现本系统的界面表现层用的是web窗体,通过它来负责和用户的交互。在本层中运用Visual Studio 2005提供的各类控件,来实现形式各样的显示效果,结合Dreamweaver强大的美化功能,弥补了Visual Studio在界面上的操作不足。限于篇幅,本文仅详细介绍了各个模块中的主要部分的具体实现。还有一些功能类似的页面,本文也只详细介绍了一次。4.3.1 登录模块的实现该模块的主要功能是实现用户登录。用户登录后,该用户的姓名、权限类型将被保存在Cookie中,在系统中用到权限判断时,再从Cookie中将用户信息读取出来。用户登录页面如图5.3所示:图5.3 用户登录页面4.3.2 门诊收费模块的实现该模块包括划价收费,退费管理和收费查询三个子模块。本文仅对划价收费模块的具体实现进行详细介绍。划价收费模块的主要功能是实现对病人的收费项目进行划价,并完成收费;另外还有付款的自动找零功能。当用户输入病人信息,医生信息和收费项目信息的时候,只需输入病人编号,医生编号和收费项目名称,系统将自动读取其他信息并显示。在输入病人编号,医生编号和收费项目名称的时候,用到了AutoComplete控件,该控件是Ajax工具包中的输入提示控件,当用户输入前几个字符时,该控件找出数据库中所有以这些字符开头的数据提示给用户,供用户选择。划价收费页面如图5.4所示:图5.4 划价收费页面4.3.3 住院管理模块的实现该模块主要包括办理入院,办理出院和病房管理三个子模块。本文仅对办理入院模块的具体实现进行详细介绍。在办理入院模块,用户输入病人住院号后,系统会自动显示病人姓名,如果不存在该病人,系统将提示用户添加该病人信息。另外,该页面中的病房号可选项中都是有空床位的病房,如要查询病房详细信息,可以到病房管理页面查看。 办理入院页面如图5.5所示:图5.5 办理入院页面4.3.4 病人信息管理模块的实现该模块主要包括病人基本信息,病人手术信息,手术图像信息,综合信息查询三个子模块。本文仅对病人手术信息模块进行详细说明。在病人手术信息页面中,使用DataGrid控件显示收入信息列表。选择要删除的信息,点击“删除信息”按钮即可删除选择的所有信息。手术记录,复查情况和备注三项的内容有可能很长,因此系统中用CSS限制了这三项的列表宽度,超过列表宽度的内容用省略号代替。具体代码如下:style=“overflow:hidden; word-break:keep-all; white-space:nowrap; text-overflow:ellipsis;width:70px;”病人手术信息页面如图5.6所示:图5.6 病人手术信息管理页面点击“新建信息“按钮进入添加手术信息页面。该页面分为基本信息和图像信息两部分,同一条手术信息可以同时上传多张图片。本系统中定义了一个数组变量imgNOs来记录上传图片的编号,每种类型的图片对应一个数组中的一项。添加手术信息页面,如图5.7和5.8所示:图5.7 添加手术信息页面(基本信息)图5.8 添加手术信息页面(图像信息)点击列表中的手术编号可进入手术信息修改页面,如图5.9所示:图5.9 修改手术信息页面点击列表中的手术图像编号,可进入手术图像修改页面,如图5.10所示:图5.10 修改图像信息页面4.3.5 药品信息管理模块的实现该模块包括药房发药,进货管理,退货管理,药品信息管理四个子模块。本文仅详细介绍进货管理和药品信息管理两个子模块。进货管理模块的主要功能是实现医院在采购药品时,对购货单据信息进行保存。在进货管理页面中,用到了面板Panel控件,该控件在页面加载时是隐藏的。当用户点击“新建信息”按钮时才显示出来,点击“关闭”按钮即可关闭面板。进货管理页面如图5.11所示:图 5.11 进货管理页面药品信息管理模块主要实现药品信息的添加,删除和修改。其具体实现方法与手术信息管理页面基本相同,只有修改信息功能是采用DataGrid自带的编辑功能。药品信息管理页面如图5.12所示:图5.12 药品信息管理页面4.3.6 报表统计模块的实现该模块包括日报表查询,年报表查询,阶段信息查询三个子模块。本文仅详细介绍年报表查询模块。年报表模块的主要功能是实现对门诊,药房和病房的工作量的统计,并可对报表进行打印及输出到Excel。在具体实现该模块的时候,用到了Crystal报表,并使用了报表自带的打印和导出到Excel功能。年报表查询页面如图5.13所示:图5.13 年报表查询页面4.3.7 系统设置模块的实现该模块主要包括基础信息设置,数据库备份和恢复,操作员设置和修改密码四个子模块。本文仅详细介绍数据库备份和恢复,操作员设置两个模块。数据库备份和恢复模块主要完成对系统数据库所有数据的备份和恢复。备份数据库的代码如下: public int DataBackup(string savePath) string sqlStr = backup database HIS to disk= + savePath + ; int result= DbHelperSQL.ExecuteSql(sqlStr); return result; 还原数据库的代码如下: public int DataRestore(string savePath) string sqlStr = use master restore database HIS from disk= + savePath + with replace; int result = DbHelperSQL.ExecuteSql(sqlStr); return result; 变量savePath是从页面表现层传进来的数据库备份路径。数据库备份和恢复页面如图5.14所示:图5.14 数据库备份和恢复页面操作员设置模块的主要功能是实现对系统操作员信息的添加,删除和修改。系统的操作权限有两种:管理员和普通用户,管理员可以对系统所有功能进行操作,而普通用户只能进行信息的查询。操作员设置页面如图5.15所示:图5.15 操作员设置页面4.4 实现结果与分析在系统设计与实现过程中,由于本人
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!