QNX軟件公司淺談:醫(yī)療設(shè)備安全軟件的10項(xiàng)前提

2013-08-16 15:59 來(lái)源:互聯(lián)網(wǎng) 作者:洛小辰

為醫(yī)療設(shè)備爭(zhēng)取上市批準(zhǔn)是一項(xiàng)艱辛的任務(wù),制造商必須放眼于純技術(shù)性質(zhì)以外的挑戰(zhàn),集中精力培養(yǎng)以軟件為基礎(chǔ)的醫(yī)療設(shè)備開(kāi)發(fā)所需的環(huán)境和文化。具體來(lái)說(shuō),應(yīng)該考慮十項(xiàng)醫(yī)療設(shè)備構(gòu)建和審批的重要前提,但這些前提經(jīng)常被人忽略。

1、安全文化

缺乏安全文化普及的公司,不太可能生產(chǎn)出安全的醫(yī)療產(chǎn)品。安全文化不僅僅是允許工程師提出有關(guān)安全問(wèn)題的文化,而且也是鼓勵(lì)他們從安全的角度去考慮每一個(gè)決定的文化。一個(gè)程序員可能會(huì)有這樣的問(wèn)題:“我可以用A技術(shù)或B技術(shù)來(lái)編寫這個(gè)信息交換,但是對(duì)如何平衡A的較好性能和B的較高可靠性沒(méi)有把握”,并且知道應(yīng)該和誰(shuí)來(lái)討論這個(gè)決定。而我們必須培養(yǎng)這種文化,來(lái)鼓勵(lì)程序員思考此類問(wèn)題。

2、專家

我們需要專家。定義一個(gè)安全系統(tǒng)必須做什么,并確認(rèn)它達(dá)到了安全要求,都需要專門的培訓(xùn)和經(jīng)驗(yàn)。安全系統(tǒng)一定要簡(jiǎn)潔,設(shè)計(jì)一個(gè)簡(jiǎn)潔的系統(tǒng)對(duì)于任何工程師而言都是最大的挑戰(zhàn)。

歸根結(jié)底,還是需要相關(guān)領(lǐng)域的專家(包括行業(yè)專家、系統(tǒng)架構(gòu)師、軟件設(shè)計(jì)師、流程專家、程序員和驗(yàn)證專家等)來(lái)確定要求,選擇合適的設(shè)計(jì)模式并建立、驗(yàn)證系統(tǒng)。

這樣的專業(yè)知識(shí)是昂貴的,因?yàn)樗鼇?lái)自經(jīng)驗(yàn)而非課堂:大學(xué)計(jì)算機(jī)工程本科課程很少涉及嵌入式軟件開(kāi)發(fā),而教授如何創(chuàng)建足夠可靠性嵌入式系統(tǒng)的課程更是鳳毛麟角。

足夠可靠性:

1)沒(méi)有哪個(gè)系統(tǒng)是絕對(duì)可靠的,我們必須了解如何讓系統(tǒng)實(shí)現(xiàn)足夠的可靠性。

2)接受足夠的可靠性能減少開(kāi)發(fā)費(fèi)用,并為我們提供可驗(yàn)證安全指標(biāo)的方式。

3)如果我們不了解怎樣才算足夠可靠,就可能設(shè)計(jì)出一個(gè)復(fù)雜的系統(tǒng),從而故障百出且容易崩潰。

自上世紀(jì)九十年代中期以來(lái),軟件設(shè)計(jì)模式和技術(shù)有了很大的進(jìn)步,但是許多設(shè)計(jì)人員尚未接觸到這些變化。圖1顯示的是醫(yī)療監(jiān)測(cè)設(shè)備參考設(shè)計(jì)每小時(shí)故障概率的圖表詳情。借此找出風(fēng)險(xiǎn)所在并準(zhǔn)確統(tǒng)計(jì)故障概率往往需要高深的專業(yè)知識(shí)。

6

圖1 醫(yī)療監(jiān)測(cè)設(shè)備參考設(shè)計(jì)每小時(shí)故障概率的圖表

3、流程

IEC 62304注重流程,沒(méi)有良好的流程,我們無(wú)法證明系統(tǒng)達(dá)到了它的安全要求。

對(duì)于目前基本上難以衡量的一些內(nèi)容來(lái)說(shuō),良好的流程是一個(gè)可衡量的相關(guān)因素。衡量一個(gè)流程是否被遵循比較容易;而評(píng)估設(shè)計(jì)和代碼的質(zhì)量是否良好就困難得多。雖然不能說(shuō)一個(gè)好的流程就能保證好產(chǎn)品,但好產(chǎn)品不可能源自低劣的流程則是一個(gè)眾所周知的十事實(shí)。

IEC 62304 列出開(kāi)發(fā)醫(yī)療設(shè)備所需的流程,不是因?yàn)檫@些流程能夠確保安全的產(chǎn)品,而是因?yàn)椋?

A. 它們提供了可以對(duì)開(kāi)發(fā)參數(shù)進(jìn)行評(píng)估的環(huán)境。例如,良好的測(cè)試流程有助于測(cè)試覆蓋率的統(tǒng)計(jì)。沒(méi)有這一流程,則不可能對(duì)測(cè)試覆蓋率作出任何申明。

B. 它們可提供用以保存安全案例證據(jù)鏈的架構(gòu)?;仡櫺缘厣砂踩咐强赡艿?,但是昂貴,而且一定會(huì)需要重新生成曾存在于項(xiàng)目開(kāi)發(fā)過(guò)程中那些未被保留的證據(jù)。

4、明確的要求

安全指標(biāo)必須闡明可靠性的程度,以及達(dá)到這些程度的限制條件。

FDA已經(jīng)認(rèn)識(shí)到“展示設(shè)計(jì)和生產(chǎn)常規(guī)的間接流程數(shù)據(jù)的合理性 ”不足以表明軟件的安全性, “注重于展示特定產(chǎn)品設(shè)備安全性的設(shè)備保證措施”也必不可少。這種展示包含于安全案例中,也反映了上述論題,即優(yōu)質(zhì)流程的目的不是保證優(yōu)質(zhì)產(chǎn)品,而是提供用以評(píng)估證據(jù)的環(huán)境。

每一個(gè)安全案例主要都會(huì)提出類似“這一系統(tǒng)將在條件C下,以可靠性B的水平,來(lái)操作A,如果不能做A,它會(huì)轉(zhuǎn)移到概率為P的設(shè)計(jì)安全狀態(tài)下”這樣的聲明。這一聲明及其相應(yīng)的注意事項(xiàng)都會(huì)被列在系統(tǒng)安全手冊(cè)中,以便用于系統(tǒng)更高層次的安全案例中。

一個(gè)系統(tǒng)的可靠性是指其持續(xù)且 及時(shí)準(zhǔn)確回應(yīng)各種情況的能力:是可用性(及時(shí)響應(yīng)要求的頻率)和可靠性(這些響應(yīng)的正確率)的結(jié)合。

安全案例聲明系統(tǒng)的可靠性指標(biāo),提供達(dá)標(biāo)的證據(jù)。可靠性指標(biāo)的局限性和指標(biāo)本身一樣重要。例如,一個(gè)醫(yī)療成像系統(tǒng)可以滿足IEC 61508 SIL3要求,實(shí)現(xiàn)不超過(guò)8小時(shí)的持續(xù)工作,8小時(shí)后系統(tǒng)必須重置(更新)。由于成像過(guò)程通常是短暫的,所以這一限制不會(huì)造成不便,哪怕這個(gè)系統(tǒng)一天要用 24小時(shí)。

5、系統(tǒng)失效

沒(méi)有哪個(gè)系統(tǒng)對(duì)漏洞免疫,特別是Heisenbugs— 那些“曇花一現(xiàn)”,而當(dāng)我們尋找它們的時(shí)候又“消失無(wú)蹤”的神秘漏洞, ;失效狀況終究會(huì)發(fā)生:我們要建立的系統(tǒng)必須能夠恢復(fù)常態(tài)或進(jìn)入其設(shè)計(jì)安全狀態(tài)。

7

表1 缺陷、錯(cuò)誤和故障分析表

既然所有的系統(tǒng)都將包含缺陷,而缺陷可能導(dǎo)致故障,一個(gè)安全系統(tǒng)就必須包含多道防線:

安全關(guān)鍵型流程的獨(dú)立——找出哪些部件有安全關(guān)鍵性,設(shè)計(jì)時(shí)務(wù)必保證其不受其它零部件的影響。

防止缺陷演變?yōu)殄e(cuò)誤——盡管理想的解決途徑是識(shí)別并消除代碼故障,但是實(shí)際上很難做到。要小心Heisenbug,保證軟件的設(shè)計(jì)能夠發(fā)現(xiàn)和封閉缺陷,以免它們演變成錯(cuò)誤。

防止錯(cuò)誤演變?yōu)楣收稀鄬?duì)于軟件來(lái)說(shuō),諸如復(fù)制和多樣化這樣的技術(shù)更適用于硬件,然而謹(jǐn)慎使用依然能夠奏效。

故障檢測(cè)和恢復(fù)——在許多系統(tǒng)中,轉(zhuǎn)移到預(yù)定義的設(shè)計(jì)安全狀態(tài),并將恢復(fù)任務(wù)留給更高層次的系統(tǒng)(比如人)是可行的。有些系統(tǒng)則不能如此操作,所以系統(tǒng)必須恢復(fù)或重啟。一般而言,在不明確環(huán)境中企圖恢復(fù),不如選擇帶有快速?gòu)?fù)原的crash-only模式。

1 2 > 
醫(yī)療設(shè)備 監(jiān)測(cè)設(shè)備

相關(guān)閱讀

暫無(wú)數(shù)據(jù)

一周熱門