搞不懂醫療AI該準備哪些文件?圖解ISO 62304分級與對應要求
你是否曾經被醫療軟體開發的龐大文件量與驗證流程嚇到,「只是個偵測打鼾的App,為何需要如此嚴格?」
這其實就是 ISO 62304 的關鍵:軟體安全分類(Software Safety Classification)。透過正確分類,可以在合規的前提下,避開不必要的測試與文件作業,用合理的資源,完成醫療器材的法規申請與上市流程。
什麼是 ISO 62304 的軟體安全分類?
ISO 62304 將軟體分為三種安全等級,依據當軟體失效時,對患者造成傷害程度,風險等級越高,開發流程、測試要求與文件要求就越嚴格:
分類 | 定義 | 範例 |
---|---|---|
Class A | 軟體失效不造成任何傷害 | 非關鍵設備的溫度顯示軟體 |
Class B | 失效可能造成輕微或可逆傷害 | 輸液幫浦控制軟體 |
Class C | 失效可能造成嚴重或不可逆傷害,甚至死亡 | 放射線治療劑量計算軟體 |
軟體分類如何影響你的開發流程?
軟體分類直接決定你要準備哪些設計與測試文件,一旦過度分類,可能增加成本與上市時程;而錯誤低估,可能造成在查驗時被退件、需補件甚至重新驗證。部分文件需求彙整如下表:
活動/要求 | Class A (低風險) |
Class B (中等風險) |
Class C (高風險) |
說明 |
---|---|---|---|---|
需求規格 | ✅ | ✅ | ✅ | 所有分類皆須定義明確的軟體功能與輸入/輸出邊界。 |
軟體架構設計 | ❌ | ✅ | ✅ | B以上必須有明確的模組分解與介面設計。 |
詳細設計 | ❌ | 可選 | ✅ | C級必須提供模組邏輯與演算法細節,便於測試與驗證。 |
單元測試報告 | ❌ | ✅ | ✅ | B/C 需執行模組級測試 |
整合測試報告 | ❌ | ✅ | ✅ | 模組間互動是否符合SAD設計 |
系統測試報告 | ✅ | ✅ | ✅ | 所有分類皆需將 SRS 中功能透過測試驗證 |
醫療軟體分類簡易判斷流程:(參考IEC 62304 Figure3)
步驟 1:軟體失效(壞掉)時,是否造成危害情境(Hazardous situation)、直接讓病人或使用者受傷?或者在考量風險控制措施下,會不會造成不可接受的風險(unacceptable risk)?
👉 會有危害情境或者不可接受風險 → 請看步驟 2
👉 不會 → 分類為 Class A步驟 2:軟體失效(壞掉)時,所造成的傷害相當嚴重?
👉 嚴重傷害或死亡(Serious injury/Death) → 分類為 Class C
👉 非嚴重傷害(Non Serious injury)→ 分類為 Class B
在IEC 62304內的嚴重傷害(Serious Injury),指符合下列任一情形的傷害或疾病:
a) 危及生命者;
b) 導致身體機能永久性損害或身體結構永久性損傷者;
c) 為預防身體機能永久性損害或身體結構永久性損傷而需接受醫療或外科處置者。
IEC 62304分類的提醒
對於最初被歸類為軟體Class B 或Class C 的軟體系統,當製造商實施額外的風險控制措施後、修改軟體架構後,得以重新指派該軟體系統的新安全等級。
參考ISO 14971為基礎,進行風險分析,明確定義危害、危害情境、傷害的發生機率與嚴重性。
實際繪製使用情境圖例(Use Scenarios),以考量到所有可能相關的使用的情境。
撰寫分類依據備註於設計檔案中。
別忽略使用情境,沒考慮最壞狀況,低估風險。
別誤解「AI只是建議不算診斷」,實際影響仍有醫療風險。
分類不是障礙,而是你的加.速.器
試想一下:開發初期未明確定義產品等級,後期發現…產品實際屬於中高風險(Class B、Class C)。沒有完整的可追溯表(Traceability),在開發後期必須補測試、補文件,真是讓開發人員十分苦惱。許多人擔心法規繁雜,事實上只要能掌握「正確分類」,就能大幅降低重工風險、合理安排測試資源,在設計初期就進行分類判定與風險分析,讓流程與分類同步設計,讓產品順利完成查驗登記。
想知道你的產品屬於哪一類 SaMD 嗎,歡迎索取【SaMD 初步分類自評表】:
✔️ 三分鐘快速勾選
✔️ 自動對應風險等級
✔️ 簡單直觀,適合新手與法規人員參考
參考資料:
- IEC 62304:2006/AMD 1:2015