徐庭松 王上林 主立鵬 孫鴻儒
(江蘇省淮安市康復醫院金湖縣人民醫院 江蘇省淮安市 211600)
近年來,在國家政策支持下,醫院的信息化迅速發展[1-2]。目前,全國大部分醫院無論是醫療方面,如HIS、LIS等,還是財物、日常辦公方面都已經上線了相應的系統。由于上線的系統眾多且相應的信息推送僅將通知推送到臺式工作站上,醫務人員往往因為不在電腦前而無法及時獲取到緊急的信息,大大降低了工作效率,也增加了患者的安全隱患[3-4]。與此同時,領導也無法及時準確地掌握醫院的經營狀況,從而無法快速地對經營策略作出調整[5-6]。為切實解決這些問題,很多醫院對信息系統進行升級改造,這種方法不僅投資大,而且取得的效果也不明顯。
本文將以江蘇省金湖縣人民醫院為例,在不對信息系統進行改造情況下,利用odoo建立統一的信息獲取發送平臺,在odoo上開發不同的模塊獲取不同系統上的信息,再通過odoo信息發送模塊發送到相應人員的企業微信上,不僅避免了信息系統的再次改造,也對所需信息進行了集中管理,可對發送的信息進行統計查詢,分析。
信息推送就是在確保信息準確和安全的情況下,及時將有價值的信息推送給目標用戶,讓目標用戶能快捷、有效地獲取自己想要的信息。信息推送系統目前廣泛被應用于高校、機關、企業等領域,但是在醫院這一特定領域的人應用還較少,因此,本文針對醫院信息的特點,研究了一種利用odoo開發工具,對醫院內部信息進行及時推送的方法,如醫院運營報表、科室會診通知、員工工資、天氣情況及患者檢驗危急值等,拓展了信息推送系統的應用領域和范圍。
Odoo,以前叫OpenERP,是比利時odoo S.A.公司開發的一個企業應用軟件套件,開源套件包括一個企業應用快速開發平臺,以及幾千個odoo及第三方開發的企業應用模塊。odoo的基礎框架還是非常強大和靈活,適用于各種規模的事業單位或企業應用。近些年,與醫院運營管理業務結合應用,更進一步擴展了其行業寬度。
odoo功能模塊涵蓋了各方面的應用:消息推送、CRM、訂單處理、電子商務、MRP、財務、庫存、門店零售、項目管理等等。并且odoo是一個高度模塊化、低耦合的跨平臺開源ERP系統。該系統后端是基于Python語言設計,它可以提供完整的頂級應用和模塊化模型,能夠將復雜的業務功能抽象成多個模塊進行獨立開發,讓應用通過像搭積木的方式拼裝而成,使得各個應用彼此之間完美集成。因此本文選擇odoo進行二次開發,只需要修改少量的源代碼,便可以將醫院信息相關的運營數據及時推送,并將即時通訊工具需求嵌入到該平臺中。
目前,主要的信息推送工具是即時通訊工具,主要有以下三種方式。
(1)短信推送。信息發起者利用手機短信平臺向目標用戶發送短信信息,但是這種方法不僅到達率低,費用成本高,而且很有可能被用戶當成垃圾短信屏蔽掉。
(2)消息線上推送。用戶通過安裝指定app來接收相應的消息推送,這種方法需要用戶每次打開指定app才能查看信息,極大地浪費了用戶時間,不夠便捷。
(3)企業微信推送,用戶只要用微信掃描一次二維碼就可激活并可接受到企業微信發送的消息。
本文選取企業微信作為即時通訊工具,其原因主要是:企業微信有功能強大的對外api,服務端API開放了豐富的能力接口,開發者可以借助接口能力,實現企業服務及企業微信的集成。支持的能力,并且企業微信和微信之間的消息可以互通,互通消息中的小程序可以天然的運行在微信和企業微信兩個運行環境中。開發人員可以在odoo上快速開發出對接模塊;全院所有人員手機都裝有微信,無需在安裝其他app,極大簡化了平臺的推廣,使用者無需進行培訓就可使用[9-10]。因此,通過對企業微信應用開發模式的研究,可以很好地實現醫院信息及時推送的功能。
首先需要安裝odoo并建立ftp服務器,隨后利用odoo建立統一的信息獲取發送平臺,在odoo上開發不同的模塊獲取不同系統上的信息,最后利用odoo上相應模塊定時掃描讀取相應的文件夾的文件,通過相應企業微信api接口,推送信息至企業微信的相關用戶。
本文利用github中提供的odoo開源安裝工具對odoo進行安裝。首先安裝PostgreSQL數據庫,并創建數據庫超級用戶;隨后安裝運行代碼需要的依賴包,如wheel、pillow、decorator等;接著,利用git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0語句安裝odoo。
首先利用安裝VSFTP并啟用服務;接著新建用戶uftp,制定用戶主目錄和所用shell,并設置密碼;隨后新建一個特定文件,用于存在允許訪問ftp的用戶;最后編輯VSFTP配置文件。
如圖1所示,信息推送模塊的建立分為兩步,首先通過數據連接參數,建立事務對象,連接HIS數據庫;隨后編寫語句,提取需要的數據,拼成XML文件,通過批處理上傳至FTP服務器。

圖1:推送手術明細實操代碼展示圖
利用Windows自帶的計劃任務根據預先設定時間通過ftp自動將需要推送數據的文件上傳至odoo服務器指定文件夾中。odoo模塊中設定定時任務定期掃描指定文件內文件,如果發現有文件,分析文件內容,將相應的內容解析添加到odoo相應的模塊后刪除文件夾中文件,再通過分析odoo相應的模塊中數據是否已通過企業微信推送的狀態進行操作并更新推送狀態。以便以后查閱信息推送狀態。圖2展示了計劃任務界面,圖3 展示了odoo信息發送界面。

圖2:計劃任務界面

圖3:odoo信息發送界面
對接各種需要獲取消息的系統,在功能上可以細分為以下幾種:
(1)對于具有對外導出信息的系統。在服務器上設置ftp服務,系統導出信息,并上傳到ftp服務器上。利用odoo上相應模塊定時掃描讀取相應的文件夾并保存到odoo中。
(2)對于具有相應api接口的系統。利用odoo上相應模塊定時獲取對接需要獲取信息的系統api,并把信息存儲到odoo中。
(3)對于具有數據庫的系統。利用odoo上相應模塊定時讀取數據中信息,并把信息存儲到odoo中。
(4)對于具有b/s架構的系統。在模塊中添加網絡爬蟲技術,定時利用網絡爬蟲技術爬取所需信息,并存儲到odoo中。
本文對實現的主要四種類型的消息推送呈現界面進行展示,圖4展示了醫院每日的運營狀況推送結果,包含內容的有:掛號總人次、體檢人次、總收入和手術臺次等;圖5展示了醫院檢驗危急值推送結果,包含內容的有:患者姓名、檢驗項目、值域和檢驗師等;圖6展示了醫院會診信息推送結果,包含內容的有:科室名稱、住院號、會診成員等;圖7展示了診室流量監測推送結果,包含內容的有:天氣狀況、溫度、待診人數是否超過指定閾值等,圖8展示了員工工資的實時推送,部分截圖效果如下[11]-[12]。

圖4:醫院每日運營狀況展示

圖5:醫院檢驗危急值推送展示

圖6:醫院會診信息推送展示

圖7:診室流量監測推送展示

圖8:員工工資推送

圖9:每日天氣推送
截至2020年12月22日,醫院的收入,藥占比、耗占比等各管理緯度數據推送情況對比2019年分析如下;列舉部分可視化展示圖10,圖11。

圖10:2019/2020醫院純收入對比

圖11:2019/2020全員藥占比對比
全院總收入較2019年同期下降7.44%,但隨著醫院精細化管理的推進,全院醫療純收入已超出2019年同期水平,增長率為1.32%。相關醫療服務占比持續上升,全院醫療純收入占比58.16%,較2019年同期增加9.81%;全院醫療服務收入占比29.31%,較2019年同期增加6.75%。藥耗占比持續下降,全院藥占比21.09%,較2019年同期下降19.54%;全院耗占比11.76%,較2019年同期下降5.64%。出院患者平均住院日7.7天,較2019年同期下降3.75%;出院患者次均費用7840元,較2019年同期增加3.49%;出院患者次均藥費較2019年同期下降19.77%。
該企業微信消息推送設計方案,充分考慮了系統的靈活性及適用性,在不修改醫院信息系統程序的情況下,實現了醫院信息系統后臺數據的移動化推送,消息處理能力強大、迅速,支持高并發量,極大地提高了醫護人員的工作效率,也使得管理者能夠及時準確地掌握醫院的運營狀況,從而對運營策略作出迅速調整。由于采用了比較成熟的軟件,比如odoo、vsftp、企業微信,保證了系統運行的穩定性[13]-[14]。信息維護人員操作簡便,可靈活進行后臺部署管理,未來將結合醫院運營管理實際的業務需求考慮設計增加更多消息推送的類型模塊,同時對相應的推送人員進行更加詳細的角色劃分,為醫院的移動信息化發展提供更好的數據支持[15]。