黄钊,唐凯,陈平
南京市卫生信息中心,江苏 南京,210003
南京市区域医疗一卡通架构及接口设计
黄钊,唐凯,陈平
南京市卫生信息中心,江苏 南京,210003
南京市在推进以信息技术应用为核心的数字城市建设进程中,以市民卡为主要载体的区域医疗一卡通已成为城市信息化建设的一项重要内容。本文主要对区域医疗一卡通的系统架构及接口进行了设计,目标是建设一个标准规范、信息共享、模块化、平台化的系统。在医院端的接口设计上兼顾开放性和扩展性,更兼顾了接口的可靠性。
区域医疗卡;医疗卫生信息化;医疗卫生信息系统;SOA服务;HL7
国内医疗卫生信息化建设速度突飞猛进,面向医疗机构的区域性信息系统建设也步入了改进和优化阶段。很多区域性医疗卫生信息系统建设,都采用了前置机的逻辑部署架构设计[2],随着区域性信息系统的不断建设,造成医院端部署的前置机越来越多,前置机的部署和维护已经成为医院日常IT维护的负担,很多区域性医疗卫生信息系统建设缺少顶层设计,造成前置机的配置无法满足不同系统的要求。
南京市区域医疗一卡通系统借鉴国内区域医疗卫生信息化建设的各种经验教训,采用顶层设计思想,坚持节约信息化建设投资的原则,建设了一套无需前置机的区域医疗一卡通信息系统。在整个系统的设计和建设过程中,系统架构及中心端与医院端的接口设计成为系统建设成功失败的关键,下面就系统架构及面向医院端系统的接口设计进行介绍。
1.1 建设原则
1.1.1 总体架构科学合理、可持续发展
在总体架构设计时,需要同时根据IT技术和医院信息化发展趋势考虑系统可持续发展,考虑系统的开放性、扩展性、业务敏捷性等。
1.1.2 标准规范
通过本系统建设,逐步构建基于医疗卫生行业的标准以及卫生部相关标准规范的规范化信息系统。包括术语规范、业务规范、技术规范、数据规范、接口规范、运维管理规范等。
1.1.3 信息共享、互联互通
构建统一的、基于HL7标准的区域医疗一卡通数据交换共享平台,具有快速扩展能力和与第三方软件的插件式接口,实现全方位的互联互通、信息共享[3]。
1.1.4 组件化、模块化、平台化
系统设计要采用基于面向对象(SOA)的分析设计方法,从原子业务单位开始,逐步提取分析、形成业务组件[4-6]。并且根据系统的可持续发展需求,构建所有系统需要的基础组件。将基础组件、业务组件放在一个统一的应用框架中,最后形成统一的开发平台。在进行不同模块组合时,需要按照业务特性将组件按需进行组合,实现模块之间的松藕合。
1.1.5 安全可靠
整个系统采用有限操作、保存痕迹等安全措施。
1.2 建设蓝图
南京市区域医疗一卡通平台建设蓝图,见图1。
图1 南京市区域医疗一卡通平台建设蓝图
南京区域医疗一卡通系统建设的相关机构有南京市卫生局、统一就诊卡制卡厂商、医院、社区服务中心、社区站,以及市民卡中心、社保、银联和其他机构,通过南京市卫生局建设的区域医疗一卡通系统实现居民基本信息的共享和交换。
1.3 功能架构设计
南京市区域医疗一卡通功能架构设计包括:制卡管理、帐户管理、集成平台(图2)。其中,集成平台是整个区域医疗一卡通系统的核心,属于业务集成平台的范畴,实现基于区域医疗一卡通的数据共享和业务协同。
图2 南京市区域医疗一卡通功能架构设计
1.4 数据架构设计
南京市区域医疗一卡通中心端数据架构设计,见图3。
中心端数据架构设计了患者主索引(Enterprise Master Patient Index,EMPI)、主数据管理和一卡通业务3个数据库。3个数据库的作用分别为:
(1)EMPI数据库的设计是从南京市医疗卫生信息化建设整体考虑的,其定位是服务于南京市所有的医疗和公共卫生领域信息系统的;EMPI数据库存储了每个居民在医疗卫生领域的唯一ID。
(2)主数据管理数据库用于存储医疗卫生各信息系统的基础数据,用于统一数据标准。
(3)一卡通业务数据库用于存储与医疗一卡通业务有关的数据记录。
图3 南京市区域医疗一卡通中心端数据架构设计
EMPI数据库、主数据管理数据库和一卡通业务数据库的数据,通过医疗一卡通中心端的集成平台ESB以SOA服务的形式提供给各级医疗机构和外部信息系统。
1.5 技术架构设计
南京市区域医疗一卡通系统整体技术架构设计,见图4。
图4 南京市区域医疗一卡通系统技术架构设计
(1)物理层使用IBM DB2 v9.x版本设计。
(2)业务层采用Java语言形成的类文件Class形式,用于封装实体层和原子业务层,实现对物理层的基础访问。
(3)集成业务层采用JavaBean和EJB的组件技术,将业务层进行封装,JavaBean和EJB提供的每个组件服务由不同的JavaClass的服务组成,实现高级业务访问的抽象封装。
(4)SOA服务层在南京区域医疗一卡通系统提供了丰富的SOA技术。目前,更多的采用了MessageQueue和WebService两种技术形式[7-9]:SOA服务层每个服务可以同时服务于不同的模块、内部系统和外部系统;中心端与医疗机构端的数据交换格式采用XML形式。
(5)展现层用于界面展现。展现层只负责数据收集和数据展现,采用JSP技术,后台运行于IBM WebSphere之上,对后台数据的各种操作均通过SOA服务层间接实现。
1.6 逻辑部署架构设计
南京市区域医疗一卡通系统逻辑部署架构,见图5。
图 5逻辑部署架构设计图
(1)由于中心端系统采用J2EE的面向服务架构,因此需要部署负载均衡器,解决中心端的服务请求压力。
(2)中心端系统展现层采用JSP技术实现,需要部署Web服务器群,实现区域医疗一卡通管理的操作界面和Web操作请求。
(3) 在应用服务器方面,区域医疗一卡通后台管理组件、SOA服务组件等需要部署在中间层应用服务器上,采用集群模式;应用服务器上需要部署系统的支撑和运行时环境:IBM MessageBroker、IBM WebSpherre、IBM MessageBroker等中间件产品,构成J2EE架构的核心部分。
(4)数据服务方面部署3个数据库:EMPI数据库、主数据管理数据库和一卡通业务数据库,实现数据松耦合,也是从南京全局信息化角度出发的考虑;数据库管理系统DBMS部署IBM DB2 v9.x。
(5)整个中心端系统数据的保障措施采用磁带库备份,整个数据中心的管理配套部署系统监管服务器,以监视和管理整个数据中心的运行状态。
2.1 接口设计原则
2.1.1 基于顶层设计原则
系统整体设计和接口设计兼顾南京市医疗卫生信息化建设的规划设计原则,在系统架构、标准体系方面与上级系统保持一致。
2.1.2 减少重复投资
采用“无前置机”的逻辑部署架构,减少医院端前置机的投资费用,为南京市医疗卫生信息化节约了建设资金,也为这种建设方法开展了成功性探索。
2.1.3 标准遵循原则
接口设计在交互性、最小数据集等方面严格遵循国家医疗卫生信息化建设的各种标准,结合南京市医疗卫生信息化的实际情况进行标准扩充,实现一套有南京市本地特色的医疗卫生信息化建设标准体系。
2.1.4 信息共享原则
避免建设“信息孤岛”型信息系统,区域医疗一卡通系统充分考虑医院端信息系统的复杂性、多样性特点,提供了丰富的接口形式,保证中心端系统与医院端系统之间的信息共享。
2.1.5 安全可靠原则
系统充分考虑患者基本信息的隐私性,从物理层到应用层都进行了安全性设计。系统还考虑了可靠性方面的设计,在中心端系统、网络环境出现问题时,仍然可以保证患者可以正常就诊;在系统、网络恢复正常之后信息可以正确地在中心端和医院端实现同步。
2.2 接口设计
南京市区域医疗一卡通系统接口采用基于SOA的架构设计。中心端采用基于J2EE的多层体系架构,通过SOA服务层的WebService或MessageQueue与医院端信息系统实现信息共享和业务协同,为医院端信息系统提供了多种形式的接口,如WebService、MessageQueue、DLL、FTP、File、JMS等,现阶段主要采用了DLL、WebService、MessageQueue、FTP等几种技术模式。
在系统接口的设计过程中,采用了基于UML的设计方法,如中心端的SOA服务设计(图6)。
表1 中心端提供的部分SOA服务
图6 中心端的SOA服务设计
通过对SOA服务层的分析、设计和汇总,我们设计出了中心端应该提供的SOA服务,部分SOA服务,见表1。
基于上面中心端SOA服务层的设计,医院端信息系统根据以下情况实现相应的接口:
(1)对于实时业务,系统建议医院端系统调用WebService和DLL形式的接口,对于非实时业务,建议医院端系统调用MessageQueue和DLL形式的接口。
(2)对于可以直接访问WebService的医院端系统,WebService内部封装了各种业务SOA服务之外,还封装了调用MessageQueue的SOA服务[10]。
(3)对于只能调用DLL服务的医院端系统,DLL内部同样封装了调用MessageQueue的SOA服务。
最后,对于接口交互的内容和方法还需要进行定义,如入参、返回值等。由于南京市区域医疗一卡通系统接口设计采用XML的数据交换形式,因此,入参、返回值全部采用XML的数据形式。
在区域医疗一卡通系统建设的过程中,架构设计是整个系统建设的关键。本研究采用了“无前置机”的架构设计,在中心端借助“云”计算技术为医院端提供强大的SOA服务能力;在医院端又节省了大量的前置机建设资金,也为国内大型系统的建设开展了新的设计模式探索。面向医院端系统的接口设计不仅要兼顾性能、效率、标准、安全,还需要兼顾开放性和扩展性,更需要兼顾可靠性方面的设计,如专网在断网下的一卡通信息的续传和同步问题,南京市区域医疗一卡通系统目前采用MessageQueue和FTP两种技术保障形式解决了此问题。
[1] 张志彬,张岩.我院门诊“一卡通”使用初探[J].医学信息,2006,(12):40-42.
[2] 穆云庆,李刚荣,李桂祥.医院“一卡通”系统设计与应用[J].重庆医学,2005,(4):18-19.
[3] 曹玉珍,贾朔,陈露诗.基于Web的医院信息系统架构及其数据交换设计[J].中国医疗设备,2010,25(8):23-25.
[4] 江一民.区域卫生信息共享模式的探讨研究[J].中国数字医学,2008,3(8):21-23.
[5] 罗渠礓,胡顺福,陈建群.实现区域医疗卫生服务一卡通难点探讨[J].中国数字医学,2009,4(3):17-19.
[6] 郑西川,秦环龙,张建国.跨医院患者临床信息数据访问方案的实现[J].医疗卫生装备,2007,28(7):41-43.
[7] 周金海,印志鸿.区域医疗卫生信息及影像数字化资源的共享战略[J].中国组织工程研究与临床康复, 2010,(48):9069-9073.
[8] 李铁,黄天培,彭逢安.区域医疗共同体信息系统架构[J].医学信息,2010,(4):797-799.
[9] 李伟,江其生.数据交换与共享平台在区域协同医疗服务中的应用[J].医疗卫生装备, 2010,(3):59-61.
[10] 李清.基于HL7和SOA的区域医疗协同系统研究与实现[D].成都:电子科技大学,2010.
The Medical Card Architecture and Interface Design in Nanjing
HUANG Zhao, TANG Kai, CHEN Ping
Nanjing Health Information Center, Nanjing Jiangsu 210003, China
The application of information technology is the core of the to build a digital city in Nanjing, and a citizen card as the main carrier of regional medical card cities will become an important information technology content with no doubt. The following article is focuses on the regional health card system architecture and interface design, the purpose is to build a standard specification, information sharing, modular, platform-based system, the interface design is not only focusing on openness and scalability, but also takeing into account the interface reliability.
regional medical card; medical informationization; medical information system; SOA service; HL7
TP393.1; TP393.02
A
10.3969/j.issn.1674-1633.2012.02.009
1674-1633(2012)02-0034-04
2011-08-05
2011-08-31
作者邮箱:84317906@163.com