stringtranslate.com

Терак-25

Therac -25 — это компьютеризированный аппарат лучевой терапии , произведенный компанией Atomic Energy of Canada Limited (AECL) в 1982 году после аппаратов Therac-6 и Therac-20 (более ранние аппараты производились в партнерстве с французской компанией Compagnie générale de radiologie (CGR) ). [1]

Therac-25 был вовлечен по меньшей мере в шесть аварий в период с 1985 по 1987 год, в ходе которых некоторые пациенты получили огромные передозировки радиации . [2] : 425  Из-за одновременных ошибок программирования (также известных как состояния гонки) он иногда давал своим пациентам дозы радиации, которые были в сотни раз больше нормы, что приводило к смерти или серьезным травмам. [3] Эти аварии подчеркнули опасность программного управления критически важными для безопасности системами.

Therac-25 стал стандартным примером для изучения в области медицинской информатики , разработки программного обеспечения и компьютерной этики . Он подчеркивает опасность самоуверенности инженеров [2] : 428  после того, как инженеры отклонили отчеты конечных пользователей, что привело к серьезным последствиям.

История

Линейный ускоритель.
Анимация работы линейного ускорителя медицинского назначения.

Французская компания CGR изготовила линейные ускорители Neptune и Sagittaire .

В начале 1970-х годов CGR и канадская публичная компания Atomic Energy of Canada Limited (AECL) сотрудничали в создании линейных ускорителей, управляемых миникомпьютером DEC PDP-11 : Therac-6, который производил рентгеновские лучи до 6 МэВ, и Therac-20, который мог производить рентгеновские лучи или электроны до 20 МэВ. Компьютер повысил простоту использования, поскольку ускоритель мог работать без него. CGR разработала программное обеспечение для Therac-6 и повторно использовала некоторые подпрограммы для Therac-20. [4]

В 1981 году обе компании прекратили свое соглашение о сотрудничестве. AECL разработала новую концепцию двойного прохода для ускорения электронов в более ограниченном пространстве, изменив свой источник энергии с клистрона на магнетрон . В некоторых методах полученные электроны используются напрямую, в то время как в других они сталкиваются с вольфрамовым анодом для получения рентгеновских лучей. Эта концепция двойного ускорителя была применена к Therac-20 и Therac-25, причем последний был намного более компактным, универсальным и простым в использовании. Также для больницы было более экономично иметь двойную машину, которая могла бы применять лечение электронами и рентгеновскими лучами, вместо двух машин.

Therac-25 был разработан как машина, управляемая компьютером, в результате чего некоторые механизмы безопасности были переведены с аппаратного на программное обеспечение. AECL решила не дублировать некоторые механизмы безопасности и повторно использовала модули и кодовые процедуры из Therac-20 для Therac-25.

Первый прототип Therac-25 был построен в 1976 году и поступил в продажу в конце 1982 года.

Программное обеспечение для Therac-25 разрабатывалось одним человеком в течение нескольких лет с использованием языка ассемблера PDP-11. Это была эволюция программного обеспечения Therac-6. В 1986 году программист покинул AECL. В последующем судебном процессе юристы не смогли идентифицировать программиста или узнать о его квалификации и опыте.

Пять машин были установлены в Соединенных Штатах и ​​шесть в Канаде. [4]

После аварий в 1988 году AECL распустила медицинское подразделение AECL, а компания Theratronics International Ltd взяла на себя техническое обслуживание установленных машин Therac-25. [5]

Дизайн

Машина имела три режима работы, при этом поворотный стол перемещал некоторое оборудование в положение для каждого из этих режимов: либо свет, либо несколько сканирующих магнитов , либо вольфрамовую мишень и выравниватель . [6]

Вращение поворотного стола.

Пациент размещается на неподвижных носилках. Над ними находится поворотный стол, на котором закреплены компоненты, изменяющие электронный луч. Поворотный стол имеет положение для рентгеновского режима (фотонов), другое положение для электронного режима и третье положение для внесения корректировок с использованием видимого света. В этом положении электронный луч не ожидается, а свет, отраженный в зеркале из нержавеющей стали, имитирует луч. В этом положении нет ионной камеры, действующей как дозиметр радиации, поскольку не ожидается, что радиационный луч будет функционировать.

Поворотный стол имеет несколько микропереключателей , которые указывают положение компьютеру. Когда пластина находится в одном из трех разрешенных фиксированных положений, плунжер блокирует ее с помощью блокировки . В этом типе машины традиционно использовались электромеханические замки, чтобы гарантировать, что поворотный стол находится в правильном положении перед началом лечения. В Therac-25 они были заменены программными проверками. [6]

Описание проблемы

Имитация пользовательского интерфейса Therac-25

Шесть задокументированных несчастных случаев произошли, когда высокоточный электронный луч, сгенерированный в режиме рентгеновского излучения, был доставлен непосредственно к пациентам. Причиной стали две ошибки программного обеспечения. [6] Одна из них произошла, когда оператор неправильно выбрал режим рентгеновского излучения перед быстрым переключением в электронный режим, что позволило настроить электронный луч на режим рентгеновского излучения без установленной рентгеновской мишени. Вторая ошибка позволила электронному лучу активироваться в режиме полевого освещения, во время которого ни один сканер луча не был активен или мишень не была установлена.

В предыдущих моделях были предусмотрены аппаратные блокировки для предотвращения подобных сбоев, но в Therac-25 они были устранены, и теперь безопасность обеспечивается программными проверками.

Сильноточный электронный пучок поразил пациентов примерно в 100 раз большей дозой радиации, и в более узкой области, доставив потенциально смертельную дозу бета-излучения . Пациент Рэй Кокс описал это чувство как «сильный электрический шок», заставивший его закричать и выбежать из процедурного кабинета. [7] Через несколько дней появились радиационные ожоги , и у пациентов проявились симптомы радиационного отравления ; в трех случаях пострадавшие пациенты позже умерли в результате передозировки. [8]

Инциденты, связанные с переоблучением радиацией

Региональный онкологический центр Кеннестона, 1985 г.

Therac-25 работал в течение шести месяцев в Мариетте, штат Джорджия, в Региональном онкологическом центре Кеннестоуна, когда 3 июня 1985 года 61-летней женщине Кэти Ярброу провели лучевую терапию после лампэктомии . Ей назначили 10-МэВ-ную дозу электронной терапии в ключицу . Когда началась терапия, она заявила, что испытала «огромную силу жара... это раскаленное ощущение». Техник вошел в комнату, и Кэти сказала: «Вы меня обожгли». Техник заверил ее, что это невозможно. Она вернулась домой, где в последующие дни почувствовала покраснение в области лечения. Вскоре после этого ее плечо зафиксировалось на месте, и она испытала спазмы. В течение двух недель вышеупомянутое покраснение распространилось от груди до спины, что указывало на то, что источник ожога прошел через нее, что и происходит при радиационных ожогах. Персонал лечебного центра не верил, что Therac-25 мог вызвать такую ​​травму, и это рассматривалось как симптом ее рака . Позже физик больницы проконсультировался с AECL по поводу инцидента. Он подсчитал, что примененная доза составила от 15 000 до 20 000 рад (поглощенная доза радиации), когда ей следовало получить дозу в 200 рад. Доза в 1000 рад может быть смертельной. В октябре 1985 года Кэти подала в суд на больницу и производителя машины. В ноябре 1985 года AECL был уведомлен об иске. Только в марте 1986 года, после еще одного инцидента с Therac-25, AECL сообщил FDA, что получил жалобу от пациента.

Из-за передозировки радиации ей пришлось хирургически удалить грудь, рука и плечо были обездвижены, и она постоянно испытывала боль. Функция распечатки лечения не была активирована во время лечения, и не было никаких записей о примененных данных радиации. Было достигнуто внесудебное урегулирование для разрешения иска. [3]

Фонд борьбы с раком Онтарио, 1985 г.

Видеокомпьютерный терминал DEC VT100

Therac-25 работал в клинике в течение шести месяцев, когда 26 июля 1985 года 40-летняя пациентка получала 24-ю процедуру лечения рака шейки матки . Оператор активировал процедуру, но через пять секунд машина остановилась с сообщением об ошибке «H-tilt», индикацией паузы в процедуре и дозиметром, показывающим, что облучение не применялось. Оператор нажал клавишу P(Proceed : continue). Машина снова остановилась. Оператор повторил процесс пять раз, пока машина не остановила процедуру. Был вызван техник, который не обнаружил никаких проблем. Машина использовалась для лечения шести других пациентов в тот же день.

Пациентка жаловалась на жжение и отек в этой области и была госпитализирована 30 июля. У нее подозревали передозировку радиации, и аппарат вывели из эксплуатации. 3 ноября 1985 года пациентка умерла от рака, хотя вскрытие показало, что если бы она не умерла тогда, ей пришлось бы сделать замену тазобедренного сустава из-за повреждений, вызванных передозировкой радиации. Техник подсчитал, что она получила от 13 000 до 17 000 рад.

Об инциденте было сообщено в FDA и Канадское бюро радиационной защиты.

AECL подозревал, что могла быть ошибка с тремя микропереключателями, которые сообщали о положении поворотного стола. AECL не смог воспроизвести отказ микропереключателей, и тестирование микропереключателей было неубедительным. Затем они изменили метод, чтобы сделать его терпимым к одному отказу, и модифицировали программное обеспечение, чтобы проверять, движется ли поворотный стол или находится ли он в положении лечения.

Впоследствии AECL заявила, что эти изменения привели к повышению безопасности на пять порядков. [3]

Больница Yakima Valley Memorial, 1985 г.

В декабре 1985 года у женщины развилась эритема с рисунком в виде параллельных полос после прохождения лечения на установке Therac-25. 31 января 1986 года персонал больницы направил письмо в AECL об инциденте. AECL ответил на двух страницах, подробно изложив причины, по которым передозировка радиации невозможна на установке Therac-25, заявив, что как отказ машины, так и ошибка оператора невозможны.

Через шесть месяцев у пациентки развились хронические язвы под кожей из-за некроза тканей. Ей сделали операцию и пересадили кожу. Пациентка продолжала жить с незначительными последствиями . [3]

Восточно-Техасский онкологический центр, Тайлер, март 1986 г.

За два года эта больница вылечила более 500 пациентов с помощью Therac-25 без каких-либо инцидентов. 21 марта 1986 года пациент пришел на девятый сеанс лечения опухоли на спине. Лечение было назначено на 22 МэВ электронов с дозой 180 рад на площади 10x17 см, с накопленной радиацией за 6 недель в размере 6000 рад.

Опытный оператор ввел данные сеанса и понял, что она написала «x» для «рентгеновского излучения» вместо «e» для «электронного пучка» в качестве типа лечения. С помощью курсора она поднялась и изменила «x» на «e», и поскольку остальные параметры были правильными, она нажимала, пока не добралась до командного поля. Все параметры были помечены как «Проверено», и появилось сообщение «Лучи готовы». Она нажала клавишу («Луч включен»). Аппарат остановился и отобразил сообщение «Неисправность 54» (ошибка 54). Также было показано «Пауза лечения». В руководстве говорилось, что сообщение «Неисправность 54» было ошибкой «ввода дозы 2». Позже техник подтвердил, что «ввод дозы 2» означал, что доставленное излучение было либо слишком высоким, либо слишком низким.↵ EnterB

Радиационный монитор (дозиметр) отметил поставку 6 единиц, когда он запрашивал 202 единицы. Оператор нажал (Продолжить: продолжить). Машина снова остановилась с сообщением «Неисправность 54» (ошибка 54), а дозиметр показал, что подал меньше единиц, чем требовалось. Камера наблюдения в комнате радиации была отключена, а переговорное устройство в тот день было сломано.P

При первой дозе пациент почувствовал удар током и услышал треск от аппарата. Поскольку это был его девятый сеанс, он понял, что это ненормально. Он начал вставать из-за стола, чтобы попросить о помощи. В этот момент оператор нажал, чтобы продолжить лечение. Пациент почувствовал удар током через руку, как будто ему оторвали руку. Он добрался до двери и начал стучать в нее, пока оператор ее не открыл. На место происшествия немедленно вызвали врача, который заметил сильную эритему в этой области, заподозрив, что это был простой удар током. Он отправил пациента домой. Больничный физик проверил аппарат, и, поскольку он был откалиброван в соответствии с правильными техническими характеристиками, он продолжал лечить пациентов в течение всего дня. Техники не знали, что пациент получил огромную дозу радиации от 16 500 до 25 000 рад менее чем за секунду на площади в один см 2 . Треск машины был вызван насыщением ионизационных камер, что свидетельствовало о том, что приложенная доза радиации была очень низкой.P

В течение следующих недель у пациента наблюдался паралич левой руки, тошнота, рвота, и в итоге он был госпитализирован с радиационным миелитом спинного мозга. Его ноги, средняя часть диафрагмы и голосовые связки оказались парализованы. У него также были рецидивирующие кожные инфекции простого герпеса. Он умер через пять месяцев после передозировки.

Со следующего дня после аварии техники AECL проверили машину и не смогли воспроизвести ошибку 54. Они проверили заземление машины, чтобы исключить поражение электрическим током как причину. Машина снова была в работе 7 апреля 1986 года. [3]

Восточно-Техасский онкологический центр, Тайлер, апрель 1986 г.

11 апреля 1986 года пациенту предстояло пройти электронное лечение рака кожи на лице. Рецепт был 10 МэВ для области 7x10 см. Оператор был тот же, что и в мартовском инциденте тремя неделями ранее. После заполнения всех данных о лечении она поняла, что ей нужно изменить режим с X на E. Она так и сделала и нажала , чтобы перейти к командному блоку. Когда на дисплее появилось сообщение «Beam ready», она нажала (Proceed : continue). Аппарат издал громкий шум, который был слышен через переговорное устройство. На дисплее появилась ошибка 54. Оператор вошел в комнату, и пациент описал жжение на лице. Пациент умер 1 мая 1986 года, чуть меньше чем через 3 недели. Вскрытие показало тяжелое радиационное поражение правой височной доли и ствола мозга.↵ EnterP

Физик больницы остановил машинное лечение и уведомил AECL. После напряженной работы физик и оператор смогли воспроизвести сообщение об ошибке 54. Они определили, что скорость редактирования ввода данных была ключевым фактором в возникновении ошибки 54. После долгой практики он смог воспроизвести ошибку 54 по своему желанию. AECL заявили, что они не смогли воспроизвести ошибку, и они получили ее только после того, как выполнили инструкции физика, так что ввод данных был очень быстрым. [3]

Больница Yakima Valley Memorial, 1987 г.

17 января 1987 года пациент должен был получить лечение с двумя проверочными экспозициями пленки 4 и 3 рад, плюс 79-рад фотонная терапия для общей экспозиции 86 рад. Пленка была помещена под пациента, и 4 рад были введены через отверстие 22 см × 18 см. Машина была остановлена, отверстие было открыто до 35 см × 35 см, и была введена доза 3 рад. Машина остановилась. Оператор вошел в комнату, чтобы снять пластины пленки и отрегулировать положение пациента. Он использовал ручное управление внутри комнаты, чтобы отрегулировать поворотный стол. Он вышел из комнаты, забыв пластины пленки. В комнате управления, увидев сообщение «Луч готов», он нажал клавишу, чтобы запустить лучи. Через 5 секунд машина остановилась и отобразила сообщение, которое быстро исчезло. Поскольку машина была приостановлена, оператор нажал (Продолжить: продолжить). Машина остановилась, указав «Плоскостность» в качестве причины. Оператор услышал пациента по внутренней связи, но не смог его понять и вошел в комнату. Пациент почувствовал сильное жжение в груди. Экран показал, что ему дали всего 7 рад. Через несколько часов у пациента появились ожоги на коже в этой области. Четыре дня спустя покраснение этой области имело полосатый рисунок, похожий на тот, что был получен в инциденте годом ранее, и причину которого они не нашли. AECL начала расследование, но не смогла воспроизвести событие.BP

Физик больницы провел испытания с пленочными пластинами, чтобы проверить, сможет ли он воссоздать инцидент, который включал два параметра рентгеновского излучения с поворотным столом в положении полевого освещения. Пленка, по-видимому, совпадала с пленкой, которая была оставлена ​​по ошибке под пациентом во время аварии. Было обнаружено, что пациент подвергся облучению от 8000 до 10000 рад вместо предписанных 86 рад. Пациент умер в апреле 1987 года от осложнений, вызванных передозировкой радиации. Родственники подали иск, который закончился внесудебным урегулированием. [3]

Корневые причины

Комиссия приписала основную причину в целом плохим практикам проектирования и разработки программного обеспечения, а не выделению конкретных ошибок кодирования. В частности, программное обеспечение было разработано таким образом, что его было реально невозможно протестировать строгим, автоматизированным способом. : Safeware, [48]  [ требуется дополнительная ссылка(и) ]

Исследователи, которые расследовали несчастные случаи, обнаружили несколько способствующих причин. Они включали следующие институциональные причины:

Исследователи также обнаружили несколько технических проблем:

Левесон отмечает, что урок, который следует извлечь из инцидента, заключается в том, что не следует предполагать, что повторно используемое программное обеспечение безопасно: [9] «Часто делается наивное предположение, что повторное использование программного обеспечения или использование коммерческого готового программного обеспечения повысит безопасность, поскольку программное обеспечение будет широко использоваться. Повторное использование программных модулей не гарантирует безопасности в новой системе, в которую они переносятся...» [6] В ответ на инциденты, подобные тем, что связаны с Therac-25, был создан стандарт IEC 62304 , который вводит стандарты жизненного цикла разработки программного обеспечения для медицинских устройств и конкретные рекомендации по использованию программного обеспечения неизвестной родословной . [10]

Смотрите также

Ссылки

  1. ^ Левесон, Нэнси. "Медицинские приборы: Therac-25" (PDF) . sunnyday.mit.edu . Архивировано (PDF) из оригинала 2000-08-19.
  2. ^ abc Baase, Sara (5 августа 2012 г.). "8.2 Case Study: Therac-25" . Дар огня: социальные, правовые и этические вопросы вычислительной техники (application/ld+json) (4-е изд.). Pearson Prentice Hall . стр. 425–430. ISBN  978-0132492676. LCCN  2012020988. OCLC  840390999. OL  25355635M – через Интернет-архив .
  3. ^ abcdefg Левесон, Нэнси Г .; Тернер, Кларк С. (1 июля 1993 г.). «Расследование аварий Therac-25». Компьютер . 26 (7). IEEE Computer Society : 18–41. doi :10.1109/MC.1993.274940. eISSN  1558-0814. ISSN  0018-9162. LCCN  74648480. OCLC  2240099. S2CID  9691171.
  4. ^ ab Leveson, Nancy G. (1 июля 1993 г.). "Расследование аварий Therac-25" (PDF) . Архивировано из оригинала (PDF) 28 ноября 2004 г. . Получено 20 мая 2020 г. .
  5. ^ Роуз, Барбара Уэйд (1 июня 1994 г.). «Смертельная доза. Смерти от радиации, связанные с ошибками компьютеров AECL» . Получено 25 мая 2020 г.
  6. ^ abcdefg Левесон, Нэнси Г. (17 апреля 1995 г.). "Приложение A: Медицинские приборы: Therac-25" (PDF) . Safeware: Безопасность систем и компьютеры (1-е изд.). Addison-Wesley . ISBN 978-0201119725. OCLC  841117551. OL  7406745M – через Университет Центральной Флориды .
  7. Кейси, Стивен (1 января 1998 г.). Set Phasers on Stun: And Other True Tales of Design, Technology, and Human Error (2-е изд.). Aegean Publishing Company. С. 11–16. ISBN 978-0963617880. LCCN  97077875. OCLC  476275373. OL  712024M.
  8. ^ Роуз, Барбара Уэйд (1 июня 1994 г.). «Смертельная доза — смерти от радиации, связанные с ошибками компьютеров AECL». Saturday Night . ISSN  0036-4975. OCLC  222180972. Архивировано из оригинала 24 ноября 2021 г. Получено 27 декабря 2021 г. – через Канадскую коалицию за ядерную ответственность (CCNR) .
  9. Левесон, Нэнси Г. (1 ноября 2017 г.). «Терак-25: 30 лет спустя». Компьютер . 50 (11). Компьютерное общество IEEE : 8–11. дои : 10.1109/MC.2017.4041349 . eISSN  1558-0814. ISSN  0018-9162. LCCN  74648480. OCLC  2240099.
  10. ^ Холл, Кен (1 июня 2010 г.). «Разработка программного обеспечения для медицинских устройств в соответствии со стандартом IEC 62304». MD&DI . ISSN  0194-844X. OCLC  647577709. Архивировано из оригинала 12 ноября 2016 г. Получено 24 декабря 2021 г.

Дальнейшее чтение