HL7标准在医疗仪器通讯中的应用

更新时间:2023-05-28 08:06:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

DOI牶牨牥牣牨牫牪牭牭牤j牣cnki牣jusst牣牪牥牥牰牣牥牪牣牥牪牪 第28卷 第2期

上 海 理 工 大 学 学 报

Vo.l28 No.2 2006 

J.UniversityofShanghaiforScienceandTechnology

文章编号:1007-6735(2006)02-0193-04

HL7标准在医疗仪器通讯中的应用

孙 迎, 陈家琪, 叶 英

3.上海市宝山区发展计划委员会,上海 201900)

1

2

3

(1.上海理工大学医疗器械学院,上海 200093;2.上海理工大学计算机工程学院,上海 200093;

摘要:介绍通过编程实现以HL7标准的检验数据在检验仪器与临床检验信息系统(clinicallabora-toryinformationsystem,CLIS)之间的数据格式转换,从而解决各种检验仪器的接口软件重用性问题,并保证数据交换的准确性.国内外检验仪器的生产厂家应尽快应用HL7标准,规范仪器通讯接口的数据通讯.

关键词:HL7;医疗信息整合规范;医疗仪器通讯中图分类号:TP273   文献标识码:A

Applicationinthecommunicationofthemedical

instrumentofHL7standard

SUNYing, CHENJia-qi, YEYing

1

2

3

(1.CollegeofMedicalInstrumentation,UniversityofShanghaiforScienceandTechnology,Shanghai200093,China;2.CollegeofComputerEngineering,UniversityofShanghaiforScienceandTechnology,Shanghai200093,China;

3.ShanghaiBaoshanDistrictPlanningCommittee,Shanghai201900,China)

Abstract:HL7isaninternationalstandardofinformationexchangeamongmedicalindustries.Inthepa-per,thetransitionofformatsbetweenthemedicalapparatusandclinicallaboratoryinformationsys-tembymeansofprogramdesignisintroduced.Thetautologyuseproblemoftheinterfaceissolveda-mongvarioustestinstruments,andtheaccuracyofthedataexchangeisensured.Thedomesticandinter-nationalinstrumentmanufacturerswouldbetteradopttheHL7standardassoonaspossible.

Keywords:HL7;combinationnormofmedicalinformation;communicationbetweenmedicalinstrument  随着医疗信息产业的飞速发展,政府、医院、医疗保险、医疗仪器、远程医疗等机构正面临医学信息

化交换的瓶颈和困惑.由于各个医院内部信息系统多半是由各个厂商独立开发,对于系统间传递的信息没有统一的表达方式,使得不同应用系统之间信息整合非常困难.因此,医药行业内需要一种通用的信息传递规范格式和机制.美国卫生信息传输标准

 收稿日期:2005-06-01

 .

healthlever7(HL7)是一个医疗产业间信息交换国际标准.HL7的主要应用领域是医院信息系统(hos-pitalinformationsystem,HIS)和放射信息系统(radi-ologyinformationsystem,RIS).其目的是达到临床上跨平台的应用,支援医药服务和临床患者护理、管理,提供信息交换、管理和整合的标准,让各医药信息系统间的信息交换变得更加简单畅通.

194       上海理工大学学报2006年第28卷 

采用HL7为标准的HIS和医疗仪器、设备可以完全做到无障碍互连和医学数据信息的交换.它是不同HIS信息交换的标准,是医疗仪器、设备即插即用的基础,是医疗信息整合、利用、交换、共享的前提.本文结合中国国情,探索实现基于HL7标准上的医疗仪器、设备之间数据交换方法.

外,在HL7标准的数据交换中隐含了医疗管理模式

的应用,因此单从这个方面来说,HL7标准的应用就不是一个纯粹的技术,如TCP/IP等技术性协议的应用.HL7标准包含的内容较多,在临床检验信息系统(CLIS)中定义的数据格式已经在许多文章中有说明

[2]

,本文就医疗仪器与CLIS之间通讯要使用的

1 HL7标准概述

HL7是模型中的应用层(第7层),如图1所示.HL7主要定义了交换的数据格式、交换的时间规定及交换时的出错处理

[1]

相关内容进行探讨.

2 HL7的通信应用

2.1 数据底层通讯控制

HL7支持的数据交换格式可适应于1~6层的各种通讯协议及通讯环境,如目前最常用的有基于TCP/IP上的通信,其物理层协议多为RS232.2.1.1 TCP/IP协议

TCP/IP协议用于局域网或互联网中计算机之间的数据传输服务,程序设计语言中用Winsock控件可以实现TCP服务.TCP提供了对段的检错、应答、重传和排序的功能,并提供了可靠地建立链和拆除链接的方法、流量控制和拥塞控制的机制,从而保

.

图1 HL7标准应用层模式

Fig.1 HL7standardmodeinapplicationlayer

证了数据底层通讯的可靠性.

Winsock控件分别被应用在服务器端和客户端.服务器端(检验仪器)的主要设置是发送、接收端口地址,客户端(CLIS)主要设置是服务器端的IP地址、发送、接收端口地址.目前大型的检验仪器一般都采用此协议,今后中小型检验仪器也将逐渐采用.2.1.2 RS-C232标准

RS-C232主要用于串口的数据通讯,传输速率低,程序设计语言中用Mscomm32等控件实现.它主要设置通讯的串口、波特率、奇偶校验、数据位、停止位及协议,是目前检验仪器通讯中使用最广泛的一种数据底层通讯协议信息.2.1.3 HL7的底层协议

HL7的底层协议格式为(SB)dddd(EB)(CR).其中,(SB)为块开始符;dddd为数据;(EB)为块结束符;(CR)为回车.以上格式组成一个消息.另外,HL7标准为提高通讯的可靠性,定义了确认消息来解决消息处理情况的反馈信息、顺序号来解决消息丢失问题及一个连续协议解决任意长消息问题.2.2 HL7数据格式2.2.1 消息确认

消息确认分为接收确认和应用确认.据MSH段中.

[3]

HL7标准对1~6层的协议没有明确定义,用户可以在一系列的协议堆中选择合适的一组.HL7的数据格式由消息(message)组成基本单位,一个消息

由多个段(segments)组成,一个段由多个字段(fields)组成,字段是由一个或多个数据元组成的一个字符串.结构如图2所示.

图2 HL7的数据格式Fig.2 DataformofHL7

从原理上来理解,HL7标准协议就是一种数据交换协议,并不涉及底层的通讯协议,而这个协议的实质简单地说类似于CSV(characterstringversion)的字符串文本协议,定义了相应的字段和含义,当然这个协议要比CSV复杂,但本质是一致的.可要实现

 第2期孙 迎,等:HL7标准在医疗仪器通讯中的应用195 

2.2.2 消息

检验仪器与CLIS通讯中常用的信息有:OML(laboratoryordermessage) 实验室指令消息,指新增指令信息、附加指令信息、删除指令信息;ORM(generalordermessage) 一般命令信息,指新增指令信息、附加指令信息、删除指令信息;

ORR(generalresponsemessage) 用于ORM消息的确认;

ORU(generalresponsemessage) 用于ORL消息的确认;

OUL(unsolicitedlaboratoryobservationmessage) 实验室检查结果信息(包括质控);

ACK(generalacknowledgmentmessage) 一般应答信息;

SSM(specimenstatusmessage) 标本状态信息.2.2.3 段

检验仪器与CLIS通讯常用到的段有:

MSHessageHeaderSegment 用于定义消息类型、来源、目标及一些消息语法规则;

MSAMessageAcknowledgmentSegment 用于发送消息确认;

ERRErrorMessage 用于消息的错误信息;NTENotesandCommentsSegment 备注评价信息;

PIDPatientIdentificationSegment 定义病人信息,包括就诊号,姓名、性别、出生年月等基本信息;

ORCCommonOrderSegment 发送新增、增加、删除、重送等一般的试验指令;

OBRObservationRequestSegment 发送检验申请信息,包括标本申请、采集信息、标本类型等有关标本的信息;

TestCodeDetailsSegment 包括试验名称、稀释倍数等试验信息;

OBXObservation/ResultSegment 检验结果信息,包括试验名称、检验结果、标志、参考范围、检验仪器等结果信息;

EQUEquipmentDetailSegment 仪器信息;SACSpecimenandContainerDetailSegment 医嘱号或标本号及在仪器上的位置信息;SIDSubstanceIdentifierSegment 用于质量控制中的质控批号、质控等级等信息.

用VC、VB、PB、Delphi等高级程序设计语言中

的Winsock、Mscomm32等控件实现检验仪器与CLIS之间的基于文本数据的底层通讯控制,将有用的消息存入消息数据表.消息数据表包括OML、ORM、ORR、ORU、OUL、SSM等,根据消息结构抽取段结构,根据段结构抽取字段结构并处理成相应的信息,存入或更新相应的数据库.通过编程完成以HL7为标准的检验数据在检验仪器与CLIS之间数据格式转换.

服务器程序的实现过程是:

a.服务器程序必须设置好LocalPort属性,作为侦听端口.该值为一个整数Winsockserver.LocalPort=1001.

b.使用Listen方法进入侦听状态,等待客户机程序的连接请求Winsockserver.Listen.

c.客户机程序发出连接请求,使服务器程序产生ConnectionRequest事件.该事件得到一个参数re-questID.

d.服务器程序用Accept方法接受客户机程序的requestID请求,这样,服务器程序就可以用SendData方法发送数据,Accept方法必须用上一步得到的requestID作为其参数.部分代码为:

PrivateSubWinsockserver-ConnectionRequest(ByValrequestIDAsLong)

 IfWinsockserver.State<>sckClosedThenWinsockserver.Close

 Winsockserver.AcceptrequestIDEndSub

PrivateSubtextsend-Change() Winsockserver.SendDatatextsend.TextEndSub

e.当服务器程序接收到数据时,产生DataAr-rival事件,参数BytesTotal包含接收到的数据字节数.在该事件中,可以用GetData方法接收数据:PrivateSubWinsockserver-DataArrival(ByValbytesTotalAsLong)

 DimtmpstrAsString Winsockserver.GetDatatmpstr textge.tText=tmpstr

EndSub

.如果接受到Close事件,则用Close方法关闭fTCP/IP连接:

Privateinsockser-C()

3 软件实现

3.

196       上海理工大学学报2006年第28卷 

 Winsockserver.Close

EndSub

客户机程序的实现过程是:

a.客户程序设置Remotehost属性,以便指定运行服务器程序的主机名,该字符串可在“控制面板|网络|标识|计算机名”中查到.

b.设置RemotePort属性,以便指定服务器程序的侦听端口:

 Winsockclien.tRemotePort=1001

 Winsockclien.tRemoteHost=“sy”

c.使用Connect方法,向服务器提出连接请求: Winsockclien.tConnect

d.服务器接受客户机程序的请求,客户机程序产生Connect事件,就可以用SendData方法发送数据:

 Winsockclien.tSendDatatextsend.Texte.当客户机程序接收到数据时,产生DataAr-rival事件,参数BytesTotal包含接收到的数据字节数.在该事件中,可以用GetData方法接收数据.部分代码为:

PrivateSubwinsockclient-DataArrival(ByValbytesTotalAsLong)

 DimtmpstrAsString

 Winsockclien.tGetDatatmpstr textge.tText=tmpstrEndSub

.如果接受到Close事件,则用Close方法关闭f连接:

PrivateSubWinsockclient-Close() Winsockclien.tClose

EndSub

通过以上连接和通信,可将监测仪传过来的数据从缓冲区以字节的形式读到receive数组后,再写到文本文件中去,接着就可以对文本文件进行分析.3.2 数据格式转换程序

[4]

据,通过网络传递给CLAS(clinicallaboratoryanaly-sissystem),CLAS接收到文本数据后,通过函数把数据解析成自己的数据库资料,并发送到相应的模块.CLAS向CLIS发送样本状态、分注/分类结果、试验/质控结果,HL7信息构造和信息解析的处理过程

相反(见图3)

.

图3 HL7信息构造和信息解析处理过程Fig.3 HL7informationconstructsandthecourse

ofinformationanalyzing

4 结 论

a.检验仪器与CLIS通信以HL7协议为标准,同一个软件可以在不同的厂家及仪器中使用,使通讯接口软件具有可重用性,提高了软件产品的质量和效率.各类检验仪器采用HL7标准后,只要按照涉及CLIS的HL7标准规则,就可以保证数据交换的准确性.

b.HL7是一个基于文本的标准,属于应用层协议,需要用程序语言来完成格式转换,把文本转换成CLIS数据格式.所以,软件具有可理解性、可维护性、可修改性等符合软件工程的要求.

c.HL7支持TCP/IP协议,在局域网内传输速度最高可达几十兆,可靠性好,适用于临床实验室自动化系统中各类仪器与CLIS之间的实时、高速、可靠的数据交换.另外,可提高仪器的可维护性

[5]

.

d.检验仪器通讯中使用的HL7标准是今后检验仪器通讯的国际标准,是医疗信息产业发展和升级的前提.因此应规范仪器通讯接口的数据通讯,为实现医院信息系统集成奠定基础.

参考文献:

[1] AmericanNationalStandardsInstitute.HealthLevelSeven

Version3[S].Michigan:HealthLevelSevenInc,2003.[2] 高朝阳.医院信息系统与HL7[J].现代医院,2004,4

(2):71-73.

[3] 张大珂.HL7在计算机中应用模式探讨[J].信息技

术,2004,28(2):61-63.

[4] 郭昕兢.医院信息系统接口的设计研究[J].中国新医

药,2003,2(9):56-57.

[5] 刘丹红.我国医院信息系统数据标准与HL7[J].信息

管理,2004,24(2):39-41.

根据消息类型及所包含段的类型不同分别进行处理,并要根据段所包含字段来具体处理.按照HL7

标准的特点,可以把要用到的每个段编写成一个具体的函数,再根据消息的类型,用段函数来写成消息函数.这样可以根据不同情况调用不同的函数来完成数据格式转换功能,从而完成HL7信息构造和信息解析功能.处理过程:CLIS把数据库中的病人资料及试验信息通过函数构造成HL7格式的文本数

本文来源:https://www.bwwdw.com/article/7484.html

Top