版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
太原理工大学毕业设计(论文)用纸课题简介1.1课题引入1991年,美国医学研究所发表了CPR研究委员会的专题报告。报告研究了自1915年美国开始有病史历程,总结了近40年来实现病例记录计算机化的经验,全面论述了CPR发展的各个方面,指出实现CPR系统必须解决的问题。该报告对当前医院信息系统(HIS)的发展有首重要的指导意义。1993年9月,在法国马赛召开首次健康卡系统国际会议,研讨健康卡的应用、效益分析、实施策略、安全保密、标准化及发展趋势等问题。在中国,1994年第6届医药信息学大会上,国家卫生部提出"希望到本世纪末,全国将有若干家医院能够真正实现完整的CPR系统"。这一切,都表明电子病例已成为目前医院信息系统发展的重要目标之一。
目前医院使用的传统病例主要是记录在纸张和胶片上。传统病例在使用中有许多不足之处,如易变质、占地多、不易保管、查找和存取麻烦、不能几个人同时借阅同一份病例等。用计算机化的病史记录系统代替手写病案始终是医院信息系统研究的主要课题这一。计算机应用于医院40多年来,人们一直为实现病例管理和病程记录计算机化,作出了不懈的努力,取得了很大的进步。本系统通过对门诊病人信息管理系统方案的设计和实施,提出一种对病人在就诊过程中产生的信息进行数字化管理的技术,为门诊建立起信息高速公路,促使医院门诊逐步形成方便、科学、合理的管理模式。从根本上改变传统的依靠文件等信息的传递方式,实现无纸化办公,简化就诊手续,加快信息流通速度,提高治疗效率,基本实现医院门诊系统的数字化管理。同时,本系统对门诊病人既往病史以及用药记录存档,既便于医生更加准确的对当前病人的诊断,同时也有利于医生对各种病例进行分析研究。病例模板的套餐制更具灵活性。随着计算机的迅猛发展和普及,以及数据库技术的广泛应用,各企事业单位和商业机构逐渐实现了信息化管理,越来越多的医疗机构也逐渐步入了信息化系统化的进程。现代化的医院也应该有现代化的管理系统。在科技日益发达的今天,人们的身体健康也在不断受到重视。因此,医院进行现代化管理就变得尤为重要。病例是病人就诊治病,根据自己的身体状况进行科学的,实际的统一的进行记录。对自己的病情进行科学的总结,对自己病情的发展程度进行阶段性的记录。近些年,随着医疗机构多年来医治的病人不断的增加,手动记载病人的病例越来越不方便,病例资料积攒越来越多,对空间的占用越来越严重,随着时间的推移,出现了各种各样的问题,也弊端和缺陷显现的越来明显起来。电子病例是信息技术和网络技术在医疗领域的必然产物是医院病例现代化管理的必然趋势。病例无论是对医院、病人、医生都有重要的意义和价值。电子病例除了具有纸张病例所有的传统功能外,还给我们带来了传统纸张病例所不具有的很多优点。比如,加快了医疗信息传递共享、提高工作效率;能够辅助医生做出判断,提高医疗工作质量;能够加强环节管理,方便病人信息的异地共享等。在医院管理中,医务人员与患者是医院最宝贵的资源,也是医院的“生命线”,因此医院病例管理系统是医院的计算机管理信息系统重要组成部分。而医院病例管理又是医务人员与患者资源管理的重中之重。实行电子化的医院病例管理,可以让医务人员与患者资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。医院病例管理信息系统的实现可以减轻比较繁琐的手工信息管理。1.2课题背景近几年,随着医院的规模不断扩大,用原来的只靠人管理病例的方法已不合时宜。目前我国医院的信息处理基本上还停留在手工方式,劳动强度大且工作效率低,医务人员和管理人员的大量时间都消耗在事务性工作上;病案、临床检验、病理检查等许多宝贵的数据资料的检索十分费事甚至难以实现;对这些资料深入的统计分析手工方式无法进行,不能充分为医学科研利用。随着计算机应用日益广泛;各行各业对生产管理的自动化、信息化、系统化的要求也不断提高;因而,降低劳动强度、提高劳动效率也就必然促使了医院中电子病例的使用。1.3国内外研究现状电子病例是一个很复杂的项目,国际上有很多国家都要建健康档案,就是想把病例电子化。美国在新奥尔良由于飓风影响导致了大致有50、60万人的医学档案,这些病例都是由纸质的,在社区的诊所或者区域的医院保存,这些人的医学档案丢失,包括当地的州政府认为这是一个巨大的事故。从这件事反过来认识到建立病例电子化的紧迫性和重要性,因为电子病例的存放、利用会更加安全。联邦政府也成立了建立电子病例的委员会,提出了三个基本的原则。第一,要分级保密,可能有些是及其保密的,有些可以为公众共享,这是关于安全私密性的原则。第二,更新的保真性,建立电子病例的静态环境以后会有些变化,包括临床诊断和治疗在这个电子病例应该有记录,至少应该知道是谁诊断的,是什么医生在什么场合下做的修改。第三,必须具有相当方便容易让人访问,不能有一些政策的堡垒,只要是经过授权的,无论是职业的医师、有关方面需要访问的话应该能够得到这个病例。1.4本课题研究的意义电子病例将提高医院各项工作的效率和质量,促进医学科研、教学;减轻各类事务性工作的劳动强度,使他们腾出更多的精力和时间来服务于病人。电子病例与纸病例相比,最显著的优点就是对信息数据的共享和反复利用。病人看病不需要携带病例,只需提供自己的姓名、病例号或其他信息,医生通过计算机即可得到该病人所有信息。本系统以B/S(Browser/Server)模式作为基本结构,所有程序和数据库存放在服务器上,浏览器端只需安装操作系统和浏览器即可,系统由用户浏览器、Web服务器二个层次组成,体现了其开发维护简单性的特点。电子病例(CPR,Computer-BasedPatientRecord),它是用电子设备(计算机、健康卡等)保存、管理、传输和重现的数字化的病人的医疗记录,取代手写纸张病例。
2系统概述与技术介绍作了一个管理系统,首先布局一定要新颖、有特色,只有这样才能引起用户的关注,最大限度的满足人们的需求,而且要有很强的易用性,易用性差的管理系统会让用户产生厌烦情绪。当然一个好的管理系统还要有很完整的处理信息的功能,以便及时的处理系统信息。通过对用户的调查和对现有的电子病例管理系统运行的流程分析,为了满足大多数用户的需求,所以我的目标是要构建一个页面简单清晰但包含信息相对全面、易用性强的病例管理系统。2.1B/S结构介绍B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安装、零维护。系统的扩展非常容易。B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。架构特点\o"编辑本段"编辑(1)维护和升级方式简单。当前,软件系统的改进和升级越发频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。(2)成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。当前的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用哪种操作系统都可以让大部分人使用windows作为桌面电脑操作系统不受影响,这就使得最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。(3)应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。联系\o"编辑本段"编辑C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或SQLServer。客户端需要安装专用的客户端软件。B/S是Browser/Server的缩写,客户机上只要安装一个浏览器(Browser),如NetscapeNavigator或InternetExplorer,服务器安装Oracle、Sybase、Informix或SQLServer等数据库。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过WebServer同数据库进行数据交互。系统开发中C/S结构(Client/Server)中Client(客户端)往往可以由B/S结构(Browser/Server结构)的Browser(浏览器)及其载体承担,C/S结构的Web应用与B/S结构(Browser/Server结构)具有紧密联系。大系统和复杂系统中,C/S结构和B/S结构的嵌套也很普遍。区别\o"编辑本段"编辑1.硬件环境不同:C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。B/S建立在广域网之上的,不必是专门的网络硬件环境,例如电话上网,租用设备.信息自己管理.有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。2.对安全要求不同C/S一般面向相对固定的用户群,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S结构适宜。可以通过B/S发布部分可公开信息。B/S建立在广域网之上,对安全的控制能力相对弱,可能面向不可知的用户。3.对程序架构不同C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上.比C/S有更高的要求B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk2000Exchange2000等,全面支持网络的构件搭建的系统。SUN和IBM推JavaBean构件技术等,使B/S更加成熟.。4.软件重用不同C/S程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好。B/S对的多重结构,要求构件相对独立的功能.能够相对较好的重用.就如买来的餐桌可以再利用,而不是做在墙上的石头桌子5.系统维护不同C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级.升级难.可能是再做一个全新的系统B/S构件组成,方面构件个别的更换,实现系统的无缝升级.系统维护开销减到最小.用户从网上自己下载安装就可以实现升级。6.处理问题不同C/S程序可以处理用户面固定,并且在相同区域,安全要求高,需求与操作系统相关.应该都是相同的系统。B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的。与操作系统平台关系最小。7.用户接口不同。C/S多是建立的Window平台上,表现方法有限,对程序员普遍要求较高。B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流.并且大部分难度减低,减低开发成本。8.信息流不同C/S程序一般是典型的中央集权的机械式处理,交互性相对低。B/S信息流向可变化,B-BB-CB-G等信息、流向的变化,更像交易中心。2.2SQLServer介绍SQLServer是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。MicrosoftSQLServer近年来不断更新版本,1996年,Microsoft推出了SQLServer6.5版本;1998年,SQLServer7.0版本和用户见面;SQLServer2000是Microsoft公司于2000年推出,目前最新版本是2012年3月份推出的SQLSERVER2012。特点1.真正的客户机/服务器体系结构。2.图形化用户界面,使系统管理和数据库管理更加直观、简单。3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。4.SQLServer与WindowsNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQLServer也可以很好地与MicrosoftBackOffice产品集成。5.具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用。6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。7.SQLServer提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。SQLServer2000与以前版本相比较,又具有以下新特性:1.支持XML(ExtensiveMarkupLanguage,扩展标记语言)2.强大的基于Web的分析3.支持OLEDB和多种查询4.支持分布式的分区视图配置要求安装、运行SQLServer2000的硬件需求1.计算机Intel及其兼容计算机,Pentium166Mz或者更高处理器或DECAlpha和其兼容系统。2.内存(RAM)企业版最少64MB内存,其他版本最少需要32MB内存,建议使用更多的内存。3.硬盘空间完全安装(Full)需要180MB的空间,典型安装(Typical)需要170MB的空间,最小安装(Minimum)需要65MB的空间。详细介绍\o"编辑本段"编辑SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。SQLServerSQLServer是一个关系数据库管理系统。它最初是由MicrosoftSybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。Sybase则较专注于SQLServer在UNIX操作系统上的应用。SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统,该版本继承了SQLServer7.0版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。2.3MyEclipse介绍本系统是跨越平台限制和跨越浏览器限制的充满动感的网页。构建电子病例管理系统所用的网页编辑器为MyEclipse,MyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate。2.4JavaScrip语言Javascript是一种解释性的,基于对象的脚本语言,Javascript主要是基于客户端运行的,用户点击带有Javascript的网页,网页里的Javascript就传到浏览器,由浏览器对此作处理。它的代码可以直接嵌入到HTML命令中,最大特点是可以方便操纵网站上的元素,并与Web浏览器交互,同时JavaScrip可以捕捉用户操作并作出反映。JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JavaScript的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。在HTML基础上,使用Javascript可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。在本系统中很多地方使用了javascript技术,比如说,检验用户输入数据的有效性,是否重复,是否为空等等。2.5JSP技术JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP技术的优点:(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。(4)多样化和功能强大的开发工具支持。Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下(5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能。内部对象说明:request客户端请求,此请求会包含来自GET/POST请求的参数;response网页传回客户端的响应;pageContext网页的属性是在这里管理;session与请求有关的会话;applicationservlet正在执行的内容;out用来传送响应的输出流;config代码片段配置对象;pageJSP网页本身;exception针对错误网页,未捕捉的例外。2.6MVC模式为了满足系统对先进性、安全性、跨平台性、可扩展性、可移植性、分布式等方面的要求,系统总体架构设计采用先进的基于java的B/S的三层体系结构。MVC是三个单词的缩写,分别为:模型(Model),视图(View)和控制Controller)[9]。MVC模式的目的就是实现Web系统的职能分工。Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。View层用于与用户的交互,通常用JSP来实现。Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。Web浏览技术已经广泛地应用于Internet,并被广大用户接受和使用。Web技术是随http和html一起出现的。Web服务器利用http传递html文件,Web浏览器使用http检索html文件。Web服务器一旦检索到信息,Web浏览器就会以静态和交互(如文本、图像)方式显示各种对象。在电子商务业务进行过程中,需要在各种贸易角色之间浏览和交换各种信息,此时就要使用Web浏览技术。这种模型使系统结构更加清楚,分工更加明确,有利于整个系统后期的维护和升级。MVC(ModelViewController)模型(model)-视图(view)-控制器(controller)MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。模型-视图-控制器(MVC)是XeroxPARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Oracle旗下Sun公司JavaEE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。三层体系结构由浏览器、web服务器和数据库组成,并结合HTML语言、jsp、JavaScript脚本语言、Ajax、ODBC等技术,后台的数据库采用微软的SQLServer2005,系统一般的MVC模型如图2-1所示。图2-1系统MVC结构图如图2-1可知,用户界面层是用户和整个系统的接口,客户端只需安装通用的浏览器即可建立与本系统的连接。业务逻辑层负责处理用户输入的信息,或将这些信息发送给数据库层进行保存,或调用数据库层中的函数再次读出这些数据。数据访问层是整个分层体系的最底层,它主要用来实现与数据库的交互,即完成查询、插入、删除和修改数据库中数据的功能MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。分层概念视图,模型,控制器。视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括MacromediaFlash和象XHTML,XML/XSL,WML等一些标识语言和Webservices。如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusionComponents这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。MVC模型还可以实现软件工程的高内聚,低耦合的终极目标。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求自己本身并不参与业务逻辑处理,然后再确定用哪个视图来显示返回的数据。MVC的优点:1)低耦合性2)高重用性和可适用性3)较低的生命周期成本4)快速的部署5)可维护性6)有利于软件工程化管理3需求分析 3.1可行性研究该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。我们在这里主要从技术可行性、经济可行性和操作可行等方面进行分析。3.1.1经济可行性开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该系统可行。3.1.2技术可行性技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。本系统用的是JSP开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。本系统的开发,是典型的Mis开发。采用JSP编程语言,已无技术上的问题。3.1.3运行可行性运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。当前信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。3.1.4时间可行性从时间上看,在两个月的时间里学习相关知识,并开发系统,时间上是有点紧,但是不是不可能实现,通过两个多月的努力功能基本实现。3.1.5法律可行性①所有技术资料都为合法。②开发过程中不存在知识产权问题。③未抄袭任何系统,不存在侵犯版权问题。④开发过程中未涉及任何法律责任。综上所述,本系统的开发从技术上、从经济上、从法律上都是完全可靠的。4系统概要设计4.1系统设计概述系统设计是在系统分析的基础上由抽象到具体的过程,同时,还应考虑到系统所实现的内外环境和主客观条件,本着实事求是的态度进行这一阶段的工作。系统设计阶段的主要目的是将系统分析阶段所提出的反映用户信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理方案。这一阶段的主要任务就是从管理信息系统的总体目标出发,根据系统分析阶段对系统的逻辑功能的要求,并考虑到经济、技术和运行环境等方面的条件,确定系统的总体结构和系统各组成部分的技术方案,合理选择计算机和通信的软、硬件设备,提出系统的实施计划,确保系统总体目标的实现[11]。系统设计工作的特点:1系统设计阶段,大量工作是技术性的。2允许用户对已提出的信息需求做非原则性的修改或补充。3用户在操作使用和运行环境等方面的具体要求也要在系统设计阶段加以明确并在系统的技术方案中得反映,因此系统设计人员还要同管理环境打交道。4系统设计工作的环境是管理环境和技术环境的结合,是系统设计工作的重要特点也是整个系统成功的一个必不可缺的环节。系统设计原则1)阶段开发原则:系统框架和数据结构全面设计,具体功能实现分阶段进行。2)易用性原则:方便上网客户浏览和操作,最大限度地减轻后台管理人员的负担,做到部分业务的自动化处理,提供良好的用户体验。3)业务完整性原则:对于业务进行中的特殊情况能够做出及时、正确的响应,保证业务数据的完整性,减少数据的误读。4)业务规范化原则:在系统设计的同时,也为将来的业务流程制定了较为完善的规范,具有较强的实际操作性,也给整个系统带来安全性。5)可扩展性原则:系统设计要考虑到业务未来发展的需要,要尽可能设计得简明,各个功能模块间的耦合度小,便于系统的扩展。如果存在旧有的数据库系统,则需要充分考虑兼容性,比如说浏览器的兼容。4.2系统用例图医生的操作: 1、医生可以管理病人病例基本信息。 2、会员可以管理病人诊断信息。医生用例图,如图4-1所示:图4-1医生用例图管理员的操作:1、管理员可以管理科室信息。2、管理员可以管理科室项目信息。3、管理员可以管理医生信息。管理员用例图,如图4-2所示:图4-2管理员用例图4.3系统流程图用户想到进入系统进行操作,必须要先登录,登录成功后才能进入系统进行操作。不同权限用户进入系统后,可以进行相应操作。系统基本流程如下图4-3所示:图4-3系统流程图4.4系统功能分析图4-4医生用户功能图 这就是医生用户功能框图(如图4-4所示)。医生用户功能包括:病例信息管理及诊疗记录管理。下面是每个模块的详细介绍:病例信息管理模块:医生通过该模块管理病例基本信息,包括病例信息的添加、修改、查询、删除操作。诊疗记录管理模块:医生通过该模块管理病人诊疗记录信息,包括诊疗记录的添加、查询操作。图4-5系统后台功能图这就是本系统的管理员功能框图(如图4-5所示)。管理员功能模块分析:科室信息管理模块:管理员通过该模块管理科室信息,包括科室信息的添加、查询、删除等操作。科室项目管理模块:管理员通过该模块管理科室项目信息,包括科室项目的添加、查询、删除等操作。医生信息管理模块:管理员通过该模块管理医生信息,包括医生信息添加、查询、删除等操作。修改个人密码:管理员登录系统,可以修改自己的登录密码。5数据库设计与实现5.1数据库结构设计数据库是“按照数据结构来组织、存储和管理数据的仓库”。作为网络的一个重要应用,数据库在网站建设中发挥着重要的作用,与普通网站相对而言,具有数据库功能的网站网页我们通常称为动态页面,也就是说页面不是一层不变的,页面上内容(或部分内容)是动态生成的,它可以根据数据库中相应部分内容的调整而变化,使网站内容更灵活,维护更方便,更新更便捷。SQLServer数据库作为微软推出的以标准JET为引擎的桌面型数据库系统,由于具有操作简单、界面友好等特点,具有较大的用户群体。本系统数据库采用SQLServer数据库,系统数据库名称为db_bingli,下面分别给出数据表概要说明、主要数据表的结构。5.1.1表概要说明系统数据库db_bingli中含有7张数据表:科室信息表t_keshi科室项目表t_xiangmu医生信息表t_yisheng病例信息表t_bingli诊疗信息表t_julu诊疗内容表t_neirong管理员信息表t_admin5.1.2数据表的结构(1)t_keshi(科室信息表)科室信息表主要用于保存医院科室基本信息,如科室名称,该表结构如表5-1所示。表5-1t_keshi的结构字段名数据类型长度主键否描述idint4是自动编号mingchengvarchar50否科室名称t_xiangmu(科室项目表)科室项目信息表主要用于保存科室项目信息,如科室信息、项目名称等,该表结构如表5-2所示。表5-2t_xiangmu的结构字段名数据类型长度主键否描述idint4是自动编号keshi_idint4否科室信息mingchengvarchar50否科室名称(3)t_yisheng(医生信息表)医生信息表主要用于保存医生基本信息,如姓名、性别、年龄、职务等,该表结构如表5-3所示。表5-3t_yisheng的结构字段名数据类型长度主键否描述idint4是自动编号loginnamevarchar50否登录名loginpwvarchar50否登录密码keshi_idvarchar50否科室信息xingmingvarchar50否姓名xingbievarchar50否性别nianlingvarchar50否年龄zhiwuvarchar50否职务(4)t_bingli(病例信息表)病历信息表主要用于保存病历基本信息,如编号、姓名、性别、年龄等,该表结构如表5-4所示。表5-4t_bingli的结构字段名数据类型长度主键否描述idint4是自动编号bianhaovarchar50否编号xingmingvarchar50否姓名xingbieint4否性别nianlingint4否年龄shengriint4否生日hunfouint4否婚否zhuzhiint4否住址lianxiint4否联系电话shenfenint4否身份证号(5)t_jilu(诊疗记录表)诊疗记录表主要用于保存病例的诊疗记录信息,如病例信息、医生信息、记录时间等内容。该表结构如表5-5所示。表5-5t_jilu的结构字段名数据类型长度主键否描述idint4是自动编号yisheng_idint4是医生信息bingli_idint4是病例信息shijianvarchar50否记录时间(6)t_neirong(内容信息表)内容信息表主要用于保存诊疗记录内容信息,如病例信息、项目信息、内容等。该表结构如表5-6所示。表5-6t_neirong的结构字段名数据类型长度主键否描述idint4是自动编号jilu_idint4是记录信息xiangnu_idint4是项目信息neirongvarchar50否记录内容(7)t_admin(管理员信息表)管理员信息表主要用于保存管理员的基本信息,该表结构如表5-7所示。表5-7t_admin的结构字段名数据类型长度主键否描述idint4是自动编号userNamevarchar50否登录账号userPwvarchar50否登录密码6系统的实现6.1系统登录设计由于后台是用于维护系统,所以必须先要登录系统,才能进行相关的管理操作,打开后台管理页面的程序窗口,要求用户输入正确的用户名、密码,二者缺一不可,人员通过后台登录入口进入后台登录模块,后台登录模块主要用于验证管理员的身份和密码。后台登录模块的运行效果如图6-1:图6-1系统登录功能模块图用户登录模块核心代码: publicStringlogin(StringuserName,StringuserPw,intuserType) { System.out.println("userType"+userType); Stringresult="no"; if(userType==0)//系统管理员登陆 { Stringsql="fromTAdminwhereuserName=?anduserPw=?"; Object[]con={userName,userPw}; ListadminList=adminDAO.getHibernateTemplate().find(sql,con); if(adminList.size()==0) { result="no"; } else { WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); TAdminadmin=(TAdmin)adminList.get(0); session.setAttribute("userType",0); session.setAttribute("admin",admin); result="yes"; } } if(userType==1)//医生登录 { Stringsql="fromTYishengwhereloginname=?andloginpw=?anddel='no'"; Object[]con={userName,userPw}; ListyishengList=yishengDAO.getHibernateTemplate().find(sql,con); if(yishengList.size()==0) { result="no"; } else { WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); TYishengyisheng=(TYisheng)yishengList.get(0); session.setAttribute("userType",1); session.setAttribute("user",yisheng); result="yes"; } } returnresult; }6.2管理员功能设计6.2.1科室信息管理本模块实现对科室信息的管理操作,包括科室信息的添加、删除操作。点击科室信息管理菜单,进入科室信息管理页面,该页面通过列表列出已添加的科室信息,包括科室名称。点击列表的删除按钮,实现科室信息的删除操作。界面设计如图6-2:图6-2科室信息管理点击添加按钮,进入科室信息添加页面,输入符合条件的科室信息,完成科室信息的添加操作。界面设计如图6-3:图6-3科室信息添加该模块的主要功能keshiAction类实现的,该类的主要功能是与数据库交互,查询或保存科室信息,并通过struts.xml配置跳转,打开相应的jsp页面。主要代码是: publicStringkeshiAdd() { TKeshikeshi=newTKeshi(); keshi.setMingcheng(mingcheng); keshi.setDel("no"); keshiDAO.save(keshi); this.setMessage("科室信息添加成功!"); this.setPath("keshiMana.action"); return"succeed"; } publicStringkeshiUpd() { TKeshikeshi=keshiDAO.findById(id); keshi.setMingcheng(mingcheng); keshiDAO.getHibernateTemplate().update(keshi); this.setMessage("科室信息修改成功!"); this.setPath("keshiMana.action"); return"succeed"; } publicStringkeshiDel() { Stringsql="updateTKeshisetdel='yes'whereid="+id; keshiDAO.getHibernateTemplate().bulkUpdate(sql); this.setMessage("科室信息删除成功"); this.setPath("keshiMana.action"); return"succeed"; } publicStringkeshiMana() { Stringsql="fromTKeshiwheredel='no'"; ListkeshiList=keshiDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("keshiList",keshiList); returnActionSupport.SUCCESS; }6.2.2科室项目管理本模块实现对科室项目信息的管理操作,包括科室项目信息的添加、删除操作。点击科室项目信息管理菜单,进入科室项目信息管理页面,该页面通过列表列出已添加的科室项目信息,包括科室项目名称等。点击列表的删除按钮,实现科室项目信息的删除操作。界面设计如图6-4:图6-4科室项目信息管理点击添加按钮,进入科室项目信息添加页面,输入符合条件的科室项目信息,完成科室项目信息的添加操作。界面设计如图6-5:图6-5科室项目信息添加该模块的主要功能keshiAction类实现的,该类的主要功能是与数据库交互,查询或保存科室项目信息,并通过struts.xml配置跳转,打开相应的jsp页面。主要代码是: publicStringxiangmuAdd() { TXiangmuxiangmu=newTXiangmu(); xiangmu.setKeshiId(keshiId); xiangmu.setMingcheng(mingcheng); xiangmu.setDel("no"); xiangmuDAO.save(xiangmu); this.setMessage("科室项目添加成功!"); this.setPath("xiangmuMana.action?keshiId="+keshiId); return"succeed"; } publicStringxiangmuUpd() { TXiangmuxiangmu=xiangmuDAO.findById(id); xiangmu.setMingcheng(mingcheng); xiangmuDAO.getHibernateTemplate().update(xiangmu); this.setMessage("科室项目修改成功!"); this.setPath("xiangmuMana.action?keshiId="+keshiId); return"succeed"; } publicStringxiangmuDel() { Stringsql="updateTXiangmusetdel='yes'whereid="+id; xiangmuDAO.getHibernateTemplate().bulkUpdate(sql); this.setMessage("科室项目删除成功!"); this.setPath("xiangmuMana.action?keshiId="+keshiId); return"succeed"; } publicStringxiangmuMana() { Stringsql="fromTXiangmuwheredel='no'andkeshi_id="+keshiId; ListxiangmuList=xiangmuDAO.getHibernateTemplate().find(sql); TKeshikeshi=keshiDAO.findById(keshiId); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("xiangmuList",xiangmuList); request.put("keshi",keshi); returnActionSupport.SUCCESS; }6.2.3医生信息管理本模块实现对医生信息的管理操作,包括医生信息的添加、删除操作。点击医生信息管理菜单,进入医生信息管理页面,该页面通过列表列出已添加的医生信息,包括医生姓名、性别、职务等。点击列表的删除按钮,实现医生信息的删除操作。界面设计如图6-6:图6-6医生信息管理点击添加按钮,进入医生信息添加页面,输入符合条件的医生信息,完成医生信息的添加操作。界面设计如图6-7:图6-7医生信息添加该模块的主要功能yishengAction类实现的,该类的主要功能是与数据库交互,查询或保存医生信息,并通过struts.xml配置跳转,打开相应的jsp页面。主要代码是: publicStringyishengAdd() { TYishengyisheng=newTYisheng(); yisheng.setLoginname(loginname); yisheng.setLoginpw(loginpw); yisheng.setKeshiId(keshiId); yisheng.setXingming(xingming); yisheng.setXingbie(xingbie); yisheng.setNianling(nianling); yisheng.setZhiwu(zhiwu); yisheng.setDel("no"); yishengDAO.save(yisheng); this.setMessage("医生信息添加成功!"); this.setPath("yishengMana.action"); return"succeed"; } publicStringyishengDel() { Stringsql="updateTYishengsetdel='yes'whereid="+id; yishengDAO.getHibernateTemplate().bulkUpdate(sql); this.setMessage("医生信息删除成功"); this.setPath("yishengMana.action"); return"succeed"; } publicStringyishengMana() { Stringsql="fromTYishengwheredel='no'"; ListyishengList=yishengDAO.getHibernateTemplate().find(sql); for(Objectobject:yishengList){ TYishengyisheng=(TYisheng)object; yisheng.setKeshi(keshiDAO.findById(yisheng.getKeshiId())); } Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("yishengList",yishengList); returnActionSupport.SUCCESS; }6.3医生功能设计6.3.1病例信息管理本模块实现对病例信息的管理操作,包括病例信息的添加、删除操作。点击病例信息管理菜单,进入病例信息管理页面,该页面通过列表列出已添加的病例信息,包括病例编号、患者姓名、性别、联系方式等。点击列表的删除按钮,实现病例信息的删除操作。界面设计如图6-8:图6-8病例信息管理点击添加按钮,进入病例信息添加页面,输入符合条件的病例信息,完成病例信息的添加操作。界面设计如图6-9:图6-9病例信息添加该模块的主要功能bingliAction类实现的,该类的主要功能是与数据库交互,查询或保存病例信息,并通过struts.xml配置跳转,打开相应的jsp页面。主要代码是: publicStringbingliAdd() { HttpServletRequestrequest=ServletActionContext.getRequest(); TYishengyisheng=(TYisheng)request.getSession().getAttribute("user"); TBinglibingli=newTBingli(); bingli.setYishengId(yisheng.getId()); bingli.setBianhao(bianhao); bingli.setXingming(xingming); bingli.setXingbie(xingbie); bingli.setNianling(nianling); bingli.setShengri(shengri); bingli.setHunfou(hunfou); bingli.setZhuzhi(zhuzhi); bingli.setLianxi(lianxi); bingli.setShenfen(shenfen); bingli.setDel("no"); bingliDAO.save(bingli); this.setMessage("病历信息添加成功!"); this.setPath("bingliMana.action"); return"succeed"; } publicStringbingliUpd() { TBinglibingli=bingliDAO.findById(id); bingli.setXingming(xingming); bingli.setXingbie(xingbie); bingli.setNianling(nianling); bingli.setShengri(shengri); bingli.setHunfou(hunfou); bingli.setZhuzhi(zhuzhi); bingli.setLianxi(lianxi); bingli.setShenfen(shenfen); bingliDAO.getHibernateTemplate().update(bingli); this.setMessage("病历信息修改成功!"); this.setPath("bingliMana.action"); return"succeed"; } publicStringbingliDel() { Stringsql="updateTBinglisetdel='yes'whereid="+id; bingliDAO.getHibernateTemplate().bulkUpdate(sql); this.setMessage("病历信息删除成功"); this.setPath("bingliMana.action"); return"succeed"; } publicStringbingliMana() { HttpServletRequestrequest=ServletActionContext.getRequest(); Stringsql="fromTBingliwheredel='no'"; ListbingliList=bingliDAO.getHibernateTemplate().find(sql); request.setAttribute("bingliList",bingliList); returnActionSupport.SUCCESS; }6.3.2诊断记录管理本模块实现对诊断记录信息的管理操作,包括诊断记录信息的添加、删除操作。点击诊断记录信息管理菜单,进入诊断记录信息管理页面,该页面通过列表列出已添加的诊断记录信息,包括诊断记录信息、项目名称、项目内容等。界面设计如图6-10:图6-10诊断记录信息管理点击添加按钮,进入诊断记录信息添加页面,输入符合条件的诊断记录信息,完成诊断记录信息的添加操作。界面设计如图6-11:图6-11诊断记录信息添加该模块的主要功能jiluAction类实现的,该类的主要功能是与数据库交互,查询或保存诊断记录信息,并通过struts.xml配置跳转,打开相应的jsp页面。主要代码是: publicStringjiluToAdd() { HttpServletRequestrequest=ServletActionContext.getRequest(); TYishengyisheng=(TYisheng)request.getSession().getAttribute("user"); Stringsql="fromTXiangmuwheredel='no'andkeshi_id="+yisheng.getKeshiId(); ListxiangmuList=xiangmuDAO.getHibernateTemplate().find(sql); request.setAttribute("bingli",bingliDAO.findById(bingliId)); request.setAttribute("xiangmuList",xiangmuList); request.setAttribute("xiangmuIds",getXiangmuIds(xiangmuList)); returnActionSupport.SUCCESS; } publicStringjiluAdd() { HttpServletRequestrequest=ServletActionContext.getRequest(); TYishengyisheng=(TYisheng)request.getSession().getAttribute("user"); intjiluId=0; Sessionsession=jiluDAO.getHibernateTemplate().getSessionFactory().openSession(); Transactiontx=session.beginTransaction(); TJilujilu=newTJilu(); jilu.setYishengId(yisheng.getId()); jilu.setBingliId(bingliId); jilu.setShijian(DateUtils.formatDate2Str(newDate(),"yyyy-MM-ddHH:mm:ss")); sessi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度购物中心广告位使用权出租合同(含品牌推广)3篇
- 2024年国际会展服务采购合同模板2篇
- 2024全新盒饭配送中心运营合同6篇
- 2024年合同争议解决担保2篇
- 2024年商品房买卖合同(带智能家居家庭健康)3篇
- 2024年度餐饮加盟店经营合同2篇
- 2024年度第一人民医院进修人员医疗质量管理与服务协议3篇
- 2024专业家禽养殖技术支持与服务合同版B版
- 2024年度别墅物业管理合同:社区文化活动策划与赞助服务3篇
- 2024塑胶场地施工与环保材料研发与应用合同3篇
- 第一节-食品干藏原理
- 艾草种植项目商业计划书范文参考
- 学生对科学实验课调查问卷
- NSE型板链斗式提升机(中文)
- 部编语文三年级上册课文全部量词
- 大力加强依法治校推进学校治理体系和治理能力现代化
- 水平定向钻施工组织方案通用
- 卢家宏《我心永恒MyHeartWillGoOn》指弹吉他谱
- 体检中心建设标准
- 上海高院最新口径《劳动争议案件若干问题的解答》
- 小说《活着》英文ppt简介
评论
0/150
提交评论