收藏 分销(赏)

第21章 病历管理系统.ppt

上传人:xrp****65 文档编号:13343095 上传时间:2026-03-04 格式:PPT 页数:24 大小:108.50KB 下载积分:10 金币
下载 相关 举报
第21章 病历管理系统.ppt_第1页
第1页 / 共24页
第21章 病历管理系统.ppt_第2页
第2页 / 共24页


点击查看更多>>
资源描述
,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,第,21,章 病历管理系统,病历管理系统是一套用于管理病人病历记录的系统,以替代陈旧的纸档病历记录,实现病历记录的无纸化管理。病历实现无纸化管理后能够依赖电子化系统的优点快速的实现查找功能,效率显然比在一堆病历本中翻找高得多。,21.1,需求分析,目前为止,基本上所有的大型医院内部都已实现各个流程的电子化。从挂号、排队、预约到病历记录,甚至医药管理,均有系统帮助医院实现有效的信息化管理。但是对于一些私人诊所,即便是最简单的病人病历记录都只能在纸档上面记录,因此为这些私人诊所提供一套简单易用的病历管理系统显然是有必要的。,21.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,的数据库,可以看出,Access,建立的数据库其扩展名为,mdb,。接下来的目标就是创建一张数据库表,创建一张表的方法有多种,包括:使用设计器创建表、使用向导创建表、通过输入数据创建表,如图,21-8,所示。,21.3.3 ODBC,配置,ODBC(Open,Database Connectivity,,开放数据库互连,),是微软公司开放服务结构,(WOSA,,,Windows Open Services Architecture),中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准,API,(应用程序编程接口)。这些,API,利用,SQL,完成大部分任务。,ODBC,本身也提供了对,SQL,语言的支持,利用,ODBC,用户可以直接使用,SQL,语句。,21.3.4 DAO,模式介绍,在核心,Java EE,模式中是这样介绍,DAO,模式的:为了建立一个健壮的,Java EE,应用,,应该将所有对数据源的访问操作封装在一个公共,API,中,。用程序设计的语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储。,21.4,项目总体设计,一个程序的项目总体设计是极为重要的,如果这一阶段的数据库设计的不合理,将给后续的编码带来非常大的困扰。某些本来可以很简单完成的功能,可能就会因为数据库的原因需要使用复杂的方式实现。而系统结构设计的不恰当也会带来同样的困扰,,而且常常会使整个项目进入一种失控的状态。因此,读者除了关注语言本身的学习外,更需要积累系统设计的经验和知识。,21.4.1,数据库设计,对于一个医生而言,病人以下两个方面的信息是最重要的,并且会对其诊断产生重要影响。,21.4.2,系统结构设计,系统采用典型的,MVC,三层模式,视图层由,Swing,实现。所有与视图层相关的代码放在包,view,中;与数据库操作有关的类全部放于,dao,包中;与数据映射相关的类放于,pojo,包中;,util,包则放置一些辅助类。项目的结构如图所示。,21.5,项目具体实现,本节开始介绍项目的具体实现代码,整个项目将按照模块进行划分,介绍各个部分的实现方式。读者需要特别关注程序的数据库访问层是如何实现的。因为这以模块的系统设计思想契合当前主流的,Java EE,框架设计方式,对读者深入了解,Java EE,的设计思想可以起到入门的作用。,21.5.1 properties,文件操作类,为简单起见,程序的用户名和密码被存放在,properties,文件中,并且只是将密码信息转换成十六进制,ASCII,码以防止被非法用户看到明文密码,对,properties,文件的操作封装在如下所示的类中。,21.5.2,用户密码加密类实现,用户密码的加密通过类,Encrypt,实现,该类的,encrypt,方法将传入的字符参数进行加密,,decrypt,方法将传入的字符参数解密。,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,,表,PRS_PATIENT,对应的是,PrsPatientDAO,类。对数据库的基本连接、断开连接等操作被放在这两个数据库操作类的基类,AbstractDAO,中。由于类,PrsPatientDAO,与,PrsRecordDAO,的数据库操作实现代码基本相似,因此,本节仅介绍,PrsPatientDAO,的实现细节。,1,抽象类,AbstractDAO,的实现,2,类,PrsPatientDAO,数据库插入操作实现,3,类,PrsPatientDAO,数据库查询操作,21.5.7,图片展示面板设计,对于病历系统而言,信息的准确性是非常重要的。但是,仅仅根据姓名、年龄、地址等信息判断当前治疗的病人就是病历系统中查询到的病人有可能发生错误。如果医生根据错误的病历信息对病人做出诊断,极有可能发生医疗事故。因此,系统提供了一个上传照片的功能,通过识别照片以减少病历不匹配现象的发生。,21.5.8,表格模型实现,病历系统在查询病人时如果有多条信息匹配查询条件,则会将这些病人显示在一个表格中,然后由医生决定选择哪一个病人进行编辑。表格模型通过继承,AbstractTableModel,类实现,其代码如下所示。,21.5.9,表格编辑渲染器实现,由于表格中的第七栏是一个按钮,当单击该按钮时,程序会新建一个新的命令面板,显示医生选择的病人基本信息和诊疗记录。所以第七列需要使用到表格渲染器和编辑器,渲染器代码如下所示。,21.5.10,病人病历和诊疗记录显示面板设计,当医生找到或者建立了一个新的病人病历的时,程序会打开一个新的命令面板用于显示病人的基本信息和诊疗记录。这些信息的显示由病人病历和诊疗记录显示面板负责创建和显示。该面板由类,PatientRecordPanel,继承,JPanel,类实现,本节介绍该面板的实现细节。,1,病人基本信息组件的初始化,2,病人诊疗信息组件的初始化,3,照片选择按钮实现,4,保存病人信息和就诊记录,21.5.11,主窗体实现,主窗体是程序与用户交互的总入口,医生可以在该窗体上搜索需要进行治疗的病人的病历,并对病人病历做修改、保存等操作。本节将主窗体分成实现搜索功能的组件和病人病历组件两部分介绍。,1,搜索功能组件实现,2,病人病历搜索实现,21.6,小结,作为本书的最后一个范例,也是最复杂的一个范例。病历管理系统最主要的功能在于如何有效的组织和存储病人病历信息并且使得医生能够在病人就诊时快速的找到其病历。因此病历管理系统必须将病人信息存储在数据库中。考虑到病历管理系统只是一个独立运行在一台电脑上的程序,因此没有必要采用大型的关系型数据库系统而采用了小巧的,Access,以适应部分诊所电脑性能较低的情况。,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服