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