去年冬天那会儿,我们实验室上LIMS的时候,项目经理问大伙儿最想砍掉哪个重复劳动。我脱口而出:能不能别让我每天早上花二十分钟对排班表和查设备状态。这话一说,几个组长全在点头。那种日子你真得体会过才懂——钉钉群里翻昨天的值班调整、白板上涂改的人名、再挨个去工作站看仪器指示灯是不是绿的,最后把人和设备手工配到一起,写在纸质的样品流转单上。

漏掉一次后果就挺头疼。有次ICP-MS下午排了张工,可张工那天调休,设备空转俩小时没人盯,样品积压到第二天。主任问起来,我只能挠头说排班表更新没同步。当时就想要是系统能自己读该多好。

后来我跟实施工程师坐下来画流程图,才知道这事儿核心得打通两股数据源:一个是每天生效的排班信息,另一个是设备运行状态的实时信号。排班那侧本来就有OA审批流,每天凌晨生成次日生效的值班清单;设备这边,像色谱、质谱、光谱几类大仪器,早就支持RS232或者网口输出状态字,只不过以前都只往仪器自带软件里写。

我们没动排班表的格式,依然是按照科室、岗位、时段三列出表,只是在OA接口外面包了一层中间表。LIMS每天凌晨从OA抓取,校验完直接生成当日“在岗资源池”。校验规则挺多,比如一个人不能同时挂两个操作岗,夜班必须要有高级职称带班——这条其实是沿用了我们内部《实验室值班管理规定》里的硬性条款,不是我们拍脑袋加的。

仪器状态读取反而更绕一点。那几台老气相没有网口,只能靠串口服务器转TCP/IP,而且还不是标准协议。我们请厂家给了通讯协议手册,根据返回的状态字节判断:待机、运行、预热、故障、离线。工程师写了段解析脚本,设定每两分钟轮询一次。有一次轮询把一台AFS的频率搞乱了,仪器自我保护停机,吓得我们赶紧设了白名单指令集,只允许读不允许写。

两股数据汇到LIMS的调度引擎之后,效果其实不是花哨的,就是样品登录界面那个“检测人”和“指定设备”两个框,不再需要手动敲了。样品到达前台扫码,系统自动匹配当前在岗且有资质的人,再筛出状态为“待机”且计量有效期内的设备,推一个最优组合。如果设备全占满,系统会弹出预计等候时间,甚至建议转给备选方法。你问会不会推错?头两周确实出过一两次,把液相的方法推到了气相组,后来发现是方法-设备映射表维护漏了。

这个过程里最大的收益反而不是省时间,是数据可追溯性一下子就扎实了。所有设备状态变迁、在岗人员分配的时间戳,都在后台变成了一条条结构化的使用记录,正好对应CNAS-CL01:2018里7.5.1说的技术记录要包含设备识别和操作人员信息。以前评审专家要查某批样品用的是哪台离心机,我们得翻纸本日志,现在点开样品追溯链,从排班到设备运行曲线全都有。

有同事开玩笑说现在系统比组长还清楚谁在摸鱼、哪台仪器该做维护了。其实系统确实会自动统计每个人的有效上机时长和设备的闲置率。前阵子我们根据闲置数据把两台老化的紫外可见分光光度计从主力队列撤下来,改成备用培训机,也是靠这些记录做的决策。

真正让我觉得这件事做值了的,反倒是一个意外细节。有天周六加班,排班表漏掉了临时加进来的微生物组小刘,但门禁系统记录他已经刷开实验室,LIMS没把他纳入在岗池。结果样品照样派不出去,因为逻辑里设了“门禁在场但排班未授权”的红线,系统宁可卡单也不乱分配。虽然当时小刘气得跳脚,但我心里踏实——流程卡住不可怕,可怕的是系统假装万事大吉。

这类涉及人机自动匹配的项目,我后来基本都会先看两个地方:异常兜底规则够不够傻,以及数据回滚策略是不是真的随时能跑通。