Felhasználói eszközök

Eszközök a webhelyen


passport:therac-25

Ez a dokumentum egy előző változata!


Therac-25: A hibaüzenet, amit senki nem értett

A Therac-25 egy úgynevezett lineáris gyorsító (linac) volt, amelyet elsősorban rákos daganatok sugárkezelésére használtak az 1980-as években. Bár korának legmodernebb eszközének számított, a használata és elterjedtsége korlátozott maradt, éppen a bekövetkezett balesetek miatt. Összesen mindössze 11 darabot telepítettek belőle, 5 gép az Egyesült Államokban és 6 gép Kanadában üzemelt. Neves onkológiai központokban használták, többek között a texasi Tylerben, a washingtoni Yakimában és a kanadai Hamiltonban.

A berendezés a korábbi modellekhez (Therac-6, Therac-20) képest sokkal hatékonyabbnak tűnt, mert egyrészt a számítógépes vezérlés miatt a technikusoknak kevesebb manuális beállítást kellett végezniük, így több beteget tudtak ellátni egy nap alatt, másrészt egy új technológiának köszönhetően a gép kisebb helyet foglalt el, így olcsóbban lehetett telepíteni a kórházakba.

A Therac-25 kezelései alapvetően két helyszínen – a sugárbiztos kezelőben és a külső vezérlőteremben – zajlottak, szigorú, de a szoftveresítés miatt felgyorsított protokoll szerint.

Először a radiológus technikus a beteget a kezelőasztalra fektette és manuálisan beállította a gép fejét (gantry), a besugárzási mező méretét, valamint rögzítette a szükséges kiegészítőket. A gép úgynevezett „field light” (mezőfény) üzemmódba állításával egy tükör segítségével látható fényt vetítettek a betegre. Ez pontosan megmutatta, hová fog irányulni a (jó esetben) láthatatlan sugár.

Ezután a technikus elhagyta a védett szobát és a külső terminálnál (billentyűzet és monitor segítségével) megadta a beteg adatait és a kezelési tervet: az üzemmódot (Elektron vagy röntgen), az energiaszintet és a dózist. A szoftver összehasonlította a terminálon beírt adatokat a gép mechanikus beállításaival. Ha egyeztek, megjelent a „VERIFIED” felirat. Végül a technikus a „Beam ON” gombbal indította el a kezelést, amely általában 1–5 percig tartott.

A végzetes „gyorsaság”

A tapasztalt kezelők rendkívül gyorsan, rutinszerűen kezelték a billentyűzetet. Néha előfordult, hogy a kezelő véletlenül X-et (Röntgenmód) ütött be, majd villámgyorsan visszalépett és ezt javította E-re (Elektronmód). Ha ez a javítás 8 másodpercen belül történt, a szoftver kijelezte az új módot, de (és ez a kezelő számára nem derült ki) a gép belső mechanikája (a forgótárcsa) már nem állt át időben.

A berendezés ugyan jelezte a hibát a semmitmondó “Malfunction 54” hibakóddal, aminek a jelentése „dose input 2” (dózisbevitel 2) volt. Ez azonban még a szakembereknek sem mondott semmit arról, hogy mi a valódi probléma. A kezelőknek adott kézikönyvben nem szerepelt a hibakódok listája vagy magyarázata. Semmi nem utalt arra, hogy ez a jelzés bármilyen kockázatot jelentene a betegre.

Amikor a Malfunction 54 megjelent, a gép nem állt le vészleállással, hanem csak „szüneteltette” (Pause) a kezelést. A kezelőszemélyzet úgy tudta, hogy a szünetelést okozó hibák ártalmatlanok (például egy kisebb feszültségingadozás), és az eljárás a „P” (Proceed) gombbal egyszerűen folytatható.

A képernyőn a hiba mellett az jelent meg, hogy „No dose” (nincs dózis), vagyis a gép azt állította, hogy még egyáltalán nem sugárzott. A kezelő ezért nyugodt szívvel nyomta meg a folytatást, hogy a beteg megkapja a tervezett dózist – miközben valójában minden egyes gombnyomással újabb halálos retesznyitást hajtott végre a gép.

A technikusok naponta akár 40 hasonló hibaüzenetet is láttak, amelyek többsége valóban ártalmatlan volt. Emiatt kialakult náluk egyfajta „riasztási fásultság”: a Malfunction 54-et is csak egynek látták a sok bosszantó, de jelentéktelen szoftveres hiba közül.

Több esetben a betegek a kezelések után jelezték, hogy valami nincs rendben. Ray Cox, az egyik áldozat, egy „elektromos ütést” érzett és látta a gépből kivillanó kékes fényt. A kórházi személyzet azonban eleinte nem hitt nekik, mert a monitor tájékoztatása szerint minden a legnagyobb rendben zajlott.

Amikor a Tyler-i kórház először mégis jelezte a problémát az AECL-nek, a gyártó (meglehetősen arrogánsan) úgy reagált, hogy a Therac-25-tel soha nem történt még sugártúladagolás. Azt állították, hogy a gép hardveresen és szoftveresen is biztonságos, a hibát pedig elektromos zárlatnak, de leginkább tévedésnek tulajdonították.

Fritz Hager magánnyomozása Fritz Hager, aki a A texasi Tylerben található East Texas Cancer Center vezető fizikusa volt, nem fogadta el a gyártó válaszait. Amikor 1986 áprilisában egy második beteg is ugyanazokat az igencsak gyanús jelenségeket észlelte ugyanannál a technikusnál, Hager elhatározta, hogy addig nem hagyja abba a készülék tesztelését, amíg nem reprodukálja a jelenséget. Hager és a technikus órákon át próbálgatták a gépet, de az tökéletesen működött. Végül rájöttek a titokra: a technikusnak olyan gyorsan kellett gépelnie, ahogy csak a napi rutin során szokott. Amikor Hagernek sikerült a javítást 8 másodpercen belül elvégeznie, a gép végre kiírta a hírhedt Malfunction 54 üzenetet. Hager ekkor mérőműszereket tett a gép alá, és elszörnyedve látta, hogy a gép a tervezett dózis százszorosát adta le. Ezzel a bizonyítékkal a kezében már nem tudott mit tenni a gyártó: kénytelenek voltak belső vizsgálatba kezdeni, majd beismerni a szoftverhibát és jelenteni az esetet az FDA-nak. Hager felismerte, hogy a gyártó mérnökei azért nem találják a hibát, mert ők „mérnöki lassúsággal”, óvatosan gépelnek, míg a napi rutinban dolgozó technikusok ujjai szinte repülnek a billentyűkön, és a hiba csak ilyenkor állt, elő. Végül a vizsgálat során kielemezték, hogy a gépet vezérlő PDP-11 számítógép egy valós idejű operációs rendszert futtatott, amely egyszerre több feladatot (taszkot) kezelt. A szoftverben a billentyűzetről érkező adatok feldolgozása és a gép fizikai beállítása (például a tárcsa forgatása) két külön folyamat volt. Amikor a kezelő Röntgenmódról Elektronmódra váltott, a szoftver elindított egy folyamatot a tárcsa mozgatására. Ha azonban a kezelő a javítást 8 másodpercen belül elvégezte, a szoftver egy része már az új adatokat látta, de a gép fizikai beállításáért felelős rész még a régi állapotnál tartott. A gép úgy hitte, minden készen áll, de valójában a Röntgenmódhoz szükséges óriási sugárenergiát küldte ki a betegre. Következmények A Therac-25 tragédiája alapjaiban rengette meg az orvostechnikai eszközök szabályozását és a szoftverfejlesztési etikát. Több túlélő áldozat és az elhunytak családtagjai indítottak kártérítési pert az Atomic Energy of Canada Limited (AECL) gyártó és a kezelést végző kórházak ellen. A felek végül minden esetben peren kívüli egyezséget kötöttek, így a kártérítések pontos összege soha nem került nyilvánosságra. Az amerikai FDA (Élelmiszer- és Gyógyszerügyi Hivatal) 1987-ben hibásnak nyilvánította a berendezést, és elrendelte az összes Therac-25 leállítását, amíg a gyártó el nem végezte a szükséges módosításokat. A gépeken végül több mint 20 módosítást végeztek, beépítették a korábban elhagyott mechanikus biztonsági reteszeket, amelyek a szoftvertől függetlenül képesek voltak leállítani a sugárzást. Az eset után kötelezővé tették a kórházak számára, hogy minden súlyos balesetet jelentsenek a hatóságoknak. Korábban ugyanis a gyártók elhallgathatták a hibákat, így a különböző kórházak nem tudtak egymás eseteiről. A szoftver fejlesztőjét soha nem nevezték meg nyilvánosan. A vizsgálatok során kiderült, hogy a teljes irányító szoftvert egyetlen személy írta évek alatt, PDP-11 assembly nyelven. A későbbi perek során a védőügyvédek sem tudták azonosítani a programozót, és semmit nem tudtak meg a végzettségéről vagy a korábbi tapasztalatairól sem. Annyit lehet tudni, hogy a programozó 1986-ban – még a botrány teljes kibontakozása előtt – távozott az AECL-től. A Therac-25 azóta a szoftvermérnöki képzés „állatorvosi lova” lett: azt tanítják vele, hogy a túlzott magabiztosság, a szoftverbe vetett vak bizalom és a független biztonsági rendszerek elhagyása életekbe kerülhet. Fritz Hager jelenleg is él, bár az 1980-as évek eseményei óta visszavonult a nyilvánosságtól, nemrégiben (2024 végén) egy szakmai interjúban szólalt meg, amelyben ismét felidézte a Therac-25 eseményeit. Továbbra is fontosnak tartja, hogy a jövő szoftvermérnökei tanuljanak a múlt hibáiból. Egy friss publikációban úgy nyilatkozott, hogy a Therac-25 esetei egyedülállóak a sugárterápia történetében, és fontos, hogy ezeket az „osztályteremben tanulják meg, ne pedig emberéletek árán”. A fizikus elszántsága nélkül valószínűleg még több áldozata lett volna a hibás szoftvernek, mivel a gyártó (AECL) az ő mindent elsöprő bizonyítékai előtt minden vádat tagadott.

passport/therac-25.1776539118.txt.gz · Utolsó módosítás: szerkesztette: vamsan