基于Caché数据库混合架构的医院信息系统的开发

申宝明1,刘大伟1,祝顺东1,吴晓雯2,辛海燕1,陈军伟1

1.青岛大学附属医院 信息管理部,山东 青岛 266003;

2.青岛市市南区香港中路街道闽江路社区卫生服务中心,山东 青岛 266003

[摘 要]目的开发安全、高效的医院信息系统,更好地用于医院服务医疗工作。方法利用Caché数据库的数据索引管理优势,以及C/S和B/S开发架构的特点进行系统开发。结果开发了C/S与B/S的混合架构的医院信息系统。B/S架构客户端使用浏览器通过Web服务器和面向对象的访问组件对数据库进行操作,C/S架构客户端主要利用应用程序通过数据访问接口完成对数据库内业务逻辑的处理。结论本混合架构医院信息系统实现了对医疗数据分类安全管理,提高了诊疗效率。

[关键词]医院信息系统;客户机/服务器;浏览器/服务器;Caché数据库;安全管理

引言

随着医院信息系统(HIS)在各家医院经过总体规划、分步实施,实现了医院全面信息化运营,使医院信息化水平有了质的提高,医院信息系统规范了业务流程,有效提高了医疗服务质量,降低了运营成本[1]

由于HIS在医疗行为中的核心地位,要求其应具有高的运行效率,灵活的可扩展性,保证以病人为中心的医院科学管理效能,提高医院的社会效益[2]。同时,能够带动临床医疗水平的发展、深入科研教学的研究,适应医疗卫生改革的要求。

目前,各家医院的医疗信息系统并没有统一的开发标准,各自基于不同的平台进行开发和使用,发展水平也参差不齐。医院信息系统系统庞大,数据繁琐,架构复杂,开发平台的选择和架构的设计就尤为重要[3]。因此,本文主要以系统的安全性和高效性为标准,基于Caché数据库混合架构开发安全性更好、运行效率更高、可扩展性更强的医院信息系统。

1 Caché数据库简介

Caché数据库的优点来源于它融合了两类数据库,即对象型和关系型两类,被称为新型的后关系型数据库,其特点是运行效率高、延展性较好、快速开发应用程序的能力以及优秀的性价比等[4]

1.1 Caché的开发特点

Caché数据库相比于其他数据库具有更加高效的性能、更大的可扩展性、更快速的编程能力和更加便捷的使用性能。HIS选择Caché数据库作为数据平台,除了它具有数据库技术提供的单纯功能以外,还承载了一个应用服务器的功能,这个服务器提供面向高级对象的编程,因此可以集成其他相关开发技术[5]

Caché数据库包含高性能的工作室,它是一个创建、调试、测试Caché数据库应用的高效环境和快速应用开发的有力工具。Caché工作室通过提供许多应用向导,简化乃至消除了开发过程中很多繁重的工作。Caché工作室为开发复杂的、基于网页的应用程序提供了丰富的服务器端脚本技术(C Language Service Dage,CSP)。该技术的强大之处在于能够快速开发、动态产生Web应用程序的能力。CSP技术开发的应用程序对医疗系统的硬件配置要求不高,但是可以完成医院高密度用户的访问请求,体现了平台的健壮性。

Caché数据库中的所有数据都是保存在称为Global的多维数组中,它的每一个节点直接与磁盘和内存中的数据块相对应,因此可以达到极快的访问速度[6]。同时,多维数组直接访问底层,构建树状结构,速度极快。HIS中的数据对象是医疗中大量的病人信息数据、病程数据、医药卫生材料等,Caché数据库应用高效的多维数组形式存储数据,同时将大量的医疗数据进行建模,这样就减少了对表连接的频繁处理等过程,所以运用多维数组能够达到提高运行效率的目的。

Caché数据库还具有独特的分布式数据缓存协议技术,它可大大减少分布式系统中的网络通信吞吐量。医院中的网络属于院内局域网,单纯依靠硬件优化网络成本较高[7]

上述的架构设计使得这种数据库应用程序在横向的性能比较测试中,Caché数据库的响应性能要比关系型数据库快20倍。

1.2 CSP工作原理

Caché数据平台的主要工作机制CSP在医院信息系统中处于较为核心地位,它的开发机制影响着整个系统的性能[8]

CSP是基于标准的Web服务器工具和HTML协议对各种行为进行处理操作。CSP处理请求的流程:首先Web浏览器客户端通过HTML向Web服务器发出请求讯息;其次Web服务器判断该讯息是否为CSP请求,确定后则将这个请求讯息转发给Caché数据平台,该请求就会被在该平台上正在运行的对应CSP服务进行相应处理;最后将处理结果以返回一个页面的形式发给Web服务器,接着该服务器就将页面路由回发出请求讯息的浏览器客户端,见图1。其中,Web服务器和Caché 服务器作为抽象的组件可以在一台或者多台计算机上进行部署。在开发期间,通常将它们部署同一台计算机上,而对于部署大规模系统,则被置于它体系结构的二层或者三层。CSP的工作流程中主要管理的通讯任务来自两个主体:Web 服务器和Caché,更重要的是生成的页面来自于应用程序代码。CSP将状态信息自动保存在浏览器端,应用程序不必因为每页的请求而访问数据和保存文档,这样就减少了信息在网络中的传输量,从而减轻了服务器负载[9]

CSP页面都继承自类%CSP.Page,并且覆盖它的OnPage方法,来建立动态的页面。在CSP服务器判断了应当由哪个类来处理一个请求后,它调用该类的Page方法。在调用前,CSP将确定为该请求要处理的内容已经正确地设置好的。这包括重新指向标准的输出设备($IO)以便使所有的输出(利用Write命令)均送回给HTTP客户机。并且建立处理内容所需的任何对象的实例或变量。任何通过这个方法写到主要设备上的输出都被自动地送到Web浏览器作为Web页面显示出来。生成的Web页面可以直接和内建的对象数据库通信,这样就可以避免使用复杂的中间件软件将关系数据映射成对象的复杂工作,从而灵活快速的完成面向数据库的各种应用。

图1 CSP工作原理示意图

1.3 系统功能模块设计

系统的主要功能模块有:① 临床管理模块负责医生工作台、护士工作台及医嘱通信及管理,检验和检查信息及电子病历(EMR)管理;② 科室管理模块负责药房、临床实验室、放射科、手术室信息管理;③ 行政管理模块负责库存、采购、中央消毒品供应等信息管理;④ 财务管理模块负责应收帐、应付帐、分类帐管理及固定资产管理[10]

建立命名空间为%SYS,数据(Globals)和程序(Routines)都指向该命名空间。开发主要设计3部分:CSP组件、类和数据表。以住院模块为例,住院医嘱执行的CSP名是NURSEEXCUTE.csp,包括NURSEXCUTE、NURSETOP这两个组件,另外,组件DHCORDEXCUTE是护士执行的弹出窗口。类名称为web.CLCom.cls、web. NurCom.cls、web.CLCNURSEXCUTE.cls。查询涉及的表如下:医嘱表、医嘱执行表、医嘱代码表、病人信息表、病人就诊表、病人转科记录表、病区表、床位表。业务处理:调用CSP组件查询数据表函数Query:web. CLCNUREXCUTE.FindOrditem,按护士执行设置的条件查找符合条件的医嘱;按病区或按登记号,查找病人医嘱。

2 C/S与B/S的混合多层架构模式

医院业务主要面向病人,存在多个PC的分布,因此需要将HIS合理进行部署。目前医院采用的HIS访问架构主要有:浏览器/服务器(B/S)模式和客户端/服务器(C/S)模式。

2.1 C/S架构适用性分析

C/S架构的优点:C/S模式的用户处于特定的区域内,这样就可以保证数据的安全处于可控范围;C/S模型的构建较为直接,所以使用者可以较易的理解与掌握,处理各种事务和各类繁琐的数据。C/S架构的不足:C/S软件的一体性使得运营和维护系统的成本较高;C/S架构主要的工作在于使用终端的软件设计,这样不可避免的造成了各个终端繁重复杂的架构;C/S架构对底层网络协议支持的要求较高,造成了对有些需要兼容的不通过底层协议软件程序的排斥性,多样性平台的使用适应能力较弱;C/S架构软件平台在包括局域网、广域网或者内网、外网之间的有机整合上稍显不足[11]

2.2 B/S架构适用性分析

B/S体系结构是建立在广域网基础上,主要利用不断成熟的浏览器技术,结合浏览器的多种脚本语言,通过浏览器实现了原来需要复杂的专用软件才能实现的强大功能。其优点: B/S模式的客户端是PC上通用的浏览器,运营成本比C/S模式低;客户端具有较好的用户体验基础,易于操作;B/S模式软件适于内网与外网的沟通,以及多样性平台的交叉部署。B/S架构的不足:B/S架构软件的网络适用范围较广,未知用户的操作可控性不足,使得信息安全难与C/S架构相比较;B/S架构程序的应用模式是页面式的,对于用户需要操作非常态量数据时会出现访问堵塞现象,使得信息交互的动态性不及C/S架构,造成了事务处理的延缓性[12]

2.3 B/S与C/S的混合访问架构

结合医院日常业务的运转情况,医院信息系统总体软件发展方向应是C/S与B/S同时存在,即利用C/S的响应高速性完成核心业务;利用B/S的易集成、易共享性建立综合运营平台[13]

本文混合访问架构的优化策略具有较强的扩展性。可以根据临床的需要,配置不同科室、不同权限人员的访问菜单界面,限制各自权限内的操作行为。如:医生登录界面具有开医嘱、书写电子病历等权限,护理登录界面具有费用录入、书写护理记录等权限。从而既可以避免浏览器端不必要的功能负担,又符合轻量化浏览器客户端的要求,又可以使得界面简化直观方便用户操作,同时管理员可以安全地操作后台数据。

本文的C/S和B/S实现均是基于Cache数据库。B/S架构是Caché自身提供的前端实现方式,使用它进行开发可以达到与Caché服务器端最紧密的配合;C/S架构通过Caché提供的COM 组件连接到Caché服务,可以获得对象和关系型的访问能力。

在HIS中居于核心地位的是数据服务器管理的数据库,两个主要的访问架构B/S与C/S,前者使用浏览器通过Web服务器和面向对象的访问组件对数据库进行操作[14],而后者主要利用客户端的应用程序通过数据访问接口完成对数据库内业务逻辑的处理[15]

HIS根据访问类型划分内外区分模型和操作区分模型,将安全等级低的查询操作开放给通过网络浏览器访问Web服务器的客户,经过应用服务器来调取数据库服务器的信息,完成基本的信息浏览行为。采用C/S架构的用户主要是为了执行对数据进行维护和修改行为,且访问量较大。据此设计的HIS网络拓扑结构图,见图2。

图2 HIS网络拓扑结构图

B/S模式的使用遍及了临床医疗的主要业务:门诊、急诊子系统在客户端通过浏览器访问HIS处理病人诊疗、退药申请、退费申请等;医技子系统用于处理检验、检查的申请、登记、补录费用等;住院子系统分为医生操作端和护士操作端,医生端主要操作有医嘱单医生医嘱录入、电子病历、手术管理和会诊管理;护士端主要行为有医嘱处理和执行、费用管理、护理病历;药房管理子系统主要处理发药行为;手术室管理子系统负责手术的安排进程管理。

C/S模式的使用主要有临床子系统和检验检查子系统,它不仅在临床信息管理上成功集成了电子病历、检验科室信息处理和PACS的功能,完成各系统的信息通讯,并且保障了性能稳定的可靠运行、节约数据库存储空间、易于进行数据库的管理维护。

3 硬件布局

HIS的部署硬件起着关键作用。系统客户端采用联想一体机;机房主机/应用系统(包括服务器和存储器):HIS数据库小型机为IBM POWER 770,HIS应用服务器为IBM X3850 X5;机房网络设备,骨干交换机为Cisco 6509(VSS)、服务器交换机为Cisco 4900M和Cisco 4948,为了便于平衡访问量减少集中访问服务器的负担,使用了负载均衡网络的F5 BIG-IP 3600[16]

4 运行效果

HIS的主要使用对象是医生和护士,对运行效率普遍反应较为实时,通过对比就诊量,效率有了一定程度的提高,从而提高了诊疗速度。同时系统数据管理人员也反映,数据安全性提高了,掉线发生率极低、数据库同步备份能力强了。医生及护士工作站界面,见图3~4。

医生工作界面功能菜单可根据需要自由配置,并提供集成界面可查看病人的历次就诊检验和检查报告,方便根据病史确诊、治疗;医嘱录入作为作为原始数据的唯一来源支持高效模糊查询医嘱名、对于接收科室的智能选择以及频次、用法的提取;医嘱模板栏医生可以将自己专科的药物、操作维护好,减少重复输入。

护士工作界面集成了护理工作的业务,护士能快捷完成护理工作,并自动生成护理记录,使得护士能安全可溯的完成工作,并能从繁重的文书记录中解脱出来。

患者数据包括基本信息、病史、诊疗过程、药物使用情况、检验检查报告等都能有效存储,数据运行安全性好,数据运行效率高。

5 总结与展望

本文利用Caché数据平台的优势,开发了C/S与B/S混合架构的HIS,从而对数据实现了分类分权限管理,保证了系统的安全性和高效性。

但是,随着人们对医疗服务的要求越来越高,更加重视服务体验的高效性,因此需要进一步优化该系统架构,已期契合以病人为中心的理念。同时,后台安全管理数据复杂性的提升也需要深入挖掘Caché数据库的性能。

[参考文献]

[1] 姚国庆,黄正东,郭雪清,等.加强医院数字化建设 推进医院又好又快发展[J].中国医学教育技术,2012,(2):194-196.

[2] 王福运.国内医院信息管理系统的应用现状及发展趋势[J].信息与电脑(理论版) ,2015,(16):82-83.

[3] 胡志坚.集成平台在医院信息系统建设中的应用[J].中国卫生信息管理杂志,2012,(4):59-65.

[4] 艾姆勒,艾姆勒,车皓阳.面向对象软件开发教程[M].北京:机械工业出版社,2003.

[5] 曹茂诚,陈旭,何及夫,等.基于Ensemble的医院信息系统集成平台的研究与探索[J].中国数字医学,2012,7(10):98-100.

[6] 赵增奎,李光耀.基于Caché的数据统一[J].计算机与数字工程,2007,(10):149-151.

[7] 吕刚,冯昌琪.后关系数据库Caché与医疗卫生信息化[J].中国科技信息,2007,(18):143-145.

[8] 陈培正,孔令人,石义芳,等.后关系型数据库在HIS中的应用[J].中国医疗设备,2005,20(11):30-32.

[9] 任喜伟,陈长明,苗新强.基于Caché的三层结构Web开发模式的研究[J].计算机测量与控制,2009,17(9):1793-1794.

[10] 杨国良,左秀然.医院信息系统集成平台的研究与实现[J].中国数字医学,2012,7(5):57-60.

图3 医生工作站界面

图4 护士工作站界面

[11] 张敏. C/S与B/S混合软件体系结构系统的设计与应用[J].嘉应学院学报,2013,31(2):34-36.

[12] 李振叶,胡云,魏国新.基于B/S组件的HIS系统设计与实现[J].中国数字医学,2010,5(6):74-76.

[13] 张友生,陈松乔.C/S与B/S混合软件体系结构模型[J].计算机工程与应用,2002,(23):38-140.

[14] 周晓娟,王法能,毛劲松.基于B/S的WEB数据库技术[J].航空计算技术,2005,35(4):82-83.

[15] 刘华蓥,韩建民,薛继伟.基于3层C/S结构的数据库管理系统的实现[J].微型机与应用,2000,19(3):43-44.

[16] 马玉博.配置F5负载均衡[J].网络运维与管理,2014,(11):61-65.

本文编辑 王博洁

Development of Hospital Information System Based on Caché Database Hybrid Architecture

SHEN Bao-ming1, LIU Da-wei1, ZHU Shun-dong1, WU Xiao-wen2, XIN Hai-yan1, CHEN Jun-wei1

1.Department of Information Management, the Affiliated Hospital of Qingdao University, Qingdao Shandong 266003, China;
2.Community Health Service Center in Minjiang road, Hong Kong middle street, South District of Qingdao, Qingdao Shandong 266003, China

Abstract:ObjectiveTo develop a safe and efficient hospital information system (HIS) and provide better hospital service.MethodsThe HIS was developed based on the advantage of the Caché data index management and the characteristics of C/S and B/S development framework.ResultsThe HIS based on C/S and B/S hybrid architecture was developed. The client of B/S architecture used browser to operate database through Web server and the object-oriented access components, and the client of C/S mainly used application program to handle business logic in database through data access interface.ConclusionThe new HIS has achieved the classification and safety management of the medical data, which can improve the efficiency of diagnosis and treatment.

Key words:hospital information system; C/S; B/S; Caché database; safe managment

[中图分类号]TP311.52

[文献标识码]C

doi:10.3969/j.issn.1674-1633.2017.08.032

[文章编号]1674-1633(2017)08-0120-05

收稿日期:2016-11-17

修回日期:2017-03-03

本文作者:申宝明,硕士,工程师,主要研究方向为医院信息系统、数字认证、数据挖掘。

作者邮箱:158974781@qq.com