医院信息管理系统开发文档
更新时间:2024-04-11 01:10:01 阅读量: 综合文库 文档下载
学生实训报告
(医院信息管理系统)
2011~2012学年 第 一 学期
实 习 类别 开发实训 专 业 软件开发与测试 指 导 教师 王鹏 学 院 软件学院
091311519徐 灿
小组成员
091311512魏至锐 091311514李 渊 091311515周海南
2011年 12 月
目录
目录 ............................................................................................................................................................... I 绪论 .......................................................................................................................................................... - 1 - 开发计划和任务分工 .............................................................................................................................. - 2 - 第一章 系统可行性分析......................................................................................................................... - 3 -
1.1技术可行性 ................................................................................................................................ - 3 - 1.2环境可行性 ................................................................................................................................ - 4 - 1.3 经济可行性 ............................................................................................................................... - 4 - 第二章 系统需求分析............................................................................................................................. - 1 -
2.1 医院信息系统社会背景 .......................................................................................................... - 1 - 2.2用户工作流程............................................................................................................................. - 2 - 2.3 用户业务需求............................................................................................................................ - 2 - 2.4 系统E-R图 ............................................................................................................................... - 2 -
2.4.1 实体属性图 ..................................................................................................................... - 2 - 2.4.2实体关系图 ...................................................................................................................... - 5 - 2.5数据流图 .................................................................................................................................... - 6 -
2.5.1医院管理系统顶层 .......................................................................................................... - 6 - 2.5.2第一层.............................................................................................................................. - 7 - 2.5.3第二层.............................................................................................................................. - 8 - 2.6用例图 ...................................................................................................................................... - 10 -
2.6.1第一层用例图 ................................................................................................................ - 10 - 2.6.2第二层用例图 ................................................................................................................ - 10 - 2.6.3三层用例图 .................................................................................................................... - 15 -
第三章 系统概要设计........................................................................................................................... - 18 -
3.1总体结构图 .............................................................................................................................. - 18 - 3.2 设计思想 ................................................................................................................................. - 18 - 3.3 设计原则 ................................................................................................................................. - 19 - 3.4 系统数据库设计 .................................................................................................................... - 19 - 3.4.1 关系模式转换..................................................................................................................... - 19 -
3.4.2 数据表....................................................................................................................... - 20 - 3.4.3 数据表关系图 ............................................................................................................... - 25 - 3.4.4 连接数据的方式 ........................................................................................................... - 26 - 3.5画面迁移图 .............................................................................................................................. - 27 - 3.6系统时序图 .............................................................................................................................. - 29 - 第四章 系统详细设计........................................................................................................................... - 33 -
4.1 总体类图(画出实体类图及其关系) .................................................................................. - 33 - 4.2 各个类类图 ............................................................................................................................. - 34 -
4.2.1属性列表........................................................................................................................ - 37 - 4.2.2方法列表........................................................................................................................ - 40 - 4.2.3具体方法描述 ................................................................................................................ - 41 - 4.3存储过程设计........................................................................................................................... - 57 -
I
第五章 测试 .......................................................................................................................................... - 61 -
5.1测试的作用与意义 ................................................................................................................... - 61 - 5.2测试方法 .................................................................................................................................. - 61 - 5.3 测试结果 ................................................................................................................................. - 63 - 第六章 总结 .......................................................................................................................................... - 65 -
6.1小组总结 .................................................................................................................................. - 65 - 6.2 个人总结 ................................................................................................................................. - 65 - 第七章 致谢 .......................................................................................................................................... - 68 - 附录 ........................................................................................................................................................ - 69 -
II
绪论
伴随着社会经济的迅速发展,人们的生活水平提高的同时,也带来了许多负面 影响,各种疾病的产生并入侵人体,严重伤害人们的身心健康,医院担负着保卫人们健康的负担也逐步加大,单单靠传统的手工作业,不仅工作繁琐,而且也极易出错,给医院造成不必要的损失的同时,也对病人带来许多负面作用。随着计算机的普及和性能的不断提高,计算机已经涉足到各个行业,人们开始越来越多地利用计算机解决实际问题,于是可使用计算机进行医院信息管理,该系统已经成了现 代化的 医院在运营 过程中必不可少的基础设施与技术支撑环境。医院管理系统,是利用计算机和网络通信设备,为医院所属的各 个部门 提供病人诊 疗和行政管理信息的收集、存储、处理提取和数据交换的能力。医院管理信息系统实现了用计算机对医院病人 进行看 病和药品流 通的全过程管理进行动态监测,那些传统上全靠手工操作,工作量大、效率低、易出错的大量数据完全可以用计算机代替处理,大大减轻了管理人员的工作负担,同时又可向病人提供完整的数据,使病人提供方面和快捷。本系统作为医院管理系统的一部分,与住院管理系统,收费系统,病历管理系统有着密切的联系,设计时必须考虑与这些模块的兼容性。基于以上情形,我决定开发该软件。这是一款专门用于医院管理设计的软件。它具有良好的用户界面、风格独特的设计。
- 1 -
开发计划和任务分工
1>、工作任务分解
第一阶段:文档设计(2011-10-25—2011-11-8)
1、需求分析、数据库设计文档(2011-10-25—2011-11-1) 2、详细设计文档(2011-11-2—2011-11-8) 备注:
人员分配:需求分析由魏至锐负责; 详细文档设计由徐灿负责;
概要设计文档由周海南和李渊负责。
第二阶段:代码设计(2011-11-9—2011-11-22)
1、前台界面设计(2011-11-9—2011-11-14) 2、后台功能代码设计(2011-11-15—2011-11-22) 备注:
人员分配:护士管理模块,医生管理块由徐灿负责;
第三阶段:软件测试(2011-11-23—2011-11-29)
备注:
人员分配:软件测试由徐灿负责。
管理员模块由魏志锐负责;
前台界面设计模块由周海南李渊负责。
2>甘特图
病人个人信息挂号档案(医院)病房医生病历分配结果会诊分配结果病床结果账目取药完毕药物
- 2 -
第一章 系统可行性分析
1.1技术可行性
经过周密的调查与研究,技术、操作上还是社会方面开发该医院管理信息系统都是十分可行的。
对现有技术进行评价,以明确能否利用现有技术进行系统开发及系统实施。计算机网络技术的发展和计算机硬件性价比的不断提升,使计算机全面应用于医院管理的各个环节成为可能。B/S开发模式在国内各行各业的信息管理系统开发中已经被广泛采用,实践证明这些技术都非常适合医院管理信息系统的开发。
对开发条件进行评价,以J2EE开发的医院信息管理系统的开发语言是Java,也就是在JDK的环境下进行开发。J2EE是一个开源框架,没有系统限制,我们用最熟悉的Windows7来安装JDK1.6版本进行开发系统。
随着网络技术的不断发展,单纯的静态页面已经不能满足发展的需要,因为静态页面是用单纯的HTML语言组成的,它没有交互性。因此,为了满足实际的发展需要,出现了以“PHP”,”ASP”,”JSP”,”SHTML”等为后缀的网页文件,这些都是采用动态网页技术制作出来的。
本系统采用Java语言开发,故Web容器的选择上使用JSP。服务器利用Tomcat6.0.X来加载Web容器。
本医院信息管理系统是基于J2EE技术开发,数据库采用SQL Server 2008进行数据的连接查询,使用的是Java语言编写程序体。J2EE为编写系统提供了很多的平台和框架等技术支持。
利用J2EE的开源框架,如structs来编写整个系统的框架,我们不必关心框架如何运行。我们只关心依附于框架内的各个功能模块是如何工作,如何来连接数据进行查询修改等。
在技术上该系统用的是完全面向对象的程序设计语言java,因而对于代码的维护是很方便的,系统采用生命周期法把一个复杂的系统开发工作分解成一些相对独立的,可以分阶段实施并且便于管理的步骤,使将来的扩展更为容易,不须对系统的软硬件作大的改动,即可满足系统扩展的要求。
操作可行性方面,在考虑到新系统将来投入使用后的管理维护人员水平及工作的
- 3 -
方便简洁程度。新开发的系统的界面和WINDOWS界面一样直观,从而使用户使用起来十分的方便,就像在WINDOWS操作窗口中操作一样。用户只需要告诉计算机做什么,而不用考虑怎么去做,新系统会引导用户一步一步去完成相应的操作。并且系统的安全可靠性比较好,用户不需要担心系统会操作出错。用户只需要阅读相应的系统说明书就可以进行使用、维护,在短时间内熟练使用系统工作,而不用花费大量的时间学习系统的源程序,原理,操作方法。
1.2环境可行性
在运行方面,本系统采用WINDOWS 7/xp,它具有友好的窗口界面,操作简方便,易于用户掌握,管理方便,安全性能好,价格低廉。在可扩充性方面,系统采用生命周期法把一个复杂的系统开发工作分解成一些相对独立的,可以分阶段实施并且便于管理的步骤,使系统将来的扩充更为容易,不须对系统的软硬件作大的改动,即可满足系统扩充的要求。系统在检修维护方面采用面向对象的程序设计语言java,它相较于C++等面向对象的语言,更易学习,这样有利于医院工作人员对系统的日常维护。
1.3 经济可行性
在经济上,本系统只是对门诊,药房,住院部进行设计,这些部分都是医院必不可少的部分,不存在让中小型医院花冤枉钱的问题,与市面上出售的医院管理系统相比,更适合中小型医院使用。除此之外,在可扩充性方面,系统采用生命周期法把一个复杂的系统开发工作分解成一些相对独立的部分,可以分阶段实施,为以后的扩充提供方便,随着医院规模的扩大,可以扩充其它的功能,而不须对系统的软硬件作大的改动,从而满足中小型医院扩建的要求。采用本系统后,医院不但可以减少医院工作人员的工作量,减少工作人员数量,还可以提高工作效率,减少病人等待时间,从而更有利于医院的发展和以后的竞争。
- 4 -
第二章 系统需求分析
2.1 医院信息系统社会背景
随着社会的发展,人们对健康越来越关注,医院的业务不断增长,处理越来越复杂,简单的人工经营管理,已无法满足医院的需要, 成为医院发展的瓶颈,人们对医疗服务的要求也越来越高。传统的手工操作模式,病人帐目繁杂,病人查帐困难, 病区和药房的药品浪费现象严重且无法追踪,人工传送各种记帐单容易漏、错帐,人工划价收费差错难以避免,因此,如何提高服务水平、提高工作效率,成为迫待解决的问题。医院管理信息化不仅能提高医务人员的工作效率和医疗水平,而且能提高医院的服务质量和管理水平。因此,医院对管理信息系统有着强烈的需求[1]。美国著名教授Morris.Collen于1988年曾著文为医院信息系统(HIS)下了如下定义:利用电子计算机和通讯设备,为医院所属各部门提供病人诊疗信息和行政管理信息的收集、存储、处理、提取和数据医交换的能力,并满足所有授权用户的功能需求。开发医院管理信息系统(HIS)的目标就是立足医院应用实际,着眼院未来发展,以强化医院管理,提高医疗质量,方便患者就医和查询,提高医院的服务效率和服务质量,设计一套符合国家功能规范要求,安全稳定,操作简便的医院信息系统,为医院提供一套全方位的解决方案。
计算机性能不断提高,价格不断下降,计算机已在医院医疗、教学、科研、管理等各个方面得到越来越广泛的应用。计算机化的医院信息系统已成为现代化医院运营必不可少的基础设施与技术支撑环境。就好象一个现代化医院的成功运行离不开功能完整、美观舒适的建筑物,技术娴熟的医护人员,性能齐全、高精尖的医疗设备一样,它也离不开计算机化的医院信息系统。
在高科技的信息社会里,手工处理庞大的医院信息需要高强度的劳动而且工作效率低下,医师护士和管理人员的大量时间都消耗在事务性工作上,在经济管理上也因而存在漏、跑、错费现象;医院物资管理由于信息不准确,家底不明,积压浪费,以致“物不能尽其用”。开发HMIS是解决上述问题的有效途径。HMIS系统的有效运行,将提高医院各项工作的效率和质量,促进医学科研、教学;减轻各类事务性工作的劳动强度,使他们腾出更多的精力和时间来服务于病人;改善经营管理,堵塞漏洞,保
- 1 -
证病人和医院的经济利益;为医院创造经济效益。
2.2用户工作流程
病人来看病时,用户要登记病人个人信息,病人买药时登记药时,用户要对录药品的购买情况进行记录,并打印取药单据;当病人出院时办理离院手续,用户要查询病人的医药费情况,并结算,将病房设为空等。
2.3 用户业务需求
(1)该系统需要要对患者的基本信息进行录入(性别,年龄,住址,病史等)。 (2)该系统需要对有处方划价和收费统计等功能。
(3)该系统需要具有对药品的采购、发出与库存量进行统计。
(4)该系统需要对住院患者的个人信息,医嘱信息,用药信息,费用信息,费用预警, 费用清单,费用汇总等功能。
(5)该系统需要有对指定的药品的采购,消耗,库存,挂号收费,门诊收费以及住院收费方面具有查询和统计的功能。
2.4 系统E-R图
2.4.1 实体属性图
- 2 -
病历病历号姓名性别年龄所挂科室入院时间住址出院时间联系电话 图2.1 病历表
医生医院医生编号所属科室编号医生姓名医院名称医院编号
图2.2 医生表 图2.3医院表
- 3 -
病人病人编号住址病人姓名联系电话年龄所患病性别 图2.4 病人表 病房科室病房编号病房类别科室号科室名
图2.5 病房表 图2.6 科室表 药物药物编号单价药物名称数量入库时间出库时间
图2.7 药物表
- 4 -
账目账目号出账入账
图2.8 账目表 病床病床号病床占用状态病床所属区病床租金
图2.9病房表
2.4.2实体关系图
- 5 -
药物病历NM管理包含11病房N属于1医院属于N档案11 1 属于属于包含M N M药物科室1属于N医生
图2.10
2.5数据流图
2.5.1医院管理系统顶层
****用户医院系统用户数据库
图2.11顶层图
- 6 -
2.5.2第一层
病人个人信息挂号档案(医院)病房医生病历分配结果会诊分配结果病床结果账目取药完毕药物 图2.12
- 7 -
2.5.3第二层
病况病况病人填写科室信息档案(挂号) 图2.13
病人病况寻找科室病况候诊病床病分配诊断结果分配床号医生诊断住院信息病房号病房档案(科) 图2.14 - 8 -
取药数据流
病人取药信息前往药房取药信息配药师配药单取药完毕取药药物取药完毕档案(药房)结果结账图2.15 取药
账目 - 9 -
2.6用例图
2.6.1第一层用例图
系统挂号收费管理系统维护医院工作人员药房管理财务管理药库管理住院管理病人住院维护系统决策查询院长
图2.16第一层用例图
2.6.2第二层用例图
(1)门诊子系统用例图
- 10 -
系统门诊挂号病人工作人员门诊处方财务管理子系统查询门诊收费/退费药房管理子系统院长
图2.17门诊挂号用例图
(2)药房管理用例图
- 11 -
系统药品申请/申退门诊管理子系统发药/退药查询病人盘存/报损药库管理子系统药房管理者
图2.18取药用例图 (3)住院管理用例图
系统入院登记病人病房管理者住院预缴费查询财务管理子系统出院结算
图2.19住院用例图
- 12 -
(4)住院护理用例图
系统病员管理查询打印住院医护病人管理者
图2.20住院用例图 (5)药房管理用例图
系统设置药库管理者入库管理采购管理库存核算出库管理财务管理子系统查询报损退货管理药房管理子系统
图2.21财务用例图
- 13 -
(6)决策查询用例图
系统业务查询院长门诊管理子系统药房查询药房管理子系统药库查询痕迹查询药库管理子系统住院管理子系统
图2.22药房用例图 (7)财务管理用例图
系统院长财务管理员业务报表药库管理子系统药房管理子系统药库核算住院管理子系统收费统计药房核算
图2.23财务用例图
住院医护子系统门诊管理子系统
- 14 -
2.6.3三层用例图
(1)挂号管理用例图
挂号子系统添加挂号记录管理员病人修改挂号记录查询挂号记录删除挂号记录院长
图2.24 挂号用例图
(2)收费退费管理用例图
门诊收费退费系统病人收费院长退费查询管理员财务管理子系统统计
图2.25收费用例图
- 15 -
(3)生成处方用例图
生成处方子系统生成处方病人修改处方查看处方药房删除处方财务管理子系统医生
图2.26 财务用例图
(4)病员管理用例图
系统病房及床位设置病人科内转床转科申请
管理者转院出院
- 16 -
图2.27 病房用例图
(5)住院医护用例图
系统医嘱校对住院医嘱执行检查治疗项目管理者医嘱撤销退院病人
图2.28 看病用例图
- 17 -
第三章 系统概要设计
3.1总体结构图
医院信息管理系统患者信息管理模块药房管理模块人事管理模块住院管理模块财务管理模块患者信息录入查询患者信息维护药品信息查询药品信息维护人事信息维护人事信息维护住院信息查询住院信息维护财务信息查询财务信息维护
图3.1系统结构功能图
3.2 设计思想
(1)系统分成几个相对独立的模块,但这些模块都进行集中式管理。
(2)分层的模块化程序设计思想,整个系统采用模块化结构设计。作为应用程序有较强的可操作性和扩展性。
(3)合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,
- 18 -
使各模块间的耦合性较低,方便系统运行,提高系统安全性。
3.3 设计原则
为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要,在设计开发过程中遵循了如下原则:
(1)合法性原则:依据产品核算系统的工作规定以及要求,参照核算实际的工作情况,进行诸如产品进货、销售等工作。
(2)实用性原则:适合产品信息管理工作的实际需求,并能够处理一些特殊情况的要求,此外,尽可能预留空间,以便扩充功能。
(3)准确性原则:对输入的相关资料建立检错机制,及时报错,使用户能够及时准确的输入合法资料(如:类型匹配,长度不超限等)。
(3)易操作原则:要求设计的系统功能齐全,界面友好,操作方便,必要的地方进行提示。
(5)源程序可读性原则:为了便于其他设计,维护人员读懂代码或以后的代码修改,软件升级维护,即可能做好代码注释工作。
(6)优化原则:为了达到优化的目的,合理的运用窗口,菜单,对象等的继承,自定义用户对象,事件,函数,减少不必要的重复性代码,使程序简介明了,也方便了将来的维护。
(7)安全性原则:可以为该系统的用户设置用户权限。
3.4 系统数据库设计
3.4.1 关系模式转换
医院(医院编号,医院名称,病房号,档案号,账目号,药物编号) 病床(床位号,病房号,床位类型,床位状态)
病人(病人号,科室号,科室,姓名,性别,年龄,地址,所患病症,是否结束) 档案(档案号,病历号,医生编号)
挂号(编号,姓名,年龄,科室,住址,年龄)
- 19 -
医生(医生编号,姓名,性别,年龄,地址,联系方式,所在科系,登录名,登录密码, 是否激活,科室编号)
护士(编号,员工号,姓名,性别,职称号,职称,登录名,登录密码) 账目(账目号,进账,出账)
药物(药物编号,药物名,数量,入库时间,出库时间) 诊断(编号,科室,备注,医生号,病人号) 住院(病人号,病床号,住院天数,编号)
手术室(手术室编号,是否占用,手术编号,类型,地址,备注,护士列表)
手术(手术编号,手术室编号,开始时间,结束时间,费用,病人号,主治医生号, 生编号,科室,是否结束)
护士_手术室(手术编号,护士编号,编号) 护士_病床(病床号,护士号)
收据(编号,收款人,收款编号,收款日期,医生类型,费用,病人姓名,病人编号, 是否结束)
手术日程(手术编号,开始时间,结束时间,编号) 职称(职称名,职称编号)
3.4.2 数据表
1、 挂号单数据表(Register)
该表主要是记录患者医院挂号的信息,该信息的记录可以通过日期来搜索统计当时的挂号量,也即患者人数。该表的数据由操作员进行页面的输入。字段定义如表4-6-1所示:
表4-6-1挂号单数据表(GuaHao) 属性名 挂号号 挂号类别 挂号人姓名 住址 挂号人性别 病人号
存储代码 id mcName name address sex patientNo 类型 int String String String String String 长度 8 20 20 20 5 10 备注 挂号单的序列号 病人所看医科 病人姓名 病人住址 性别 病人号 - 20 -
2、护士数据表(docPrescription)
该表记录的是护士相关的信,姓名,性别,年龄,职称,登录名,登录密码,是否激活。字段定义如表所示:
表4-6-2护士数据表(prescription) 属性名 护士 性别 年龄 职称 是否激活 登录名 登录密码 职称号 姓名 3、医生数据表(doctor)
该表记录的是各个科室的医师在职时间。字段定义如表所示:
表4-6-3医生数据表(Mzdoc) 属性名 医师号 科室号 科室名 姓名 性别 年龄 是否激活 登录名 登录密码 员工编号 编号
- 21 -
存储代码 id sex age post isActive loginName loginPassword postId name 类型 Int String int String Boolean String String String String 长度 8 20 8 100 1 10 10 10 10 备注 护士编号 护士性别 护士年龄 护士职称 '0'为否,'1'为是 护士登录名 护士登录密码 护士职称号 护士姓名 存储代码 doctorId mcId mcName name sex age isActive loginName loginpassword staffNo id 类型 string String String String String int int String String String int 长度 10 10 10 10 5 5 2 10 10 10 10 备注 门诊医师序列号 医师所属科室名 医生所在科室 医生姓名 医生性别 医生年龄 医生是否激活 医生登录名 医生登录密码 医生员工号 医生编号
4、手术室数据表(presciption)
该表记录的是手术室相关的信息,手术室编号,相关的护士,占用情况等该表的字段定义如表所示:
表4-6-4手术室数据表(Yaostore) 属性名 手术室编号 护士列表 编号 备注 地址 类型 手术编号 是否占用 5、病床数据表(Drugorder)
该表包括字段有:字段定义如表所示:
表4-6-5病床数据表(Drugorder) 属性名 病床号 编号 科室 是否占用 6、手术数据表(Takedruginfor)
该表记录手术情况。其字段定义如表:
表4-6-6手术数据表(Takedruginfor) 属性名 编号 病人编号 领用单位 药品编号 领药量 单价 存储代码 Tdi_no Tdi_brno Tdi_Lydw Tdi_drugno Tdi_num tdi_singleprice 类型 Int int String int int float 长度 8 8 20 8 8 20 备注 药品请领单序号 病人编号 领用药品单位名称 领用药品编号 药品编号 单价 存储代码 bedNo id mcName isUseable 类型 int int String Int 长度 8 8 20 8 备注 订单号 药品的编号 药品单价 购买药品数量 存储代码 nurseList id info address type orNo isUseable 类型 String String String String String String String 长度 8 20 20 40 8 20 20 20 备注 手术室编号 护士列表 编号 备注 地址 类型 手术编号 是否占用 operatingRoomId Int 7、诊断数据表(Yizhu)
该表记录的是患者的医嘱信息。包括的字段:表号、医师姓名、病人编号、医嘱内容。其中表号是该表的关键字。定义如表4-6-7所示:
表4-6-7医嘱数据表(Yizhu) 属性名 诊断单序号 主治医师姓名 存储代码 id doctorId 类型 Int String 长度 8 10 备注 病情诊断单序列号 开出医嘱医师编号 - 22 -
病人编号 医嘱内容 patientNo info Int String 8 50 病人编号 医嘱内容 8、住院病人数据表(Zhuyuanbr)
该表记录的是病人住院时的各种信息,包括住院时间,出院时间,床位信息等。个字段定义如表所示:
表4-6-8住院病人数据表(Zhuyuanbr) 属性名 病人编号 床位号 入院科别 入院时间 是否出院 存储代码 patientNo sickbedNo mcName starttime isFinished 类型 int Int Srting Date boolean 长度 8 8 8 10 1 备注 病人编号 床位号 入院科别 入院时间 '1'出院,'0'没出院 9、床位数据表(Chuangwei) 该表记录的是住院患者所在的床位号,可以通过该表查出患者的住院费用,具体位置信息。其字段定义如表所示:
表4-6-9床位数据表(Chuangwei) 属性名 床号 所属病区 是否空床 床位租金 10、病人信息数据表(Patient)
该表记录的是患者挂号是所填写的信息。其字段定义如表4-6-10所示:
表4-6-10病人信息数据表(Brinfor) 属性名 病人编号 姓名 性别 出生日期 科室 地址 是否结束 备注 所挂科室号
11、病人费用信息数据表(Brdruginfor)
该表记录的是患者住院及用药的费用信息。字段定义如图所示:
表4-6-11病人费用信息数据表(Brdruginfor) 属性名 表号 病人编号 存储代码 id patientNo 类型 Int int 长度 8 8 备注 表号 病人编号 存储代码 patientNo name sex birthday mcName address isfinished info mcId 类型 int string string int string string int String int 长度 8 20 4 3 10 20 2 50 10 备注 病人编号 姓名 性别 年龄 科室 地址 是否结束 备注 科室号 存储代码 sickbedNo mcName isuseable rent 类型 Int string Bool float 长度 8 10 1 8 备注 床位序号 本床位所属病区 “是”、“否” 床位租金费用 - 23 -
账单总额 费用条目 收款人 收款人编号 收款日期 是否结束 病人姓名 pay items payee payeeID pdate isFinished patientName float String String String Date int String 20 20 10 10 10 5 10 账单总额 费用条目 收款人 收款人编号 收款日期 是否结束 病人姓名 12、职称表数据(Empinfor)
该表记录的是医院各个部门的职员信息。可以通过这些信息来检查各个职员对系统操作的权限。字段定义如表所示:
表4-6-12职称表数据字典(Empinfor) 属性名 职称编号 职称名 存储代码 postId post 类型 string string 长度 10 10 备注 职称编号 职称名
- 24 -
3.4.3 数据表关系图
DepartmentPKLeaderPK leader_noleader_nameleader_statuslogin_passlogin_typePKPrescriptionPK pre_nopre_namepre_factorypre_pricepre_pro_datepre_final_datepre_sumPK FK1FK3FK2Datadata_nopat_nodoc_noleader_nofinan_adm_noPKFK1FK2 PK FK1 dep_nodep_typePK Financialfinan_adm_nofinan_namelogin_passlogin_typefinan_statusDoctordoc_nodoc_namedoc_agedep_nodoc_telPatientRoompat_room_nopat_room_typesickbed_sumPatientpat_nodep_nodoc_noreg_datepat_genderpat_agereg_feehospitalPK FK3FK2FK4FK1hos_nohos_namepat_room_nodep_nopre_nodata_noSickbedPKFK1 sickbed_nopat_room_nosickbed_rentsickbed_tyepsickbed_statePatientRecordPKFK2 FK1 pat_record_nopat_nopat_namepat_genderpat_agepat_illnesspat_historydoc_noregister_dateout_datepre_recordpre_fee 图3.2 数据表关系图
- 25 -
3.4.4 连接数据的方式
采用java数据库本地驱动连接方式,主要步骤如下: 采用Class.ForName()方法加载本地对应的sql.jar包驱动,再利用DriverManager加载各种不同驱动程序(Driver),并根据不同的请求,向调用者返回相应的数据库连接(Connection)。 Driver:驱动程序,会将自身加载到DriverManager中去,并处理相应的请求并返回相应的数据库连接(Connection)。 Connection:数据库连接,负责与进行数据库间通包含动态参数的SQL查询和更新(在服务器端编译,允许重复执行以提高效率)。 CallableStatement:用以调用数据库中的存储过程。 SQLException:代表在数据库连讯,SQL执行以及事务处理都是在某个特定Connection环境中进行的。可以产生用以执行SQL的Statement。 Statement:用以执行SQL查询和更新(针对静态SQL语句和单次执行)。 PreparedStatement:用以执行接的建立和关闭和SQL语句的执行过程中发生了例外情况(即错误),主要方式如下:
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。 Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。
Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。 JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息
- 26 -
可能来自远程数据库。企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。
MIS 管理员们都喜欢 Java 和 JDBC 的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务, Java 和JDBC 可为外部客户提供获取信息更新的更好方法。
3.5画面迁移图
损坏购入使用修好维修中多余重新使用不能修超过年限闲置报废
图3.3系统状态图
- 27 -
- 28 -
3.6系统时序图
医院系统管理者用户用户登录管理系统数据操作数据库登录信息信息正确添加信息添加成功返回信息返回确认信息信息错误查询信息发送请求,查询返回查询查询成功,返回结果转换角色修改信息重新登录返回修改结果修改成功,返回结果发送修改请求删除信息发送删除请求返回删除结果删除成功,返回结果
- 29 -
图3.4医院系统管理者角色时序图
病人用户用户登录管理系统数据操作数据库登录信息信息正确添加病情添加成功返回病情信息返回确认信息信息错误查询病历发送请求,查询返回查询结果查询成功,返回结果转换角色修改病历重新登录返回修改结果修改成功,返回结果发送修改请求
图3.5病人角色时序图
- 30 -
医生用户用户登录管理系统数据操作数据库登录信息信息正确添加诊断信息添加成功返回诊断信息返回确认信息信息错误查询诊断信息发送请求,查询返回查询结果查询成功,返回结果转换角色修改诊断信息重新登录返回修改结果修改成功,返回结果发送修改请求
图3.6医生角色时序图
- 31 -
护士用户用户登录管理系统数据操作数据库登录信息信息正确添加护理情况信息添加成功返回护理信息返回确认信息信息错误查询护理历史发送请求,查询返回查询结果查询成功,返回结果转换角色修改护理情况重新登录返回修改结果修改成功,返回结果发送修改请求
图3.7护士时序图
- 32 -
第四章 系统详细设计
4.1 总体类图(画出实体类图及其关系)
SQLServerDBManagerReceiptDAO+savePost() : bool+loadAllPost() : bool+deletePostById() : bool+saveDate()+deleteDate()+updateDate()+getConnection()+exexQuery()系统管理员用户类-用户编号 : string-用户姓名 : string-用户密码 : string-用户权限 : string-+登录() : bool+退出() : bool+修改密码() : bool-姓名 : string-性别 : string-电话 : string-职位 : string+添加医生() : bool+添加护士() : bool+科别维护() : bool+病床维护() : bool+职称维护() : bool+手术室维护() : bool+员工维护() : bool+登录() : bool+退出() : bool科室-编号 : string-名称 : string-类别 : string-备注 : string+增加()+修改()+查询()+删除()医生-姓名 : string-登录名 : string-登录密码 : string-性别 : string-职称 : string-出生日期 : Date-职位编号 : string-科室名 : string-备注 : string-是否激活 : string-联系电话 : string+查看病人() : string+开诊处方() : string+修改密码() : string+修改处方() : string+退出() : bool+登录() : bool包含分属护士-姓名 : string-年龄 : int-电话 : string-登录名 : string-登录密码 : string-职称名 : string-职称编号 : string+病人管理() : void+挂号管理() : string+收费管理() : string+登录() : bool+退出() : bool病房-编号 : string-类型 : string-位置 : string-床位数 : string+查看()+增加()+删除()+修改()做手术包含属于病床-编号 : string-病房 : string-租金 : float-状态 : bool-病人号 : string开处方1 *手术室-手术室编号 : string-类型 : string-使用状态 : int-位置 : string-备注 : string-护士编号 : string看病 1 *病人-姓名 : string-年龄 : int-性别 : string-电话 : string-是否住院 : bool-所挂科室号 : string-病床号 : string-住址 : string看护111 *住院1 *挂号住院缴费 图4-1总体类图
- 33 -
4.2 各个类类图
医生-姓名 : string-登录名 : string-登录密码 : string-性别 : string-职称 : string-出生日期 : Date-职位编号 : string-科室名 : string-备注 : string-是否激活 : string-联系电话 : string+查看病人() : string+开诊处方() : string+修改密码() : string+修改处方() : string+退出() : bool+登录() : bool用户类-用户编号 : string-用户姓名 : string-用户密码 : string-用户权限 : string-+登录() : bool+退出() : bool+修改密码() : bool 图4-2 医生类
护士-姓名 : string-年龄 : int-电话 : string-登录名 : string-登录密码 : string-职称名 : string-职称编号 : string+病人管理() : void+挂号管理() : string+收费管理() : string+登录() : bool+退出() : bool用户类-用户编号 : string-用户姓名 : string-用户密码 : string-用户权限 : string-+登录() : bool+退出() : bool+修改密码() : bool
图4-3护士类
- 34 -
病人-姓名 : string-年龄 : int-性别 : string-电话 : string-是否住院 : bool-所挂科室号 : string-病床号 : string-住址 : string 图4-4病人类 病房-编号 : string-类型 : string-位置 : string-床位数 : string+查看()+增加()+删除()+修改() 图4-5 病房类 手术室-手术室编号 : string-类型 : string-使用状态 : int-位置 : string-备注 : string-护士编号 : string 图4-6手术室类 - 35 -
病床-编号 : string-病房 : string-租金 : float-状态 : bool-病人号 : string
图4-7 病床类
用户类-用户编号 : string-用户姓名 : string-用户密码 : string-用户权限 : string-+登录() : bool+退出() : bool
+修改密码() : bool
图4-8 用户类 SQLConnection+getConnecton() : bool+getClose() : bool+executeQuery() : string +executeUpdate() : string 图4-9 SQLConnection类图 SQLServerDBManager+saveDate()+deleteDate()+updateDate()+getConnection()
+exexQuery() 图4-10 SQLServerDBManager类
- 36 -
SQLServerDBManagerReceiptDAO+savePost() : bool+loadAllPost() : bool+deletePostById() : bool+saveDate()+deleteDate()+updateDate()+getConnection()+exexQuery()
图4-11 ReceiptDAO类
系统管理员用户类-用户编号 : string-用户姓名 : string-用户密码 : string-用户权限 : string-+登录() : bool+退出() : bool+修改密码() : bool
图4-12用户类
-姓名 : string-性别 : string-电话 : string-职位 : string+添加医生() : bool+添加护士() : bool+科别维护() : bool+病床维护() : bool+职称维护() : bool+手术室维护() : bool+员工维护() : bool+登录() : bool+退出() : bool
4.2.1属性列表
表4-1医生类属性 属性名 具体表示 姓名 name 性别 sex 年龄 age 职称 post 科室 mcId 生日 birthday 登录名 loginName 登录密码 loginPassword 状态 isActive 类型 String String Integer String Integer Date String String int 备注 医生姓名 医生性别 医生年龄 医生职称 所在科室号 医生生日 登录名 登录密码 在职状态 - 37 -
表4-2 护士类属性 属性名 具体表示 姓名 name 性别 sex 年龄 age 职称 post 科室 mcId 生日 birthday 登录名 loginName 登录密码 loginPassword 状态 isActive 表4-3 病人类属性 属性名 具体表示 姓名 name 性别 sex 年龄 age 标识 id 科室 mcName 科别号 mcId 地址 loginName 诊断 loginPassword 状态 isfinished 表4-4诊断书类属性 属性名 具体表示 诊断书编号 name 科别 mcId 主治医生号 doctorId 病人号 patientId 诊断书 info 表4-5 手术类属性 属性名 具体表示 编号 id 类型 type 日期 date 费用 pay 手术室号 operatingRoomId 类型 String String Integer String Integer Date String String int 备注 护士姓名 护士性别 护士年龄 护士职称 所在科室号 护士生日 登录名 登录密码 在职状态 类型 String String Integer String String Integer String String int 备注 护士姓名 护士性别 护士年龄 护士职称 所在科室 科室编号 登录名 诊断书 是否结束 类型 Integer Integer Integer Integer String 备注 诊断书编号 科别 主治医生号 病人号 诊断书 类型 Integer String Date float Integer 备注 手术编号 类型 手术日期 手术费用 手术室编号 - 38 -
主刀医生号 pkDoctorId 辅助医生号 extDoctorId 是否结束 isfinished 表4-6 手术室类属性 属性名 具体表示 标识 id 手术室编号 orId 位置 address 备注 info 护士列表 nurseList 是否空闲 isUseable
表4-7 病床类属性 属性名 具体表示 标识 id 床位号 bedId 类型 type 是否空闲 isUseable 租金 rent
表4-8 职称类属性 属性名 具体表示 标识 postid 名称 post 表4-9 住院类属性 属性名 具体表示 标识 id 床位号 bedId 病人号 patientId 开始时间 startTime 结束时间 endTime 天数 days 表4-10 收据类属性 属性名 具体表示 收据编号 id 项目 items 金额 pay 收款人 payee Integer Integer int 类型 Integer Integer Integer Integer String 主刀医生号 辅助医生号 是否结束 备注 诊断书编号 科别 主治医生号 病人号 诊断书 类型 Integer Integer String int float 备注 标识 床位号 类型 是否空闲 租金 类型 Integer String 备注 职称标识 职称名称 类型 Integer Integer String Date Date Integer 备注 标识 床位号 病人号 开始时间 结束时间 天数 类型 Integer String float String 备注 收据编号 项目 金额 收款人 - 39 -
收款人号 日期 是否收 payeeId pdate isFinished Integer Date int 收款人号 日期 是否收讫 4.2.2方法列表
表4-11 医生类方法属性 方法名 返回类型 insert RequestDispatcher delete RequestDispatcher update RequestDispatcher select RequestDispatcher
表4-12 护士类方法属性 方法名 返回类型 insert RequestDispatcher delete RequestDispatcher update RequestDispatcher select RequestDispatcher 表4-13 病人类方法属性 方法名 返回类型 insert RequestDispatcher delete RequestDispatcher update RequestDispatcher select RequestDispatcher 表4-14 用户类方法属性 方法名 返回类型 insert RequestDispatcher delete RequestDispatcher update RequestDispatcher select RequestDispatcher 表4-15 病房类方法属性 方法名 返回类型 insert RequestDispatcher delete RequestDispatcher update RequestDispatcher select RequestDispatcher 参数 req,resp req,resp req,resp req,resp 作用域 protected protected protected protected 参数 req,resp req,resp req,resp req,resp 作用域 protected protected protected protected 参数 req,resp req,resp req,resp req,resp 作用域 protected protected protected protected 参数 req,resp req,resp req,resp req,resp 作用域 protected protected protected protected 参数 req,resp req,resp req,resp req,resp 作用域 protected protected protected protected - 40 -
表4-16 病床类方法属性 方法名 返回类型 insert RequestDispatcher delete RequestDispatcher update RequestDispatcher select RequestDispatcher 表4-17 科室类方法属性 方法名 返回类型 update RequestDispatcher select RequestDispatcher 表 4-18 诊断书类方法属性 方法名 返回类型 insert RequestDispatcher delete RequestDispatcher update RequestDispatcher select RequestDispatcher
参数 req,resp req,resp req,resp req,resp 作用域 protected protected protected protected 参数 req,resp req,resp 作用域 protected protected 参数 req,resp req,resp req,resp req,resp 作用域 protected protected protected protected 4.2.3具体方法描述
1.SQLConnection类
方法 getConnection Begin 注册驱动Class.forName(\ 获取连接getConnection(\ \ 若成功=》返回conn对象 否则 抛出异常 并提示信息
- 41 -
End
executeQuery方法 Begin try { conn=>createStatement(); st.executeQuery(sql)=>rs; if(rs!=null){ 提示 “查询数据成功; }else{ 提示\查询数据失败!!; rs =>null } } catch (SQLException e) { 提示异常信息\查询数据库出现操作错误!!!\ rs=>null; } return rs; } /** * 对数据库中的表进行 添加,修改,删除 操作 * */ executeUpdate方法 Begin try { conn.createStatement() =>st st.executeUpdate(sql)=>num; if(num!=0){ 提示\对数据库操作成功!!\ }else{ 提示(\对数据库操作失败!!\ 0=>num; } } catch (SQLException ) { 提示\对数据库中的表进行操作时出现操作错误!!\ e.printStackTrace(); } return num;
- 42 -
} End
/** * 关闭数据库 * */ getColse方法 Begin try { 执行conn.close(); } catch (SQLException e){ 提示\数据库关闭失败,请稍候在关闭!!\ e.printStackTrace(); } End
2.LoginServlet 类
方法doGet() Begin arg0.getParameter(\ rg0.getParameter(\ arg0.getParameter(\ sql=\ new LoginService()=> loginService; loginService.loginSelect(sql)=>rs; if(rs!=null){ =>mainDoctor.jsp }else{ 提示\医生登录失败,请检查您填写的信息是否正确!!\ =>login.jsp }
- 43 -
正在阅读:
医院信息管理系统开发文档04-11
第一章试题110-26
温泉五大设计规划方案09-05
十一小学公民道德教育实施方案12-26
贵州省遵义市2015年中考数学试题及答案12-20
钻井专业初培复习题(5)02-29
励志故事文章02-18
描写雨的段落02-11
阳光下的我们作文400字07-06
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 管理系统
- 文档
- 医院
- 开发
- 信息
- 新大市化工有限公司生产安全事故应急预案
- 北语201609考试批次《教育技术学》(结课作业) - 图文
- 在“两违”集中整治工作会上的表态发言
- 惠州学院微机原理试卷
- 部编版一年级语文下册拓展篇目阅读
- u064-湖北省武汉市华中师范大学第一附属中学2017-2018学年高一下
- 三级医院科主任职责与绩效考核实施细则20170413 - 图文
- 渠道施工组织设计 - 图文
- 热工基础(第二版)课后习题部分答案(2) 王平阳等编
- 安徽省江南十校2013届高三3月联考理科综合试题
- 蛋白免疫印迹杂交技术手册 - 图文
- 微观经济学试卷A卷(2)
- 交通局质量强县半年工作总结
- 演员台词
- 最新苏教版二年级语文下册第三单元测试题及答案2套
- 社会心理学的历史与现状
- 2011年考前解密班理论法陈璐琼授课提纲 - 远程+网授 - 图文
- 英阿依玛克小学暑假返校活动简报2013.7.26
- 南京理工大学C++期末试卷2006
- 甲骨文形声字的研究