专业咨询
致力推进中国医疗卫生信息化

【吴坤专栏】全方位解读医疗信息集成平台系列之五:消息通信机制与数据交互模块设计

来源:HIT专家网   作者:吴坤

【编者按】

当前,大中型医院大多正在建设医院信息集成平台,以实现医院内部众多软件系统之间的联动,促进全业务流程的信息化、智能化。对于医院信息工程师而言,理解和掌握集成平台相关知识技能非常重要,甚至将会成为其核心技能之一。

华中科技大学同济医学院附属同济医院信息中心软件工程师吴坤,计划在专栏中通过系列文章,介绍医院信息集成平台的基础理论、核心技术、设计方案、典型案例等,与业界同仁交流探讨“集成平台与数据中台,医疗机构如何选择”、“集成平台推动下的医疗数据体系建设”等问题。

从技术层面上,集成平台的体系架构大致可划分为三层:数据库层、平台层和应用层,如图1所示。数据库层主要用于存储各业务系统产生的数据。平台层则是集成平台架构的中间层,不同系统之间需要进行消息通信时,首先将消息数据发送到平台,平台接收到消息后转发到消息接收方。应用层由医疗机构内部业务系统组成。当系统之间需要交互通信传输数据时,发送方系统首先将数据封装为消息并发送到平台,平台接收到消息后转发消息给接收方系统。如果消息数据需要存储,平台调用接收方系统的数据存储服务,将消息数据存储在对应的数据库中。接收方系统不需要与发送方系统直接交互,发送方不需要与数据直接交互。

对于整个集成平台业务而言,最主要的设计工作包括两块内容:消息通信机制设计和数据交互模块设计。

图1 集成平台技术架构

消息通信机制设计

平台层主要提供消息引擎的功能,承担了系统之间数据交互通信的主要任务。当前在建设医疗信息集成平台时,主要是基于现有的中间件来设计消息引擎相关内容,包括消息格式、传输协议等。下文主要介绍当前医疗领域常用的基于TCP协议的HL7标准消息通信接口。

1.消息格式与传输协议

不同业务系统之间需要通过集成平台进行通信和数据交互时,即触发系统通信交互事件。集成平台中,业务系统之间的通信是通过发送消息来实现的。单个消息由多个消息段按照一定的规则组成,每个消息段包含多个字段,下文是一个标准的HL7消息:

MSH|^~\&|EMR||Pivas||202010291113||OMP^O09^OMP_O09|f8fb1de0-3461-4a26-9678-b6eab109dd27|P|2.6|||NE|AL||utf-8

PID||1010284865|||王敏^^^WANG MIN||19831105|1

PV1||2|110205^11020501^532^113279||||101838^؛||||||||||||1||||||||||||||||||||H0001|||||20201013142400

ORC|OH|106702531||136745437|||||20201029105809|||王医生|||||||||骨科病房^^11020501||||||||E

TQ1|1||1&1/日||||20201029105809|||1

RXO|B7^单组静滴|1||||||||||||||||||0^否

这条HL7消息由MSH、PID、PV1、TQ1、RXO消息段组成,消息头字段MSH由多个字段组成:EMR(发送方系统)、Pivas(接收方系统)、202010291113等,每个字段分别表示特定的含义。

2.消息构建与消息解析

不同业务系统之间通过集成平台进行通信时,交互传输的数据封装在消息中。发送方系统将数据封装成HL7协议格式的消息发送到集成平台,集成平台转发消息给接收方系统。整个流程如图2所示。

图2 业务系统数据交互流程

发送方系统基于TCP协议来进行数据发送,准备好数据后,需要进行HL7格式编码,即将需要发送的数据编码成符合HL7协议标准的消息,随后通过消息发送接口发送到集成平台。集成平台将接收到的HL7消息转发给接收方系统,接收方系统的通信接口接收到消息后,根据HL7协议的标准格式将消息解析为符合要求的数据,以便进行后续的数据处理工作。

数据交互模式设计

为了满足不同的业务系统的数据通信场景、通信接口和数据类型需求,集成平台在实现数据交互通信时,需要设计不同的数据交互模式。通常情况下,数据交互模式可分为“推”和“拉”两种模式。

1.“推”模式

“推”模式是指数据发送方(或称数据推送方)在需要发送数据时,主动将数据推送给接收方。数据发送方是通信事件的发起者,接收方被动接收数据,无需关注发送方何时推送数据,只需要时刻做好接收数据的准备。

在“推”模式场景下,数据何时推送完全由发送方决定。这一模式在医疗机构内部有很多应用场景,例如:患者在医院自助机系统挂号后,自助机系统实时将缴费和挂号信息推送给HIS系统;门诊医生站系统随时可能会开立医嘱,并将相应的处方或者检查/检验申请信息推送给对应的业务系统;患者到医技科室进行医疗检查,检验/检查系统完成生产项目结果后,会将结果数据推送给HIS系统等。

“推”模式的数据交互方式通过事件驱动方式来完成。发送方系统有数据要发送时,调用集成平台服务接口,将数据发送事件消息传送给集成平台;集成平台收到事件信息后,调用发送方系统的数据查询接口;发送方系统接收到集成平台请求消息后,将相应的数据返回给集成平台;集成平台按接收方规定的格式对数据封装后,调用接收方系统的数据接收服务,发送数据给接收方;数据接收方系统成功接收数据并完成相应的数据处理操作后,发送数据接收成功的反馈信息给集成平台;集成平台随后反馈成功消息给发送方系统。整个流程基于消息反馈机制,形成一个完好的闭环管理机制。

通过事件驱动机制实现的“推”模式,主要有四种接口实现方式:数据库中间表方式、SOAP Webservice方式、RESTFUL Webservice方式、基于TCP/协议的HL7方式。其业务流程环节,如图3所示。

图3 “推”模式的业务时序流程

2.“拉”模式

“拉”模式是数据接收方(或称数据拉取方、数据请求方)从数据发送方(或称数据提供方)系统中拉取数据。“拉”模式通常用于数据查询业务,比如查询患者信息、费用信息、药品信息等。图4是“拉”模式的业务时序图。

图4 “拉”模式的业务时序流程

首先,数据请求方系统向集成平台发送数据查询请求;第二步,集成平台向数据提供方系统发送数据获取请求;第三步,数据提供方传送数据到集成平台;第四步,集成平台返回请求结果数据至数据请求方系统。

“拉”模式主要有三种实现方式:SOAP Webservice方式、RESTFUL Webservice方式和基于TCP协议的HL7方式。

集成平台并不存储业务系统数据,当数据请求方需要拉取数据时,集成平台将代替数据请求方从数据提供方系统中获取数据,在整个数据拉取过程中,集成平台充当着代理方的角色。“拉”模式在医疗业务中的典型应用场景就是查询业务,例如:自助机、App挂号系统需要查询HIS系统中的号源信息;门户网站系统查询人力资源系统中的员工资料信息等。

规范完善的闭环管理,是集成平台能协调业务系统进行数据交互通信的保障。本文介绍了基于集成平台的系统之间数据交互流程涉及的消息通信机制和数据交互模式设计。下一篇将重点介绍数据存储的相关内容。

【作者简介】

吴坤,计算机专业硕士,华中科技大学同济医学院附属同济医院信息中心软件工程师。专业计算机程序员,医疗信息技术推广者,积极参与社会活动,热衷于以信息技术提高医疗行业服务质量和改善患者就医体验。

关注HIT专家网微信订阅号
精彩不容错过!

【责任编辑:陈曦】

赞(8)

评论 抢沙发

评论前必须登录!

 


未经允许不得转载:HIT专家网 » 【吴坤专栏】全方位解读医疗信息集成平台系列之五:消息通信机制与数据交互模块设计
分享到: 更多 (0)