作者:
来源:
作为在实验室信息化领域折腾多年的从业者,我最深的体会是:标本分拣系统做不“聪明”,往往不是技术不行,而是架构先天长歪了。传统做法是先买一套分拣设备,再想办法对接LIS、HIS,结果接口一堆、策略难统一、后期改动成本极高。真正要做智能化,必须从一开始就按“平台+插件”的思路来设计,把设备当插件,把规则和数据当核心。我的基本做法是:在分拣设备和LIS之间增加一层“分拣中台”,专门负责规则计算、任务编排、设备调度和日志追踪。这样无论是增加新项目、上新设备,还是调整优先级,只要改中台规则即可,避免对LIS和物理设备频繁动刀。很多医院前期没重视这一点,后面扩容或改流程时,反复返工、甚至被旧设备和旧协议绑死。智能系统的本质是“易改易扩”,而不是一开始多炫酷。
所有标本指令统一从“分拣中台”进出,而不是设备各自直接对接LIS。中台内部采用规则引擎(可以是自研,也可以用Drools这类成熟规则引擎)来做路由、项目组合、实验室分区、优先级判断等。规则要显式配置化,支持按科室、时间段、检验类型、项目组合等多维条件启用;并且要能在线热更新,而不是每次改规则都要开发改代码。简单说就是:业务决策尽量“写在规则里”,而不是写死在程序里。
分拣系统一定要有自己的独立数据库,用于记录每一支管子的完整生命周期:入库时间、条码、患者信息快照、分拣路径、失败原因、人工干预记录等。很多项目只做了“当前任务”表和简单日志,结果一出问题,根本复盘不了。我的做法是所有自动决策都写日志,日志结构化存储,并且支持按条码、时间、设备、规则版本回溯。智能化以后,很多问题不是肉眼可见的,需要靠数据分析定位瓶颈,这时候完整日志就是“金矿”。如果前期不留这个口子,后面做优化基本就靠拍脑袋了。

标本分拣的入口是条码,条码识别质量直接决定整个系统的可靠性。我遇到过最常见的坑有三个:一是条码打印质量不稳定;二是系统只校验格式、不校验内容;三是对“重复条码”和“无主条码”处理粗糙。智能化系统不能只盯着摄像头和扫码枪,要从“条码全流程”去设计:从生成、打印、粘贴、扫描,到数据校验,每个环节都要有兜底机制。我的经验是:不要迷信“摄像头+算法”能解决所有问题,反而要通过前置校验和编码规范大幅减少错误条码的产生,再用算法做最后一道兜底,这样整体成本更可控,稳定性也更好。
首先,要推动院内条码规则统一,至少做到:同一类型标本只用一种编码规则,条码长度、前缀、校验位有明确规范。在中台侧,把条码解析成多个字段:患者ID、申请单号、样本类型、序列号等,再与LIS返回的数据进行多字段交叉验证,避免“扫得上但绑错人”的隐蔽错误。其次,硬件上允许“双重通道”,比如设备扫码失败时,可以人工工作站再扫一次,由中台根据“时间窗+位置+项目组合”进行辅助匹配,降低误拒收率。最后,对疑似重复条码,坚决禁止自动放行,必须弹出人工确认界面,给操作员清晰提示当前条码关联的患者信息和历史分拣记录。
在具体落地时,我通常会建议先从“条码生成环节”动手:在HIS或LIS中统一接入条码生成服务,由该服务按全院统一规则生成唯一条码,并直接把条码内容与申请单关联;同时对接条码打印机,只允许通过该服务打印,禁止人工使用Word等自行排版。这样可以从源头降低重复条码和错误编码的概率。工具上,可以用医院现有的中间件搭建简单的条码服务,或采用一些成熟的条码中间件(如基于ZPL的打印模板服务),重点是:条码生成规则集中管理,不分散在各个系统里各写一套。
很多单位上了自动分拣线后,发现“自动化了,但效率并没有提高多少”,根源就在于:系统只是在“机械执行指令”,不会“聪明排队”。真正的智能化分拣系统,必须具备动态调度能力:根据当前设备负载、样本类型分布、急诊比例、不同实验室的处理能力等因素,实时调整分拣路径和优先级。这里的关键技术,一是规则引擎,把复杂的业务规则抽象成可维护的“决策表”;二是任务调度器,根据实时数据不断重算“最优分拣方案”。我通常会把这一层做成配置驱动,既有固定规则,也有数据驱动的动态策略,两者组合使用。

在实践中,我会把优先级分成几个维度:急诊优先级、科室优先级、项目优先级、时间优先级(如超过多久必须处理),每个维度都有分级规则,最终通过一个加权算法得出综合优先级。注意颗粒度不能太细,否则维护成本爆炸;建议先从“急诊”、“儿科/ICU”、“常规门诊”这类大类开始,逐步细化。任务调度时,不是简单按一个字段排序,而是根据综合优先级分批次推送给分拣设备,每个批次设定大小和时间窗口,避免“急诊被一堆普通样本淹没”。同时,要预留人工“插队”入口,在特殊情况下人工可以强制调整某些样本的优先级,系统记录原因和操作人,便于追踪。
为了让业务人员真正参与规则调整,我更推荐采用可视化规则引擎工具,而不是纯代码开发。比如可以引入开源的规则引擎框架(如Drools),再开发一层简易配置界面,让检验科负责人可以用“类似Excel”的决策表配置规则,而不是写脚本。配套要做:规则版本管理(支持回滚)、灰度发布(对部分样本启用新规则测试)、规则变更审核机制(信息科和检验科共同确认)。这样做的好处是,后续流程调整不再完全依赖开发,系统的“智能程度”可以随着业务经验不断积累而迭代。
分拣线往往涉及多家厂商的设备:离心机、开盖机、分拣机、输送线等,如果前期不设计好标准,后期几乎必然陷入“谁都不敢替换设备”的困境。智能分拣不是简单把设备串起来,而是要做到“松耦合”,即便更换某一台设备,也不影响整体逻辑。我的原则是:把“业务逻辑”和“设备沟通协议”硬性分离,业务逻辑只面向统一的设备抽象接口,不直接面向具体厂商的协议。设备厂商提供的接口越是封闭、文档越不透明,我越会警惕,因为这往往意味着后续扩展和数据获取受限。要做智能化,必须先让数据“流得出来、用得起来”。

在系统里定义统一的设备接口标准,比如:启动任务、停止任务、上传状态、上传异常、心跳检测、任务完成回执等,每种接口都明确输入输出结构和错误码规范。然后为每种设备开发“适配器”,把厂商协议转换成内部标准协议。今后如果更换设备,只要替换适配器,不改业务逻辑。数据上,要坚决要求厂商开放关键运行数据接口,比如实时处理量、故障类型、停机时间等,否则智能调度就无从谈起。同时可以设计一个简单的设备监控面板,把所有设备状态、告警信息统一展示,让运维人员一眼看到“卡在哪”。
很多项目上线时一切光鲜,半年后问题就暴露:分拣效率下滑,人工干预越来越多,大家开始抱怨“系统越来越笨”。其实系统不是真的变笨了,而是业务环境在变,系统没跟着调整。要让标本分拣系统持续保持“聪明”的状态,必须建立数据闭环:收集数据、制作看板、分析瓶颈、调整规则、验证效果,再回到收集数据,如此循环。核心技术不只是大数据或机器学习,而是用非常务实的分析视角,看清楚“每天到底卡在哪”“哪些规则实际不好用”。真实情况是:80%的优化,通过简单的统计分析和规则微调就能解决,机器学习反而是最后的锦上添花。
我常用的一套指标包括:标本从接收至分拣完成的中位时间、不同实验室的分拣等待时间分布、急诊样本超时比例、条码识别失败率、人工干预率、设备故障导致的中断时长等。将这些指标做成固定的可视化看板,至少按日、按周查看,并设定阈值,一旦超过阈值自动告警。注意,不要一上来就搞很复杂的模型,先用这些基础指标找出最明显的瓶颈点,例如某个时间段条码失败率异常高,可能是某批打印纸问题;某台设备在高负载时故障率飙升,调度上就要减少其高峰期压力。只有数据驱动的迭代,智能系统才不会变成“僵化的自动机”。
综合前面几个方面,落地智能标本分拣系统,我给出3条最实用的建议:第一,先搭一个“分拣中台”,哪怕功能简单,也要把入口统一,把规则集中管理;第二,从条码和数据标准抓起,这是所有智能化的基础,规则再聪明也救不了脏乱的数据;第三,做好日志和指标体系,把“系统运行得好不好”变成可量化、可追踪的事实,而不是凭感觉。工具上,可以考虑采用成熟的规则引擎和轻量的数据可视化平台(如基于时序数据库和大屏),把技术能力尽量沉淀成可配置的“平台能力”,而不是一次性项目。只有这样,系统才能真正替人分担决策压力,而不是增加新的维护负担。