第21章 病历管理系统.ppt_第1页
第21章 病历管理系统.ppt_第2页
第21章 病历管理系统.ppt_第3页
第21章 病历管理系统.ppt_第4页
第21章 病历管理系统.ppt_第5页
已阅读5页,还剩19页未读, 继续免费阅读

下载本文档

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

文档简介

1、第21章 病历管理系统,病历管理系统是一套用于管理病人病历记录的系统,以替代陈旧的纸档病历记录,实现病历记录的无纸化管理。病历实现无纸化管理后能够依赖电子化系统的优点快速的实现查找功能,效率显然比在一堆病历本中翻找高得多。,21.1 需求分析,目前为止,基本上所有的大型医院内部都已实现各个流程的电子化。从挂号、排队、预约到病历记录,甚至医药管理,均有系统帮助医院实现有效的信息化管理。但是对于一些私人诊所,即便是最简单的病人病历记录都只能在纸档上面记录,因此为这些私人诊所提供一套简单易用的病历管理系统显然是有必要的。,21.2 成品预览,由于病历是每个病人的隐私资料,因此,病历管理系统必须提供用

2、户验证功能,以防止除医生以外的其他人员获取病历资料,程序的验证对话框如图21-1所示。,21.3 知识准备,病历管理系统的实现需要使用到数据库的技术,因此本节将介绍Access数据库使用方法以及ODBC的配置。另外还将介绍书数据库编程中经常用到的DAO模式。,21.3.1 利用Access创建数据库,Microsoft Access 2000是一种关系型数据库管理系统(RDBMS)。是Microsoft Office 2000套件的Professional版和Developer版的一个组件,不需要单独安装。,21.3.2 利用Access建立表和表关联,上一节新建了一个名为db1的数据库,可以

3、看出Access建立的数据库其扩展名为mdb。接下来的目标就是创建一张数据库表,创建一张表的方法有多种,包括:使用设计器创建表、使用向导创建表、通过输入数据创建表,如图21-8所示。,21.3.3 ODBC配置,ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL完成大部分任务。ODBC本身也提供了对SQL语言的支持,利用ODBC用户可以直接

4、使用SQL语句。,21.3.4 DAO模式介绍,在核心Java EE模式中是这样介绍DAO模式的:为了建立一个健壮的Java EE应用,应该将所有对数据源的访问操作封装在一个公共API中。用程序设计的语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储。,21.4 项目总体设计,一个程序的项目总体设计是极为重要的,如果这一阶段的数据库设计的不合理,将给后续的编码带来非常大的困扰。某些本来可以很简单完成的功能,可能就会因为数据库的原因需要使用复杂的

5、方式实现。而系统结构设计的不恰当也会带来同样的困扰,而且常常会使整个项目进入一种失控的状态。因此,读者除了关注语言本身的学习外,更需要积累系统设计的经验和知识。,21.4.1 数据库设计,对于一个医生而言,病人以下两个方面的信息是最重要的,并且会对其诊断产生重要影响。,21.4.2 系统结构设计,系统采用典型的MVC三层模式,视图层由Swing实现。所有与视图层相关的代码放在包view中;与数据库操作有关的类全部放于dao包中;与数据映射相关的类放于pojo包中;util包则放置一些辅助类。项目的结构如图所示。,21.5 项目具体实现,本节开始介绍项目的具体实现代码,整个项目将按照模块进行划分

6、,介绍各个部分的实现方式。读者需要特别关注程序的数据库访问层是如何实现的。因为这以模块的系统设计思想契合当前主流的Java EE框架设计方式,对读者深入了解Java EE的设计思想可以起到入门的作用。,21.5.1 properties文件操作类,为简单起见,程序的用户名和密码被存放在properties文件中,并且只是将密码信息转换成十六进制ASCII码以防止被非法用户看到明文密码,对properties文件的操作封装在如下所示的类中。,21.5.2 用户密码加密类实现,用户密码的加密通过类Encrypt实现,该类的encrypt方法将传入的字符参数进行加密,decrypt方法将传入的字符参

7、数解密。,21.5.3 登录窗口主要组件实现,程序的登录窗口由类LogonFrame负责,该类为每一个组件包括姓名标签、密码标签、姓名输入框、密码输入框、登录按钮等各自分配了一个变量,其代码如下所示。,21.5.4 登录窗口辅助组件实现,类LogonFrame其他组件的初始化方法如下所示。,21.5.5 数据库映射类设计,程序中涉及到两个表PRS_PATIENT和PRS_RECORD的映射,程序建立了对应的PrsPatient和PrsRecord类作为映射类,其代码如下所示。,21.5.6 ORM类设计,每一个表都有一个对应的ORM类,表PRS_RECORD对应的是PrsRecordDAO,表

8、PRS_PATIENT对应的是PrsPatientDAO类。对数据库的基本连接、断开连接等操作被放在这两个数据库操作类的基类AbstractDAO中。由于类PrsPatientDAO与PrsRecordDAO的数据库操作实现代码基本相似,因此,本节仅介绍PrsPatientDAO的实现细节。 1抽象类AbstractDAO的实现 2类PrsPatientDAO数据库插入操作实现 3类PrsPatientDAO数据库查询操作,21.5.7 图片展示面板设计,对于病历系统而言,信息的准确性是非常重要的。但是,仅仅根据姓名、年龄、地址等信息判断当前治疗的病人就是病历系统中查询到的病人有可能发生错误。

9、如果医生根据错误的病历信息对病人做出诊断,极有可能发生医疗事故。因此,系统提供了一个上传照片的功能,通过识别照片以减少病历不匹配现象的发生。,21.5.8 表格模型实现,病历系统在查询病人时如果有多条信息匹配查询条件,则会将这些病人显示在一个表格中,然后由医生决定选择哪一个病人进行编辑。表格模型通过继承AbstractTableModel类实现,其代码如下所示。,21.5.9 表格编辑渲染器实现,由于表格中的第七栏是一个按钮,当单击该按钮时,程序会新建一个新的命令面板,显示医生选择的病人基本信息和诊疗记录。所以第七列需要使用到表格渲染器和编辑器,渲染器代码如下所示。,21.5.10 病人病历和

10、诊疗记录显示面板设计,当医生找到或者建立了一个新的病人病历的时,程序会打开一个新的命令面板用于显示病人的基本信息和诊疗记录。这些信息的显示由病人病历和诊疗记录显示面板负责创建和显示。该面板由类PatientRecordPanel继承JPanel类实现,本节介绍该面板的实现细节。 1病人基本信息组件的初始化 2病人诊疗信息组件的初始化 3照片选择按钮实现 4保存病人信息和就诊记录,21.5.11 主窗体实现,主窗体是程序与用户交互的总入口,医生可以在该窗体上搜索需要进行治疗的病人的病历,并对病人病历做修改、保存等操作。本节将主窗体分成实现搜索功能的组件和病人病历组件两部分介绍。 1搜索功能组件实现 2病人病历搜索实现,21.6 小结,作为本书的最后一个范例,也是最复杂

温馨提示

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

评论

0/150

提交评论