Maskinbrugergrænseflade [1] [2] | |
---|---|
PATIENTNAVN: TEST BEHANDLINGSMODUS: FIX BJÅLETYPE: X ENERGI (MeV): 25 FAKTISK FORESKRIVET ENHEDSHASTIGHED/MINUT 0 200 MONITORENHEDER 50 50 200 TID (MIN) 0,27 1,00 GANTRY ROTATION (GRADER) 0,0 0 VERIFICERT KOLLIMATORROTATION (GRADER) 359,2 359 VERIFICERT KOLLIMATOR X (CM) 14,2 14,3 VERIFICERT KOLLIMATOR Y (CM) 27,2 27,3 VERIFICERT KILE NUMMER 1 1 VERIFICERT TILBEHØRSNUMMER 0 0 VERIFICERT DATO : 84-OCT-26 SYSTEM : BEAM READY OP.MODUS: BEHANDLING AUTO TID : 12:55.8 BEHANDLING : BEHANDLING PAUSE : RØNTGEN 173777 OPR ID : T25VO2-RO3 ÅRSAG : OPERATØRKOMMANDO: |
Therac-25 (fra engelsk - "Terak-25") er et strålebehandlingsapparat , en medicinsk accelerator [3] , skabt af den canadiske statsorganisation " Atomic Energy of Canada Limited " (i det følgende benævnt AECL) og lanceret i serie i 1982 . Fra juni 1985 til januar 1987 forårsagede dette apparat mindst seks overdoser af stråling, nogle patienter fik doser på titusindvis af rads . Mindst to er døde direkte af overdoser.
Den umiddelbare årsag til tragedierne var fejl i enhedens software , og det grundlæggende problem var den forkerte sikkerhedsstrategi. Disse softwarefejl anses for at være en af de værste konsekvenser (forårsaget af software) i computerbrugens historie [4] . Ifølge en rapport i maj 1987 havde disse hændelser de værste konsekvenser i hele strålebehandlingens 35-årige historie [2] [5] .
Therac-25 bugs er ikke de eneste, der har ført til, at folk dør og overdoserer fra strålebehandlingsmaskiner. For eksempel, i 1991 i Spanien , i byen Zaragoza , blev mindst 25 patienter overdoseret på det opererede Sagitar-35-apparat inden for 10 dage, hvoraf mindst tre døde [6] [7] . Et karakteristisk træk ved Therac-25 er, at en gruppe eksperter blev organiseret for at undersøge hændelserne, som undersøgte årsagerne til og karakteristikaene ved hændelserne. Dette gjorde det ikke kun muligt at rekonstruere billedet af, hvad der skete, men også, baseret på de opnåede erfaringer, at forbedre procedurerne, direktiverne og rapporteringssystemet for at sikre sikkerheden af medicinsk udstyr [5] .
Medicinske lineære acceleratorer bruger elektroner til at skabe højenergistråler, der kan ødelægge tumorer med minimal skade på omgivende sundt væv. Tumorer , der er relativt overfladiske, bestråles med elektroner ( betastråling ) [1] [5] . For at nå dybere tumorer bombarderes målet med elektroner, og tumoren bestråles med sekundære røntgenstråler .
I begyndelsen af 1970'erne begyndte AECL og det franske firma Thomson CGR i fællesskab at fremstille en strålebehandlingsmaskine. Deres samarbejde resulterede i Therac-6, som kunne producere 6 MeV elektronstråler . Senere dukkede Therac-20 op, som giver dig mulighed for at arbejde med en energi på 20 MeV i to tilstande - elektronisk og røntgen. Begge enheder var versioner af eksisterende Thompson CGR-udviklinger ("henholdsvis Neptune" og "Sagittaire"), som blev suppleret af DEC PDP-11 minicomputeren . Computeren blev udelukkende brugt til at gøre det nemmere at arbejde med eksisterende hardware , der kunne fungere uafhængigt af softwaren [1] [5] .
Efter oprettelsen af Therac-20 i 1981 fornyede AECL og Thompson CGR, under henvisning til konkurrencepres, ikke deres samarbejdsaftale [1] [5] .
I midten af 1970'erne udviklede AECL et to-pass linac koncept, der optog mindre plads, samtidig med at det opnåede samme accelerationsenergi og var mere økonomisk at fremstille. Ud fra dette koncept blev Therac-25 designet, som gjorde det muligt at arbejde med både elektron- og røntgenstråler op til 25 MeV, og samtidig havde mulighed for at vælge en række forskellige energiniveauer [1] [5] .
Således var Therac-25 mere kompakt, fleksibel i indstillinger og uden tvivl mere bekvem at bruge [1] [5] . Derudover nyder højere energier godt af fænomenet dyb dosis [ ukendt udtryk ] : efterhånden som energien steg, øgedes også eksponeringsdybden, og dermed blev vævet tættere på overfladen udsat for mindre. De økonomiske fordele omfatter også, at der kun blev brugt én maskine til elektron- og røntgenterapi [1] [5] .
Den første prototype, som er fuldstændig hardware, blev skabt i 1976. I slutningen af 1982 var en kommerciel version klar, som var fuldstændig styret af en computer [1] [5] .
Flere funktioner i Therac-25-udviklingen er vigtige for at forstå årsagerne til ulykker. Først og fremmest blev Therac-6 og Therac-20, ligesom Therac-25, styret af en PDP-11- computer . Imidlertid designede AECL Therac-25 til at bruge brugerinteraktionssoftware, hvilket havde sine fordele. Derudover blev udviklingen, når man oprettede Therac-25, ikke udført uafhængigt, men i miljøet af eksisterende enheder, der ikke allerede var designet til programstyring [1] [5] .
Derudover påtog Therac-25-softwaren mere ansvar for sikker drift af hele komplekset, end det tidligere havde været tilfældet. Således havde Therac-20 uafhængige blokeringskredsløb, der styrede elektronstrålen, og mekaniske interlocks, som også var ansvarlige for sikkerheden [1] [5] . Therac-20 brugte også hardwareafbrydere og indbyggede sikringer til sikkerhedskontrol . I Therac-25 blev hardwarebeskyttelse fjernet, og sikkerhedsfunktioner blev tildelt software [8] .
I Therac-25 blev nogle af de beskrevne funktioner således overtaget af softwaren, og AECL besluttede ikke at duplikere verifikationen ved hjælp af hardwareenheder [1] [5] .
AECL -kvalitetskontrolchefen, der er ansvarlig for at verificere Therac-enheder, sagde, at den samme bibliotekspakke er blevet brugt siden begyndelsen af softwareudviklingen til Therac-20 og Therac-25 . Denne genbrug viste sig dog at være fejlagtig. Under undersøgelsen blev der fundet en fejl i bibliotekspakken, som viste sig på alle enheder, både på Therac-20 og Therac-25, men i sidstnævnte var beskyttelsen gennem ekstern kontrol svagere [1] [5] .
Apparatet var placeret i et rum med strålebeskyttelse . Computeren og terminalen var uden for lokalet. Der var organiseret video- og højttalerkommunikation mellem patienten og lægen, og der var nødafbrydere forskellige steder i rummet, som slukkede for strålingen.
Selve enheden var en lineær accelerator, under hvilken der var en roterende skive. Disken kan være i en af tre positioner:
For at bestemme skivens position blev der brugt tre mikrokontakter , som blev tændt af fremspring på skiven og en stempelmekanisme, hvis stilk kun strækker sig, når skiven er i en af de tre arbejdspositioner. Softwaren identificerede diskpositionen ved at læse et 3-bit mikroswitchpositionssignal.
Hovedproblemet med kombinerede røntgenapparater er, at hvis disken af en eller anden grund er i den forkerte position, vil patienten sandsynligvis overdosis. I dette tilfælde vil ioniseringskammeret ikke være under strålen, og det vil blive registreret, at nuldosen er blevet overført til patienten. Traditionelt bruges elektromekaniske låse i sådanne enheder, som ikke tillader at starte enheden i denne tilstand.
Enheden blev styret af en PDP-11 mini-computer med sit eget real-time operativsystem , som samtidigt udfører omkring et dusin opgaver, som var opdelt i kritiske og ikke-kritiske. Al software er skrevet i assemblersprog .
Therac-25-softwaren bestod af 20.000 kodeinstruktioner og blev udviklet af en enkelt programmør over flere år, inklusive dele af kode skrevet til Therac-6 og Therac-20 [8] .
Der blev givet meget få oplysninger i retten i Texas om, hvem den eneste programmør var. AECL har muligvis ikke givet deres ansættelsesjournaler, og medarbejdere i virksomheden har ikke givet data om deres uddannelse, kvalifikationer og erhvervserfaring. Det vides kun, at softwareudvikleren forlod virksomheden i 1986 [8] .
Al kontrol af enheden gik gennem DEC VT100 terminalen . Efter manuelt at have indstillet hældningen og positionen af emitteren, indtaster operatøren de parametre, der er foreskrevet af opskriften fra tastaturet. Hvis de matcher dem, der er indstillet manuelt, viser skærmen "Verified" (fra engelsk - "Confirmed"). Hvis parametrene ikke stemmer overens, kan behandlingen ikke begynde, før operatøren foretager justeringer. Strålingstypen, den foreskrevne dosis og varigheden af proceduren indtastes også.
På prototypemaskiner klagede operatører over, at det tog for lang tid at indtaste en recept for hver patient. Programmet blev ændret, og i stedet for manuelt at indtaste værdien, var det muligt at trykke på "CR"-tasten og kopiere informationen fra den gamle opskrift. En forkert indtastet opskrift kan også redigeres ved at trykke på "Op"-tasten.
Hvis enheden bemærker et problem under behandlingen, er to adfærdsscenarier mulige: "treatment suspend" (fra engelsk - "treatment suspended") og "treatment pause" (fra engelsk - "treatment paused"). "treatment suspend" fører til en genstart af computeren. Ved "behandlingspause" kan du foretage justeringer og fortsætte behandlingen ved at trykke på "P"-tasten. Hvis hændelsen "behandlingspause" gentages fem gange, genstarter systemet. Nogle fejlmeddelelser blev vist i formen "Fejl 1" ... "Fejl 64" (fra engelsk - "fejl 1"), hvor nummeret betød nummeret på den analoge eller digitale kanal, hvor fejlen opstod. Der var ingen beskrivelse af disse fejl i vejledningen, og der var heller ingen antydning om, hvorvidt disse fejl udgjorde nogen risiko for patienten.
Begivenheden "Behandlingsafbrydelse" skete ret ofte. For eksempel skete dette, når emitteren blev forskudt, eller når strålingsdosis var utilstrækkelig. Nogle gange var der op til 40 fejl om dagen. Disse pauser udgjorde ingen trussel for patienten, og efter justeringer kunne behandlingen fortsættes. Som det viste sig senere, gav disse fejl lægerne en falsk fornemmelse af, at det var næsten umuligt at genbestråle patienten.
Med udgivelsen af apparatet offentliggjorde AECL resultaterne af pålidelighedsundersøgelser, præsenteret i form af et flowchart . Denne rapport så kun på tilfældige computernedbrud - det blev antaget, at softwaren var gennemtestet, og der var ingen fejl tilbage i den.
I alt elleve enheder blev installeret: fem i USA og seks i Canada . De fleste af dem blev sat i drift i 1983 [8] .
Oplysningerne om denne hændelse er ret vage, da den ikke blev undersøgt. Ingen, ikke engang læger, troede, at Therac-25 var årsagen, selvom patienten sagde, at hun fik forbrændinger under strålebehandling.
Efter at have fjernet en brysttumor , modtog en 61-årig kvinde 10-MeV elektronterapi på en nærliggende lymfeknude nær hendes kraveben . Da strålingen blev påført, mærkede hun en forbrænding. Efter indgrebet sagde hun: "Du brændte mig", hvortil lægen svarede: "Det er umuligt." Selvom der ikke var tydelige tegn på en forbrænding, var huden på dette sted "varm at røre ved."
Efter nogen tid var skulderen hævet, smerten var sådan, at det var umuligt at bevæge armen. Det var tydeligt, at hun havde fået en stråleforbrænding , men lægerne kunne ikke finde en forklaring på dette. Bestrålingsdosis blev anslået til 15-20 tusind rads (bestråling af hele kroppen ved 1000 rad betragtes som dødelig, de sædvanlige terapeutiske doser overstiger ikke 200 rads) [7] . Brystet skulle fjernes. Læge Tim Still har sendt en forespørgsel til AECL for at se, om Therac-25 kan betjenes elektronisk uden brug af afbøjningsmagneter. I slutningen af 1985 blev der anlagt sag til retten, som blev afgjort uden for retten.
Efterfølgende døde kvinden i en bilulykke [8] .
Den 40-årige patient blev behandlet for livmoderhalskræft , hendes 24. Therac-25-procedure. 5 sekunder efter behandlingens start viste enheden en fejlmeddelelse "H-tilt" og gik i tilstanden "Behandlingspause". Dosimetrisystemet gav beskeden "Ingen dosis" (fra engelsk - "ingen dosis") [8] [9] . Ved at trykke på "P"-tasten begyndte operatøren det andet forsøg, idet han forventede, at denne gang ville den nødvendige dosis blive kommunikeret til patienten. Efter fem mislykkede forsøg med samme udfald som det første tilkaldte han en reparatør, men han fandt ingen skader. Patienten følte sig brændt. Tre dage senere begyndte hun at lide af smerter i låret, og dette område af kroppen blev rødt og hævet.
Den samlede dosis af stråling, som patienten modtager, er estimeret til 13.000 til 17.000 rad [7] .
Patienten døde den 3. november 1985. En obduktion viste, at dødsårsagen var kræft, men hvis kvinden ikke var død, ville hun have været nødt til at amputere sin hofte på grund af overeksponering af maskinen [8] .
AECL undersøgte hændelsen, men var ikke i stand til at genskabe fejlen. AECL har givet den ubekræftede konklusion, at hvis en af mikroswitchene sad midlertidigt fast, kunne disken teoretisk set være i den forkerte position. Det har vist sig, at en 1-bit fejl i signalet, der koder mikrokontakternes tilstand, som kunne være forårsaget af et brud på en af linjerne i omskifterkredsløbet, kan føre til generering af et tvetydigt signal om positionen af pladespilleren. Situationen blev forværret af det faktum, at stempelmekanismen, der fikserede skiven i arbejdsstillinger, fungerede på samme måde i alle arbejdsstillinger på skiven, inklusive dem, der var forkerte for denne tilstand, hvilket blev en anden falsk indikator for dens position. En fjerde kontrolkontakt blev tilføjet til designet af enheden, og subrutinen, der kontrollerede diskens position, blev også ændret: kodningen af mikroswitchene blev ændret, så den korrekt afspejlede diskens position, når en mikroswitch fejlede . Derudover blev der tilføjet et tjek af mikrokontakterne under rotationen af den roterende skive til softwaren, hvilket gjorde det muligt at bekræfte mikroswitchenes helbred og rotationsskivens bevægelse. Tre måneder senere tilbagekaldte AECL alle Therac-25'erne og foretog ændringer i overensstemmelse hermed.
Det canadiske Bureau of Radiation Safety undersøgte apparatet. Rapporten oplyste, at årsagen var en ødelagt mikroswitch, samt fejl i hardware- og softwaredesign.
En uafhængig ekspert hyret af Ontario Cancer Foundation udtalte, at hovedproblemet var manglen på hardwareblokkere. Blokeren blev installeret alene (der var ikke flere dokumenterede tilfælde af overeksponering i dette tilfælde).
Oplysningerne om hændelsen er vage, da enheden indtil sidste øjeblik var uden for mistanke. Therac-25 blev modificeret som reaktion på Hamilton-hændelsen. Patienten fik rødme af huden på højre lår i form af parallelle striber. Man mente, at årsagen enten var en reaktion på kemoterapi eller en forbrænding af varmepuden . Efterfølgende viste det sig, at placeringen af ledningerne på varmepuden slet ikke lignede en forbrænding. Patienten overlevede.
Den 21. marts fik patienten Ray Cox ordineret elektronisk terapi . Sygeplejersken kom ved et uheld ind i "X" (røntgen) - røntgenterapi blev brugt oftere, og hun var vant til det. Derefter, tilbage med "op"-tasten, ændrede hun "X" til "E" og trykkede på "CR" flere gange. Få sekunder efter affyringen af strålingen stoppede maskinen med beskeden "Fejlfunktion 54" (fra engelsk - "Fejlfunktion 54"). Der havde været lignende stop før, men den eneste konsekvens var nogle gener, så sygeplejersken trykkede på "P"-tasten for at fortsætte proceduren. Ved en tilfældighed blev videoforbindelsen på netop denne dag slået fra, og højttalertelefonen var brudt, så der var ingen kommunikation med patienten.
Under den første start af enheden mærkede patienten en forbrænding. Da dette ikke var hans første procedure (niende i træk), indså han, at der var noget galt. Så snart han begyndte at rejse sig fra bordet, tændte emitteren og brændte hans hånd igen. Ray rejste sig, gik svajende til indgangen til værelset og begyndte at banke på døren. Efter at have hørt banket åbnede operatøren straks døren til den chokerede og sårede patient [8] .
Ray Cox gik straks til sygehuset, men på grund af manglen på alvorlige årsager (kun rødme af huden) blev han sendt hjem.
Læge Fritz Hager blev tilkaldt, og han sørgede for, at kalibreringen var inden for normalområdet. Lægepersonalet tjekkede bilen og kunne ikke finde nogen problemer. Therac-25 blev tændt igen og virkede til sidst på dagen.
Om natten tog Ray til skadestuen på hospitalet på grund af smerter i nakke og skulder, hvor han fik konstateret elektrisk stød.
Næste dag var hardwaren lukket. To AECL-teknikere testede maskinen hele dagen, men det lykkedes ikke at genskabe fejlen "Fejlfunktion 54". Ifølge producentens dokumentation opstod meddelelsen, da maskinen udførte en overdosis eller underdosis, men uden detaljer om, hvad der præcist skete. En elektriker fra et uafhængigt firma sagde, at alt var i orden med jordforbindelsen , og der kunne ikke have været et elektrisk stød. Hager spurgte AECL, om der havde været andre overeksponeringer og fik svaret "nej" (hvilket er mærkeligt - det var syv måneder efter Hamilton-hændelsen, og efter Marietta-ulykken skulle de have modtaget en retssag). Den 7. april gik Therac-25 i drift.
Den samlede strålingsdosis modtaget af en patient anslås til at være mellem 16.500 og 25.000 rad, og blev modtaget på mindre end et sekund over et område på omkring 1 cm² [7] .
Efterfølgende begyndte Ray Cox at lide af periodiske anfald af kvalme, og hans venstre arm blev lammet. Han blev indlagt på grund af stråling. Flere komplikationer fulgte (inklusive lammelser af benene), og patienten døde i september samme år.
Den 11. april, under lignende omstændigheder, overeksponerede den samme Therac-25, ført af den samme sygeplejerske, en anden patient - det var den 66-årige buschauffør Vernon Kidd (Vernon Kidd). Han fik ordineret behandling mod hudkræft i ansigtet. Denne gang virkede fjernforbindelsen - operatøren hørte et højt skrig og løb straks ind i rummet med patienten, hvis halvdel af ansigtet var brændt.
Den modtagne dosis var mindst 4000 rad. Kidd døde tre uger senere, den 1. maj [7] .
En obduktion viste, at dødsårsagen var en høj dosis stråling til højre hjernelap og hjernestamme .
Maskinen blev straks taget ud af drift, og Hager begyndte sin egen undersøgelse. Sygeplejersken huskede, at hun havde erstattet "x" med "e" den dag. Det viste sig, at hvis dette blev gjort hurtigt nok, skete overeksponering med næsten 100 procent sandsynlighed.
En undersøgelse af årsagerne til fejlen startede, som trak ud i mere end to år.
Den 15. april indsendte AECL en hændelsesrapport til FDA og sendte et brev til alle klinikker med ordre om at op-knappen skulle brydes og forsegles [8] .
Fra nu af og indtil videre må knappen, der bruges til at flytte markøren tilbage gennem indstillede værdier (dvs. OP-knappen med en pil op), ikke bruges til redigering eller til andre formål.
For at undgå utilsigtet brug af denne knap skal den fjernes, og kontakterne fastgøres i åben position med elektrisk tape eller andet isolerende materiale ...
Deaktivering af denne nøgle betyder, at hvis der indtastes forkerte data, skal du nulstille dataene med "R"-tasten for at genstarte og indtaste dem igen.
Originaltekst (engelsk)[ Visskjule] Med øjeblikkelig virkning, og indtil videre, må den tast, der bruges til at flytte markøren tilbage gennem ordinationssekvensen (dvs. markøren "OP" indskrevet med en opadpegende pil), ikke bruges til redigering eller andre formål.For at undgå utilsigtet brug af denne nøgle, skal nøglehætten fjernes og kontaktkontakterne fastgøres i åben position med elektrisk tape eller andet isolerende materiale...
Deaktivering af denne nøgle betyder, at hvis nogen af de indtastede receptdata [er] forkerte, skal der bruges [en] "R"-nulstillingskommando, og hele recepten skal indtastes igen.Denne begrænsede kampagne tilfredsstillede ikke FDA, og den 2. maj 1986 erklærede agenturet Therac-25 for defekt. FDA-embedsmænd udtrykte også utilfredshed med, at AECL-brevet til brugere af maskinen ikke i tilstrækkelig grad forklarede arten af defekten og faren forbundet med den [8] .
Chicago læge Frank Borger, efter at have lært om fejlen Therac-25, besluttede han at finde ud af, om dette er muligt på hans Therac-20. Fejlen kunne ikke gentages, men en forbindelse blev senere opdaget. Da en ny gruppe studerende begyndte at øve sig på Therac-20, gik afbrydere ofte af . Dette blev gentaget i tre uger, men stoppede så praktisk talt - indtil næste gruppe. Begyndere laver ofte fejl og bruger ikke-standardiserede måder at indtaste information på - det betyder, at der med en bestemt sekvens indtastet fra tastaturet opstår en nødsituation. Før overeksponering udviklede den sig ikke kun, fordi Therac-20 brugte hardwarelåse, der ikke tillod stråling at blive tændt i tilfælde af fejl.
Therac-25 brugere dannede en aktionsgruppe og det første møde blev afholdt under American Physical Therapy Associations årsmøde.
FDA stillede følgende spørgsmål:
Patienten fik ordineret to røntgenbilleder og røntgenbehandling. Patienten modtog en overdosis på 8.000 til 10.000 rad og døde efterfølgende i april samme år. Forbrændingen mindede om den "varmeforbrænding", der var sket i Yakima året før.
Samtidig glemte operatøren at fjerne filmen under patienten, hvilket blev væsentligt bevis på forkert operation. Mens han ventede på teknikeren fra AECL, eksperimenterede lægen med apparatet, og det lykkedes at få samme mønster som på filmen.
Den 3. februar lavede AECL en rettelse til apparatet, og oplyste, at fejlen var anderledes end i Tyler. FDA stillede dog spørgsmålet som svar: "Er du sikker på, at hele systemet er sikkert "?
Den 13. april blev der afholdt et møde, hvor AECL-ledelsen, Therac-25-brugere og amerikanske og canadiske embedsmænd deltog. Der blev udarbejdet en liste over ønskede ændringer.
Nancy Liveson blev kontaktet af Texas Attorney's Office, mens han sagsøgte AECL.som ekspert til undersøgelse. På det tidspunkt var hun professor i datalogi ved University of California, Irvine og spillede en nøglerolle i banebrydende udviklingen af computersikkerhedsvidenskab. Nancy gik sammen med Clark S. Turner og i cirka tre år indsamlede de materialer og rekonstruerede begivenheder relateret til Therac-25 [8] . Dette resultat er især vigtigt, da oplysningerne i de fleste sikkerhedshændelser er ufuldstændige, modstridende og endda ukorrekte [7] .
Der blev fundet mindst fire fejl i Therac-25-softwaren, der kunne føre til overeksponering.
Ud over disse åbenlyse fejl blev der bemærket mange potentielle fejl - for eksempel var der ingen synkronisering i et multitasking -operativsystem .
Nancy Liveson beskriver i sine publikationer resultaterne af undersøgelsen som følger [1] [2] [5] .
En af de almindelige fejl begået af udviklere, der var for sikre på softwarens rigtighed. De personer, der ikke var forbundet med softwaren, mente, at den ikke kunne indeholde fejl. Som et resultat blev softwaren ignoreret. Især den første analyse påvirkede den ikke på nogen måde, selvom den udførte en række sikkerhedsfunktioner. Og da problemer begyndte at dukke op, blev det antaget, at de kunne opstå på grund af hardwarefejl, og kun hardwaren blev analyseret.
Softwaren var meget pålidelig. Det virkede titusindvis af gange, indtil den første overdosis indtraf. Og AECL begyndte at tro, at software er sikkert, fordi det er pålideligt, hvilket førte til overmod.
Softwaren indeholdt ikke selvtestprocedurer eller andre metoder til at opdage fejl.
Joblogs var begrænset på grund af manglende hukommelse. Men med tiden bliver computerhukommelsen billigere og mere tilgængelig, og der er ikke foretaget nogen handling i denne retning.
Patienternes reaktioner var de eneste indikationer på problemernes sværhedsgrad, og der var ingen uafhængig kontrol af, at Therac-25 fungerede korrekt. Operatører blev ikke forsynet med detaljerede diagnostiske oplysninger, og under sådanne forhold er brugerverifikation ikke mulig. Samtidig udførte maskinen operatørernes kommandoer uden kontrol.
Af disse grunde kunne ioniseringskamrene ikke klare den høje ioniseringstæthed i tilfælde af en højenergistråle. Derfor gik de i mætningstilstand, og information om en lav dosis blev overført til indikationen.
En af lektionerne fra Therac-25 var, at det er umuligt at bevise sikkerheden af et hardware/softwarekompleks kun baseret på en bestemt softwareimplementering. Billedligt talt kan ethvert komplekst softwaresystem opføre sig uforudsigeligt, da den eksisterende softwarefejl altid kan forblive ukendt. Og dermed kan man ikke stole fuldt ud på softwaren og er forpligtet til at kontrollere den med tredjepartsmidler.
For eksempel var Therac-20 udstyret med hardwareblokkere, der forhindrer farlig dosering. Dette gav den egenskab, at systemet i tilfælde af softwarefejl opførte sig sikkert. Vi kan således ikke eliminere alle softwarefejl, men hvis de opstår, kan vi fjerne deres konsekvenser.
Derudover er det ved brug af software svært at fastslå årsagerne til hændelsen, og det kræver en dybere analyse. Og selvom der findes et problem, fører løsningen af det ikke til, at systemet fungerer sikkert, da kun en af de farlige faktorer er elimineret.
Det virkelige arbejde begyndte først, da flere mennesker var overeksponerede. For eksempel i Hamilton blev mikrokontakter betragtet som årsagen til fejlen, selvom ingeniørerne ikke fandt fejlen og ikke kunne genskabe fejlen.
Det sker ofte, at folk først begynder at være opmærksomme på farerne ved teknologiske enheder, efter at en hændelse har fundet sted. Efter Therac-25-dødsfaldene beskrev en medicinsk fysiker denne faktor som følger [1] [2] [5] :
I løbet af det sidste årti eller to kan den medicinske acceleratorindustri være kommet til en vis selvtilfredshed med hensyn til sikkerhed. Vi begyndte at tro, at producenter af alle typer sikre enheder har den nødvendige erfaring i deres udvikling, fordi de har været i drift i lang tid. Vi ved, at der er mange sikkerhedsforskrifter, retningslinjer og standarder, som vi følger, og vi har været overbeviste om disse maskiners fremragende omdømme. Det er bemærkelsesværdigt, at indtil nu, bortset fra et par tilfælde i 1960'erne. (i Hammersmith og Hamburg) var der ikke en eneste alvorlig strålingshændelse ved brugen af medicinske acceleratorer. Måske blev vi blændet af denne succes.
Originaltekst (engelsk)[ Visskjule] I det seneste årti eller to er den medicinske acceleratorindustri måske blevet lidt selvtilfreds med sikkerheden. Vi har antaget, at producenterne har alle former for sikkerhedsdesignerfaring, da de har været i branchen i lang tid. Vi ved, at der er mange sikkerhedskoder, vejledninger og regler til at vejlede dem, og vi er blevet beroliget af disse maskiners hidtil fremragende resultater. Bortset fra nogle få hændelser i 1960'erne (f.eks. i Hammersmith, Hamborg) har brugen af medicinske acceleratorer indtil nu været bemærkelsesværdigt fri for alvorlige strålingsulykker. Måske, selvom vi er blevet forkælet af denne succes.Første analyseudelukket software ud fra den antagelse, at sandsynligheden for enhver softwarefejl er den samme. Den probabilistiske risikovurdering skabte en overtillid til apparatets drift og til rigtigheden af risikovurderingstallene.
Af denne grund iværksatte AECL ikke en undersøgelse, efter at den første hændelse blev rapporteret. Det blev antaget, at fem mikroswitches, hver med en fejlsandsynlighed på 10 −5 , ikke kunne svigte samtidigt. Problemet med denne analyse var at antage uafhængigheden af fejl og at udelukke software som årsag til en farlig fejl.
Enhver virksomhed, der udvikler software til sikkerhedskritiske systemer , bør oprette en arbejdslog for programmer samt hændelsesanalyseprocedurer, der vil give dig mulighed for at finde information om problemet og hjælpe med at bestemme årsagerne til hændelsen.
I dette tilfælde, efter det første opkald fra Marietta, var det nødvendigt at starte en detaljeret undersøgelse. I det generelle tilfælde bør den første besked om de opståede problemer, der fører til tragiske konsekvenser, ændre holdningen til omstændighederne med et øjeblikkeligt svar.
Nogle grundlæggende programmeringspraksis i Therac-25 blev ignoreret, nemlig:
Producenten sagde, at softwaren og hardwaren er blevet testet i mange år. Men under forsøget viste det sig, at softwaren blev testet med et minimum antal test på simulatoren, og det meste af tiden blev hele systemet testet. Således blev enhedstest forsømt, og kun integrationstest blev udført .
Udviklerne rapporterede, at systemet i alt blev testet i 2700 timer. Som det senere blev fundet ud af, betød denne gang den tid, hvor operatøren interagerede med systemet. FDA anså dette for at være en utilstrækkelig testplan på grund af den tilsyneladende utilstrækkelige regressionstestning. Som en konsekvens heraf har FDA konkluderet, at der ikke er beviser for korrekt test af systemet.
Systemets arkitektur var urimeligt kompleks og svær at verificere, hvilket er uacceptabelt for sikkerhedskritiske systemer. Therac-25 var ikke modtagelig for test af den grund, at de fleste af de potentielle fejl var næsten umulige at identificere ved hjælp af test, da situationerne for deres forekomst var sjældne og atypiske. Denne bestemmelse annullerer ikke testning, men siger, at designet skal udføres på en sådan måde, at systemet vil være testbart i fremtiden.
Det er blevet naivt foreslået, at genbrug af kode eller et produkt i æske vil øge sikkerheden af softwaren på grund af levetiden af dens succesfulde applikation. Genbrug af kode garanterer ikke modulets sikkerhed i det nye system, da dets design har sine egne karakteristika. Omskrivning fra bunden giver dig mulighed for at få et enklere og mere gennemsigtigt system, og som et resultat mere sikkert.
I dette tilfælde blev kode genbrugt fra Therac-6 og Therac-20. Therac-6 havde ingen røntgenterapi overhovedet, Therac-20 brugte en mekanisk blokering.
At forsøge at gøre maskinen så brugervenlig som muligt kan være i konflikt med sikkerhedshensyn.
Selvfølgelig er en god brugergrænseflade ønskelig, men antagelsen om, at operatøren altid vil indtaste de korrekte data, er urealistisk. Det er bedre at tvinge brugeren til at indtaste oplysninger en anden gang end at håbe på, at han vil kontrollere alle de indtastede værdier.
Siden Therac-25-ulykkerne har FDA ændret mening om en masse systemsikkerhedsproblemer, især software. Som følge heraf har FDA iværksat en proces med at forbedre sine procedurer, retningslinjer og rapporteringssystemer og har inkluderet software i dem. Denne lektion var vigtig ikke kun for FDA, men for alle sikkerhedskritiske industrielle systemer.