基于B/S结构的电子病历管理系统的开发

2012-02-28 05:10杨艳丽庞艳丹
网络安全与数据管理 2012年15期
关键词:病案病历页面

杨艳丽 ,曹 岩 ,庞艳丹

(1.深圳大学 计算机与软件学院,广东 深圳 518060;2.西安工业大学 先进制造工程研究所,陕西 西安 710032)

电子病历 EMR(Electronic Medical Record)也称为算机化的病历或基于计算机的病人记录CMR(Computer Based Mdical Record),它是用电子设备保存、管理和传输数字化的病人医疗记录,是取代手写纸张的病历。对电子病历一致的理解与定义目前尚未形成。病历在医疗科研、教学和医院管理方面起着提供数据源的重要作用。纸张病历在服务方面是被动式的,而电子病案则可以是主动式的,包括病案检索、智能知识库、医疗质量统计、医疗评价、经济统计分析等等,这是电子病历的服务功能。

电子病历内涵应包括:一是信息共享。医院各个部门、科室在任何时间和地点都能调阅到病人所在医院的全部病历记录;二是具有预警功能,对药物配伍禁忌、医疗方法不当进行提示;三是支持医疗信息资料库,供医疗人员在工作时查询使用。电子病历是医疗信息的核心,病历信息贯穿于病人在医院就诊的各个环节,因此,电子病历绝不仅是病案的电子存储,它实质上是医疗过程的全面信息化,不是静态的病案本身,而是动态的智能信息源。

1 基于B/S模式的系统结构

一般来讲,基于B/S结构模式[1-4]的电子病历管理的应用系统具有如图1所示的三个层次。三层结构中,底层是电子病历的数据服务器,用于存储和管理电子病历数据;中间层是应用服务器和Web服务器,其中应用服务器用于实现系统的业务逻辑,如电子病历的管理、电子病历的归档、电子病历的查询、统计报表等组建管理,还可以通过网关和外部系统进行数据交换和传递;最上面的是客户端,用户可以通过浏览器进行使用。

图1 电子病历管理的三层结构

本文系统开发采用B/S模式,系统结构具有可伸缩、可维护性强、安全、“瘦”型客户机可直接上网、投入成本较低等优势。开发环境采用Eclipse[5-6]。

2 系统功能分析

医院的活动图2所示。首先,病人在挂号处领取一张病人资料表,填写自己的相关信息以及选择的科室。医院处的挂号员录入病人的基本信息,这样就建立了一个医院病人的数据,数据的存放将按照病人选择的科室进行归类放置在服务器端,当某科室的医生打开自己的页面的时候,该科室的病人的大致信息汇总将集中显示在页面上,这样医生就能了解到该科室病人的大致情况。

图2 医院的活动图

当医生选中其中的某个病人时,可以进入到该病人的详细病历资料的页面,查看病人已往的病情记录、当前临床病症和检查结果,并据此做出诊断,并填写病历详细资料中的诊断信息。

病人在挂号后,系统生成病人的病历号码,并且初始化病人的登录密码和病历号码一致,病人根据病案号码和登录密码登录到相应的病历信息中。

3 数据库设计

3.1 数据库需求分析

通过对医院门诊部门的实际运作和管理流程进行分析,设计的数据结构如下:

(1)挂号处挂号员登录信息:包括的数据项有姓名和密码。

(2)医生登录信息:包括的数据项有科室选择、医生姓名和登录密码。

(3)挂号处登记的病人基本信息:包括的数据项目有患者姓名、患者年龄、患者性别、身份证号码、住宅电话、移动号码、入院科室、家庭地址和诊断时间。

(4)病人病历详细信息:包括的数据项有患者姓名、患者年龄、患者性别、身份证号码、住宅电话、移动号码、入院科室、家庭地址、诊断时间、病历号码、总费用、胸透检查、血检结果、B超检查结果、临床症状、家族病史、诊断结果、病人处方、手术方案、手术情况、用户密码的修改以及既往病史等。

(5)病人登录信息:包括的数据项有病历号和登录密码。

3.2 数据库概念结构设计

在需求分析的基础上,设计出能满足用户需求的各种实体以及它们之间的关系,为逻辑结构设计打下基础。本文采用E-R图的方法来进行数据库概念结构设计。

图3为挂号信息的实体E-R关系图,图4为病历信息的实体E-R关系图。实体与实体之间的关系如图5所示。

图5 实体之间的关系E-R图

电子病历管理系统数据库具备5个表格的设计,分别是录入员信息表、医生信息表、病人登录信息表、病人病历基本信息表和病人既往病史信息表。

在需求分析、概念结构设计的基础上,就可以创建数据库表格,然后将表格结构导入数据库系统,这样就实现了数据库的逻辑结构[7]。

3.3 建立数据库的连接

网页上各个请求的实现都需要连接数据库,下面的程序包文件中,DataSource是用来查找在struts架构中定义的数据源,它是在jre/lib文件库里定义的rt.jar,引入的Connection类用来得到DataSource返回的连接;ResultSet用来获取Statement对象执行SQL语句后返回的数据信息;SQLException用来捕获在执行数据库操作时产生的异常信息,以便抛出并让用户了解数据库操作过程中的出错信息;Statement类用来得到Connection类创建的SQL语句陈述类。

4 服务端应用

服务端的具体运行过程如图6所示。struts应用程序中的所有组件在struts-config.xml文件中注册,配置文件struts-config.xml是整个struts应用的核心。struts应用在启动时,就会自动加载该文件到内存中,以后用户的每一次请求以及struts自身的每一次请求转发都会依赖该文件。

图6 服务端的具体运行过程

其中,struts配置文件如下:

5 客户端应用

利用Dreamweaver实现了 JSP页面[8-12]。系统登录时,输入用户名和密码进入主要功能页面,包括:病人登录,医生登录和挂号员登录。

(1)病人进入医院,填写纸质的病历,填写病人的基本的信息,病人将纸质的病历交给信息录入员后,录入员登录到录入界面,录入病人的基本信息,并根据病人选择的科室给病人分配一个病案号,这样相应科室的医生一旦登录,就能马上调出其所在科室的所有病人的基本信息列表。

(2)医生登录时,输入其所在的部门科室的名称、姓名和密码就能够进入到下一个页面,这里的关键字是部门科室,系统根据填写的部门科室的名称自动调出该部门科室的所有病人的基本信息列表,医生能大致了解该科室的病人的状况。医生可以选择某一个病人,选择后进入详细信息页面,即病人病情页面。

(3)病人第一次进入系统的时候,根据分配的病案号和密码填写并登录到病人的详细信息页面中了解自己的病症状况,但是病人无权修改。只有用户密码这一栏里,病人有修改的权限,病人在成功修改后,系统会有成功修改的提示,以后病人登录的密码将是修改后的密码。

目前医疗信息系统正处于由传统的面向医院事务管理向与临床医疗信息相结合的转变过程,由于电子病历是临床医疗信息的出发点和医院信息系统的核心,因此,电子病历系统研究是医院信息系统研究和建立数字化医院的关键课题。本文对电子病历管理系统进行了系统功能分析和功能模块划分,设计了服务端、客户端以及数据库,所开发的系统用户界面友好、使用方便。

[1]柳永坡,刘雪梅,赵长海.JSP应用开发[M].北京:人民邮电出版社,2005.

[2]柏亚军.JSP编程基础及应用实例集锦[M].北京:人民邮电出版社,2001.

[3]马斗,邱哲,王骏标.JSP开发答疑 200问[M].北京:人民邮电出版社,2005.

[4]吴其庆.JSP编程思想与实践[M].北京:冶金工业出版社,2003.

[5]GAMMA E, BECK K.Contributing to Eclipse中文版[M].熊节,译.北京:中国电力出版社,2003.

[6]张云涛,龚玲.Eclipse精要与高级开发技术[M].北京:电子工业出版社,2005.

[7]施威铭研究室.SQLServer2000中文版管理实务 [M].北京:人民邮电出版社,2001.

[8]孙素华.Dreamweaver MX2004完美网页设计[M].北京:中国青年出版社,2006.

[9]王黎.Flex+JSP Web应用开发实战详解[M].北京:清华大学出版社,2010.

[10]张倍,赵国锋.JSP数据库通用模块开发与系统移植[M].北京:清华大学出版社,2007.

[11]张银鹤,刘治国,张豪.JSP动态网站开发实践教程[M].北京:清华大学出版社,2007.

[12]王永茂,JSP程序设计—用 JSP开发 WEB应用 [M].北京:清华大学出版社,2010.

猜你喜欢
病案病历页面
刷新生活的页面
基于二维码的病案示踪系统开发与应用
强迫症病历簿
试析病案管理中预防病案错位发生的方法
“大数的认识”的诊断病历
为何要公开全部病历?
试论病案管理在防范医疗纠纷中的作用
PDCA循环改进对病案首页中主要诊断正确选择的影响分析
村医未写病历,谁之过?
Web安全问答(3)