醫(yī)療設(shè)備軟件開發(fā)新主張:模型驅(qū)動
模型驅(qū)動開發(fā)環(huán)境強化軟件開發(fā)流程
在當今的互連世界,醫(yī)療設(shè)備理所當然地容納了更多具有智能功能的創(chuàng)新性能。這些新型性能通常采用軟件進行設(shè)計;因此,用于實現(xiàn)這些新功能的軟件日益復雜。同時,F(xiàn)DA及其它管理機構(gòu)也逐步對醫(yī)療設(shè)備制造商施加壓力,以確保產(chǎn)品安全和有關(guān)醫(yī)療設(shè)備報告信息的準確性。
市場上面臨產(chǎn)品復雜性增加、上市壓力、產(chǎn)品安全和監(jiān)管,對于醫(yī)療設(shè)備公司來說應(yīng)對這些挑戰(zhàn)成為良好的商業(yè)常識。本文探究一種開發(fā)醫(yī)療設(shè)備軟件的模型驅(qū)動方法。
設(shè)備制造商正處于軟件開發(fā)的轉(zhuǎn)折點,幾種工具可能會幫助他們改良生產(chǎn)率和質(zhì)量。一種模型驅(qū)動的開發(fā)流程集成了產(chǎn)品開發(fā)的多樣階段,從需求分析到系統(tǒng)設(shè)計、實現(xiàn)、文檔制作和測試。此工作流程有助于使復雜的需求和架構(gòu)能圖形化地以圖表形式表示,因此減少了復雜性,并且還能幫助股東之間就需求和設(shè)計進行交流。圖表具有語義并且互連,有助于實現(xiàn)直接從設(shè)計要求到設(shè)計的可追蹤性。更進一步的是,該軟件實現(xiàn)可由模型直接生成,提供了從設(shè)計要求到設(shè)計到實現(xiàn)的追蹤檢查。
交付設(shè)備軟件
在醫(yī)療設(shè)備市場,交付創(chuàng)新技術(shù)的推動力非常現(xiàn)實,智能設(shè)備無處不在。在這一領(lǐng)域,是軟件提供了使高技術(shù)世界成為可能的功能。醫(yī)療設(shè)備的軟件被用于執(zhí)行以往可能以硬件實現(xiàn)的功能:例如,診斷設(shè)備上的物理旋鈕和按鈕經(jīng)常被觸摸屏顯示所替代,或者醫(yī)療圖像如X光和MRI逐漸以數(shù)字格式而不是物理膠片交付。
醫(yī)療市場競爭殘酷,而且產(chǎn)品在競爭到來之前上市至關(guān)重要。完成上市銷售前的活動(如510(k)流程)和隨后的藥品生產(chǎn)和質(zhì)量管理(GMP)對設(shè)備引入市場并占領(lǐng)強勁市場份額必不可少。但是,在速度和病人安全之間必須取得平衡以避免耗費大的產(chǎn)品召回。策略之一是為上市前活動重復使用現(xiàn)有的大量的等效編程代碼,尤其是當與軟件協(xié)同工作進行生命攸關(guān)的手術(shù)時。實現(xiàn)成功軟件的關(guān)鍵路徑是通過理解;在一些情況下,軟件可能已老化,編程人員也早已不在公司,即為什么有效復用取決于文檔可理解。
文檔!文檔!文檔!
能發(fā)揮其知識產(chǎn)權(quán)(IP)效用的組織——并能復用——在工程設(shè)計新型醫(yī)療設(shè)備軟件時已領(lǐng)先一步。對于復用,沒有什么比藥品文檔編制更為重要,它還具有其它的效用。對于維護項目信息,一個設(shè)計歷史文件(DHF)被用于儲存項目成果。FDA通過需要一個DHF的質(zhì)量系統(tǒng)監(jiān)控(QSR)——21 聯(lián)邦管理代碼(CFR) Part 820.30來管理面向美國市場開發(fā)的產(chǎn)品。該DHF包含有關(guān)的信息,從多種源,包括諸如需求、系統(tǒng)規(guī)范、風險管理和其它正式文檔在內(nèi)的項目。也可能包括筆記、草圖或其它零碎信息。具備一個DHF背后的基本原理是提供可追蹤性和文檔,以顯示設(shè)備被用于特定目的,其設(shè)計實現(xiàn)了所有要求。然而,如何實現(xiàn)在某種程度上實屬偶然:一些公司使用源代碼打印清單以證明全部實現(xiàn)設(shè)計要求。當然,用源代碼作為溝通方法僅在讀者能讀懂代碼的條件下有效。非技術(shù)股東可能缺乏所需讀懂源代碼的技能,從而產(chǎn)生了潛在的危險的溝通真空。
可視軟件開發(fā)
模型驅(qū)動開發(fā)(MDD)為軟件交付創(chuàng)建了一種可視化開發(fā)環(huán)境。MDD的基礎(chǔ)是源于對象管理組織的統(tǒng)一建模語言(UML)。MDD環(huán)境使復雜的設(shè)計輸入可視化,促進了各種各樣股東之間的溝通。開發(fā)團隊能用比源代碼更易使股東理解的格式表述設(shè)計要求、架構(gòu)、結(jié)構(gòu)、設(shè)計和行為。UML定義了幾種不同的圖表來獲得系統(tǒng)或應(yīng)用的機構(gòu)、架構(gòu)和行為。與UML類似的是,系統(tǒng)建模語言(SysML)基于UML,但是是為系統(tǒng)工程設(shè)計需求而量身定做。
UML圖表內(nèi)的信息被存儲在一個模型儲存庫內(nèi),這極大地擴展了圖表原僅作為插圖之用的作用(見圖1)。一張圖表上的信息變化被模型儲存庫所反映,并傳送給其它圖表以反映同樣的信息。例如,假定設(shè)計中有一級名為“Pump”,同一級出現(xiàn)在兩個不同的圖表內(nèi)。在一張圖中把“Pump”名改為“InfusionPump”將會在另一張圖中自動變化過來。
圖1:以狀態(tài)圖形式描述的設(shè)備操作模式。
追蹤設(shè)計要求到模型元件
對醫(yī)療設(shè)備的要求通常以文本文件而規(guī)定,或存在于用作設(shè)計輸入的需求管理工具內(nèi)。盡管文本能交流大量需要完成的細節(jié),它也會易受誤解。更為重要的是,沒有濾波器或流程來防止有沖突的設(shè)計要求在最開始就被記錄下來。通過把需求拆分為產(chǎn)品內(nèi)每個元件更進一步的細節(jié)要求,執(zhí)行需求分析能幫助解決沖突。建模能通過文本需求以圖表的形式可視化來輔助這一過程,并且提供到設(shè)計和實現(xiàn)的可追蹤性。
追蹤需求到模型元件的第一步是將文本需求與建模環(huán)境相關(guān)起來。模型內(nèi)的一個需求元件儲存需求,并保持除其它相關(guān)信息如需求ID、優(yōu)先級、安全完整性級別及風險等之外的描述需求的文本。對能儲存的數(shù)據(jù)類型沒有限制。需求和模型之間保持同步化,從而任何一方的更改都能反映到另一方。從需求到滿足這些需求的模型元件的可追蹤性能在模型內(nèi)表述出來。憑借這些信息,能生成需求覆蓋報告或進行設(shè)計改變的影響分析。例如,能生成一個UML資料,定義了故障樹分析圖表。模型內(nèi)還能進行安全性和風險分析。圖2展示了故障如何被追蹤到與故障相關(guān)的設(shè)計要求??蛇M行更進一步的模型信息分析來說明覆蓋鴻溝。
圖2:關(guān)系追蹤需求到滿足設(shè)計要求的模型元件。
與代碼和模型協(xié)同工作
醫(yī)療設(shè)備制造商已經(jīng)校驗并測試了現(xiàn)有設(shè)備中采用可被未來設(shè)備使用的軟件。該軟件可被引入到建模環(huán)境內(nèi)。UML代碼圖能被自動創(chuàng)建,以顯示代碼現(xiàn)有的結(jié)構(gòu)、架構(gòu)和行為。結(jié)果是對現(xiàn)有代碼的文檔編制更好,有助于新開發(fā)商或其他股東獲得更容易理解的針對特定目的的代碼。
一旦在模型中被描述,到設(shè)計要求的可追蹤性能被添加到現(xiàn)有代碼內(nèi),可被用于協(xié)助創(chuàng)建模型內(nèi)已開發(fā)的新特性。例如,一個新型用戶接口可能為輸液泵而創(chuàng)建,但現(xiàn)有傳送藥物給病人的代碼應(yīng)該被重復使用。用戶接口代碼簡單地引用現(xiàn)有代碼,兩者之間的關(guān)系就隨之在模型內(nèi)建立。
作為設(shè)計流程,更多細節(jié)和行為被添加進改模型。UML提供了指定模型內(nèi)全部應(yīng)用的設(shè)備,詳細的目標級代碼也被納入模型。面向設(shè)備的代碼能直接由模型生成。這有助于創(chuàng)建模型內(nèi)從代碼到設(shè)計的可追蹤性。模型內(nèi)也包含了設(shè)計要求,因此由需求到實現(xiàn)代碼獲得可追蹤性(見圖3)。有可能直接在代碼內(nèi)包含需求信息作為對需求、設(shè)計和實現(xiàn)之間更進一步可追蹤性的評估。
圖3:從模型生成的代碼可由設(shè)計追蹤到實現(xiàn)。
軟件開發(fā)人員不需要放棄他們當前的開發(fā)環(huán)境來采用模型驅(qū)動方法。從模型產(chǎn)生的代碼能被編入他們的選擇代碼編輯器內(nèi),模型內(nèi)可自動更新變化(見圖4)。這保持了實現(xiàn)與設(shè)計同步。
圖4:模型驅(qū)動開發(fā)于現(xiàn)有的開發(fā)環(huán)境如Eclipse相集成。
校驗和驗證
FDA 指南推薦在初始設(shè)計輸入時啟動校驗,并且持續(xù)校驗迭代貫穿整個開發(fā)過程。大多數(shù)缺陷在開發(fā)初始分析階段即進入系統(tǒng),但通常很晚直到集成階段才被發(fā)現(xiàn)。模型驅(qū)動方法采用模型執(zhí)行和一致性校驗,以在最容易被確定的產(chǎn)品設(shè)計早期發(fā)現(xiàn)問題。采用該模型,有可能生成生產(chǎn)質(zhì)量代碼,包括C代碼。
對于醫(yī)療設(shè)備工程師來說,在主機平臺運行的模型執(zhí)行能剛好在硬件可能為軟件測試準備就緒之前校驗設(shè)計行為。當硬件可用時,工程師就能專注于目標特定的問題,如時序。
圖5:通過突出設(shè)計行為,模型執(zhí)行有助實現(xiàn)早期校驗。
文檔制作
利用模型驅(qū)動方法,因為軟件開發(fā)人員創(chuàng)建了模型,他們也提供面向其設(shè)計的文檔制作。模型中的圖表使設(shè)計可視化,能被用于項目股東或監(jiān)管機構(gòu)的溝通交流。因為實現(xiàn)代碼也是從模型生成的,實現(xiàn)和文檔制作都保持同步,以幫助確保文檔能準確地表述實現(xiàn)。模型文檔能生成多種格式,滿足每間公司的特定需要。對于整體設(shè)備來說,文檔內(nèi)可包含圖解、表格、矩陣和文本信息。
結(jié)論
醫(yī)療設(shè)備軟件的復雜性日益增加,機構(gòu)監(jiān)管是生活的現(xiàn)實?;赨ML的MDD環(huán)境幫助實現(xiàn)文本需求可視化,加強了設(shè)計過程。它授予團隊分解復雜需求并與項目湍急及政府機構(gòu)更有效溝通的能力。通過維持多層的一致信息,模型的語義有助于管理設(shè)計變更。
在設(shè)計周期的初期進行校驗來識別最容易被定位的錯誤,以達到質(zhì)量和安全性目標。對于醫(yī)療設(shè)備開發(fā)商,一個模型驅(qū)動方法集成了產(chǎn)品生命周期的不同階段——有助于改進公司交付創(chuàng)新醫(yī)療設(shè)備軟件的能力,同時獲得競爭優(yōu)勢。
Paul Urban是IBM公司Rational Rhapsody 及醫(yī)療器械行業(yè)市場經(jīng)理
更多醫(yī)療電子信息請關(guān)注:21ic醫(yī)療電子