查曉俊,楊玉志,成 剛,徐 燕,徐志揚
(南京大學醫(yī)學院附屬鼓樓醫(yī)院,南京 210008)
近年來,隨著我國國民經(jīng)濟的持續(xù)快速發(fā)展,人民群眾物質(zhì)生活水平日益提高,使作為人們生活基礎需求之一的醫(yī)療衛(wèi)生需求也在不斷提升。為了滿足人民群眾在醫(yī)療衛(wèi)生方面的迫切需求,國家和各級地方政府在政策與財政上的扶持力度和資金投入逐年增加。醫(yī)療信息化建設作為醫(yī)院現(xiàn)代化建設的重要環(huán)節(jié)之一,成為政府和醫(yī)院重點關(guān)注和發(fā)展的方向。據(jù)中國產(chǎn)業(yè)信息網(wǎng)統(tǒng)計,自2010 年起,我國醫(yī)院信息化市場規(guī)模始終保持15%以上的高速增長趨勢,其中2017 年我國醫(yī)療信息化市場規(guī)模達到375.2億元[1]。然而現(xiàn)階段醫(yī)院信息化建設主要集中在醫(yī)療、護理、影像等臨床科室,對作為現(xiàn)代化醫(yī)院重要支柱之一的醫(yī)療設備的信息化投入相對薄弱。市面上可供選擇的醫(yī)療設備管理軟件較少且價格昂貴,更重要的是外購成品軟件存在設計功能固化的問題,不同品牌的軟件功能大同小異,對各醫(yī)院不同的管理理念、管理流程和管理特色很難做到統(tǒng)籌兼顧。以筆者所在醫(yī)院為例,隨著醫(yī)療設備采購量的逐年增加,醫(yī)院對醫(yī)療設備的采購愈發(fā)重視,要求實現(xiàn)采購的流程化管理,數(shù)字化存儲全流程文件資料及相關(guān)節(jié)點信息并可追溯?,F(xiàn)有的成品軟件大多難以完全滿足我院工作需要,若后期再根據(jù)醫(yī)院需求進行開發(fā)又存在研發(fā)周期長、收費高、bug 多等一系列問題。
為了順應醫(yī)院現(xiàn)代化發(fā)展的必然趨勢,擴大學科影響力,廣大醫(yī)工人員運用自身所學,利用Visual Studio[2-3]、Power-Builder、Access、SQLite[4]、微信公眾號[5-6]和小程序[7]等工具開發(fā)出了一系列適合自己醫(yī)院工作管理需要的醫(yī)療設備管理系統(tǒng)。但是此類軟件在實際開發(fā)過程中往往涉及多種編程語言和工具,對開發(fā)人員的編程技能要求高,非計算機專業(yè)的醫(yī)工人員需進行長時間摸索,且技術(shù)上存在諸多需要攻克的難關(guān)。
FineReport 是一款基于Java 開發(fā)的、采用類似Excel 的設計及操作界面、零編碼、支持開發(fā)中國式的復雜報表軟件,提供豐富的數(shù)據(jù)可視化圖表,支持JavaScript 腳本的二次開發(fā),為快速開發(fā)Web 醫(yī)療設備管理系統(tǒng)提供了可能。因此本文使用FineReport作為開發(fā)平臺,設計了一套醫(yī)療設備采購管理系統(tǒng),不僅實現(xiàn)了醫(yī)療設備采購項目、招標談判、資料存檔、采購狀態(tài)等全流程節(jié)點的填報與查詢,還實現(xiàn)了供應商資質(zhì)等信息的管理和來訪登記等功能。本系統(tǒng)能有效減少人力資源的浪費,避免手工登記等環(huán)節(jié)產(chǎn)生的人因錯誤,降低醫(yī)院采購工程師的工作強度。
醫(yī)療設備采購管理系統(tǒng)采用瀏覽器/服務器(Browser/Server,B/S)3 層架構(gòu)模式,實現(xiàn)了數(shù)據(jù)間的交互訪問(如圖1 所示)。其中,數(shù)據(jù)層采用MySQL關(guān)系型數(shù)據(jù)庫存儲數(shù)據(jù),可根據(jù)業(yè)務邏輯層的數(shù)據(jù)請求進行數(shù)據(jù)的查詢、編輯等讀寫操作。業(yè)務邏輯層負責接收表現(xiàn)層的數(shù)據(jù)操作請求,對數(shù)據(jù)層數(shù)據(jù)進行查詢、編輯、保存等操作,并將操作結(jié)果依照報表模板內(nèi)容進行編譯處理后發(fā)送給表現(xiàn)層。業(yè)務邏輯層的設計是本次開發(fā)的核心內(nèi)容,決定了系統(tǒng)的功能,其開發(fā)重點是不同報表間的數(shù)據(jù)關(guān)系及邏輯,并根據(jù)采購工作的流程進行權(quán)限設計和結(jié)構(gòu)優(yōu)化。表現(xiàn)層中用戶通過Web 瀏覽器或手機App 訪問本系統(tǒng)并發(fā)出操作請求,表現(xiàn)層接收并解析業(yè)務邏輯層回傳的數(shù)據(jù),并以各類圖表的形式向用戶展示,實現(xiàn)采購數(shù)據(jù)的查詢、填報等操作。本系統(tǒng)服務器架設在醫(yī)院內(nèi)部,通過端口映射的方式允許系統(tǒng)用戶在內(nèi)、外網(wǎng)不同環(huán)境下,通過計算機、智能移動終端上的瀏覽器及手機App 訪問。
圖1 醫(yī)療設備采購管理系統(tǒng)技術(shù)構(gòu)架
操作系統(tǒng):Microsoft Windows 10;數(shù)據(jù)庫管理軟件:MySQL 社區(qū)版,版本8.0.16;開發(fā)軟件:帆軟Fine-Report,版本 10.0 免費版;服務器軟件:Apache Tomcat,版本 8.5.27;開發(fā)語言:SQL 和 JavaScript。
(1)MySQL 數(shù)據(jù)庫管理軟件。
MySQL 是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),其社區(qū)版為免費開源軟件,具有體積小、占用資源少、速度快、功能全、運行穩(wěn)定等優(yōu)勢,特別適合Web 網(wǎng)站及Web App 的開發(fā)。且FineReport 支持通過JDBC、JNDI 等多種方式與MySQL 數(shù)據(jù)庫連接,具有良好的兼容性。
(2)JavaScript。
JavaScript 是一種基于對象和事件驅(qū)動的動態(tài)、弱類型客戶端腳本語言,主要用于客戶端的Web 開發(fā),其與操作系統(tǒng)無關(guān),在支持JavaScript 的瀏覽器中即可正確執(zhí)行。在FineReport 中調(diào)用JavaScript 可對程序進行二次開發(fā),完成API 接口、網(wǎng)頁效果及用戶事件響應等操作。FineReport 軟件在接收到用戶請求后,將JavaScript 腳本嵌入在HTML 代碼中發(fā)送給客戶端,并在用戶瀏覽器中運行,降低了采購管理系統(tǒng)對服務器資源的依賴程度和占用率,從而降低了系統(tǒng)的維護及升級成本。
(3)Apache Tomcat 服務器軟件。
Apache Tomcat 是一款小型、開源的輕量級Web應用服務器軟件,性能相對穩(wěn)定,深受中小型企業(yè)青睞。FineReport 不僅支持Apache Tomcat 的獨立和嵌入式部署,且帆軟官網(wǎng)還提供了配置完整的Apache Tomcat 部署包供用戶下載,解壓即可使用,使用戶無需配置安裝環(huán)境[8]即可迅速部署自己的FineReport Web 報表服務器。
醫(yī)療設備采購管理系統(tǒng)是一個以解決信息孤島問題、提高工作效率為目的,利用計算機技術(shù)、網(wǎng)絡技術(shù)對醫(yī)療設備的采購信息進行收集、傳輸、加工、存儲、更新、分析,供用戶進行分析決策的計算機軟件。其核心是數(shù)據(jù),而管理這些數(shù)據(jù)的最佳方式就是設計符合自身需求的數(shù)據(jù)庫。為了建立冗余較小、結(jié)構(gòu)合理穩(wěn)定的數(shù)據(jù)庫,設計數(shù)據(jù)庫時必須遵循一定的范式。本系統(tǒng)的數(shù)據(jù)庫建立時以“計劃申請清單”和“全院設備庫”為核心表,根據(jù)工作流程設置其他必要數(shù)據(jù)表。各表格的主鍵為通用唯一識別碼(universally unique identifier,UUID),根據(jù)其實際輔以自增ID 主鍵,避免了不同用戶同時填報數(shù)據(jù)時的沖突。同時,不同表格間以設備申請的計劃編號相關(guān)聯(lián)(外鍵),減少數(shù)據(jù)的重復記錄,確保數(shù)據(jù)庫最小冗余度。當需要跨數(shù)據(jù)表查詢時,可通過SQL 語句來完成相關(guān)業(yè)務與邏輯,不關(guān)聯(lián)的表則通過FineReport承擔一部分邏輯判斷任務,從而減少用戶在填報、更新數(shù)據(jù)時的工作量,提高工作效率。
為方便采購工程師對設備采購項目進行登記、查詢,醫(yī)療設備采購管理系統(tǒng)采用11 位計劃編號對每項采購申請進行唯一性編碼,如圖2 所示。編碼的前4位為年度代碼;第 5~6 位表示計劃來源,如年度計劃用“JH”表示;第7 位為院區(qū)代碼,用于區(qū)別不同院區(qū)的采購計劃;第8 位為批次代碼,表示醫(yī)院官網(wǎng)上采購公示的批次信息;第9~11位為順序號,用于統(tǒng)計設備采購的申請總數(shù)。
圖2 計劃編號組成示意
同時,采用計劃編號標識醫(yī)療設備采購項目便于投標廠商投標,可有效避免因不同科室采購相同設備造成的投標資料混亂等潛在問題。且采用計劃編號對采購項目進行唯一編碼也是醫(yī)療設備全生命周期管理的一部分,符合醫(yī)療設備檔案化管理需求,方便采購工程師對設備采購資料有條不紊、分門別類地歸檔,以保證設備臺賬的齊全、完整和準確。
我院醫(yī)療設備采購的大體流程:采購工程師在OA 系統(tǒng)上收到科室的設備采購申請后,登記采購申請并在醫(yī)院官網(wǎng)予以公示后啟動調(diào)研;設備采購申請在醫(yī)院批準后采購工程師安排招標談判;招標結(jié)束后根據(jù)結(jié)果簽訂合同,通知廠家送貨并對設備進行安裝驗收,合格后新設備方可入庫并付款,如果涉及財政或科研經(jīng)費,需要科室提交經(jīng)費請款單。上述流程需要不同采購工程師的參與和配合。通過2 a 多的梳理與調(diào)整,各個環(huán)節(jié)的工作流程已經(jīng)基本通暢,各采購工程師的緊密配合大大地提高了醫(yī)療設備引進入院的速度。因此,以遵循現(xiàn)有采購工作流程為主旨,結(jié)合FineReport 的功能設計了醫(yī)療設備采購管理系統(tǒng)的功能,如圖3 所示。
圖3 醫(yī)療設備采購管理系統(tǒng)功能結(jié)構(gòu)圖
醫(yī)療設備采購管理系統(tǒng)分為采購工程師使用的數(shù)據(jù)查詢模塊、數(shù)據(jù)填報模塊和字典庫模塊以及供應商使用的供應商登記模塊。
2.3.1 字典庫模塊
字典庫模塊主要包括科室及聯(lián)系人字典、設備通用名稱字典、醫(yī)療設備資料及供應商字典4 個部分,設置字典庫的主要目的是將采購信息的錄入做到規(guī)范統(tǒng)一。在以往的采購過程中,臨床遞交的申請中各科室名稱、設備名稱往往存在前后順序顛倒、稱謂口語化等表述問題,如脈氧儀就存在氧脈儀、血氧脈搏儀等不同名稱。字典庫的建立能最大程度地減少因科室、設備等名稱不同為后期統(tǒng)計帶來的困難,降低后期的維護成本。同時,在醫(yī)療設備資料中涵蓋了醫(yī)療設備的分類、設備通用名稱、注冊證/備案證相關(guān)信息、品牌、型號、安裝場地需求、培訓資料等信息,方便設備的驗收及后期購置的場地準備。且字典庫的建立可減少信息錄入時的重復操作,節(jié)省工作時間。
2.3.2 數(shù)據(jù)填報模塊
按照我院醫(yī)療設備的申請流程,數(shù)據(jù)填報模塊包含新設備申請登記表、設備申請狀態(tài)查詢表、每周招標安排登記表、新合同登記錄入表、科研經(jīng)費請款登記表和新設備入庫登記表6 個填報表。
(1)新設備申請登記表。
新設備申請登記表應用界面如圖4 所示。采購工程師在接到臨床OA 采購申請后,需在本功能中登記相關(guān)信息。該登記表將常用信息以下拉菜單的方式供用戶選擇,以減少人工輸入次數(shù)、節(jié)約填報時間;科室、部門等信息則以下拉菜單二級聯(lián)動的方式進行選擇,避免因稱謂不一造成后期統(tǒng)計困難。
圖4 新設備申請登記表應用界面
在新設備申請登記表中,計劃編號通過JavaScript腳本自動生成,避免了因人工編碼造成的編號重復或空缺等問題。登記申請信息時,在點擊責任工程師后觸發(fā)自動生成計劃編號的JavaScript 腳本,根據(jù)用戶的選擇(計劃來源、院區(qū)等信息)自動運行生成對應的計劃編號并填入相應單元格。生成計劃編號的部分關(guān)鍵代碼如下:
(2)設備申請狀態(tài)查詢表。
醫(yī)療設備采購信息除記錄科室申購信息外,還包含申請采購進展狀態(tài)、各采購環(huán)節(jié)時間節(jié)點、中標結(jié)果等內(nèi)容,這需要不同的采購工程師共同完成。為了方便用戶搜索、填報申購項目,設備申請狀態(tài)查詢表支持多參數(shù)查詢及模糊查詢,如圖5 所示。實現(xiàn)多參數(shù)查詢及模糊查詢的部分關(guān)鍵代碼如下:
設備申請狀態(tài)查詢表中如申購狀態(tài)、部門科室等常用信息采用下拉列表形式輸入,列表字段與字典庫綁定,減少了錄入工作量,保證了輸入信息的統(tǒng)一性和完整性。
圖5 多條件查詢及模糊查詢應用界面
(3)每周招標安排登記表。
每周招標安排登記表主要由采購工程師根據(jù)項目的采購安排填寫。本表采用主子報表形式,主表為項目的采購信息,子表為投標供應商信息。采購工程師不僅需要填報投標產(chǎn)品品牌、型號等信息,還需上傳投標文件的PDF 文件,以保證整個招標流程的數(shù)字化、檔案化,方便后期信息追溯。
(4)新合同登記錄入表。
與每周招標安排登記表類似,新合同登記錄入表也采用主子報表形式,主表為合同主體信息,子表為中標設備的品牌、型號、注冊證號等具體信息。合同編號的生成采用與計劃編號類似的JavaScript 腳本代碼自動生成。
(5)科研經(jīng)費請款登記表和新設備入庫登記表。
采用與上述表格相同的方式,使采購工程師在熟悉相關(guān)報表的填報后,可快速完成其他填報表的填報工作。
2.3.3 數(shù)據(jù)查詢模塊
本模塊主要實現(xiàn)對各類數(shù)據(jù)的查詢及展示,可根據(jù)用戶的習慣和需求,通過Excel 表格、自由表格等多種樣式將設備采購信息呈現(xiàn)給用戶。同時,數(shù)據(jù)查詢模塊可根據(jù)設備采購狀態(tài)為每條采購記錄自動添加單元格背景色,使各設備的采購狀態(tài)一目了然。圖6 展示了醫(yī)療設備采購管理系統(tǒng)中設備采購的匯總信息。右側(cè)展示區(qū)上部設有頂部工具欄,點擊相關(guān)按鈕即可實現(xiàn)數(shù)據(jù)表的提交、導出、打印等操作。同時,F(xiàn)ineReport 不僅支持動態(tài)格間運算,可滿足開發(fā)者復雜的統(tǒng)計或?qū)Ρ刃枨螅€內(nèi)嵌了功能豐富的HTML5 可視化圖表樣式,優(yōu)秀的動態(tài)效果和強大的交互體驗方便了采購工程師統(tǒng)計設備采購整體進度,為后續(xù)的工作安排提供了信息支持。
2.3.4 供應商登記模塊
本模塊主要由供應商填寫,包含供應商信息登記和供應商來訪登記2 個部分。為方便供應商登記,本系統(tǒng)開發(fā)了用戶注冊功能,新用戶注冊新賬號后,賬號信息由FineReport 自建的用戶數(shù)據(jù)同步功能導入數(shù)據(jù)庫,以實現(xiàn)對本系統(tǒng)的訪問。新用戶注冊的默認權(quán)限僅支持部分數(shù)據(jù)的查詢,管理員核實身份后方可使用填報、編輯、匯總等更多高級功能。
圖6 可視化圖表展示界面
(1)供應商信息登記:除要求供應商提供公司三證信息、地址、銷售、維修人員及聯(lián)系方式外,還要求供應商提供其代理的產(chǎn)品信息。對供應商信息的完善有益于采購工程師的產(chǎn)品調(diào)研,在遇到新設備時可通過查詢供應商信息登記表搜索類似產(chǎn)品,解決了以往電話調(diào)研耗時問題,大大提高了工作效率。
(2)供應商來訪登記(如圖7 所示):由供應商銷售人員在拜訪采購工程師前根據(jù)擬交流內(nèi)容填寫,做到采購活動的有記錄可查,實現(xiàn)了采購流程的閉環(huán)管理。
圖7 供應商來訪登記(移動端登錄)
醫(yī)療設備采購管理系統(tǒng)可同時兼顧內(nèi)、外網(wǎng)2種登錄模式,操作人員可在不同環(huán)境下登錄并訪問數(shù)據(jù)。醫(yī)療設備采購管理系統(tǒng)經(jīng)過近1 a 的使用、調(diào)整與磨合,功能逐漸成熟,對采購工程師的操作均能及時、準確地響應。截至2020 年8 月,本系統(tǒng)日均訪問量已經(jīng)突破110 次(如圖8 所示),采購工程師均通過本系統(tǒng)登記、處理采購相關(guān)工作。相較于以往使用共享Excel 文件的設備采購管理模式,使用本系統(tǒng)可顯著減少不同文件間多次登記行為,減少如遺漏、重復、不完整等人因失誤造成的數(shù)據(jù)統(tǒng)計錯誤。
同時,本系統(tǒng)還解決了以往Excel 文件共享同時存在的用戶編輯沖突、文件鎖死等問題,將采購工程師從繁重的文字、檔案工作中解放出來,使其能專心于技術(shù)調(diào)研,提高了工作效率。隨著系統(tǒng)的使用,采購信息登記操作更加統(tǒng)一化、規(guī)范化,方便了數(shù)據(jù)的查閱及統(tǒng)計,為醫(yī)院設備采購提供了有力的數(shù)據(jù)支持。
圖8 系統(tǒng)活躍度統(tǒng)計
本文基于FineReport 開發(fā)了一套醫(yī)療設備采購管理系統(tǒng),針對我院的采購流程對系統(tǒng)的各功能模塊進行了設計與完善,大大減少了采購數(shù)據(jù)填報過程中的冗余環(huán)節(jié),使采購數(shù)據(jù)的管理流程更為簡便、合理。目前,本系統(tǒng)主要用于醫(yī)療設備的采購,后期通過技術(shù)、數(shù)據(jù)的積累,系統(tǒng)功能將向醫(yī)療設備全生命周期管理領域深入發(fā)展,使我院的醫(yī)療設備管理更加信息化、檔案化、流程化、智能化,讓數(shù)據(jù)真正為醫(yī)療設備高質(zhì)量管理服務,從而進一步提高我院醫(yī)療設備的現(xiàn)代化、信息化管理水平。