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,消息开始 |
data | 0x20-0xFF + CR | HL7 消息体,仅含 ISO 8859-1 字符和回车 |
<EB> | 0x1C (FS) | End Block,消息结束 |
<CR> | 0x0D | Carriage 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 |
数据流向
- 结果上传:分析仪 → ORU^R01 → LIS → ACK^R01 → 分析仪
- 申请下载:分析仪 → QRY^Q02 → LIS → DSR^Q03 → 分析仪 → ACK^Q03 → LIS
三、各消息段详解
3.1 MSH - 消息头段(所有消息必含)
| 字段 | 字段名 | 长度 | 说明 |
|---|
| 1# | Field Separator | 1 | 固定为 |(竖线) |
| 2# | Encoding Characters | 4 | 固定为 ^~\&(组件/重复/转义/子组件分隔符) |
| 3 | Sending Application | 180 | 发送端应用程序名 |
| 5 | Receiving Application | 180 | 接收端应用程序名 |
| 7 | Date/Time Of Message | 26 | 消息时间戳 |
| 9# | Message Type | 7 | 如 ORU^R01、QRY^Q02 |
| 10# | Message Control ID | 20 | 消息唯一 ID,从 1 递增 |
| 11# | Processing ID | 3 | 固定 P(生产环境) |
| 12# | Version ID | 60 | 固定 2.3.1 |
| 16 | Application Acknowledgment Type | 2 | 结果类型:0=病人样本 / 1=校准(暂不支持)/ 2=质控 |
| 18 | Character Set | 10 | 固定 UNICODE |
3.2 MSA - 消息确认段
| 字段 | 字段名 | 说明 |
|---|
| 1# | Acknowledgment Code | 确认代码 |
| 2# | Message Control ID | 与发送方 MSH-10 对应 |
| 3 | Text Message | 错误描述文本 |
| 6 | Error Condition | 错误状态代码 |
确认代码分类
| 代码 | 含义 | 场景 |
|---|
| AA | 接受成功 | 正常处理 |
| OK | 查询成功 | DSR^Q03 有数据 |
| NF | 无数据 | DSR^Q03 无匹配样本 |
| AE | 错误 | 消息格式/数据类型错误 |
| AR | 拒绝 | 消息类型不支持/版本不匹配等 |
错误代码速查
| 错误码 | 描述 | 类别 |
|---|
| 100 | Segment sequence error | AE - 段顺序错误或缺失 |
| 101 | Required field missing | AE - 必填字段缺失 |
| 102 | Data type error | AE - 数据类型错误 |
| 200 | Unsupported message type | AR - 消息类型不支持 |
| 201 | Unsupported event code | AR - 事件代码不支持 |
| 203 | Unsupported version id | AR - HL7 版本不支持 |
| 204 | Unknown key identifier | AR - 关键字标识不存在 |
| 205 | Duplicate key identifier | AR - 重复关键字 |
| 206 | Application record locked | AR - 数据库被锁 |
| 207 | Application internal error | AR - 应用内部错误 |
3.3 PID - 病人信息段(仅 ORU^R01)
核心字段(31 个字段,大量保留位):
| 字段 | 字段名 | 说明 |
|---|
| 3# | Patient Identifier List | 病历号(必填) |
| 5# | Patient Name | 病人姓名(必填) |
| 4 | Alternate Patient ID | 床号 |
| 6 | Mother’s Maiden Name | 病区^病房(用 ^ 分隔) |
| 8 | Sex | 性别:M男 / F女 / O其他 |
| 18 | Patient Account Number | 病人类别 |
| 22 | Ethnic Group | 民族 |
| 26 | Citizenship | 备注 |
| 31 | Patient Age | 年龄^单位(Y岁/M月/D天/H小时) |
3.4 OBR - 观察请求段(仅 ORU^R01)
47 个字段,大部分保留。有两种模式:
病人样本测试结果模式(MSH-16 = 0)
| 字段 | 复用为 | 说明 |
|---|
| 2 | Placer Order Number | 样本条码号 |
| 3 | Filler Order Number | 样本编号 |
| 4# | Universal Service ID | 通用服务标识符(必填) |
| 5 | Priority | 是否急诊:Y/N |
| 7 | Observation Date/Time | 检验日期/时间 |
| 10 | Collector Identifier | 样本架^位置(架4位+位3位) |
| 12 | Danger Code | 是否稀释:Y/N |
| 13 | Relevant Clinical Info | 临床诊断 |
| 14 | Specimen Received Date/Time | 送检日期/时间 |
| 15 | Specimen Source | 样本类型:0血清/1尿液/2血浆/3脑脊液/4胃液/5胸腹水/6其他 |
| 16 | Ordering Provider | 送检医生 |
| 17 | Order Callback Phone | 送检科室 |
| 20 | Filler Field 1 | 检验医生 |
| 32 | Principal Result Interpreter | 审核医生 |
质控结果模式(MSH-16 = 2)
OBR 段大量字段被复用作质控信息:
| 字段 | 复用为 | 说明 |
|---|
| 7 | Observation Date/Time | 质控日期/时间 |
| 10 | Collector Identifier | 样本架^位置 |
| 11 | Specimen Action Code | 质控次数 |
| 12 | Danger Code | 模块号^内外圈(1外/2内/3内外) |
| 13 | Relevant Clinical Info | 质控名称 |
| 16 | Ordering Provider | 质控批号 |
| 17 | Order Callback Phone | 平均值(浮点数) |
| 18 | Placer Field 1 | 标准差(浮点数) |
| 19 | Placer Field 2 | 质控结果值(浮点数) |
| 20 | Filler Field 1 | 结果单位 |
| 21 | Filler Field 2 | 结果标志:±1SD / ±2SD / ±3SD |
| 23 | Charge to Practice | 质控规则:1-2s / 1-3s 等 |
3.5 OBX - 观察结果段(仅 ORU^R01,可重复)
每个项目一个 OBX 段,样本含多个项目则有多个 OBX。
| 字段 | 字段名 | 说明 |
|---|
| 1 | Set ID – OBX | 序号 |
| 2 | Value Type | 值类型:NM数值(定量) / ST字符串(定性) |
| 3# | Observation Identifier | 项目 ID 号(必填) |
| 4 | Observation Sub-ID | 项目名称^重复测试次数 |
| 5 | Observation Value | 检验结果值 |
| 6 | Units | 结果单位 |
| 7 | References Range | 参考范围 |
| 8 | Abnormal Flags | 异常标志:L偏低 / H偏高 / N正常 |
| 10 | Nature of Abnormal Test | 结果标志:F检测 / C复查 |
| 13 | User Defined Access Checks | 原始结果值(浮点) |
| 14 | Date/Time of Observation | 检测日期/时间 |
| 16 | Responsible Observer | 检验医生 |
3.6 QRD - 查询定义段(仅 QRY^Q02)
| 字段 | 字段名 | 说明 |
|---|
| 1# | Query Date/Time | 查询时间戳 |
| 2# | Query Format Code | 查询方式:SN样本编号 / BC样本条码 |
| 3# | Query Priority | D(deferred) |
| 4# | Query ID | 查询 ID,从 1 递增 |
| 7# | Quantity Limited Request | RD(Records) |
| 8# | Who Subject Filter | 样本编号 / 样本条码(取决于 QRD-2) |
| 10# | What Department Data Code | 样本架^位置(LIS 需原值返回) |
| 11 | What Data Code Value Qual. | 是否稀释 Y/N(LIS 需原值返回) |
3.7 QRF - 查询过滤段(仅 QRY^Q02)
| 字段 | 字段名 | 说明 |
|---|
| 1# | Where Subject Filter | 查询地点过滤符 |
| 2 | When Data Start Date/Time | 查询开始时间(当日零点) |
| 3 | When Data End Date/Time | 查询结束时间(查询发生时) |
| 6 | Which Date/Time Qualifier | RCT |
| 7 | Which Date/Time Status Qualifier | COR |
| 8 | Date/Time Selection Qualifier | ALL |
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 后确认
| |
五、关键设计要点
- 消息控制 ID 递增:MSH-10 和 QRD-4 均从 1 开始递增,用于消息去重和追踪
- Unicode 编码:所有数据均为 Unicode,注意与常规 HL7 ASCII 编码的区别
- 质控结果复用 OBR 字段:质控模式下 OBR 段字段大量被复用作质控参数(均值/标准差/规则等),设计时注意两种模式切换
- LIS 原值返回:查询流程中样本架/位置/稀释信息必须由 LIS 原样返回,确保一致性
- 结果异常标志:OBX-8 用 L/H/N 三态,OBX-10 用 F/C 区分检测/复查
- 错误码分层:AE 类错误偏向消息格式,AR 类错误偏向业务逻辑
- 支持仪器三型号:CS-1300 / CS-1600 / CS-6400,CS-1600 的 Collector Identifier 字段表示样本盘号和位置(与其他型号不同)
关联