《LISHL7网口通讯协议》由会员分享,可在线阅读,更多相关《LISHL7网口通讯协议(30页珍藏版)》请在金锄头文库上搜索。
1、-CS-1600/CS-6400全自动生化分析仪LIS网络接口使用说明书V1.002011/07/04. z.-. z.-前言使用本系统前,请仔细阅读并理解本接口手册的内容,以便正确使用该系统。本使用说明书的读者对象为进行LIS(实验室信息系统)开发的人员以及需要了解HL7 接口的其他相关人员。本接口手册用于指导LIS系统开发商开发LIS接口,目的是使LIS系统能够同生化分析仪系统进行通信。开发者需要具备一定的LIS、HL7标准相关知识以及网络编程的能力。网络层通讯协议为TCP/IP,应用层协议为HL7,版本。建议在Windows平台下使用Visual C+、Delphi等开发工具进行接口开发
2、。本使用说明书为CS-1600/CS-6400全自动生化分析仪HL7接口使用说明书。. z.-目录1. 接口概述- 1 -1.1 HL7消息结构- 1 -1.2 HL7底层协议- 1 -2. 通讯格式- 3 -2.1 支持的HL7消息- 3 -2.2 消息段- 6 -3. 通迅示例- 22 -3.1发送检测数据过程- 22 -3.2发送查询请求过程- 25 -. z.-1. 接口概述HL7是标准化的卫生信息传输协议,是医疗领域不同应用之间电子传输的协议。HL7汇集了不同厂商用来设计应用软件之间界面的标准格式,它将允许各个医疗机构在异构系统之间,进行数据交互。最初它由美国定义,现在已经被很多国家
3、采用。本接口下数据的传输格式都是按照HL7版本来创建的。1.1 HL7消息结构在HL7通讯协议中,消息(Message)是数据在系统之间交换的基本单元,每条消息都有各自的消息类型,用于定义消息目的消息类型中有触发事件。一个消息由多个段(Segment)组成,每一段都有相应的名称,用于界定其内容或功能。而一个段又由多个数据字段(Data Field)组成。一个消息中的第一个段总是消息头段(Message head segment),它指明了发送和接收的程序名、消息类型、以及一个唯一的消息ID等,接下去段的构成由消息的类型决定。如,PID段(Patient Identification Data)
4、包括*、地址、社会保险号等。一个数据字段又有可能由多个组件组成。有些消息可进一步由事件码(event code)细分。本接口基于HL7 v来定义,详细内容请参考HL7 Interface Standards Version 2.3.1。1.2 HL7底层协议TCP/IP是一个字节流协议,它并不提供消息边界。HL7 作为上层协议是基于消息的,但它也没有提供消息终止机制。为了确定消息边界,我们使用最小的底层协议(HL7 Interface Standards Version.对此也有相应的描述)。消息开始采用一个单字符,结束采用双字符。消息被以下面的格式传送:data ,其中: = Start B
5、lock character (1 wide char),ASCII ,即0*0B。data = Data (variable number of wide chars),data是HL7消息,只包括ISO 8859-1字符(十六进制值20-FF)和,不包括其它控制和不能打印的字符。 = End Block character (1 wide char),ASCII ,即0*1C。 = Carriage Return (1wide char),ASCII回车符,即0*0D。备注:本协议采用Unicode编码,所有发送、接收字符串均为Unicode编码格式的字符串。2.通讯格式本接口通讯包括测试
6、结果的传输和样本信息申请两个方面。测试结果的传输主要实现生化分析仪传输样本信息及其检测结果、质控结果至外部系统(如LIS)。数据传输的方式有测试时的实时传输和对历史结果的批量传输。样本信息申请是指生化分析仪从LIS获取所需的样本信息至本地进行测试。2.1 支持的HL7消息本接口使用的所有HL7消息有ORU、ACK、QRY、DSR。测试结果的上传示意图如下:从LIS 服务器获取样本申请信息示意图如下:ORU/ACK:非请求观察报告/响应。ORUR01消息的主要的作用是在HL7中用于传递实验室结果,我们用来传输样本信息及其检测结果、质控结果到LIS系统。对于传输信息及其检测结果,包括以下信息:患者
7、信息(病人*、样本编号等)医嘱信息(样本类型,送检医生,检验医生,临床诊断等)检验结果它是一组消息,每一个消息对应一个样本信息(可能有多个项目的测试结果)。LIS系统可以根据需要选用这些内容。具体的结构如下:ORU Observational Results (Unsolicited)描述MSH消息头PID病人信息OBR观察报告OB*检测结果对于传输测试结果,包括以下信息:项目信息(项目编号、项目名称)质控液相关信息(质控次数、质控名称、质控批号等)质控日期,检测结果一个消息将发送一个质控测试。质控结果的发送结构如下:ORU Observational Results (Unsolicited
8、)描述MSH消息头OBR质控观察报告ACKR01:消息用于对ORU消息的响应。具体的结构如下:ORU Observational Results (Unsolicited)描述MSH消息头MSA消息确认QRY/QCK:查询观察结果/响应。QRYQ02消息查询当前数据,用来向LIS系统查询所需的样本信息。具有如下结构:QRY Query描述MSH消息头QRD查询定义QRF查询筛选DSR/ACK:对QRY消息的响应、对观察结果显示/响应。DSRQ03消息的一个作用是对QRY消息的响应,另一个作用时查询结果的发送显示,即让LIS把所需样本申请信息发送到生化分析仪。具体结构如下:DSR Display
9、 Response描述MSH消息头MSA消息确认DSP显示数据ACKQ03:消息用于对DSR消息的响应。具体结构如下:ACK Acknowledgment描述MSH消息头MSA消息确认2.2 消息段本节将详细介绍消息段中所有使用的域。其中,序号后有#的为HL7规定的必选字段。为以后可能的扩充需要,我们不省略消息段中的未用字段。1. MSH Message Header HL7消息的首消息段,所有的消息都是以MSH段开头,一般位于消息的最前面。该消息段用于定义消息的意图、来源、目的和消息语法的*些细节。本接口的MSH段使用下列各域:序号字段名长度说明1# Field Separator 1 包含
10、段ID和第一个真正的域之间的分隔符,定义消息剩下部分的域分隔符(|)。2# Encoding Characters 4 包含组件分隔符,重复分隔符,转义分隔符,和子组件分隔符(&)。3 Sending Application 180 发送端应用程序。4 Sending Facility 180 置空,保留。发送端设备。5 Receiving Application 180 接收端应用程序。6 Receiving Facility 180 置空,保留。接收端设备。7 Date/Time Of Message 26 当前消息的时间。调用系统的时间信息。8 Security 40 置空,保留。安全性
11、9# Message Type 7 消息的类型,如:ORUR01。10# Message Control ID 20 消息控制ID,唯一标识一个消息,随消息数目增加从1 递增。11# Processing ID 3 处理ID,一直取P (表示产品)。12# Version ID 60 版本ID,HL7 协议版本:。13 Sequence Number 15置空,保留。序列号。14 Continuation Pointer 180置空,保留。连续指针。15 Accept Acknowledgment Type 2 置空,保留。接收应答类型。16 Application Acknowledgmen
12、t Type 2 应用程序应答类型,作为发送的结果类型。0-病人样本测试结果;1-校准结果;2-质控结果;其中”1-校准结果”暂不支持。17 Country Code 2 置空,保留。国家代码。18 Character Set 10 字符集,取UNICODE。19 Principal Language Of Message 60 置空,保留。消息主要语言。20 Alternate Character Set Handling Scheme 20 置空,保留。交替字符集处理方案。备注:该段在所有消息中都会出现。LIS系统发送给生化分析仪的HL7消息中,该段的第3、4字段值由LIS开发商制定,第5
13、、6字段由用户在生化分析仪软件上设置。第10、16字段使用整型;其他所有字段均使用字符串类型。2. MSA - message acknowledgment segment 本接口的MSA段使用下列各域:序号字段名长度说明1# Acknowledgment Code 2 确认代码,AA表示接受;AE表示错误;AR表示拒绝,OK表示查询到数据,NF表示没有找到数据,OK和NF仅在DSRQ03中有效。2# Message Control ID 20 消息控制ID,与发送方的MSH-10相同。3 Te*t Message 80 文本消息,出错或拒绝时,一个对事件的文本描述。与第6字段对应,可用于写入
14、错误日志。4 E*pected Sequence Number 15 置空,保留。预期的序列号。5 Delayed Acknowledgment Type 1 置空,保留。延迟的确认类型。6 Error Condition 100 错误条件(状态代码)。MSA-6 字段的取值见下表:状态代码(MSA-6) 状态文本(MSA-3) 描述/备注成功AA 0 Message accepted 成功。查询成功OK0Data found, not errors查询成功。查询没有找到数据NF0No data found, not errors查询没有找到数据。错误状态代码AE 100 Segment sequence error 消息中段的顺序不正确,或者丢失必须的段。101 Required field missing 一个段中丢失必须的字段。102 Data type error 字段的数据类型错误,如数字的