Koneen käyttöliittymä [1] [2] | |
---|---|
POTILAS NIMI: TESTI HOITOTILA: KIINTEÄ SÄDETYYPPI: X ENERGIA (MeV): 25 TODELLINEN SÄÄDETTY YKSIKKÖKOHTA/MINUUTTTI 0 200 NÄYTTÖYKSIKÖT 50 50 200 AIKA (MIN) 0,27 1,00 GANTRY ROTATION (DEG) 0,0 0 VARMISTETTU KOLLIMAATTORIN PYÖRIMINEN (ASTE) 359,2 359 VAHVISTETTU COLLIMATOR X (CM) 14.2 14.3 VAHVISTETTU KOLLIMAATTORI Y (CM) 27,2 27,3 VAHVISTETTU KIILA NUMERO 1 1 VAHVISTETTU LISÄVARUSTEEN NUMERO 0 0 VAHVISTETTU PÄIVÄMÄÄRÄ: 84-OCT-26 JÄRJESTELMÄ: SÄTEIDEN VALMIS KÄYTTÖTILA: AUTOMAATTINEN KÄSITTELY AIKA : 12:55.8 HOITO : HOITO TAUKO : Röntgen 173777 OPR ID: T25VO2-RO3 SYY: KÄYTTÄJÄKOMENTO: |
Therac-25 ( englanniksi - "Terak-25") on sädehoitolaite , lääketieteellinen kiihdytin [3] , jonka on luonut Kanadan valtion järjestö " Atomic Energy of Canada Limited " (jäljempänä AECL) ja lanseerattiin sarjaan vuonna 1982 . Kesäkuusta 1985 tammikuuhun 1987 tämä laite aiheutti vähintään kuusi säteilyn yliannostusta, ja jotkut potilaat saivat kymmenien tuhansien radi -annoksia . Ainakin kaksi on kuollut suoraan yliannostukseen.
Tragedioiden välitön syy oli virheet laitteen ohjelmistossa ja perusongelmana väärä turvallisuusstrategia. Näitä ohjelmistovirheitä pidetään yhtenä pahimmista (ohjelmistojen aiheuttamista) seurauksista tietokoneen käytön historiassa [4] . Toukokuussa 1987 julkaistun raportin mukaan näillä tapauksilla oli pahimmat seuraukset koko sädehoidon 35-vuotisen historian aikana [2] [5] .
Therac-25-bakteerit eivät ole ainoita, jotka ovat johtaneet ihmisten kuolemaan ja yliannostukseen sädehoitolaitteista. Esimerkiksi vuonna 1991 Espanjassa , Zaragozan kaupungissa , vähintään 25 potilasta sai yliannostuksen leikatulla Sagitar-35-laitteella 10 päivän sisällä, joista ainakin kolme kuoli [6] [7] . Therac-25:n erityispiirteenä on, että tapauksia tutkimaan järjestettiin asiantuntijaryhmä, joka selvitti tapahtumien syitä ja ominaisuuksia. Tämä mahdollisti paitsi kuvan tapahtuneen rekonstruoimisen myös saadun kokemuksen perusteella parantaa lääkinnällisten laitteiden turvallisuuden takaavia menettelyjä, ohjeita ja raportointijärjestelmää [5] .
Lääketieteelliset lineaarikiihdyttimet käyttävät elektroneja luodakseen suurienergisiä säteitä, jotka voivat tuhota kasvaimia ja vahingoittaa mahdollisimman vähän ympäröivää tervettä kudosta. Suhteellisen matalia kasvaimia säteilytetään elektroneilla ( beetasäteily ) [1] [5] . Syvempien kasvainten saavuttamiseksi kohdetta pommitetaan elektroneilla ja kasvain säteilytetään toissijaisilla röntgensäteillä .
1970-luvun alussa AECL ja ranskalainen Thomson CGR aloittivat yhdessä sädehoitolaitteen valmistuksen. Heidän yhteistyönsä johti Therac-6:een, joka pystyi tuottamaan 6 MeV elektronisuihkua . Myöhemmin ilmestyi Therac-20, jonka avulla voit työskennellä 20 MeV :n energialla kahdessa tilassa - elektronisessa ja röntgensäteessä. Molemmat laitteet olivat versioita olemassa olevista Thompson CGR -kehityksistä ("Neptune" ja "The Sagittaire", vastaavasti), joita täydensi DEC PDP-11 -minitietokone . Tietokonetta käytettiin yksinomaan helpottamaan työskentelyä olemassa olevien laitteistojen kanssa , jotka voisivat toimia ohjelmistosta riippumatta [1] [5] .
Therac-20:n luomisen jälkeen vuonna 1981 AECL ja Thompson CGR eivät kilpailupaineeseen vedoten uusineet yhteistyösopimustaan [1] [5] .
1970-luvun puolivälissä AECL kehitti kaksivaiheisen linac-konseptin, joka vei vähemmän tilaa ja saavutti saman kiihtyvyysenergian ja oli taloudellisempi valmistaa. Tämän konseptin pohjalta suunniteltiin Therac-25, joka mahdollisti työskentelyn sekä elektronien että röntgensäteiden kanssa 25 MeV:iin asti, ja samalla sillä oli kyky valita useita eri energiatasoja [1] [5] .
Siten Therac-25 oli kompaktimpi, joustavampi asetuksissa ja luultavasti kätevämpi käyttää [1] [5] . Lisäksi korkeammat energiat hyötyivät syvän annoksen ilmiöstä [ tuntematon termi ] : energian kasvaessa myös altistuksen syvyys kasvoi, ja siten pintaa lähempänä oleva kudos altistui vähemmän. Taloudellisia etuja ovat myös se, että elektroni- ja röntgenhoitoon käytettiin vain yhtä konetta [1] [5] .
Ensimmäinen prototyyppi, joka on täysin laitteisto, luotiin vuonna 1976. Vuoden 1982 lopussa oli valmis kaupallinen versio, jota ohjattiin kokonaan tietokoneella [1] [5] .
Useat Therac-25-kehityksen piirteet ovat tärkeitä onnettomuuksien syiden ymmärtämisessä. Ensinnäkin Therac-6 ja Therac-20, kuten Therac-25, ohjattiin PDP-11- tietokoneella . AECL kuitenkin suunnitteli Therac-25:n käyttämään käyttäjän vuorovaikutusohjelmistoa, jolla oli etunsa. Lisäksi Therac-25:tä luotaessa kehitystä ei suoritettu itsenäisesti, vaan olemassa olevien laitteiden ympäristössä, joita ei ollut jo suunniteltu ohjelman ohjaukseen [1] [5] .
Lisäksi Therac-25-ohjelmisto otti aiempaa enemmän vastuuta koko kompleksin turvallisesta toiminnasta. Siten Therac-20:ssa oli itsenäiset estopiirit, jotka ohjasivat elektronisuihkua, ja mekaaniset lukitukset, jotka myös vastasivat turvallisuudesta [1] [5] . Therac - 20 käytti myös laitteistokatkaisijoita ja sulakkeita turvaohjaukseen . Therac-25:ssä laitteistosuojaus poistettiin ja ohjelmistoille määritettiin tietoturvatoiminnot [8] .
Siten Therac-25:ssä jotkin kuvatuista toiminnoista siirtyivät ohjelmistoon, ja AECL päätti olla kopioimatta varmennusta laitteiston avulla [1] [5] .
Therac -laitteiden varmentamisesta vastaava AECL- laadunvalvontapäällikkö sanoi, että samaa kirjastopakettia on käytetty Therac-20:n ja Therac-25:n ohjelmistokehityksen alusta lähtien . Tämä uudelleenkäyttö osoittautui kuitenkin virheelliseksi. Tutkinnan aikana kirjastopaketista löydettiin bugi, joka ilmeni kaikissa laitteissa, sekä Therac-20:ssä että Therac-25:ssä, mutta jälkimmäisessä suojaus ulkoisten tarkistusten kautta oli heikompaa [1] [5] .
Laite sijaitsi huoneessa, jossa oli säteilysuojaus . Tietokone ja pääte olivat huoneen ulkopuolella. Potilaan ja lääkärin välille järjestettiin video- ja kaiutinviestintä , ja eri paikoissa huoneessa oli hätäkytkimet, jotka sammuttivat säteilyn.
Itse laite oli lineaarinen kiihdytin, jonka alla oli pyörivä levy. Levy voi olla jossakin kolmesta asennosta:
Kiekon asennon määrittämiseen käytettiin kolmea mikrokytkintä , jotka kytkettiin päälle levyn ulkonemilla ja mäntämekanismilla, jonka varsi ulottuu vain levyn ollessa yhdessä kolmesta työasennosta. Ohjelmisto tunnisti levyn sijainnin lukemalla 3-bittisen mikrokytkimen asentosignaalin.
Yhdistettyjen röntgenlaitteiden suurin ongelma on, että jos levy jostain syystä on väärässä asennossa, potilas saa todennäköisesti yliannostuksen. Tässä tapauksessa ionisaatiokammio ei ole säteen alla ja tallennetaan, että nollaannos on siirretty potilaalle. Perinteisesti tällaisissa laitteissa käytetään sähkömekaanisia lukituksia, jotka eivät salli laitteen käynnistämistä tässä tilassa.
Laitetta ohjattiin PDP-11 -minitietokoneella , jossa oli oma reaaliaikainen käyttöjärjestelmä , joka suorittaa samanaikaisesti noin tusinaa tehtävää, jotka jaettiin kriittisiin ja ei-kriittisiin. Kaikki ohjelmistot on kirjoitettu assembly - kielellä .
Therac-25-ohjelmisto koostui 20 000 koodikäskystä, ja sen on kehittänyt yksi ohjelmoija useiden vuosien ajan, mukaan lukien osia Therac-6:lle ja Therac-20:lle kirjoitetusta koodista [8] .
Texasin tuomioistuimessa annettiin hyvin vähän tietoa siitä, kuka ainoa ohjelmoija oli. AECL ei ole ehkä toimittanut työtietojaan, eivätkä yrityksen työntekijät ole toimittaneet tietoja koulutuksestaan, pätevyydestään ja työkokemuksestaan. Tiedetään vain, että ohjelmistokehittäjä jätti yrityksen vuonna 1986 [8] .
Kaikki laitteen ohjaus meni DEC VT100 - liittimen kautta . Asetettuaan manuaalisesti lähettimen kaltevuuden ja asennon, käyttäjä syöttää reseptin määräämät parametrit näppäimistöltä. Jos ne vastaavat manuaalisesti asetettuja, näytössä näkyy "Verified" ( englanniksi - "Confirmed"). Jos parametrit eivät täsmää, hoitoa ei voi aloittaa ennen kuin käyttäjä tekee säädöt. Myös säteilyn tyyppi, määrätty annos ja toimenpiteen kesto ilmoitetaan.
Prototyyppikoneiden operaattorit valittivat, että reseptin kirjoittaminen kullekin potilaalle kesti liian kauan. Ohjelmaa muokattiin ja arvon manuaalisen syöttämisen sijaan oli mahdollista painaa "CR"-näppäintä, jolloin tiedot kopioitiin vanhasta reseptistä. Väärin syötettyä reseptiä voidaan myös muokata painamalla "Ylös"-näppäintä.
Jos laite havaitsee ongelman hoidon aikana, kaksi toimintaskenaariota ovat mahdollisia: "hoito keskeytetty" ( englanniksi - "hoito keskeytetty") ja "hoitotauko" ( englanniksi - "hoito keskeytetty"). "hoidon keskeytys" johtaa tietokoneen uudelleenkäynnistykseen . "Hoitotauon" tapauksessa voit tehdä säätöjä ja jatkaa hoitoa painamalla "P"-näppäintä. Jos "hoidon tauko" -tapahtuma toistuu viisi kertaa, järjestelmä käynnistyy uudelleen. Jotkut virheilmoitukset näytettiin muodossa "Malfunction 1" ... "Malfunction 64" ( englanniksi - "vika 1"), jossa numero tarkoitti analogisen tai digitaalisen kanavan numeroa, jolla virhe tapahtui. Ohjeissa ei ollut kuvausta näistä virheistä, eikä myöskään vihjeitä siitä, aiheuttavatko nämä virheet potilaalle riskiä.
"Hoidon keskeytys" tapahtui melko usein. Tämä tapahtui esimerkiksi silloin, kun säteilijä oli siirretty tai kun säteilyannos oli riittämätön. Joskus virheitä oli jopa 40 päivässä. Nämä tauot eivät aiheuttaneet uhkaa potilaalle, ja säätöjen jälkeen hoitoa voitiin jatkaa. Kuten myöhemmin kävi ilmi, nämä virheet antoivat lääkäreille väärän käsityksen siitä, että potilasta oli lähes mahdotonta säteilyttää uudelleen.
Laitteen julkaisun myötä AECL julkaisi luotettavuustutkimusten tulokset vuokaavion muodossa . Tässä raportissa tarkasteltiin vain satunnaisia tietokoneen kaatumisia - oletettiin, että ohjelmisto oli hyvin testattu ja siinä ei ollut virheitä.
Kaikkiaan yksitoista yksikköä asennettiin: viisi Yhdysvalloissa ja kuusi Kanadassa . Suurin osa niistä otettiin käyttöön vuonna 1983 [8] .
Tieto tapahtumasta on melko epämääräistä, koska sitä ei ole tutkittu. Kukaan, eivät edes lääkärit, eivät uskoneet Therac-25:n olevan syynä, vaikka potilas ilmoitti saaneensa palovammoja sädehoidon aikana.
Rintakasvain poiston jälkeen 61 -vuotias nainen sai 10-MeV-elektroniterapiaa läheiseen imusolmukkeeseen lähellä hänen solisluutaan . Kun säteilyä käytettiin, hän tunsi palovamman. Toimenpiteen jälkeen hän sanoi: "Politit minut", johon lääkäri vastasi: "Se on mahdotonta." Vaikka palovamman merkkejä ei ollut, tämän paikan iho oli "lämmin kosketukseen".
Jonkin ajan kuluttua olkapää oli turvoksissa, kipu oli sellainen, että käsivartta oli mahdotonta liikuttaa. Oli ilmeistä, että hän oli saanut säteilypalovamman , mutta lääkärit eivät löytäneet selitystä tälle. Säteilyannokseksi arvioitiin 15-20 tuhatta radia (koko kehon säteilytystä 1000 rad:lla pidetään kohtalokkaana, tavanomaiset terapeuttiset annokset eivät ylitä 200 radia) [7] . Rintakehä piti poistaa. Lääkäri Tim Still on lähettänyt kyselyn AECL:lle selvittääkseen, voidaanko Therac-25:tä käyttää elektronisesti ilman taivutusmagneetteja. Vuoden 1985 lopussa oikeuteen nostettiin kanne, joka sovittiin ilman oikeudenkäyntiä.
Myöhemmin nainen kuoli auto-onnettomuudessa [8] .
40-vuotias potilas sai 24. Therac-25-leikkauksensa hoitoon kohdunkaulan syöpää . 5 sekuntia hoidon aloittamisen jälkeen laite näytti virheilmoituksen "H-tilt" ja siirtyi "Hoitotauko"-tilaan. Dosimetriajärjestelmä antoi viestin "No dose" ( englanniksi - "no dose") [8] [9] . Painamalla "P"-näppäintä käyttäjä aloitti toisen yrityksen odottaen, että tällä kertaa tarvittava annos välitetään potilaalle. Viiden epäonnistuneen yrityksen jälkeen, joilla oli sama tulos kuin ensimmäisellä, hän kutsui korjaajan, mutta hän ei löytänyt vaurioita. Potilas tunsi itsensä poltetuksi. Kolme päivää myöhemmin hän alkoi kärsiä kivusta reidessä, ja tämä kehon alue muuttui punaiseksi ja turvotuksi.
Potilaan saaman kokonaissäteilyannoksen arvioidaan olevan 13 000-17 000 radia [7] .
Potilas kuoli 3.11.1985. Ruumiinavaus osoitti, että kuolinsyy oli syöpä, mutta jos nainen ei olisi kuollut, hänen olisi pitänyt amputoida lonkkansa koneen liiallisen altistumisen vuoksi [8] .
AECL tutki tapauksen, mutta ei kyennyt toistamaan vikaa. AECL on antanut vahvistamattoman johtopäätöksen, että jos jokin mikrokytkimistä jää tilapäisesti jumiin, levy voi teoriassa olla väärässä asennossa. On havaittu, että 1-bittinen virhe mikrokytkimien tilaa koodaavassa signaalissa, joka voi johtua kytkinpiirin yhden linjan katkeamisesta, voi johtaa epäselvän signaalin syntymiseen kytkinpiirin asennosta. levysoitin. Tilannetta pahensi se, että levyn työasentoihin kiinnittynyt mäntämekanismi toimi samalla tavalla kaikissa levyn työasennoissa, mukaan lukien tähän tilaan virheelliset, mistä tuli toinen virheellinen ilmaisin sen asennosta. Laitteen suunnitteluun lisättiin neljäs, ohjauskytkin, ja myös levyn paikkaa tarkistanut aliohjelma muutettiin: mikrokytkimien koodaus muutettiin niin, että se heijastaa oikein levyn asentoa, kun jokin mikrokytkin epäonnistuu. . Lisäksi ohjelmistoon lisättiin mikrokytkimien tarkistus pyörivän levyn pyörimisen aikana, mikä mahdollisti mikrokytkimien kunnon ja pyörivän levyn liikkeen varmistamisen. Kolme kuukautta myöhemmin AECL poisti kaikki Therac-25:t ja teki muutoksia vastaavasti.
Kanadan säteilyturvallisuusvirasto tutki laitteen. Raportin mukaan syynä oli rikkinäinen mikrokytkin sekä laitteisto- ja ohjelmistosuunnitteluvirheet.
Ontario Cancer Foundationin palkkaama riippumaton asiantuntija totesi, että suurin ongelma oli laitteiston estolaitteiden puute. Esto asennettiin yksinään (tässä tapauksessa ei ollut enää dokumentoituja ylialtistustapauksia).
Tieto tapahtumasta on epämääräistä, sillä viime hetkeen asti laitetta ei voitu epäillä. Therac-25:tä muutettiin vastauksena Hamiltonin tapaukseen. Potilas sai oikean reiden ihon punoitusta yhdensuuntaisten juovien muodossa. Syynä arveltiin olevan joko reaktio kemoterapiaan tai lämmitystyynyn palovamma . Myöhemmin kävi ilmi, että johtojen sijainti lämmitystyynyllä ei muistuttanut lainkaan palovammaa. Potilas selvisi.
Potilaalle Ray Coxille määrättiin 21. maaliskuuta elektroninen hoito . Sairaanhoitaja tuli vahingossa "X" (röntgen) - röntgenhoitoa käytettiin useammin ja hän oli tottunut siihen. Sitten palattuaan ylös-näppäimellä hän vaihtoi "X":n "E":ksi ja painoi "CR" useita kertoja. Muutama sekunti säteilyn laukaisun jälkeen kone pysähtyi viestillä "Malfunction 54" ( englanniksi - "Malfunction 54"). Vastaavia pysähdyksiä oli ollut aiemminkin, mutta ainoa seuraus oli epämukavuus, joten hoitaja painoi "P"-näppäintä jatkaakseen toimenpidettä. Sattumalta juuri tänä päivänä videolinkki sammutettiin ja kaiutinpuhelin oli rikki, joten kommunikaatiota potilaan kanssa ei ollut.
Laitteen ensimmäisen käynnistyksen yhteydessä potilas tunsi palovamman. Koska tämä ei ollut hänen ensimmäinen toimenpide (yhdeksäs peräkkäin), hän tajusi, että jotain oli vialla. Heti kun hän alkoi nousta pöydästä, säteilijä käynnistyi ja poltti kätensä uudelleen. Ray nousi, käveli huojuen huoneen sisäänkäynnille ja alkoi koputtaa ovea. Kuultuaan koputuksen käyttäjä avasi välittömästi oven järkyttyneelle ja loukkaantuneelle potilaalle [8] .
Ray Cox meni välittömästi sairaalaan, mutta vakavien syiden puutteen vuoksi (vain ihon punoitus) lähetettiin kotiin.
Soitettiin lääkäri Fritz Hagerille, joka varmisti, että kalibrointi oli normaalialueella. Hoitohenkilöstö tarkasti auton eivätkä löytäneet mitään ongelmia. Therac-25 käynnistettiin uudelleen ja toimi päivän loppuun asti.
Yöllä Ray meni sairaalan ensiapuun niska- ja olkapäänsä kivun vuoksi, jossa hänelle diagnosoitiin sähköisku.
Seuraavana päivänä laitteisto suljettiin. Kaksi AECL-teknikkoa testasi konetta koko päivän, mutta eivät pystyneet toistamaan "Malfunction 54" -virhettä. Valmistajan dokumenttien mukaan viesti ilmestyi, kun kone suoritti yli- tai aliannoksen, mutta ilman tarkempia tietoja siitä, mitä tarkalleen tapahtui. Riippumattoman yrityksen sähköasentaja sanoi, että maadoituksessa kaikki oli kunnossa eikä sähköiskua voinut tulla. Hager kysyi AECL:ltä, oliko muita ylialtistuksia ollut ja sai vastauksen "ei" (mikä on outoa - tämä tapahtui seitsemän kuukautta Hamiltonin tapauksen jälkeen, ja Mariettan onnettomuuden jälkeen heidän olisi pitänyt saada oikeusjuttu). Therac-25 astui käyttöön 7. huhtikuuta.
Potilaan saaman kokonaissäteilyannoksen arvioidaan olevan 16 500 - 25 000 radia, ja se saatiin alle sekunnissa noin 1 cm²:n alueelle [7] .
Myöhemmin Ray Cox alkoi kärsiä säännöllisistä pahoinvointikohtauksista ja hänen vasen kätensä halvaantui. Hän joutui sairaalaan säteilyaltistuksen vuoksi. Seurasi lisää komplikaatioita (mukaan lukien jalkojen halvaantuminen), ja potilas kuoli saman vuoden syyskuussa.
Huhtikuun 11. päivänä, samanlaisissa olosuhteissa, sama Therac-25, jota sama sairaanhoitaja, ylivalotti toisen potilaan - se oli 66-vuotias bussikuski Vernon Kidd (Vernon Kidd). Hänelle määrättiin hoitoa kasvojen ihosyöpään. Tällä kertaa etäyhteys toimi - operaattori kuuli kovaa huutoa ja juoksi välittömästi huoneeseen potilaan kanssa, jonka puolet kasvoista oli palanut.
Saatu annos oli vähintään 4000 rad. Kidd kuoli kolme viikkoa myöhemmin, 1. toukokuuta [7] .
Ruumiinavaus osoitti, että kuolinsyynä oli suuri säteilyannos aivojen oikeaan lohkoon ja aivorunkoon .
Kone poistettiin välittömästi käytöstä ja Hager aloitti oman tutkinnan. Sairaanhoitaja muisti, että hän oli sinä päivänä korvannut "x":n "e":llä. Kävi ilmi, että jos tämä tehtiin riittävän nopeasti, ylivalottuminen tapahtui lähes 100 prosentin todennäköisyydellä.
Virheen syiden selvitys aloitettiin, ja se kesti yli kaksi vuotta.
Huhtikuun 15. päivänä AECL jätti tapausraportin FDA:lle ja lähetti kirjeen kaikille klinikoille, jossa määrättiin ylös-painike rikottavaksi ja sinetöitäväksi [8] .
Tästä eteenpäin toistaiseksi painiketta, jolla osoitinta siirretään taaksepäin asetettujen arvojen välillä (eli YLÖS-painiketta, jossa on nuoli ylös), ei saa käyttää muokkaamiseen tai mihinkään muuhun tarkoitukseen.
Tämän painikkeen tahattoman käytön välttämiseksi se on irrotettava ja koskettimet kiinnitettävä avoimeen asentoon sähköteipillä tai muulla eristemateriaalilla...
Tämän avaimen poistaminen käytöstä tarkoittaa, että jos syötät vääriä tietoja, sinun on nollattava tiedot R-näppäimellä käynnistääksesi uudelleen ja syöttääksesi ne uudelleen.
Alkuperäinen teksti (englanniksi)[ näytäpiilottaa] Välittömästi ja toistaiseksi voimassa olevaa näppäintä, jolla kohdistinta siirretään takaisin ohjejakson läpi (eli kohdistinta "YLÖS", johon on merkitty ylöspäin osoittava nuoli), ei saa käyttää muokkaamiseen tai mihinkään muuhun tarkoitukseen.Tämän avaimen tahattoman käytön välttämiseksi avaimen suojus on irrotettava ja kytkimen koskettimet kiinnitettävä avoimeen asentoon sähköteipillä tai muulla eristemateriaalilla...
Tämän avaimen poistaminen käytöstä tarkoittaa, että jos annetut reseptitiedot [ovat] virheellisiä, ["R"-nollauskomentoa on käytettävä ja koko resepti syötettävä uudelleen.Tämä rajoitettu promootio ei tyydyttänyt FDA:ta, ja virasto julisti 2. toukokuuta 1986 Therac-25:n vialliseksi. FDA:n viranomaiset ilmaisivat myös tyytymättömyytensä siihen, että AECL:n kirje koneen käyttäjille ei selittänyt riittävästi vian luonnetta ja siihen liittyvää vaaraa [8] .
Chicagon lääkäri Frank Borger, saatuaan tietää Therac-25-virheestä, päätti selvittää, onko tämä mahdollista hänen Therac-20:ssaan. Virhettä ei voitu toistaa, mutta yhteys havaittiin myöhemmin. Kun uusi opiskelijaryhmä aloitti harjoittelun Therac-20:llä, katkaisijat usein laukesivat . Tätä toistettiin kolmen viikon ajan, mutta sitten käytännössä lopetettiin - seuraavaan ryhmään asti. Aloittelijat tekevät usein virheitä ja käyttävät epätyypillisiä tapoja syöttää tietoja - tämä tarkoittaa, että tietyllä näppäimistöltä syötetyllä järjestyksellä tapahtuu hätätilanne. Ennen ylivalotusta se ei kehittynyt vain siksi, että Therac-20 käytti laitteiston lukot, jotka eivät sallineet säteilyn kytkemistä päälle virheiden sattuessa.
Therac-25:n käyttäjät muodostivat toimintaryhmän ja ensimmäinen tapaaminen pidettiin American Physical Therapy Associationin vuosikokouksen aikana.
FDA esitti seuraavat kysymykset:
Potilaalle määrättiin kaksi röntgenkuvausta ja röntgenhoitoa. Potilas sai 8 000 - 10 000 radin yliannoksen ja kuoli myöhemmin saman vuoden huhtikuussa. Palovamma muistutti "lämmittimen paloa", joka oli tapahtunut Yakimassa vuotta aiemmin.
Samaan aikaan operaattori unohti poistaa kalvon potilaan alta, josta tuli aineellista näyttöä virheellisestä leikkauksesta. AECL:n teknikkoa odotellessa lääkäri kokeili laitetta ja onnistui saamaan saman kuvion kuin filmiin.
Helmikuun 3. päivänä AECL teki laitteeseen korjauksen ja totesi, että virhe oli erilainen kuin Tylerissä. FDA kuitenkin esitti vastauksena kysymyksen: "Oletko varma, että koko järjestelmä on turvallinen "?
Huhtikuun 13. päivänä pidettiin kokous, johon osallistuivat AECL:n johto, Therac-25:n käyttäjät sekä Yhdysvaltain ja Kanadan viranomaiset. Luettelo halutuista muutoksista laadittiin.
Teksasin asianajotoimisto lähestyi Nancy Livesonia haastaessaan oikeuteen AECL:ää vastaan.tutkinnan asiantuntijana. Hän oli tuolloin tietojenkäsittelytieteen professori Kalifornian yliopistossa Irvinessä ja hänellä oli keskeinen rooli tietoturvatieteen kehityksen edelläkävijänä. Nancy yhdisti voimansa Clark S. Turnerin kanssa ja noin kolmen vuoden ajan he keräsivät materiaalia ja rekonstruoivat Therac-25:een liittyviä tapahtumia [8] . Tämä tulos on erityisen tärkeä, koska useimmissa tietoturvatapauksissa tiedot ovat epätäydellisiä, ristiriitaisia ja jopa virheellisiä [7] .
Therac-25-ohjelmistosta löydettiin ainakin neljä virhettä, jotka voivat johtaa ylivalottumiseen.
Näiden ilmeisten virheiden lisäksi havaittiin monia mahdollisia virheitä - esimerkiksi moniajokäyttöjärjestelmässä ei ollut synkronointia .
Nancy Liveson kuvaa julkaisuissaan tutkimuksen tuloksia seuraavasti [1] [2] [5] .
Yksi yleisimmistä virheistä, joita kehittäjät tekivät, jotka olivat liian varmoja ohjelmiston oikeellisuudesta. Ne ihmiset, jotka eivät olleet yhteydessä ohjelmistoon, uskoivat, että se ei voinut sisältää virheitä. Tämän seurauksena ohjelmisto jätettiin huomiotta. Varsinkaan ensimmäinen analyysi ei vaikuttanut siihen millään tavalla, vaikka se suoritti useita turvatoimintoja. Ja kun ongelmia alkoi ilmetä, oletettiin, että ne voivat johtua laitteistovioista, ja vain laitteisto analysoitiin.
Ohjelmisto oli erittäin luotettava. Se toimi kymmeniä tuhansia kertoja, kunnes ensimmäinen yliannostus tapahtui. Ja AECL alkoi ajatella, että ohjelmisto on turvallinen, koska se on luotettava, mikä johti yliluottamukseen.
Ohjelmisto ei sisältänyt itsetestausmenetelmiä tai muita keinoja virheiden havaitsemiseen.
Työlokit olivat rajoitettuja muistin puutteen vuoksi. Ajan myötä tietokoneen muisti kuitenkin halpenee ja helpottuu, eikä tähän suuntaan ole ryhdytty.
Potilaiden reaktiot olivat ainoa osoitus ongelmien vakavuudesta, eikä Therac-25:n toimivuudesta ollut riippumattomia tarkastuksia. Operaattoreille ei annettu yksityiskohtaisia diagnostiikkatietoja, ja tällaisissa olosuhteissa käyttäjän todentaminen ei ole mahdollista. Samaan aikaan kone suoritti käyttäjien käskyjä ilman tarkastuksia.
Näistä syistä ionisaatiokammiot eivät pystyneet selviytymään suuresta ionisaatiotiheydestä korkean energian säteen tapauksessa. Siksi ne joutuivat kyllästymistilaan ja tietoa pienestä annoksesta välitettiin indikaatioon.
Yksi Therac-25:n opetuksista oli, että on mahdotonta todistaa laitteisto/ohjelmistokompleksin turvallisuutta pelkästään tietyn ohjelmistototeutuksen perusteella. Kuvannollisesti sanottuna mikä tahansa monimutkainen ohjelmistojärjestelmä voi käyttäytyä arvaamattomasti, koska olemassa oleva ohjelmistovirhe voi aina jäädä tuntemattomaksi. Ja näin ollen ohjelmistoon ei voi täysin luottaa, vaan se on tarkistettava kolmannen osapuolen keinoin.
Esimerkiksi Therac-20 oli varustettu laitteiston estoaineilla, jotka estävät vaarallisen annostelun. Tämä tarjosi ominaisuuden, että järjestelmä toimi turvallisesti ohjelmistovirheiden sattuessa. Emme siis voi poistaa kaikkia ohjelmistovirheitä, mutta jos niitä ilmenee, voimme poistaa niiden seuraukset.
Lisäksi ohjelmiston käytön yhteydessä tapahtuman syiden selvittäminen on vaikeaa, mikä vaatii syvempää analyysiä. Ja vaikka ongelma löydettäisiin, sen korjaaminen ei johda siihen, että järjestelmä toimii turvallisesti, koska vain yksi vaarallisista tekijöistä poistetaan.
Varsinainen työ alkoi vasta, kun useat ihmiset olivat ylivalottuneita. Esimerkiksi Hamiltonissa mikrokytkimiä pidettiin toimintahäiriön syynä, vaikka insinöörit eivät löytäneet vikaa eivätkä pystyneet toistamaan virhettä.
Usein käy niin, että ihmiset alkavat kiinnittää huomiota teknisten laitteiden vaaroihin vasta tapahtuman jälkeen. Therac-25-kuolemien jälkeen lääketieteen fyysikko kuvaili tätä tekijää seuraavasti [1] [2] [5] :
Viimeisen vuosikymmenen tai kahden vuoden aikana lääketieteellinen kiihdytinteollisuus on voinut joutua omahyväisyyteen turvallisuuden suhteen. Aloimme uskoa, että kaikentyyppisten turvalaitteiden valmistajilla on tarvittava kokemus kehityksestään, koska he ovat olleet toiminnassa pitkään. Tiedämme, että noudatamme monia turvallisuusmääräyksiä, ohjeita ja standardeja, ja olemme luottaneet näiden koneiden erinomaiseen maineeseen. On huomionarvoista, että tähän asti, lukuun ottamatta paria tapausta 1960-luvulla. (Hammersmithissa ja Hampurissa) lääketieteellisten kiihdyttimien käytössä ei tapahtunut yhtään vakavaa säteilytapausta. Ehkä tämä menestys sokaisi meidät.
Alkuperäinen teksti (englanniksi)[ näytäpiilottaa] Viimeisen vuosikymmenen tai kahden aikana lääketieteellisten kiihdytinteollisuuden on tullut ehkä hieman omahyväinen turvallisuuden suhteen. Olemme olettaneet, että valmistajilla on kaikenlaista kokemusta turvallisuussuunnittelusta, koska he ovat olleet alalla pitkään. Tiedämme, että on olemassa monia turvallisuuskoodeja, oppaita ja määräyksiä, jotka ohjaavat niitä, ja olemme saaneet vakuuttuneita koneiden tähän asti erinomaisesta saavutuksesta. Muutamia 1960-luvun tapauksia lukuun ottamatta (esim. Hammersmithissä, Hampurissa) lääketieteellisten kiihdyttimien käyttö on tähän asti ollut huomattavan vapaata vakavista säteilyonnettomuuksista. Ehkä, vaikka tämä menestys onkin pilannut meidät.Ensimmäinen analyysisulki pois ohjelmiston olettaen, että minkä tahansa ohjelmistovirheen todennäköisyys on sama. Todennäköisyyspohjainen riskiarviointi loi yliluottamusta laitteiston toimintaan ja riskinarviointilukujen oikeellisuuteen.
Tästä syystä AECL ei käynnistänyt tutkintaa ensimmäisen ilmoituksen jälkeen. Uskottiin, että viisi mikrokytkintä, joiden jokaisen vikatodennäköisyys on 10–5 , ei voinut epäonnistua samanaikaisesti. Tämän analyysin ongelmana oli olettaa vikojen riippumattomuus ja sulkea pois ohjelmisto vaarallisen vian syynä.
Jokaisen turvallisuuskriittisiin järjestelmiin ohjelmistoja kehittävän yrityksen tulee luoda ohjelmille työloki sekä tapahtuma-analyysimenettelyt, joiden avulla voit löytää tietoa ongelmasta ja auttaa selvittämään tapahtuman syitä.
Tässä tapauksessa Mariettan ensimmäisen puhelun jälkeen oli tarpeen aloittaa yksityiskohtainen selvitys. Yleensä ensimmäisen viestin syntyneistä ongelmista, jotka johtavat traagisiin seurauksiin, pitäisi muuttaa asennetta olosuhteisiin välittömästi reagoimalla.
Jotkut Therac-25:n ohjelmoinnin peruskäytännöt jätettiin huomiotta, nimittäin:
Valmistaja sanoi, että ohjelmistoa ja laitteistoa on testattu useiden vuosien ajan. Kokeilun aikana kuitenkin kävi ilmi, että ohjelmistoa testattiin minimimäärällä simulaattorin testejä ja suurimman osan ajasta testattiin koko järjestelmää. Siten yksikkötestaus jätettiin huomiotta ja tehtiin vain integraatiotestaus .
Kehittäjät kertoivat, että järjestelmää testattiin yhteensä 2700 tuntia. Kuten myöhemmin selvisi, tämä aika tarkoitti aikaa, jolloin operaattori oli vuorovaikutuksessa järjestelmän kanssa. FDA piti tätä riittämättömänä testaussuunnitelmana regressiotestauksen ilmeisen riittämättömyyden vuoksi. Tämän seurauksena FDA on päätellyt, että järjestelmän asianmukaisesta testauksesta ei ole näyttöä.
Järjestelmän arkkitehtuuri oli kohtuuttoman monimutkainen ja vaikeasti todennettavissa, mikä ei ole hyväksyttävää tietoturvakriittisissä järjestelmissä. Therac-25 ei ollut testattavissa siitä syystä, että suurin osa mahdollisista virheistä oli lähes mahdotonta tunnistaa testien avulla, koska niiden esiintymistilanteet olivat harvinaisia ja epätyypillisiä. Tämä säännös ei kumoa testausta, mutta sanoo, että suunnittelu tulee tehdä niin, että järjestelmä olisi testattavissa myös tulevaisuudessa.
Naiivisti on ehdotettu, että koodin tai pakatun tuotteen uudelleenkäyttö lisää ohjelmiston turvallisuutta sen onnistuneen sovelluksen pitkäikäisyyden vuoksi. Koodin uudelleenkäyttö ei takaa moduulin turvallisuutta uudessa järjestelmässä, koska sen suunnittelussa on omat ominaisuutensa. Uudelleenkirjoittaminen tyhjästä mahdollistaa yksinkertaisemman ja läpinäkyvämmän järjestelmän ja sen seurauksena turvallisemman.
Tässä tapauksessa koodia käytettiin uudelleen Therac-6:sta ja Therac-20:sta. Therac-6:ssa ei ollut röntgenhoitoa ollenkaan, Therac-20 käytti mekaanista salpaajaa.
Koneen tekeminen mahdollisimman käyttäjäystävälliseksi voi olla ristiriidassa turvallisuusnäkökohtien kanssa.
Tietysti hyvä käyttöliittymä on toivottavaa, mutta oletus, että käyttäjä syöttää aina oikeat tiedot, on epärealistinen. On parempi pakottaa käyttäjä syöttämään tiedot toisen kerran kuin toivoa, että hän tarkistaa kaikki syötetyt arvot.
Therac-25-onnettomuuksien jälkeen FDA on muuttanut mieltään monista järjestelmän turvallisuuskysymyksistä, erityisesti ohjelmistoista. Tämän seurauksena FDA on käynnistänyt prosessin parantaakseen menettelyjään, ohjeitaan ja raportointijärjestelmiään ja on sisällyttänyt niihin ohjelmistoja. Tämä oppitunti ei ollut tärkeä vain FDA:lle, vaan kaikille turvallisuuskriittisille teollisuusjärjestelmille.