陳建福, 林亞忠, 陳加強
(中國人民解放軍第一七五醫院,漳州 363000)
基于SOA架構新門診醫生工作站的研究與實現
陳建福, 林亞忠, 陳加強
(中國人民解放軍第一七五醫院,漳州 363000)
介紹了我院基于SOA架構采用WCF技術對門診醫生工作站進行總體設計,研究開發了一個新門診醫生工作站,進一步優化門診就醫流程。指出其與傳統C/S架構門診醫生工作站相比,在可維護性,可擴展性,性能以及與外系統數據交互更具優勢。新門診醫生工作站根據醫生反饋對功能做了改進。新門診醫生工作站的實現提高了醫生工作效率,提升了我院的醫療服務水平。
門診醫生工作站; SOA架構; WCF
隨著Internet和Intranet應用的不斷普及,醫療信息化的深入發展,現有C/S架構的信息系統存在諸多弊端,表現在可擴展性差,強耦合設計,可維護性差,與外系統數據無法交互等。為適應醫院信息化建設的新要求,進一步優化門診就醫流程,我院在原“軍衛一號”門診醫生工作站的基礎上重新開發了一個新門診醫生工作站。新系統除了具備門診電子病歷書寫,中西藥處方錄入,檢查檢驗申請及本地計價項目,科間項目申請等基本功能外,還通過WebService方式與PACS,LIS,銀醫一卡通系統等系統進行無縫集成,實現有效的信息共享,更好地發揮整體醫療資源。
WCF(Windows Communication Foundation)是對現有.NET平臺下所有分布式通信技術的整合,如COM/DCOM、Enterprise Service、.NET Remoting、XML Web服務、MSMQ等[1]。WCF是Microsoft為構建面向服務的應用提供的分布式通信編程框架[2]。SOA(Service Oriented Architecture,面向服務架構)是一個組件模型,在這個模型中,松耦合的應用被描述、發布和調用,主要有3種角色:服務消費者(Services Consumer)、服務提供者(Services Provider)和服務代理(Services Registry)[3]。工作原理為:服務提供者發布服務的信息與接口定義到服務代理。客戶端作為服務消費者,通過服務代理實現對服務的調用。 傳統架構與面向服務架構的區別如表1所示。

表1 傳統架構與面向服務架構的區別
服務契約中定義了接口IDoctor的操作契約。在服務端通過類DoctorService對接口IDoctor進行具體的功能實現。由于WCF服務需要承載于一個被稱為宿主的應用程序,本系統采用Windows程序作為承載服務的宿主。如圖1所示。

圖1 通過Windows應用程序對HIS服務的寄宿
門診醫生工作站服務采用會話實例上下文模式。實例上下文模式為服務端的服務實例與客戶端的服務代理之間的關聯方式。WCF具有單調(Per-Call)、會話(Per_Session)、和單例(Single)3種不同的實例上下文模式。會話模式下,WCF為每個服務代理對象分配一個單獨的服務實例上下文,對于來自相同服務代理的調用請求,都將發給相同的服務實例上下文處理[4]。門診醫生工作站服務采用Multiple的并發模式,WCF具有Single、Reentrant、Multiple 3種典型的并發模式[5]。Multiple模式指示一個實例上下文可同時處理多個服務調用請求,其他兩種模式在某個時刻只能處理單個服務請求,因而新系統的并發響應速度比舊系統快。由于WCF服務在方法內部使用數據庫連接后會即時進行釋放,而舊系統采用的是傳統兩層架構,每臺客戶端都需要占用數據庫資源直至程序關閉才被釋放,因而新系統比舊系統占用數據庫資源小,使用連接數少,大大減輕數據庫服務器的負擔,實現了性能的最優化。
新門診醫生工作站客戶端,根據客戶端的App.config文件中的客戶端終結點信息,創建ChannelFactory
為現有的每一個WCF服務部署相應的.svc文件,可將服務寄宿在IIS下。基于IIS寄宿的WCF服務實際上就是一個WebService,Web服務采用HTTP、XML和SOAP等通用的協議標準,具有很好的開放性和跨平臺性,支持各種平臺的訪問[6],非常方便提供給外系統進行調用從而完成數據交互。比如通過IIS服務寄宿,采用Web服務統一接口實現了對醫保業務的封裝,提供給其他系統進行調用,各個需要調用的系統能夠便捷地與醫保業務系統集成并實現各種醫保業務功能。如圖2所示。

圖2 通過HTTP-GET的方式獲取醫保服務的元數據
舊系統完成一位患者的看診需要打開多個窗體才能完成操作。新系統將門診醫生工作站的所有功能都設計在同一個窗體內,分成多個頁面實現,有效地提高醫生看診工作效率,如圖3,圖4所示。

圖3 新門診醫生工作站看診界面

圖4 新門診醫生工作站業務流程圖
3.1 歷史處方導入便捷
舊系統歷史處方調閱操作十分不方便,如遇患者有多筆處方記錄,需多次按上翻或下翻才能查找到。新門診醫生站,將所有歷史處方記錄依據就診日期降序排列,使醫生能快速準確地查找到歷史處方數據,將其復制至新處方中,使得處方錄入更加靈活便捷[1],提高了醫生的工作效率。
3.2 各種申請單修改與確認方便
舊系統的處方單,檢驗申請單,檢查申請單,科間申請單的修改與提交確認分別在不同的頁面進行操作,看診醫生需要打開多個不同的頁面才能完成。新門診醫生站將處方單,檢驗申請單,檢查申請單,科間申請單整合在同一個頁面進行操作,只需一次提交確認,大大提高了醫生的看診速度,縮短了患者就醫時間。如圖5所示。
3.3 使用銳浪免費報表組件
舊系統為C/S架構使用PowerBuilder語言編寫,要求在每臺客戶端安裝條形碼字體才能打印條形碼,繁瑣易遺漏。新系統使用銳浪報表組件進行報表開發,具有免安裝,條碼類型豐富,設計靈活等特點,完全滿足門診醫生站的報表功能需求。在使用時,客戶端只需要grdes50.dll, gregn50.dll兩個文件,無需安裝,運行穩定且升級方便,如圖6所示。

圖5 新門診醫生工作站申請單修改與收費確認

圖6 使用銳浪報表組件設計的處方單
新門診醫生工作站在開發與實施中,充分與一線門診醫生進行溝通,收集實際需求與使用感受,根據醫生的反饋對系統不斷地進行改善[7]。新門診醫生工作站基于SOA的設計,具有松耦合的特性,能夠實現服務的良好重用,能對業務的改變做出即時響應[8],減輕了醫務人員的工作負擔,提升了工作效率,提高了門診信息化水平。
基于SOA架構的新門診醫生工作站的實現提高了工作效率,優化了就醫流程[8],適應醫院變化的業務需求與管理需求。今后,我們還將對新系統的使用進行跟蹤,加強與醫務人員和醫院管理者的溝通交流,對系統功能做進一步完善與改進,使新門診醫生工作站更加人性化,更好地服務于患者和醫務人員,提升醫院的服務水平。
[1] 蔣金楠. WCF全面解析(上冊)[M]. 北京:電子工業出版社,2012:3-4,397-398.
[2] 李文滔. 基于WCF架構的應用開發研究[J]. 計算機時代,2011(2):19.
[3] 古銳. 基于Web服務的藥學信息服務系統設計[J]. 醫學信息學雜志,2014,35(1): 30.
[4] 劉文杰,王玲,徐正雄,等. 基于“軍衛一號”的中醫門診醫生工作站的設計與實現[J]. 醫療衛生裝備,2012,33(3):53.
[5] 蔣金楠. WCF全面解析(下冊)[M].北京:電子工業出版社,2012:178.
[6] 鐘俊華,陳金雄,于海鑄. 基于WebService分布式醫保接口系統的研究與實現[J]. 中國醫療設備,2012,27(8):20.
[7] 劉文杰,王玲,徐正雄,等. 基于“軍衛一號”系統的新門診醫生工作站的設計與實現[J].醫療衛生裝備,2015,36(3): 69.
[8] 許亮,廉婷. 基于SOA的電子病歷系統的開發與實現.中國醫療設備,2015,30(11):129.
Research and Implementation of New Outpatient Doctor Workstation Based on SOA Architecture
Chen Jianfu,Lin Yazhong,Chen Jiaqiang
(The 175thHospital of PLA, Zhangzhou 363000, China)
This paper introducs the research and design of our hospital outpatient doctor workstation based on SOA architecture and WCF technique, and develops a new outpatient doctor workstation. It optimizes the outpatient service. This system has more function advantages compared to traditional C/S architecture in maintainability, extendibility, performance and interaction with external system. The new outpatient doctor workstation has improved its functions according to the doctor's feedback. The new outpatient doctor workstation promotes work efficiency, medical quality and service level.
Outpatient doctor workstation; Service oriented architecture; WCF
漳州市科技擁軍項目(ZZ2013A02);青年苗圃基金課題項目資助(13Y001,13Y018)
陳建福(1979-),男,助理工程師,研究方向:HIS系統維護與開發。
通訊簡介:林亞忠(1973-),男,高級工程師,研究方向:計算機圖像處理和衛勤信息化方面的研究工作。 陳加強(1986-),男,工程師,研究方向:HIS系統維護與開發。
1007-757X(2017)06-0003-05
TG409
A
2017.04.06)