查曉俊,楊玉志,成 剛,徐 燕,徐志揚
(南京大學醫學院附屬鼓樓醫院,南京 210008)
近年來,隨著我國國民經濟的持續快速發展,人民群眾物質生活水平日益提高,使作為人們生活基礎需求之一的醫療衛生需求也在不斷提升。為了滿足人民群眾在醫療衛生方面的迫切需求,國家和各級地方政府在政策與財政上的扶持力度和資金投入逐年增加。醫療信息化建設作為醫院現代化建設的重要環節之一,成為政府和醫院重點關注和發展的方向。據中國產業信息網統計,自2010 年起,我國醫院信息化市場規模始終保持15%以上的高速增長趨勢,其中2017 年我國醫療信息化市場規模達到375.2億元[1]。然而現階段醫院信息化建設主要集中在醫療、護理、影像等臨床科室,對作為現代化醫院重要支柱之一的醫療設備的信息化投入相對薄弱。市面上可供選擇的醫療設備管理軟件較少且價格昂貴,更重要的是外購成品軟件存在設計功能固化的問題,不同品牌的軟件功能大同小異,對各醫院不同的管理理念、管理流程和管理特色很難做到統籌兼顧。以筆者所在醫院為例,隨著醫療設備采購量的逐年增加,醫院對醫療設備的采購愈發重視,要求實現采購的流程化管理,數字化存儲全流程文件資料及相關節點信息并可追溯。現有的成品軟件大多難以完全滿足我院工作需要,若后期再根據醫院需求進行開發又存在研發周期長、收費高、bug 多等一系列問題。
為了順應醫院現代化發展的必然趨勢,擴大學科影響力,廣大醫工人員運用自身所學,利用Visual Studio[2-3]、Power-Builder、Access、SQLite[4]、微信公眾號[5-6]和小程序[7]等工具開發出了一系列適合自己醫院工作管理需要的醫療設備管理系統。但是此類軟件在實際開發過程中往往涉及多種編程語言和工具,對開發人員的編程技能要求高,非計算機專業的醫工人員需進行長時間摸索,且技術上存在諸多需要攻克的難關。
FineReport 是一款基于Java 開發的、采用類似Excel 的設計及操作界面、零編碼、支持開發中國式的復雜報表軟件,提供豐富的數據可視化圖表,支持JavaScript 腳本的二次開發,為快速開發Web 醫療設備管理系統提供了可能。因此本文使用FineReport作為開發平臺,設計了一套醫療設備采購管理系統,不僅實現了醫療設備采購項目、招標談判、資料存檔、采購狀態等全流程節點的填報與查詢,還實現了供應商資質等信息的管理和來訪登記等功能。本系統能有效減少人力資源的浪費,避免手工登記等環節產生的人因錯誤,降低醫院采購工程師的工作強度。
醫療設備采購管理系統采用瀏覽器/服務器(Browser/Server,B/S)3 層架構模式,實現了數據間的交互訪問(如圖1 所示)。其中,數據層采用MySQL關系型數據庫存儲數據,可根據業務邏輯層的數據請求進行數據的查詢、編輯等讀寫操作。業務邏輯層負責接收表現層的數據操作請求,對數據層數據進行查詢、編輯、保存等操作,并將操作結果依照報表模板內容進行編譯處理后發送給表現層。業務邏輯層的設計是本次開發的核心內容,決定了系統的功能,其開發重點是不同報表間的數據關系及邏輯,并根據采購工作的流程進行權限設計和結構優化。表現層中用戶通過Web 瀏覽器或手機App 訪問本系統并發出操作請求,表現層接收并解析業務邏輯層回傳的數據,并以各類圖表的形式向用戶展示,實現采購數據的查詢、填報等操作。本系統服務器架設在醫院內部,通過端口映射的方式允許系統用戶在內、外網不同環境下,通過計算機、智能移動終端上的瀏覽器及手機App 訪問。

圖1 醫療設備采購管理系統技術構架
操作系統:Microsoft Windows 10;數據庫管理軟件:MySQL 社區版,版本8.0.16;開發軟件:帆軟Fine-Report,版本 10.0 免費版;服務器軟件:Apache Tomcat,版本 8.5.27;開發語言:SQL 和 JavaScript。
(1)MySQL 數據庫管理軟件。
MySQL 是一種關系型數據庫管理系統,其社區版為免費開源軟件,具有體積小、占用資源少、速度快、功能全、運行穩定等優勢,特別適合Web 網站及Web App 的開發。且FineReport 支持通過JDBC、JNDI 等多種方式與MySQL 數據庫連接,具有良好的兼容性。
(2)JavaScript。
JavaScript 是一種基于對象和事件驅動的動態、弱類型客戶端腳本語言,主要用于客戶端的Web 開發,其與操作系統無關,在支持JavaScript 的瀏覽器中即可正確執行。在FineReport 中調用JavaScript 可對程序進行二次開發,完成API 接口、網頁效果及用戶事件響應等操作。FineReport 軟件在接收到用戶請求后,將JavaScript 腳本嵌入在HTML 代碼中發送給客戶端,并在用戶瀏覽器中運行,降低了采購管理系統對服務器資源的依賴程度和占用率,從而降低了系統的維護及升級成本。
(3)Apache Tomcat 服務器軟件。
Apache Tomcat 是一款小型、開源的輕量級Web應用服務器軟件,性能相對穩定,深受中小型企業青睞。FineReport 不僅支持Apache Tomcat 的獨立和嵌入式部署,且帆軟官網還提供了配置完整的Apache Tomcat 部署包供用戶下載,解壓即可使用,使用戶無需配置安裝環境[8]即可迅速部署自己的FineReport Web 報表服務器。
醫療設備采購管理系統是一個以解決信息孤島問題、提高工作效率為目的,利用計算機技術、網絡技術對醫療設備的采購信息進行收集、傳輸、加工、存儲、更新、分析,供用戶進行分析決策的計算機軟件。其核心是數據,而管理這些數據的最佳方式就是設計符合自身需求的數據庫。為了建立冗余較小、結構合理穩定的數據庫,設計數據庫時必須遵循一定的范式。本系統的數據庫建立時以“計劃申請清單”和“全院設備庫”為核心表,根據工作流程設置其他必要數據表。各表格的主鍵為通用唯一識別碼(universally unique identifier,UUID),根據其實際輔以自增ID 主鍵,避免了不同用戶同時填報數據時的沖突。同時,不同表格間以設備申請的計劃編號相關聯(外鍵),減少數據的重復記錄,確保數據庫最小冗余度。當需要跨數據表查詢時,可通過SQL 語句來完成相關業務與邏輯,不關聯的表則通過FineReport承擔一部分邏輯判斷任務,從而減少用戶在填報、更新數據時的工作量,提高工作效率。
為方便采購工程師對設備采購項目進行登記、查詢,醫療設備采購管理系統采用11 位計劃編號對每項采購申請進行唯一性編碼,如圖2 所示。編碼的前4位為年度代碼;第 5~6 位表示計劃來源,如年度計劃用“JH”表示;第7 位為院區代碼,用于區別不同院區的采購計劃;第8 位為批次代碼,表示醫院官網上采購公示的批次信息;第9~11位為順序號,用于統計設備采購的申請總數。

圖2 計劃編號組成示意
同時,采用計劃編號標識醫療設備采購項目便于投標廠商投標,可有效避免因不同科室采購相同設備造成的投標資料混亂等潛在問題。且采用計劃編號對采購項目進行唯一編碼也是醫療設備全生命周期管理的一部分,符合醫療設備檔案化管理需求,方便采購工程師對設備采購資料有條不紊、分門別類地歸檔,以保證設備臺賬的齊全、完整和準確。
我院醫療設備采購的大體流程:采購工程師在OA 系統上收到科室的設備采購申請后,登記采購申請并在醫院官網予以公示后啟動調研;設備采購申請在醫院批準后采購工程師安排招標談判;招標結束后根據結果簽訂合同,通知廠家送貨并對設備進行安裝驗收,合格后新設備方可入庫并付款,如果涉及財政或科研經費,需要科室提交經費請款單。上述流程需要不同采購工程師的參與和配合。通過2 a 多的梳理與調整,各個環節的工作流程已經基本通暢,各采購工程師的緊密配合大大地提高了醫療設備引進入院的速度。因此,以遵循現有采購工作流程為主旨,結合FineReport 的功能設計了醫療設備采購管理系統的功能,如圖3 所示。

圖3 醫療設備采購管理系統功能結構圖
醫療設備采購管理系統分為采購工程師使用的數據查詢模塊、數據填報模塊和字典庫模塊以及供應商使用的供應商登記模塊。
2.3.1 字典庫模塊
字典庫模塊主要包括科室及聯系人字典、設備通用名稱字典、醫療設備資料及供應商字典4 個部分,設置字典庫的主要目的是將采購信息的錄入做到規范統一。在以往的采購過程中,臨床遞交的申請中各科室名稱、設備名稱往往存在前后順序顛倒、稱謂口語化等表述問題,如脈氧儀就存在氧脈儀、血氧脈搏儀等不同名稱。字典庫的建立能最大程度地減少因科室、設備等名稱不同為后期統計帶來的困難,降低后期的維護成本。同時,在醫療設備資料中涵蓋了醫療設備的分類、設備通用名稱、注冊證/備案證相關信息、品牌、型號、安裝場地需求、培訓資料等信息,方便設備的驗收及后期購置的場地準備。且字典庫的建立可減少信息錄入時的重復操作,節省工作時間。
2.3.2 數據填報模塊
按照我院醫療設備的申請流程,數據填報模塊包含新設備申請登記表、設備申請狀態查詢表、每周招標安排登記表、新合同登記錄入表、科研經費請款登記表和新設備入庫登記表6 個填報表。
(1)新設備申請登記表。
新設備申請登記表應用界面如圖4 所示。采購工程師在接到臨床OA 采購申請后,需在本功能中登記相關信息。該登記表將常用信息以下拉菜單的方式供用戶選擇,以減少人工輸入次數、節約填報時間;科室、部門等信息則以下拉菜單二級聯動的方式進行選擇,避免因稱謂不一造成后期統計困難。

圖4 新設備申請登記表應用界面
在新設備申請登記表中,計劃編號通過JavaScript腳本自動生成,避免了因人工編碼造成的編號重復或空缺等問題。登記申請信息時,在點擊責任工程師后觸發自動生成計劃編號的JavaScript 腳本,根據用戶的選擇(計劃來源、院區等信息)自動運行生成對應的計劃編號并填入相應單元格。生成計劃編號的部分關鍵代碼如下:


(2)設備申請狀態查詢表。
醫療設備采購信息除記錄科室申購信息外,還包含申請采購進展狀態、各采購環節時間節點、中標結果等內容,這需要不同的采購工程師共同完成。為了方便用戶搜索、填報申購項目,設備申請狀態查詢表支持多參數查詢及模糊查詢,如圖5 所示。實現多參數查詢及模糊查詢的部分關鍵代碼如下:

設備申請狀態查詢表中如申購狀態、部門科室等常用信息采用下拉列表形式輸入,列表字段與字典庫綁定,減少了錄入工作量,保證了輸入信息的統一性和完整性。

圖5 多條件查詢及模糊查詢應用界面
(3)每周招標安排登記表。
每周招標安排登記表主要由采購工程師根據項目的采購安排填寫。本表采用主子報表形式,主表為項目的采購信息,子表為投標供應商信息。采購工程師不僅需要填報投標產品品牌、型號等信息,還需上傳投標文件的PDF 文件,以保證整個招標流程的數字化、檔案化,方便后期信息追溯。
(4)新合同登記錄入表。
與每周招標安排登記表類似,新合同登記錄入表也采用主子報表形式,主表為合同主體信息,子表為中標設備的品牌、型號、注冊證號等具體信息。合同編號的生成采用與計劃編號類似的JavaScript 腳本代碼自動生成。
(5)科研經費請款登記表和新設備入庫登記表。
采用與上述表格相同的方式,使采購工程師在熟悉相關報表的填報后,可快速完成其他填報表的填報工作。
2.3.3 數據查詢模塊
本模塊主要實現對各類數據的查詢及展示,可根據用戶的習慣和需求,通過Excel 表格、自由表格等多種樣式將設備采購信息呈現給用戶。同時,數據查詢模塊可根據設備采購狀態為每條采購記錄自動添加單元格背景色,使各設備的采購狀態一目了然。圖6 展示了醫療設備采購管理系統中設備采購的匯總信息。右側展示區上部設有頂部工具欄,點擊相關按鈕即可實現數據表的提交、導出、打印等操作。同時,FineReport 不僅支持動態格間運算,可滿足開發者復雜的統計或對比需求,還內嵌了功能豐富的HTML5 可視化圖表樣式,優秀的動態效果和強大的交互體驗方便了采購工程師統計設備采購整體進度,為后續的工作安排提供了信息支持。
2.3.4 供應商登記模塊
本模塊主要由供應商填寫,包含供應商信息登記和供應商來訪登記2 個部分。為方便供應商登記,本系統開發了用戶注冊功能,新用戶注冊新賬號后,賬號信息由FineReport 自建的用戶數據同步功能導入數據庫,以實現對本系統的訪問。新用戶注冊的默認權限僅支持部分數據的查詢,管理員核實身份后方可使用填報、編輯、匯總等更多高級功能。

圖6 可視化圖表展示界面
(1)供應商信息登記:除要求供應商提供公司三證信息、地址、銷售、維修人員及聯系方式外,還要求供應商提供其代理的產品信息。對供應商信息的完善有益于采購工程師的產品調研,在遇到新設備時可通過查詢供應商信息登記表搜索類似產品,解決了以往電話調研耗時問題,大大提高了工作效率。
(2)供應商來訪登記(如圖7 所示):由供應商銷售人員在拜訪采購工程師前根據擬交流內容填寫,做到采購活動的有記錄可查,實現了采購流程的閉環管理。

圖7 供應商來訪登記(移動端登錄)
醫療設備采購管理系統可同時兼顧內、外網2種登錄模式,操作人員可在不同環境下登錄并訪問數據。醫療設備采購管理系統經過近1 a 的使用、調整與磨合,功能逐漸成熟,對采購工程師的操作均能及時、準確地響應。截至2020 年8 月,本系統日均訪問量已經突破110 次(如圖8 所示),采購工程師均通過本系統登記、處理采購相關工作。相較于以往使用共享Excel 文件的設備采購管理模式,使用本系統可顯著減少不同文件間多次登記行為,減少如遺漏、重復、不完整等人因失誤造成的數據統計錯誤。
同時,本系統還解決了以往Excel 文件共享同時存在的用戶編輯沖突、文件鎖死等問題,將采購工程師從繁重的文字、檔案工作中解放出來,使其能專心于技術調研,提高了工作效率。隨著系統的使用,采購信息登記操作更加統一化、規范化,方便了數據的查閱及統計,為醫院設備采購提供了有力的數據支持。

圖8 系統活躍度統計
本文基于FineReport 開發了一套醫療設備采購管理系統,針對我院的采購流程對系統的各功能模塊進行了設計與完善,大大減少了采購數據填報過程中的冗余環節,使采購數據的管理流程更為簡便、合理。目前,本系統主要用于醫療設備的采購,后期通過技術、數據的積累,系統功能將向醫療設備全生命周期管理領域深入發展,使我院的醫療設備管理更加信息化、檔案化、流程化、智能化,讓數據真正為醫療設備高質量管理服務,從而進一步提高我院醫療設備的現代化、信息化管理水平。