吳向陽,張超群,張方林,杭建金,李正
成都軍區(qū)總醫(yī)院 醫(yī)學工程科,四川成都 610083
醫(yī)療設備管理信息系統(tǒng)與Excel通訊技術的研究
吳向陽,張超群,張方林,杭建金,李正
成都軍區(qū)總醫(yī)院 醫(yī)學工程科,四川成都 610083
目的 從醫(yī)療設備管理信息系統(tǒng)導出數據到Excel表格,提升了醫(yī)療設備管理信息系統(tǒng)的實用性。方法 使用OLE自動化技術建立Powerbuilder應用程序與Excel的連接,通過程序調用連接對象并設置其屬性。結果 實現了PowerBuilder應用程序與Excel間的數據共享。結論 該方法較好地解決了管理信息系統(tǒng)對不同格式數據的輸出問題。
HIS;LIS;VCS集群軟件; 服務器;磁盤陣列
新形勢下的醫(yī)療設備管理工作其復雜程度和技術含量在不斷地提高,特別是醫(yī)院專門自主開發(fā)的醫(yī)療設備管理信息系統(tǒng),構建數字化和網絡化作業(yè)管理平臺,成為提高醫(yī)療設備管理效率和管理水平的必然選擇[1]。
PowerBuilder是一種可視化的、面向對象的快速應用程序開發(fā)環(huán)境,特別適合管理信息系統(tǒng)(Management Information System,MIS)的應用開發(fā),是目前比較常用的數據庫前端開發(fā)工具[2]。數據窗口技術是PowerBuilder中最有特色、功能最強大的對象之一,通過數據窗口設計可以很靈活地從關系型數據庫或其他數據源中檢索數據,生成各種復雜的報表[3]。Excel電子表格作為Office應用程序中使用最廣泛的辦公工具,具備超強的數據處理具能力,可輕松勝任報表制作、計算統(tǒng)計、排版美化等工作。如果能結合二者的優(yōu)勢,即把信息系統(tǒng)中獲得的目標數據傳送到熟悉的Excel電子表格,用戶再按自己的意愿進行各種處理,如美化版式、數據交流等,就能極大地提升信息系統(tǒng)的實用性。
1.1 OLE對象應用
對象連接與嵌入(Object Linking and Embedding,OLE)技術是Windows系統(tǒng)中允許應用程序共享數據和程序功能的一種標準的便利方法。OLEObject對象是PowerBuilder標準對象類型之一,PowerBuilder應用程序通過編程,在內存中創(chuàng)建OLEObject對象,然后將這個對象連接到某個Windows服務程序,如Word或Excel[4],就允許在PowerBuilder應用程序中調用該Windows服務程序的相應功能,并設置其各種屬性,這也稱之為“OLE自動化”技術。當設置Windows服務程序的可視屬性為真值時,就可以在PowerBuilder應用程序中啟動服務程序并把結果顯示在用戶面前。
1.2 程序設計
PowerBuilder采用面向對象編程方法和事件驅動機制,程序設計就是在特定對象的特定事件中編寫程序腳本(Script)或者稱代碼[5]。實現數據窗口數據導出到Excel,首先是選擇對象,通常是一個命令按鈕,然后在這個命令按鈕的某個事件(通常是單擊按鈕事件)中編寫一段代碼,代碼的功能是把數據窗口保存為Excel文件,并通過OLE對象連接到Excel應用程序的同時打開Excel表格。其主要程序步驟如下:
(1)用GetFileSaveName()函數打開保存文件對話框,設置該函數的filter參數,即文件類型掩碼為“Excel Files(*.xls),*.xls”,判斷是否覆蓋重名文件。
(2)用數據窗口控件函數SaveAsAscii()保存文件。(3)聲明OLEObject變量,創(chuàng)建1個OLE對象實例。(4)用ConnectToNewObject()函數把OLE對象實例與服務器應用程序Excel連接起來。
(5)利用OLE服務器的屬性和方法打開Excel文件并設置文件屬性。
(6)斷開與OLE對象的連接。
考慮到實際的醫(yī)療設備管理信息系統(tǒng)中會包含多個不同業(yè)務信息的數據窗口,如設備資產信息、維修信息、計量質控信息和報廢信息等[6],這些數據窗口處在不同的應用窗體中,要把它們分別導出到Excel表格就需要在每個窗體中引用這段程序。為了整體程序設計的方便高效和簡捷易讀,最好的辦法是在上述程序代碼編寫完成并編譯通過之后,把它封裝進1個自定義的函數里面,并且這個函數定義為全局函數,使之允許在系統(tǒng)的多個單元場合方便地被調用[7]。
2.1 創(chuàng)建自定義函數
2.2 在窗口中調用函數
在包含數據列表的窗口中添加1個命令按鈕控件,設置其名稱屬性cb_1.text=“導出到Excel”。假定窗口中需導出的目標數據窗口控件名稱為dw_1,則為cb_1的Clicked事件編寫腳本為: DatatoExcel(dw_1),即傳遞參數dw_1給函數DatatoExcel()并調用該函數。
2.3 程序運行結果
例:信息系統(tǒng)運行時調出了超聲科設備列表,要把列表數據傳送到Excel表格,則點擊窗口底部的“導出到Excel”命令按鈕,這時先彈出保存文件對話框,輸入文件名保存后,隨即自動執(zhí)行打開Excel表格的操作。表格中顯示的數據與數據窗口數據完全一致,并自動按程序中設定的字號與列寬等調整顯示格式,窗體效果與導出的Excel表格分別如圖1和圖2所示(其中涉及的保密數據做了手工處理)。
圖1 信息系統(tǒng)中的數據瀏覽窗體
圖2 通過信息系統(tǒng)傳送數據并打開后的Excel表格
本文介紹的技術方法在我院醫(yī)學工程科自主開發(fā)的“大中型醫(yī)院醫(yī)療設備管理信息系統(tǒng)”中得到了充分運用。我們在做信息系統(tǒng)開發(fā)時發(fā)現,為實現理想的打印效果,要為各種報表設計相應的打印模板。醫(yī)療設備管理系統(tǒng)的模版復雜且缺乏靈活性,而Excel電子表格在版式與打印方面的強大功能是任何開發(fā)工具都無法比擬的。不僅如此,因為信息系統(tǒng)中的數據是固化在系統(tǒng)中的,所以無法拷貝、或電郵等,而Excel電子表格都可以輕松勝任。實踐證明,整合了Excel電子表格的醫(yī)療設備管理信息系統(tǒng)在工作中具有很強的實用性,它為豐富報表的表現形式、美化排版打印、數據交流和攜帶等方面帶來了高度的便利性[8]。
[1] 范鐵錘,李振華,仝青英,等.精確管理醫(yī)療設備初探[J].中國醫(yī)療設備,2010,25(2):60-61.
[2] 阿里亞·阿瓦克里.淺析數據庫的開發(fā)與應用[J].電腦知識與技術,2010,6(27):7689-7690.
[3] 張步達,楊慧.PowerBuilder數據窗口技術詳解[M].北京:電子工業(yè)出版社,2000.
[4] 潘峰,劉景浩.PowerBuilder中通過OLE實現復雜Excel報表[J].電腦知識與技術,2006,(8):158-160.
[5] 張長富,李勻.PowerBuilder9.0參考手冊[K].成都:電子科技出版社,2004.
[6] 杭建金,吳向陽,張超群,等.醫(yī)療設備管理信息系統(tǒng)的實現與應用[J].中國醫(yī)療設備,2010,25(3):75-76.
[7] 駱華杰,劉旭國.PowerBuilder開發(fā)中的軟件重用研究[J].計算機應用與軟件,2008,25(9):145-146.
[8] 張超群,吳向陽,杭建金.信息化系統(tǒng)在醫(yī)療設備管理中的應用[J].中國醫(yī)療設備,2011,26(2):84-86.
Research of Communication Technology between Medical Equipment Management Information System and Excel Sheet
WU Xiang-yang,ZHANG Chao-qun,ZHANG Fang-lin,HANG Jian-jin, LI Zheng
Medical Engineering Department,PLA Chengdu Military Area Command General Hospital,Chengdu Sichuan 610083,China
Objective To send data to excel sheet from medical equipment management information system. Methods The Connection between PowerBuilder and Excel can be established by OLE automation technology, and accordingly an OLE object with specific attributes programmed in this application was used to initiate excel sheet. Results Achieved data sharing between PowerBuilder and excel sheet. Conclusion The method can effectively solve the data output demand of management information system.
HIS; LIS: VCS cluster soft ware; Server; diskon display
TP311.52
A
10.3969/j.issn.1674-1633.2011.08.014
1674-1633(2011)08-0046-03
2011-03-09
2011-05-30
作者郵箱:wxy_1898@126.com