Therac-25

Therac-25 oli tietokoneohjattu sädehoitolaite, jonka oli valmistanut kanadalainen yritys Atomic Energy of Canada Limited (AECL). Hoitolaite oli osallisena kuudessa säteilyonnettomuudessa Kanadassa ja Yhdysvalloissa vuosina 1985-1987, jossa sädehoidossa olleet potilaat saivat yliannostuksen radioaktiivista säteilyä. Ohjelmointivirheistä johtuvat tapahtumasarjat johtivat siihen, että laite antoi säteilyä satoja kertoja enemmän verrattuna normaaliin annokseen, jonka johdosta potilas vammautui vakavasti tai jopa kuoli. Onnettomuudet korostivat ohjelmointivirheistä johtuvia vaaroja ja riskejä, ja niitä on käytetty esimerkkitapauksina terveysteknologian, ohjelmistotuotannon ja tietokone-etiikan liittyvien riskien osalta.

Laitteen kuvaus

Kehityshistoria 
Therac-25 oli tyypiltään lineaarikiihdytin, jonka edeltäjiä olivat 1970-luvulla kehitetyt mallit Therac-6 ja Therac-20. Aiemmat mallit AECL oli kehittänyt ranskalaisen CGR-yhtiön kanssa. Mallin numero viittasi käytettävän röntgensäteilyn enerigiamäärään: Therac-25 pystyi tuottamaan energiamäärältään 25 megaelektronivoltin elektronisuihkun, kun aiemmat mallit pystyivät tuottamaan 6 MeV ja 20 MeV. Therac-25 hyödynsi myös aiemmmissa malleissa käytettyjä ohjelmistoja. Lisäksi aikaisempien mallien tapaan Therac-25 -laitetta ohjattiin PDP-11-sarjan tietokoneella.

Laitteen toiminnot 
Laitteessa oli kolme toimintoa:

 Kenttävalotila, joka mahdollisti potilaan ja laitteessa olevan kollimaattorin asettamisen oikeaan asentoon suhteessa toisiinsa valaisemalla hoitoalueen näkyvällä tavallisella valolla
 Suora elektroniterapia, jossa kapea elektronisuihku johdettiin potilaaseen magneettien avulla
 Suuritehoinen säteilyterapia eli fotoniterapia, jossa potilaaseen ohjattiin röntgensäteilyä. Säteily muodostettiin elektronisuihkuvirran avulla joka oli ensin suodatettu. Säteilyterapiaa varten tarvittiin satakertaisesti tehokkaampi elektronisuihkuvirta, kuin elektroniterapiassa.

Laitteen ongelmat ja ongelmien juurisyyt 
Laitteessa oli kaksi merkittävää ohjelmistovirhettä. Ensimmäinen virheistä mahdollisti sen, että jos laitteen operaattori valitsi suuritehoisen säteilyterapia-tilan ennen nopeasti siirtymistä elektroniterapia-tilaan, jäi elektronisuihku suuritehoisempaan tilaan ilman suodatinta. Toinen ohjelmistovirhe johti siihen, että laitteen elektronisuihku pystyi aktivoitumaan myös kenttävalotilassa, jolloin suodatinta ei ollut elektronisuihkun edessä.

Juurisyitä olivat muun muassa:

 AECL ei ollut testannut huolellisesti ohjelmiston ja laitteiston yhteentoimivuutta.
 Ohjelmisto ei sisältänyt virheidenpaljatusta tai virheidenkäsittelyä joka olisi huomannut ohjelmointivirheet tai laitteen virheellisen käytön.
 AECL ei ollut koskaan testannut sädehoitolaitetta kokonaan ohjelmiston ja laitteiston yhdistelmänä omissa testaustiloissaan, vaan laite otettiin käyttöön suoraan sairaalassa.

Lähteet 

Ohjelmointivirheet
Onnettomuudet Yhdysvalloissa
Onnettomuudet Kanadassa