Therac-25

Therac-25 là một máy xạ trị được công ty Năng lượng nguyên tử của Canada Limited (AECL) sản xuất vào năm 1982 sau các sản phẩm Therac-6 và Therac-20 (các sản phẩm trước đó đã được sản xuất trong quan hệ đối tác với CGR của Pháp).

Máy xạ trị này có liên quan đến ít nhất sáu vụ tai nạn từ năm 1985 đến 1987, trong đó các bệnh nhân được nhận quá liều bức xạ. Các lỗi lập trình đã khiến nhiều bệnh nhân bị nhiễm phóng xạ liều lượng cao gấp hàng trăm lần cho phép, dẫn đến tử vong hoặc thương tích nghiêm trọng. Những tai nạn này nhấn mạnh sự nguy hiểm có thể gây ra do thiếu kiểm soát trong những máy móc yêu cầu độ an toàn cao và trở thành đề tài nghiên cứu cho các lĩnh vực tin học y tế, công nghệ phần mềm và đạo đức nghề nghiệp. Ngoài ra sự quá tự tin của các kỹ sư và thiếu khả năng giải quyết các lỗi phần mềm được nhấn mạnh như một trường hợp cực đoan mà các kỹ sư quá tự tin với sản phẩm và không tin các khiếu nại của người dùng để gây ra hậu quả nghiêm trọng.

Mô tả vấn đề
Sáu tai nạn được ghi nhận xảy ra khi chùm electron năng lượng cao được tạo ra trong chế độ chụp X quang được bắn trực tiếp cho bệnh nhân. Hai lỗi phần mềm xảy ra. Lỗi thứ nhất, khi người vận hành chọn chế độ X quang không chính xác trước khi nhanh chóng chuyển sang chế độ electron, cho phép chùm electron được đặt cho chế độ chụp X quang mà không có mục tiêu X quang. Lỗi thứ hai cho phép chùm electron kích hoạt trong chế độ ánh sáng trường khi không có máy quét chùm tia nào hoạt động hoặc mục tiêu được đặt đúng vị trí.

Các mẫu máy trước có chế độ khóa phần cứng để ngăn chặn lỗi như vậy, nhưng Therac-25 đã loại bỏ chúng, tin hoàn toàn vào kiểm tra phần mềm cho an toàn.

Chùm electron năng lượng cao được bắn vào bệnh nhân với liều lượng gấp 100 lần lượng ban đầu và gây nhiễm phóng xạ hạt beta vượt ngưỡng an toàn. Các bệnh nhận được mô tả như "bị bỏng nặng bên trong máy" hoặc "một cú giật điện mạnh". Vài ngày sau, bệnh nhân có dấu hiệu bị nhiễm độc phóng xạ với nhiều vết bỏng. Đa số các bệnh nhân đều tử vong do nhiễm phóng xạ quá liều.

Lịch sử 
Vào những năm 1970, AECL và CGR hợp tác để sản xuất máy xạ trị dùng trong y tế. Các công ty cho ra đời hai mẫu máy là Therac-6 và Therac-20, được phát triển dựa trên mẫu máy có sẵn là Neptune và Sagittaire của CGR và được nâng cấp bằng hệ thống DEC VT-100, xử lí bằng ngôn ngữ Assembly PDP-11. Mẫu Therac-6 chỉ có thể tạo ra chùm X quang năng lượng 6 triệu vôn electron (MeV), và mẫu Therac-20 có thể tạo ra chùm X quang và electron 20 MeV. Phần mềm ở hai mẫu này vẫn còn nhiều hạn chế, chủ yếu được sử dụng để tăng sự tiện nghi khi vận hành máy, hoàn toàn có thể hoạt động độc lập chỉ với phần cứng. Những tính năng và khoá an toàn trong máy vẫn được giữ nguyên.

Sau khi phát hành Therac-20, quan hệ giữa AECL và CGR trở nên kém bền vững, và hai bên chấm dứt hợp đồng vào năm 1981. Từ đó, AECL độc lập sản xuất máy Therac-25, được mô tả như một máy xạ trị nhỏ gọn, linh hoạt và dễ sử dụng hơn so với Therac-6, có thể tạo ra chùm năng lượng đến 25 MeV.

Therac-25 được phát triển với nhiều điểm khác biệt nổi bật như:

 Phần mềm của máy được phát triển trên một mẫu máy hoàn toàn mới và chưa được qua sử dụng như Therac-6 và Therac-20.
 AECL cho phép phần mềm của máy đảm nhiệm sự an toàn của máy nhiều hơn, loại bỏ một vài tính năng an toàn trong phần cứng của các mẫu trước.
 AECL tái sử dụng phần mềm của mẫu Therac-20, mặc dù việc phát triển của hai phần mềm là hoàn toàn không liên quan đến nhau.

Năm 1976, AECL sản xuất mẫu Therac-25 đầu tiên và mở bán trên thị trường năm 1982. Có 11 máy Therac-25 được lắp đặt tại các bệnh viện, với 5 máy tại Hoa Kỳ và 6 máy tại Canada.

Năm 1986, lập trình viên phụ trách Therac-25 rời khỏi AECL. Các luật sư trong những vụ kiện liên quan không thể xác định danh tính hay trình độ và kinh nghiệm của lập trình viên ấy. Sau các sự cố, AECL giải thể bộ phận AECL Medical (bộ phận y tế) năm 1988 và được đổi tên thành công ty Theratronics Internation Ltd., công ty này chịu trách nhiệm cho việc bảo trì và lắp đặt Therac-25.

Cấu tạo 
Therac-25 là máy xạ trị, hay máy gia tốc hạt tuyến tính dùng trong điều trị. Máy hoạt động bằng cách bắn chùm năng lượng phóng xạ vào một khu vực nhỏ nhất định để loại bỏ tế bào ung thư hay khối u bên trong cơ thể.

Liệu pháp xạ trị 
Therac-25 cung cấp hai chế độ xạ trị và một chế độ phụ:

 Chế độ electron: Bắn một chùm tia electron năng lượng 5–25 MeV lên một khu vực nhỏ của các mô gần bề mặt da trong thời gian ngắn.
 Chế độ X quang (photon): Bắn một chùm tia X năng lượng rất cao tạo ra từ va chạm của các electron 25 MeV, được truyền qua bộ lọc khuếch tán (phân tán chùm tia trên khu vực rộng hơn), ống chuẩn trực (tạo chùm tia song song đến mục tiêu) và buồng ion (kiểm soát năng lượng của chùm tia) rồi bắn thẳng vào mục tiêu, thường là các mô sâu bên trong cơ thể.
 Chế độ ánh sáng trường: Chiếu một luồng ánh sáng vào mục tiêu để người vận hành thấy được vị trí chùm tia sẽ bắn vào và điều chỉnh nếu cần thiết. Không có máy gia tốc hay buồng ion nào hoạt động trong chế độ này.

Đĩa xoay 
Đĩa xoay của Therac-25 đóng vai trò quan trọng trong việc điều chỉnh loại chùm tia mong muốn để điều trị. Đĩa xoay có các vị trí cho chế độ electron, X quang và ánh sáng trường, được điều chỉnh bằng các bộ chuyển mạch vi mô lắp trên đĩa xoay và gửi thông tin về máy tính dưới dạng nhị phân 3 bit. Đĩa xoay là nơi lắp đặt những bộ phận cần thiết cho sự thay đổi chế độ của máy, bao gồm mục tiêu, bộ lọc khuếch tán, gương và nam châm dò electron. 

Ở chế độ X quang, để chùm tia X bắn lên bệnh nhân có năng lượng phù hợp, tia X cần phải đi qua bộ lọc khuếch tán và vì vậy, cần nguồn tia X năng lượng rất cao. Nếu đĩa xoay đặt sai vị trí trong chế độ X quang, nguồn tia X sẽ bị bắn thẳng vào bệnh nhân mà không đi qua các bộ phận để giảm năng lượng, gây nguy hiểm cho bệnh nhân do phóng xạ cao. Trong các mẫu máy trước, đĩa xoay sẽ bị khoá cố định nhờ pít tông cơ học khi đặt ở đúng vị trí trước khi điều trị, nhưng ở Therac-25, cơ chế này được thay bằng hệ thống an toàn trong phần mềm.

Phần mềm 
Therac-25 được điều khiển qua hệ thống DEC VT-100, xử lí bằng ngôn ngữ Assembly PDP-11. Giao diện chương trình của Therac-25 cho phép người vận hành điều chỉnh các thông tin phù hợp cho việc điều trị bằng máy, bao gồm điều chỉnh loại tia, năng lượng tia, liều lượng và tốc độ tia, thời gian điều trị, góc nghiêng bắn tia và kích thước của ống chuẩn trực. Theo quy trình, người vận hành cố định bệnh nhân trên giường điều trị, điều chỉnh vị trí bàn xoay, góc nghiêng và thiết bị phụ trợ bằng tay, sau đó rời khỏi phòng điều trị và nhập các thông tin cần thiết trên máy tính. Máy tính khi đó so sánh giá trị vừa nhập vào với giá trị thực tế, nếu chính xác thì máy tính thông báo "Xác nhận" và tiến hành điều trị, nếu không thì máy không cho phép điều trị cho đến khi lỗi được sửa lại. Do sự phức tạp của việc nhập dữ liệu, AECL sau này cho phép người vận hành chép lại thông tin đã nhập và sử dụng lại cho lần tiếp theo, hoặc in ra một bản thông tin phiên bản hay dữ liệu đã nhập vào máy.

Therac-25 có thể ngừng hoạt động bằng hai cách:

 Treo máy hoàn toàn và cần phải khởi động lại máy.
 Tạm dừng máy. Người vận hành có thể bỏ qua bằng cách nhấn nút "P" và tiến hành điều trị nhanh chóng, tất cả dữ liệu đã nhập được giữ nguyên và không cần khởi động lại máy. Therac-25 cho phép người vận hành bỏ qua lỗi tối đa năm lần (sau này giảm xuống ba lần) trước khi máy treo và cần khởi động lại.

Lỗi xảy ra trong máy sẽ hiện thông báo và tuỳ vào độ nghiêm trọng sẽ treo hoặc tạm dừng máy. Những lỗi này gây khó hiểu và không được giải thích trong hướng dẫn sử dụng hay đề cập ở bất cứ đâu trong máy. Các lỗi bao gồm "H-tilt", "V-tilt", "No Dose" (không có liều), "Low Dose Rate" (tốc độ liều thấp) và "MALFUNCTION" kèm số 1–64.

Tai nạn 
Trong năm 1985–1987, có sáu vụ tai nạn xảy ra được ghi nhận liên quan đến Therac-25 tại bốn bệnh viện khác nhau, với đa số các nạn nhân tử vong do nhiễm độc phóng xạ.

Trung tâm Ung thư học Kennestone 
Ngày 3 tháng 6 năm 1985, Katherine (Katie) Yarborough, 61 tuổi, đến Trung tâm Ung thư học Kennestone ở Georgia, Hoa Kỳ để điều trị cắt bỏ khối u vú. Bệnh nhân được điều trị bằng phương pháp xạ trị bắn chùm electron 10-MeV trên máy Therac-25 (đã đi vào hoạt động được sáu tháng). Khi máy được bật lên, cô cảm thấy "bị đốt bởi một luồng nhiệt dữ dội". Nhân viên phụ trách khi đó cho rằng việc này là bất khả thi, và vùng được điều trị chỉ cảm thấy ấm.

Katie được trở về nhà, nhưng sau đó phải nhập viện trở lại do vùng điều trị bị sưng đỏ và làm co thắt cơ vai. Hai tuần sau, vùng da bị ảnh hưởng bắt đầu bong tróc và có dấu hiệu bỏng. Kết quả giám định cho thấy bệnh nhân bị nhiễm độc phóng xạ, nhưng nguyên nhân gây ra vẫn chưa được làm rõ.

Bệnh nhân lúc đầu chỉ cần nhận 200 rad phóng xạ để điều trị, nhưng các thí nghiệm cho thấy lượng phóng xạ ước tính mà Katie nhận được trong khoảng 15.000–20.000 rad, gấp 100 lần lượng phóng xạ phải được nhận. Một bên vú của Katie cần phải bị cắt bỏ, một bên vai và tay của bệnh nhân không thể sử dụng được vì nhiễm nặng phóng xạ.

Hiệp hội Ung thư Ontario 
Ngày 26 tháng 7 năm 1985, Frances Hill, 40 tuổi, đến bệnh viện ở Ontario, Canada để điều trị ung thư biểu mô ở cổ tử cung lần thứ 26. Khi đang được điều trị bằng Therac-25, màn hình máy tính xuất hiện lỗi "No Dose" (không có liều thuốc) mặc dù chùm tia vẫn được bắn, người vận hành nhấn nút "P" để tiếp tục năm lần, bắn tổng cộng 17.000 rad lên bệnh nhân. Bệnh nhân cảm thấy bị bỏng và bị giật điện ở vùng hông. Ba ngày sau, bệnh nhân quay trở lại với dấu hiệu bị bỏng, đau hông và vết sưng nặng ở vùng điều trị, và được đặt trong tình trạng cấp cứu ngày hôm sau.

Frances Hill tử vong vào ngày 3 tháng 11 năm 1985 do ung thư, nhưng khám nghiệm tử thi cho thấy nếu bệnh nhân không tử vong do ung thư, toàn bộ vùng hông của bệnh nhân sẽ cần phải bị thay thế do phóng xạ.

Bệnh viện Yakima Valley Memorial 
 Tháng 12 năm 1985, một bệnh nhân bị bắn phóng xạ liều lượng quá mức nguy hiểm ở vùng hông ở bệnh viện tại Washington, Hoa Kỳ, nhưng may mắn không để lại nhiều thương tích và kết thúc điều trị vào ngày 6 tháng 1 năm 1986.

 Ngày 17 tháng 1 năm 1987, Glen Dodd, 65 tuổi, tử vong sau ba tháng khi sử dụng Therac-25 để chữa trị ung thư biểu mô, do bị nhiễm phóng xạ mức độ 10.000 rad so với 86 rad như ban đầu.

Trung tâm Ung thư Đông Texas 
 Ngày 21 tháng 3 năm 1986, Voyne Ray Cox đến trung tâm Ung thư Đông Texas ở Texas, Hoa Kỳ để điều trị cắt khối u ở lưng lần thứ chín. Bệnh nhân được kế hoạch điều trị bằng chùm electron 22-MeV và nhận tổng cộng 6.000 rad. Nhân viên phụ trách đặt ông ở phòng điều trị và ra ngoài điều chỉnh thông số cho máy. Nhân viên vô tình điều chỉnh máy ở chế độ "X" (X quang) thay vì chế độ "E" (electron) nên chỉnh lại và, lần đầu tiên được ghi nhận, "MALFUNCTION 54" xảy ra, nhưng nhân viên vẫn tiếp tục. Ông Cox được miêu tả như "bị một cơn giật điện dữ dội trên lưng", cố đứng dậy và đập cửa phòng điều trị để chạy ra ngoài. Khi đó do hệ thống âm thanh và ghi hình của phòng điều trị bị hỏng nên nhân viên đã không nghe thấy ông la hét. Bệnh nhân ước tính bị bắn 16.500–25.000 rad hai lần vào vùng lưng. Ray Cox qua đời năm tháng sau do nhiễm độc phóng xạ.
 Ngày 11 tháng 4 năm 1986, ba tuần sau vụ Ray Cox xảy ra, Verdon Kidd, 66 tuổi, đi đến trung tâm để điều trị ung thư da ở mặt. Tại đây, "MALFUNCTION 54" xảy ra lần thứ hai. Bệnh nhân cho biết ông "bị thứ gì đó đập vào mặt", "thấy một chớp sáng" và "nghe tiếng xèo xèo như chiên trứng". Verdon Kidd rơi vào hôn mê và qua đời vào ngày 1 tháng 5 năm 1986.

Khiếu nại và phản ứng 
Trong suốt quá trình xảy ra các tai nạn liên quan đến Therac-25, AECL có thái độ thiếu minh bạch trong việc kiểm chứng và xác minh các khiếu nại của người dùng.

Năm 1985 
 Ngày 3 tháng 6: Vụ Katie Yarborough xảy ra. Tim Still thuộc Trung tâm Ung thư học Kennestone chất vấn AECL về việc máy cho quá liều phóng xạ có thể xảy ra hay không. AECL phản hồi là không thể.
 Ngày 26 tháng 7: Vụ Frances Hill xảy ra. AECL nhận được thông tin và yêu cầu kĩ sư điều tra và nghi ngờ rằng bộ chuyển mạch vi mô là lí do dẫn đến lỗi. AECL thêm phép kiểm lỗi vào phần mềm và tuyên bố Therac-25 an toàn hơn 10.000.000%.
 Ngày 8 tháng 11: Cục Bảo vệ Bức xạ Canada (CRPB) gửi thư đến AECL về bốn điều chỉnh trong Therac-25 cần có để tuân thủ quy định tối thiểu của Luật Thiết bị Phóng xạ Canada (RED), trong đó có điều chỉnh để người vận hành không được phép bỏ qua lỗi của máy và tiếp tục. AECL không tuân theo và thay vào đó, điều chỉnh số lần thử lại tối đa từ năm xuống ba lần.
 Ngày 18 tháng 11: Katie Yarborough kiện Trung tâm Ung thư học Kennestone và AECL. AECL xác nhận vụ kiện nhưng không tiến hành điều tra. FDA sau này phê phán hành vi thiếu sự theo dõi báo cáo của các vụ tai nạn của AECL.
 Tháng 12: Vụ thứ nhất ở bệnh viện Yakima Valley Memorial xảy ra.

Năm 1986 

 Ngày 31 tháng 1: Một tháng sau vụ ở bệnh viện Yakima Valley Memorial xảy ra. Đội ngũ nhân viên tại bệnh viện viết thư và gọi điện thoại cho hỗ trợ tại AECL để báo cáo về sự việc.
 Ngày 24 tháng 2: AECL phản hồi với một bức thư gồm hai trang giải thích: "Sau khi cân nhắc kĩ lưỡng, chúng tôi xác nhận ý kiến rằng sự cố không thể được gây ra bởi lỗi của Therac-25 hay người vận hành máy".
 Ngày 21 tháng 3: Vụ Ray Cox xảy ra. Máy Therac-25 tại Trung tâm Ung thư Đông Texas ngừng hoạt động để điều tra. Fritz Hager thuộc bệnh viện thông báo cho AECL về vụ việc và nhận được phản hồi cho rằng máy cho quá liều phóng xạ là bất khả thi, và chưa từng có tai nạn liên quan đến Therac-25 (mặc dù vụ Frances Hill và Katie Yarborough đã được báo cáo).
 Ngày 22 tháng 3: Fritz Hager gọi cho AECL một lần nữa và cử hai kĩ sư thuộc AECL để sửa chữa. Họ không phát hiện thấy vấn đề với máy và cho rằng hệ thống điện của bệnh viện bị hỏng. Sau khi xem xét, bệnh viện đưa Therac-25 trở lại sử dụng một tháng sau.
 Ngày 11 tháng 4: Vụ Verdon Kidd xảy ra. Fritz Hager lập tức cho máy ngừng hoạt động lần thứ hai. Ông tìm ra nguyên nhân của "MALFUNCTION 54" và báo cho AECL.
 Ngày 14 tháng 4: AECL xác nhận lỗi gây ra trong máy và thông báo cho Cục quản lý Thực phẩm và Dược phẩm Hoa Kỳ (FDA).
 Ngày 2 tháng 5: FDA tuyên bố Therac-25 bị hỏng hóc và yêu cầu người vận hành ngừng sử dụng nút "Lên" của máy.
 Ngày 23 tháng 9: Gia đình Ray Cox kiện AECL.
 Tháng 6–12: AECL tiến hành sửa chữa Therac-25 theo điều lệnh của FDA.

Năm 1987 

 Ngày 17 tháng 1: Vụ Glen Dodd xảy ra. Máy Therac-25 tại bệnh viện Yakima Valley Memorial ngừng hoạt động vô thời hạn.
 Ngày 26 tháng 1: Cuộc gọi hội thảo giữa quản lý chất lượng AECL và Ed Miller thuộc FDA diễn ra, yêu cầu một bản xét duyệt lại kế hoạch.
 Ngày 6 tháng 2: FDA khuyến cáo mọi mẫu máy Therac-25 bị dỡ bỏ khỏi sử dụng cho đến khi vấn đề được giải quyết.
 Ngày 10 tháng 2: FDA thông báo AECL về việc tuyên bố Therac-25 bị hỏng hóc lần hai dưới bộ luật Hoa Kỳ và yêu cầu mọi khách hàng của Therac-25 không sử dụng máy cho điều trị.

Năm 1988 

 Ngày 3 tháng 11: Đánh giá an toàn cuối cùng của Therac-25 được đưa ra chính thức. Mẫu máy được phép sử dụng trở lại.

Nguyên nhân 
Các vụ tai nạn xảy ra do một loạt những sai phạm trong quá trình thiết kế phần cứng lẫn phần mềm và quá trình thử nghiệm độ an toàn sơ sài và tự động. Ngoài ra, sự quá tự tin của các kĩ sư trong công ty đã khiến cho nhiều khiếu nại của người dùng bị bác bỏ một cách phi lý, dẫn đến nhiều tai nạn không đáng có xảy ra nhiều hơn.

Sự chủ quan 

 AECL không tiến hành kiểm tra đánh giá độc lập chương trình phần mềm của máy, dựa hoàn toàn vào chương trình đã được xây dựng sẵn ở các mẫu trước, bao gồm cả hệ điều hành của máy.
 AECL không xem xét cách vận hành của phần mềm máy và thử nghiệm lỗi có thể xảy ra, tập trung hoàn toàn vào việc đánh giá chất lượng phần cứng và khẳng định rằng phần mềm không có lỗi.
 Các đơn khiếu nại của máy bị bác bỏ bởi kĩ sư công ty khi cho rằng máy không có khả năng cho quá liều và lỗi gây ra do người vận hành, khiến cho tai nạn xảy ra nhiều hơn.
 AECL chưa từng thử nghiệm sự vận hành của phần cứng và phần mềm của máy cùng lúc cho đến khi nó được lắp đặt tại bệnh viện.
 Chương trình máy tính của máy được viết bởi một lập trình viên không chuyên duy nhất, không rõ danh tính hay trình độ.
 Mặc dù Therac-25 chứa nhiều lỗi cần giải quyết, FDA vẫn tin tưởng và cấp phép cho máy hoạt động trong điều trị cho đến khi sự cố lần thứ sáu xảy ra.

Lỗi máy 

 Các thông báo lỗi của máy chỉ được thông báo với chữ "MALFUNCTION" kèm theo số từ 1 đến 64. Các lỗi này không được miêu tả hay giải thích trong hướng dẫn sử dụng, cũng như không cho biết mức độ rủi ro của lỗi khi vận hành.
 Một số lỗi của phần mềm có thể ngắt mọi hoạt động của máy và yêu cầu khởi động lại, một số khác chỉ tạm dừng máy và cho phép người vận hành bỏ qua lỗi và tiếp tục bằng cách nhấn nút "P". Tuy nhiên, những lỗi gây nguy hiểm đối với bệnh nhân chỉ yêu cầu tạm dừng máy, và việc nhiều lỗi không quan trọng xảy ra thường xuyên khiến cho việc người vận hành bỏ qua lỗi trở thành thói quen.
 "MALFUNCTION 54" là một trong những lỗi nghiêm trọng xảy ra khi quy trình bấm máy trên chương trình VT-100 trên máy tính PDP-11 được thực hiện như sau: Người vận hành nhấn nút "X" (sai) để chọn chế độ chụp X quang, sau đó sử dụng phím "Lên" để chỉnh lại thành nút "E" (đúng) để chọn chế độ electron và nhấn "Enter". Các nam châm phụ trách việc phóng các chùm tia mất 8 giây để chuẩn bị vận hành, vì thế, nếu người vận hành thực hiện tất cả quy trình thay đổi trên trong vòng 8 giây (hoàn toàn có thể xảy ra với một người có kinh nghiệm), sự thay đổi chế độ sẽ không được máy ghi nhận, khiến cho máy thực hiện chế độ "X" như ban đầu.
 Phần mềm có chức năng kiểm tra lỗi bằng biến cờ hiệu, khi đó máy chỉ vận hành khi biến có giá trị là không. Tuy nhiên biến được thay đổi bằng cách tăng giá trị, thay vì gán nó với một giá trị khác không nhất định. Nếu số lần thay đổi vượt quá bộ nhớ của biến, hiện tượng tràn số xảy ra và quay ngược biến về không, bỏ qua mọi lỗi trong phần mềm.
 Mẫu máy không có bất kì một loại khoá nào để kiểm tra sự giống nhau giữa chế độ được vận hành của phần mềm và phần cứng, cũng như kiểm tra mục tiêu ở đúng vị trí khi bắn chùm electron.
 Mẫu máy sử dụng lại phần mềm của Therac-6 và Therac-20 mà trong đó có các khoá phần cứng ngắt hoạt động của máy ngăn chặn các lỗi phần mềm xảy ra. Trong mẫu Therac-25, nếu lỗi phần cứng xảy ra thì không có cách nào để nhận biết, vì thế các lỗi bị bỏ qua.
 Phần cứng của máy không có cách nào để phần mềm kiểm tra cảm biến đang hoạt động đúng. Hệ thống đĩa xoay thuộc phần cứng của máy được cho là bị lỗi, nhưng thay vì sửa phần cứng thì các kĩ sư thêm phép kiểm tra dư thừa cho phần mềm.

Bài học 
Trong một thiết bị có độ chuẩn xác cao, tai nạn hầu như không bao giờ do một nhân tố duy nhất quyết định, mà là một tổ hợp các lỗi lầm khác nhau về yếu tố kỹ thuật, con người và tổ chức. Vì thế, tất cả các yếu tố cần phải được xem xét, thay vì đổ lỗi cho nhân tố con người. Ở sự cố Therac-25, những lỗi đó là:

 Khẳng định nguyên nhân sự cố cụ thể mà không có bằng chứng rõ ràng, như bộ chuyển mạch vi mô trong vụ Frances Hill.
 Nhận định sai lầm cho rằng chỉ cần sửa một lỗi duy nhất là có thể ngăn chặn mọi sự cố trong tương lai, như sự thiếu chi tiết trong những lần điều tra đầu tiên về sự cố của Therac-25.
 Quản lý kém đầy đủ và thiếu các thủ tục theo dõi báo cáo của các sự cố.
 Quá phụ thuộc vào phần mềm mà loại bỏ hết khoá an toàn trong phần cứng, biến phần mềm thành công cụ kiểm lỗi duy nhất của máy.
 Xu hướng thờ ơ với phần mềm trong quá trình điều tra và cho rằng nguyên nhân tập trung ở phần cứng.
 Thiếu công cụ kiểm soát nhật ký hoạt động của máy, khiến cho nguyên nhân xảy ra sự cố trở nên phức tạp khi vấn đề nằm ở cảm biến, phần mềm hay phần cứng của máy trở nên mơ hồ.
 Đổ lỗi cho người vận hành thay vì kiểm tra độc lập hành vi của máy. Việc thiếu hướng dẫn sử dụng và cung cấp thông tin sai cho người vận hành là hoàn toàn sai ở phía nhà sản xuất.
 Không tự tính toán lỗi khả thi và tính trước trường hợp xấu nhất có thể xảy ra, mà tin hoàn toàn vào sự an toàn đã từng có ở mẫu trước.
 Công ty sản xuất không có hồ sơ hay lịch sử các sự cố, rủi ro, truy xuất nguồn gốc hay quy trình đánh giá chất lượng của máy.
 Đánh giá rủi ro không thực tế và không kiểm tra đồng thời tất cả bộ phận của máy, như việc cho rằng máy có độ an toàn tăng 10.000.000% sau khi sửa chữa là phi lý.
 Nhận định rằng phần mềm đã qua sử dụng là an toàn, không tính đến việc phần cứng và phần mềm có tương thích hay không.

Để đảm bảo an toàn cho người dùng từ các vụ tai nạn liên quan đến Therac-25, tiêu chuẩn IEC 62304 được tạo ra, quy định tiêu chuẩn về vòng đời của các phần mềm thiết bị y tế và hướng dẫn vận hành an toàn.

Liên kết ngoài 

 Levenson, Nancy (1995). “Safeware: System Safety and Computers. Appendix A: Medical Devices: The Therac-25” (PDF). Addison-Wesley.
 Leveson, Nancy G., and Turner, Clark S. (July 1993). "An Investigation of the Therac-25 Accidents," Computer (IEEE), 26(7):18-41.
 Short summary of the Therac-25 Accidents

Tham khảo

Thảm họa y tế
Lỗi phần mềm