Therac 25是可以提供电子线和X线两种治疗模式的直线加速器,两种模式的切换是靠在加速器出口移出和移入钨靶来实现的(如图),具体来说当加速器在电子线的模式下低能的电子束直接打到病人身上。在X线模式下高能的电子束轰击移入的钨靶后把产生的X线打到病人身上。Therac 25去掉了硬件互锁而是完全依靠软件来修正钨靶移动可能出现的错误。这个设计上的缺陷是致命的。但更致命的是AECL没有对新的软件和硬件做过足够的联合测试。那它是怎么通过FDA的审查的呢?
这可能主要是AECL的盲目自信以及(我猜的)背后利益驱动,它在申请 FDA的批准时走的是pre-market equivalence快速通道。这个快速通道指的是如果申请FDA批准的设备和现有已被批准设备有实质性地等同,FDA是允许新设备跳过严格的测试要求而走快速批准通道的。由于Therac 25 的硬件和软件大体上是从前两代机器稍微修改后照搬过来的,而且前两代机器都没有出过什么错。所以Therac 25批准没有遇到麻烦。同时它也丧失了最好的纠错机会
Therac 25第一个已知的医疗事故是1985年6月的佐治亚州的一家癌症中心。一个乳腺癌的病人被照射超过100倍的剂量。本来可以马上成为乳腺癌康复病人结果却要割掉乳腺而且也无法使用左臂。七月底安省汉密尔顿同样的类似事故。AECL人员在现场和在实验室里均无法复制这两个事故。所以认定这个是孤立的事件或是转动钨靶的开关有问题,并把调查结果报告个了FDA。1986年1月和3月在美国华盛顿州和德州又发生了两起事故并造成了死亡。这个时候FDA才发出通告认定Therac25 有缺陷。5月份德州的一个物理师终于通过大量的实验发现了由于软件的缺陷造成高能电子线没经过钨靶而直接照到了病人。后续AECL又发现了另一个致命的BUG,最终FDA在1987年初禁止了所有Therac25的临床使用。这个设备从此退出了市场。
关于Therac 25的整个历史下面的视频讲的挺全,感兴趣的话可以看看,当然内容比较压抑。据说Therac 25也作为反面教材进入了计算机专业的课堂。
之所以说Therac 25事件和737Max的事件相似,是因为FAA和FDA扮演的角色都类似,在批准的时候都有失察之嫌。此外厂商们也都有抄近道的嫌疑。而且在事故第一次发生后都是由于过度自信而没有进行仔细的调查。
当然我不是想把FDA一棍子打死。美国癌症5年生存率从上世纪70年代50%到现在的70%FDA也是有贡献的。
但我个人觉得FDA的工作人员是Jack of all trades。他们能做的主要是制定规范并监督厂商是否遵守规范,他们要是能理解所有新发明并正确批准是不可能的。他们其实还是要一定程度上倚仗供应商的道德操守。这是我个人的看法。
:
THERAC-25: History's Worst Software Error
In 1985, a state-of-the-art radiation therapy device called the THERAC-25 started blasting holes through patients' bodies, leading to the world’s first death...