第一部分 — 基础
探索与监管之间的高墙
每一位临床统计师都知道,世上有两个世界。
在第一个世界里,分析是快的。你载入数据,拟合一个模型,画一条曲 线,看一看。如果有什么让你意外,你就改一改代码,再看一眼。没有 人签署任何东西。一个错误的代价是一个小时。
在第二个世界里,同一份数据坐在一堵高墙之后。那个世界里的一个数 字,在能出现在监管者会读的报告中之前,必须有一份谱系:一份说明 将要计算什么的规格,一个计算出它的程序,一个独立地重新计算它的 第二个程序,一次调和两者的比较,一份说明程序经过测试的验证文 档,以及一条说明谁在何时、基于哪个版本的数据运行了什么的审计追 踪。在这里,一个错误的代价不是一个小时。它可能是一次申报的代 价。
行业用很多名字称呼这堵高墙——GxP、CSV、Part 11——但它的材料 永远相同:缺失的证据。不是缺失的人才,不是缺失的工具,不是 缺失的统计洞见。是证据。
高墙与危险无关
值得先说清高墙不是什么。它不是对无能的回应。临床程序员平均而 言谨慎到近乎执念。高墙之所以存在,是因为错误的后果是不对称的: 安全性表格里一个无人察觉的错误,不是不便,而是对患者与试验完整 性的威胁。容忍不对称后果的系统,必须假定错误不可避免,并为检 出而非预防而设计。
一旦你这样看待高墙,一个重要的转变随之而来。受监管工程的目标不 是让错误不可能发生,而是让错误无法存活——建造一个这样的环 境:链条上任何一处的错误,在它得以伪装成真相之前,都会被一个独 立的机制截获。
高墙的真实成本
高墙征收的税,以重复的人力劳动来支付。看看今天一张表格如何抵达 临床研究报告。一位程序员写一个程序。第二位程序员——被刻意保持 为对前者的做法一无所知——写另一个程序来产出同一张表格。一位审 评者逐格比较两份输出。差异被调查、解决、记录。这个过程叫双人编 程,而且它确实有效——它是整个行业最受信任的质量机制,没有之 一。按普遍估计,它也消耗了一次典型申报中相当大份额的统计编程工 作量。
注意双人编程的本质:它是由人手工执行的核验,规模化地进行了 数十年。行业已经把它周围几乎一切都自动化了——数据采集、标准、 传输格式、电子递交——然而它最核心的信任行为仍然是手工匠人式 的。两个人,两块屏幕,一张检查单。
本书提出的问题
如果高墙由缺失的证据筑成,而行业最受信任的造证仪式是手工的,那 么一个建造者能做的最有价值的事,就不是再往技术栈里加一个分析 包。而是把证据的生产工业化:让每一个数字的谱系都由机器生 成、机器核查、机器重放,好让那些如今把半生花在比较表格上的人, 能把这些时间用来做只有人才能做的事。
这是一个精确的工程目标,而本书中的一切都是它的工具。开源革命早 已发生在高墙的探索一侧。信任层,是把它带过墙去的东西。
检验。 对于你的系统产出的任何数字,问一问:你能向我展示它 的谱系——规格、程序、独立重算、比较,以及谁做了什么——而不打 开任何一个 Word 文档吗?如果不能,你的系统还在高墙的探索一 侧。