摘要:容災系統建立在醫院信息化建設中至關重要,本文結合中山市人民醫院的信息系統狀況,從網絡搭建、系統配置、容災范圍三方面探討了其如何建立醫院門診系統異地容災。同時針對實施過程中存在的問題,逐一分析原因并根據實際情況提出了相應的解決方法。
關鍵詞:三甲大型醫院;門診;系統異地容災
1 背景
在我國,越來越多的醫院上線全就醫流程醫院信息系統(Hospital Information System,HIS)。然而,HIS在就醫高峰時面對全院范圍使用,能否持續提供穩定的服務是醫院信息化建設中一個重要問題[1]。同時為了響應“十三五規劃”,強化公共服務體系,著力保障和改善民生醫療環境。建立能保證醫院數據安全及業務系統不間斷的容災系統,在醫院信息化建設中至關重要。
本文正是基于以上需求,從醫院信息工程人員角度出發,結合我院現有門診系統架構和業務特點,從技術和管理上探討應如何建立一個HIS應用的災備環境,給管理者提供一套關于HIS容災的參考方案。
我院HIS建成于2003年,經過多年發展和升級實現大規模集成化醫療信息平臺,獲得國家倍增優秀項目獎,實現了50多個子系統對接。HIS覆蓋患者就診排隊、醫生開藥寫病歷、護士醫技確認、藥師配藥發藥等整個門診就醫流程。
2 容災概念
容災就是通過一定的設備、技術和機制,在災害情況發生后,還能最大程度地保證企業與信息部門業務連續性。通常的容災技術是通過在異地建立和維護一個或多個備份系統,利用地理上的分離來保證系統和數據對災難性事件的抵御能力[2]。
3 容災方案設計及實施
3.1原系統容災方式 我院HIS服務器采用了Windows SQL Server2008群集雙機互備架構。先由一臺主機提供應用服務,當主機出現故障宕機時,群集服務能立刻做出判斷并由備機接管服務。同時,使用多臺中間層提供Webservices服務,有效地負載均衡和隱藏后臺數據庫,提高整個系統性能和安全性(如圖1)。
若發生全院性系統故障,則啟用單機版的收費程序,收費員憑醫生手寫處方在單機收費程序中錄入收費,最低限度地保障了業務運作。但隨著醫院業務增長和系統規模擴大,舊的應急方案的缺陷也逐漸曝露:①群集模式中磁盤陣列成系統的一個單點故障,一旦陣列發生故障,則整個系統將不可避免地停機;②核心交換機、機房供電等大范圍故障均能導致群集服務的中斷;③醫護人員長期依賴網絡信息系統,一旦應用單機系統則出現手工處方不會看藥品規格記不清等情況,所以單機方式已不再適合實際應急情況的使用。
針對以上情況要求門診系統具有更高的可靠性、持續性和快速恢復的能力,因此,需要建立異地容災備份系統。
3.2實施異地容災方案 我院的門診容災方案是建立群集異地備份的模式:一份為業務中心群集模式,支持正常業務運轉;一份為災備中心,當群集無法響應故障時切換使用。兩套系統分布于不用的物理位置,做到整體冗余,去除單點故障,增大了容災半徑的效果[3]。如下圖2。
3.2.1網絡搭建 門診系統群集和網絡核心交換機同置于中心機房,為實施異地容災兼顧網絡癱瘓的情況,我們選擇醫院的另一棟大樓內建立容災機房[4-5]。
容災機房建立容災系統:一臺應急門診服務器、中間層以及備用高性能交換機,并將網絡從備用交換機鋪至各門診樓層的管井內。當應急情況出現,中心機房的主核心交換機會被備用交換機接管,容災系統就與整個門診樓的工作站又重新形成一套獨立的網絡,能夠自主的進行數據傳輸處理。
3.2.2系統配置 ①中心機房的HIS設置作業,每天業務閑時(凌晨某固定時刻)把有關業務數據庫通過網絡傳送到異地容災機房的應急服務器上;②容災系統上也設置作業,對傳送過來的業務數據庫進行還原并初始化。此時,只有按照一定格式初始化后的業務數據才能提供容災情況的使用。這里需指出初始化的工作要與定義啟用容災環境的假設適應。我院的方案建立假設是核心機房出現嚴重故障,導致全門診業務中斷。異地系統的設計是基于能保障門診基本業務運作,因此數據初始化僅包括數據庫連接串、業務數據序列號等(發票號、就診序列號),相關系統接口(住院系統、影像系統、檢驗系統等)則停用。③數據合并:為避免合并后患者數據出現就診次數或ID號重復,我們采用腳本模擬患者完整的就診流程插入數據:按照建檔-->就診-->繳費-->發藥四個模塊編寫腳本[6]。
3.2.3應用范圍 根據我院建立容災系統目的,我們認為只需保證門診基本業務即可:因此系統流程只包括開藥,收費,發藥。其中,社保業務的結算不作考慮。由于我院檢驗和影像系統結構復雜,容災方案中并沒有納入考慮,因此對檢查和檢驗的需求,由醫生手寫申請單給患者,由收費員將申請單錄入收費系統收費,患者憑發票和申請單到相應的檢查檢驗科室進行處理。
4 實施中遇到的問題及解決辦法
4.1問題 異地容災方案是一個復雜的系統工程,要綜合考慮醫院當前的信息化水平、人員技術、方案適用范圍、投資規模等。在建立本院的門診異地容災系統時就遇到以下問題。
①重新搭建網絡耗時長成本高。異地容災機房需要具有獨立的網絡系統與門診各樓層終端設備相連接。②容災范圍和系統現狀的矛盾。容災的系統希望盡可能多,但各系統運行均有特定條件,因此很容易陷入繁多的系統梳理,造成越實施越困難的局面。例如,對分診系統容災需另配服務器且同步網上、手機及現場預約數據。對醫保結算容災需異備社保前置機,且后期數據合并涉及社保、醫院和銀行,三方的結算程序也需修改。這些都投入大且影響項目進度。③實施方案過程中,人員有抵觸情緒。④容災方案的測試和演習較困難,需要調動各部門人員緊密配合。⑤異地備份時的數據庫狀態往往與真正啟動容災系統時的數據庫狀態存在時間差,這樣會造成系統數據業務序列號重疊,數據不一致。⑥客戶端連接數據庫的連接配置保存在本地,由于客戶端數量龐大,當啟動容災系統,各客戶端需手工修改連接配置,工作量大且響應效率低。⑦持續投入。除了在項目建立時需一次性投入軟硬件設備外,以后每年要多維護一套門診系統,并需定期切換使用以確保可靠性,還要根據醫院規模和業務量的增加,與中心機房的系統設備一并進行升級和優化。
4.2解決辦法
①選擇門診大樓建立異地容災機房,通過建筑群子系統連接中心機房,實現異地數據庫備份。同時鋪設網絡從容災機房到門診各樓層的網絡管理子系統,再重用各樓層已有的水平網絡子系統連接電腦終端,鋪設方便耗時短。②項目人員希望用較小的投入能達到充分的容災效果,對于分診及醫保系統的容災要求,投入巨大,可實施性差。最后,我們重新審慎地定義了項目目標和范圍,只實現門診基本流程的容災:寫病歷、開處方、收費、發藥,檢驗和檢查用手寫申請單,只實現自費方式收費。自明確目標后,各部門溝通和技術修改都能在醫院內進行協調,可操作性高,實施順利。③做好人員解釋工作,通過多種手段消除人員對容災項目的抵觸情緒。例如,通過院內公告、培訓班等介紹項目進度、重要性。④演習前做好宣傳工作。將演習的流程,出現問題的應急措施,演習負責人聯系電話,分工等工作行程文檔發給相關部門前期知悉。⑤為了避免業務數據流水號重復,我們根據歷史數據的增量,在每天晚上恢復完容災庫后進行流水號初始化,將其增加一天半的量。
例如,根據歷史數據統計每天我院門診的新患者約1600人次,每一新增人次系統就會從patient_id序列號自增加一,于是我們在初始化patient_id序列號時會增加2500,表示極端情況下容災時間點發生在下一次凌晨異地備份作業啟動前。如下語句。max_id表示當前異地備份時系統使用到的流水號。
⑥建立容災中間層服務器,并映射成原中心機房的中間層服務器IP,客戶端就不需修改獲取服務的中間層IP,即可自動連接后臺數據庫。⑦各項資金的使用是醫院管理的重要部分,要保證醫院門診業務系統的穩定性和持續性,需要醫院領導對異地容災的認識,重視并支持這方面工作[7]。
5 效果與總結
總的來說,門診系統采用容災方案后,達到高可用性、安全性﹑高效率﹑高可擴展性、高可管理性的目的。從業務和應用層面而言,關鍵業務確保24h不間斷,提高服務保障性,增加用戶滿意度和醫院競爭力。從人員素質角度說,周期性的演習容災方案,便于多方面檢查硬件設備,同時促進技術人員培訓提升技術,增進醫護人員和工程人員的交流和互相理解。
系統容災不限于技術,而是一個巨大的工程。目前很多單位還停留在對容災技術的關注上,而對容災的流程、規范、人員配備,及其具體措施還不太關注。另外實現容災恢復方案可能是一個漫長的過程,不管生產系統與備份系統有什么變化,必須確保方案的可行性,需要通過維護,測試來檢查容災恢復計劃的實現。而現實操作中,要達到百分百的系統容災,其邊際成本也會迅速增加,因此企業在進行信息系統容災規劃時,需要在成本和效果中找到平衡點。
參考文獻:
[1]潘林.醫院信息系統為什么要建立數據容災系統[J].福建電腦,2010,7.
[2]章志華.有效的數據容災建設對醫院信息系統的重要意義[J].中國數字醫學;2008年06期
[3]湯建忠,潘民,沈瑾,等.煙草異地數據災備系統的研究與實現[J].計算機系統應用;2010年第19卷第2期
[4]陳筠.圖書館數據容災備份系統的設計[J].科技情報開發與經濟,2012,22(3).
[5]謝長生,韓德志,李小玉.高可用的網絡備份系統的研究與設計[J].計算機科學,2004,31(12).
[6]楊國斌.醫院數據中心遷移的實踐與研究[J].中國醫療設備,2013,28(2).
[7]胡鐵驪,胡宏,胡智勇,等.醫院信息系統災備方案的設計和應用實例[J].中國衛生信息管理雜志,2013,10(3).
編輯/蘇小梅