迈瑞 BS-400/BS-420 全自动生化分析仪 HL7 接口使用说明书
深圳迈瑞生物医疗电子股份有限公司,2007年8月,版本 V1.1 产品注册号:粤食药监械(准)字 2007 第 2400048 号
一、概述
迈瑞 BS-400/BS-420 全自动生化分析仪 HL7 接口实现仪器与 LIS 系统的双向通信,基于 HL7 v2.3.1 标准,网络层使用 TCP/IP,底层封装使用 MLLP(Minimal Lower Layer Protocol)。
1.1 支持的5种消息类型
| 消息类型 | 触发事件 | 用途 | 方向 |
|---|---|---|---|
| ORU^R01 | R01 | 非请求观察报告——上传样本/定标/质控测试结果 | 仪器→LIS |
| ACK^R01 | R01 | 对 ORU 消息的应答确认 | LIS→仪器 |
| QRY^Q02 | Q02 | 查询样本申请信息(按条码/批量) | 仪器→LIS |
| QCK^Q02 | Q02 | 对 QRY 查询的应答确认(告知是否有数据) | LIS→仪器 |
| DSR^Q03 | Q03 | 显示查询结果——下发样本申请信息 | LIS→仪器 |
| ACK^Q03 | Q03 | 对 DSR 消息的应答确认 | 仪器→LIS |
1.2 底层协议 MLLP
消息封装格式:
<SB> ddddd <EB><CR>
<SB>= Start Block = ASCII VT =0x0B<EB>= End Block = ASCII FS =0x1C<CR>= Carriage Return =0x0Dddddd= HL7 消息体,仅含 ISO 8859-1 字符(0x20-0xFF)和<CR>
1.3 双工通信能力
测试结果上传(仪器→LIS):
- 实时传输:测试进行中实时上报
- 批量传输:历史结果批量发送
- 限制:实时传输开启且有测试进行时,不允许批量传输
样本申请获取(LIS→仪器):
- 实时获取:扫描样本条码后即时查询(需条码扫描配置)
- 批量获取:获取当日全部或当日最新样本申请
二、消息语法
2.1 分隔符
MSH 段第一个字段定义五种分隔符:
| 字符 | 含义 |
|---|---|
| ` | ` |
^ | 组件分隔符(Component) |
& | 子组件分隔符(Sub-component) |
~ | 重复分隔符(Repeat) |
\ | 转义字符(Escape) |
2.2 MSH 段关键字段
| 域 | 字段名 | 说明 |
|---|---|---|
| MSH-3 | Sending Application | 发送端应用 = Mindray |
| MSH-4 | Sending Facility | 发送端设备 = BS-400 / BS-420 |
| MSH-7 | Date/Time Of Message | 消息时间,格式 YYYYMMDDHHmmSS |
| MSH-9 | Message Type | 消息类型^事件,如 ORU^R01 |
| MSH-10 | Message Control ID | 消息控制ID,从1递增,整型 |
| MSH-11 | Processing ID | 处理ID = P(产品) |
| MSH-12 | Version ID | HL7版本 = 2.3.1 |
| MSH-16 | Application Acknowledgment Type | 结果类型:0=病人样本 / 1=定标 / 2=质控 |
| MSH-18 | Character Set | 字符集 = ASCII |
注意:LIS 发给仪器的消息中,MSH-5/6 应分别为
Mindray和BS-400/BS-420。
2.3 MSA 段 — 消息确认
| 域 | 字段名 | 说明 |
|---|---|---|
| MSA-1 | Acknowledgment Code | AA=接受 / AE=错误 / AR=拒绝 |
| MSA-2 | Message Control ID | 与请求方 MSH-10 相同 |
| MSA-3 | Text Message | 错误/拒绝时的文本描述 |
| MSA-6 | Error Condition | 错误条件状态代码 |
错误状态代码(AE):
| 代码 | 文本 | 含义 |
|---|---|---|
| 100 | Segment sequence error | 段顺序错误或丢失必选段 |
| 101 | Required field missing | 必选字段丢失 |
| 102 | Data type error | 字段数据类型错误 |
| 103 | Table value not found | 表值未找到(暂未使用) |
拒绝状态代码(AR):
| 代码 | 文本 | 含义 |
|---|---|---|
| 200 | Unsupported message type | 消息类型不支持 |
| 201 | Unsupported event code | 事件代号不支持 |
| 202 | Unsupported processing id | 处理ID不支持 |
| 203 | Unsupported version id | 版本ID不支持 |
| 204 | Unknown key identifier | 未知关键字标识(如病人不存在) |
| 205 | Duplicate key identifier | 重复关键字 |
| 206 | Application record locked | 应用记录被锁 |
| 207 | Application internal error | 应用内部错误 |
三、测试结果上传 — ORU^R01
3.1 病人样本测试结果(MSH-16=0)
消息结构:MSH → PID → OBR → {OBX}
一个样本一条 ORU 消息,一个样本的所有项目结果包含在同一条消息的多个 OBX 段中。
PID 段 — 病人标识(30个字段)
关键字段映射:
| 域 | 字段名 | 用途 |
|---|---|---|
| PID-2 | Patient ID | 住院号 |
| PID-3 | Patient Identifier List | 病历号(必选) |
| PID-4 | Alternate Patient ID | 床号 |
| PID-5 | Patient Name | 病人姓名(必选) |
| PID-6 | Mother’s Maiden Name | 病区 |
| PID-7 | Date/Time of Birth | 出生日期 |
| PID-8 | Sex | 性别:M男 / F女 / O其他 |
| PID-9 | Patient Alias | 血型 |
| PID-11 | Patient Address | 病人地址 |
| PID-12 | County Code | 邮编 |
| PID-13 | Phone Number - Home | 电话 |
| PID-18 | Patient Account Number | 病人类别 |
| PID-19 | SSN Number - Patient | 医保帐号 |
| PID-20 | Driver’s License Number | 收费类型 |
| PID-22 | Ethnic Group | 民族 |
| PID-23 | Birth Place | 籍贯 |
| PID-26 | Citizenship | 备注 |
| PID-28 | Nationality | 国家 |
OBR 段 — 观察请求(47个字段)
关键字段映射:
| 域 | 字段名 | 用途 |
|---|---|---|
| OBR-2 | Placer Order Number | 请求者医嘱号 = 样本条码号 |
| OBR-3 | Filler Order Number | 执行者医嘱号 = 样本编号 |
| OBR-4 | Universal Service ID | 通用服务ID = Mindray^BS-400/BS-420(必选) |
| OBR-5 | Priority | 是否急诊:Y/N |
| OBR-7 | Observation Date/Time | 检验时间 |
| OBR-13 | Relevant Clinical Info | 临床诊断 |
| OBR-14 | Specimen Received Date/Time | 送检时间 |
| OBR-15 | Specimen Source | 样本类型(血清/血浆/尿液等) |
| OBR-16 | Ordering Provider | 送检医生 |
| OBR-17 | Order Callback Phone Number | 送检科室 |
| OBR-18 | Placer Field 1 | 样本性状(黄疸icterus / 溶血hemolysis / 脂血lipemia) |
| OBR-19 | Placer Field 2 | 血袋编号 |
| OBR-20 | Filler Field 1 | 主治医生 |
| OBR-21 | Filler Field 2 | 治疗科室 |
OBX 段 — 观察结果(17个字段)
| 域 | 字段名 | 用途 |
|---|---|---|
| OBX-1 | Set ID - OBX | 序号,整型 |
| OBX-2 | Value Type | 值类型:NM=数字(定量) / ST=字符串(定性) |
| OBX-3 | Observation Identifier | 项目ID号(必选) |
| OBX-4 | Observation Sub-ID | 项目名称 |
| OBX-5 | Observation Value | 检验结果值 |
| OBX-6 | Units | 结果单位 |
| OBX-7 | References Range | 参考范围 |
| OBX-8 | Abnormal Flags | 异常标志:L偏低 / H偏高 / N正常 |
| OBX-11 | Observe Result Status | 结果状态 = F(final results,必选) |
| OBX-13 | User Defined Access Checks | 原始结果 |
| OBX-14 | Date/Time of Observation | 检验时间 |
| OBX-16 | Responsible Observer | 检验医生 |
SI 项目特殊处理:OBX-5 和 OBX-13 格式为
结果1^结果2^结果3,分别为浊度(L)/溶血(H)/黄疸(I)。
3.2 定标测试结果(MSH-16=1)
消息结构:MSH → OBR(无 PID、无 OBX)
一个项目的所有定标测试结果组成一条 ORU 消息。
OBR 段关键字段复用映射:
| 域 | 定标用途 |
|---|---|
| OBR-2 | 项目编号 |
| OBR-3 | 项目名称 |
| OBR-7 | 定标时间 |
| OBR-9 | 定标规则(0-单点线性/1-两点线性/2-多点线性/3-Log4P/4-Log5P/5-Exp5P/6-Poly5P/7-Parabola/8-Spline) |
| OBR-11 | 定标液个数 |
| OBR-12 | 定标液编号(多个用^分隔) |
| OBR-13 | 定标液名称(多个用^分隔) |
| OBR-14 | 定标液批号(多个用^分隔) |
| OBR-15 | 定标液有效期(多个用^分隔) |
| OBR-16 | 定标液标准浓度(多个用^分隔) |
| OBR-17 | 定标液浓度水平:H高 / M中 / L低(多个用^分隔) |
| OBR-18 | 反应度(多个用^分隔) |
| OBR-19 | 定标参数个数 |
| OBR-20 | 定标参数值(多个参数用^分隔) |
定标参数数量对应关系:
| 定标规则 | 参数个数 | 参数名 |
|---|---|---|
| 单点/两点/多点线性 | 2 | K, R0 |
| Logistic-Log4P | 4 | K, R0, a, b |
| Logistic-Log5P / Exponential 5P | 5 | K, R0, a, b, c |
| Polynomial 5P | 5 | R0, a, b, c, d |
| Parabola | 3 | R0, a, b |
| Spline | 4*(n-1) | R0i, ai, bi, ci(n为定标液个数) |
3.3 质控测试结果(MSH-16=2)
消息结构:MSH → OBR(无 PID、无 OBX)
OBR 段关键字段复用映射:
| 域 | 质控用途 |
|---|---|
| OBR-2 | 项目编号 |
| OBR-3 | 项目名称 |
| OBR-7 | 质控时间 |
| OBR-11 | 质控液个数 |
| OBR-12 | 质控液编号(多个用^分隔) |
| OBR-13 | 质控液名称(多个用^分隔) |
| OBR-14 | 质控液批号(多个用^分隔) |
| OBR-15 | 质控液有效期(多个用^分隔) |
| OBR-17 | 质控液浓度水平:H高 / M中 / L低(多个用^分隔) |
| OBR-18 | 质控液均值(平均浓度,多个用^分隔) |
| OBR-19 | 质控液标准差(多个用^分隔) |
| OBR-20 | 测试结果值(浓度,多个用^分隔) |
发送规则:日间质控每个测试一条消息;实时和日内质控每个项目的多个质控测试合并为一条消息;不同批次质控分别发送。
四、样本申请获取 — QRY/QCK/DSR
4.1 查询请求 QRY^Q02
消息结构:MSH → QRD → QRF
QRD 段 — 查询定义(12个字段)
| 域 | 字段名 | 值/用途 |
|---|---|---|
| QRD-1 | Query Date/Time | 查询时间(必选) |
| QRD-2 | Query Format Code | R(record-oriented format)(必选) |
| QRD-3 | Query Priority | D(deferred)(必选) |
| QRD-4 | Query ID | 查询ID,从1递增,整型(必选) |
| QRD-7 | Quantity Limited Request | RD(Records)(必选) |
| QRD-8 | Who Subject Filter | 样本条码号(实时查询)/ 空(批量查询)(必选) |
| QRD-9 | What Subject Filter | OTH(必选) |
QRF 段 — 查询筛选(9个字段)
| 域 | 字段名 | 值/用途 |
|---|---|---|
| QRF-1 | Where Subject Filter | BS-400/BS-420(必选) |
| QRF-2 | When Data Start Date/Time | 查询开始时间 |
| QRF-3 | When Data End Date/Time | 查询结束时间 |
| QRF-6 | Which Date/Time Qualifier | RCT(样本接收时间) |
| QRF-7 | Which Date/Time Status Qualifier | COR(Corrected only) |
| QRF-8 | Date/Time Selection Qualifier | ALL(范围内所有值) |
4.2 查询应答 QCK^Q02
消息结构:MSH → MSA → [ERR] → QAK
QAK 段 — 查询确认:
| 域 | 字段名 | 说明 |
|---|---|---|
| QAK-1 | Query Tag | SR(样本申请信息) |
| QAK-2 | Query Response Status | OK=找到数据 / NF=未找到 / AE=应用错误 / AR=应用拒绝 |
4.3 结果下发 DSR^Q03
消息结构:MSH → MSA → [ERR] → QAK → QRD → QRF → {DSP} → DSC
DSP 段 — 显示数据(5个字段)
| 域 | 字段名 | 说明 |
|---|---|---|
| DSP-1 | Set ID - DSP | 序号,整型 |
| DSP-3 | Data Line | 数据行内容(必选),300字符 |
DSP-3 Data Line 字段内容顺序(29项,条码和项目编号为必填):
| 顺序 | 内容 | 类型 | 备注 |
|---|---|---|---|
| 1 | 住院号 | String | |
| 2 | 床号 | String | |
| 3 | 病人姓名 | String | |
| 4 | 出生日期 | String | YYYYMMDDHHmmSS |
| 5 | 性别 | String | M/F/O |
| 6 | 血型 | String | O/A/B/AB(用Patient Alias字段) |
| 7 | 种族 | String | 未用,空 |
| 8 | 地址 | String | |
| 9 | 邮编 | String | |
| 10 | 家庭电话 | String | |
| 11 | 单位电话 | String | 未用 |
| 12-14 | 主要语言/婚姻/宗教 | String | 未用 |
| 15 | 病人类别 | String | 门诊outpatient / 住院inpatient / 其他Other |
| 16 | 医保帐号 | String | |
| 17 | 收费类型 | String | 自费own / 社保insurance |
| 18 | 民族 | String | |
| 19 | 籍贯 | String | |
| 20 | 国家 | String | |
| 21 | 样本条码 | String | 必填 |
| 22 | 样本编号 | int | 必填 |
| 23 | 样本接收时间 | String | 格式同出生日期 |
| 24 | 是否急诊 | String | Y/N,默认N |
| 25 | 采集量 | float | 未用 |
| 26 | 样本类型 | String | 血清serum/血浆plasma/尿液urine,或自定义 |
| 27 | 送检医生 | String | |
| 28 | 送检科室 | String | |
| 29 | 项目ID^项目名称^单位^参考范围 | String^String^String^String | 必填,多项目从第29字段后继续追加,格式相同 |
DSC 段 — 连续指针
| 域 | 字段名 | 说明 |
|---|---|---|
| DSC-1 | Continuation pointer | 连续指针,整型 |
批量查询结束标志:最后一条 DSR 消息的 DSC-1 为空,表示数据传输完毕。
4.4 两种批量查询模式
| 获取方式 | 开始时间 | 结束时间 |
|---|---|---|
| 当日全部 | 当日零点 | 请求发出时系统时间 |
| 当日最新 | 最近一次查询的结束时间 | 请求发出时系统时间 |
五、通信流程
5.1 测试结果上传流程
仪器 → ORU^R01(MSH+PID+OBR+OBX...) → LIS
仪器 ← ACK^R01(MSH+MSA) ← LIS
5.2 单样本申请查询流程
仪器 → QRY^Q02(MSH+QRD+QRF) → LIS
仪器 ← QCK^Q02(MSH+MSA+QAK) ← LIS (OK 则继续,NF 则结束)
仪器 ← DSR^Q03(MSH+MSA+QAK+QRD+QRF+DSP+DSC) ← LIS
仪器 → ACK^Q03(MSH+MSA) → LIS
5.3 批量样本申请查询流程
仪器 → QRY^Q02(MSH+QRD+QRF,QRD-8为空) → LIS
仪器 ← QCK^Q02(MSH+MSA+QAK) ← LIS
仪器 ← DSR^Q03(样本1,DSC非空) ← LIS
仪器 → ACK^Q03 → LIS
仪器 ← DSR^Q03(样本2,DSC非空) ← LIS
仪器 → ACK^Q03 → LIS
...
仪器 ← DSR^Q03(最后样本,DSC为空) ← LIS
仪器 → ACK^Q03 → LIS
六、关键设计要点
- 项目编号映射:仪器和 LIS 的项目编号可在仪器软件中配置对应关系,默认一致。
- 结果不重发检测:接口不提供重复性检测,由 LIS 系统自行处理。
- 时间格式统一:所有时间字段均为
YYYYMMDDHHmmSS格式,14位数字。 - 空字段保留:为后续扩展需要,不省略任何字段,无值则置空。
- 字符集:使用 ASCII 字符集(注意:中文内容实际以 GB/Unicode 编码传输需确认)。
七、关联
- CS系列生化分析仪HL7-LIS网络接口使用说明书 — 迪瑞 CS 系列 HL7 接口,对比参考
- BS-400全自动生化分析仪ASTM通信协议 — 迈瑞 BS-400 ASTM 版接口(待处理)
- FCS-3.1-流式细胞术数据文件标准 — 另一种实验室数据标准