社区医院管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科生毕业论文(设计)题目:基于JSP的社区医院门诊管理系统
学院计算机学院
学科门类工科
专业计算机软件
学号**********
姓名张亮
指导教师王群芳
2015 年 5 月20 日
摘要
2015年,随着计算机行业的快速发展,将计算机和互联网引入医院管理是必要的,它不仅简化了管理的复杂性,还减少了信息的处理量,保证了医院工作的有序性,有效的管理也可以提高医院的名誉。
本次设计采用JSP语言作为主要的开发语言,设计并实现对社区医院的门诊管理系统。
本系统含有管理员模块、药品管理员模块、医生模块、前台模块和患者模块共五个模块,它们共同的作用实现了患者的预约挂号、挂号、医生门诊信息查询;医生的处方添加,药品查询等。
管理员的对这些用户信息编辑、删除等;药品管理员对药品入库,添加新型药品等。
本系统是基于B/S模式采用Eclipse和SQL Server 2005数据库作为主要的开发工具,用户通过浏览器使用系统。
本文首先介绍了系统开发意义和使用到的开发工具和技术,然后进行需求分析和系统设计以及系统测试,论文的最后是结论、致谢以及参考文献,并附录几个重要模块的代码。
关键词:社区医院门诊管理系统;B/S模式;JSP;SQL Server 2005
Abstract
By 2015, with the rapid development of the computer industry, computer and the Internet into the hospital management is necessary. It not only simplifies the management complexity, also reduce the amount of information processing, to ensure the orderly hospital, effective management can improve the hospital's reputation. This design uses the JSP language as the main language of development, designs and realizes to the community hospital outpatient management system.
The system contains the administrator module, the drug administrator module, the doctor module, foreground and patient modules consists of five modules, their common role of the appointment with registration, registration, doctor patient information; add a doctor's prescription, drugs such as. The administrator of the information on these users edit, delete, etc.; drug administrators on the storage, add new drugs, etc.. This system is based on the B/S model using Eclipse as the main development tool, the user through the browser use system. In this paper, we first introduce the significance of system development and use of the development tools and technologies, and then demand analysis and system design and system test, the last is conclusion, thank and references, and appendix of several important modules of code.
Keywords: CHOMS; B/S mode; JSP; SQL Server 2005
目录
摘要 (I)
Abstract (III)
1.绪论 (1)
1.1 项目开发背景 (1)
1.2开发工具与相关技术介绍 (1)
1.2.1开发工具 (1)
1.2.2 B/S结构 (3)
1.2.3 JSP (3)
1.3 系统环境配置 (3)
1.4 论文组织结构 (4)
2.系统分析 (5)
2.1需求分析 (5)
2.1.1管理员所需的使用功能 (5)
2.1.2前台所需的使用功能 (5)
2.1.3医生所需的使用功能 (5)
2.1.4药品管理员所需的使用功能 (6)
2.1.5患者用户所需的使用功能 (6)
2.2系统总体分析 (6)
2.3可行性分析 (7)
2.3.1 技术上可行性 (7)
2.3.2 经济上可行性 (7)
2.3.3操作上可行性。
(8)
3.系统设计 (9)
3.1系统功能描述 (9)
3.2系统功能模块设计 (9)
3.2.1登录模块 (9)
3.2.2管理员模块 (10)
3.2.3病人挂号模块 (10)
3.2.4患者结账管理模块 (11)
3.2.5 医生处方模块 (11)
3.2.6药品管理模块 (12)
3.2.7其它功能模块 (12)
3.2.8整个系统的功能模块图 (14)
3.3数据库设计 (14)
3.3.1建立数据库的方法 (14)
3.3.2 E-R图 (15)
3.3.3建立数据表 (18)
3.4系统安全性设计 (21)
3.4.1数据库的完整性 (21)
3.4.2数据库的安全性 (21)
3.4.3系统安全性 (22)
4.详细设计与实现 (23)
4.1用户登录验证模块 (23)
4.2管理员模块 (23)
4.3患者挂号模块 (24)
4.3.1前台主界面 (24)
4.3.2网上预约挂号界面 (24)
4.3.3前台挂号界面 (25)
4.3.4病人结账出院主界面 (25)
4.4患者就诊信息管理模块 (26)
4.4.1医生主界面 (26)
4.4.2医生查看挂号界面 (27)
4.4.3医生诊断病人主界面 (27)
4.5 药品管理员模块 (27)
4.5.1 药品管理员主界面 (27)
4.5.2 添加新药品界面 (28)
4.6其它功能模块 (28)
5.系统测试 (29)
5.1登陆模块测试 (29)
5.2添加用户信息测试 (29)
5.3患者挂号模块测试 (30)
5.4患者结账模块测试 (31)
5.5医生诊治病人模块测试 (31)
5.6用户修改信息模块测试 (32)
6.总结 (33)
致谢 (34)
参考文献 (35)
附录................................................................... 错误!未定义书签。
1 绪论
1.1 项目开发背景
科学技术的快速发展必然让各行各业都发生巨大的改变,其中计算机的快速发展对各行各业的影响最大。
现在它已经进入了各个领域中发挥着巨大的作用,以它快速的计算能力,数据处理能力处理各行业的事物。
通过计算机来对医疗事业进行进一步的优化可以提高医疗事业的进一步深化,使医疗事业更准确,实时,可靠。
计算机的应用可以把人员从繁重的工作中解救出来,使得信息更加准确及时。
因此应用计算机来简化或是优化门诊管理是十分必要的。
门诊管理系统虽然只是医院管理系统的一个子系统,但它的重要性是不可忽略的,它可以说是一个医院的一个门面,它的好坏可能决定患者对这个医院的信赖,是否会继续在这个医院就医。
因此它可以看作是医院管理系统的一个核心组建,其中尤其是患者挂号功能是这个系统的核心,它不仅要对患者信息的记录,还要通过它来计算一些费用,所以更要通过计算机的准确性来确保这些费用的准确性。
通过B/S模式[1]来开发社区医院门诊管理系统比通常C/S模式开发更加的节约成本,更好的维护和更新,虽然它并不是十分的美观,但这些都是次要的。
在此背景下开发一款基于B/S模式用JSP语言编程的社区门诊管理系统是十分必要的。
1.2开发工具与相关技术介绍
1.2.1开发工具
本系统采用的是JSP语言面向对象的开发技术,以eclipse作为前后台的开发工具,数据库采用的是SQL Server 2005,服务器采用Tomcat 7.0,其中的JSP容器作为主要的核心部件。
本系统是用Java语言和JSP语言这种完全面向对象的语言来实现,并且这两种语言也很简单方便,结合SQL Server 2005数据库信息查询技术都可以轻松的实行系统的需求功能。
Eclipse是一款十分强大的开发软件,主要针对Java语言以及相关的一些语言比如Java 2EE的开发,它还支持Java Servlet、AJAX、JSP、JSF、Struts、Spring、Hibernate、EJB3、JDBC数据库链接工具等多项功能,可以说是一个十分全面的开发软件,并且大多数公司都在使用eclipse开发文本项目[2]。
图1.1是eclipse的Web开发主界面。
图1-1 eclipse主界面
数据库设计采用的是Microsoft公司推出的SQL Server数据库管理系统众多版本中的一个版本--SQL Server2005的后台数据库开发平台。
SQL Server2005是数据库管理软件,SQL服务器是实现web项目的重要内容。
数据库是数据管理的实用技术。
为了实现对数据的快速访问到任何部分,它研究许多优化技术。
这些优化技巧每每很复杂,是普通用户难以实现的,是以就由系统软件(数据库管理系统)来完成,而提供给用户的是简单易用的数据库语言[3]。
图1.2是SQL Server 2005的Web开发主界面。
图1-2 SQL Server 2005主界面
1.2.2 B/S结构
B/S布局(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,浏览器是开发客户端最主要的应用软件。
这种布局统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
客户机上只要安装一个浏览器,如Firefox或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。
浏览器通过Web Server 同数据库进行数据交互[4]。
1.2.3 JSP
JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet 设计,它是由Sun Microsystems公司发起、很多公司参与一起创建的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)[5]。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
Java Servlet是JSP的技术基础,并且大型的Web应用程序的开发需要Java Servlet 和JSP配合才能实现。
JSP具有了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的全部特点。
1.3 系统环境配置
1. 安装Java JDK1.7
本系统使用Java JDK1.7开发。
下载安装后,配置path环境变量。
2. 安装eclipse
采用面向对象开发工具eclipse,下载压缩包直接解压即可。
3. 安装Tomcat
采用tomcat7.0作为web服务器,eclipse配置tomcat服务,使用时启动即可。
4. 安装SQL
数据库采用SQL Server 2005,下载后选择安装并设置管理员帐号和密码[6]。
5. 系统布署
在eclipse中直接启动tomcat7.0,然后在浏览器中输入”Http://localhost:8080/
”服务项目名即可登录服务器浏览数据。
1.4 论文组织结构
本论文描述了社区医院管理系统从设计到实现的整个过程。
最初介绍了项目的背景及项目开发工具及相关技术,继而描述了系统分析、系统设计与系统实现环节,接着简述了系统测试,末了归纳全文。
重点介绍了系统整体设计和数据库设计,并在附录中附出了几个主要功能模块的窗口和后台的源码。
2 系统分析
2.1需求分析
需求分析是一个项目即管理系统的开始,可以说一个系统的功能是否完善取决于需求分析。
需求分析不仅要从表面上去理解一个系统,还要深入到使用系统的单位去了解他们的日常的工作经过和要处理什么事件,还要问问他们的一些需求然后在结合实际去做需求分析,这样既可以保证工作的效率,减少出错的可能性和让合作人更加的满意以期长久的合作关系。
2.1.1管理员所需的使用功能
管理员即系统拥有最高权限的人,负责系统的一些维护,需实现一下功能:
(1)添加新用户。
对医院新加入人员信息的一些录入。
(2)查询及修改以及删除所有用户的信息,包括:用户名、密码、身份等。
(3)修改个人密码。
(4)对门诊科室的查询、修改和删除。
2.1.2前台所需的使用功能
前台作为登陆用户,需要实现以下功能:
(1)患者挂号,能对挂号患者的基本信息进行删、改、查操作。
(2)实现患者挂号、取药结账功能。
患者就诊结束账单查询结账。
(3)修改个人密码。
(4)对患者病史的一些查询。
2.1.3医生所需的使用功能
医生作为登录用户,需要实现以下功能:
(1)查询正在诊断的患者的个人信息。
(2)查询该病人的诊断史及用药史。
(3)诊断自己的病人及给自己的病人开药即一个处方单。
(4)修改个人登录密码。
(5)查看药品的详细信息。
2.1.4药品管理员所需的使用功能
药品管理员作为登录用户,需要实现以下功能:
(1)添加新药品。
(2)对药品信息的删除、修改、查询。
(3)药品入库。
(4)个人密码的修改。
2.1.5患者用户所需的使用功能
药品管理员作为登录用户,需要实现以下功能:
(1)未登录时网上预约挂号。
(2)未登录时网上查看医生信息和门诊信息。
(3)登录时查看个人挂号信息,和出发信息。
2.2系统总体分析
在系统功能分析的基础上,设计的系统功能模块图如下:
图2-1 社区医院门诊管理系统的功能模块图
2.3可行性分析
可行性分析的过程就是对系统采用的技术、花费的成本、操作的难易进行分析,并最终给出合理的处理方案来完成系统功能。
2.3.1 技术上可行性
此次社区医院门诊管理系统是基于JSP语言开发,随着Web服务的快速发展,越来越多的人开始在网上浏览信息,用JSP语言基于B/S模式即浏览器/服务器模式用的也很多了。
JSP语言是使用Java 虚拟机进行编译的一种语言,通过tomcat7.0中的JSP容器翻译成servlet代码即Java代码,因为Java的兼容性使用JSP语言设计的管理系统可以在许多平台上使用,因此它的生命力是十分强大的[7]。
并且也有很多的开发工具支持JSP开发,比如eclipse、MyEclipse等。
2.3.2 经济上可行性
本系统是我的毕业论文设计,完全由我个人独立完成,并且使用的各种开发工具都是免费使用的,个人PC就可以独立运行此系统,不需要格外的开发成本。
因此经济上是完全可行的。
2.3.3操作上可行性。
系统的操作在浏览器中进行,大多数操作都是平时上网是的操作类型,人们都是比较熟悉且操作简单,因此操作上可行的。
3 系统设计
系统设计主要是对管理系统功能模块的设计,功能实现的好坏关系着整个系统的成败,因此做好系统设计是十分必要的。
本系统围绕门诊管理为核心,主要实现患者挂号,医生处方,患者结账,药品管理等功能来展开。
3.1系统功能描述
根据医院门诊管理系统功的实际情况,本系统实现的功能主要有:管理员职能(对系统用户的日常管理即增删改查),患者挂号(患者网上预约挂号、查询医生信息、门诊信息、个人挂号信息),医生功能(病人就诊、开处方、药品查询等),前台(对前来的患者进行挂号,对患者信息的查询、对挂号患者挂号管理、对患者进行病后结账),药品管理员(对新到的药品进行入库操作、添加新型药品、对药品信息进行维护)等。
本系统应达到以下目标:
(1)用户登录类型不同,所拥有的功能也不同,包括管理员、药品管理员、医生、前台、患者。
(2)患者挂号可以在网上和前台,并根据挂号时间生成特定编号。
(3)患者结账时,显示详细的就诊信息和费用。
(4)不同的用户只能访问特定数据库数据。
(5)医生可以根据患者的信息查询医院有没有该患者的以往病史。
3.2系统功能模块设计
3.2.1登录模块
即在登录界面输入用户名,密码,通过js确认信息是否填写完整,在通过form表单post请求发送到servlet后与数据库users表内的用户信息(用户名,密码)进行匹配,如
果有根据该用户的用户类型返回到不同的页面,因为用户帐号唯一,所以用户名不可重复。
如果users表中没有匹配到提交的用户信息,返回登陆界面并且密码重置[8]。
3.2.2管理员模块
本系统只有管理员可对系统用户进行操作,即管理员是最高权限者,对医生、前台、药品管理员,患者有着增删改查的功能。
图3-1 管理员模块图
3.2.3病人挂号模块
病人挂号分为网上预约挂号和到医院前台窗口挂号,它们都需要录入患者的个人信息,因此前台人员和患者自身拥有添加患者信息(姓名,性别,出生日期,身份证编号等)的功能,前台还有删除用户挂号的功能,还可以对挂号信息进行一定的修改。
图3-2 患者挂号模块图
3.2.4患者结账管理模块
病人结账即是病人就诊过后,到前台窗口付费领取药品,并能查看详细的费用信息。
图3-3 患者结账模块图
3.2.5 医生处方模块
医生就诊挂号患者,根据挂号患者挂号时的个人基本信息查询该挂号患者是否曾经在医院就诊,给就诊患者开处方和药品。
图3-4 医生处方模块图
3.2.6药品管理模块
药品管理主要有药品管理员来进行管理,来实现对新药品的添加,对已有药品的增删改查,还有药品入库。
图3-5 药品管理模块图
3.2.7其它功能模块
为方便各类型用户的一些个人需要,在此添加了个人功能,即查看一些相关信息,修
改个人密码等。
图3-6 其他功能模块图
3.2.8整个系统的功能模块图
图3-7 系统功能模块图
3.3数据库设计
数据库采用Microsoft公司推出的SQL Server2005数据库管理系统来管理数据,此版本数据库管理系统虽然不是最新版本的,但现在大多数公司还是使用此数据库进行开发,原因就是它的稳定性、查询速度快,安全性高,而被广泛使用[9]。
3.3.1建立数据库的方法
数据库里存放大量数据是以表的形式存在,所以数据库表的设计是根据用户和企业的
需求来的,建立数据库的好坏取决于系统分析是否详细。
一般步骤如下:(1)研究系统的E-R图模型,最终画出E-R图。
(2)将E-R模型转换为关系模型。
(3)将关系模型转换成数据库表,属性对应相应的字段。
(4)确定数据库的完整性[10]。
(5)对表添加触发器、存储过程等。
社区医院门诊管理系统数据库设计如下:
(1)登录数据库管理工具,在查询分析器中使用数据库语言创建一个新的数据库并命名为门诊管理系统。
(2)找到新建的门诊管理系统,点击右键找到新建表,然后在打开的页面建立表的字段、数据类型、长度、是否为空等,最后关闭输入表名即建立了新表,也可用SQL语句建立新表。
(3)找到新建立的表,单击右键找到打开表,即可在表中插入相应类型的字段值,也可以用SQL语句INSERT INTO “TABLENAME”VALUES([ column_name,...])往表中插入数据。
通过新建表和向表中插入数据,这样一个门诊管理系统数据库就建立成功了。
3.3.2 E-R图
E-R图即实体关系图,它可以将抽象的实体和实体关系有图的方式表达出来,用形象的图形来描述抽象的事物,让系统设计更加的容易,E-R图就这样诞生了[11] 。
以下图3-13到图3-19是本系统具体的E-R图:
图3-13 系统用户实体图
图3-14 患者实体图
图3-15 医生实体图
图3-16 前台实体图
图3-17 药品实体图
图3-18 门诊科室实体图
图3-19 整个系统实体关系图
3.3.3建立数据表
数据库表的建立根据前面的系统设计,E-R图的形象显示,可以轻易的建立起来,但是要注意的是每张表都要有一个可以唯一标识或是其它表的外键,不然数据库内的信息可能会出现混乱的现象。
数据库表的建立是根据E-R图的属性和实体之间的关系。
这些既可以通过数据库查询语句建立,也可以通过直接新建表来实现,最后就是通过一些约束等手段来实现表的完整性,使数据更加的规范[12]。
社区医院门诊管理系统需要实现的功能:患者的挂号、患者就诊、医生处方、预约挂号、药品管理,用户管理、患者结账等。
通过E-R图也可以看出本系统需要建的表是比较多的,本系统由10张表组成如下表3-1到表3-10,它们共同组成了本系统的数据库。
表3-1处方表
表3-3挂号费表
表3-4 用户表
表3-5 医生表
表3-6 门诊科室表
表3-7患者药品表
表3-8结账表
表3-9 药品表
表3-10 患者表
3.4系统安全性设计
3.4.1数据库的完整性
数据的正确性、有效性、相容性组成了数据库的完整性。
数据库的完整性的实现主要靠约束、触发器、存储过程来实现实体完整性、参照完整性等。
在社区医院门诊系统中实体完整性主要靠主键约束来实现,有患者的编号pcode是唯一的但姓名并不是唯一。
数据的有效性主要靠建立约束,缺省值等来实现,如药品的库存数量不能小于0,医生的性别默认为男等。
参照完整性的实现主要靠外键来实现,如患者药品表的pcode依赖于患者表的pcode,这些约束、依赖等实现了数据的完整性。
3.4.2数据库的安全性
保护数据库里的数据不被轻易的访问或不同用户访问不同的数据是指数据库的安全性,数据库的安全性不仅仅是指数据库本身,也包括计算机、系统两个方面,这三方面共同组成了数据库的安全性,使数据处于安全状态。
SQL Server一般支持三级安全层次,它们分别是:身份认证(与Windows的紧密结合。
)、
访问控制(设置数据库访问权限)、对象访问控制(给用户指派对数据库中的对象的访问权限)[13]。
本系统采用了三级安全来确保数据库的安全性,第一级是进入数据库的混合身份认证,需要用户名和密码登录数据库,第二级是在客户端访问限制的数据是需要数据库中有该用户的信息,登陆后才可以访问信息,第三级是登录用户的类型不同访问的数据也不同。
3.4.3系统安全性
系统的安全性设计对于一个管理系统的使用单位是不可忽视的,它可以有效的保护使用单位数据的安全性,以至于被其竞争单位以不正当的手段获取商业机密。
由于web的使用越来越广泛,通过木马等病毒获取商业机密资料的手段也层出不穷,因此有效的安全设计,代码的优化都可以提高系统的安全系。
本系统通过简单的过滤器设计与实现,使用户不能通过URL直接访问系统内容,而是要先登录再访问的手段来简单的实现系统的安全性。
4 详细设计与实现
4.1用户登录验证模块
在登录界面输入用户名,密码,通过js确认信息是否填写完整,通过form表单post 请求发送到servlet后与数据库users表内的用户信息(用户名,密码)进行匹配,再根据该用户的用户类型跳转到不同的页面,因为用户帐号唯一,所以用户名不可重复。
如果users表中没有匹配到提交的用户信息,则返回登陆界面并且密码重置。
图4-1就是登陆主界面。
图4-1登陆主界面
4.2管理员模块
管理员是系统拥有最高权限的用户,他可以对其他用户进行操作,功能主要包括对不同用户的增加、修改、查看和删除。
图4-2就是管理员主界面。
图4-2管理员主界面
4.3患者挂号模块
患者挂号分为预约挂号和前台挂号,患者挂号后即可在预约时间到医院就诊,主要是挂号功能,也能查看一些信息。
4.3.1前台主界面
前台拥有登记病人挂号,病人结账,查看病人信息等功能。
图4-3就是前台主界面。
图4-3前台主界面
4.3.2网上预约挂号界面
患者在浏览器输入医院网址,即可在网上预约挂号。
图4-4就是患者预约挂号界面。
图4-4患者预约挂号界面
4.3.3前台挂号界面
对患者进行挂号。
图4-5就是前台挂号界面。
图4-5前台挂号界面
4.3.4病人结账出院主界面
患者结账由前台完成,并计算患者在医院的所有费用。
图4-6就是前台患者结账界面。
图4-6前台患者结账界面
4.4患者就诊信息管理模块
主要是医生诊治患者,患者按照挂号顺序依次进行,医生针对患者病情开处方单。
4.4.1医生主界面
医生界面是医生登录后的主界面,医生在该界面主要是选择功能操作等。
图4-7就是医生界面。
图4-7医生界面
4.4.2医生查看挂号界面
在该界面医生可以查询挂号的患者,并给该患者诊断病情。
图4-8就是医生查看挂号患者界面。
图4-8医生查看挂号患者界面
4.4.3医生诊断病人主界面
就是对挂号的患者的病情进行诊断,并根据诊断结果开处方。
图4-9就是医生诊断病人主界面。
图4-9医生诊断病人主界面
4.5 药品管理员模块
4.5.1 药品管理员主界面
是药品管理员选择具体操作的界面。
图4-10就是药品管理员主界面。
图4-10药品管理员主界面
4.5.2 添加新药品界面
是药品管理员添加新药品的界面,图4-11就是药品管理员添加药品界面。
图4-11药品管理员添加药品界面
4.6其它功能模块
其他功能主要是用户修改个人密码。
医院用户即管理员,医生,前台,药品管理员都可以修改个人密码。
图4-12就是用户修改个人密码界面。
图4-12用户修改个人密码界面
5 系统测试
软件测试是一个系统完成交付前的最后的一个过程,测试的好坏确定该系统能否直接被委托单位接受。
软件测试是确保软件质量的可靠手段,是软件开发过程中必不可少的重要环节。
本文采用了面向复用的测试用例设计过程,为测试用例复用提供了实现策略。
测试用例的复用对于缩短软件开发周期和降低软件开发成本具有极其重要的意义[14]。
由于本系统系统用户较多,功能较复杂,下面列一些核心的功能测试进行测试说明,并列出测试用例和测试结果。
5.1登陆模块测试
登录模块的测试主要是匹配用户名和密码的测试过程。
测试结果如下:
表5-1 登陆模块测试用例表
5.2添加用户信息测试
用户信息的添加是完善用户的基本信息,主要测试信息的完整性,测试结果如下:
表5-2 添加用户信息模块测试用例表。