医院管理信息系统_第1页
医院管理信息系统_第2页
医院管理信息系统_第3页
医院管理信息系统_第4页
医院管理信息系统_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

word文档可自由复制编辑摘要当今社会大多数的医院为适应社会发展需要,不再沿用以往的人工接诊模式,取而代之的是功能完善的医院管理信息系统。医院管理信息系统(HMIS)的主要目标是支持医院的行政管理与事务处理业务,减轻事务处理人员的劳动强度,辅助医院管理,提高医院的工作效率,从而使医院能够更好的为病人服务。本文介绍如何用VisualStudio2005和SQLSERVER2005开发医院管理信息系统的门诊挂号、门诊管理、住院管理、药房管理和管理中心这几个主要功能,分析了这几个功能的构建过程及其实现。关键字:DBMS、VisualStudio2005、SQLSERVER2005、医院管理信息系统

ABSTRACTToadaptthedevelopmentofthemodernsocial,mostofhospitalsnolongerusethemodeofmanual.thehospitalmanagementinformationsystemwhichhasallkindsoffunctionreplaceit.Themaintargetofthehospitalmanagementinformationsystem(HMIS)istoSupportthehospitaladministrationmanagements,handlebusinessallevitatethepersonnelbusiness,assistantthehospitalmanageandhighleaddecision,increasethehospital’sworkefficiency,thenmakethehospitalsupplymoresatisfiedservicetoallofpatients.ThisarticleexpatiatestohowtousingtheVisualStudio2005andSQLSERVER2005toimplementthemainfunctionssuchashospitalizationregister,hospitalizationmanagement,beinhospitalmanagement,pharmacymanagement,managementcenteroftheHMIS,introducehowtosetupthehospitalizationmanagementsubsystemandhowtocometrue.Keywords:DBMS,VisualStudio2005,SQLSERVER2005,HospitalManagementInformationSystem

目录摘要 IABSTRACT II目录 III第1章绪论 11.1医院管理信息系统 11.1.1医院管理信息系统的概念 11.1.2医院管理信息系统的发展历史与现状 21.2课题的背景及意义 31.3系统简介 31.4课题的主要工作及论文的组织 4第2章系统开发工具及其相关技术 52.1VisualStudio2005.NET 52.2SQLServer2005 52.3C#语言的特点 52.4ASP.NET的特点和优缺点 62.5HTML语言简介 72.6B/S结构概述 82.7本章小结 10第3章系统分析 113.1系统分析概述 113.2模块详细设计 113.3数据流图 133.4本章小结 14第4章数据库设计 154.1数据库设计原则 154.2概念结构设计 154.3本章小结 19第5章编码与实现 205.1密码检验模块设计 205.2主窗口设计 215.3门诊挂号模块设计 235.4门诊管理模块设计 275.5住院管理模块设计 305.6药房管理模块设计 325.7管理中心模块设计 335.8本章小结 36第6章结论 37致谢 38参考文献 39第1章绪论1.1医院管理信息系统1.1.1医院管理信息系统的概念医院管理信息系统(HospitalManagementInformationSystem,HMIS),按照MorrisF.Collen所给的定义是:利用电子计算机和通讯设备,为医院所属各部门提供病人诊疗信息(PatientCareInformation)和行政管理信息(AdministrationInformation)的收集(Collect)、存储(Store)、处理(Process)、提取(Retrieve)和数据交换(Communicate)的能力,并满足所有授权用户(Authorized)的功能需求。随着计算机性能不断提高,价格不断下降,计算机已在医院医疗、教学、科研、管理等各个方面得到越来越广泛的应用。计算机化的医院管理信息系统已成为现代化医院运营必不可少的基础设施与技术支撑环境。就好象一个现代化医院的成功运行离不开功能完整、美观舒适的建筑物,技术娴熟的医护人员,性能齐全、高精尖的医疗设备一样,它也离不开计算机化的医院管理信息系统。医院管理信息系统(HospitalManagementInformationSystem,HMIS)的主要目标是支持医院的行政管理与事务处理业务,减轻事务处理人员的劳动强度,辅助医院管理,辅助高层领导决策,提高医院的工作效率,从而使医院能够以少的投入获得更好的社会效益与经济效益,象财务系统、人事系统、住院病人管理系统、药品库存管理系统等就属于HMIS的范围。临床信息系统(ClinicalInformationSystem,CIS)的主要目标是支持医院医护人员的临床活动,收集和处理病人的临床医疗信息,丰富和积累临床医学知识,并提供临床咨询、辅助诊疗、辅助临床决策,提高医护人员的工作效率,为病人提供更多、更快、更好的服务。象医嘱处理系统、病人床边系统、医生工作站室系统、实验室系统、药物咨询系统等就属于CIS范围。一个完整的医院管理信息系统(IntegratedHospitalManagementInformationSystem,IHMIS)应该既包括医院管理信息系统,又包括临床医疗信息系统,这是毫无疑问的。但是,无论外国还是中国,当一个医院的医院信息系统刚刚起步时,往往是首先建立医院管理信息系统,这是因为:1.医院管理信息系统所需要的资源较少,比较起来所需要的磁盘容量、工作站数量、网络传输能力、显示器质量均远远低于CIS的需求。2.支持医院管理信息系统的计算机技术较为单纯和简单。由于医院管理信息系统以处理文字和数字类数据为主,较少涉及声音、图象、多媒体数据的动态传递等复杂需求,因此实现起来容易得多。3.临床信息系统在数据处理的实时性要求、相应速度、安全保密等方面一般要比管理信息系统有更苛刻的要求。4.最后,从投入与产出考虑,多数医院的决策者们均认为HMIS较之CIS,能够使医院更直接、更明显、更迅速地获得系统的回报。就是说,以较少的投入,获得较大的收益。当然,HMIS和CIS也不是截然分开的,HMIS中常常会涉及一些病人的临床信息,特别是它所收集的病人主索引、病案首页等信息往往是CIS以病人为中心的临床医疗信息的基础。而CIS一旦建立,也往往会使HMIS工作得更准确和更有效率。1.1.2医院管理信息系统的发展历史与现状发达国家医院信息系统的开发实现已有三十多年的历史,至今有了长足的进步,有许多举世公认的成功的系统在医院有效地运转着。像盐湖城LDS医院的HELP系统,麻省总医院的COSTAR系统,退伍军人管理局的DHCP系统。纵观美国的HMIS发展历史,大约可分为三个阶段:第一个十年,集中在开发医院行政管理的功能上,象财务收费管理、住院病人和门诊病人管理等。但到1972年Collen仍报告美国迄今为止连一个成功的已完成的全面医院(管理)计算机系统都没有。第二个十年,在继续完成和实现医院管理信息的计算机化的同时,开发者的努力已进入医疗信息的处理领域,像病人医疗处理系统,实验室系统等。到1985年,美国全国医院数据处理工作调查表明,100张床位以上的医院80%实现了计算机财务收费管理,70%的医院可支持病人挂号登记和行政事务管理,25%的医院有了较完整的HMIS。最后一个十年至今,研究者又把重点放在了病人床边系统、医学影像处理、病人计算机化病案、统一的医学语言系统等方面。医院信息系统正在经历着小型化、智能化和集成化的改造过程。我国医院信息系统的研发工作,从八十年代初期算起,至今也有二十多年的历史,其中经历了单机单任务的阶段,多机多任务的阶段以及微机网络一体化的阶段,应该承认,这期间我们有了很大进步。HMIS的应用已经涉及到许多方面,有些系统的功能(例如财务帐目管理、药品库存管理、住院病人管理等)也日趋完善。医院管理信息系统从早期的单机简单任务处理模式,到现在的网络化联机同步操作远程模式.有了很大的进步.近年来,随着我国信息产业的飞速发展,计算机的开发应用已渗透到各个领域,而且日趋普及。在医学领域内,计算机的应用已经十分广泛,各种智能诊断设备都与计算机紧密结合在一起,主要应用于两个方面:一是医疗设备智能化,以硬件为主,如核磁共振成像系统、彩色B超、CT等。另一种是医院管理信息系统(HMIS)的软件建设,以提高医院的现代化管理形象。1.2课题的背景及意义1.计算机已经成为我们学习和工作的得力助手,使用其可方便的管理病人及医师。今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经应用于许多领域。现在我国的病人及医师管理水平绝大部分还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。我作为一个计算机专业的毕业生,希望可以在这方面有所贡献。改革的总设计师邓小平同志说过“科学技术是第一生产力”,我希望能用我所学的知识编制出一个实用的程序来帮助医疗机构进行病人及医师管理。开发这一系统的好处大约有以下几点:第一、可以存储历年病人及医师的信息,安全、高效;第二、只需一到二名档案录入员即可操作系统,节省人力;第三、可以迅速查到病人及医师的各类信息。2.为将来医疗机构上网做好准备。跟据2007年中国电信的调查报告显示我国的上网人数已达到1.44亿,互联网已经十分普及,本系统为医疗机构将来的上网作了先期工作,比如医疗机构的网络管理模式的建立。1.3系统简介此医院管理信息系统后台数据库使用SQLSERVER2005。可以实现在线挂号、住院管理、医生诊断、医生管理等基本功能。采用了C#,ASP.NET等技术实现。开发工具使用了当前流行的VisualStudio2005。1.4课题的主要工作及论文的组织本文共分为五章:第1章主要阐述了医院管理信息系统的概念、特点、国内外的发展状况,介绍了本课题的来源、背景及主要研究内容。第2章主要阐述了医院管理信息系统支撑的相关技术。第3章对医院管理信息系统进行了分析。第4章论述了医院管理信息系统的数据库设计。第5章论述了医院管理信息系统的具体实现。第6章是结束语。

第2章系统开发工具及其相关技术2.1VisualStudio2005.NETVisualStudio.NET是一套完整的开发工具,用于生成ASPWeb应用程序、XMLWebservices、桌面应用程序和移动应用程序。VisualBasic.NET、VisualC++.NET、VisualC#.NET和VisualJ#.NET全都使用相同的集成开发环境(IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了.NETFramework的功能,此框架提供对简化ASPWeb应用程序和XMLWebservices开发的关键技术的访问。2.2SQLServer2005SQLServer2005是为迅速提供可伸缩性电子商务、企业及数据仓库解决方案而开发的完整数据库与分析软件产品。SQLSERVER2000定位于Internet背景下的数据库应用,它为用户的Web应用提供了一款完善的数据管理和数据分析解决方案。同时SQLSERVER2005还是WindowsDNA(DistributedInternetArchitecture)架构的一个核心组件。它极大地缩短了用户开发电子商务、数据仓库应用的时间。SQLSERVER2005还提供对XML(ExtensibleMarkupLanguage扩展标示语言支持)和HTTP的全方位支持。2.3C#语言的特点一、简洁的语法。在缺省的情况下,C#的代码在.NET框架提供的“可操纵”环境下运行,不允许直接地内存操作。它所带来的最大的特色是没有了指针。C#用真正的关键字换掉了那些把活动模板库和COM搞得乱糟糟的伪关键字,如OLE_COLOR、BOOL、VARIANT_BOOL等等。每种C#操作符在.NET类库中都有了新名字。C#对冗余进行了简化,只保留了常见的形式,而别的冗余形式从它的语法结构中被清除了出去。二、精心地面向对象设计。C#具有面向对象的语言所应有的一切特性:封装、继承与多态性,这并不出奇。然而,通过精心地面向对象设计,从高级商业对象到系统级应用,C#建造广泛组件的绝对选择。在C#的类型系统中,每种类型都可以看作一个对象。C#提供了一个叫做装箱(boxing)与拆箱(unboxing)的机制来完成这种操作。C#只允许单继承,即一个类不会有多个基类,从而避免了类型定义的混乱。C#中也没有了全局函数,没有了全局变量,也没有了全局常数。一切的一切,都必须封装在一个类之中。你的代码将具有更好的可读性,并且减少了发生命名冲突的可能。三、与Web的紧密结合。.NET中新的应用程序开发模型意味着越来越多的解决方案需要与Web标准相统一,例如超文本标记语言(HTML)和XML。SOAP的使用使得C#克服了这一缺陷,大规模深层次的分布式开发从此成为可能。C#组件将能够方便地为Web服务,并允许它们通过Internet被运行在任何操作系统上的任何语言所调用。四、完整的安全性与错误处理。.NET运行库提供了代码访问安全特性,它允许管理员和用户根据代码的ID来配置安全等级。在缺省情况下,从Internet和Intranet下载的代码都不允许访问任何本地文件和资源。.NET平台提供的垃圾收集器(GarbageCollection,GC)将负责资源的释放与对象撤销时的内存清理工作。变量是类型安全的。C#中不能使用未初始化的变量,对象的成员变量由编译器负责将其置为零,当局部变量未经初始化而被使用时,编译器将做出提醒;C#不支持不安全的指向,不能将整数指向引用类型,例如对象,当进行下行指向时,C#将自动验证指向的有效性;C#中提供了边界检查与溢出检查功能。五、灵活性和兼容性。如果需要,C#允许你将某些类或者类的某些方法声明为非安全的。这样一来,你将能够使用指针、结构和静态数组,并且调用这些非安全代码不会带来任何其它的问题。此外,它还提供了一个另外的东西来模拟指针的功能--delegates,代表。正是由于其灵活性,C#允许与C风格的需要传递指针型参数的API进行交互操作,DLL的任何入口点都可以在程序中进行访问。C#遵守.NET公用语言规范,从而保证了C#组件与其它语言组件间的互操作性。元数据(Metadata)概念的引入既保证了兼容性,又实现了类型安全。2.4ASP.NET的特点和优缺点相比传统的动态页面技术,使程序设计相对简化,结构更为清晰。但大大加重了页面设计的难度,其界面处理与传统的asp,php,cgi相比,比较死板,几乎全部需要由程序员来处理其界面,很难使用第三方工具进行可视化设计。想把程序与界面分开,从另一方面来看,它使程序与界面结合得更为紧密。使web应用更象一个传统的windows应用,以程序员为主,设计人员插不上手。设计良好的可复用控件大大提高了编程的效率。相比而言,设计良好的asp程序则可以最大限度的做到页面设计的灵活和高效,这方面的第三方工具也比较成熟且有很多选择,dreamweaver是设计人员的强大而高效的工具之一,而asp+com结构也可以用于大型应用,但他的起点要比要高。目前设计人员很难对页面进行修改,以目前的知识只能修改一下整体的框架,细节就无法修改了。目前对于页面的设计工具也不多,dreamweavermx相对而言支持较好,但想对于对asp/php/perl等传统动态页面的支持,简直是天攘之别。就大型的web应用,比如企业信息管理系统,相对asp来说,从大多数方面都是最佳选择,但asp的很多优点依然可以应用到整个系统的某一部分,这并不矛盾。主要面向程序员的一次改革,它使编写大型的web应用程序更为简便和符合现代软件工程。你如果用asp+com也可以实现所倡导的编程模型,但很多细节要自己实现。只是使之更为简单,但前提是你要理解该模型。另外,各种应用框架模型,比如cobra,dcom,,ejb等等,它们的基本原理我想是类似的,也就是各厂家的实现不一样。它们都是所谓的n层结构(分布式应用),这些技术的出现也并非一蹵而蹴的,都有一个过程。n层结构大体上应该是这样:将一个系统根据各种原则分成n个相对独立的层次,可以放在不同的物理主机上运行,而在逻辑上则为一个统一的整体。对最终用户而言,这些是透明的,分布式应用框架将完成这些底层的分布处理。web应用可以看成是传统C/S结构的N层模型扩展。对比这两种方式,我们会发现它们最后的区别只在于系统的层次是如何划分的。如果把大多数层次的功能都划到客户端,那就成了c/s,如果客户端只用于输入/输出,比始采用标准的html客户端,那就是web应用。它们的优缺点也将主要由这一点决定。2.5HTML语言简介HTML语言是一种网页设计语言,现在我们通过浏览器看到的网页信息大多都是HTML语言设计的.HTML是HypertextMarkupLanguage的缩写,HTML的中文意思是超文本标记语言。HTML语言是网页设计的基础,HTML的最终版本是国际W3C组织发布的HTML4.01版。Html网页设计可以通过专用的网页设计程序编写,如FrontPage、DreamWeaver,也可以用记事本、word文档编辑器等进行HTML设计,不过通常使用所见即所得(WYSIWYG)的网页设计程序来实现HTML网页设计。通过浏览器打开一个网页,点击菜单:查看-源文件,通过记事本打开的网页代码就是HTML代码。HTML代码基础知识:网页内容位于网页代码标签之间。可以将一个网页完整的内容分为3个部分:(1)关于HTML版本的说明<!DOCTYPEHTMLPUBLIC"+/W3C//DTDHTML4.01Transitional//EN">。(2)HTML文档的头部位于中见的内容,就是头部,其中除了网页标题显示在浏览器顶端之外,其他的内容并不通过浏览器直接显示给用户,而是有其他的作用,尤其是META标签中的内容对于搜索引擎具有重要意义,因此对网页META标签的优化设计是网站搜索引擎优化的基础内容。在头部元素中,也有从文档外部来声明的属性,如CSS(层叠式样表单)等。(3)网页主体内容位于位于<body></body>之间的所有内容是一个网页的主体,也就是浏览器窗口中可以出现的所有信息。2.6B/S结构概述B/S结构:(Browser/Server,浏览器/服务器模式):是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如NetscapeNavigator或InternetExplorer,服务器安装Oracle、Sybase、Informix或SQLServer等数据库。浏览器通过WebServer同数据库进行数据交互。B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易。B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。一、B/S结构的优点B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。二、B/S架构软件的优势与劣势1.维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。2.成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。3.应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。2.7本章小结本章主要介绍系统使用到的相关技术,包括VisualStudio2005.NET、SQLServer2005、C#、ASP.NET技术、HTML及B/S结构的一些基本介绍。

第3章系统分析3.1系统分析概述医院的管理本身就起着举足轻重的作用,医院又是一个特殊的地方,要求每一位医护人员都要有极其认真负责的态度,随着信息技术的发展,面对激烈的市场竞争和纷繁复杂的业务需求,现代医院的管理必须通过一个现代化的信息管理系统的帮助。所以该系统预期的功能就是能够改善医院内部原本比较混乱的局面,提高各个部门的管理功能,资源配置,提高各个医院之间的竞争力。其中,该系统分为五大模块,分别是:门诊挂号模块、门诊管理模块、住院管理模块、药房管理模块和管理中心模块,每个模块对应着不同的分工,在这五个模块的配合下,使得医院的效率能够得到很大的提高。3.2模块详细设计本系统包括如下功能模块:1.密码检验模块:任何一个系统都会设置密码检验模块。该简易医院管理系统在进入登录表单之后,输入用户名和密码,系统将输入的用户名和密码与密码表中所存储的用户名和密码进行比较,如果输入无误则可以进入系统主表单,否则弹出提示(用户名或密码错误!)并且返回登入界面。2.门诊挂号模块:这个模块主要是医务人员提供给病人一个挂号号码,除了需要填写病人相关的信息(包括姓名、年龄、性别、住址)外,还可以根据病人需求的不同,分为普通、急诊、专家、专科这四个类型,也可以选择不同的科室及该科室的具体一名医生。每个号码都有获取时间的显示,而且一天挂号多少可以自己限定,号码都被挂完后,就不再允许挂号。所有的挂号记录可以查询。3.门诊管理模块:门诊管理模块实现了医生对已经挂号的病人进行病例诊断这个功能。但是还没有挂过号的病人不能让医生对其进行诊断。在该简易医院管理系统中,医生根据自己的诊断来判断该病人是否需要住院、手术、做化验,并给该病人开出处方,医生可以通过右上角的药品显示模块了解到医院现有的药品和药品的数量。如果医生开出的药品的数量超过了药房的库存数量,系统将提示您“开药数量不可大于库存”。医生开出药品处方之后,系统将自动对现有的药品数量进行更新。所有的就诊记录也可以查询。4.住院管理模块:住院管理模块主要是入院登记,出院登记和病人状态查询这几个功能。管理人员可以全局浏览医院的病人情况。已经被主治医生确定要住院的病人根据自己的挂号号码,进行入院登记,病人的住院床位可以从空闲的住院床位里面进行选择,已经有人登记的床位则不能再次被挑选直到该床位的病人出院。如果病人被医生诊断为不需要住院,其就无法住院。最后,此模块也具备根据挂号号码查询出入院病人的情况。5.药品管理中心:此模块主要是对现有的库存药品进行管理。包括药品的增加,相关人员需要输入药品的名称、编号、数量、单位和说明这几项具体信息。此模块也能对药品这几项具体信息进行修改。6.管理中心模块:人事管理模块用来管理医院的科室信息和医生信息。在科室管理子模块中,可以查看现有的科室资料,添加新的科室,修改科室的信息,删除不存在的科室等。在医生管理子模块中,可以对注册医生进行查看,删除,资料修改,但是只有管理员级别的帐号才能使用这个功能。管理员可以对新注册的医生进行权限的分配,包括门诊挂号,门诊管理,住院管理,药房管理和管理中心这五个权限。只有当该医生有权限时,在登陆框的左边列表里面才会出现该权限的具体功能。以下是本系统的模块图:密码检验模块住院管理门诊挂号 门诊管理密码检验模块住院管理门诊挂号 门诊管理药房管理管理中心在线挂号 挂号记录 病人就诊 就诊记录 病人住院 住院记录 药品列表 增加药品 科室管理 医生管理 科室列表 科室增加 医生列表 新增医生 3.3数据流图数据流图是用来描述数据处理的过程,不反映时间的顺序,只反映数据的流向、自然的逻辑过程和必要的逻辑数据存储,即表示“做什么”,而不表示“怎么做”此毕业设计的流图大体如下所示:门诊挂号门诊挂号住院管理管理中心门诊管理管理员修改各种信息数据库操作交换数据药房管理图3-2系统数据流图3.4本章小结本章对简易医院管理信息系统的各个模块进行了详细的设计,并对数据库进行了详细的分析与设计,为了能做出完美的系统奠定了基础。

第4章数据库设计数据库设计的目标是要求完全满足业务的数据存储要求。如果能够设计一个合理的数据库模型,不仅会降低程序编程和维护的难度,也会提高系统实际运行的性能,因而必须仔细的制定设计步骤方案,了解规范的设计方法和必要的规则。4.1数据库设计原则一个成功的管理系统,是由:[50%的业务+50%的软件]所组成,而50%的成功的软件又有[25%的数据库+25%的程序]所组成,数据库设计的好坏是一个关键。如果把企业的数据比做生命所需的血液,那么数据库设计就是应用中最重要的一部分。对于医院管理信息系统来说,拥有大量的病人需要强有力的数据库支撑,所以对于本系统,由于需要在实际环境中运行,所以数据库的使用可以选择功能强大的,并且易于维护的数据库作为后台,存放病人医生等相关信息,最终选择了SQLServer2005作为后台支持数据库。4.2概念结构设计该简易医院管理系统是针对几个大的部门设计各项管理功能的,而每一项功能的实现都是针对数据库表来完成的,那么该医院管理系统就要求包含跟每一个部门对应的数据库表,这些数据库表存储了部门内部尽可能详细的信息。数据字典设计:TableName表说明FE_EmpQX权限表FT_Module系统菜单主表FT_FunGroup菜单分组表FT_FunList最终菜单HO_Department科室列表HO_Employee系统账号表HO_Register挂号数据表FT_Leechdom药品表FL_eechdomOut开出药品记录表FD_iagnoses就诊记录表FB_ehospital住院记录表FB_BunkList床位表4-1数据字典表视图设计:视图名称视图说明V_FB_Ehospital挂号信息及床位信息V_HORegister挂号信息及就诊信息V_Number床位编号表4-2视图表以下是各个表的具体定义:字段名数据类型字段值FEmpQXID(PK)IntNotnullFemployeeIDIntNullFModuleIDIntNull表4-3FE_EmpQX表(权限表)字段名数据类型字段值FModuleID(PK)IntNotnullFModeleCaptionNvarchar(50)NullFEnabledBitNullFSortIDIntNullFImageUrlVarchar(100)Null表4-4FT_Module表(系统菜单主表)字段名数据类型字段值FFunGroupID(PK)IntNotnullFGroupNameVarchar(50)NotnullFEnabledBitNullFSortIDIntNullFImageUrlVarchar(100)NullFModuleIDIntNull表4-5FT_FunGroup表(菜单分组表)字段名数据类型字段值FDepaID(PK)IntNotnullFDepaNameNvarchar(200)NullFEnabledBitNullFSortIDIntNullFupIDIntNullFDepaCodeNvarchar(50)NullFlevelcodeNvarchar(50)NullFContentNvarchar(50)Null表4-6HO_Department表(科室列表)字段名数据类型字段值FEmployeeID(PK)IntNotnullFEmpNameVarchar(40)NotnullFEmpCodeVarchar(20)NullFEpwdVarchar(50)NullFDepaIDIntNullFSexVarchar(2)NullFMoblieTelVarchar(50)NullFHomeAddressVarchar(200)NullFEmpNumberVarchar(500)NullFempTimeDatetimeNull表4-7HO_Employee表(系统账号表)字段名数据类型字段值FLeechdomID(PK)IntNotnullFLeechdomNameVarchar(50)NullFLeechdomNumberNchar(10)NullFLeechdomCountFloatNullFLeechdomUnitNchar(10)NullFLeechdomtxtVarchar(500)Null表4-8HO_Register表(挂号数据表)字段名数据类型字段值FDiagnosesID(PK)IntNotnullHOregisterIDIntNullFDiagnosesinVarchar(50)NullFSurgeryVarchar(50)NullFAssayVarchar(50)NullFContentVarchar(500)NullFEmployeeIDIntNull表4-9FD_iagnoses表(就诊记录表)字段名数据类型字段值FBehospitalIDIntNotnullHOregisterIDIntNullFbunkIDIntNullFBitBitNullFCreateTimeDatetimeNullFOutTimeDatetimeNull表4-10FB_ehospital表(住院记录表)字段名数据类型字段值HOregisterID(PK)IntNotnullHOregisterNumberVarchar(50)NullHOregisterNameVarchar(50)NullHOregisterSexChar(10)NullHOregisterOldIntNullHOregisterTypeNchar(10)NullHOregisterksidIntNullHOregisterDidIntNullHOregisterMoneyTpeChar(10)NullHOregisterCaseNchar(10)NullHOregisterAddressVarchar(50)NullHOregisterTimeDatetimeNullHOregisterStateBitNull表4-11HO_Register表(挂号数据表)4.3本章小结本章列出了该简易医院管理系统的数据字典,视图和所涉及到的大部分的数据库,分析了表与表之间的关系,介绍了数据库的详细设计理念,数据库的结构和内容。

第5章编码与实现5.1密码检验模块设计密码检验模块是用来检验在登录该医院管理系统时,密码输入是否正确。设计了两个文本框,分别用来供输入用户名和密码。还有一个“ENTER”按钮用来确定进入系统。如果输入的密码和系统内部所存储的密码一致,则系统进入主表单,如果不一致系统会弹出相关消息框,提示用户名或密码输入有误。设计界面如图5-1:图5-1用户登录界面具体的实现代码如下:protectedvoidbtnLogin_Click(objectsender,ImageClickEventArgse){if(txtUser.Text==""){this.RegisterStartupScript("hello","<script>alert('请输入账号!');</script>");//用户名非空return;}if(txtPwd.Text==""){this.RegisterStartupScript("hello","<script>alert('请输入密码!');</script>");//密码非空return;}SqlDataMissqllogin=newSqlDataMis();DataTableDB=sqllogin.Get_DataList("*","HO_Employee","FEmpCode='"+txtUser.Text.Trim().Replace("'","")+"'andFEpwd='"+txtPwd.Text.Trim().Replace("'","")+"'");if(DB.Rows.Count>0){Session["EmpID"]=DB.Rows[0]["FEmployeeID"].ToString();Session["FEmpName"]=DB.Rows[0]["FEmpName"].ToString();Response.Redirect("WebMain.aspx");}else{this.RegisterStartupScript("hello","<script>alert('用户名或密码错误!');</script>");return;}}5.2主窗口设计“主表单”上部设计了一个容器控件,容纳几个命令按钮,分别为“门诊挂号”、“门诊管理”、“住院管理”、“药房管理”和“管理中心”按钮。单击每个按钮,系统则会调用相应的功能表单,实现系统的各项功能。在此界面中,可以显示现在登入用户的名字和登录时间。此外,登入用户可以修改自己的密码,或是注销退出此系统。“主窗口”界面如图5-2:图5-2系统主窗口主窗口代码://左边树形列表代码PrivatevoidSet_TreeMenuGroup(DataTabledbGroup,refSystem.Web.UI.WebControls.TreeViewTreeMenu){for(inti=0;i<dbGroup.Rows.Count;i++){TreeNodenode=newTreeNode();node.Text=dbGroup.Rows[i]["FGroupName"].ToString();node.ImageUrl=dbGroup.Rows[i]["FImageUrl"].ToString();node.SelectAction=TreeNodeSelectAction.Expand;TreeMenu.Nodes.Add(node);DataTabledbFFunList=SqlDataInfo.Get_DataList("FFunListID,FFunGroupID,FFunName,FEnabled,FSortID,FLinkUrl,FImageUrl","FT_FunList","");Set_TreeList(dbFFunList,node.ChildNodes,int.Parse(dbGroup.Rows[i]["FFunGroupID"].ToString()));}}//右上角状态显示代码protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){Label2.Text="登录人:"+Session["FEmpName"].ToString();labTime.Text="登录时间:+DateTime.Now.ToLongDateString();}}用户权限不同,左边的功能表单也将不同。这样明确了医生使用这套医院管理信息系统的目的,而且各个部门的医生也不会相互影响,造成不必要的数据丢失,或者制造垃圾数据。5.3门诊挂号模块设计单击“主窗口”中的“门诊挂号”按钮,系统会调用相应的“挂号管理”表单(Register.aspx.cs)。该表单上有“在线挂号”和“挂号记录”两个按钮。右侧由医生填入病人的基本信息和需要就诊的科室和主治医生。“挂号”按钮用来向数据库提交挂号信息,“重置”则表示重新填写挂号信息。“在线挂号”操作界面如图5-3:图5-3“在线挂号”窗口“在线挂号”窗口的代码为://挂号键的实现protectedvoidbtnAdd_Click(objectsender,EventArgse){stringmessage="";if(HOregisterSex.SelectedValue=="0"){message+="请选择性别!";}if(HOregisterksid.SelectedValue=="0"){message+="请选择科室!";}if(HOregisterDid.SelectedValue==""){message+="请选择医生!";}if(message.Length>0){this.RegisterStartupScript("hello","<script>alert('"+message+"');</script>");return;}OregisterInfo.HOregisterNumber=HOregisterNumber.Text;OregisterInfo.HOregisterOld=int.Parse(HOregisterold.Text);OregisterInfo.HOregisterSex=HOregisterSex.SelectedValue;OregisterInfo.HOregisterType=HOregisterType.SelectedValue;OregisterInfo.HOregisterName=HOregisterName.Text;OregisterInfo.HOregisterMoneyTpe=HOregisterMoneyTpe.SelectedValue;OregisterInfo.HOregisterksid=int.Parse(HOregisterksid.SelectedValue);OregisterInfo.HOregisterDid=int.Parse(HOregisterDid.SelectedValue);OregisterInfo.HOregisterCase=HOregisterCase.SelectedValue;OregisterInfo.HOregisterAddress=HOregisterAddress.Text;intreturnID=OregisterInfo.Add();if(returnID>0){this.RegisterStartupScript("hello","<script>alert('挂号成功!');window.location='RegisterLogList.aspx'</script>");}else{this.RegisterStartupScript("hello","<script>alert('挂号失败!')</script>");}}挂号成功后会自动弹出提示框,提示挂号成功。如图5-4所示:图5-4“挂号成功”提示框在挂号成功后,页面自动跳转到“挂号记录”,医生可以查看、查询历来挂号的记录,如图5-5所示:图5-5“挂号记录”页面5.4门诊管理模块设计这个模块中,医生可以对已经挂号的病人进行具体的病例诊断,并决定病人是否需要进行化验(包括纤维内窥镜实验、CT图、B超、验血、两对半实验、放射实验、脑电图)、住院或者是手术。此外,医生可以通过右上角的药品框,了解到医院药房目前所有的药品名称和库存现有的药品数量,可以针对性地配药给就诊病人,但是医生配出药品的数量不能超过医院库存现有的数量,否则将跳出提示。最后系统会自动填写“检查医师”的名字。“病人就诊”将会调用Diagnoses.aspx.cs表单,其操作界面如图5-6所示:图5-6“病人就诊”窗口病人就诊窗口的主要代码为:protectedvoidbtnGet_Click(objectsender,EventArgse){if(HOregisterName.Text!=""){ODiagnoses.FDiagnosesin=FDiagnosesin.SelectedValue;ODiagnoses.FSurgery=FSurgery.SelectedValue;ODiagnoses.HOregisterID=int.Parse(HOregisterID.Value);ODiagnoses.FAssay=FAssay.SelectedValue;ODiagnoses.FContent=FContent.Text;ODiagnoses.FEmployeeID=int.Parse(FEmployeeID.SelectedValue);intreturnID=ODiagnoses.Add();if(returnID>0){for(inti=0;i<GridViewYC.Rows.Count;i++){TextBoxtxtCount=(TextBox)GridViewYC.Rows[i].FindControl("txtnumber");if(txtCount.Text!=""){doubleOutCoun=double.Parse(txtCount.Text);outDiag.FLeechdomCount=OutCoun;intFLeechdomID=int.Parse(GridViewYC.DataKeys[i].Value.ToString());outDiag.FLeechdomID=FLeechdomID;stringsqlOut="UPDATEFT_LeechdomSETFLeechdomCount=(selectFLeechdomCount-"+OutCoun+"fromFT_LeechdomwhereFLeechdomID="+FLeechdomID+")WHEREFLeechdomID="+FLeechdomID;outDiag.Add();outDiag.GO_SQL(sqlOut);}}this.RegisterStartupScript("hello","<script>alert('就诊资料添加成功!');window.location='Diagnoseslist.aspx'</script>");}}else{this.RegisterStartupScript("hello","<script>alert('请先获取病人资料!')</script>");}}如果病人没有挂号,那么系统将不会让该病人就诊,如图5-7:图5-7需要挂号提示框医生开处方时,配给病人的药品数量不能超过库存数量,控制效果如图5-8所示:图5-8配药数量限制这样主治医生就能知道库存现有的药品和药品的数量,而且药品配出之后库存中的该药品数量会相应地减少。5.5住院管理模块设计住院管理模块主要是新增入院病人管理(图5-9)和病人进出院(图5-10)的管理两个功能,系统调用“住院管理”表单(Hospital.aspx.cs和Hospital_List.asps.cs)。图5-9新增入院病人界面病人入院登记的代码如下:protectedvoidbtnGetData_Click(objectsender,EventArgse){if(HOregisterNumber.Text!=""){OregisterInfo.GetModel(HOregisterNumber.Text);HOregisterName.Text=OregisterInfo.HOregisterName;HOregisterSex.Text=OregisterInfo.HOregisterSex;HOregisterold.Text=OregisterInfo.HOregisterOld.ToString();HOregisterAddress.Text=OregisterInfo.HOregisterAddress;HOregisterID.Value=OregisterInfo.HOregisterID.ToString();}}此外,系统对病人住院会有条件的限制。具体分为:1.病人是否已经挂号;2.病人是否已经住院;3.病人就诊时是否选择住院。如果病人还未挂号,会跳出如图5-7所示的提示框;如果病人已经住院,将跳出如图5-10所示提示框:图5-10不可重复住院提示框病人就诊时没有选择住院,他就不能住院,否则将会跳出提示框,如图5-11所示:图5-11不需要住院提示框此功能源代码为://判断是否获取病人信息if(HOregisterName.Text==""){this.RegisterStartupScript("hello","<script>alert('请先获取病人信息!');</script>");return;}//判断是否已经住院DataTabledb=OregisterInfo.Get_DataList("FBehospitalID","FB_ehospital","HOregisterID="+HOregisterID.Value+"andFBit=0");if(db.Rows.Count>0){this.RegisterStartupScript("hello","<script>alert('该病人已经住院!不可重复入住!');window.location='Hospital_List.aspx'</script>");return;}//判断该记录就诊时是否选择住院db=OregisterInfo.Get_DataList("FDiagnosesin","FD_iagnoses","HOregisterID="+HOregisterID.Value);if(db.Rows.Count>0){if(db.Rows[0]["FDiagnosesin"].ToString().Trim()!="住院"){this.RegisterStartupScript("hello","<script>alert('就诊记录显示该病人无需住院!');1window.location='../DiagnosesInfo/Diagnoseslist.aspx'</script>");return;}}5.6药房管理模块设计药房管理模块主要是实现增加药品,输入药品库存信息,删除药品等功能。此模块调用“药房管理”表单(FTLeechdom_Data.aspx.cs)。其主要界面如图5-12所示:图5-12查看药品界面增加药品可以点击右上角的按键,这时药房管理的医生就可以输入药品的具体信息,包括药品名称、药品编号、药品数量、药品单位及药品说明等。如图5-13所示:图5-13增加药品界面5.7管理中心模块设计在主窗口中单击“管理中心”按钮,系统将调用Employee_Data.aspx.cs和office_Data.aspx.cs表单。管理中心又可以分成对科室的管理和对医生的管理两个子块。先来看对科室管理的子块,在这个版面上,管理员用户可以对全部的科室进行查看、编辑、删除和添加等操作。它的界面如图5-14所示:图5-14查看科室界面下面的是医生管理的版面,实现的是对医生的查看、编辑、删除和添加等这几个功能,如图5-15所示:图5-15查看医生界面图5-16添加医生界面根据不同医生不同的权限需求,管理员可以分配给该医生相应的权限,这样有助于医生的管理。但是只有管理员级别的医生可以才有管理其他医生的权限。该板块核心代码如下://添加医生信息protectedvoidbtnData_Click(objectsender,EventArgse){StringAction=Request.QueryString["Action"]!=null?Request.QueryString["Action"].Trim().ToLower():"Add";HoEmployeeEmployee=newHoEmployee();Employee.FEmpCode=FEmpCode.Text;Employee.FEmpName=FEmpName.Text;Employee.FHomeAddress=FHomeAddress.Text;Employee.FSex=FSex.SelectedValue.ToString();Employee.FMoblieTel=FMoblieTel.Text;Employee.FDepaID=int.Parse(FupID.Value);//增加权限的方法privatevoidSet_QX(intEmployeeID){for(inti=0;i<CheckBoxListqx.Items.Count;i++){if(CheckBoxListqx.Items[i].Selected){stringstr="insertintoFE_EmpQX(FemployeeID,FModuleID)values("+EmployeeID+","+CheckBoxListqx.Items[i].Value+")";Employee.GO_SQL(str);}}}5.8本章小结本章介绍了简易医院管理信息系统的具体实现过程,界面的设计以及核心部分的代码,使一个完整的系统出现在大家眼前。第6章结论医院的特殊性要求管理人员仔细地管理好医院内部的每一个环节,然而,随着社会信息化的到来,医院的管理工作变得非常复杂,这就要求有一个功能强大的管理系统,以协调管理人员处理好医院的每一件事务。系统投入使用以后,将大大减少医院管理部门的劳动量,改善了医院内部以及整个医院各个部门之间的管理、调度及物资的调配问题,使得管理更加合理规范。本系统采用VisualStudio2005编写,面向对象可视化编程,使系统的开发工作适应目前的流行趋势。设计时采用了常用的自顶向下的瀑布式结构化设计方法。各子系统具有独立的数据库结构,设计时力求简单易用,便于维护。各模块为平行关系,彼此间无直接的参数联系,也无库的交叉关联,从而保证各子系统可以单独运行。通过对本医院管理系统的开发,使得我对开发系统的流程更加熟悉,问题定义、需求分析、功能设计、总体设计、详细设计,等等。并且对软件的测试方法有了较深的理解,同时对医院各个部门日常工作的流程也有了大体的了解,在开发的过程中,认真学习了与系统相关的知识,拓宽了开发系统的思路,感觉收获很大。在系统开发的初期,首先要了解医院各个部门日程的管理流程,初步了解一些相关的知识,为此,我深入到附近几家医院,去具体了解一些日程工作情况,这样才能使得开发出来的系统更实用。在完成了调研工作之后,逐步开始了对整个系统的设计,包括总体设计、详细设计、到编码实现、系统测试,整个过程完成地很吃力,遇到的困难很多,但是通过自己在图书馆或网上查找相关资料,或者向老师和同学请教,问题终于一个一个得到解决。由于时间仓促,本人能力有限,该系统仍存在一些问题需要在以后的开发、维护工作中继续完善。比如:界面不够美观;系统功能不够完善。已有的出入院系统和就诊系统也还有几个功能模块来不及开发。

致谢本次毕业设计,在老师的悉心指导下,使我巩固了以前所学的书本知识,结合实际开发工作,加深了我对软件规范化开发的理解,对我今后的工作将大有裨益。感谢老师的悉心指导,感谢同班的各位同学给我提供了借鉴和学习的机会,感谢我的父母一直在默默的支持我、鼓励我,借此机会,我要向老师、父母以及同班的各位同学,表示深深的谢意!

参考文献[1]何勇.医院信息系统设计与开发[D].重庆大学,2007.[2]王国文.HYPERLINK"/kns50/detail.aspx?filename=2007116624.nh&dbname=CMFD2007&filetitle=%e5%8c%bb%e9%99%a2%e7%ae%a1%e7%90%86%e4%bf%a1%e6%8

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论