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 主动查询 两种模式

结果上报触发条件

只有当申请状态发生”重大变化”时才上报新结果:

  1. 任一培养瓶变为阳性
  2. 所有瓶完成检测(全阳或全阴)
  3. 阳性瓶重新装入检测(假阳性复查)
  4. 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/Z ASTM 定义(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):

  • F Final — 已卸瓶的阴性结果
  • P Preliminary — 阳性结果 或 仍在仪器中的阴性
  • I — 检测中(阴性到目前为止)

查询记录(Q 段)

查询模式:

  • 仪器请求新申请:Q 记录指定 “ALL”,状态码 O
  • LIS 请求新结果:Q 记录指定 “ALL”,状态码 N
  • 按患者/申请查询:指定医院 ID + 申请号
  • 状态码 N:仅返回自上次传输后变化的结果
  • 状态码其他/null:返回所有符合条件的结果

OBSERVA 忽略 LIS 发来的查询记录。

低层协议(ASTM E1381-91)

物理层

参数BTABTVOBSERVAController
波特率300/1200/2400最高 9600最高 9600未指定
数据位7 或 87 或 888
校验even/odd/mark/space/none同左同左同左
停止位1 或 21 或 21 或 21 或 2
字符集IBM-PC 扩展IBM-PC(可配 Windows)Windows WesternCodepage 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
!VBTA SV(需氧)!V379857
!ABTA SA(需氧)!A549860
!NBTA SN(厌氧)!N398763
!PBTA PF(儿科需氧)!P287365
!FBTA FA(厌氧)!F928374
!GBTA FN(厌氧)!G269388
!MBTA MP(分枝杆菌)!M299938
!BBTA MB(霉菌)!B792875
IA/IN/ILBTA iAST/iNST/iLYMIA654832
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 生成方法:

  1. 计数器递增(如 ZA003457)
  2. 申请号加前后缀(如 922190134A/922190134B)
  3. 日期编码保证唯一性

通信示例(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)OBSERVA3D Controller
申请处理频率监控模式连续,用户登录时需手动较低频高频后台处理高频后台处理
用户自定义字段患者5+申请5+瓶3同左不限0(仅医院ID/姓名/申请号)
编码字段支持✅ 完整✅ 完整❌❌
多值字段✅ 部分✅ 部分❌❌
患者姓名姓+其余姓+其余名+姓(可配)姓+其余(可配大写)
文本大小写全转大写全转大写保留原样保留原样(可配)
查询功能✅ 完整✅ 完整❌(忽略查询)✅ 部分
最大记录长度32768 字节32768 字节内存限制32768 字节
自动请求申请监控模式定时宏(需登出)15分钟默认(可配)可配
注释记录✅ 支持✅ 支持✅ 支持❌ 不支持
结果 TTD仅阳性仅阳性所有已装瓶仅阳性

关键观察

  1. 标准兼容性好:严格遵循 ASTM E1381/E1394 两套标准,与其他 LIS 仪器协议架构一致
  2. 血培养专用协议:结果类型独特(BC 阴阳/TTD 检出时间),瓶是核心测试单元
  3. 四级产品能力递减:BTA/BTV 功能最全 → OBSERVA 居中 → Controller 最精简(SelectLink 配置)
  4. 阳性=初步:所有阳性结果都标记 preliminary,必须结合革兰染色/转种确认,不可直接报最终
  5. 瓶 ID 体系复杂:13+ 种瓶类型编码,条码格式规范详细
  6. ASTM 术语歧义处理:标准中 “message” 一词在高低层有歧义,文档明确了 BacT/ALERT 的解释方式
  7. LIS 生成瓶 ID 是最佳实践:推荐 LIS 自行生成并打印条码,减少人工操作

关联笔记