王耀煒,馮 彬,王培法,王 煜,郭泉成
(濰坊市人民醫(yī)院信息網絡管理辦公室,濰坊 261041)
醫(yī)院消息系統(tǒng)作為互聯(lián)網業(yè)務與HIS(醫(yī)院信息系統(tǒng))的重要紐帶,是各大醫(yī)院提高數(shù)字化導醫(yī)水平的重要一環(huán)[1-3]。但信息化助力醫(yī)療服務是循序漸進的過程,各醫(yī)院的信息化建設都是隨著業(yè)務的發(fā)展需要、資金的陸續(xù)投入、新技術的發(fā)展更迭在不斷完善。多年來消息系統(tǒng)一般采用分期投入的辦法建設應用,第一階段的消息系統(tǒng)是在HIS中實現(xiàn)微信支付寶文本消息推送,第二階段是信息在微信應用的管理微信模板實現(xiàn)消息推送,第三階段是對多種接口的整合應用。當前探索發(fā)展的精準導醫(yī)系統(tǒng)在原有基礎上進一步增加在線地圖引導功能,并提出對短信、微信、支付寶、APP推送進行整合功能的需求。由此引入基于多業(yè)務場景信息收發(fā)平臺的構想,通過消息統(tǒng)一管理、消息隊列支撐、多推送方案支持、離線消息推送、統(tǒng)計分析查詢等技術手段實現(xiàn)推送范圍可定制管理,基本包括醫(yī)院對外消息推送的所有方面。作為醫(yī)院開放平臺的重要組成部分,解決醫(yī)院推送業(yè)務復雜、業(yè)務場景消息需求多樣、多套消息系統(tǒng)重復開發(fā)嚴重的問題。
基于微信、支付寶、院內APP、互聯(lián)網APP和短信平臺等,多業(yè)務場景、多推送形式的數(shù)據(jù)接口數(shù)量在不斷增長,這為數(shù)字化導醫(yī)應用帶來極大的便利[4-5]。但隨著HIS(醫(yī)院管理信息平臺)推送個性化和多渠道需求不斷增加及各類APP、應用系統(tǒng)業(yè)務升級需求不斷變化,各種消息收發(fā)平臺相關接口改造復雜度越來越高。尤其是在近年“互聯(lián)網+醫(yī)療健康”大力發(fā)展的背景下,發(fā)展精準導醫(yī)以解決門診看病“三長一短”現(xiàn)象的呼聲越來越高,HIS中集成的各類消息平臺卻各自為戰(zhàn)、互為孤島,導致新功能開發(fā)管理成本與實際運行效能不匹配的矛盾日漸突出,因此構建一個準確高效運行的信息平臺,為導醫(yī)系統(tǒng)順利實施提供有力的基礎支撐,成為醫(yī)院信息工作者亟待解決的重要課題。
醫(yī)院消息平臺是從原有幾個消息系統(tǒng)中剝離出核心模塊,將HIS業(yè)務端與消息服務端應用接口進行標準化處理,實現(xiàn)對推送范圍可擴展支持,具備基礎參數(shù)管理、業(yè)務配置管理、模板維護管理、圖文菜單管理、APP支持管理、消息統(tǒng)一管理等功能,針對醫(yī)院對外消息推送的所有渠道,形成一個系統(tǒng)化的收發(fā)管理平臺。
2.1 應用性目標信息收發(fā)平臺的應用實現(xiàn)對兩個端口的整合。第一個端口是HIS應用端,能夠對醫(yī)院預約、提醒、HIS、檢驗、超聲等業(yè)務系統(tǒng)進行統(tǒng)一消息收發(fā)與路徑計算管理,對應用的增減、具體參數(shù)的設定實現(xiàn)可配置。第二個端口是基于實際業(yè)務需求構建一套通用消息投遞方案,能夠做到對于不同消息業(yè)務應用屏蔽技術差異,確保各類業(yè)務能夠快速對接相應消息服務的目標;對于消息通道實現(xiàn)統(tǒng)一的端到端、端到服務器、服務器到端管理,對消息到達可控等關鍵指標實現(xiàn)監(jiān)控與統(tǒng)計。
2.2 技術性目標首先是構建統(tǒng)一消息平臺,搭建整合多業(yè)務場景醫(yī)院消息平臺,對核心功能進行整合升級,把原有幾期項目的消息模塊從各個應用中摘除出來,實現(xiàn)統(tǒng)一推送的去工具化與可定制性。其次是確保升級安全,在新平臺正式發(fā)布前,各HIS業(yè)務對應的消息系統(tǒng)仍然保持運行,新平臺的開發(fā)、測試、部署,應該確保不對現(xiàn)有業(yè)務系統(tǒng)運行形成干擾。最后充分考慮系統(tǒng)兼容性,醫(yī)院信息應用龐大而復雜,應用端第三方軟硬件平臺與信息平臺端交互頻繁,應引入標準化方法與技術(如Web Service技術)搭建低耦合、可編程的統(tǒng)一應用接口。
2.3 功能性目標平臺實現(xiàn)的可衡量指標包括以下幾個方面:首先是可集成推送。通過支持多種軟件開發(fā)工具包,統(tǒng)一調用協(xié)議、推送渠道策略化配置、對用戶屏蔽系統(tǒng)復雜性等技術手段實現(xiàn)快速集成,確保信息平臺能夠針對不同應用場景實現(xiàn)快速響應與靈活配置。其次是個性化定制。醫(yī)院各類應用系統(tǒng)的推送數(shù)據(jù)靈活多變,例如為微信支付寶提供文本閱讀、圖文瀏覽、模板推送、鏈接推送等方式,為智能導航系統(tǒng)提供提示消息服務、原生頁面跳轉消息、HTML5頁面消息推送等推送方式,針對不同推送需求能夠實現(xiàn)靈活切換。最后是確保消息可達。消息的可達性包括兩個方面,其一是由HIS、預約系統(tǒng)、各類醫(yī)技系統(tǒng)產生的推送數(shù)據(jù)準確到達信息平臺;其二是消息平臺能夠將推送數(shù)據(jù)成功送達相應的推送服務平臺。為對推送數(shù)據(jù)可達性進行追蹤處理,平臺引入用戶查詢離線消息功能。
3.1 部署環(huán)境四核3.8GHz以上CPU,16G以上內存,1T以上硬盤,操作系統(tǒng)選用Windows Server 2008。
3.2 開發(fā)環(huán)境和工具消息平臺采用MVC和Pub-Sub等設計模式,開發(fā)語言為PHP/nodejs,開發(fā)工具為PHPstorm/vscode,采用Symfony框架,應用xml/json/amqp/oauth2.0/https/restful/websocket等業(yè)界主流及開放的技術標準與安全認證框架,數(shù)據(jù)庫采用Redis(nosql)/mySQL(SQL)。
3.3 功能模塊設計與實現(xiàn)統(tǒng)一消息平臺主要由策略中心、推送通道、移動端業(yè)務集成、消息控制四個關鍵模塊構成。策略中心通過支持手動配置或者自動調整兩種靈活的配置策略,確保不同業(yè)務場景下有相應的可選渠道;推送通道通過整合當前的主流推送方式建立統(tǒng)一的推送通道,根據(jù)通道的不同選擇相應的參數(shù)值,實現(xiàn)消息到端的送達;移動端業(yè)務集成通過集成豐富的SDK(軟件開發(fā)工具包),確保信息平臺能夠覆蓋醫(yī)院患者全業(yè)務場景;消息控制通過構建基于TCP協(xié)議的消息系統(tǒng)及消息處理服務器,確保離線患者能夠接收到平臺推送的消息,提高消息的可達性。平臺完成后常用參數(shù)配置如圖1所示。
圖1 基本配置、業(yè)務配置功能
3.3.1 策略中心模塊 策略中心主要包括開發(fā)策略配置、策略解析、通道選擇與調度三個核心模塊。策略配置模塊實現(xiàn)人為配置消息推送的策略,便于根據(jù)業(yè)務優(yōu)先級以及消息可達率的需要,指定相應的場景下消息推送策略;策略解析模塊可根據(jù)用戶所在業(yè)務場景選擇消息推送渠道,便于根據(jù)不同的終端類型進行渠道選擇,同時也支持推送端參數(shù)指定來選擇推送渠道;通道選擇與調度是通過定時器、緩存探測、消息反饋機制對消息推送隊列實施調整。
3.3.2 推送通道模塊 使用面向消息的中間件支撐推送服務,具有高可用、高擴展、高靈活性的特點,能夠提升系統(tǒng)的穩(wěn)定性,做到流量的削峰填谷,確保高并發(fā)狀態(tài)下推送平臺的吞吐能力。針對短信、APP、微信、支付寶等不同的推送渠道建立獨立的消息隊列,保證多渠道推送時各隊列消息互不干擾,通過配置各隊列的消費者數(shù)據(jù)控制各渠道的推送速率。因網絡不穩(wěn)定等復雜因素導致的發(fā)送失敗的消息,建立專用的私信隊列,此隊列中的消息根據(jù)已配置策略進行二次發(fā)送,通過設置專有消費者數(shù)據(jù)進行控制,保證消息到達。針對不需要響應分析的消息可以采用非確認模式推送,從而實現(xiàn)消息隊列快速向后作業(yè),減小網絡高峰期的服務壓力。
3.3.3 移動端業(yè)務集成模塊 通過實現(xiàn)模板、圖文、APP通信參數(shù)自定義,進一步配置名稱、代碼、消息類型、所屬類組、所屬機構等基本參數(shù),確保信息平臺能夠覆蓋包括微信、支付寶、圖像導航、APP提示消息、原生頁面跳轉消息、HTML5頁面消息、手機短信等全部業(yè)務場景,進而結合策略中心配置和關聯(lián)參數(shù)實現(xiàn)平臺的橫向擴展。
3.3.4 實施消息控制模塊 對移動端 APP 和微信、支付寶等可擴展開發(fā)的應用實施統(tǒng)一消息控制,通過發(fā)送回調機制獲取消息狀態(tài),對消息服務器隊列設置已讀、未讀、未送達等狀態(tài),根據(jù)狀態(tài)值確定下一步隊列操作,從而形成消息的閉環(huán)控制。建立查詢狀態(tài)功能后,用戶能夠獲取所有離線消息,管理已讀消息。
為配合醫(yī)院精準導醫(yī)系統(tǒng)的建設,搭建基于多業(yè)務場景信息收發(fā)平臺。此次信息平臺的整合真正實現(xiàn)一次投入、全面管理的效果,開發(fā)效率更快,系統(tǒng)質量更高。本信息平臺作為本院精準導醫(yī)系統(tǒng)的重要支撐,配合院內地圖導航系統(tǒng)的實施,為提升信息化助力醫(yī)療服務水平,提高門診就診效率起到積極作用。該系統(tǒng)自2017年下半年起各個子系統(tǒng)陸續(xù)上線測試使用,從近三年的環(huán)比數(shù)據(jù)來看,各月份的門診有效就診量均成上升態(tài)勢,如圖2所示??梢姳拘畔⑵脚_的實施能夠為醫(yī)院信息系統(tǒng)精細化應用提供有益的借鑒。
圖2 醫(yī)院近三年有效就診環(huán)比數(shù)據(jù)
消息平臺作為互聯(lián)網業(yè)務與醫(yī)院HIS的重要紐帶,承載著海量的信息?;诙鄻I(yè)務場景消息收發(fā)技術的統(tǒng)一消息平臺建設技術上具有較強的可參考可復用性[6];快速集成能力及其穩(wěn)定性便于平臺的整體升級改造,能夠為醫(yī)院帶來價值,豐富的可定制推送機制能夠為患者帶來良好的就醫(yī)體驗,提升滿意度。但是通過平臺升級也充分暴露出一期、二期消息平臺建設存在著重復投入多,代碼質量差,維護沒有延續(xù)性等諸多問題,如果在二期平臺建設時就充分考慮到未來多業(yè)務場景整合的需求,那么三期平臺的建設將僅僅是一個適應性維護的過程,這也為后續(xù)醫(yī)療系統(tǒng)的開發(fā)提供寶貴的經驗。