徐庭松 王上林 主立鵬 孫鴻儒
(江蘇省淮安市康復(fù)醫(yī)院金湖縣人民醫(yī)院 江蘇省淮安市 211600)
近年來,在國家政策支持下,醫(yī)院的信息化迅速發(fā)展[1-2]。目前,全國大部分醫(yī)院無論是醫(yī)療方面,如HIS、LIS等,還是財物、日常辦公方面都已經(jīng)上線了相應(yīng)的系統(tǒng)。由于上線的系統(tǒng)眾多且相應(yīng)的信息推送僅將通知推送到臺式工作站上,醫(yī)務(wù)人員往往因為不在電腦前而無法及時獲取到緊急的信息,大大降低了工作效率,也增加了患者的安全隱患[3-4]。與此同時,領(lǐng)導(dǎo)也無法及時準(zhǔn)確地掌握醫(yī)院的經(jīng)營狀況,從而無法快速地對經(jīng)營策略作出調(diào)整[5-6]。為切實解決這些問題,很多醫(yī)院對信息系統(tǒng)進(jìn)行升級改造,這種方法不僅投資大,而且取得的效果也不明顯。
本文將以江蘇省金湖縣人民醫(yī)院為例,在不對信息系統(tǒng)進(jìn)行改造情況下,利用odoo建立統(tǒng)一的信息獲取發(fā)送平臺,在odoo上開發(fā)不同的模塊獲取不同系統(tǒng)上的信息,再通過odoo信息發(fā)送模塊發(fā)送到相應(yīng)人員的企業(yè)微信上,不僅避免了信息系統(tǒng)的再次改造,也對所需信息進(jìn)行了集中管理,可對發(fā)送的信息進(jìn)行統(tǒng)計查詢,分析。
信息推送就是在確保信息準(zhǔn)確和安全的情況下,及時將有價值的信息推送給目標(biāo)用戶,讓目標(biāo)用戶能快捷、有效地獲取自己想要的信息。信息推送系統(tǒng)目前廣泛被應(yīng)用于高校、機(jī)關(guān)、企業(yè)等領(lǐng)域,但是在醫(yī)院這一特定領(lǐng)域的人應(yīng)用還較少,因此,本文針對醫(yī)院信息的特點,研究了一種利用odoo開發(fā)工具,對醫(yī)院內(nèi)部信息進(jìn)行及時推送的方法,如醫(yī)院運營報表、科室會診通知、員工工資、天氣情況及患者檢驗危急值等,拓展了信息推送系統(tǒng)的應(yīng)用領(lǐng)域和范圍。
Odoo,以前叫OpenERP,是比利時odoo S.A.公司開發(fā)的一個企業(yè)應(yīng)用軟件套件,開源套件包括一個企業(yè)應(yīng)用快速開發(fā)平臺,以及幾千個odoo及第三方開發(fā)的企業(yè)應(yīng)用模塊。odoo的基礎(chǔ)框架還是非常強(qiáng)大和靈活,適用于各種規(guī)模的事業(yè)單位或企業(yè)應(yīng)用。近些年,與醫(yī)院運營管理業(yè)務(wù)結(jié)合應(yīng)用,更進(jìn)一步擴(kuò)展了其行業(yè)寬度。
odoo功能模塊涵蓋了各方面的應(yīng)用:消息推送、CRM、訂單處理、電子商務(wù)、MRP、財務(wù)、庫存、門店零售、項目管理等等。并且odoo是一個高度模塊化、低耦合的跨平臺開源ERP系統(tǒng)。該系統(tǒng)后端是基于Python語言設(shè)計,它可以提供完整的頂級應(yīng)用和模塊化模型,能夠?qū)?fù)雜的業(yè)務(wù)功能抽象成多個模塊進(jìn)行獨立開發(fā),讓應(yīng)用通過像搭積木的方式拼裝而成,使得各個應(yīng)用彼此之間完美集成。因此本文選擇odoo進(jìn)行二次開發(fā),只需要修改少量的源代碼,便可以將醫(yī)院信息相關(guān)的運營數(shù)據(jù)及時推送,并將即時通訊工具需求嵌入到該平臺中。
目前,主要的信息推送工具是即時通訊工具,主要有以下三種方式。
(1)短信推送。信息發(fā)起者利用手機(jī)短信平臺向目標(biāo)用戶發(fā)送短信信息,但是這種方法不僅到達(dá)率低,費用成本高,而且很有可能被用戶當(dāng)成垃圾短信屏蔽掉。
(2)消息線上推送。用戶通過安裝指定app來接收相應(yīng)的消息推送,這種方法需要用戶每次打開指定app才能查看信息,極大地浪費了用戶時間,不夠便捷。
(3)企業(yè)微信推送,用戶只要用微信掃描一次二維碼就可激活并可接受到企業(yè)微信發(fā)送的消息。
本文選取企業(yè)微信作為即時通訊工具,其原因主要是:企業(yè)微信有功能強(qiáng)大的對外api,服務(wù)端API開放了豐富的能力接口,開發(fā)者可以借助接口能力,實現(xiàn)企業(yè)服務(wù)及企業(yè)微信的集成。支持的能力,并且企業(yè)微信和微信之間的消息可以互通,互通消息中的小程序可以天然的運行在微信和企業(yè)微信兩個運行環(huán)境中。開發(fā)人員可以在odoo上快速開發(fā)出對接模塊;全院所有人員手機(jī)都裝有微信,無需在安裝其他app,極大簡化了平臺的推廣,使用者無需進(jìn)行培訓(xùn)就可使用[9-10]。因此,通過對企業(yè)微信應(yīng)用開發(fā)模式的研究,可以很好地實現(xiàn)醫(yī)院信息及時推送的功能。
首先需要安裝odoo并建立ftp服務(wù)器,隨后利用odoo建立統(tǒng)一的信息獲取發(fā)送平臺,在odoo上開發(fā)不同的模塊獲取不同系統(tǒng)上的信息,最后利用odoo上相應(yīng)模塊定時掃描讀取相應(yīng)的文件夾的文件,通過相應(yīng)企業(yè)微信api接口,推送信息至企業(yè)微信的相關(guān)用戶。
本文利用github中提供的odoo開源安裝工具對odoo進(jìn)行安裝。首先安裝PostgreSQL數(shù)據(jù)庫,并創(chuàng)建數(shù)據(jù)庫超級用戶;隨后安裝運行代碼需要的依賴包,如wheel、pillow、decorator等;接著,利用git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0語句安裝odoo。
首先利用安裝VSFTP并啟用服務(wù);接著新建用戶uftp,制定用戶主目錄和所用shell,并設(shè)置密碼;隨后新建一個特定文件,用于存在允許訪問ftp的用戶;最后編輯VSFTP配置文件。
如圖1所示,信息推送模塊的建立分為兩步,首先通過數(shù)據(jù)連接參數(shù),建立事務(wù)對象,連接HIS數(shù)據(jù)庫;隨后編寫語句,提取需要的數(shù)據(jù),拼成XML文件,通過批處理上傳至FTP服務(wù)器。
圖1:推送手術(shù)明細(xì)實操代碼展示圖
利用Windows自帶的計劃任務(wù)根據(jù)預(yù)先設(shè)定時間通過ftp自動將需要推送數(shù)據(jù)的文件上傳至odoo服務(wù)器指定文件夾中。odoo模塊中設(shè)定定時任務(wù)定期掃描指定文件內(nèi)文件,如果發(fā)現(xiàn)有文件,分析文件內(nèi)容,將相應(yīng)的內(nèi)容解析添加到odoo相應(yīng)的模塊后刪除文件夾中文件,再通過分析odoo相應(yīng)的模塊中數(shù)據(jù)是否已通過企業(yè)微信推送的狀態(tài)進(jìn)行操作并更新推送狀態(tài)。以便以后查閱信息推送狀態(tài)。圖2展示了計劃任務(wù)界面,圖3 展示了odoo信息發(fā)送界面。
圖2:計劃任務(wù)界面
圖3:odoo信息發(fā)送界面
對接各種需要獲取消息的系統(tǒng),在功能上可以細(xì)分為以下幾種:
(1)對于具有對外導(dǎo)出信息的系統(tǒng)。在服務(wù)器上設(shè)置ftp服務(wù),系統(tǒng)導(dǎo)出信息,并上傳到ftp服務(wù)器上。利用odoo上相應(yīng)模塊定時掃描讀取相應(yīng)的文件夾并保存到odoo中。
(2)對于具有相應(yīng)api接口的系統(tǒng)。利用odoo上相應(yīng)模塊定時獲取對接需要獲取信息的系統(tǒng)api,并把信息存儲到odoo中。
(3)對于具有數(shù)據(jù)庫的系統(tǒng)。利用odoo上相應(yīng)模塊定時讀取數(shù)據(jù)中信息,并把信息存儲到odoo中。
(4)對于具有b/s架構(gòu)的系統(tǒng)。在模塊中添加網(wǎng)絡(luò)爬蟲技術(shù),定時利用網(wǎng)絡(luò)爬蟲技術(shù)爬取所需信息,并存儲到odoo中。
本文對實現(xiàn)的主要四種類型的消息推送呈現(xiàn)界面進(jìn)行展示,圖4展示了醫(yī)院每日的運營狀況推送結(jié)果,包含內(nèi)容的有:掛號總?cè)舜?、體檢人次、總收入和手術(shù)臺次等;圖5展示了醫(yī)院檢驗危急值推送結(jié)果,包含內(nèi)容的有:患者姓名、檢驗項目、值域和檢驗師等;圖6展示了醫(yī)院會診信息推送結(jié)果,包含內(nèi)容的有:科室名稱、住院號、會診成員等;圖7展示了診室流量監(jiān)測推送結(jié)果,包含內(nèi)容的有:天氣狀況、溫度、待診人數(shù)是否超過指定閾值等,圖8展示了員工工資的實時推送,部分截圖效果如下[11]-[12]。
圖4:醫(yī)院每日運營狀況展示
圖5:醫(yī)院檢驗危急值推送展示
圖6:醫(yī)院會診信息推送展示
圖7:診室流量監(jiān)測推送展示
圖8:員工工資推送
圖9:每日天氣推送
截至2020年12月22日,醫(yī)院的收入,藥占比、耗占比等各管理緯度數(shù)據(jù)推送情況對比2019年分析如下;列舉部分可視化展示圖10,圖11。
圖10:2019/2020醫(yī)院純收入對比
圖11:2019/2020全員藥占比對比
全院總收入較2019年同期下降7.44%,但隨著醫(yī)院精細(xì)化管理的推進(jìn),全院醫(yī)療純收入已超出2019年同期水平,增長率為1.32%。相關(guān)醫(yī)療服務(wù)占比持續(xù)上升,全院醫(yī)療純收入占比58.16%,較2019年同期增加9.81%;全院醫(yī)療服務(wù)收入占比29.31%,較2019年同期增加6.75%。藥耗占比持續(xù)下降,全院藥占比21.09%,較2019年同期下降19.54%;全院耗占比11.76%,較2019年同期下降5.64%。出院患者平均住院日7.7天,較2019年同期下降3.75%;出院患者次均費用7840元,較2019年同期增加3.49%;出院患者次均藥費較2019年同期下降19.77%。
該企業(yè)微信消息推送設(shè)計方案,充分考慮了系統(tǒng)的靈活性及適用性,在不修改醫(yī)院信息系統(tǒng)程序的情況下,實現(xiàn)了醫(yī)院信息系統(tǒng)后臺數(shù)據(jù)的移動化推送,消息處理能力強(qiáng)大、迅速,支持高并發(fā)量,極大地提高了醫(yī)護(hù)人員的工作效率,也使得管理者能夠及時準(zhǔn)確地掌握醫(yī)院的運營狀況,從而對運營策略作出迅速調(diào)整。由于采用了比較成熟的軟件,比如odoo、vsftp、企業(yè)微信,保證了系統(tǒng)運行的穩(wěn)定性[13]-[14]。信息維護(hù)人員操作簡便,可靈活進(jìn)行后臺部署管理,未來將結(jié)合醫(yī)院運營管理實際的業(yè)務(wù)需求考慮設(shè)計增加更多消息推送的類型模塊,同時對相應(yīng)的推送人員進(jìn)行更加詳細(xì)的角色劃分,為醫(yī)院的移動信息化發(fā)展提供更好的數(shù)據(jù)支持[15]。