集成引擎、ESB、ETL、医院实际场景案例
导读:场景决定技术,以场景需求和应用效果为出发点。
在集成平台建设中,医院面临着各种数据交互和信息集成的场景,往往不知道该通过何种数据交换中间件技术来实现系统间的调用和数据的传输。 比如:
- 集成有多种对接形式和协议,如Web Service、数据库、HTTP、HL7等,如何选择?
- 什么情况下系统之间的调用需要同步,又在什么情况下需要异步处理?
- 如果一个通知涉及多个系统的话,是否会用到消息的分发?
- 进行一次查询会牵扯到不同的业务系统或者数据库,用什么方式?
- 外部系统异常导致消息流转失败,如何处理这些异常消息?
上述问题都可能会在项目实践中遇到,为了能用恰当的技术手段来解决这些问题,需要对集成平台的数据交换技术有一定了解。 ESB(企业服务总线)和Integration Engine(集成引擎)都是用来实现集成平台对于数据传输和信息交互的核心中间件,在对实际应用场景进行分析后,合理选择或结合应用这两种技术,能够很好地应对上述问题。 然而,有些时候大家对ESB和IE的应用会比较模糊,经常会出现误用的情况。 ESB和IE的区别是什么? 技术上各有哪些侧重点和优劣势呢? 本文将结合台州医院的部分应用场景,对以上问题进行探讨。
什么是ESB
ESB 是用于服务协调、编排的一个很好的 通用解决方案 。 在进行数据集成时,系统内的应用可以直接调用ESB内的服务,可大大减少接口接入的复杂度和工作量,大幅降低实施难度和实施成本。
1.ESB的特点
- 提供服务 : 可根据客户的请求和事件提供路由、数据转换和翻译。
- 快速并行处理消息 : 在无需保证消息或服务请求顺序的情况下,可同时处理不同请求,实现高性能请求应答模式。
- 侧重于同步消息处理 : 收到外部系统调用服务请求后需要等待连接的应用系统处理请求,等处理完成后将结果返回给外部系统。 如果外部系统调用服务失败,外部系统负责重试再次调用服务。
2.ESB的优缺点 优点 : 能够支持不同的接入系统和传输模式,传输效率高,易于实现集群架构,提高信息系统架构的灵活性,降低内部信息共享的成本。 缺点 : 缺乏对医疗标准的支持,需要针对医疗行业的特殊性进行大量二次开发,从而导致实施代价和维护成本很高。
什么是IE
相比ESB的通用性,集成引擎是 专门针对医疗行业而设计 的数据交换集成工具,突出的是医疗场景下的应用,其主要目的是在不同系统或应用程序之间实现互操作,达成业务流程联通和数据共享,比较典型的是面向消息的集成。
1.IE的特点
- 保证消息传输: 能记录整个消息处理流程和每个节点的消息,这些内容将保存一定的时间,以供用户查看或修正后重新处理。
- 侧重于消息的异步处理 : 收到外部系统请求后,集成引擎可对外部系统立即应答,外部系统即完成工作,集成引擎负责消息后续处理。 如果消息后续处理失败,集成引擎会负责重新尝试给信息的接收方传输消息。
- 保证消息传输的顺序 : 在医疗行业,消息的顺序极为重要。 在保证消息传输顺序时需要单线程逐一处理接收的消息。
- 支持的医疗标准 : 传统集成引擎作为专为医疗行业而设计的产品,支持的医疗标准更加全面,如HL7、CDA、FHIR等。
- 易用性 : 部分集成引擎产品是配置型产品,具备行业特征,内嵌医疗场景下的常用功能,省去了进一步编码的过程,可缩短项目周期。
2.IE的优缺点
优点 : 能实现不同部门之间的基于HL7消息的集成。 集成引擎专为医疗数据交换而设计,也易于实施使用。
缺点 : 传统集成引擎难以实现集群架构,有单点故障隐患,因此在高并发、大流量环境下时常出现功能瓶颈,严重时甚至会宕机。 仅使用集成引擎的医院,信息部门技术人员会为平台的稳定性和可用性困扰。
ESB和IE在医院的应用场景
1.门诊预约业务流程
(1)场景业务分析
- 号源查询 : 需要对外统一的预约信息查询接口,同时能够为院内自助机及服务台、患者的移动App以及外部预约平台等提供号源查询服务。
- 门诊预约服务 : 患者及家属可通过本院或第三方预约平台实现对集团下4家医院进行在线预约挂号,并能够返回预约结果。
- 门诊取消预约服务 : 患者及家属可对已预约的信息进行取消预约处理。
图1 门诊预约业务流程示意图(IE和ESB共同实现)
(2)场景技术分析
号源查询要求响应速度快,有同步处理要求,响应时间不能超过3秒。 对于查询的内容能够根据业务变更灵活调整。 门诊预约和取消预约业务对于响应要求不高,但是需要保证消息的传输以及传输时的顺序,因此在应用端的预约和取消预约通过异步进行处理,结果信息的接收可通过发短信或刷新实现查询。
因此在这个场景中,号源查询业务适合通过ESB实现,而门诊预约和取消预约业务适合通过IE实现。在处理一个外部入口的所有请求时,需要根据具体业务中数据的传输模式要求不断进行调整。
2.检验业务的应用场景
(1)场景业务分析 此流程包括检验申请单提交通知、检验申请单计费确认通知、标本采集通知、标本送检通知、标本核收通知、标本退回通知、报告审核通知以及相对应的取消通知等。 该场景下,流程和消息路径由消息头的关键词决定,通过业务编号对HIS和LIS数据库进行异步操作。
图2 检验业务服务流程示意图(IE实现)
(2)场景技术分析 在检验申请的业务场景中,由于检验相关的业务中保证消息的传输以及传输时的顺序非常重要,因此IE是较为适用的该场景下数据传输模式的集成中间件。
3.内网服务分发场景
(1)场景业务分析 医院内部不同的系统都会有对外的接口供调用,这些接口客户端种类繁多,包括电子病历、医疗、检查、检验等多个系统和客户端,被调用的接口也多种多样。 需要通过统一的内部接口进行管理分发,这样能够更有效地管理内部接口,规范化交互标准。
图3 内网服务分发示意图(ESB实现)
(2)场景技术分析 由于这些数据调用的发生可能存在多个调用消费端及多个服务生产端,而且数据吞吐量大、并发高,还需要满足调用分发的要求,因此ESB更适合该场景下的数据传输模式,能实现并行处理、快速响应。
场景决定技术
可以看出,ESB与IE各有侧重,适用于医院不同的应用场景。 ESB适合需要快速响应、同步处理消息、高并发、高数据吞吐量的场景; IE更适合对于消息请求响应速度要求不高,但是需要保证消息的传输以及传输顺序、异步处理消息的场景。
当前,区域医疗、医联体、医共体建设不断推进,医院所扮演的角色和业务越来越多。 5G、混合云、物联网、容器化等新技术、新环境的出现,让应用的更新迭代速度越来越快。 医院内部或多院之间的数据交换会不断增强,线上线下服务会也会更加便捷。 随之而来的是,医院将会面临更复杂、更多样的场景。 因此,医院建设集成平台时选择何种数据交换技术,不应拘泥于一种技术形式,而应以场景需求和应用实践效果为出发点,结合自身实际情况以及医院未来信息化方向,灵活使用各种技术,更好地发挥集成平台的价值,赋能临床业务发展。(作者单位: 浙江省台州医院信息中心)
Odin文章评论: