解析開發(fā)人員認證醫(yī)療器械IEC 62304的兼容步驟
現在,利用高級醫(yī)療器械比以往任何時候都更有助于醫(yī)療從業(yè)人員輕松、準確地做出診斷。然而,他們對器械的依賴程度也引發(fā)了確保器械安全性和質量的擔憂。
本文引用地址:http://www.ex-cimer.com/article/199525.htm值得注意地是,醫(yī)療器械嚴重依賴第三方和早期軟件,亦即“未知系譜的軟件(SOUP)”。該SOUP構成了新發(fā)展的基礎,其現在可能符合新醫(yī)療器械要求或者政府推行的現代編碼標準、客戶需求或者僅僅是開發(fā)組織內的持續(xù)改進政策。在滿足新標準和進一步開發(fā)新功能的同時,對利用SOUP價值的需要提出了它自己的獨特挑戰(zhàn)。
FDA于1992至1998年間對3140次醫(yī)療器件召回事件進行的分析顯示,其中有242次(占7.7%)可歸因于軟件故障。在所有軟件召回事件中,192次(占79%)是因軟件升級后引入的軟件缺陷而起。產品升級過程中引入的高誤差率讓政府醫(yī)療器械機構不僅要集中精力開發(fā)新產品,還要關注后期維護和軟件變更對現有系統(tǒng)的影響。
因此,很多公司改變方法,改善軟件過程,采用歐盟和美國近期簽署的醫(yī)療產品設計標準IEC 62304。IEC 62304引進了一種基于風險的合規(guī)性結構,可以確保醫(yī)學應用符合其風險評估適用標準的要求。該合規(guī)性結構可以分成A~C類,其中C類軟件故障可能導致死亡或重傷。
IEC 62304軟件開發(fā)生命周期
IEC 62304著眼于軟件開發(fā)過程,定義了大部分軟件開發(fā)與驗證活動。該過程包括軟件開發(fā)規(guī)劃、需求分析、架構設計、軟件設計、單元實現與驗證、軟件集成與集成測試、系統(tǒng)測試和軟件發(fā)布之類的活動。
該標準不僅概括了開發(fā)生命周期的各個階段的要求,還顧及了維護過程、軟件變更對現有系統(tǒng)的影響和實現軟件變更所涉及的風險。IEC 62304還直接從規(guī)劃、需求分析、架構設計、維護和風險管理階段開始詳細介紹了SOUP項目的作用。
EIC 62304和SOUP
可重新用于新器件開發(fā)的SOUP軟件已流行起來,因為醫(yī)療器械現在傾向于采用通用嵌入式硬件,以及操作系統(tǒng),面向USB、以太網或制圖的器件驅動器、文件系統(tǒng)、網絡堆棧等。在醫(yī)療器械中使用SOUP有其優(yōu)勢,因為制造商可以將精力集中在應用軟件上。
然而,由于應用需要運行專用功能,所以醫(yī)療器械內的SOUP增加了挑戰(zhàn)難度。大多數SOUP模塊都由第三方供應商提供,而他們不遵守任何軟件過程和軟件標準,甚至不記錄代碼。雖然它解決了平臺挑戰(zhàn),但SOUP是在緊迫的時間表內開發(fā)而來,并且強調的是生產率,而不是標準兼容性。在進行系統(tǒng)測試以便檢驗功能性時,SOUP項目通常表現出代碼覆蓋率極差的特點,并且留下了很多未使用的代碼路徑。圖1中的藍色曲線代表進行了功能測試的代碼。采用該代碼時,不同的數據和情形有可能第一次使用很多未經測試的路徑,從而產生意料之外的結果。圖1中的紅點曲線表示現場運行應用時使用的代碼。
圖1 傳統(tǒng)功能測試可能無法檢驗代碼的很多部分。藍色曲線表示傳統(tǒng)功能測試使用的代碼;紅點曲線表示應用現場運行時使用的代碼;綠點曲線表示代碼增強,其傾向于使用先前未遇到的數據組合,從而出現進入先前未使用路徑的可能性。
歐洲軟件和系統(tǒng)提案之“利用經驗驅動測試(PET)檢驗誤碼性能”計劃調查了這種現象,并且同意采用的代碼通常帶有很多誤碼的觀點。PET旨在將發(fā)布后報告的漏洞數量減少50%和將每找出一個漏洞所耗費的測試工作時間縮短40%。有意思的是,PET超過了該標準,將報告的漏洞數減少了75%,將測試效率提高了46%。PET的發(fā)現表明可以利用較新的測試方法(如靜態(tài)和動態(tài)分析)找出大量漏洞,即使代碼已經通過了功能系統(tǒng)測試并于隨后發(fā)布。
那么,可以采用先前通過功能測試的SOUP做進一步測試。即使它運行良好,代碼的某些部分也可能未曾使用過,即使是產品正在現場使用的時候。如果SOUP代碼需要作進一步開發(fā)以便于后來的修訂或新應用,那么先前從未碰到的數據組合也可能會使用先前未使用的代碼路徑,從而產生意料之外的結果。圖1中的綠點曲線表示對SOUP代碼進行增強時使用的代碼。
為了克服這種潛在弱點,需要進行詳細的結構覆蓋率分析,以確保早期軟件內不存在未使用的代碼。IEC 62304要求測試早期軟件的功能覆蓋率和結構覆蓋率,還要詳細分析增加這類軟件可能引入的風險。功能覆蓋率確保軟件能夠按照系統(tǒng)設計要求運行,而結構覆蓋率則確保使用了所有代碼并且能夠正常運行。
IEC 62304要求整合到醫(yī)療器械設計中的所有SOUP項目均符合功能和性能要求規(guī)范。醫(yī)療器械制造商需要確保任意SOUP項目的正常運行,還要保證它們符合功能和性能要求。
IEC 62304軟件開發(fā)過程始于軟件開發(fā)規(guī)劃,包括所用SOUP項目的詳細計劃。這些細節(jié)介紹了如何將SOUP項目整合到現有系統(tǒng)中、如何管理SOUP相關風險和軟件配置、以及變更管理如何影響系統(tǒng)。
緊接著是軟件需求管理、架構設計、集成測試、系統(tǒng)測試、風險管理、維護和變更管理階段。在軟件開發(fā)生命周期的各個階段,都需要保持所有階段之間的可追蹤性。
傳統(tǒng)的軟件開發(fā)觀點表明了各個階段如何進入下一個階段,可能還帶有前幾個階段的反饋信息,以及配置管理與過程的周邊架構。可追蹤性被視為各個階段間關系的一部分。然而,很少規(guī)定記錄跟蹤鏈路的機制。
實際上,雖然由于先進工具技術投資,各個階段都能夠有效實施,但是這些工具很少能夠自動提高階段間可追蹤性。因此,在整個項目進行的過程中,其間鏈路的維護就變得越來越差。最終的結果就是需求與設計之間的交叉檢驗缺失或者流于表面,以及最終系統(tǒng)的機能不全。為了獲得真正的自動可追蹤性,則需要需求跟蹤矩陣(RTM)。RTM是各個項目的核心,是很多開發(fā)標準(包括IEC 62304)的關鍵所在。
評論