劉慶金 牛恒星 張寒彬


摘要:目的:為院長正確決策,醫療質量評價,醫院等級評審,醫院管理流程優化等提供數據支持。方法:通過ETL,CDC等多種技術抽取生產數據庫的數據,構建基于Oracle數據庫的數據倉庫。然后基于數據倉庫的數據進行分析,對生產數據庫和在線業務系統不產生影響。結果及結論:醫院決策支持系統的研究和實現將改變醫院管理現狀,提高醫院管理水平和效率,促進醫院健康發展。
關鍵詞:醫院管理;決策系統;數據倉庫
中圖分類號:R-058 文獻標識碼:A
文章編號:1009-3044(2019)32-0011-03
1背景
隨著信息化不斷發展,對醫院信息化建設要求越來要高。多年來,醫院在信息化建設方面進行許多探索,實現不同程度的信息化。醫院信息化建設極大地提高醫院運行效率,為醫院能更好地服務病人提供保障。
現在,國內大型醫院都有比較成熟的信息化系統,醫院內實施有HIS,LIS,PACS,EMR,OA,臨床路徑等系統。對系統進行集成,從業務系統查詢報表,進行統計,統計結果可以為醫院管理提供數據支持。但是從系統進行查詢報表存在許多問題,首先各個業務系統的統計口徑不一致,導致查詢出的報表結果存在很大的差別。其次,在業務系統中不能統計時間過長,否則,會影響業務系統的使用。最后,各個系統賬號和密碼不同,如果要進入不同的系統,操作頻繁。因此,一套既能滿足業務部門的業務需求,又能為院長提供決策支持的系統顯得尤為重要。醫院決策支持系統可以查詢所有想要的信息,而不必登錄多個系統。醫院決策支持系統擁有集中,統一,宏觀的操作界面,更加簡潔,人性,滿足院長需求。
2系統設計
2.1系統架構
醫院決策支持系統可以基于多層架構實現,在業務層,是醫院已經應用的各種業務,包括HIS,ERM,LIS,RIS,PACS,手術,麻醉,體檢,人事,財務,人工管理以及其他業務系統。各個業務系統每天運行,運行過程當中,產生各種運行數據,這些數據保存在各自系統的數據庫之中。每種業務系統使用的數據庫不盡相同,包括Oracle,SQLserver,DB2,My SQL,Sybase,Cache等多種數據庫。系統架構如圖1所示。
醫院決策支持系統在后臺基于大型數據庫Oracle,構建數據倉庫。利用ETL,CDC等多種技術從各個業務系統中,抽取各種數據庫中的源數據。通過這種方式,所有的數據查詢與檢索都基于構建的數據倉庫,不占用各個業務子系統的生產數據庫資源,因此不會影響醫院業務系統的運行效率。
2.2數據倉庫
對醫院中已有的業務系統和信息系統中分散的數據庫,進行數據抽取,清理,經過加工,匯總和整理,從而構建醫院決策支持系統所需要的數據倉庫,利用這種方法消除源數據庫中數據的不一致性,從而保證數據倉庫內數據的一致。通過數據倉庫,為前端查詢和分析作基礎。數據倉庫中的數據隨著時間變化,但同時大量數據保持相對穩定。
醫院決策支持系統中數據倉庫的架構已經非常成熟,首先利用Flume進行數據采集,采集的數據經過處理后被存儲下來,然后利用Hive,MR,SparkSQL等技術進行數據的分析和計算。分析和計算得到的有用的結果共享,為報表應用提供數據。醫院決策支持系統中,主要對數據進行查詢操作,沒有數據庫的增加,刪除,修改操作。
數據倉庫設計中,首先要根據醫院的需求確定主題域的邊界,在醫院決策支持系統中需要提供的主題有:綜合運營主題,門診主題,住院主題,手術主題和臨床路徑主題。確定主題域后要確定各個主題的量度,綜合運營主題需要考慮的指標包括:門急診收入,住院收入,門診人均費用,住院人均費用,住院耗材,門診耗材等。門診主題需要考慮的指標包括:門診預約類型,門診量統計,門診病人來源,門診費用分類等。住院主題需要考慮的指標包括:床位資源,醫療組,平均住院費用,平均住院天數,藥占比等。手術主題需要考慮的指標包括:手術例數,出院手術占比,手術分級占比等。臨床路徑主題包括:使用率,入徑率,完成率,變異率等。
2.3ETL
ETL技術將數據從來源端經過抽取,交互轉換,加載至目的端。醫院中各個業務系統中的數據經過抽取,清洗,轉換后加載到數據倉庫。形成標準統一的數據集合,為醫院決策提供分析依據。
在ETL設計中,主要分為三個部分。數據抽取,數據清洗轉換,和數據加載。ETL實現的方法很多,其中有ETL工具,SQL方式實現以及兩者結合的方式。當數據抽取的時候,對于與數據倉庫相同數據庫系統的數據源,抽取的方式采用兩者之間建立鏈接關系的方式即可。如果數據倉庫和數據源的數據庫系統不同,可以通過ODBC方式建立數據庫連接。對于文件類型數據庫,需要利用數據庫工具導入指定數據庫,然后從指定數據庫進行提取。對于數據量巨大的數據庫系統,采用增量更新的方式進行抽取。
抽取后的數據需要進行沖洗和轉換,對于不完整的數據,首先將其選擇出來,然后對缺失部分進行補充完整,然后再寫入數據庫。對于錯誤數據,通過SQL語句查詢,交給醫院業務部門修改后,再進行抽取。對于重復數據,刪除重復部分,然后進行抽取。有時候,對不一致數據還要進行數據轉換,這是一個不同業務系統數據整合的過程。有些業務系統的數據非常詳細,但是數據倉庫并不需要如此詳細的數據,因此業務系統的數據需要按照數據倉庫粒度進行聚合。ETL需要記錄運行日志,日志包括執行過程日志,錯誤日志和總體日志。如果ETL運行出錯,可以向系統管理員發送警告。
2.4CDC
CDCESJ是一種增量數據采集的解決方案,這種技術是在or-aele數據庫中使用的,這種技術可以識別上次提取后發生變化的數據。CDC技術結構基于發布者和訂閱者模型,發布者可以捕捉系統中變化的數據,訂閱者從發布者得到變化的數據。在Oracle系統中,CDC擁有一個發布者和多個訂閱者。