繁体
首页

第83章 错误、故障和风险(4)(2 / 3)

Therac-25是用于治疗癌症患者的用软件控制的一种辐射治疗仪。从1985年至1987年,Therac-25在四个医疗中心对六个病人造成了严重的辐射过量。在有些案例中,因为机器显示表明它没有给病人辐射治疗,导致操作员重复进行了过量治疗。医务人员后来估计,一些患者接受的辐射是预定剂量的100倍以上。这些事件造成了严重和痛苦的伤害,以及三名病人死亡。为什么我们要研究这样一个古老的案例呢?是为了避免重复的错误。2000年,巴拿马操作另外一种辐射治疗仪的医生试图规避软件的限制,尝试为患者提供更多的辐射屏障。他们的行为造成了剂量计算错误。28例患者接受了过量的辐射,造成了其中几人死亡。似乎戏剧性的经验教训在每一代人身上都会重复出现。

Therac -25到底出了什么问题?

关于Therac-25事件的研究表明,许多因素促成了它造成的伤害和死亡。这些因素包括缺少良好的安全性设计、测试不足、在控制机器的软件中的错误,以及没有完善的事故报告和调查制度。[4]

为了理解关于这些问题的讨论,有必要首先了解一些有关该仪器的信息。Therac-25是一种双模式的机器。也就是说,它可以产生电子束或X射线光子束。所需的光束类型取决于要治疗的肿瘤种类。该仪器的线性加速器会产生非常危险的高能量电子束(2500万电子伏)。患者必须不能直接被原始光束所照射。有一台计算机负责监视和控制一个装有三套装置的转盘。根据期望的治疗手段,机器会把这些装置的不同组合转到光束前面,对它进行扩散,从而变成安全的。至关重要的是在电子束处于开启状态时,需要有适当的保护装置就位。转盘的第三个位置会使用一个光束,而不是电子束,其目的是帮助操作者把光束精确地定位到患者体内的正确位置。

8.2.2 软件和设计的问题

设计缺陷

Therac-25是较早的Therac-6和Therac-20治疗仪的后续产品。与前两者不同,它是完全由计算机控制的。老机器包含有硬件安全联锁机制,它会独立于计算机系统之外,用以防止在不安全的条件发射电子束。在Therac-25的设计中,消除了许多这些硬件的安全特性。Therac-25复用了Therac-20和Therac-6上的一些软件。开发人员显然假定该软件能够正常使用。这种假设是错误的。当新的操作员使用Therac-20时,虽然频繁会出现停机和保险丝被烧断的情形,但是从来没有发生过辐射过量。Therac-20的软件也存在缺陷,但是其上的硬件安全机制在起作用。有可能是厂家并不知道Therac-20所存在的问题,或者他们完全没有意识到它会带来的严重影响。

Therac-25频繁发生故障。一家医疗机构报告说,有时候每天会出现40次的剂量故障,一般都是量不够。因此,操作员逐渐习惯了经常会出现这些错误消息,其中并没有迹象表明有可能存在安全隐患。在操作界面的设计上存在一些缺陷。出现在显示屏上的错误信息通常是简单的错误代码或是含糊不清的信息("Malfunction 54"或"H-tilt")。这对于早期的计算机程序并不鲜见,因为当时的计算机所拥有的内存和大容量存储都比现在要少很多。人们不得不手动去查找关于每个错误代码的更多解释。但是,Therac-25的操作手册并没有包括关于错误消息的说明。维修手册也没有解释它们。机器会根据要继续操作所需的工作量来区分错误的程度。对于某些错误情形,机器会暂停,操作员可以通过按一个键就继续操作(打开电子束)。对于其他类型的错误,机器会停止运转,从而不得不执行完全复位的操作。人们通常会假定,只有在轻微的、非安全相关的错误之后,该机器才会允许一键恢复。然而,一键恢复也发生在一些严重事故中,使患者接受了过量辐射。