医疗数据整合模式的研究

2010-09-11 01:46亮张君雁
中国生物医学工程学报 2010年2期
关键词:关系数据库适配器网关

黎 亮张君雁

(电子科技大学电子商务系,成都 610054)

医疗数据整合模式的研究

黎 亮*张君雁

(电子科技大学电子商务系,成都 610054)

HL7是涉及到许多不同领域的医疗数据交换标准。通过对该标准的分析,本研究从最底层的结构入手,提出一种进行HL7完整构造的通用方法,并通过软件算法完全实现了此方法。本方法将XML对象树与数据表结合;它不同于其它文献所提的只针对HL7某一特定点或层次的方法,它不仅包含HL7的横向全部消息也深入了HL7的纵向所有层次。另外在此基础上,还提出了一个包含HL7适配器和HL7网关的,适合于不同医疗系统的信息整合模型。

HL7;解析;构造;医疗信息整合;模型

Abstract:HL7,the data exchange standard for health care system,is involved in many different industries.This paper proposed a method to construct and deconstruct all of the HL7 messages by using XML trees and relation tables.The proposed method is different from the ways deal with HL7 by just scrabbling up different single message.Our algorithms can make a HL7 engine which manages not only all kinds of HL7 messages but all the layers in HL7 as well.In addition,we also presented a model,including HL7 gateway and HL7 adapter,to integrate data from any medical system.

Key words:HL7;decompose;construct;medical data integration;model

引言

实现“医疗协同”的一个核心技术就是 HL7。HL7是医疗系统之间进行数据交换的标准,HL7通信协议汇集了不同厂商用来设计应用软件间接口的标准格式。目前对HL7的需求正有快速上升之势。据American Hospital Association最新统计,在美国目前已有三分之一的社区医院加入了医疗合作网,其规模仍在持续增加之中。在英国的协同网络Virtual Wards项目获得了英国医疗界的最高荣誉Health Service Journal Awards。在其它诸多地区和国家如台湾、韩国、加拿大、意大利等“协同网络”项目都作为目前医疗界的大政方针在积极研究实施之中。“医疗协同”可以提高效率、发挥医院网络的规模经济效益,我国也在十一五期间提出了相应的战略构想。

近年来有关HL7的文章和一些产品显著增多。具有代表性如用HL7实现LIS系统数据采集的模型[1],使用 HL7 查找医疗资源的模型[2],使用 HL7来采集生命监护仪数据的方法[3],还有人提出了把HL7用于家庭监护、医疗影像、ECG 等[4-8]。这些文章所提出的方法都有一个共同特点:只针对单个HL7层面或极少数几条消息来论述,给人感觉好象HL7就是由无联系的零散消息所组成。出现这种情况的原因在于HL7本身结构的内容比较庞杂,故人们不太关心对HL7的整体构造,而都只从某一角度或某一层面来剖析,从而也就未提出整体的工程实现方法。即这些文献阐述的都是HL7在某一具体应用中的具体使用方法,而没有一个普适性的HL7解决方案。按照HL7标准,任何一个HL7消息其长度和结构都是可变的。本研究的目的之一就是要建立一个通用的HL7模式,可以解析任何格式和长度的HL7消息。本研究将从HL7的最微观结构开始分析,找出所有层次和层次间的连接关系,整理出一个对于全部HL7消息整体构建规律。在工程上使用XML树型结构加上关系数据库,来实现所有的HL7消息的完整的分解和构造。本研究中,不是只简单地把几种不同格式的HL7的消息放在一起,而是把HL7作为一个整体来铸造,因此它将适合于任意的HL7消息及消息内部子结构的任意组合。在此基础之上,还提出了一个医疗数据交换的通用模型,不论人工的和仪器自动产生的数据,该模型都可以通过HL7适配器和网关把它们很好地整合到一起。

1 HL7的层次结构

HL7中的数据类型可分为几个层次(图 1)。HL7的最基本(不可分)的元素为subcomponent,通过它的排列组合最终可以构成大型的、复杂的、多层次的 HL7结构。通过查资料,总结出subcomponent共12种类型,可分为三类:字符型(包括 ID、ST、IS、SI、GTS、TX、FT),数字型(包括 NM、NA)和时间型(包括 DT、TM、DTM)。在进行 HL7的任何解析和构造前,首先必须要完成对这12种类型数据的程序识别。此后通过subcomponent的组合构成上一级的 component,再通过 component的组合构成更上一级的field。这二级的构造原理完全一样。这样构造出的复合数据类型共77个。由这些数据类型可反映出HL7中2103个不同意义的field。在HL7中除了上述内容可变的数据类型而外,还有许多相对固定的数据。这些相对固定的数据在HL7中叫“Table元素”,如性别中的“男”要用“M”表示,“女”要用“F”表示。这样的 Table元素共有4556个。由 field再向上一级可构成150个segment。由于segment内部的field可进行不定次数的重复使用,所以segment的构造要比它的下级层次复杂些。由segment继续向上可构成362个不同的message(注:HL7共有近500个消息,但其中有许多是重复相同的)。message的构成较为复杂,一些大的message可以分解成许多层次,每个层次内可有多个大小嵌套的结构,且各结构还可以根据用户需求无限制的自由重复。

图1 HL7的层次构造Fig.1 Layers of the HL7

2 HL7分解构造的方法

经过分析发现,HL7的结构同TCP协议栈原理较为类似。在工程实现时,要进行5级的分解和5级构造(图 1)。最下一级是复合元素层的分解构造,采用关系数据库查询方式实现。即每个复合元素所辖下的子元素及其顺序都存储在一张数据库表中,通过查表就可知此复合元素的构造是否正确。第二级的域的分解构造方式跟第一级完全一样。而再上一级消息段级的构造就要复杂一些,因为在消息段中允许域的重复,并且某些特定域还对应一些专门的特殊元素(如Table元素)。在对这一级的分解构造中,主体上仍采用了关系数据库查表(对下级元素和 Table元素)的方案,但对少数特殊域进行了单独的处理。对于更上一级的消息级,其有一个显著的特点就是其组成元素并不多(150个),但多层嵌套结构特别复杂。另一个特点是其中各个子结构的多少(可重复的次数)是不确定的,可由用户根据各自环境自主决定。对于这种较为复杂的情况,采用了XML对象树(树型结构的结点集)来进行动态生成。对象树的大小(层次和结点多少)可以根据用户不同的需求,由程序在内存中动态生成十分方便。XML树和数据库查表构造各有优缺点。XML对象树的优点是非常灵活并可动态增减结点,但速度相对较慢,特别是树的结点和层次很多时(如一个多层嵌套的大消息)。因此,结合这二种方法的不同特点,把它们分别用到了不同的级别(上面的消息级和最下面的三级),以分别适用于不同的情况。这种做法也非常符合HL7的结构:对于上层结构(消息级)的灵活多变,使用 XML树来进行完全对应;而对下三层结构的相对稳定,则使用关系数据库查表来进行快速的分解构造。

表1是关系数据库中对AD(Address)复合元素的存储,在进行HL7的格式检查中,将使用表中数据来判断:长度是否超界、位置的顺序是否正确,是否符合相关表、AD的各子域的类型是否正确(程序中通过递归调用来实现)。

表1 AD元素的结构Tab.1 Structure of AD data type

在算法上,首先用XML Schema进行顶层(即message-segment)格式初步分析,然后程序再进入到XML树中各个结点进行逐级分解分析,在结点中对域等复合元素则按关系数据库查表进行分析。

3 HL7网关的组成

HL7网关的设计如图2所示。其中 HL7转换器是核心,负责把用户的(非标准的)数据转变成标准的HL7格式,或反过来把标准的HL7变成用户所知的格式。HL7转换器的设计方法在上面“HL7分解构造的方法”中已有讨论。HL7存储转发,是网关对外界网络的接口。存储转发的优点是不但可以平滑数据流量,还可以避免外界系统短期的故障所带来的数据损失。另外,存储转发的一个好处是它容易支持大型系统内在的多层次结构。如系统采用的终端直连方式,按终端数量收费,故代价很高。若使用HL7网关进行医保数据存储转发,再配以若干局部(免费)的用户分终端,则不仅提高了系统的可靠性、可扩展性,而且也大大节省了费用。HL7(用户)数据接口是面向用户私有数据格式的输入输出通道。由于大量不同用户的数据格式难以统一,因此此接口的形式必须要非常灵活,适合各种情况才行。为此选用了XML字符串作为输入输出的载体。XML中包含两部分内容:数据本身和数据的所属类别(即HL7中位置的信息)。

图2 标准转换器Fig.2 HL7 exchange engine

图3 用户适配方式Fig.3 HL7 adapter

4 HL7适配器的功能

HL7适配器是用户方同HL7网关打交道的装置。其实HL7适配器也可以理解成一种方法或模式如图3所示,HL7适配器作用类似填空:把用户的数据填入程序生成的XML框架的适当位置。要通过HL7转换的数据来自二类数据源:人工产生的(如医生写的电子病历、检验报告),仪器设备自动产生的(实时数据如心电波、脑电波)。因此,HL7

适配器的功能就应该有数据采集、数据分类以及把用户数据打包成上述XML格式的功能,此功能可由用户一方自己来完成。另外,HL7适配器还会把接到的数据分配给等待接收外界信息的相应部门或设备仪器。例如HL7适配器可把从一台心电监护仪采集到的数据,定期打包封装成如下简单的XML格式:

这里ORU_R01是HL7的消息名,表示要传送检验数据到外系统。通过此名称,程序将调用相应的HL7消息模板,对XML数据进行存储和格式检查。此例中cdid的属性值表示消息中的位置(类型)。根据cdid的值,内容将被程序自动放入相应的位置,如上面的“数据值”将被放入OBX消息段的第5个位置中。此XML结构是根据用户所需消息段的名称由软件自动生成。对于最终用户,他们只需要把每次采集到的数据填入此XML结构的数据域部分,对此XML的其它部分(如标记 cdid等)则可完全不关心。这样对普通终端用户来说,使用起来简单。而由于用户最了解从哪里去采数据、怎么采,故此方法在实际工作中具有较强的操作性。

用户本身的数据在表达方式上同标准的HL7可能有一定的差距。如上面谈到的性别女在HL7中的表示为“F”,而在用户私有系统中可能表示为“女”或“02”等等。为了解决这一问题,在 HL7数据接口处设置了一个用户可配置的数据转换表(可以是一个小数据库如Access中的一张表)。通过这张表就解决了局部数据表达方式和全局标准数据表达方式的不一致问题。

上面的XML内容最终将被软件转化为如下标准的HL7字符串:

图4是HL7阅读软件把上述内容展开后的一个片断。软件对每个细节都会查数据库表判断,并根据查表内容进行可能的注释,可以看到在OBX-11中的 P被自动注释成“preliminary results”(“初步结果”),OBX-8中的AA被自动注释成“very abnormal”(“极度异常”)。

图4 HL7阅读器Fig.4 HL7 XML reader

图5 区域化模式Fig.5 Regional health model

5 医疗数据交换的模式

在有了HL7网关和适配器的基础上,就可以为各种人工数据和设备数据构建交换模式。各种医疗数据经过HL7网关后,形成了标准的、有结构的数据,从而达到了跨系统、跨医院、跨地区、跨国家进行共享的目的。通过HL7网关的多次存储转发,可以构建出大型的、复杂的医疗信息系统。医疗数据的存储和传送的逻辑如图5所示。这些数据可包括病患管理、医嘱、查询、财务管理、观察报告、医疗记录、日程安排、患者转诊、病患护理、临床化验室自动化、医务人员管理等各方面的电子资料。由于HL7网关的主要工作会涉及到大量的字符串处理,CPU的消耗比较大。但在大部分情况下,HL7网关对网络的带宽消耗不大。此特点同DICOM系统刚好相反。为了减少网关处CPU压力,对HL7消息的解析可以仅限于消息的头部,即MSH和MSA二部分;而对消息的全面解析可以分布到各个客户机器上(可以是适配器机器上)。上述头部的二个部分包含了最基本的信息如发送/接收地址、消息的基本类型、时间等,这些信息足以让网关决定使用何种转发路径和转发优先级来对信息进一步处理。

6 结论

通过对HL7标准的分析,在理出HL7的层次构造规律的基础上,提出了一种全面构造 HL7的方法,可以解析出任何格式和长度的 HL7。这样的HL7引擎不再是由几个固定的消息简单地组成,而是集所有消息和任意消息组合于一体的完整组件。构造方法使用了XML树和关系数据库查询相结合,既不损失HL7上层结构的灵活性又能够保证底层搜索的速度。在测试中,发现对于一个大型的消息,XML树的构造和查询过程在普通CPU上大约会耗费近1 s的时间,因此算法的速度还有待进一步提高改进。本研究还勾画出了一个对医疗数据全面整合的方案。本方法的优点还在于,由于把构造规则数据化,当HL7有任何新版本推出时,只需改变数据库表的内容,而解析和构造函数都基本不需要变,因此本方法的伸展性很强。另外由于用户可以根据自身业务的特点来定制HL7适配器和配置HL7数据接口,其适应性也较广。

[1]Jinwook C,Sooyoung Y,Heekyong P,et al.MobileMed:A PDA-Based mobileclinicalinformation system [J].IEEE Transactions on Information Technology in Biomedicine,2006,10(3):527-635.

[2]Pasquale DM,Gabriele DQ,Giovanni Q,et al.An HL7-aware multi-agent system for efficiently handling query answering in an e-Health context[J].Lecture Notes in Computer Science,2006,4275:967-974.

[3]Tung T,Hwa-SunK,HuneC.A developmentofHL7 middlewareformedicaldevice communication[A].In:Proceedings ofFifth InternationalConference on Software Engineering Research,Management and Applications[C].Busan:IEEE Computer Society 2007.485-492.

[4]Garsden H,Basilakis J,Celler BG,et al.A home health monitoring system including intelligent reporting and alerts[A].In:Proceedings of the 26th Annual International Conference of the IEEE EMBS[C].San Francisco:Engineering in Medicine and Biology Society,2004.3151-3154.

[5]Eklund JM,McGregor C,Smith KP.A method for physiological data transmission and archiving to support the service of critical care using DICOM and HL7[A].In:Proceedings of 30th Annual International Conference of the IEEE EMBS[C].Vancouver,Canada:Engineeringin Medicineand Biology Society,2008.1486-1489.

[6]贾玮、李伟鹏.HL7之 ORU消息的 XML Schema构建[J].中国医学物理学杂志,2008,25(4):763-767.

[7]王琼、张正国.应用HL7标准建立心电信息数据库[J].中国生物医学工程学报,2008,27(3):400-404.

[8]Uma ks,Kwakb YS,Chob H,et al.Developmentof HL7 interface engine,based on tree structure and streaming algorithm for large size mesaages which include image data[J].Computer Methods and Programs in Biomedicine,2005,80(2):126-140.

[9]Oemig F,Blohel B.Does HL7 Go towards an architecture standard?[J].Sstud Health Teehnol Inform,2005,116:761-766.

A Model for Data Integration in Health Care

LI Liang*ZHANG Jun-Yan
(E-Commerce Department,University of Electronic Science and Technology of China,Chengdu 610054,China)

R197.324

A

0258-8021(2010)02-0207-05

10.3969/j.issn.0258-8021.2010.02.009

2009-05-08,

2010-01-22

“十一五”国家科技支撑计划重大专项(2006BAH02A27)

*通讯作者。 E-mail:liliang@uestc.edu.cn

猜你喜欢
关系数据库适配器网关
关系数据库在高炉数据采集系统中的应用
关系数据库技术在计算机网络设计中的应用
信号系统网关设备的优化
基于3D打印的轻型导弹适配器
潜空导弹垂直发射出筒适配器受载变形仿真研究
探讨关系数据库设计中范式理论的教学方法
电源适配器怎么选
美国麦格普公司新型M—LOK相机三脚架适配器
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”