周蕾蕾,張作恒,劉成友,蔣紅兵,,馬潔
1.南京醫科大學附屬南京醫院(南京市第一醫院) 醫療設備處,江蘇 南京 210006;
2.東南大學 生物科學與醫學工程學院,江蘇省生物材料與器件重點實驗室,江蘇 南京 210096;
3.南京市衛生信息中心,南京市藥品集中采購托管中心,江蘇 南京 210003
醫療水平和藥物研發水平的迅速提高,使得醫療機構的藥物使用量以及市場可供的藥物種類大幅提升。集中統計分析各醫療機構對藥物的采購、企業的配送、以及相關部門的驗收等情況,有利于加強藥物使用管理,提高藥物使用效率,規范藥物采購流程,調節藥物市場[1-2]。計算機網絡技術以及數據庫技術的不斷發展,衛生信息系統的功能也逐步健全起來,藥物采購數據庫管理分析模塊也是其中相當重要的一部分[3-4]。此前,此類統計工作需投入大量醫護人員進行人工分析,效率較低且極易出現錯誤,也無法與現有的衛生信息系統等自動辦公模塊對接。
為了更好的了解藥物采購的具體情況,便于管理與決策。有必要對藥物的質量層次、用藥價格、用藥結構、采購來源等進行更深入的分析。目前,江蘇省醫療機構藥品(耗材)網上采購與監管平臺能夠提供關于藥物采購信息的龐大Excel數據,但是從中人工統計出有用信息的工作量十分繁重。本系統用VBA(Visual Basic for Applications)宏語言實現對數據的管理和分析,結合VB.NET(Visual Basic.NET)開發友好的用戶界面[5],保證了系統的運行速度和易操作性。藥物采購數據庫分析管理系統現已投入使用,使原本需要投入大量勞動力的統計工作能夠快速批量完成,大幅提高了工作效率和準確性,降低了重復性工作的投入成本。
藥物采購信息大數據的來源是江蘇省醫療機構藥品(耗材)網上采購與監管平臺,導出數據形式是Excel表格。藥品采購監管部門需對基層醫療機構基本藥物網上采購情況進行統計分析,即對全市各區采購藥物的醫療機構數、采購單數、采購品種數、采購金額、采購藥物的質量層次、用藥結構、用藥價格、用藥采購來源、配送企業、配送金額、驗收金額等進行統計;對各區下屬的每家醫療機構的采購情況做出進一步的分析,以及各區藥品采購金額進行排序。藥品采購監管部門需要定期做一份涵蓋這些內容的季度報表,調研顯示,完成該項工作是一項艱巨的挑戰。為了減輕工作人員的工作量,并實現藥物采購的分析統計功能,我們設計并搭建了基于VB.NET與VBA宏相結合的藥物采購數據庫管理和分析系統。
結合工作人員的工作需要,以及數據特點,設計該系統由全市醫療機構網上采購情況、各區網上采購情況兩個主模塊組成。其中全市醫療機構網上采購情況模塊又細分為醫療機構采購結算情況、配送企業配送情況、網上驗收情況、質量層次、用藥價格、用藥結構、采購來源7個子模塊;各區網上采購情況模塊提供12個區的各醫療機構藥物采購情況,以及藥品采購金額排序等統計分析。系統的邏輯結構及模塊設計,見圖1。

圖1 邏輯結構及模塊框圖
VB.NET具有面向對象的程序設計思想和圖形化的開發環境,是一種功能強大的程序設計語言[6-7]。VB.NET屬基礎系語言,語法簡單,邏輯表達清晰。使用該軟件能夠簡潔方便的做出人機交互界面,不需要編寫大量的代碼去確定界面各控件的外觀和位置,只要把建立的對象添加到屏幕上并設計其相關屬性即可[8-9]。因此,本系統的界面部分就采用了VB.NET編寫語言。
Excel除了具有強大的數據管理功能、大量的內置函數、豐富的圖表曲線之外,還提供強大的數據庫分析功能,以及可編程的宏語言[10]。此外,Excel另一個重要的特點是可以通過錄制宏的方法自動錄制操作過程,稍作編輯就可以轉化為通用的程序代碼[11-12]。原始大數據是Excel形式的,于是本系統數據庫處理部分使用Excel VBA對數據進行編輯篩選,實現各項統計分析功能。
VBA程序數據處理部分,由20個子程序組成,對應實現20個子功能,每個子程序的算法略有不同,但其主體流程基本相同,見圖2。

圖2 VBA程序主體算法流程圖
為了方便編寫程序以及加快后續分析速度,先對Excel中的整體數據按照區進行排序。然后從第一行開始遍歷,將采購數量、采購金額、配送金額、配送企業數等統計量初始化為0。從第二行數據開始,判斷與上一行數據是否屬于同一個區,若屬于同一個區,則進行相關統計數據的分類累加,之后對下一行數據重復上述判斷、累加步驟。若不屬于同一個區,則直接記錄先前累加的數據,并對其清零,為下一個區的數據累加做好準備。再跳轉到下一行數據,重復上述判斷、累加步驟。遍歷完Excel表中所有數據后,將每個統計好的數據以二維矩陣的形式寫入相應sheet中。
VB.NET搭建軟件功能界面,使得軟件整體化、結構化,Excel VBA分析處理數據,實現自動化、模塊化[13-14]。但是,VBA語言與VB.NET語言不完全兼容,實現兩者的無縫連接是關鍵。該軟件通過觸發事件實現VB.NET對Excel VBA的直接調用(圖3)[15-16]。借助程序來完成大數據的統計工作,實現自動化、模塊化的藥品采購數據的管理分析,提高效率,保證準確性[17]。

圖3 VB.NET與VBA
雙擊“數據錄入”,選擇待導入的.xlsm格式的文件(圖4)。這里的文件是事先定制好的模板,內置VBA程序自動處理“訂單明細”“醫療機構采購匯總”等sheet中的原始數據,實現對藥物采購來源、用藥價格、用藥結構等的統計分析,并將運行結果寫到相應的設有固定格式的sheet中。在導入數據前,需要對數據進行預處理,即把“訂單明細”“醫療機構采購匯總”等從衛生信息中心主平臺下載的最新數據復制到“訂單明細”“醫療機構采購匯總”等sheet中。在導入過程中,由于數據量龐大,數據錄入會有1分鐘左右的延遲,并且系統會提示“正在數據錄入,請等待”。錄入完成后,系統會提示“數據錄入成功,請雙擊右側列表,選擇計算項目”。

圖4 數據錄入
系統提供全市網上采購情況分析的功能,對全市各個區的醫療機構采購結算情況、配送企業配送情況、網上驗收情況、質量層次、用藥價格、用藥結構、采購來源等進行匯總統計。雙擊每個子功能項,進入分析計算模式,軟件測試顯示每個子功能可以在數秒內完成,并可以實時預覽具體的統計分析結果。單擊每個子功能項,進入查詢模式,便于用戶對比分析。
以“配送企業配送情況”子功能為例做介紹,雙擊“配送企業配送情況”觸發.xlsm文件中的VBA程序,程序運行,統計出全市所有的區縣,以及每個區縣內配送藥物的企業數、醫療機構的總訂單數、被響應訂單數、配送金額、訂單響應率、配送率等信息。運算結果自動寫回到原文件中“配送企業配送情況”的sheet里,并同時顯示在界面上,方便預覽,見圖5。其他子功能項程序流程相似,用于統計分析出更多的有用數據項。

圖5 配送企業配送情況分析
各區網上采購情況分析功能實現對全市12個區的醫療機構采購情況、藥品采購金額排序等進行統計分析。分析每個區內各家醫療機構的采購品種、采購單數、采購金額、配送金額、驗收金額、驗收率和配送率等等;對季度內整個區采購的藥品按采購金額進行排序,并提供相應的藥品的明細,見圖6。

圖6 區網上采購情況分析
同全市網上采購情況分析模塊一樣,系統也提供雙擊分析計算、單擊查詢、實時預覽等功能。統計分析結束后,點擊保存數據,選擇保存路徑。此外,預覽框中的數據還支持復制功能。
傳統的藥物采購數據分析方法是手動處理Excel數據來完成一系列的統計工作,工作量大而繁瑣,很容易出錯。該系統充分利用Excel的強大VBA宏代碼以及VB.NET來實現數據分析和操作向導等功能。集數據錄入、全市醫療機構網上采購情況、各區網上采購情況、保存數據多模塊為一體,將統計工作自動化、簡便化,達到提高工作效率,減少統計誤差的目的,具有很好的實用價值。
[參考文獻]
[1] 李榕.加強醫院藥品采購管理與成本核算研究[J].行政事業資產與財務,2012,(4):224.
[2] 胡彥.藥品集中采購信息化管理模式的實施[J].中國藥物經濟學,2013,(S3):173-175.
[3] 孔祥鋒.信息化過程控制在基層醫院藥品采購入庫管理中的應用[D].濟南:山東大學,2014.
[4] 葉永興,林敏華.信息化管理在藥品采購管理中的應用[J].中國管理信息化,2014,17(16):54-55.
[5] 張桐,蘭清昭.用VB編寫抽簽軟件[J].電腦知識與技術,2016,12(23):77-78.
[6] 徐春艷.基于VB.NET的學生管理系統的設計與實現[D].秦皇島:燕山大學,2015.
[7] 張小毅.VB.net實用編程技術[M].重慶:重慶大學出版社,2014.
[8] John Green.Excel 2007 VBA參考大全[M].2版.北京:人民郵電出版社,2013.
[9] 馮陳芙.EXCEL VBA在高校教務管理中的應用[J].辦公自動化,2015,(3):57-60.
[10] 姜新.通過VB操作Excel的應用[J].無線互聯科技,2015,(4):52-54.
[11] 甘淑娟.基于VB.NET與Access的題庫管理系統設計與實現[J].軟件導刊,2013,12(7):117-119.
[12] 劉宇君.基于VBA的Excel操作題自動閱卷系統的設計與實現[J].洛陽師范學院學報,2014,33(8):67-72.
[13] Jelen B,Syrstad T.Excel 2013 VBA[M].Spain:Engelska,2013.
[14] 伍云輝.精通Excel VBA[M].北京:電子工業出版社,2013.
[15] 陳軍民.Excel VBA在Office中的應用案例[J].電腦知識與技術,2013,9(12):2819-2821.
[16] 王象剛,李金鳳.用.NET和VBA實現表單動態打印管理的方法[J].價值工程,2013,32(2):183-184.
[17] 潘有思,趙軍偉,鐘金金.基于Excel VBA開發的電纜號牌套管管理系統[J].科技創新導報,2016,13(3):8-9.