El Therac-25 es un aparato de radioterapia controlado por ordenador producido por Atomic Energy of Canada Limited (AECL) en 1982 después de las unidades Therac-6 y Therac-20 (las unidades anteriores se habían producido en colaboración con la Compagnie générale de radiologie (CGR) de Francia). [1]
El Therac-25 estuvo involucrado en al menos seis accidentes entre 1985 y 1987, en los que algunos pacientes recibieron sobredosis masivas de radiación . [2] : 425 Debido a errores de programación concurrentes (también conocidos como condiciones de carrera), a veces les dio a sus pacientes dosis de radiación que eran cientos de veces mayores de lo normal, lo que resultó en muerte o lesiones graves. [3] Estos accidentes resaltaron los peligros del control de software de sistemas críticos para la seguridad.
El Therac-25 se ha convertido en un caso de estudio estándar en informática sanitaria , ingeniería de software y ética informática . Destaca los peligros del exceso de confianza de los ingenieros [2] : 428 después de que los ingenieros desestimaran los informes de los usuarios finales, lo que provocó graves consecuencias.
La empresa francesa CGR fabricó los aceleradores lineales Neptune y Sagittaire .
A principios de los años 1970, la CGR y la empresa pública canadiense Atomic Energy of Canada Limited (AECL) colaboraron en la construcción de aceleradores lineales controlados por una minicomputadora DEC PDP-11 : el Therac-6, que producía rayos X de hasta 6 MeV, y el Therac-20, que podía producir rayos X o electrones de hasta 20 MeV. La computadora aumentó la facilidad de uso porque el acelerador podía funcionar sin ella. La CGR desarrolló el software para el Therac-6 y reutilizó algunas subrutinas para el Therac-20. [4]
En 1981, las dos empresas finalizaron su acuerdo de colaboración. AECL desarrolló un nuevo concepto de doble paso para la aceleración de electrones en un espacio más reducido, cambiando su fuente de energía del klistrón al magnetrón . En ciertas técnicas, los electrones producidos se utilizan directamente, mientras que en otras se hacen colisionar contra un ánodo de tungsteno para producir haces de rayos X. Este concepto de acelerador dual se aplicó al Therac-20 y al Therac-25, siendo este último mucho más compacto, versátil y fácil de usar. También resultaba más económico para un hospital disponer de una máquina dual que pudiera aplicar tratamientos de electrones y rayos X, en lugar de dos máquinas.
El Therac-25 fue diseñado como una máquina controlada por una computadora, por lo que algunos mecanismos de seguridad se cambiaron del hardware al software. AECL decidió no duplicar algunos mecanismos de seguridad y reutilizó módulos y rutinas de código del Therac-20 para el Therac-25.
El primer prototipo del Therac-25 se construyó en 1976 y salió al mercado a finales de 1982.
El software del Therac-25 fue desarrollado por una sola persona durante varios años utilizando el lenguaje ensamblador PDP-11. Fue una evolución del software del Therac-6. En 1986, el programador abandonó AECL. En una demanda posterior, los abogados no pudieron identificar al programador ni averiguar sobre su cualificación y experiencia.
Se instalaron cinco máquinas en Estados Unidos y seis en Canadá. [4]
Después de los accidentes, en 1988 AECL disolvió la sección médica de AECL y la empresa Theratronics International Ltd se hizo cargo del mantenimiento de las máquinas Therac-25 instaladas. [5]
La máquina tenía tres modos de funcionamiento, con un plato giratorio que movía algunos aparatos a la posición adecuada para cada uno de esos modos: una luz, algunos imanes de escaneo o un objetivo de tungsteno y un aplanador . [6]
El paciente se coloca en una camilla fija. Sobre ella se encuentra un plato giratorio al que se fijan los componentes que modifican el haz de electrones. El plato giratorio tiene una posición para el modo de rayos X (fotones), otra posición para el modo de electrones y una tercera posición para realizar ajustes mediante luz visible. En esta posición no se espera un haz de electrones, y una luz que se refleja en un espejo de acero inoxidable simula el haz. En esta posición no hay una cámara de iones que actúe como dosímetro de radiación porque no se espera que el haz de radiación funcione.
El plato giratorio dispone de unos microinterruptores que indican la posición al ordenador. Cuando la placa se encuentra en una de las tres posiciones fijas permitidas un émbolo la bloquea mediante enclavamiento. En este tipo de máquinas, tradicionalmente se utilizaban bloqueos electromecánicos para asegurar que el plato giratorio se encontraba en la posición correcta antes de iniciar el tratamiento. En el Therac-25, estos fueron sustituidos por comprobaciones por software. [6]
Los seis accidentes documentados ocurrieron cuando el haz de electrones de alta corriente generado en el modo de rayos X se administró directamente a los pacientes. Dos fallas de software fueron las culpables. [6] Una fue cuando el operador seleccionó incorrectamente el modo de rayos X antes de cambiar rápidamente al modo de electrones, lo que permitió que el haz de electrones se configurara para el modo de rayos X sin que el objetivo de rayos X estuviera en su lugar. Una segunda falla permitió que el haz de electrones se activara durante el modo de luz de campo, durante el cual no había ningún escáner de haz activo ni ningún objetivo en su lugar.
Los modelos anteriores tenían bloqueos de hardware para evitar tales fallas, pero el Therac-25 los había eliminado y dependía en cambio de controles de software para la seguridad.
El haz de electrones de alta corriente golpeó a los pacientes con aproximadamente 100 veces la dosis de radiación prevista, y sobre un área más estrecha, administrando una dosis potencialmente letal de radiación beta . La sensación fue descrita por el paciente Ray Cox como "una descarga eléctrica intensa", lo que le hizo gritar y salir corriendo de la sala de tratamiento. [7] Varios días después, aparecieron quemaduras por radiación y los pacientes mostraron los síntomas de envenenamiento por radiación ; en tres casos, los pacientes heridos murieron más tarde como resultado de la sobredosis. [8]
El 3 de junio de 1985 , en Marietta (Georgia), en el Centro Oncológico Regional de Kennestone, se había estado utilizando un Therac-25 cuando, tras una lumpectomía que se le estaba practicando a Katie Yarbrough, una mujer de 61 años, se le aplicó un tratamiento de radioterapia. Se le iba a aplicar una dosis de 10 MeV de terapia electrónica en la clavícula . Cuando comenzó la terapia, afirmó que experimentó una "tremenda fuerza de calor... una sensación al rojo vivo". El técnico entró en la habitación y Katie le dijo: "me quemaste". El técnico le aseguró que eso no era posible. Volvió a casa y, en los días siguientes, experimentó enrojecimiento de la zona tratada. Poco después, se le bloqueó el hombro y experimentó espasmos. En dos semanas, el enrojecimiento antes mencionado se extendió desde el pecho hasta la espalda, lo que indicaba que la fuente de la quemadura la había atravesado, como ocurre con las quemaduras por radiación. El personal del centro de tratamiento no creyó que fuera posible que el Therac-25 causara semejante lesión, y lo trató como un síntoma de su cáncer . Más tarde, el físico del hospital consultó a la AECL sobre el incidente. Calculó que la dosis aplicada estaba entre 15.000 y 20.000 rad (dosis de radiación absorbida) cuando debería haber recibido una dosis de 200 rad. Una dosis de 1000 rad puede ser mortal. En octubre de 1985, Katie demandó al hospital y al fabricante de la máquina. En noviembre de 1985, la AECL fue notificada de la demanda. No fue hasta marzo de 1986, después de otro incidente relacionado con el Therac-25, que la AECL informó a la FDA que había recibido una queja de la paciente.
Debido a la sobredosis de radiación, tuvo que extirparle quirúrgicamente un seno, le inmovilizaron un brazo y un hombro y tenía dolores constantes. La función de impresión del tratamiento no estaba activada en el momento del tratamiento y no había registro de los datos de la radiación aplicada. Se llegó a un acuerdo extrajudicial para resolver el litigio. [3]
El Therac-25 llevaba seis meses en funcionamiento en la clínica cuando, el 26 de julio de 1985, una paciente de 40 años estaba recibiendo su tratamiento número 24 por cáncer de cuello uterino . El operador activó el tratamiento, pero después de cinco segundos la máquina se detuvo con el mensaje de error "H-tilt", la indicación de pausa del tratamiento y el dosímetro indicando que no se había aplicado radiación. El operador presionó la Ptecla (Proceder: continuar). La máquina se detuvo nuevamente. El operador repitió el proceso cinco veces hasta que la máquina detuvo el tratamiento. Se llamó a un técnico y no encontró ningún problema. La máquina se utilizó para tratar a otras seis pacientes el mismo día.
La paciente se quejaba de ardor e hinchazón en la zona y fue hospitalizada el 30 de julio. Se sospechó que había sufrido una sobredosis de radiación y la máquina fue retirada del servicio. El 3 de noviembre de 1985, la paciente murió de cáncer, aunque en la autopsia se mencionó que, de no haber muerto entonces, habría tenido que someterse a una prótesis de cadera debido a los daños causados por la sobredosis de radiación. Un técnico estimó que recibió entre 13.000 y 17.000 rad.
El incidente fue reportado a la FDA y a la Oficina Canadiense de Protección Radiológica.
La AECL sospechó que podría haber un error con tres microinterruptores que informaban la posición del plato giratorio. La AECL no pudo reproducir una falla de los microinterruptores y las pruebas de microinterruptores no fueron concluyentes. Luego cambiaron el método para que fuera tolerante a una falla y modificaron el software para verificar si el plato giratorio se estaba moviendo o estaba en la posición de tratamiento.
Posteriormente, la AECL afirmó que las modificaciones representaban un aumento de cinco órdenes de magnitud en la seguridad. [3]
En diciembre de 1985, una mujer desarrolló un eritema con un patrón de bandas paralelas después de recibir tratamiento con una unidad Therac-25. El personal del hospital envió una carta el 31 de enero de 1986 a la AECL sobre el incidente. La AECL respondió en dos páginas detallando las razones por las que era imposible que se produjera una sobredosis de radiación con la unidad Therac-25, afirmando que no era posible que se produjeran fallos en la máquina ni errores del operador.
Seis meses después, la paciente desarrolló úlceras crónicas debajo de la piel debido a la necrosis tisular. Fue operada y se le colocaron injertos de piel. La paciente continuó viviendo con secuelas menores . [3]
En dos años, este hospital trató a más de 500 pacientes con el Therac-25 sin ningún incidente. El 21 de marzo de 1986, un paciente se presentó para su novena sesión de tratamiento por un tumor en la espalda. El tratamiento estaba programado para 22 MeV de electrones con una dosis de 180 rad en un área de 10x17 cm, con una radiación acumulada en 6 semanas de 6000 rad.
La experimentada operadora ingresó los datos de la sesión y se dio cuenta de que había escrito una “x” para “rayos x” en lugar de una “e” para “haz de electrones” como tipo de tratamiento. Con el cursor subió y cambió la “x” por una “e” y como el resto de los parámetros estaban correctos, presionó hasta llegar al cuadro de comandos. Todos los parámetros estaban marcados como “Verificados” y se mostró el mensaje “Rayos listos”. Presionó la tecla (“Haz encendido”). La máquina se detuvo y mostró el mensaje “Malfunction 54” (error 54). También mostró “Pausa de tratamiento”. El manual decía que el mensaje “Malfunction 54” era un error de “dose input 2”. Un técnico testificó más tarde que “dose input 2” significaba que la radiación administrada era demasiado alta o demasiado baja.↵ EnterB
El dosímetro marcó 6 unidades suministradas cuando había solicitado 202 unidades. El operador presionó (Continuar). La máquina se paró nuevamente con el mensaje "Malfunction 54" (error 54) y el dosímetro indicó que había suministrado menos unidades de las requeridas. La cámara de vigilancia en la sala de radiación estaba fuera de línea y el intercomunicador se había estropeado ese día.P
Con la primera dosis el paciente sintió una descarga eléctrica y escuchó un crujido proveniente de la máquina. Como era su novena sesión, se dio cuenta de que no era normal. Comenzó a levantarse de la mesa para pedir ayuda. En ese momento el operador presionó para continuar el tratamiento. El paciente sintió una descarga de electricidad a través del brazo, como si le arrancaran la mano. Llegó a la puerta y comenzó a golpearla hasta que el operador la abrió. Inmediatamente fue llamado un médico al lugar, donde observaron un eritema intenso en la zona, sospechando que había sido una simple descarga eléctrica. Mandó al paciente a casa. El físico del hospital revisó la máquina y, como estaba calibrada con la especificación correcta, continuó tratando a los pacientes durante todo el día. Los técnicos desconocían que el paciente había recibido una dosis masiva de radiación entre 16.500 y 25.000 rads en menos de un segundo sobre un área de un cm2 . El crepitar de la máquina se había producido por saturación de las cámaras de ionización, lo que tenía como consecuencia que indicaran que la dosis de radiación aplicada había sido muy baja.P
Durante las semanas siguientes, el paciente sufrió parálisis del brazo izquierdo, náuseas, vómitos y acabó hospitalizado por una mielitis de la médula espinal inducida por radiación. Sus piernas, el diafragma medio y las cuerdas vocales acabaron paralizados. También sufrió infecciones cutáneas recurrentes por herpes simple. Murió cinco meses después de la sobredosis.
Al día siguiente del accidente, los técnicos de AECL revisaron la máquina y no pudieron reproducir el error 54. Revisaron la conexión a tierra de la máquina para descartar una descarga eléctrica como causa. La máquina volvió a funcionar el 7 de abril de 1986. [3]
El 11 de abril de 1986, un paciente iba a recibir un tratamiento con electrones para un cáncer de piel en la cara. La prescripción era de 10 MeV para un área de 7x10 cm. El operador era el mismo que el del incidente de marzo, tres semanas antes. Después de completar todos los datos del tratamiento, se dio cuenta de que tenía que cambiar el modo de X a E. Así lo hizo y presionó para bajar al cuadro de comandos. Cuando se mostró "Beam ready", presionó (Proceder: continuar). La máquina produjo un ruido fuerte, que se escuchó a través del intercomunicador. Se mostró el error 54. El operador entró en la habitación y el paciente describió una sensación de ardor en la cara. El paciente murió el 1 de mayo de 1986, poco menos de 3 semanas después. La autopsia mostró un daño grave por radiación en el lóbulo temporal derecho y el tronco encefálico.↵ EnterP
El físico del hospital detuvo los tratamientos de la máquina y notificó a la AECL. Después de un trabajo extenuante, el físico y el operador pudieron reproducir el mensaje de error 54. Determinaron que la velocidad en la edición de la entrada de datos fue un factor clave en la producción del error 54. Después de mucha práctica, pudo reproducir el error 54 a voluntad. La AECL declaró que no podían reproducir el error y que solo lo consiguieron después de seguir las instrucciones del físico para que la entrada de datos fuera muy rápida. [3]
El 17 de enero de 1987, un paciente debía recibir un tratamiento con dos exposiciones de verificación de película de 4 y 3 rads, más un tratamiento de fotones de 79 rads para una exposición total de 86 rads. Se colocó una película debajo del paciente y se administraron 4 rads a través de una abertura de 22 cm × 18 cm. Se detuvo la máquina, se abrió la abertura a 35 cm × 35 cm y se administró una dosis de 3 rad. La máquina se detuvo. El operador entró en la habitación para retirar las placas de película y ajustar la posición del paciente. Utilizó el control manual dentro de la habitación para ajustar el plato giratorio. Salió de la habitación, olvidándose de las placas de película. En la sala de control, después de ver el mensaje "Beam ready", presionó la tecla para disparar los rayos. Después de 5 segundos, la máquina se detuvo y mostró un mensaje que desapareció rápidamente. Como la máquina estaba en pausa, el operador presionó (Proceder: continuar). La máquina se detuvo, mostrando "Flatness" como la razón. El operador escuchó al paciente por el intercomunicador, pero no pudo entenderlo, y entró en la habitación. El paciente había sentido una fuerte sensación de ardor en el pecho. La pantalla mostraba que sólo le habían administrado 7 rad. Unas horas más tarde, el paciente mostró quemaduras en la piel de la zona. Cuatro días después, el enrojecimiento de la zona tenía un patrón de bandas similar al producido en el incidente del año anterior, y para el cual no se había encontrado la causa. La AECL inició una investigación, pero no logró reproducir el suceso.BP
El físico del hospital realizó pruebas con placas de película para ver si podía recrear el incidente, lo que implicaba dos parámetros de rayos X con el plato giratorio en posición de luz de campo. La película parecía coincidir con la película que se dejó por error debajo del paciente durante el accidente. Se descubrió que el paciente estuvo expuesto a entre 8.000 y 10.000 rad en lugar de los 86 rad prescritos. El paciente murió en abril de 1987 por complicaciones debido a una sobredosis de radiación. Los familiares presentaron una demanda que terminó con un acuerdo extrajudicial. [3]
Una comisión atribuyó la causa principal a prácticas de diseño y desarrollo de software generalmente deficientes, en lugar de señalar errores de codificación específicos. En particular, el software fue diseñado de tal manera que era imposible probarlo de manera rigurosa y automatizada . : Safeware, [48] [ cita(s) adicional(es) necesaria(s) ]
Los investigadores que estudiaron los accidentes encontraron varias causas que contribuyeron a ello, entre ellas las siguientes causas institucionales:
Los investigadores también encontraron varios problemas de ingeniería :
Leveson señala que una lección que se puede sacar del incidente es no asumir que el software reutilizado es seguro: [9] "A menudo se hace una suposición ingenua de que la reutilización de software o el uso de software comercial listo para usar aumentará la seguridad porque el software se habrá utilizado ampliamente. La reutilización de módulos de software no garantiza la seguridad en el nuevo sistema al que se transfieren..." [6] En respuesta a incidentes como los asociados con Therac-25, se creó la norma IEC 62304 , que introduce estándares de ciclo de vida de desarrollo para software de dispositivos médicos y orientación específica sobre el uso de software de pedigrí desconocido . [10]