毕业论文-门诊电子处方系统_第1页
毕业论文-门诊电子处方系统_第2页
毕业论文-门诊电子处方系统_第3页
毕业论文-门诊电子处方系统_第4页
毕业论文-门诊电子处方系统_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、PAGE 河北农业大学 本科毕业论文(设计)题 目: 学 院: 信息科学与技术 专业班级: 软件工程0902 学 号: 学生姓名: 指导教师姓名: 指导教师职称: 讲师 二O一三 年 六 月 一 日PAGE 1摘要随着信息高速公路的建立,Internet的普及,网络技术的迅猛发展,人类社会已经进入了一个信息化社会。在当今时代看病就医是每个人都在所难免的事情,传统的就医流程中,挂号、取药、计费等环节,需要大量的人力物力,即浪费了资源,又存在很多缺陷和漏洞。因而,我们结合信息化技术开发了门诊电子处方系统。该系统大大的减少病人不必要的等待时间,使病人尽早尽快的就医;更好的保存了医生的处方,对以后的病

2、例研究和事故查处都带来了极大的方便。本系统主要以j2EE作为开发基础,使用了struts+spring+hibernate框架实现。实现的电子处方系统,进行了一定的优化设计,系统界面简洁,操作简单,容易使用。关键词:电子处方系统;数字化医院;信息化管理AbstructWith the establishment of the information highway, the popularity of the Internet, the rapid development of network technology, human society has entered an informati

3、on society. In todays era of hospital is what everyone is inevitable, traditional medical treatment process, register, take medicine, billing, need a lot of manpower material resources, namely, wasted resources, and there are many defects and holes. Therefore, we combined with information technology

4、 development the outpatient electronic prescription system. The system greatly reduces the patient unnecessary waiting time, make the patients go to a doctor as soon as possible as early as possible; Better save the doctors prescription, to the following case study and accident investigation has bro

5、ught great convenience.This system is mainly based on the development of the j2EE, the use of the struts + spring + hibernate framework implementation. Implementation of the electronic prescription system, has carried on the certain optimization design, the system interface is concise, simple operat

6、ion, easy to use.Key words: electronic prescription system; Digital hospital; Information management目录 TOC o 1-3 h z u HYPERLINK l _Toc358379666 1.引言 PAGEREF _Toc358379666 h 1 HYPERLINK l _Toc358379667 1.1.课题背景 PAGEREF _Toc358379667 h 1 HYPERLINK l _Toc358379668 1.2.课题目的和意义 PAGEREF _Toc358379668 h 1

7、 HYPERLINK l _Toc358379669 2.系统应用的关键技术 PAGEREF _Toc358379669 h 1 HYPERLINK l _Toc358379670 2.1.JSP技术介绍 PAGEREF _Toc358379670 h 1 HYPERLINK l _Toc358379671 2.1.1.JSP的概述 PAGEREF _Toc358379671 h 1 HYPERLINK l _Toc358379672 2.1.2.JSP的运行机制 PAGEREF _Toc358379672 h 1 HYPERLINK l _Toc358379673 2.2.J2EE概述 PA

8、GEREF _Toc358379673 h 2 HYPERLINK l _Toc358379674 2.2.1.J2EE简介 PAGEREF _Toc358379674 h 2 HYPERLINK l _Toc358379675 2.2.2.J2EE的优势 PAGEREF _Toc358379675 h 2 HYPERLINK l _Toc358379676 2.3.关于Struts PAGEREF _Toc358379676 h 2 HYPERLINK l _Toc358379677 2.3.1.Struts简介 PAGEREF _Toc358379677 h 2 HYPERLINK l _

9、Toc358379678 2.3.2.Struts的主要功能 PAGEREF _Toc358379678 h 3 HYPERLINK l _Toc358379679 2.4.关于Spring PAGEREF _Toc358379679 h 3 HYPERLINK l _Toc358379680 2.4.1.Spring简介 PAGEREF _Toc358379680 h 3 HYPERLINK l _Toc358379681 2.4.2.Spring带给我们什么 PAGEREF _Toc358379681 h 3 HYPERLINK l _Toc358379682 2.5.关于Hibernat

10、e PAGEREF _Toc358379682 h 3 HYPERLINK l _Toc358379683 2.5.1.为什么引入hibernate PAGEREF _Toc358379683 h 3 HYPERLINK l _Toc358379684 2.5.2.使用Hibernate的好处 PAGEREF _Toc358379684 h 4 HYPERLINK l _Toc358379685 2.6.Tomcat服务器 PAGEREF _Toc358379685 h 4 HYPERLINK l _Toc358379686 2.6.1.Tomcat服务器简介 PAGEREF _Toc3583

11、79686 h 4 HYPERLINK l _Toc358379687 3.系统需求分析 PAGEREF _Toc358379687 h 4 HYPERLINK l _Toc358379688 3.1.整体需求 PAGEREF _Toc358379688 h 4 HYPERLINK l _Toc358379689 3.2.使用电子处方后可达到的效果 PAGEREF _Toc358379689 h 5 HYPERLINK l _Toc358379690 4.系统设计 PAGEREF _Toc358379690 h 5 HYPERLINK l _Toc358379691 4.1.系统流程图 PAG

12、EREF _Toc358379691 h 5 HYPERLINK l _Toc358379692 4.2.总体功能结构图 PAGEREF _Toc358379692 h 6 HYPERLINK l _Toc358379693 4.3.功能需求 PAGEREF _Toc358379693 h 6 HYPERLINK l _Toc358379694 4.4.系统数据库模型设计 PAGEREF _Toc358379694 h 7 HYPERLINK l _Toc358379695 4.4.1.数据库逻辑结构设计 PAGEREF _Toc358379695 h 7 HYPERLINK l _Toc35

13、8379696 4.4.2.数据表详细说明 PAGEREF _Toc358379696 h 8 HYPERLINK l _Toc358379697 5.系统详细设计 PAGEREF _Toc358379697 h 12 HYPERLINK l _Toc358379698 5.1.系统详细设计总体概述 PAGEREF _Toc358379698 h 12 HYPERLINK l _Toc358379699 5.2.开发前的配置准备 PAGEREF _Toc358379699 h 12 HYPERLINK l _Toc358379700 5.2.1.导入ssh所需的jar包 PAGEREF _To

14、c358379700 h 12 HYPERLINK l _Toc358379701 5.2.2.配置文件的引入 PAGEREF _Toc358379701 h 12 HYPERLINK l _Toc358379702 5.2.3.配置文件的配置 PAGEREF _Toc358379702 h 12 HYPERLINK l _Toc358379703 5.3.实体类的开发 PAGEREF _Toc358379703 h 13 HYPERLINK l _Toc358379704 5.4.Dao层功能实现 PAGEREF _Toc358379704 h 14 HYPERLINK l _Toc3583

15、79705 5.5.Biz层功能实现 PAGEREF _Toc358379705 h 14 HYPERLINK l _Toc358379706 5.6.Action层功能实现 PAGEREF _Toc358379706 h 15 HYPERLINK l _Toc358379707 5.7.Filter PAGEREF _Toc358379707 h 16 HYPERLINK l _Toc358379708 5.8.Interceptor PAGEREF _Toc358379708 h 16 HYPERLINK l _Toc358379709 5.9.二级缓存配置 PAGEREF _Toc358

16、379709 h 16 HYPERLINK l _Toc358379710 5.9.1.二级缓存的作用 PAGEREF _Toc358379710 h 16 HYPERLINK l _Toc358379711 5.9.2.二级缓存的配置过程 PAGEREF _Toc358379711 h 16 HYPERLINK l _Toc358379712 5.10.界面设计 PAGEREF _Toc358379712 h 17 HYPERLINK l _Toc358379713 5.10.1.登录注册 PAGEREF _Toc358379713 h 17 HYPERLINK l _Toc35837971

17、4 5.10.2.用户管理 PAGEREF _Toc358379714 h 18 HYPERLINK l _Toc358379715 5.10.3.管理员管理 PAGEREF _Toc358379715 h 19 HYPERLINK l _Toc358379716 5.10.4.功能管理 PAGEREF _Toc358379716 h 20 HYPERLINK l _Toc358379717 6.整体分析 PAGEREF _Toc358379717 h 24 HYPERLINK l _Toc358379718 6.1.设计亮点 PAGEREF _Toc358379718 h 24 HYPERL

18、INK l _Toc358379719 6.2.设计中存在的问题 PAGEREF _Toc358379719 h 24 HYPERLINK l _Toc358379720 7.总结 PAGEREF _Toc358379720 h 25 HYPERLINK l _Toc358379721 参考文献 PAGEREF _Toc358379721 h 26 HYPERLINK l _Toc358379722 致谢 PAGEREF _Toc358379722 h 27PAGE 28引言课题背景在当今时代看病就医是每个人都在所难免的事情,普通的就医流程中,病人在挂号、就诊、缴费、取药上需要花很多的时间排队

19、等候,而且医生的处方由于书写上的不规范导致难以辨认,病人无法了解到具体的药物品种,也很可能导致药房配药时有配错、配多、配少的情况发生。由于处方是单片纸张想要永久保存下来非常困难,查询时也非常不便,给以后的病例研究和事故处理带来了比较大的困难和麻烦。随着信息高速公路的建立,Internet的普及,网络技术的迅猛发展,人类社会已经进入了一个信息化社会。随着计算机信息技术在各个领域的不断渗透, 医院信息管理系统被广泛应用。加快数字化医院的建设步伐,提高医院信息化管理水平成为了医院的发展趋势。门诊医师工作站作为医院信息系统的重要组成部分,是其信息化水平的重要标志。 课题目的和意义门诊医师工作站作为医院

20、信息系统的重要组成部分,是其信息化水平的重要标志。 其运行为医患双方带来了突破性的效益,特别是该工作站子系统电子处方的应用对减少手写量、规范处方管理、缓解患者排队压力、提高取药速率及工作质量发挥了重要作用。门诊电子处方系统的使用,就会大大的减少病人不必要的等待时间,使病人尽早尽快的就医,而且此系统可以更好的保存医生的处方,对以后的病例研究和事故查处都带来了极大的方便, 加快数字化医院的建设步伐,提高医院信息化管理水平;为下一步的检验信息数字化和影像信息数字化打下坚实的基础。门诊电子处方系统是数字化医院系统不可分割的一部份,是全院数字化管理的基础,也是不可跨越的。系统应用的关键技术JSP技术介绍

21、JSP的概述JSP是新一代的动态内容编程技术,它继承了Java技术的“一次编写,随处运行”的特性,允许Web开发人员开发和维护与平台无关,信息丰富动态的Web页面,包括HTML,DHTML,XHTML和XML,它能使Web开发人员轻易搭建网络平台,建立起功能强大的Web网站。JSP可以把用户界面从内容层次中分离出来,使得Web开发人员不必修改在底层的动态内容,就可以修改整体的页面布局。JSP的运行机制JSP文档被复制到Web服务器的文档目录中。当有人请求这个文档时,服务器识别出这个带有.jsp扩展名的文档,并意识到需要做特殊处理。第一次请求这个文档时,它被编译成一个servlet对象,并存储在

22、内存中,然后输出内容回送给发出请求的客户机。第一请求之后,只要有请求到来,服务器将进行检查,看看这个文件是否做过改动,如果没有变化,服务器调用先前编译过的servlet对象。J2EE概述J2EE简介J2EE(Java 2 Platform Enterprise Edition)是使用Java技术开发企业级应用的一种事实上的工业标准(Sun公司出于其自身利益的考虑,至今没有将Java及其相关技术纳入标准化组织的体系),它是Java技术不断适应和促进企业级应用过程中的产物。目前,Java平台有三个版本:适用于小型设备和智能卡的J2ME(Java 2 Platform Micro Edition)、

23、适用于桌面系统的J2SE(Java 2 Platform Standard Edition)和适用于企业级应用的J2EE(Java 2 Platform Enterprise Edition)。Sun推出J2EE的目的是为了克服传统Client/Server模式的弊病,迎合Browser/Server架构的潮流,为应用Java技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。J2EE是一个标准,而不是一个现成的产品。各个平台开发商按照J2EE规范分别开发了不同的J2EE应用服务器,J2EE应用服务器是J2EE企业级应用

24、的部署平台。由于它们都遵循了J2EE规范,因此,使用J2EE技术开发的企业级应用可以部署在各种J2EE应用服务器上。为了推广并规范化使用J2EE架构企业级应用的体系架构,Sun同时给出了一个建议性的J2EE应用设计模型:J2EE Blueprints。J2EE Blueprints提供了实施J2EE企业级应用的体系架构、设计模式和相关的代码,通过应用J2EE Blueprints所描述的体系模型,能够部分简化架构企业级应用这项复杂的工作。J2EE Blueprints是开发人员设计和优化J2EE组件的基本原则,同时为围绕开发工作进行职能分工给出了指导性策略,以帮助应用开发设计人员合理地分配技术

25、资源。J2EE的优势高效的开发持续性服务支持异构环境可伸缩性稳定的可用性关于StrutsStruts简介Struts已逐步越来越多运用于商业软件,是一种非常优秀的J2EE MVC实现方式。Struts用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。Struts的主要功能包含一个controller servlet,能将用户的请求发送到相应的Action对象。JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。提供了一系列实用对象:XML处理、通过Java reflecti

26、on APIs自动处理JavaBeans属性、国际化的提示和消息。Struts项目的目标是为创建Java web应用提供一个开放源代framework。Struts framework的内核是基于例如Java Servlets,JavaBeans, ResourceBundles和XML,以及各种Jakarta Commons包的标准技术的灵活的控制层。Struts提供了它自身的控制器组件,并整合了其他技术,以提供模型和视图。Struts已逐步越来越多运用于商业软件,是一种非常优秀的J2EE MVC实现方式。关于SpringSpring简介Spring是一个开源框架,它由Rod Johnson

27、创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring带给我们什么方便解耦,简化开发AOP编程的支持声明式事务的支持方便程序的测试方便集成各种优秀框架降低Java EE API的使用难度Java源码是经典学习范例关于Hibernate为什么引入hibernate在B/S项目的开发中,和数据库的交互式不可避免的,J2EE的规范中提供了JDBC的接口来操作数据库,对于JDBC,开发人员可以获

28、取数据库连接,然后向数据库发送SQL语句,并返回数据库操作的结果集,然后封装成对象返回给上层的应用程序。这就造成开发人员不但要求能够编写程序,熟悉业务逻辑,还要求开发人员同时能够担任DBA,对开发人员的要求很高;同时,当引入新的项目时,很多地方必须废弃,因为我们的代码中不光是业务逻辑,其中也嵌入了许多和底层有关的一些SQL代码;另外这些嵌入在代码中的SQL语句也影响了我们程序的可测试性,我们在对代码进行调试的时候,既要测试代码,同时我们还要测试SQL语句。为了解决这些问题,引入了hibernate。使用Hibernate的好处Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持

29、久层框架,和App Server,和EJB没有什么必然的联系。Hibernate可以用在任何JDBC可以使用的场合,例如Java应用程序的数据库访问代码,DAO接口的实现类,甚至可以是BMP(Bean-Managed Persistence)里面的访问数据库的代码。Hibernate是一个和JDBC密切关联的框架,所以Hibernate的兼容性和JDBC驱动,和数据库都有一定的关系,但是和使用它的Java程序,和Application Server没有任何关系,也不存在兼容性问题。Hibernate不能用来直接和Entity Bean做对比,只有放在整个J2EE项目的框架中才能比较。并且即使是

30、放在软件整体框架中来看,Hibernate也是做为JDBC的替代者出现的,而不是Entity Bean的替代者出现的。由于是对JDBC的轻易级封闭,内存消耗少,最快的运行效率。开发效率高,Eclipse、JBuilder等主流JAVA集成开发环境对Hibernate有很好的支持,在大的项目,特别是持久层关系映射很复杂的情况下,Hibernate效率高的惊人。分布式,安全检查,集群,负载均衡的支持。 Tomcat服务器Tomcat服务器简介Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开

31、发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat中采用了Servlet容器:Catalina,完整的实现了Servlet2.3和Jsp1.2规范。Tomcat提供了各种平台的版本供下载,可以从其官方网站上下载其源代码版或者二进制版。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。系统需求分析整体需求设计并且实现一个基于web技术的网上电子处方系统。系统主要以j2EE作为开发基础,使用tomcat、myeclipse、oracle等工具,程序中使用了struts、spring、hibernate等框架实现后台开发,

32、使用jquery进行前台的开发。实现用户的登陆、注册、挂号、处方录入、配药管理、收费管理、退药、查询等功能。使用电子处方后可达到的效果方便患者,加快患者就诊流程。医生熟悉电子处方系统后,通过疾病知识库的使用和处方模板的使用可加快开处方速度。 加快数字化医院的建设步伐,提高医院信息化管理水平;为下一步的检验信息数字化和影像信息数字化打下坚实的基础。减少处方流失。加快配药流程,处方收费后便可配药了,当病人到药房时有时便可取药了。门诊电子处方系统是数字化医院系统不可分割的一部份,是全院数字化管理的基础,也是不可跨越的。系统设计系统流程图系统从实际的需求出发,与传统的就医流程相匹配,以挂号,医生开具处

33、方,收费管理,配药管理为主要流程,并在此流程的基础上为系统添加了很多的辅助功能,使系统的可用性大大提高,具体流程如下图:图1 系统流程图总体功能结构图系统主要分为两大功能模块:用户管理模块和功能管理模块,用户管理又分为信息查询管理、管理员管理和用户信息管理,功能管理分为挂号管理、处方管理、费用管理和处方管理,具体功能划分如下图:电子处方系统功能管理挂号管理电子处方系统功能管理挂号管理处方管理其他用户管理信息查询用户信息管理管理员管理挂号记录挂号信息管理中药处方管理西药处方管理配药管理查询挂号信息用户查询用户类型科别设置用户信息查看修改用户登录用户注册用户信息的查看与修改费用管理功能需求门诊挂号

34、主要负责门诊挂号磁卡的管理,患者的注册登记,登录和患者姓名、性别、年龄、地址、电话等具体个人信息的录入,增加,删除和修改,患者对自己信息的查询,患者身份识别,挂号登记。处方录入主要包括对患者以往病历的查询,医生对患者病情的记录登记,医生的处方录入,完成后打印签字,以及对相互作用药物的检查。门诊收费完成处方输入后,直接传送至收费处,自动算出此次处方金额。病人凭磁卡或挂号单到收费处缴费。配药管理当患者缴费后,缴费信息和处方一同发送至药房,药师开始配药,配药完成后, 由药师核对患者信息无误后发药。退药当配药错误,开的处方有误或者其他特殊情况,重开处方、重新配药。查询查询包括处方查询和药品查询。处方查

35、询指可根据处方号、流水号、挂号日期、病人姓名等检索条件查询处方,为病人提供用药咨询或解决退药等问题。药品查询可提供关于医院药品的规格、包装、零售价等信息。系统数据库模型设计数据库逻辑结构设计表1 总表概述编号名称说明表2hospital_userType用户类型表表3hospital_xuexing血型表表4hospital_medical_service科别表表5hospital_user用户信息表表6hospital_age年龄表表7hospital_doseType剂型表表8hospital_unit单位表表9Hospital_medicine药品表表10hospital_medicin

36、eZh中药表表11hospital_usageAndDosage用法用量表表12hospital_medicin_usage药品用法表表13hospital_diagnosis诊断表表14hospital_medicalRecord病历表表15hospital_freeType费别表表16hospital_prescription处方表表17hospital_itemXi西药处方项表18hospital_itemZh中药处方项表19hospital_registration挂号表表20hospital_marital_status婚姻状态表数据表详细说明用户类型表(hospital_userT

37、ype)记录用户类型分类,具体情况如表2:表2用户类型表字段名数据类型是否为空描述说明idint否编号,主键typevarchar2否类型名称血型表(hospital_xuexing)记录血型分类,具体情况如表3:表3 血型表字段名数据类型是否为空描述说明idint否编号,主键typevarchar2否类型名称科别表(hospital_medical_service)记录科别分类,具体情况如表4:表4 科别表字段名数据类型是否为空描述说明idint否编号,主键namevarchar2否类型名称numnumber否就诊人数用户表(hospital_user)记录用户的基本信息,具体情况如表5:表

38、5 用户表字段名数据类型是否为空描述说明idint否编号,主键usernameVarchar2否注册名passwordVarchar2否密码nameVarchar2否真实姓名idcardVarchar2否身份证号weightnumber是体重Xuexing_idint是血型,外键SexVarchar2是性别nationVarchar2是民族jobVarchar2是工作telephoneVarchar2是电话addressVarchar2是地址emailVarchar2是邮箱maritalStatus_idint是婚姻状态,外键medicalService_idint是科别,外键lastTime

39、date是最后一次就诊时间allergiesVarchar2是过敏史年龄表(hospital_age)记录用户年龄,具体情况如表6:表6 年龄表字段名数据类型是否为空描述说明idint否编号,主键,外键countnumber否数值UnitVarchar2否单位剂型表(hospital_doseType)记录剂型分类,具体情况如表7:表7 剂型表字段名数据类型是否为空描述说明idint否编号,主键typevarchar2否类型名称单位表(hospital_unit)记录单位分类,具体情况如表8:表8 单位表字段名数据类型是否为空描述说明idint否编号namevarchar2否类型名称药品表(h

40、ospital_medicine)记录合成药品信息,具体情况如表9:表9 药品表字段名数据类型是否为空描述说明idint否编号,主键barcodevarchar2否类型名称namevarchar2否药品名称pinyinmavarchar2否拼音码specificationvarchar2否规格Unit_idint是单位,外键doseType_idint是剂型,外键remarksvarchar2是说明中药表(hospital_medicineZh)记录中药药品信息,具体情况如表10:表10 中药表字段名数据类型是否为空描述说明idint否编号,主键namevarchar2否药品名称pinyinm

41、avarchar2否拼音码remarksvarchar2是说明用法用量表(hospital_usageAndDosage)记录用法用量,具体情况如表11:表11 用量用法表字段名数据类型是否为空描述说明idint否编号typevarchar2否类型名称pinyinmavarchar2否拼音码药品用法表(hospital_medicine_usage)记录用法用量,具体情况如表12:表12 药品用法表字段名数据类型是否为空描述说明Medicine_idint否药品编号Usage_idint否用法编号诊断表(hospital_diagnosis)记录诊断结果条目,具体情况如表13:表13 婚姻状态

42、表字段名数据类型是否为空描述说明idint否编号namevarchar2否类型名称medicalService_idint否科别,外键病历表(hospital_medicalRecord)记录病历的相关信息,具体情况如表14:表14 病历表字段名数据类型是否为空描述说明idint否编号Patient_idint否类型名称medicalService_idvarchar2否拼音码Create_datedate否创建时间chief_complaintvarchar2是主诉firstOrNotvarchar2是初诊复诊hpivarchar2是现病史past_historyvarchar2是既往史pe

43、rsonal_historyvarchar2是个人史family_historyvarchar2是家族史historyOfMarriagevarchar2是婚姻史physical_examinationvarchar2是体格检查auxiliary_examinationsvarchar2是辅助检查clinical_diagnosisvarchar2否临床诊断doctor_idint否医师费别表(hospital_freeType)记录费别分类,具体情况如表15:表15 费别表字段名数据类型是否为空描述说明idint否编号typevarchar2否类型名称处方表(hospital_prescri

44、ption)记录处方主体信息,具体情况如表16:表16 单位表字段名数据类型是否为空描述说明idint否编号,主键doctor_idInt否医师patient_idInt否患者freeType_idInt否费别protectedCardVarchar2否医疗证号remarksVarchar2是说明totalPricenumber否总价check_idint是检查verify_idint是核对pharmacist_idint是收费dispensing_idint是配药西药处方项表(hospital_itemXi)记录西药处方的每一项,具体情况如表17:表17 西药处方项字段名数据类型是否为空描述

45、说明idint否编号,主键prescription_idInt否处方medicine_idInt否药品medicine_specificationVarchar2否规格countVarchar2否数量Usage_idInt否用法中药处方项表(hospital_itemZh)记录中药处方的每一项,具体情况如表18:表18 中药处方项字段名数据类型是否为空描述说明idint否编号,主键prescription_idInt否处方medicine_idInt否药品weightnumber否重量unitVarchar2否单位UsageVarchar2否用法挂号表(hospital_registratio

46、n)记录挂号的信息,具体情况如表19:表19 挂号表字段名数据类型是否为空描述说明idint否编号,主键patient_idInt否患者medicalService_idInt否科别numnumber否号码sdatedate否时间婚姻状态表(hospital_marital_status)记录婚姻状态分类,具体情况如表20:表20 婚姻状态表字段名数据类型是否为空描述说明idint否编号,主键typevarchar2否类型名称系统详细设计系统详细设计总体概述本系统要求设计并且实现一个基于web技术的网上电子处方系统。并且实现完全的使用了ssh框架,并mvc分层的基础上,将系统进一步的划分成了d

47、ao、biz、action、view。在dao中采用hibernate框架对其实现,action和view采用structs2框架实现,各层中使用spring进行对象的注入使系统的耦合度降低,并且使用spring的DI(动态代理)实现对事务的控制。为了提高系统的效率,在程序中配置了hibernate的二级缓存,存放一些不畅改变的数据。View层采用javaScript使用界面的交互性更强,操作更加方便,使用的更加流畅、舒适。开发前的配置准备导入ssh所需的jar包ssh所需的jar包共计31个oracle数据库的jar包1个(ojdbc14.jar)hibernate二级缓存所需jar包1个(

48、ehcache-1.2.3.jar)整合jar包1个(structs2-spring-plugin-2.3.8.jar)配置文件的引入Structs.xml structs2框架的配置文件applicationContext.xml spring框架的配置文件ehcache.xml hibernate二级缓存的配置文件hospital.hbm.xml数据库映射文件没有hibernate的配置文件因为它的配置信息在spring 的配置中配置配置文件的配置在web.xml中配置如下信息:org.springframework.web.context.ContextLoaderListenercon

49、textConfigLocationclasspath:configure/applicationContext.xmlstruts2org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2/*在structs.xml中配置在spring中配置连接池实体类的开发编写一个类实现Serializable接口并按照javabean的规范进行实现添加set、get方法,程序如下:public class Diagnosis implements Serializableprivate String name

50、;public String getName() return name;public void setName(String name) = name;Dao层功能实现编写一个接口,在里面编写要实现的功能(即对数据库完成哪些操作),程序如下:public interface DiagnosisDao public void saveDiagnosis(Diagnosis diagnosis);编写一个class实现上面定义的接口,用hibernate(spring中hibernateTemplate)去实现对数据库数据的操作,程序如下:public class DiagnosisDaoImp

51、l implements DiagnosisDao private HibernateTemplate hibernateTemplate;Overridepublic void saveDiagnosis(Diagnosis diagnosis) / TODO Auto-generated method stubhibernateTemplate.save(diagnosis);在spring的配置文件中配置hibernateTemplate,程序如下:在spring 的配置文件中进行配置dao 程序如下:Biz层功能实现定义一个接口,写出要实现的功能public interface Dia

52、gnosisBiz public void addDiagnosis(Diagnosis diagnosis);定义一个class类实现上述的接口,并调用dao的方法实现其功能public class DiagnosisBizImpl implements DiagnosisBiz private DiagnosisDao diagnosisDao;public void addDiagnosis(Diagnosis diagnosis)diagnosisDao. saveDiagnosis(diagnosis)在spring的配置文件中配置biz在spring中配置事务管理类Action层功

53、能实现继承struct2中的ActionSupport类,并在public String .()实现方法,程序如下:public class DiagnosisAction extends ActionSupportprivate DiagnosisBiz diagnosisBiz;public String addDiagnosis()diagnosisBiz.addDiagnosis(diagnosis);return showDiagnosis;在spring中配置action在structs中配置单控制器 login.jsp Filter主要功能实现对用户可以操作界面的控制,通过登陆用

54、户的身份判断此用户是否可以访问当前的页面。让用户在看到页面之前,就知道此功能没有权限访问,杜绝看到界面后不能操作的尴尬。Interceptor主要功能是实现对用户可操作功能的控制,通过登陆后用户在session中存放的信息进行验证,判断此用户是否有使用此功能的权限,若有,则正常访问,反之,不允许访问。与filter配合实现对用户可以操作功能的完全限制,不会出现访问界面后异常的问题。二级缓存配置二级缓存的作用二级缓存是hibernate提供的一种缓存机制,与hibernate的一级缓存(session缓存)构成hibernate的缓存体系。一级缓存是session缓存,是一种事务级的缓存,在事务

55、结束时,缓存的内容也随之消失。二级缓存是sessionfactory缓存,也就是应用级的缓存,在系统的整个生命周期中存在,存放一些不常改变的、经常使用的数据,方便读取,不必每次都从数据库中查询,大大的节约了相应时间,提高了相应速度。二级缓存的配置过程1)导入Ehcache.jar2)引入ehcache.xml的配置文件3)在hibernate的配置信息中配置二级缓存4)在*.hbm.xml中设置哪些类存放到二级缓存中界面设计登录注册这是所有用户统一的注册页面(如图3)。在这个界面注册的用户,只需用户填写最基本的信息。其他的用户信息需要用户登录后修改个人的基本信息,用户类型和用户科别需要由管理员

56、指定,普通用户无法自行选择。图3 注册界面在用户注册成功后,用户便可以通过登录界面(如图4)登录到系统当中。图4 登录界面用户管理用户登录到系统后,可以用户管理来查看修改用户的基本信息和密码。查看用户基本信息,显示与用户有关的所有基本信息(如图5)。图5 显示个人信息界面修改用户基本信息(如图6),这此处用户可以完善自己的基本信息,也可以修改一些不符的信息。在这张页面上同样添加了大量的数据验证,保证用户在提交前发现输入的不符合条件的信息。图6 修改个人信息界面修改用户密码(如图7),需要输入原始密码,并且验证成功后才可以修改。图7 修改用户密码界面管理员管理管理员管理部分,管理员可以查询用户,

57、查看用户的详细信息以及删除用户。查看所有用户的基本信息(如图8),而且可以根据不同的条件对用户进行查询,包括姓名、用户类型、科别、性别、血型、身份证号和民族。在这里我使用了javaScript使用查询条件由下拉列表给出,后面的输入框也可以随查询条件的不同而改变,方便用户查询。图8 显示所有用户界面修改用户类型和科别(如图9),用户类型和科别可以通过下拉列表进行选择。图9 修改用户类型和科别界面查看用户的详细信息(如图10)。图10 显示用户详细信息界面功能管理挂号管理挂号(如图11),挂号人员输入用户的身份证号后,程序会使用ajax技术获取用户的真实姓名,并返回界面,如果不存在则在界面上显现“改用户不曾该身份证尚未注册”;在选择科别后,程序也会通过ajax技术获取科别的num返回到界面成为用户的编号。图11 挂号界面处方管理患者信息显示(如图12),输入身份证号后查询用户信息。医生可以对用户不符的基本信息进行修改,并存入数据库。这里还显示了用户的过敏史

温馨提示

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

评论

0/150

提交评论