管 啟 康
(臺州市中心醫(yī)院(臺州學(xué)院附屬醫(yī)院)信息中心 浙江 臺州 318000)
隨著信息化時(shí)代的來臨,醫(yī)院管理大多采用HIS,它是醫(yī)院管理和醫(yī)療活動中進(jìn)行信息管理和聯(lián)機(jī)操作的計(jì)算機(jī)應(yīng)用系統(tǒng)[1-10]。HIS軟件開發(fā)商眾多,軟件種類繁多(如門診系統(tǒng)、住院系統(tǒng)、醫(yī)技系統(tǒng)、藥房系統(tǒng)、后勤物資管理系統(tǒng)等),職能上各自專一且分工明確,每個(gè)部門的工作人員也只關(guān)心其職能相對應(yīng)的軟件系統(tǒng)的使用,這在很大程度上將整個(gè)醫(yī)院的信息化辦公環(huán)境模塊化。
鑒于HIS軟件系統(tǒng)分工明確,功能專一,使得各個(gè)HIS軟件之間顯得相對獨(dú)立,沒有縝密的聯(lián)系和承接。譬如,門診醫(yī)生工作站只專注于醫(yī)生的就診,其不能執(zhí)行其他醫(yī)院業(yè)務(wù)流程上的操作。病人一旦有其他就醫(yī)行為需求,就要到指定的相關(guān)科室或部門才能繼續(xù)操作?!翱床【驮\一條龍”的服務(wù)只能讓病人從鏈路的開端順利地執(zhí)行到結(jié)尾,并不能網(wǎng)狀式地開展業(yè)務(wù)。醫(yī)生接診患者并進(jìn)行問診后,建議患者轉(zhuǎn)科掛號的場合,患者需重返鏈路開端,重新掛號,重新排隊(duì)等待就診,并不能在醫(yī)生診間內(nèi)化解問題,為病人改號轉(zhuǎn)診。因此,當(dāng)一個(gè)HIS軟件需要另一個(gè)HIS軟件來協(xié)作實(shí)施一些具體操作時(shí),工作人員往往只能聯(lián)系對應(yīng)科室的工作人員協(xié)助處理,導(dǎo)致醫(yī)院整體業(yè)務(wù)效率下降。
HIS軟件功能專一帶來的影響不僅體現(xiàn)在病人就醫(yī)方面,對醫(yī)護(hù)人員的日常工作業(yè)務(wù)也有負(fù)面影響。根據(jù)醫(yī)院的管理制度要求,醫(yī)生在給病人首次開具精神麻醉處方藥品的時(shí)候,需要向負(fù)責(zé)部門申請批準(zhǔn)才能開方;住院醫(yī)生要實(shí)施高難度級別手術(shù)的場合,也需要病區(qū)責(zé)任醫(yī)師統(tǒng)一批準(zhǔn)才能進(jìn)行手術(shù)。這些“需要上級部門或者后續(xù)負(fù)責(zé)人員批準(zhǔn)”的申請流程,會因?yàn)镠IS軟件系統(tǒng)之間的低鏈接、低承接性質(zhì)而產(chǎn)生斷層和滯后,提出申請或遞交流程后還需主動電話通知后續(xù)流程的負(fù)責(zé)人員,方能實(shí)現(xiàn),導(dǎo)致有些緊急的手術(shù)和醫(yī)護(hù)行為會因?yàn)榱鞒虒徟贫榷煌涎?,耽擱了病人的最佳治療時(shí)機(jī)。
控制平臺軟件系統(tǒng)是HIS軟件系統(tǒng)里的一個(gè)具體應(yīng)用程序[11],需要與其他各個(gè)HIS軟件系統(tǒng)進(jìn)行交互通信,編程開發(fā)語言選用PowerBuilder 9.0(下文用PB簡稱)。PB的主要特點(diǎn)在于面向高效穩(wěn)健的數(shù)據(jù)庫連接操作,非常符合醫(yī)院軟件系統(tǒng)開發(fā)的主流編程方向。目前多數(shù)HIS軟件系統(tǒng)也采用PB編程語言,在軟件系統(tǒng)架構(gòu)上具有很好的連通性。
控制平臺的業(yè)務(wù)職能簡而言之就是通知告警的轉(zhuǎn)發(fā)和傳遞。其軟件層面上的做法是:每臺電腦上運(yùn)行的控制平臺服務(wù)會獲取本機(jī)上運(yùn)行的HIS軟件列表、中央控制端的服務(wù)情況以及消息隊(duì)列里的消息列表;HIS軟件系統(tǒng)不再單獨(dú)各自進(jìn)行交互,而是全局統(tǒng)一向控制平臺推送與拉取消息通知(如圖1所示),以達(dá)到平臺整合統(tǒng)一的通信方式。
(a) 控制平臺開發(fā)前HIS系統(tǒng)的通信方式
(b) 控制平臺開發(fā)后HIS系統(tǒng)的通信方式
分流機(jī)制和其他算法機(jī)制也要予以考慮。全院電腦在“聯(lián)絡(luò)網(wǎng)”上互相通信的過程中,難免會產(chǎn)生大量的網(wǎng)絡(luò)流量,造成網(wǎng)絡(luò)擁堵。良好的通信機(jī)制和報(bào)文組織方案是解決問題的一種途徑,在項(xiàng)目設(shè)計(jì)時(shí)應(yīng)對這兩方面進(jìn)行改進(jìn)和優(yōu)化。
該醫(yī)院信息控制平臺的軟件系統(tǒng)分為客戶端程序與服務(wù)端程序??蛻舳藶榻K端電腦提供消息的生產(chǎn)轉(zhuǎn)發(fā)以及接收消費(fèi)的功能,具備服務(wù)參數(shù)的配置界面,并起到具體的操作界面展示效果;服務(wù)端只需安裝并運(yùn)行在控制平臺終端服務(wù)器上,連接消息隊(duì)列數(shù)據(jù)庫以及配置數(shù)據(jù)庫,接收全院各個(gè)終端的客戶端的通信連接、消息推送、消息拉取行為,并且提供配置界面以提供控制平臺管理員進(jìn)行配置調(diào)整和數(shù)據(jù)監(jiān)控分析。
對于系統(tǒng)管理員,可以進(jìn)行以下操作:對中央控制終端軟件系統(tǒng)的登錄登出操作;對用戶進(jìn)行管理,新建用戶,分配權(quán)限,建立并設(shè)置分組;對終端電腦進(jìn)行管理,新建終端對象,設(shè)置片區(qū)和分組,配置通信連接端口和具體信息,對其流量和在線狀態(tài)進(jìn)行監(jiān)控;對消息列表進(jìn)行管理,查看隊(duì)列情況并對其進(jìn)行增刪改操作,設(shè)置消息的轉(zhuǎn)發(fā)規(guī)則和去向,并對消息的具體生成情況進(jìn)行探究和質(zhì)量分析改進(jìn)。
對于客戶端控制平臺軟件程序,可以進(jìn)行以下操作:配置消息的接受發(fā)送參數(shù),包括通信端口和鏈路通道、重連時(shí)長、消息的主動被動推送模式;配置與HIS系統(tǒng)的聯(lián)通模式和具體參數(shù);查看消息接受發(fā)送的日志,檢查軟件系統(tǒng)的運(yùn)行情況。
軟件系統(tǒng)的核心軟件功能主要集中在消息傳遞轉(zhuǎn)發(fā)上。消息傳遞包括消息的產(chǎn)生、消息的傳輸導(dǎo)向設(shè)置、網(wǎng)絡(luò)消息傳播、客戶端上的消息接收以及分發(fā)并展示在指定應(yīng)用程序上這五個(gè)步驟。其中傳輸導(dǎo)向設(shè)置是控制平臺管理員的設(shè)置任務(wù),通過對各項(xiàng)消息報(bào)文的分類歸并,從全局上設(shè)置好哪些消息需要轉(zhuǎn)發(fā)給哪些客戶端電腦,消息是即時(shí)發(fā)送還是需要短期甚至中長期保留備案的,消息的發(fā)送是否要求再度反饋的,各臺終端電腦的接收端口開放情況等。一旦設(shè)置完畢,產(chǎn)生的消息即可從中央控制臺獲取整條轉(zhuǎn)發(fā)鏈路的基本信息,然后將消息投遞至終端消息通道或是同網(wǎng)段內(nèi)的廣播信道,最后將消息投遞至目標(biāo)終端。系統(tǒng)的核心流程圖如圖2所示。
圖2 控制平臺核心業(yè)務(wù)流程
控制平臺的應(yīng)用軟件產(chǎn)品可以分為客戶端程序(Client,下文稱之為終端控制臺或終端)與服務(wù)端程序(Server,下文稱之為中央控制臺)。終端控制臺安裝運(yùn)行在全院各臺電腦上,而中央控制臺則部署在專設(shè)的一臺平臺服務(wù)器上。終端需要聯(lián)通中央控制臺進(jìn)行整體資源部署和鏈路分配(如圖3中301部分),獲取并投遞通信消息資源;中央控制臺從醫(yī)院整體層面觀察檢測各終端的運(yùn)行狀況和健康程度,接收消息的生成,并將消息存放在頂層消息隊(duì)列,或是投遞到對應(yīng)的目標(biāo)終端電腦上;終端還能向服務(wù)端請求任務(wù)委托權(quán)限,向其內(nèi)部網(wǎng)段的其他終端廣播轉(zhuǎn)發(fā)簡單消息內(nèi)容(如圖3中的302部分),并在所處網(wǎng)段內(nèi)形成消息隊(duì)列閉環(huán)。
圖3 控制平臺的服務(wù)端與客戶端的通信模式
各HIS系統(tǒng)與控制平臺之間的消息傳遞機(jī)制(又可稱為消息監(jiān)聽機(jī)制)可分為主動、被動兩種,如圖4所示。其概念是控制平臺如何去跟HIS軟件系統(tǒng)進(jìn)行交互以及消息轉(zhuǎn)發(fā)。主動、被動都是從控制平臺角度出發(fā)來定義的。主動監(jiān)聽即為平臺定時(shí)的會去詢問HIS軟件系統(tǒng),主動投遞消息或是提取挖掘其潛在狀況;被動的消息接收則是平臺被動的接收來自HIS軟件系統(tǒng)的告警消息,然后進(jìn)行解析和轉(zhuǎn)發(fā)投遞。
圖4 控制平臺與HIS系統(tǒng)的監(jiān)聽機(jī)制
從整個(gè)通知分發(fā)的鏈路情況來看,一共有四種消息流通方向,如圖5所示。一種是從HIS軟件系統(tǒng)到終端控制臺的鏈路,稱之為消息產(chǎn)生(Message Produce)、告警預(yù)警,如圖5中501部分;反向的,從終端控制臺返回到目標(biāo)HIS軟件系統(tǒng)的鏈路,稱之為消息消費(fèi)(Message Consume)、消息處理、消息響應(yīng),如圖5中502部分;終端與中央控制臺之間的鏈路,稱之為消息的上行下行(upload download)、消息發(fā)布(publish)、通知訂閱,如圖5中503部分;同網(wǎng)段的幾個(gè)終端之間的消息相互傳遞,稱之為消息級聯(lián)廣播(broadcast),如圖5中504部分。四種鏈路通信情況的編程開發(fā)手段不同,針對的問題不同,所以要采取不同設(shè)計(jì)模式和編程手段來實(shí)現(xiàn)。
圖5 消息在整個(gè)控制平臺里的流通方向
消息隊(duì)列[12-16]是一個(gè)消息產(chǎn)生后,在醫(yī)院內(nèi)整個(gè)生命周期的活動時(shí)限里的管理機(jī)理。消息會根據(jù)其功能需求,劃分為通知和資訊兩種,如圖6所示。通知在一次完整的消息產(chǎn)生-轉(zhuǎn)發(fā)-消費(fèi)行為之后即可消亡,其在消息隊(duì)列里留存的時(shí)間大約在幾分鐘、數(shù)小時(shí)甚至幾天內(nèi),超過一定的時(shí)間后就失去了其及時(shí)性和有效性,然后會被中央控制臺清理消除;而資訊則不是一條單鏈路,其有效性也可以長達(dá)三五年之久,這些消息則會在消息隊(duì)列中長期停留,在需要的時(shí)候?yàn)橛脩籼峁┬畔⒌南螺d查閱。
(a) 通知式消息
(b) 資訊式消息
(1) 控制平臺業(yè)務(wù)職能范疇的劃分。為了使平臺運(yùn)行順暢,需對各HIS軟件系統(tǒng)功能進(jìn)行分析,且需要跨模塊解決的申請和操作,才允許接入平臺,并提出解決方案。因此,需要各職能科室的方案制定者進(jìn)行嚴(yán)謹(jǐn)?shù)挠懻摵蜕潭?,定位控制平臺的業(yè)務(wù)范圍。
(2) 控制平臺底層通信手段的制定。一個(gè)是通信在應(yīng)用層上的機(jī)制,即采用軟件工程上的各種手段進(jìn)行通信;另一個(gè)是通信中報(bào)文字段的設(shè)計(jì)定義,即通信中要表達(dá)的內(nèi)容和方式。因現(xiàn)場轉(zhuǎn)發(fā)的消息性質(zhì)和內(nèi)容繁多,鏈路也較復(fù)雜,所以需要確立一種通用的標(biāo)準(zhǔn)模式,來轉(zhuǎn)發(fā)并解析消息通知。
(3) 各個(gè)HIS軟件系統(tǒng)通信和接口的調(diào)整。各HIS軟件要想接入控制平臺,需要在兩端都進(jìn)行適當(dāng)?shù)恼{(diào)整改造,以達(dá)到與平臺聯(lián)通的目的。這項(xiàng)工作難度大,需要與各HIS軟件開發(fā)商協(xié)商,制定整體的調(diào)整修改方案。
整體項(xiàng)目分為三個(gè)階段,如圖7所示。
圖7 控制平臺設(shè)計(jì)開發(fā)的技術(shù)路線
(1) 技術(shù)論證。首先要對醫(yī)院信息控制平臺的可用性進(jìn)行判定。以一條基礎(chǔ)的消息推送鏈路的聯(lián)通為核心目標(biāo),搭建控制平臺終端服務(wù)器,配置相配套的應(yīng)用數(shù)據(jù)庫和消息隊(duì)列數(shù)據(jù)庫,設(shè)置終端電腦的配置參數(shù),設(shè)計(jì)、開發(fā)、調(diào)試并安裝運(yùn)行控制平臺的服務(wù)端程序;設(shè)計(jì)開發(fā)客戶端程序,并安裝運(yùn)行于院內(nèi)兩臺客戶端終端電腦上,配置與HIS軟件系統(tǒng)的聯(lián)通參數(shù)以及同中央控制端的聯(lián)通參數(shù);對特定的HIS軟件系統(tǒng)進(jìn)行改造擴(kuò)展,使其能生產(chǎn)消息將其推送,并且能被動接收控制終端服務(wù)推送的消息報(bào)文并且將其展示。在固定好各項(xiàng)參數(shù)和測試規(guī)模環(huán)境后,調(diào)試程序,使得其中一臺終端電腦上的HIS軟件系統(tǒng)產(chǎn)生的一條消息能被另一臺電腦所接收展示,即可證明該醫(yī)院信息控制平臺的通信鏈路的可行性,并移步至下一階段。
(2) 模塊接入。以論證階段的軟件系統(tǒng)和網(wǎng)絡(luò)部署為參考基礎(chǔ),在此基礎(chǔ)上進(jìn)一步對業(yè)務(wù)功能進(jìn)行明確細(xì)化。對控制平臺服務(wù)端程序進(jìn)行模塊化分析和設(shè)計(jì),整理出可視化操作監(jiān)控和配置界面,提供管理員登錄登出功能,單例、批量的終端配置監(jiān)控功能,日志檢索功能。對客戶端程序也進(jìn)行模塊化分析擴(kuò)展,實(shí)現(xiàn)消息的主動推動和被動拉取功能,同中央控制臺和本機(jī)HIS軟件系統(tǒng)建立通信連接機(jī)制。對消息的報(bào)文解析和封裝組成進(jìn)行規(guī)范化的協(xié)議制定,提出共用的報(bào)文模板和擴(kuò)展內(nèi)容填寫規(guī)范。對中央消息隊(duì)列進(jìn)行優(yōu)化,對消息訂閱、轉(zhuǎn)發(fā)模式進(jìn)行細(xì)化,研究客戶終端對同一網(wǎng)段的廣播模式的集成聯(lián)通討論。在設(shè)計(jì)開發(fā)的過程中,對實(shí)驗(yàn)結(jié)果進(jìn)行記錄分析,并不斷提出改進(jìn)方案和思路,反復(fù)對整體鏈路方案進(jìn)行優(yōu)化改善,提高消息轉(zhuǎn)發(fā)的效率和可靠性,最終形成可以發(fā)布的成品版本。
(3) 模塊擴(kuò)展研討。在上一階段完畢后,即可討論考慮產(chǎn)品的模塊通用化以及行業(yè)內(nèi)的橫向?qū)ν夤δ艿耐卣鼓芰?。同各臨床科室部門溝通,了解各個(gè)使用者對產(chǎn)品的需求和性能要求,再對本次的醫(yī)院信息控制平臺提出改進(jìn)方案。對接口進(jìn)行封裝和可配置項(xiàng)的改造,對數(shù)據(jù)庫的鏈接模塊進(jìn)行模塊提煉和可配調(diào)整,對網(wǎng)絡(luò)的適應(yīng)性也加入配置考慮,以應(yīng)對該套軟件系統(tǒng)程序移植部署到其他醫(yī)療衛(wèi)生單位后,無需大量的程序開發(fā)調(diào)整,只從配置上著手就能快速部署并投入使用的動態(tài)可配置的軟件使用模式。從應(yīng)用軟件系統(tǒng)的行業(yè)規(guī)范標(biāo)準(zhǔn)出發(fā),對整體系統(tǒng)的運(yùn)行情況增加日志記錄模塊,對網(wǎng)絡(luò)實(shí)時(shí)流量進(jìn)行可視化監(jiān)控和預(yù)防預(yù)警功能,對網(wǎng)絡(luò)上傳輸?shù)男畔⑦M(jìn)行加密認(rèn)證以確保信息安全,對控制平臺服務(wù)器進(jìn)行集群改造考慮。
(1) 提升響應(yīng)速度。通過控制平臺的接入,HIS軟件系統(tǒng)發(fā)生異?;蛘咄ㄖ獔?bào)警的場合,通過網(wǎng)絡(luò)鏈路在0.1秒內(nèi)就能通知到負(fù)責(zé)人員,比起電話溝通(大概5~10 s)的效率要高出許多。而且通過優(yōu)化網(wǎng)絡(luò)通信協(xié)議,現(xiàn)場情況能全面地整理呈現(xiàn)在使用者面前,比起人員口頭交流,效率更是有所提升。全院過半的電腦同時(shí)發(fā)生狀況報(bào)警時(shí),中央控制臺的消息隊(duì)列處理能力控制在0.1秒以內(nèi)。
(2) 減少維護(hù)成本。通過程序的級聯(lián)通信,可以減少現(xiàn)場人員的維持維護(hù)成本、設(shè)備的維修成本、人員流動上的時(shí)間消耗,在人力物力時(shí)間上提高效率。
(3) 提高問題處理效率。通過控制平臺對信息的發(fā)掘和匯報(bào),給出合理建議和操作指導(dǎo),現(xiàn)場問題的解決率會得到提升,病人滿意度也會提升,從而為醫(yī)院創(chuàng)造經(jīng)濟(jì)效益。
(1) 現(xiàn)場狀況能及時(shí)得到發(fā)現(xiàn)和反饋。以當(dāng)前的HIS軟件系統(tǒng)架構(gòu),單一的HIS應(yīng)用程序所發(fā)生的狀況或問題沒有途徑能反映到其他HIS系統(tǒng)上。而控制平臺的主要職能之一就是能將問題信息及時(shí)準(zhǔn)確地傳遞散布出去,很好地解決這一缺陷。
(2) 跨系統(tǒng)、跨部門、全方位的數(shù)據(jù)展示。通過搭建各個(gè)HIS軟件系統(tǒng)間的通信網(wǎng)絡(luò),可以對患者的門診、住院、檢查行為進(jìn)行全方位的信息展現(xiàn)和醫(yī)護(hù)保障,對患者的潛在風(fēng)險(xiǎn)狀況進(jìn)行及時(shí)提醒,在患者各個(gè)診間的移動過程中提供信息上的無縫連接,為醫(yī)護(hù)人員提供患者更完整的信息材料,從而更好地為患者提供醫(yī)療服務(wù)。
(3) 為大數(shù)據(jù)處理和智能化解決方案提供服務(wù)。通過收集并積累消息的發(fā)源和分類,以及智能庫的錄入和更新,控制平臺能更好地了解工作人員的實(shí)際需求,響應(yīng)現(xiàn)場工作人員的操作需要,在其他人員響應(yīng)之前給出合理建議和操作指導(dǎo),從而給醫(yī)生和醫(yī)護(hù)人員帶來便利。
總之,控制平臺搭建的這張全院“聯(lián)絡(luò)網(wǎng)”,可以提高病人的就診效率,使醫(yī)院各部門科室的聯(lián)絡(luò)溝通更高效,醫(yī)院的業(yè)務(wù)流程更順暢。此外,控制平臺還有極好的系統(tǒng)拓展能力,通過加載智能化的決策響應(yīng)機(jī)制,提供通用接口以擴(kuò)展更多的硬件設(shè)備,以及對控制平臺模塊化的產(chǎn)品封裝,使得控制平臺在今后的拓展應(yīng)用方面更加廣泛。
該醫(yī)院信息控制平臺是全新開發(fā)和實(shí)施的軟件,聯(lián)接了醫(yī)院信息系統(tǒng)中的各HIS軟件,能快速反饋現(xiàn)場出現(xiàn)的問題,全方位展示患者的就診信息,方便患者就醫(yī)和醫(yī)生診療,提高了醫(yī)院的管理水平??刂破脚_軟件系統(tǒng)模塊通用性強(qiáng),具有可擴(kuò)展的接口設(shè)計(jì),獨(dú)特的編程語言,系統(tǒng)穩(wěn)定性高,能推廣到不同的醫(yī)療單位或其他多系統(tǒng)軟件的單位。