【Java开源代码栏目提醒】:网学会员--在 Java开源代码编辑为广大网友搜集整理了:[]基于JAVA的医院门诊信息管理系统设计与实现(最新整理By阿拉蕾) - 毕业设计绩等信息,祝愿广大网友取得需要的信息,参考学习。
基于
JAVA的医院门诊信息管理系统设计与实现 摘 要 医院门诊信息管理系统是一个基于Internet的应用系统它是一个面对当前的医院门诊管理工作基本还处于手工和半信息自动化处理状态而应运而生的一个基于Internet的一个信息自动化的系统整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发完成预约、诊断、开具处方、保存病历管理的全过程。
医疗事业单位只需具备访问Internet的条件即可在系统发布的站点上进行医疗门诊的管理。
在图型化的人机界面中完成日常的医疗门诊管理工作.一方面摆脱了时间和空间的限制另一方面有效的解决的数据共享的问题。
经过实际使用证明本文所设计的医院门诊信息管理系统可以满足医院在门诊管理方面的需要。
关键词JSP医院门诊信息管理系统 JSP-BASED HOSPITAL OUTPATIENT INFORMATION MANAGEMENT SYSTEM ABSTRACT Hospital outpatient information management system is an Internet-based application system. It is an Internet-based automated information system that solves the outpatient medical management of the basic work is still in the manual and semi-automated processing of information. The entire system is simple friendly interface flexible practical and safe and complete the entire process of booking diagnosis prescribing and medical records management preservation. Medical institutions only need visit the Internet can use the system for the release site medical clinic management. Using the pattern of the man-machine interface complete routine outpatient medical management. While out of time and space constraints on the other hand it is an effective solution to the data sharing problem. Through practical show that JSP-based hospital outpatient information management system to meet the hospital in-patient management needs. Key Words: JSP Hospital Outpatient Information Management System 1 绪论 医院门诊信息管理系统是信息管理系统在医院门诊部门中的应用。
随着Internet技术的发展其被广泛应用与各行各业医院门诊部门是其一个重要的应用领域。
伴随着医院的改革医院信息化进程的加速建立基于Web的医院门诊信息管理系统显得尤为重要。
1.1 课题研究现状分析 随着医疗卫生事业的发展医院改革的深入信息的有效、高效利用已受到人们的关注。
充分利用现代科技手段加强各种信息的利用开发是医院信息管理的一个重要内容也是当今医院的需要。
目前的医院仅仅把医院的信息管理系统作为微机工具系统而没有发挥其管理的真正功能系统分散设计各部门独立实施没有考虑信息的关联和共享存在信息孤岛现象医院管理错综复杂从而形成了医院信息管理系统数据的多样化数据量大等特点1。
通过本次医院门诊信息系统的设计解决医院系统中各种信息管理的集成问题使医院系统的各种信息管理一体化。
同时了解医院门诊的流程把握信息
管理系统开发概念掌握动态网站技术熟悉系统开发的进程做到会用相关工具
设计和开发相关系统并实现。
1.2 技术发展趋势 随着Internet技术的普及和发展基本上各种不同的操作系统平台上都有相应的Web浏览器程序这就使得医院门诊信息管理系统具有非常广泛的平台兼容性。
客户端仅需一个Web浏览器程序不再需要安装其它软件。
客户程序主要包括HTML页面和一些特殊的数据库访问程序它们都存放在Web服务器上客户应用
系统的设计、维护和更新工作只需在Web服务器上进行这样就大大降低了系统安装、测试、维护的
工作量2。
通过基于Web的医院门诊信息管理系统的开发可以实现对医院门诊相关信息的整合管理以及共享并且通过组件技术的应用可以使得本医院门诊信息管理系统具有很大的可扩展性和可移植性3。
2 医院门诊信息管理系统需求分析 2.1 业务分析 2.1.1 业务角色 1 患者角色 可联机注册成为用户设定自己的
登陆名及密码 可按医生姓名自定义查询 可基于查询结果进行预约若指定医生当日预约量已满则预约失 败。
预约结果随机返回给患者 可对已经进行的预约情况查看或撤销。
图 2.1 患者用例图 2 医生角色 可查看预约患者的情况 可查询患者病历 可创建患者病历 可对患者的病历进行修改。
图 2.2 医生用例图 3 管理员角色 可添加或删除医生账号。
图 2.3 管理员用例图 2.1.2 业务词汇 1 医院门诊门诊是医院接诊病人的场所。
病人到医院之后首先在门诊由医护人员进行接诊经过一整套的诊断手段给病人得出初步诊断并且进行进一步治疗的指导。
2 预约由于医院某些专家的就诊患者多医生为了确保有时间问诊患者并且患者为了确定来医院就诊时可以准时接收医生的诊断而采用的一种手段。
3 电子病历由于传统的纸质病历不利于保存和查询而且浪费资源所以采用将病历信息电子化便于整个医院信息的共享和交流。
4 医生基本信息记录医生编号、姓名、年龄、登录时的密码、职称、所属科室和专家门诊科目等医生相关信息。
5 患者基本信息记录
注册患者的编号、姓名、登录时用户名、登录时密码、年龄、性别、家庭住址和联系电话等患者相关信息。
6 病历基本信息记录病历记录的编号、主治医生编号、症状、诊断、患者编号、处方等病历相关的信息。
7 预约信息记录预约记录的编号、主治医生的编号、患者编号、预约时间、预约就诊时间等预约相关信息。
2.2 系统需求定义 本系统是基于JSP的医疗门诊信息管理系统要求实现对医院里医生信息、病人、病历以及
医药信息进行有效管理及其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面4重点解决的
问题包括 1 病历基本信息管理病历信息包括病历记录的编号、主治医生的编号、症状、诊断、患者编号、处方等内容医生可以创建病历并且可以添加病历信息和修改病历信息病人可以
查询自己的病历信息。
2 患者基本信息管理患者基本信息包括患者编号、姓名、登录系统的用户名、登录密码、年龄、性别、家庭住址和联系电话等。
患者注册时向患者表中插入一条记录。
3 医生基本信息管理医生基本信息包括医生的编号、姓名、年龄、性别、职称、所属科室、学历等内容管理员通过登录可以添加和删除医生信息。
4 预约信息管理预约信息包括记录编号、主治医生编号、患者编号、预约就诊时间等内容病人可以预约医生和取消预约医生登录后可以查询自己的预约信息。
本课题的应用难点有 1 病历基本信息管理传统的纸质病历既不便于患者、医生查询信息也不便于保存本系统才用电子病历5。
病历基本信息管理系统选择基于三层结构的C/S、B/S混合模式三层结构中底层是电子病历数据库服务器用于存储和管理病历等数据中间层是应用服务器和Web服务器其中应用服务器用于实现系统的业务逻辑完成各种复杂的管理操作和数据存取Web服务器用于提供系统的Web服务还可以通过网关与外部系统进行数据交换和信息传递最上层是客户端位于门诊大厅Windows用户通过专用程序完成相关操作IE用户通过浏览器使用。
2 预约信息管理患者登录系统预约医生信息插入预约表或者取消预约即从预约表中删除相关预约信息医生通过登录可以创建病历通过给预约的患者看病在病历表中添加病历信息。
3 医院门诊信息管理系统技术解决方案比较 3.1 Web应用解决
方案 本系统采用动态网站技术。
早期的动态网站开发技术使用的是CGI-BIN接口。
这种开发技术存在着严重的扩展性问题每一个新的CGI程序要求在服务器上新增一个进程。
为克服这一弊端微软公司提出了Active Server PagesASP技术该技术利用“插件”和API简化了Web应用程序的开发。
Hypertext Preprocessor超文本预处理器即
PHP动态网站开发技术与ASP相似也是一种嵌入HTML
文档的服务器端脚本语言。
还有一些技术如
Java Servlets技术利用该技术可以很容易地用
Java语言编写交互式的服务器端
代码。
太阳微系统公司Sun Microsystems Inc.在Web服务器、应用服务器、交易系统以及开发工具供应商间广泛支持与合作下整合并平衡了已经存在的对
Java编程环境例如
Java Servlets和JavaBeans进行支持的技术和工具后产生了一种新的、开发基于Web应用程序的方法JavaServer Pages技术JSP。
这种动态网站开发技术能够在任何的Web或应用服务器上运行而且分离了应用程序的逻辑和页面显示能够进行快速的开发和测试并且简化了开发基于Web的交互式应用程序的过程。
基于此我们选择JSPJavaBean技术来实现相应模块的开发。
3.2 基于JSP JavaBean的解决方案 3.2.1 什么是JSP JSPJava Server Pages是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术是用
JAVA语言作为脚本语言的JSP网页为整个服务器端的
JAVA库单元提供了一个接口来服务于HTTP的应用程序6。
在传统的网页HTML文件.htm.html中加入
Java程序片段Scriptlet和JSP标记tag就构成了JSP网页.jsp。
Web服务器在遇到访问JSP网页的请求时首先执行其中的程序片段然后将执行结果以HTML格式返回给客户。
程序片段可以操作数据库、重新定向网页以及发送 email 等等这就是建立动态网站所需要的功能。
所有程序操作都在服务器端执行网络上传送给客户端的仅是得到的结果对客户浏览器的要求最低可以实现无Plugin无ActiveX无
Java Applet甚至无Frame。
3.2.2 使用JSP的好处 JSP的设计目标主要是提供一种更为简便、有效的动态网页编写手段并且增强网页
程序的独立性、兼容性和可重用性。
它是通过以下几个方面加以实现的 1 简便性和有效性 JSP动态网页的编写与一般的静态
HTML的网页的编写十分相似只是在原来的HTML网页中加入一些JSP专有的标签或是一些脚本程序而且此项不是必需的。
这样一个熟悉HTML网页编写的设计人员可以很容易进行JSP网页的开发。
而且开发人员完全可以不自己编写脚本程序而只是通过JSP独有的标签利用别人已写好的部件来实现动态网页的编写。
这样一个不熟悉脚本语言的网页开发者完全可以利用
JSP做出漂亮的动态网页而这在其他的动态网页开发中是不可思议的。
2 程序的独立性 JSP是
Java API家族的一部分它拥有一般的
Java程序的跨平台的特性换句话说就是拥有程序的对平台的独立性。
即Write once Run anywhere 3 程序的兼容性 因为 JSP中的动态内容可以各种形式进行显示所以它可以为各种客户提供服务从使用HTML/DHTML的浏览器到使用WML的各种手提无线设备如移动电话和个人数字设备PDA再到使用XML的B2B应用都可以使用JSP的动态页面。
3.2.3 什么是JavaBean JavaBean是一种可重复用、跨平台的
软件组件。
JavaBean可以为两种一种是有用户界面UIUser Interface的JavaBean还有一种是没有用户界面主要负责处理事务如数据运算操纵数据库的
JavaBean。
JSP通常访问的是后一种JavaBean。
3.2.4 使用JavaBean的好处 JavaBean最大的优点在于可以实现
代码的可重用性。
同时JavaBean又具有一下特性 JavaBean是一个公共的public类 JavaBean有一个不带数的构造方法 JavaBean通过get方法没置属性通过set方法获取属性 易于维护、使用、编写 可移植性强但仅限于
Java工作平台 便于传输不论是本地还是
网络 可以以其它部件的模式进行工作。
3.2.5 使用JSP JavaBean的好处 JSP与JavaBean搭配使用有3个好处 使得html与
Java程序分离这样便于维护
代码。
如果把所有的程序
代码都写到JSP网中会使得
代码繁杂难以维护。
可以降低开发JSP网页人员对
java编程能力的要求。
JSP侧重于生成动态网页事务处理由JavaBean来完成这样可以充分利用JavaBean组件的可重用性特点提高开发网站的效率。
3.3 JSP及JavaBean工作原理介绍 3.3.1 JSP内置对象 jsp有九种内置对象requestreponseoutsessionapplicationconfigpagecontextpageexception7。
1 request对象request对象代表请求对象它被包装在HttpServletRequest接口。
通过getParameter方法可以得到request的参数通过GET、POST、HEAD等方法可以得到request的类型通过Cookies、Referer等可以得到请求的HTTP头。
来自客户端的请求经Servlet容器处理后有Request对象进行封装。
它作为jspService方法的一个参数有容器传递给JSP页面。
Request对象主要方法 getAttributeString name 返回name属性值。
getAttributeNames 返回request对象所有属性名字。
getCookies 返回客户端的cookies对象。
getHeaderString name 获得HTTP协议定义的文件头信息。
getHeadersString name 返回指定名字的request Header的所有值。
getMethod 获得客户端向服务器端传送数据的方法。
getParameterString name 获得客户端传送给服务器端的参数值。
getParameterNames 获得客户端传送给服务器端的所有参数的名字。
getParameterValueString name 获得指定参数的所有值。
getProtocol 获取客户端向服务器端传送数据所依据的协议名称。
getQueryString 获得查询字符串。
getRequestURI 获取发出请求字符串的客户端地址。
getRemoteAddr 获取客户端的IP地址。
getRemoteHost 获取客户端的名字。
getServerName 获取服务器的名字。
getServletPath 获取客户端所请求的脚本文件的文件路径。
getServerPort 获取服务器的端口号。
setAttributeString name
java.lang.Object objt 设置名字为name的request参数的值该值是由
java.lang.Object类型的objt指定。
2 response对象response被包装成HttpServletResponse接口它封装了JSP产生响应然后被发送到客户端以响应客户的请求。
和Request对象一样它由容器生成作为jspService方法的参数被传入JSP。
因为输出流是缓冲的所以可以设置HTTP状态码和response头。
Response对象的主要方法有 addCookieCookie cook 添加一个cookie对象用来保存客户端的用户信息。
addHeaderString name String value 添加HTTP文件头信息。
containsHeaderString name 判断指定名字的HTTP文件头是否已经存在。
sendErrorint 向客户端发送错误的信息。
setHeaderString name String value 设置指定名字的HTTP文件头的值。
3 pageContext对象pageContext对象被封装成javax.servlet.jsp.pageContext接口它为JSP页面包装页面的上下文管理对属于JSP中特殊可见部分中以命名对象的访问。
它的创建和初始化都是由容器完成的。
pageContext对象中常用的方法有 getAttribute scope 检索一个特定的已经命名对象的范围。
findAttribute 用来按照页面请求、会话以及应用程序范围的顺序实现对某个已经命名属性的
搜索。
setAttribute 用来设置默认页面的范围或特定范围之中的已命名对象。
removeAttribute 用来删除默认页面范围或特定范围之中已命名的对象。
4 session对象session对象用来保存每个用户的信息以便跟踪每个用户的操作状态。
其中session信息保存在容器里session的ID保存在客户机的Cookie中。
session对象的主要方法 getAttributeString name 获取与指定名字name相联系的信息。
getAttributeNames 返回session对象中存储的每一个属性对象。
getCreationTime 返回session被创建的时间。
getId 返回唯一的标识为每一个session而产生。
getLastAccessedTime 返回当前session对象最后被客户发送的时间。
getMaxInactiveInterval 返回总时间秒。
removeAttributeString name 删除与指定名字name的相联系的信息。
setAttributeString name
java.lang.object value 设置指定名字name的属性值value并存储在session对象中。
5 application对象application对象为多个应用程序保存信息。
application对象的主要方法 getAttributeString name 返回由name指定的名字application对象的属性的值。
getAttributeNames 返回所有application对象的属性的名字。
getInitParameterString name 返回由name指定的名字的application对象的某个属性的初始值。
getServletInfo 返回servlet编译器当前版本信息。
setAttributeString name Object object 设置指定名字name的application对象的属性值object. 6 out对象out对象被封装成javax.servlet.jsp.JspWriter接口。
他主要用来向客户端输出数据代表输出流的对象。
out对象的主要方法 out.print/println boolean char char double float int long object string 输出各种类型的数据。
out.newLine 输出一个换行字符。
out.flush 输出缓冲区里的数据。
out.close 关闭输出流。
out.clearBuffer 清除缓冲区里的是数据并把数据输出到客户端。
out.clear 清除缓冲区里的是数据但不会把数据输出到客户端。
out.getBufferSize 获得缓冲区的大小。
out.getRemaining 获取缓冲区中没有被占用的空间的大小。
out.isAutoFlush 返回布尔值。
7 config对象config对象被封装成javax.servlet.ServletConfig接口它表示Servlet的配置。
config对象的主要方法 getServletContext 返回执行者的Servlet上下文。
getServletName 返回Servlet的名字。
getInitParameterString name 返回名字为name的初始参数的值。
getInitParameterNames 返回这个JSP的所有的初始参数的名字。
8 page对象page对象是类
java.lang.Object类的一个实例它是JSP本身通过这个可以对它进行访问。
9 exception对象exception对象是
java.lang.Throwable类的一个实例。
它指的是运行时的异常也就是被调用的错误页面的结果只在错误页面在页面指令里有isErrorPagetrue的页面中才可以使用。
3.3.2 JSP JavaBean运行环境 本系统建立在Windows XP平台上用ApacheTomcat作为JSP服务端引擎采用Eclipse作为后台设计开发环境。
Apache是一个web服务器环境程序启用他可以作为
web服务器使用。
不过 只支持静态网页不支持动态网页如.asp.jsp等。
如果要在Apache环境下运行jsp网页就需要一个解释器来执行jsp网页而这个jsp解释器就是Tomcat。
Tomcat是一个
免费且
开源的Serlvet容器它是Apache基金会的Jakarta项目中的一个核心项目由Apache、Sun和其它一些公司及个人共同开发而成。
由于有了Sun的参与和支持最新的Servlet和jsp规范总能在Tomcat中得到体现。
与传统的桌面应用程序不同Tomcat中的应用程序是一个WARWeb Archive文件。
在Tomcat中应用程序的部署很简单你只需将你的WAR放到Tomcat的webapp目录下Tomcat会自动检测到这个文件并将其解压。
Eclipse是替代IBM Visual Age for
Java的下一代IDE开发环境。
根据Eclipse的体系结构通过开发插件它能扩展到任何语言的开发甚至能成为图片绘制的工具。
Eclipse是开放源
代码的项目其本身是用
Java语言编写但下载的
压缩包中并不包含
Java运行环境需要用户自己另行安装JRE并且要在操作系统的环境变量中指明JRE中bin的路径。
Eclipse提供的核心框架和可扩展的插件机制给广大的程序员提供了无限的想象和创造空间。
4 医院门诊信息管理系统概要设计 4.1 医院门诊信息管理系统
文档结构定义 本系统包括两个逻辑层包hospital.db包和hospital.db.operation包以及一些.jsp文件。
1 hospital.db包封装了整个网站用于完成基础功能的类具体包括 hospital.db.Util辅助类用于完成一些JSP中
常用的功能比如字符集的转换。
hospital.db.InitServlet初始化整个Servlet环境。
hospital.db.DBConnection与整个数据库连接返回Connection对象。
hospital.db.Debug记录日志将信息写入指定的日志文件中。
2 hospital.db.operation包封装了所有用户角色有关的模型具体如下 hospital.db.dboperation.DBOperation建立用户的抽象模型供子类继承.