BacT/LINK - BacT/ALERT 微生物检测系统 LIS 接口规范
bioMérieux 公司 BacT/ALERT 全自动微生物检测系统的 LIS 双向接口软件规范
基本信息
- 厂商:bioMérieux(生物梅里埃)
- 系统:BacT/ALERT 微生物检测系统(血培养系统)
- 接口软件:BacT/LINK
- 规范版本:External Specifications, April 2003(内部标注 February 2003)
- 页数:29 页
- 协议标准:ASTM E1381-91(低层)+ ASTM E1394-91(高层)
- 适用产品:
- BacT/ALERT text-based software (BTA) — Classic 柜式系统
- BacT/VIEW (BTV) — Windows 版 Classic 系统
- OBSERVA — Windows 2000 版 Classic 系统
- BacT/ALERT 3D Controller Module — 3D 抽屉式系统控制模块(SelectLink 配置)
系统概述
BacT/ALERT 是全自动封闭式微生物培养检测系统,用于血液/体液标本的细菌和真菌培养监测。有两种型号:
- Classic:立式柜式,一台或多柜连接 IBM 兼容 PC
- 3D:抽屉式,孵育模块连接控制模块
核心工作原理:持续监测培养瓶中的微生物生长,通过颜色变化检测 CO₂ 产生,自动判读阳性/阴性。
三级数据结构
严格的层级关系,每层都可选,但瓶不能直接关联患者:
患者 (Patient) → 样本/申请 (Accession) → 培养瓶 (Bottle)
- 瓶必须通过唯一瓶 ID 条码标识
- 申请号可在 3 天后重复使用(BTA/BTV 自动加隐藏后缀)
- 控制模块最多存 1920 条瓶记录,超出后淘汰最旧记录
接口功能
双向通信
LIS → 仪器(下载测试申请):
- 患者信息 + 样本信息 + 测试申请
- 支持 LIS 主动推送 和 仪器主动请求 两种模式
- 仪器可定期自动请求新申请(间隔可配置)
仪器 → LIS(上传测试结果):
- 血培养结果(阳性/阴性/检测中)
- 检出时间 (TTD, Time To Detection)
- 阳性结果标记为”preliminary”(初步),需实验室确认
- 阴性结果标记为”final”(最终)
- 支持仪器主动上传 和 LIS 主动查询 两种模式
结果上报触发条件
只有当申请状态发生”重大变化”时才上报新结果:
- 任一培养瓶变为阳性
- 所有瓶完成检测(全阳或全阴)
- 阳性瓶重新装入检测(假阳性复查)
- OBSERVA 中添加/移除瓶导致状态变化
控制模块可配置 4 种触发事件组合:装瓶 / 阴性 / 阳性 / 卸瓶
结果重传机制
- BTA:未确认则 1 小时后重传
- BTV/OBSERVA/Controller:下一次定时上传时重传
- 3 天后结果不再视为”新”(OBSERVA 可配置,Controller 由工作量决定)
高层协议(ASTM E1394-91)
记录类型
| ASTM 记录 | 含义 | 上传 | 下载 |
|---|---|---|---|
| H (Header) | 消息头 | ✅ | ✅ |
| P (Patient) | 患者信息 | ❌(仅发ID) | ✅ |
| O (Order) | 测试申请 | ✅(状态用) | ✅ |
| R (Result) | 结果记录 | ✅ | ✅(瓶ID) |
| Q (Query) | 查询记录 | ✅ | ✅ |
| C (Comment) | 注释 | ❌ | ✅ |
| L (Terminator) | 消息结束 | ✅ | ✅ |
消息头字段要点
- 7.1.5 发送方 ID:
BACT/ALERT^V.##(当前版本 A.00) - 7.1.10 接收方 ID:必须是
BACT/ALERT,否则忽略整条消息 - 7.1.12 处理 ID:上传恒为 “P”;下载 “P” 或空为正常,其他忽略
- 7.1.13 版本号:上传恒为 “1”
患者记录(P 段)
下载支持的原生字段:
- 8.1.3 — 医院 ID(患者 ID):必填(否则不存患者数据,但申请仍接受)
- 8.1.6 — 患者姓名
- 8.1.8 — 出生日期(Controller 不支持)
- 8.1.9 — 性别(Controller 不支持)
- 8.1.26 — 位置(作为默认样本位置,BTA/BTV)
其他 20+ 字段可映射到用户自定义字段(BTA/BTV 最多 5 个,OBSERVA 不限,Controller 0 个)。
申请/样本记录(O 段)
关键字段:
- 9.4.3 — 实验室申请号(lab-assigned):3 天内不重复
- 9.4.4 — 替代申请号(alternative):全局唯一,优先使用
- 9.4.5 — 通用测试 ID:指定瓶类型和瓶 ID
- 9.4.8 — 采集日期时间
- 9.4.12 — 操作码:
P/Q/N/null:新建或更新申请A/X:添加测试/数据C:删除申请及瓶
- 9.4.16.1 — 标本类型/来源
- 9.4.26 — 结果状态(上传):
F全部阴性已卸瓶P至少一瓶阳性I仍有瓶在检测中Y/ZASTM 定义(Controller 不用)
- 9.4.28 — 采集位置
结果记录(R 段)
通用测试 ID 结构(10.1.3):
- Component 4 — 测试类型:
BC— 标准血培养阴/阳结果TTD— 检出时间(小时,如 “18.3”)ID— 微生物鉴定(仅 BTA/BTV 下载支持)SM— 涂片结果(仅 BTA/BTV 下载支持)
- Component 5 — 瓶类型代码:BSV/BSA/BSN/BPF/BFA/BFN/BMP/BMB/BIA/BIN/BIL 等 13+ 种
- Component 6 — 瓶 ID
- Component 7 — 最大检测天数(可小数)
- Components 8-10 — 实验室自定义瓶数据字段
结果值(10.1.4):
+阳性–阴性(已完成全部检测时间)*截至目前阴性(仍在检测)- null 尚未装瓶检测
结果状态(10.1.9):
FFinal — 已卸瓶的阴性结果PPreliminary — 阳性结果 或 仍在仪器中的阴性I— 检测中(阴性到目前为止)
查询记录(Q 段)
查询模式:
- 仪器请求新申请:Q 记录指定 “ALL”,状态码 O
- LIS 请求新结果:Q 记录指定 “ALL”,状态码 N
- 按患者/申请查询:指定医院 ID + 申请号
- 状态码 N:仅返回自上次传输后变化的结果
- 状态码其他/null:返回所有符合条件的结果
OBSERVA 忽略 LIS 发来的查询记录。
低层协议(ASTM E1381-91)
物理层
| 参数 | BTA | BTV | OBSERVA | Controller |
|---|---|---|---|---|
| 波特率 | 300/1200/2400 | 最高 9600 | 最高 9600 | 未指定 |
| 数据位 | 7 或 8 | 7 或 8 | 8 | 8 |
| 校验 | even/odd/mark/space/none | 同左 | 同左 | 同左 |
| 停止位 | 1 或 2 | 1 或 2 | 1 或 2 | 1 或 2 |
| 字符集 | IBM-PC 扩展 | IBM-PC(可配 Windows) | Windows Western | Codepage 850 |
协议要点
- ENQ/ACK/EOT 三阶段握手机制
- STX/ETX 帧格式 + 帧号(1-7 循环)+ 校验和(2 位十六进制)
- NAK 接收后至少等待 10 秒重传
- 磁盘满时发送 NAK 终止会话
- 单次会话仪器只发一条消息,但可接收多条
- 出错时仅丢弃最后一条不完整记录(符合 E1394 最低要求)
瓶 ID 与条码格式(Appendix A)
bioMérieux 原厂标签格式
全部为 Code 128,8 字符(部分 7-10 字符),前缀编码瓶类型:
| 前缀 | 瓶类型 | 示例 |
|---|---|---|
| G | 未知(通用) | G00231185 |
| U | 未知 | U88637J |
| !V | BTA SV(需氧) | !V379857 |
| !A | BTA SA(需氧) | !A549860 |
| !N | BTA SN(厌氧) | !N398763 |
| !P | BTA PF(儿科需氧) | !P287365 |
| !F | BTA FA(厌氧) | !F928374 |
| !G | BTA FN(厌氧) | !G269388 |
| !M | BTA MP(分枝杆菌) | !M299938 |
| !B | BTA MB(霉菌) | !B792875 |
| IA/IN/IL | BTA iAST/iNST/iLYM | IA654832 |
| SA/SN/SF/SG/SM/SI/ST/SL | 新版 i 系列瓶 | SA645954 |
LIS 自定义标签格式
LIS 可自行生成瓶 ID 和打印条码,要求:
- Code 128 或 Code 39
- 5-15 字符长
- 前缀
ZB+ 瓶类型代码(如 ZBSA/ZBSN/ZBPF/ZBFA/ZBFN/ZBMP/ZBMB) - 纯数字开头的为通用型(需另外指定瓶类型)
- 条码规格:窄元素 0.19mm,波长 655nm,对比度 ≥45%
瓶 ID 生成方法:
- 计数器递增(如 ZA003457)
- 申请号加前后缀(如 922190134A/922190134B)
- 日期编码保证唯一性
通信示例(Appendix B)
Example 1:仪器请求新申请
H|\^&|||BACT/ALERT^A.00|||||||P|1|19921119112423
Q|1|ALL||||||||||O
L|1
Example 4:LIS 请求新结果,仪器返回
LIS→H|\^&|||BIGBROTHER|||||BACT/ALERT||P|1|19921120171003
Q|1|ALL||||||||||N
L|1
BAC→H|\^&|||BACT/ALERT^A.00|||||||P|1|19921120171058
P|1|P32767
O|1|923240190|923240190||||||||||||||||||||||I
R|1|^^^BC^SN^SN021884|*|||||I|||19921119112749||1B11
R|2|^^^BC^SA^SA003398|+|||||P|||19921119112740|19921120170323|1B08
R|3|^^^TTD^SA^SA003398|29.6|||||P|||19921119112740|19921120170323|1B08
L|1|F
低层帧格式(Example 6 摘要)
<enq> # LIS 发起会话
<ack> # 仪器应答
<stx>1H|...<cr><etx>B3 # 第 1 帧(H记录)+ 校验和
<ack> # 确认
<stx>2P|...<cr><etx>BA # 第 2 帧(P记录)
...
<eot> # 会话结束
四产品差异对照表
| 特性 | BTA (text) | BTV (Windows) | OBSERVA | 3D Controller |
|---|---|---|---|---|
| 申请处理频率 | 监控模式连续,用户登录时需手动 | 较低频 | 高频后台处理 | 高频后台处理 |
| 用户自定义字段 | 患者5+申请5+瓶3 | 同左 | 不限 | 0(仅医院ID/姓名/申请号) |
| 编码字段支持 | ✅ 完整 | ✅ 完整 | ❌ | ❌ |
| 多值字段 | ✅ 部分 | ✅ 部分 | ❌ | ❌ |
| 患者姓名 | 姓+其余 | 姓+其余 | 名+姓(可配) | 姓+其余(可配大写) |
| 文本大小写 | 全转大写 | 全转大写 | 保留原样 | 保留原样(可配) |
| 查询功能 | ✅ 完整 | ✅ 完整 | ❌(忽略查询) | ✅ 部分 |
| 最大记录长度 | 32768 字节 | 32768 字节 | 内存限制 | 32768 字节 |
| 自动请求申请 | 监控模式 | 定时宏(需登出) | 15分钟默认(可配) | 可配 |
| 注释记录 | ✅ 支持 | ✅ 支持 | ✅ 支持 | ❌ 不支持 |
| 结果 TTD | 仅阳性 | 仅阳性 | 所有已装瓶 | 仅阳性 |
关键观察
- 标准兼容性好:严格遵循 ASTM E1381/E1394 两套标准,与其他 LIS 仪器协议架构一致
- 血培养专用协议:结果类型独特(BC 阴阳/TTD 检出时间),瓶是核心测试单元
- 四级产品能力递减:BTA/BTV 功能最全 → OBSERVA 居中 → Controller 最精简(SelectLink 配置)
- 阳性=初步:所有阳性结果都标记 preliminary,必须结合革兰染色/转种确认,不可直接报最终
- 瓶 ID 体系复杂:13+ 种瓶类型编码,条码格式规范详细
- ASTM 术语歧义处理:标准中 “message” 一词在高低层有歧义,文档明确了 BacT/ALERT 的解释方式
- LIS 生成瓶 ID 是最佳实践:推荐 LIS 自行生成并打印条码,减少人工操作
关联笔记
- ASTM E1381-91 低层协议(待建)
- ASTM E1394-91 高层协议(待建)
- Sysmex XE-5000血液分析仪数据通信规范 — 另一款 ASTM 协议仪器
- 迈瑞BC-5300五分类血液细胞分析仪HL7通讯协议 — HL7 协议对比
- Bayer ADVIA Centaur 化学发光免疫分析仪 ASTM 接口规范 — 另一款 ASTM 协议的免疫分析仪
- Roche/Hitachi cobas 6000 主机接口手册 — 模块化生化免疫 ASTM 协议