范莉芳,趙峰,張霞,齊干,朱向明
(皖南醫學院附屬弋磯山醫院,安徽蕪湖241001)
基于Dotnet插件架構的醫學影像通用瀏覽器的研究與應用
范莉芳,趙峰,張霞,齊干,朱向明*
(皖南醫學院附屬弋磯山醫院,安徽蕪湖241001)
基于Dotnet插件架構的醫學影像通用瀏覽器,利用我院現有的FULLPACS系統,在Dotnet環境下運用WCF、XML、HL7、DICOM、HTTP、SOAP等標準接口技術,研究遵循DICOM通信標準的Dotnet插件,使各插件均可裝配到不同型號的影像瀏覽器中,實現了靈活添加或卸載醫學影像瀏覽器的功能插件、遠程教學及遠程會診。基于Dotnet插件的卸載和添加操作簡單,不必改動軟件程序,保證了軟件程序的穩定性,實現快捷調閱和共享醫學影像資料。
醫學影像瀏覽器;信息共享;DICOM通信標準
近幾十年來,隨著醫學日新月異的發展,醫學影像學也有著突飛猛進的進展,數字化信息與技術也越來越多地滲入到醫學領域,影像存儲與傳輸系統(Picture Archiving and Communication System,PACS)也成為綜合性醫院不可或缺的一部分。鄭濤等〔1〕在對“我院PACS∕RIS在放射科質量控制工作中的應用價值”這一課題進行研究時就曾發現,PACS在放射科中的應用可有效改善放射科影像資料質量,提高放射科工作效率。進而種類繁多的醫學影像瀏覽器也如雨后春筍般出現,這些給醫學的進步和發展帶來了很多便利。但是,在臨床使用過程中,仍然會遇到諸多問題,比如影像科醫師需要增加或減少醫學影像瀏覽器的某種功能時,必須請瀏覽器開發商的專業人員操作才能實現。而且源代碼的修改給主程序穩定性也帶來了威脅,如果局部出現錯誤,整體程序運行就會出現問題,排查問題很麻煩。重要的是,大家一直設想的利用PACS實現不同醫院之間及醫院與醫學院校之間的影像資料的傳輸與互訪成了海市蜃樓。遠程調閱患者的影像資料比較困難,遠程會診與遠程教學也難以真正實現。為了解決上述難題,我們通過不懈努力,研發出了基于Dotnet插件架構的醫學影像通用瀏覽器。
1.1 系統總體設計思路該系統的總體設計思路(見圖1)是把患者在醫院采集的各種醫學影像資料,包括CT、MRI、超聲、內鏡等臨床診斷設備產生的圖像,通過模擬、網絡、DICOM等接口以數字化的形式長期、海量保存,當臨床診斷需要時可經授權取回使用、編輯〔2-6〕。在整個系統中,首先要在遵循DICOM標準〔7〕的網絡通信協議完成影像圖像的接收,并把圖像歸檔儲存在Web服務器的內部數據庫中,然后作為客戶端訪問Web數據庫。無論院內還是院外的客戶端都可以訪問。

圖1 系統總體設計思路
1.2研究材料基本平臺利用我院現有的FULLPACS系統,開發工具用VisualStudio 2012;Microsoft SQL Server2008 R2;MicrosoftCompact3.5。標準接口技術運用WCF、XML、HL7、DICOM、HTTP、SOAP等。
1.3 研究方法
1.3.1 定義標準接口我們所定義的標準接口,一方面要求所設計的Dotnet插件接口遵循這個標準,另一方面要求所匹配的醫學影像瀏覽器也遵循這種標準。鑒于DICOM通信標準已被廣泛認同接受,所以選擇DICOM通信標準來定義標準接口,通過同樣的標準接口實現Dotnet插件及醫學影像瀏覽器的互通。
1.3.2 插件設計原理與在醫學影像瀏覽器中的應用圖2所示的是插件設計的基本原理,插件管理模塊(PluginManager)的功能是管理插件的加載和卸載,內部類關系圖參考圖3,PluginLoader是插件加載和卸載的具體實現類;PluginInfo是插件具體功能的實現類,可以根據各種不同的需求開發出相應的Plugin。我們的Dotnet插件,是在Dotnet編程環境下,使用C#、VB或其他允許的編程語言(我院使用C#語言),按照之前我們定義的DICOM通信標準編寫出來的程序,這個程序是獨立存在的,與醫學影像瀏覽器的成像是并行關系,相互不制約,不影響,但它可以通過自反射供醫學影像瀏覽器調用來實現其預設的相應功能。只要遵守插件標準接口規范,就可以為醫學影像瀏覽器設計許多含有各種功能的Dotnet插件,只要用戶需要某些功能,就可以去開發,然后安裝即可,而且安裝過程簡單迅速,不必改動醫學影像瀏覽器的固有程序,也不影響醫學影像瀏覽器其他功能的運行,實現了邊運行邊進行功能擴展。卸載也是同理,當用戶不需要某些功能或需要限制某些功能的使用時可以快速將具有某項功能的插件移除。最直觀的體現就是添加插件后醫學影像瀏覽器就多一個相應功能的工具條按鈕,而這個按鈕的本質就是插件,也就是一個具有某項功能可以獨立存在的小程序。當安裝好后通過點擊插件按鈕就可以調用插件,其功能即可實現。如果不同的設備廠家或個體按本研究定義的DICOM標準接口去開發Dotnet插件及醫學影像瀏覽器,那么功能插件與醫學影像瀏覽器之間、不同醫學影像瀏覽器之間便可以相互交流,實現了醫學影像瀏覽器的互通,即基于Dotnet插件架構的醫學影像通用瀏覽器。這樣設計的醫學影像瀏覽器的架構靈活,功能可以隨需隨加,且具有通用性、開放性及廣泛性。

圖2 基本原理

圖3 內部類關系圖
1.3.3 插件的示例代碼
標識插件的特性
∕∕追加瀏覽器插件需要的特性
[MenuAction("apply","global-menus∕Menu-Tools∕MenuStandard∕MenuMyDesktopTool","Apply")]
[ButtonAction("apply","global-toolbars∕ToolbarStandard∕ToolbarMyDesktopTool","Apply")]
[Tooltip("apply","TooltipMyDesktopTool")]
[IconSet("apply","Icons.MyToolSmall.png","Icons.MyToolMedium.png","Icons.MyToolLarge. png")]
[EnabledStateObserver("apply","Enabled","EnabledChanged")]
[ExtensionOf(typeof(DesktopToolExtension-Point))]
public class MyDesktopTool:Tool<IDesktop-ToolContext>
{
private bool_enabled;
private eventEventHandler_enabledChanged;
public MyDesktopTool()
{
_enabled=true;
}
插件的初始化
∕∕∕<summary>
∕∕∕插件初始化函數
∕∕∕<∕summary>
public override void Initialize()
{
base.Initialize();
∕∕可以在這里初始化插件功能需要的參數信息
}
插件的屬性和狀態變更事件
∕∕∕<summary>
∕∕∕可以獲取∕設定該屬性,此屬性標記該插件在主窗體的UI中是否可用
∕∕∕<∕summary>
public boolEnabled
{
get{return_enabled;}
protected set
{
if(_enabled!=value)
{
_enabled=value;
EventsHelper.Fire(_enabledChanged,
this,EventArgs.Empty);
}
}
}
∕∕∕<summary>
∕∕∕當插件的可用狀態發生改變時,會觸發此事件,去執行自定義的動作
∕∕∕如插件可用時,加載資源,不可用時,釋放資源
∕∕∕<∕summary>
public eventEventHandler EnabledChanged
{
add{_enabledChanged+=value;}
remove{_enabledChanged-=value;}
}
插件的實現
∕∕∕<summary>
∕∕∕通過點擊窗體上插件對應的按鈕,調用該函數
∕∕∕<∕summary>
public void Apply()
{
∕∕這里追加該插件的主要功能代碼
}
}
1.3.4 醫學影像瀏覽器組件概述如圖4所示,影像瀏覽器組件包含很多內容:StudyTree是所有當前加載的DICOM圖像的緩存。IPhysicalWorkspace是域代表的圖像表面所顯示的內容。LogogWorkWorkspace將圖像邏輯分組在一起。EventBroker發布一些插件操作的觸發事件,例如圖像被選擇時或當圖像即將被繪制時。客戶端可以向CommandHistory添加命令以支持撤消∕重做操作。

圖4 影像瀏覽器基本組件
醫學影像瀏覽器是醫院PACS系統、HIS系統、RIS系統、EIS等系統及醫學院校PACS系統必不可少的一部分。隨著醫學的發展,普通醫學影像瀏覽器已漸漸不能滿足醫師的診療需求,本研究研發的基于Dotnet插件架構的醫學影像通用瀏覽器應運而生。與傳統的醫學影像瀏覽器不同之處在于,該瀏覽器遵循DICOM通信標準接口,準許具有相同標準接口的功能插件識別,這樣就實現了便捷按需添加或卸載某些功能插件,無需改動主程序的源代碼,不影響整體系統其他功能運行,系統穩定性好,目前已在我院及附屬院校實驗運行中,效果良好,為我院臨床、影像相關科室及附屬院校教學帶來了極大的方便。此外,與傳統的醫學影像瀏覽器相比,該瀏覽器還具有以下優勢:(1)靈活性、開放性:插件組建簡單,便于安裝和使用,可靈活地添加或卸載某些功能。操作簡單,不需要專業的程序員參與。不同插件之間相互獨立,卸載或添加某些功能后,其他功能不受影響。基于Dotnet插件架構的醫學影像通用瀏覽器擴展功能時簡單、方便,實現了其功能擴展的靈活性、開放性。(2)通用性、廣泛性:方便了遠程教學及遠程會診。醫學影像學作為一門實踐性較強的學科,在臨床疾病診斷中的意義舉足輕重,而隨著現代社會網絡技術、影像檢查技術以及醫學影像設備的快速發展,傳統的教學模式已經逐漸無法適應目前的教學需求,PACS逐漸開始在科研、醫學臨床與教學工作中應用〔8〕。基于Dotnet插件架構的醫學影像通用瀏覽器的研發使不同醫院之間以及學校與教學醫院之間的PACS系統無障礙交流成為可能。相信基于Dotnet插件架構的醫學影像通用瀏覽器的出現與推廣使用,將更好地為臨床、教學及科研工作服務,其應用價值將是不可估量的。
〔1〕鄭濤,王武,李傳東,等.我院PACS∕RIS在放射科質量控制工作中的應用價值〔J〕.中國醫療設備,2011,26(8):67-69.
〔2〕齊賽,左瑋瑋,賈亞男,等.PACS∕RIS系統對放射科工作流程優化的影響〔J〕.中國基層醫藥,2012,19(18):2764-2765.
〔3〕汪樺,張威江,吳君健,等.PACS在放射科的應用研究〔J〕.醫療衛生裝備,2013,34(11):112-113.
〔4〕董世杰,李欣.PACS∕RIS系統在多院區醫院放射科中的應用〔J〕.中國繼續醫學教育,2015(12):37-38.
〔5〕陸偉.基于Web技術的醫生工作站調閱LIS∕RIS∕PACS圖文報告的接口設計與實現〔J〕.中國醫療設備,2012,27(3):38-40.
〔6〕王箏,袁慧書.基于PACS的放射科教學文檔系統的設計與應用〔J〕.醫療衛生裝備,2013,34(3):45-47.
〔7〕NationalElectricalManufacturers Association(NEMA),DigitalImaging and communicationsin Medicine(DICOM)〔S〕,draftstandard 2003.
〔8〕陳柱,馬聰,肖恩華,等.醫學影像學見習應用PACS教學讀片法的對比研究〔J〕.醫學與哲學,2014(4):86-88.
Design and Application of MedicalImage GeneralBrowser on Dotnet Plug-in Framework
Fan Lifang,Zhao Feng,Zhang Xia,QiGan,Zhu Xiangming*
(Yijishan Hospital,Wannan Medical College,Wuhu,Anhui241001,China)
Medical image general browser based on Dotnetplug-in framework was studied,using the present FULLPACS system in hospital and standard interface technologies in dotnet environment including WCF,XML,HL7,DICOM,HTTP and SOAP,etc.The Dotnet plug-ins follow the DICOM standard and could be assembled to different types of image browsers.This research realized the flexibility of installing and uninstalling of plug-ins of medical browser,distance learning and remote consultation.Dotnet plug-ins could be installed and installed simply without changing the software program,which guarantees the stability of software and easy access to retrieve and share medicalimage data.
Medicalimage generalbrowser;Sharing ofmedicalimage data;DICOM communication standards
TP37
A
2096-2266(2017)06-0012-04
10.3969∕j.issn.2096-2266.2017.06.003
(責任編輯袁霞)
2013安徽省重大教學改革研究資助項目(2013zdjy112)
2017-02-14
2017-04-18
范莉芳,碩士研究生,主要從事心血管超聲研究.
*通信作者:朱向明,主任醫師,教授,博士生導師.