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