王健 李永強 王常武 李立平
摘要 信息化醫院的不斷普及,使得醫院信息數據不斷增長,維度不斷增加,醫院感染預測系統對于信息的調用也越來越繁雜。ETL技術對數據加工處理具有部署簡單、快速、穩定等優點,這保證了數據來源的正確、完整、一致、完備、有效及時效。且能夠快速實現數據庫內部以及數據庫間的數據轉換,還支持異構數據庫間的數據轉換。本文詳細概述了ETL技術及實現過程,并結合醫院實際情況做相應分析。
關鍵詞 ETL技術;醫院信息化;醫院感染預測系統
中圖分類號 TN91 文獻標識碼 A 文章編號 2095—6363(2016)04—0087—01
隨著醫院信息化系統日漸完善,數據不斷增長,維度不斷增加,基于數據的預測模型越來越成熟,預測結果越來越精確,為醫院管理決策提供了良好的平臺基礎。醫院感染預測系統是實時采集醫院管理信息系統(HIS)和實驗室信息管理系統(LIS)、醫學圖像存儲與傳輸系統(PACS)、門診醫生工作站等醫院系統中傳染病相關數據,實現對病人從門診、入院到出院全過程的在線預測。醫院感染監控對時效性、準確度要求非常高,這就決定了必須有高效的數據抽取技術保證數據來源的正確、完整、一致、完備、有效及時效。在醫院感染預測系統中,采用ETL技術對數據加工處理具有部署簡單、快速、穩定等優點。
1 ETL技術概述及實現過程
1.1 ETL技術概述
ETL技術是一個對數據進行抽取、轉換、裝載的過程,被視為是數據集成平臺,廣泛應用于數據清洗、數據抽取、數據統計等不同應用之中。ETL模塊不僅能夠實現數據庫內部以及數據庫間的數據轉換,還支持異構數據庫間的數據轉換。
1.2實現過程
采用ETL技術,主要從醫院HIS系統、LIS系統及PACS系統中抽取患者基本信息、診斷信息、常規檢查信息、菌培養信息、抗菌藥敏實驗信息、治療信息及科室、人員等字典信息,系統運行時,各個子系統所輸入的數據通過ETL技術抽取到不同維度的數據庫中,形成數據倉庫,系統運算的數據都由這些數據倉庫提供。抽取數據過程中,主要通過如下3個步驟。
1.2.1數據的抽取
源數據來源于HIS系統、LIS系統及PACS系統,通過對3個系統數據特點分析,主要采用兩種數據抽取方式:全量抽取即字典類數據;增量抽取即增量業務數據。
1.2.2數據的轉換
數據的轉換即為數據的轉化(數據的合并、匯總、過濾、轉換等)、數據的重新格式化和計算、關鍵數據的重新構建和數據總結、數據定位。在應用過程中,它可以對來自多個生產系統的數據源進行處理,同時還能夠保證數據按共同理解的業務需求轉換為目標數據結構,最終完成匯總,再存入數據倉庫中。
數據庫和腳本解析是數據轉換過程實現所采用的兩種核心技術。在轉換執行過程中,需要將大量的數據從源表轉換到目標中,轉換過程中的數據需要介質來保存,同時還要求這一介質要能夠支持對數據所進行的增加、刪除、修改等操作。在數據轉換執行完成后,介質會被銷毀,所以在轉換過程中擁有一個臨時的數據庫是非常必要的。數據的轉換依照一定的業務需求,需要用戶配置來實現,用戶所配置的信息,有時候可能會用到數據庫函數,有時候也會出現使用系統提供的函數時,數據庫卻不支持此類函數執行,這時就需要系統提供分析配置信息,然后再根據分析情況進行運算的操作,這一功能的實現被稱為腳本解析。
在一個完整的數據轉換過程中,數據流需要從源表經過過濾配置節點、查詢分析節點等多個節點處理后,最終保存到目標系統中。過濾配置節點和查詢分析節點是轉換功能實現過程中需要提供的2種主要的節點。
數據轉換的最終結果有可能成功也有可能失敗。當轉換成功時用戶會獲取準確的數據資源。當轉換失敗時,用戶則有可能得不到數據或得到不完整的數據。當出現轉換失敗時,系統需要針對實際情況進行處理。當用戶獲得不完整的數據時,其主要特點是信息的缺失,即醫學圖像、使用器材名稱、病人及醫生信息等方面數據的缺失,這時需要對此類數據采取按照一定的業務邏輯規則將其填充或過濾的處理方法。當用戶獲取錯誤數據信息時,可能是由于業務系統的機制不夠健全而造成的。系統在接收到這些錯誤數據信息后,并沒有對其進行判斷,就直接將其寫入后臺目標數據庫中,使其產生不符合規則的錯誤數據。比如,有可能將數值型數據輸入成全角數字字符,身份證信息中的年月日及性別信息中所包含的位不正確,日期格式不正確及日期越界等。當遇到這樣的錯誤數據時,則需要經過SOL進行一系列的特殊處理,然后再重新寫入數據倉庫。
因此,在系統設計時增加的容錯、糾錯能力是必不可少的一部分,這樣既方便用戶糾錯也增強了系統的健壯性。數據轉換功能是ETL實現過程中最繁瑣、復雜的一項工作,同時也是最耗時、耗力的一部分,對ETL的執行效率有直接的影響。
1.2.3數據的加載
數據加載的實現就是先對從數據源系統中抽取出來的數據進行轉換與清洗處理,然后再寫入目標數據庫中。數據加載工具需要具有高效的性能,否則會直接影響到整個ETL的工作效率。
為了更好地保證監測數據展現、數據分析的實時性和準確性,就一定要保證線監測中心ETL過程的數據加載效率。監測數據需要先通過抽取、清洗和轉換,然后再從監測系統源數據庫轉移寫入到監測中心中間數據庫,最后再利用數據加載功能將其從中間庫寫入到監測中心的目標數據庫。這一ETL實現過程,實現了在線監測數據資源的集成共享。
2結論
結合醫院實際情況,可以得出醫院感染預測數據來源基本上會包括醫院信息系統中的所有臨床數據,這些數據的形式、種類具有多樣性。要想從這些繁雜的數據中提取所需的數據,完成自動提取過程,并能夠自動按事先設計好的組織方法有序存儲,成為了目前服務平臺設計的熱點問題。
利用ETL技術就可以輕松、有效地解決這一問題。它結合了JAVA技術,可以支持多種數據庫如Oracle、SQL Server、HBase、MongoDB Ne04J、Redis,實現跨平臺的數據挖掘。同時根據不同醫院系統的實際情況,可以動態調整數據抽取方案,能夠高效靈活的服務于院感預測系統。