醫療軟體在開發階段,我們前面談過許多需要注意的部分。
收到需求時,需要盤點風險,透過需求追溯矩陣,串起需求、風險控制、設計與測試證據,確認控制措施是否落實,並評估剩餘風險。
開發完成之後,除了查證需求是否正確實作,還要依產品用途安排必要的確效與使用評量,確認預期使用者在預期條件下能安全完成相關任務,再依發布程序審查與放行。
如果使用者沒有主動回報 bug,我們有機會發現嗎?
監控項目可以分成三組:
如果我們將問題修復後就馬上上線,可能會遇到嚴重的合規問題:
參考 IEC 62304 第 9 章:軟體問題解決流程
flowchart TD
A[收到回報或監控訊號] --> B[留下問題紀錄與版本資訊]
B --> C[評估安全影響與處理優先順序]
C --> K[依問題影響與適用法規通知相關方或通報]
C --> D[採取必要的暫時措施並持續評估]
D --> E[調查原因與受影響範圍]
E -. 調查中持續評估通知需求 .-> K
E --> F[決定處理方案並評估變更影響]
F --> G[核准變更、修正、重測與發布審查]
G --> H[部署並確認受影響範圍的處理結果]
H --> I{符合事先訂定的結案條件?}
I -->|否| C
I -->|是| J[保留證據並結案,持續監控]
必要的通知或通報可以與調查同步進行,不必等根因完全查明後才開始。
收到第三方套件的弱點公告後,先對照套件清單(SBOM),確認產品是否使用了受影響版本,以及實際使用路徑是否符合漏洞可被利用的條件。接著評估可能影響哪些資料與功能、是否需要先採取暫時措施,再安排套件修補與相關功能的回歸測試。處理過程要保留受影響版本、風險評估、修補與測試紀錄,並依問題影響及適用要求決定通知或通報方式。可參考 TFDA《適用於製造業者之醫療器材網路安全指引》。
對於包含 AI/ML 模組的 SaMD,上市後的監控重點包含「模型效能衰退與再訓練」:
若 AI 模型在上市之後,發現在特定族群上的靈敏度下降,應先確認樣本數、參考標準、資料品質、前處理與裝置差異,調查原因後,再決定是否需要重新訓練。效能下降不一定代表資料或概念飄移。重新訓練後,還要用獨立測試資料比較新舊版本,檢查其他情境與族群的表現是否退步。可參考 IMDRF GMLP 原則 3、4、8、10。
模型更新後,即使預期用途沒有改變,仍要評估規格、效能與適用族群等變更,以及適用的法規程序。若已有核准的預定變更控制計畫(PCCP),也要確認更新符合核定範圍與條件。臺灣的 PCCP 必須在執行前經主管機關核准,不能只靠內部計畫自行認定可以變更。可參考 TFDA PCCP 申請要點暨撰寫說明指引。
若使用自行管理的模型檔(如 .onnx),更新後應記錄檔案版本與 SHA-256,並同步更新 Model Inventory 與 Model Card 版本紀錄;若使用外部模型服務,則記錄可取得的模型版本、設定與變更資訊。
| 檢查項目 | 要確認與保留的內容 |
|---|---|
| 更新原因與範圍 | 要解決的問題、受影響的功能與版本 |
| 風險與控制措施 | 可能影響哪些風險控制、需要哪些暫時措施,以及修改後的殘餘風險評估 |
| 測試與接受判準 | 依影響範圍安排查證、回歸測試與必要的確效;模型更新另保留獨立測試資料及新舊版比較結果 |
| 法規變更評估 | 是否需要辦理變更登記或重新申請查驗登記;若依核准的 PCCP 執行,是否符合核定條件 |
| 版本與部署紀錄 | 程式、套件、模型與設定版本,以及受影響對象的配送或部署紀錄 |
| 更新失敗處理 | 停用或回復條件、可用版本及資料相容性;確認舊版是否仍存在未處理的風險 |
| 通知與結案 | 通知或通報需求、既有錯誤資料的處理、部署後確認與結案依據 |
醫療軟體在上市之後的跟版,每一次的版本,都需要將新增的部分以及影響到的部分重新評估過一遍。做好風險控管,並透過適當的查證與測試,檢查修復是否引進新的問題。
另外,如果需要重新訓練模型,要確保模型是否有按照原本的預期用途來訓練。
除了遵守內部 QMS 的變更控制,也要依修改內容與原核准範圍,評估需要完成哪些法規程序,不能只用預期用途有沒有改變來判斷。
醫療軟體改版時,需要留下變更影響、風險控制、查證結果與發布放行的依據。
即使需要緊急發布 hotfix,也要依變更影響完成必要的風險評估、查證與放行程序,保留處理紀錄;不必每次重做全部開發活動。
醫療軟體最重要的,就是在發行前一定要將風險完整了解、盤點過一遍,這樣上市之後的風險就可以降得比較低。
如果真的在上市之後發生問題需要修改,千萬不可以投機,還是需要遵照原本的流程,重新評估風險、落實必要的控制措施並加以查證,避免修正舊問題時引入新問題。
Take Away:即使是緊急修補,也要說清楚改了什麼、影響哪些版本,以及用哪些證據確認修正結果。