CS系列生化分析仪HL7 LIS网络接口使用说明书

关于 lis / 52 个 LIS 仪器通讯文档合集 第 2 个文件

基本信息

  • 适用仪器:CS-1300 / CS-1600 / CS-6400 全自动生化分析仪
  • 协议版本:HL7 v2.3.1
  • 网络层:TCP/IP
  • 文档版本:V1.01(2012.09.06,新增 CS-1300 协议)
  • 页数:32 页
  • 编码:Unicode
  • 开发语言推荐:Windows 平台 Visual C++ / Delphi

一、HL7 消息基础

1.1 消息结构层级

Message(消息)
  └── Segment(段)
        └── Field(字段)
              └── Component(组件)
  • 每条消息首段必为 MSH(消息头段)
  • 消息类型 + 触发事件定义消息目的
  • 例:ORU^R01 表示非请求观察报告

1.2 底层消息封装(MLLP 极简版)

TCP/IP 是字节流协议,无消息边界,采用最小底层协议标记消息起止:

<SB> data <EB><CR>
标记ASCII 码含义
<SB>0x0B (VT)Start Block,消息开始
data0x20-0xFF + CRHL7 消息体,仅含 ISO 8859-1 字符和回车
<EB>0x1C (FS)End Block,消息结束
<CR>0x0DCarriage Return,回车确认

注意:本协议采用 Unicode 编码,所有收发字符串均为 Unicode 格式。

二、支持的 HL7 消息类型

消息触发事件用途段结构
ORU^R01非请求观察报告上传病人样本测试结果 / 质控结果MSH + PID + OBR + {OBX}
ACK^R01应答对 ORU 消息的确认应答MSH + MSA
QRY^Q02查询向 LIS 查询样本申请信息(按样本号/条码)MSH + QRD + QRF
DSR^Q03显示响应LIS 返回样本申请信息 / 查询结果显示MSH + MSA + {DSP}
ACK^Q03应答对 DSR 消息的确认应答MSH + MSA

数据流向

  1. 结果上传:分析仪 → ORU^R01 → LIS → ACK^R01 → 分析仪
  2. 申请下载:分析仪 → QRY^Q02 → LIS → DSR^Q03 → 分析仪 → ACK^Q03 → LIS

三、各消息段详解

3.1 MSH - 消息头段(所有消息必含)

字段字段名长度说明
1#Field Separator1固定为 |(竖线)
2#Encoding Characters4固定为 ^~\&(组件/重复/转义/子组件分隔符)
3Sending Application180发送端应用程序名
5Receiving Application180接收端应用程序名
7Date/Time Of Message26消息时间戳
9#Message Type7如 ORU^R01、QRY^Q02
10#Message Control ID20消息唯一 ID,从 1 递增
11#Processing ID3固定 P(生产环境)
12#Version ID60固定 2.3.1
16Application Acknowledgment Type2结果类型:0=病人样本 / 1=校准(暂不支持)/ 2=质控
18Character Set10固定 UNICODE

3.2 MSA - 消息确认段

字段字段名说明
1#Acknowledgment Code确认代码
2#Message Control ID与发送方 MSH-10 对应
3Text Message错误描述文本
6Error Condition错误状态代码

确认代码分类

代码含义场景
AA接受成功正常处理
OK查询成功DSR^Q03 有数据
NF无数据DSR^Q03 无匹配样本
AE错误消息格式/数据类型错误
AR拒绝消息类型不支持/版本不匹配等

错误代码速查

错误码描述类别
100Segment sequence errorAE - 段顺序错误或缺失
101Required field missingAE - 必填字段缺失
102Data type errorAE - 数据类型错误
200Unsupported message typeAR - 消息类型不支持
201Unsupported event codeAR - 事件代码不支持
203Unsupported version idAR - HL7 版本不支持
204Unknown key identifierAR - 关键字标识不存在
205Duplicate key identifierAR - 重复关键字
206Application record lockedAR - 数据库被锁
207Application internal errorAR - 应用内部错误

3.3 PID - 病人信息段(仅 ORU^R01)

核心字段(31 个字段,大量保留位):

字段字段名说明
3#Patient Identifier List病历号(必填)
5#Patient Name病人姓名(必填)
4Alternate Patient ID床号
6Mother’s Maiden Name病区^病房(用 ^ 分隔)
8Sex性别:M男 / F女 / O其他
18Patient Account Number病人类别
22Ethnic Group民族
26Citizenship备注
31Patient Age年龄^单位(Y岁/M月/D天/H小时)

3.4 OBR - 观察请求段(仅 ORU^R01)

47 个字段,大部分保留。有两种模式:

病人样本测试结果模式(MSH-16 = 0)

字段复用为说明
2Placer Order Number样本条码号
3Filler Order Number样本编号
4#Universal Service ID通用服务标识符(必填)
5Priority是否急诊:Y/N
7Observation Date/Time检验日期/时间
10Collector Identifier样本架^位置(架4位+位3位)
12Danger Code是否稀释:Y/N
13Relevant Clinical Info临床诊断
14Specimen Received Date/Time送检日期/时间
15Specimen Source样本类型:0血清/1尿液/2血浆/3脑脊液/4胃液/5胸腹水/6其他
16Ordering Provider送检医生
17Order Callback Phone送检科室
20Filler Field 1检验医生
32Principal Result Interpreter审核医生

质控结果模式(MSH-16 = 2)

OBR 段大量字段被复用作质控信息:

字段复用为说明
7Observation Date/Time质控日期/时间
10Collector Identifier样本架^位置
11Specimen Action Code质控次数
12Danger Code模块号^内外圈(1外/2内/3内外)
13Relevant Clinical Info质控名称
16Ordering Provider质控批号
17Order Callback Phone平均值(浮点数)
18Placer Field 1标准差(浮点数)
19Placer Field 2质控结果值(浮点数)
20Filler Field 1结果单位
21Filler Field 2结果标志:±1SD / ±2SD / ±3SD
23Charge to Practice质控规则:1-2s / 1-3s 等

3.5 OBX - 观察结果段(仅 ORU^R01,可重复)

每个项目一个 OBX 段,样本含多个项目则有多个 OBX。

字段字段名说明
1Set ID – OBX序号
2Value Type值类型:NM数值(定量) / ST字符串(定性)
3#Observation Identifier项目 ID 号(必填)
4Observation Sub-ID项目名称^重复测试次数
5Observation Value检验结果值
6Units结果单位
7References Range参考范围
8Abnormal Flags异常标志:L偏低 / H偏高 / N正常
10Nature of Abnormal Test结果标志:F检测 / C复查
13User Defined Access Checks原始结果值(浮点)
14Date/Time of Observation检测日期/时间
16Responsible Observer检验医生

3.6 QRD - 查询定义段(仅 QRY^Q02)

字段字段名说明
1#Query Date/Time查询时间戳
2#Query Format Code查询方式:SN样本编号 / BC样本条码
3#Query PriorityD(deferred)
4#Query ID查询 ID,从 1 递增
7#Quantity Limited RequestRD(Records)
8#Who Subject Filter样本编号 / 样本条码(取决于 QRD-2)
10#What Department Data Code样本架^位置(LIS 需原值返回)
11What Data Code Value Qual.是否稀释 Y/N(LIS 需原值返回)

3.7 QRF - 查询过滤段(仅 QRY^Q02)

字段字段名说明
1#Where Subject Filter查询地点过滤符
2When Data Start Date/Time查询开始时间(当日零点)
3When Data End Date/Time查询结束时间(查询发生时)
6Which Date/Time QualifierRCT
7Which Date/Time Status QualifierCOR
8Date/Time Selection QualifierALL

3.8 DSP - 显示数据段(仅 DSR^Q03,重复 3 次)

DSR 中 DSP 段重复 3 次,分别承载不同信息:

次序内容结构
第 1 个 DSP患者信息同 PID-2 至 PID-31
第 2 个 DSP医嘱信息同 OBR-2 至 OBR-47
第 3 个 DSP项目信息Set ID + 项目个数 + 项目名称(用 ^ 分隔,如 ALT^ALB^BUN)

注意:LIS 在 DSR^Q03 的 DSP 段中必须原值返回样本架、样本位置、是否稀释这三个字段(从 QRY 的 QRD-10/11 传入)。

四、通信流程示例

4.1 发送检测数据流程

分析仪                          LIS
   |                             |
   |---- ORU^R01(病人结果)---->|  包含 MSH+PID+OBR+{OBX}
   |                             |
   |<---- ACK^R01(确认)-------|  包含 MSH+MSA
   |                             |
  • 按样本为单位传输,一个样本一条消息
  • 多项目则含多个 OBX 段
  • LIS 返回 AA 表示成功,AE/AR 表示错误(附错误代码)

4.2 发送查询请求流程

分析仪                          LIS
   |                             |
   |------- QRY^Q02(查询)----->|  按条码/样本号查询申请
   |                             |
   |<------ DSR^Q03(响应)------|  有数据:OK + 3个DSP段
   |                             |  无数据:NF
   |                             |
   |------- ACK^Q03(确认)----->|  收到 DSR 后确认
   |                             |

五、关键设计要点

  1. 消息控制 ID 递增:MSH-10 和 QRD-4 均从 1 开始递增,用于消息去重和追踪
  2. Unicode 编码:所有数据均为 Unicode,注意与常规 HL7 ASCII 编码的区别
  3. 质控结果复用 OBR 字段:质控模式下 OBR 段字段大量被复用作质控参数(均值/标准差/规则等),设计时注意两种模式切换
  4. LIS 原值返回:查询流程中样本架/位置/稀释信息必须由 LIS 原样返回,确保一致性
  5. 结果异常标志:OBX-8 用 L/H/N 三态,OBX-10 用 F/C 区分检测/复查
  6. 错误码分层:AE 类错误偏向消息格式,AR 类错误偏向业务逻辑
  7. 支持仪器三型号:CS-1300 / CS-1600 / CS-6400,CS-1600 的 Collector Identifier 字段表示样本盘号和位置(与其他型号不同)

关联