电子病历系统的设计与应用

2015-12-17 13:24刘致放佟思睿
电脑知识与技术 2015年28期
关键词:S结构软件工程

刘致放 佟思睿

摘要:按照软件工程的思想,对电子病历系统进行完善的需求分析,并基于.NET平台完成电子病历系统的设计和开发,开发采用C/S架构,开发语言采用C#。

关键词:电子病历系统;XML;C/S结构;软件工程

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)27-0048-04

电子病历(EMR,Electronic Medical Records)是基于计算机系统的医疗记录系统,所有前提是在计算机和信息技术下建立的病历系统。电子病历是使用计算机和互联网对病历进行管理的系统,利用计算机、就诊卡等先进电子技术对病人的信息进行存储、传输、管理以及录入和输出的医疗记录,取代了传统的纸质病历,尽管电子病历取代了纸质病历,但其基本内容并没有减少[1]。按照美国国立医学研究所给出的标准,EMR是一个在特定系统环境下运行的电子化患者记录,系统主要为用户提供数据以及软件的服务,从而实现数据的访问、警告、提示以及临床决策等方面的工作。

1 电子病历系统总的需求分析

电子病历系统的总体需求就是实现对整个医疗活动的信息化管理,医生、护士和患者是这个系统中的三个主体,系统对现实处理事件的抽象化表达主要涉及三个主体的信息。

1)使用主体的信息化管理

信息的类型一般有固定信息和流动信息,例如患者基本信息属于固定信息,患者的就诊、危险病因等信息就属于流动信息。为此要充分的结合临床实践以及我国医疗政策,建立标准化的信息表达,分析不同主体的行为差异,例如角色不同,权限不同等等。

2)临床路径的信息化管理

临床路径是在一定的标准和针对性的医疗措施基础上建立起来的,而传统路径则是狭义上的医生对疾病采取的办法,显然前者有很强的通用性,后者相对来说有很大的个体性[2]。

3)病历模板和电子病历和的信息化管理

医生可以把典型的病历模板上传到平台上,其他人可以下载使用或者修改后上传。

角色不同,那么主体在这个系统中表现出来的作用也不同,因此病例模板也要体现出三者的区别:

1)管理人员:主要的任务是病历系统的日常维护和管理,其工作主要内容有病历模板、电子病历、基本信息、临床路径等信息的管理。

2)医生:主要任务是独立完成病历制作,并结合患者病情完成临床路径的制定。

3)护士:查看电子病历,并谨遵医嘱执行临床路径的有关治疗措施。

电子病历系统流程图如下图1所示。

2 电子病历系统功能分析

通过电子病历系统中的信息流动,我们将系统结构分成了四个大的功能模块分别是:临床路径管理、病历模板管理、电子病历管理、基本信息管理。并将四个大的模块进行细分,从而实现功能的层次结构。其中基本信息管理包含了医护人员信息、患者信息、科室信息。电子病历则包含了病历的增加、删除、查询和修改。病历模块管理则提供了病历的下载、删除、查询和修改。而临床路径管理则包含了基本的项目、路径、关系、患者路径等管理[3]。其功能结构图见图2。

2.1基本信息管理功能

其中基本信息管理包含了医护人员信息、患者信息、科室信息的管理。这些多为基本信息,同时也是建立电子病历系统的信息基础。只有管理员才能够对信息实现增加、删除和修改,而其他人员权限仅为下载阅览。一般由专门的管理人员来完成。

2.1.1 科室信息管理

1)添加科室信息

描述:管理员通过账户和密码获取管理权限,登陆管理员的科室管理页面,随后输入所要增加的科室信息,从而修改数据库中的数据并保存,反馈显示成功添加。

2)修改科室信息

描述:管理员通过账户和密码获取管理权限,登陆管理员的科室管理页面,随后输入所要修改的科室信息,从而修改数据库中的数据并保存,反馈显示成功修改。

3)删除科室信息

描述:管理员通过账户和密码获取管理权限,登陆管理员的科室管理页面,随后输入所要删除的科室信息,从而修改数据库中的数据,反馈显示成功删除。

4)科室信息查询

描述:所有用户均可以输入自己的账号和密码登陆,同样进入电子病历系统主页的科室信息管理界面,输入科室的编号,向后台数据库发出请求,反馈得出查询结果。

2.1.2 患者信息管理

1)添加患者信息

描述:管理员通过账户和密码获取管理权限,登陆患者信息管理界面,在表格中录入患者信息,保存到数据库中,反馈添加成功。

2)修改患者信息

描述:管理员通过账户和密码获取管理权限,登陆患者信息管理界面,查询患者信息并修改后,保存到数据库中,反馈修改成功。

3)删除患者信息

描述:管理员通过账户和密码获取管理权限,登陆患者信息管理界面,查询患者信息并删除后,保存到数据库中,反馈删除成功。

4)患者信息查询

描述:所有用户均可以输入自己的账号和密码登陆,同样进入电子病历系统主页的患者信息管理界面,输入患者关键信息进行查询,向后台数据库发出请求,反馈得出查询结果。

2.1.3 医护人员信息管理

1)添加医护人员信息

描述:管理员通过账户和密码获取管理权限,登陆医护人员信息管理界面,在表格中录入医护人员基本信息,保存到数据库中,反馈显示添加成功。

2)修改医护人员信息

描述:管理员通过账户和密码获取管理权限,登陆医护人员信息管理界面,查询医护人员基本信息并修改后,保存到数据库中,反馈显示修改成功。

3)删除医护人员信息

描述:管理员通过账户和密码获取管理权限,登陆医护人员信息管理界面,查询医护人员基本信息并删除后,保存到数据库中,反馈显示删除成功。

4)医护人员信息查询

描述:管理员通过账户和密码获取管理权限,登陆医护人员信息管理界面,在查询页面输入医护人员基本信息,向后台数据库发出请求,反馈显示查询结果。

2.2电子病历管理功能

电子病历的管理是整个系统的核心业务,主要包含了电子病历的增加、删除、下载、修改。

1)电子病历的添加

描述:医生通过账户和密码获取管理权限,登陆电子病历管理页面,输入并查找患者信息,添加电子病历后保存到数据库中,反馈添加成功。

2)电子病历的修改

描述:医生通过账户和密码获取管理权限,登陆电子病历管理页面,输入并查找患者信息,修改电子病历后保存到数据库中,反馈修改成功。

3)电子病历的删除

描述:医生通过账户和密码获取管理权限,登陆电子病历管理页面,输入并查找患者信息,删除电子病历后保存到数据库中,反馈删除成功。

4)电子病历的下载

描述: 医生和护士通过账户和密码获取权限,登陆电子病历管理页面,输入并查找患者信息,向后台数据库发出请求,完成下载。

2.3病历模板管理功能

病历模板管理扩展了电子病历管理的功能,主要的目的是让医护人员能够针对性的选取合适的通用病历模板,从而极大地提升了电子病历的管理效率。该模块的主要功能是能够实现病历模板的修改、添加和删除,以及下载。

1)病历模板的添加

描述:医生通过账户和密码获取权限,登陆电子病历系统主页并进入到病历模板界面,添加病历模板后保存到数据库中,反馈添加成功。

2)病历模板的修改

描述:医生通过账户和密码获取权限,登陆电子病历系统主页并进入到病历模板界面,输入查找的病历模板类型,修改病历模板后保存到数据库中,反馈修改成功。

3)病历模板的删除

描述:医生通过账户和密码获取权限,登陆电子病历系统主页并进入到病历模板界面,删除病历模板后保存到数据库中,反馈删除成功。

4)病历模板的下载

描述:医生和护士通过账户和密码获取权限,登陆电子病历系统主页并进入到病历模板界面,输入查找的病历模板类型,向数据库发出下载请求,完成下载。

2.4临床路径管理功能

临床路径是结合某一种或者某一类疾病建立的标准化的治疗模式和程序,临床路径极大的提高临床治疗的标准化和规范化,一般以时间基准,详细的规划了病人从住院到出院整个过程详细的临床治疗计划,是现代循证医学的重要发展,能有效的规范医疗行为,减少成本,提高管理效率。这个模块的功能主要包含了临床路径的基本管理,例如添加、删除、修改,均由医生来完成。

1)临床路径的添加

描述:医生通过账户和密码获取权限,登陆电子病历系统主页并进入到临床路径管理界面,添加临床路径并保存到数据库中,反馈显示添加成功。

2)临床路径的删除

描述:医生通过账户和密码获取权限,登陆电子病历系统主页并进入到临床路径管理界面,删除临床路径并保存,反馈显示删除成功。

3)临床路径的修改

描述:医生通过账户和密码获取权限,登陆电子病历系统主页并进入到临床路径管理界面,输入并查询临床路径类型,修改临床路径并保存到数据库中,反馈显示修改成功。

3系统环境需求

3.1系统开发环境

结合C/S架构来选择开发环境,其中操作系统版本为Windows XP,开发语言为C#,数据库选择为SQL Server 2008。

3.2系统运行环境

3.2.1 硬件运行环境

1)客户机配置:处理器:Intel Core i5 3470;内存推荐:4G;硬盘最低:1T。

2)服务器配置:处理器:Intel Xeon ES-2620;内存推荐:8G;硬盘最低:300G。

3.2.2 软件运行环境

服务器端操作系统为:Microsoft Windows 2003 Server,客户端操作系统为:Windows XP Professional,数据库工具采用SQL Server 2008。

4系统总体架构设计

系统架构的选择和系统本身的复杂程度有关,综合分析本次电子病历系统的开发选择“五视图”。五视图属于视图法的范畴,软件架构师需要明确的区分软件的功能需求、约束、运行期质量、开发期质量等等要求,这些需求对其影响不一。基于五视图的架构开发思想,将各种不同的需求类型进行分类,从而满足各种要求[4]。

4.1系统逻辑架构设计

系统逻辑架构设计着重考虑功能上的要求,也就是系统要向哪些用户提供怎样的服务,关注点为行为和职责上的划分,关注用户可见功能上的逻辑关系,并提供相关的辅助模块,他们可能为系统类也可能是逻辑层的功能模块类[5]。

需要注意的是电子病历系统的基本的功能模块都在中间层得到实现,按照业务本身的逻辑顺序和流程进行设计,实现的基本功能为基本信息、病历模块、电子病历、临床路径等的管理。中间层所实现的逻辑关系都是以构件的形式在系统的应用服务器中进行部署,系统的核心就是构件,一方面直接的影响到了基本的客户与系统之间的互动,另一方面实现和后面数据库的连接,按客户不同的操作要求将持久层的信息处理结果反馈给用户。

持久层主要涉及数据库的操作,例如电子病历数据以及其他的业务涉及的数据更新,当然数据的存储形式以及数据之间的逻辑都是通过数据库的数据表以及之前的逻辑关系来实现。数据转换管理则实现了数据的可用性和规范性,提高数据的利用效率。

4.2系统开发架构设计

开发架构设计核心是着重开发期的质量属性,是软件模块的实际组织方式,逻辑层会映射到程序包。分析如下:

1) 使用WPF技术实现用户界面层,WPF为Windows Presentation Foundation,直译的意识为微软呈现基础,其最大的特点就是能够清晰直观地展示给用户[6]。用户在使用软件的过程看到更多的是操作界面,而不在乎内部的数据流动和逻辑关系,WPF很好的展示出了程序的用户界面,一般可以通过C++/C#/VB等托管语言来完成。

2) 使用WCF技术来实现业务逻辑层,WCF,Windows Communication Foundation是.NET

框架的一部分,可以译作Windows通信接口,本质是包含了一组数据通信的应用程序开发接口。最早从.NET Framwork 3.0引入,其开发接口中合并了消息队列、Web、ENterprise等通信并能够集成到开发平台中。

3) 数据层的数据储存和管理则使用SQL server来实现,SQL是有着广泛应用的数据库语言,这种编程语言带着特殊的目的,同时也是一种程序设计和数据库查询的语言,主要实现数据的存储、查询、管理的关系数据库系统。

4) 数据通信层使用XML技术,主要实现各层数据和信息之间的传递。

4.3系统运行架构设计

运行架构设计着重实现运行期的质量属性,其关注点是电子病历系统本身的开发和同步问题,同时考虑系统运行中的信息并发、同步和通信等问题,架构设计中也重视偏重程序包在编译时期的静态依赖关系,并分析和考察系统运行中各个单元的交互问题[7]。

4.4系统部署架构设计

由于采用了C/S架构,因此系统基本的物理架构包含了客户端、服务器端和数据端。

其中客户端需要安装程序,用户在登录界面输入自己的账户和密码进入系统,通过访问WCF上的控制逻辑从而实现系统提供的功能。由于要照顾到客户的操作体验,因此客户端需要采用插件丰富的WPF技术,而且也对客户端有着一定的要求,一般需要.Net4.0支持。

服务器端包含了应用逻辑和业务逻辑服务器,应用逻辑和业务逻辑服务器与客户端业务相连接,并调取其中的功能模块。功能模块与实现主要业务和应用功能有关,其中包含了基本信息管理、电子病历管理、临床路径管理等功能。这些基本的功能模块和数据库相连接,数据表使用了数学模型处理,并将用户操作和应用的结果反馈到操作界面上。

服务器端的数据库有三类,分别为共享资源服务器数据库、文件服务器、关系数据库管理系统,不同的服务器分别提供不同的服务类型[8]。其中共享资源平台功能是共享其他两个数据库的数据信息。为了提高需求分析中数据的可靠性和安全性,在共享资源平台上的数据必须要有一定的可移植性,从而使得数据能够在其他医院信息系统中得到应用,这种架构特点提高了数据的可利用性和安全性,并在一定程度上提高了电子病历信息的合理冗余。

4.5系统数据架构设计

电子病历系统的数据库架构着重考虑数据应用的需求,数据基本的关注点为持久化的数据储存方案、数据储存格式、数据传递方式、数据复制和同步方式,并应用E-R以及数据流程图分析数据在整个系统中的流动[9]。

而数据组织的具体方式则要考虑到电子病历数据的特点,数据不仅仅有结构化数据特点,同时也应该包含非结构化数据以及文件形式,因此在对数据进行储存和管理的时候就要同时应用到关系数据库管理系统和XML文件储存系统两种。

5电子病历系统的应用

改革开放以来,我国一直处于高速发展阶段,计算机技术和互联网技术迅速发展,人们对健康水平和生活水平的期望值提高,对医疗信息化服务和保障也提出了更高的要求,将医院信息管理和网络技术结合在一起成了时代发展的要求。我国的电子病历系统正处于兴起和成长阶段,正在实践中不断摸索前进,目前主要功能是储存病人的病历,进行数据的查询,统计以及数据交换等等,且并没有做到全国范围内的统一[10]。

本系统基于微软的.NET框架设计,选择客户端/服务器(C/S)的模式,采用典型的三层开发架构,利用C#语言实现了系统的部分功能模块。本系统为在医院工作的医生护士日常工作提供了有力的支持,提高了医院服务的效率和质量,为患者提供及时安全的治疗的同时还为医院带来了可观的经济效益。通过测试和使用证明:软件能够正常运行,具有可移植性、可维护性,且系统自身具有良好的安全性能。相信在不久的将来,它一定能为我国进行电子病历的进一步发展作出巨大贡献。

参考文献:

[1] 陈金雄.电子病历建设与发展[J].中国数字医学,2011,6(5):52-55.

[2] Sanford J.Brown. Making Wellness Medicine Family Practice Management[J].2007,65-66.

[3] 李慧玲,杨小平,宁文漱丽.支持临床路径的电子病历系统开发设计[J].医学信息学杂志,2011,32(3):13-15.

[4] 王万斌.电子病历管理系统的设计与实现[J].信息与电脑, 2011(7):26-28.

[5] 吴峰.基于XML的电子病历系统及其院际信息共享技术研究[J].软件,2013, 34(1): 106-107.

[6] 何杉.基于.NET的电子病历的设计[J].大众科技,2011,1:57-58.

[7] 孟庆崧,戴鲁男.基于SOA的医院信息系统集成平台研究[J].中国数字医学,2012,7(6): 51-53.

[8] 陈可.基于XML的电子病历系统[J].计算机系统应用,2012,21(6):46-50.

[9] 肖辉,张方,商建国.医院数据中心架构设计与应用分析[J].中国卫生信息管理杂志, 2012,3(3): 67-72.

[10] 吴庆成,吴勇,李家靖.电子病历系统在医院信息管理系统中的应用[J].知识经济,2013 (14):112.

猜你喜欢
S结构软件工程
基于PHP的发印管理系统的实现
依托工作室的软件工程实践教学研究
基于Java的网上商城开发
基于B/S结构的通信部队训练管理系统的设计研究
基于工程教育认证的《软件工程》课程教学质量建设研究 
关于如何创新和完善计算机软件工程管理的探讨