前阵子去一个第三方食品实验室看他们的LIMS,系统用得挺顺,样品流转、结果录入一气呵成。我问实验员,你们这审计追踪是怎么配的?小伙子愣了下,说“那个啊,应该有吧,反正我没怎么看过。”我让他随便查一条做过修改的原始记录,点开审计追踪一看——只有个时间戳,操作人显示的是“admin”,修改原因一片空白。
这就有点儿尴尬了。因为这种程度的审计追踪,在真正严格的现场评审或者飞检中,基本等同于没有。
审计追踪(Audit Trail)这个东西,说起来没人觉得陌生。CNAS-CL01:2018里对数据控制和信息管理系统有明确要求,更别说咱们医药口常提的《药品记录与数据管理要求》,里面把“审计跟踪”作为数据可靠性的关键控制手段。ALCOA+原则挂在嘴边,其中“可追溯(Attributable)”和“原始(Original)”这两条,离了扎实的审计追踪根本撑不住。
可一到实际配置,很多实验室的理解就只剩下“记录下谁在什么时间改了什么”。这当然没错,但远远不够。一条合格的审计追踪,至少得回答四个问题:谁操作的、什么时间操作的、操作前是什么值、操作后变成什么值。这四个要素缺哪个,都可能被落一个“无法完整追溯数据修改过程”的缺陷。
有个细节经常被漏掉——修改原因。很多人图省事,写个“录入错误”就完事。但检查员不是傻子,他一眼就能看出你改的是样品编号还是检测结果。如果结果从“未检出”改成“0.15 mg/kg”,理由却只写了“录入错误”,你猜他会不会接着往下查?一条能用的审计追踪,应该允许甚至强制用户在关键数据修改时给出有意义的业务理由,而不是丢个万能借口。
再说一个更隐蔽的坑:时间戳到底是客户端生成还是服务器端生成。早年有些LIMS部署图方便,直接取工作站本地时间。结果有次比对实验,两台仪器边上那台电脑时间差了好几分钟,样品检测顺序全乱套了。审计追踪里明明按时间排着序,逻辑上却是错的。所以稍微讲究一点的系统,审计追踪的时间源必须强制使用服务器时间,并且要锁定一般用户修改本地时间的权限。这事儿不大,但真查出来就属于系统性缺陷。
还有,谁有权限关掉或者修改审计追踪本身?如果IT管理员后台一个开关就能把某模块的审计追踪静默掉,那前面所有的配置都成了摆设。审计追踪的开启、关闭、归档、销毁,都应该是最高等级的管理动作,过程本身也要被追踪。这就形成了“追踪的追踪”——听起来拗口,但合规就是这么一层一层逼出来的。
关于电子签名与审计追踪的关联,很多人也有误解。并不是录完数据点个“提交”、输个密码就算可靠的电子签名了。电子签名在法规意义上,要同时绑定签名人的身份、签名时间、以及签名时所确认的数据集。也就是说,审计追踪里要能清楚地看到,用户签署的那一刻,页面上到底显示的是什么数据,而不是笼统的一条“报告已签发”。否则,还是逃不掉被质疑“签名流于形式”。
我们后来在用元检LIMS做方案时,特意把审计追踪的颗粒度做了分层:常规的样品流转操作保持轻量记录,而涉及原始数据、计算公式、结果修约、标准判定这些高风险节点,强制打开完整快照和差异对比功能。这样既不把系统拖得太重,也保证关键数据的每一个比特变化都有据可查。
其实实验室肯在这些细节上下功夫,说明他们的质量团队心里有数。最怕的就是系统明明有审计追踪功能,却因为怕麻烦、怕暴露问题,从一开始就不让审计追踪真正生效,或者全程只用admin账号走天下。检查员翻出来的时候,解释都没法解释。
这些年下来,我发现审计追踪这件事,难的不是系统有没有这个功能,而是人愿不愿意较真儿。一旦你开始认真对待每一处修改痕迹,它就不再是一堆冰冷的日志,而是你对数据尊严的一种交代。
