该机提供三种放射治疗模式:
1、直接电子束治疗,其中通过磁体在治疗区域上扫描窄电流的高能(5MeV至25MeV)电子束;
2、Megavolt X射线治疗,通过将一个狭窄的100倍电流的25 MeV电子束与目标相撞,产生固定的宽X射线束,然后将发射的X射线通过平坦滤波器和准直器;
3、“场光”模式,通过用可见光照射治疗区域,使患者能够正确定位。
当X射线模式产生的高电流电子束直接传递给患者时,发生了六起事故。两个软件故障是罪魁祸首:一,当操作员在快速切换到电子模式之前错误地选择X射线模式时,允许将电子束设置为X射线模式而不需要X射线靶。第二个故障允许电子束在场光模式下激活,在此期间没有光束扫描器处于活动状态或目标处于适当位置。
以前的型号有硬件互锁以防止此类故障,但Therac-25已将其移除,取决于软件检查的安全性。
高电流电子束以大约100倍的预期辐射剂量击中患者,并且在较窄的区域内,提供可能致命剂量的β辐射。患者Ray Cox将这种感觉描述为“强烈的电击”,导致他尖叫并跑出治疗室。几天后,出现放射性烧伤,患者出现放射性中毒症状;在三例中,受伤的患者后来因过量服用而死亡[1] 。
一个委员会的结论是,主要原因应该归咎于糟糕的软件设计和开发实践,而不是明确地发现了几个编码错误。特别是,该软件的设计使得实际上不可能以干净的自动方式对其进行测试。
调查事故的研究人员发现了几个原因。这些包括以下制度原因:
1、AECL没有独立审查的软件代码。
2、在评估机器如何产生预期结果以及存在哪种故障模式时,AECL没有考虑软件的设计。这些形成了称为可靠性建模和风险管理的一般技术的一部分。
3、系统注意到出现了问题并停止了X射线束,但只显示了“MALFUNCTION”字样,后跟1到64之间的数字。用户手册没有解释甚至解决错误代码,因此操作员按下了P键覆盖警告并继续进行。
4、AECL人员以及机器操作员最初都不相信投诉。这可能是由于过度自信造成的。
5、AECL从未使用软件和硬件的组合测试Therac-25,直到它在医院组装。
研究人员还发现了几个工程问题:
仅在控制PDP-11计算机的VT-100终端上输入特定的非标准击键序列时发生故障:“X”到(错误地)选择25 MeV光子模式,然后是“向上光标”,“E”至(正确)选择25 MeV电子模式,然后“输入”,均在8秒内完成。[6]这一系列的击键是不可能的,因此这个问题并不经常发生,并且很长时间没有被注意到。