朱夏迪
【摘要】 目的:實現在醫院HIS系統中發送釘釘消息的功能。方法:HIS程序通過部署在內網前置上的本地釘釘服務,間接地與釘釘開放平臺進行通信。結果:能夠在HIS系統中方便地調用釘釘開放平臺的接口,如:發送釘釘消息、同步釘釘通訊錄等一系列的功能。結論:該方法實施部署簡單,具有良好的擴展性。并且在不影響原有HIS系統的前提下,實現HIS員工信息與釘釘通訊錄同步的功能,方便院內職工在HIS系統中快速查找釘釘通訊錄及發送釘釘消息的功能。
【關鍵字】 HIS 釘釘 通訊錄 短消息 內網 外網 網閘 Python
一、引言
隨著醫療技術的不斷發展,醫院的規模也在不斷擴大,一般的中型醫院的職工人數也已經超過了千人,內部職工之間如何相互溝通協調工作,醫療數據如何準確的傳達給需要的人員等等。這些都是每家醫院需要面對的問題。作為信息部門的員工,首先想到的是如何運用信息化的手段來幫助院內職工相互協調工作,提高醫院運行效率。基于我院多數職工都裝有手機釘釘軟件,并且釘釘軟件已導入企業通訊錄的前提下,就萌生了實現在HIS系統中調用釘釘相關功能的想法。
二、釘釘開放平臺概述
釘釘是阿里巴巴專為中小企業和團隊打造的溝通、協同的多端平臺,釘釘開放平臺旨在為企業提供更為豐富的辦公協同解決方案。
通過釘釘開放平臺,企業或第三方合作伙伴可以幫助企業快速、低成本的實現高質量的移動微應用,實現生產、管理、協作、運營的移動化。
釘釘開放平臺依托阿里巴巴多年的技術積累,建立業界一流的開放技術體系,幫助每一位開發者,提升開發效率,降低開發成本與難度。釘釘開放平臺能幫助您獲得更多的商業機會,服務更多的企業客戶,從而不斷的提升你的價值。
釘釘為開發者提供通訊錄、消息等豐富客戶端能力接口的JS-SDK,基于設備和釘釘客戶端業務能力的接口,提供業界一流的無線加速能力。開發者在調用釘釘開放平臺接口時需要附加AccessToken,AccessToken可以通過CorpID和CorpSecret獲取。
三、醫院HIS系統接入釘釘開放平臺的實施方案
3.1 實施步驟
實施步驟分為以下4步:
1、首先搭建系統所需要的硬件環境:部署網閘、前置機并開通外網,搭建結構示意圖如圖1所示,前置機與外網之間通過網閘相互連通,網閘只對前置機發出端口號為80的數據包允許通行,其它數據包則一律禁止。同時為了安全性的考慮,對數據包目標IP地址限制為釘釘的服務器IP。
2、準備好系統所需要的基礎數據:由于企業通訊錄已導入釘釘通訊錄,則只需要做同步即可。
3、本地釘釘服務程序的開發:根據釘釘開發平臺的接口要求進行相應的軟件開發。
4、系統的部署與實施:將開發好的本地釘釘服務程序部署到前置機上,并新建好所需的數據庫及表結構。
3.2 接口方案設計
考慮到系統架構簡單,釘釘服務器的對外接口為HTTP方式、數據格式為JSON,綜合開發時間和開發成本,決定采用Python語言進行開發,本地數據存儲則采用院內現有的MSSQL Server2008數據庫,為了不影響HIS系統的運行效率,專門新建了數據庫 MSGDB,本地釘釘服務程序主要由以下兩個部分組成:
3.2.1 通訊錄同步模塊
通訊錄同步模塊的基本工作流程如圖2所示,主要負責定時同步釘釘通訊錄到本地數據庫,使本地通訊錄與釘釘通訊錄保持一致。其中本地通訊錄中的員工號能夠與HIS系統的員工表中員工號相關聯,這樣就形成了與HIS系統相關聯的基礎。
3.2.2 消息發送模塊
消息發送模塊的基本工作流程圖如圖3所示,主要負責定時地從本地消息緩沖庫中取出待發消息,當待發消息的對應發送時間大于系統當前時間,則調用釘釘接口,對消息進行發送。
HIS系統集成釘釘消息發送的方法示例
1)系統每月固定統計的數據,可以通過程序或者MSSQL Server的作業定時寫入釘釘消息緩沖表中。
2)在HIS程序中嵌入消息發送框,其中可以包含通訊錄,操作者可以選擇需要發送的員工工號,點擊發送,則程序后臺自動寫入釘釘消息緩沖庫中。
3.3 數據交換格式
釘釘接口為HTTP GET方式


四、結語
該系統結構簡單、擴展性強、部署方便快捷,能夠較好地滿足我院對于“消息群發”,“HIS統計數據推送”等一系列的需求,具有良好的推廣性,但該系統也存在著一些不足的地方,內外網互通的關鍵節點“網閘”,需要登記固定內網及外網互通的IP地址及端口,由于釘釘開放接口的接口地址是以固定域名方式提供的,開放接口的IP可能隨時變動,目前想到的解決方案為:定時通過腳本方式獲取釘釘接口域名對應的IP,之后通過腳本添加網閘及前置機路由,此方法待進一步研究。