倪劍,周敏(通信作者),沈亮,馮鐳,周逸帆,高麗娟
浙江大學醫(yī)學院附屬第一醫(yī)院 (浙江杭州 310002)
隨著社會的不斷進步,云、大、物、移、智等技術(shù)在醫(yī)療領域被大量應用[1]。醫(yī)院從早期單一的財務窗口現(xiàn)金收費,過度至無須人力的自助機現(xiàn)金、預交金充值、銀行卡繳費,逐漸轉(zhuǎn)變?yōu)槭謾CAPP及自助機支付寶、微信等移動收費[2]。我院自應用自助機支付寶掃碼支付業(yè)務以來,每年解決門診近六成的支付交易,交易能力的提升遠超人力對賬。因此伴隨而來的支付系統(tǒng)通訊、財務對賬等業(yè)務問題就成為醫(yī)院信息科人員、財務人員亟待解決的重要課題。
醫(yī)院門診業(yè)務往往會受“三長一短”的困擾[3]。隨著科技的進步,醫(yī)療服務模式也有了長足的發(fā)展。雖然支付寶、自助機的加入增加了患者付費的途徑,但只是繳費窗口的增多,并不能滿足“互聯(lián)網(wǎng)+醫(yī)療健康”服務模式下患者就醫(yī)的迫切需求,而自助機支付寶掃碼為患者提供了更快速、便捷的支付方式。
自助機支付寶掃碼支付業(yè)務流程如下:(1)患者插入醫(yī)保卡,查看并選擇需要支付的費用組;(2)選擇支付途徑——支付寶繳費;(3)后臺調(diào)用支付寶接口,生成支付二維碼并記錄此次交易外部訂單號(此步驟為后臺靜默操作);(4)用戶打開支付寶掃描支付二維碼付款;(5)自助機系統(tǒng)接收到支付寶掃碼付款反饋消息,并調(diào)用子線程異步使用醫(yī)保交易工具,進行醫(yī)保交易;(6)收到醫(yī)保交易反饋消息,提示用戶下一步操作,并打印收費憑條。用戶一次簡單的繳費操作除自助機系統(tǒng)設計外,還涉及醫(yī)保交易、醫(yī)院內(nèi)外網(wǎng)通訊、支付寶交易接口操作、支付寶收費對賬等多系統(tǒng)、多網(wǎng)絡間的操作,其中任何一個環(huán)節(jié)出現(xiàn)問題,就會產(chǎn)生系統(tǒng)通信問題,影響用戶體驗[4]。
醫(yī)院信息系統(tǒng)(hospital information system,HIS)、自助機、醫(yī)保交易接口均部署在醫(yī)院內(nèi)網(wǎng)域,與醫(yī)院互聯(lián)網(wǎng)域間存在網(wǎng)絡結(jié)構(gòu)上的物理隔離。支付寶接口須調(diào)用互聯(lián)網(wǎng)外部支付寶交易平臺,導致醫(yī)院內(nèi)網(wǎng)醫(yī)保、財務相關系統(tǒng)無法實時同步與支付寶接口通訊。因此,如何安全、高效、穩(wěn)定地處理支付寶支付碼生成,成為實現(xiàn)自助機支付寶掃碼付當前必須解決的問題。
對于醫(yī)院財務而言,增加自助機收費雖然在很大程度上減輕了窗口收費人員的工作壓力,但對于財務報表對賬人員則增加了工作量。支付寶、微信等第三方交易接口均遵循時間交易到賬規(guī)則。面對巨大的自助機交易量,對賬工作的展開本身是為了保證每筆交易都真實有效,但支付寶的到賬、互聯(lián)網(wǎng)退費的便利性和網(wǎng)絡交易的不穩(wěn)定性,使得對賬操作變得十分復雜[5]。且隨著醫(yī)療互聯(lián)網(wǎng)交易業(yè)務種類的增多,支付寶類第三方支付接口難以像現(xiàn)金一樣當面點清,全程還需網(wǎng)絡配合、軟件保障,極易出現(xiàn)HIS、支付寶和銀行回單不對應的情況。若采用傳統(tǒng)Excel、Word對賬方式,不僅會增加財務對賬工作人員的工作量,還容易造成漏對、錯對等情況。因此,在當前的醫(yī)療環(huán)境下實現(xiàn)高效、準確、清晰的支付寶交易對賬,是此類互聯(lián)網(wǎng)第三方交易平臺可持續(xù)發(fā)展的重要保障。
醫(yī)院自助機、HIS、醫(yī)保交易接口在醫(yī)院內(nèi)網(wǎng)域及直連的醫(yī)保專網(wǎng)域,三者之間可互聯(lián)互通,但在與支付寶通信獲取付款碼時,由于支付寶接口在互聯(lián)網(wǎng)域與內(nèi)網(wǎng)域物理隔離無法直接通信。鑒于醫(yī)院現(xiàn)有的環(huán)境,通常采用網(wǎng)閘方式來實現(xiàn)內(nèi)外網(wǎng)域個別業(yè)務的單向通信,并在醫(yī)院服務器外網(wǎng)域(互聯(lián)網(wǎng)域DMZ區(qū))部署MySQL支付寶交易流水數(shù)據(jù)庫、支付寶對內(nèi)網(wǎng)接口程序、對支付寶接口交互程序等應用程序和數(shù)據(jù)庫服務器[6]。
3.1.1建立MySQL支付寶交易數(shù)據(jù)庫
MySQL支付寶交易數(shù)據(jù)庫一般被用于對接支付寶交易過程中全局交易流水日志,具體包括交易訂單表、交易明細表、交易退款、單邊退款賬目表、每日賬目下載記錄表、每日賬目解析表、對賬標記表等支付寶流水賬目相關數(shù)據(jù)庫表,主要用于記錄每一筆生產(chǎn)、發(fā)生、結(jié)算、退款、沖正的支付寶交易數(shù)據(jù),并在每日凌晨2:00,通過支付寶接口下載前一日賬目記錄,校驗通信MD5文件校驗碼后,與產(chǎn)生的日流水記錄進行逐一核對。只有當下載數(shù)據(jù)與產(chǎn)生日交易流水相等時,每日賬目下載記錄才會轉(zhuǎn)入每日賬目解析表,用于后期內(nèi)網(wǎng)接口對賬。制定訪問限制和用戶權(quán)限控制,內(nèi)網(wǎng)域訪問專用支付寶對賬用戶僅有讀數(shù)據(jù)權(quán)限,支付寶對內(nèi)網(wǎng)接口程序、支付寶接口程序的用戶僅有寫入數(shù)據(jù)權(quán)限和查詢權(quán)限,全局除數(shù)據(jù)庫管理員用戶無修改權(quán)限,保證交易流水數(shù)據(jù)無法篡改。
3.1.2同步內(nèi)網(wǎng)域交易數(shù)據(jù)
出于安全防護考慮,所有內(nèi)網(wǎng)域中需要調(diào)用支付寶交易的系統(tǒng),需單獨在網(wǎng)閘上配置單一通信方向,由醫(yī)院內(nèi)網(wǎng)域訪問醫(yī)院外網(wǎng)支付寶對內(nèi)網(wǎng)接口程序的映射鏈路,并在支付寶對內(nèi)網(wǎng)接上做訪問控制,限制只允許自助機設備與內(nèi)網(wǎng)支付寶業(yè)務相關系統(tǒng)進行訪問。
3.1.3對接支付寶交易接口
為了對接支付寶交易的接口,我們開發(fā)了支付寶接口交互程序,所有與支付寶交易調(diào)用互聯(lián)網(wǎng)上支付寶接口由此模塊完成,且由此模塊記錄所有通信狀態(tài),故此模塊也需與交易流水MySQL數(shù)據(jù)庫相連。
采用上述方法實現(xiàn)支付寶通訊的優(yōu)勢體現(xiàn)在:(1)此通信鏈路完全由醫(yī)院信息科設計、獨立開發(fā),防止了醫(yī)療財務金融數(shù)據(jù)外流的風險;(2)利用網(wǎng)閘實現(xiàn)單向通信,即使醫(yī)院互聯(lián)網(wǎng)域服務器被攻擊,核心支付業(yè)務及核心數(shù)據(jù)、備份數(shù)據(jù)仍在安全、穩(wěn)定的內(nèi)網(wǎng)域;(3)交易流水的多次核對保證了對賬流水準確度和可信度,為后期對賬做鋪墊;(3)開發(fā)完成后,醫(yī)院所有需要與支付寶交易的通信與通信方式,都由信息科統(tǒng)一管理控制,醫(yī)院第三方交易統(tǒng)一交易途徑與對賬出口,可確保賬目的準確性與安全性。
3.2.1建立支付寶對賬模型
設賬目對賬日期為T,銀行回單支付寶現(xiàn)金額為BT+1,支付寶流水日志中交易訂單總金額為ZT+1,HIS系統(tǒng)中通過支付寶交易產(chǎn)生結(jié)算的總金額為HT,T日中總生成支付寶訂單外部訂單號n次,定義0≤i≤n,計第i次產(chǎn)生的外部訂單號為Wi,每筆支付寶交易訂單明細記作DWi,每筆HIS中結(jié)算交易明細記做CWi,每筆自助機自動退費交易記作OWi,T日中還會產(chǎn)生財務對賬后手工退費單邊賬m次,定義0≤j≤m,記第j次產(chǎn)生的退款外部訂單號為Wj,每筆手工財務單邊支付寶退款記為OWj,第T日支付寶對賬模型為:
(1)
(2)
(3)
賬目外部訂單號為W,HIS內(nèi)該筆結(jié)算數(shù)據(jù)為CW,以此為條件查詢支付寶交易流水數(shù)據(jù)可能會產(chǎn)生多條記錄,如支付寶交易折扣后金額ZW,花唄抵扣后金額HW,“雙十一”活動紅包抵扣DW,支付寶退款金額OW,則有:
CW=ZW+HW+DW-OW
(4)
HIS與支付寶對賬記錄不是一對一,可能存在一對多的情況。
3.2.2建立支付寶對賬參考系
建立支付寶對賬模型可實現(xiàn)賬目數(shù)據(jù)的準確確認,便于下一步選擇某方面賬目作為對賬的參考系。在作參考系時當作正確賬,不作參考系時當作待對賬,當前與支付寶對賬,存在HIS結(jié)算賬目流水和支付寶流水2個明細賬目,首先,以HIS結(jié)算流水賬作為參考系對賬,遍歷所有HIS結(jié)算流水賬,通過交易過程中HIS記錄的支付寶外部訂單號,核對支付寶流水賬同外部訂單號的和,判斷公式(4)等號兩邊大小以確定HIS與支付寶之間賬目是否為醫(yī)院錯收費用;若等號兩邊不相等,則記錄此次對賬過程中發(fā)現(xiàn)問題賬目的外部訂單號,標記為錯收費用標志;然后,以支付寶交易流水賬作為參考系對賬,遍歷所有支付寶交易流水賬,利用每一筆支付寶交易流水賬的外部訂單號去查詢HIS結(jié)算流水賬,如果發(fā)現(xiàn)支付寶交易流水賬中存在外部訂單號,但HIS結(jié)算流水賬中無此外部訂單號,且支付寶交易流水賬此外部訂單號對應流水數(shù)據(jù)的和不為零,則認為產(chǎn)生支付寶單邊(支付寶多收),記為支付寶單邊標志;最后,通過對比HIS結(jié)算流水賬狀態(tài)標志和支付寶交易流水賬狀態(tài)標志,得出當次對賬單邊和錯賬數(shù)據(jù),由財務人員手工確認單邊數(shù)據(jù)后,調(diào)用支付寶退款接口,向患者支付寶賬戶退還支付寶單邊賬目[7]。
醫(yī)院自助機支付寶掃碼支付系統(tǒng)的建立,大大簡化了醫(yī)院收費、結(jié)算、找零等流程,既減少了患者排隊掛號、繳費的時間,又降低了醫(yī)院假幣、找零出錯等風險,不僅提高了醫(yī)療就診效率,而且為改善患者就醫(yī)支付體驗提供了創(chuàng)新性的解決方案。解決醫(yī)療信息跨網(wǎng)絡通訊、第三方交易平臺財務對賬等問題,建立網(wǎng)絡安全、數(shù)據(jù)安全、交易安全的支付寶通信鏈路,完善支付業(yè)務場景第三方交易平臺財務對賬平臺,為支付寶、微信等第三方支付平臺在醫(yī)院可持續(xù)化發(fā)展提供重要支撐與保障。