1.一種基于轉化醫(yī)學分析平臺的臨床數(shù)據(jù)集成技術數(shù)據(jù)導入方法,其特征在于,該方法用于文本型的數(shù)據(jù)的導入,具體包括以下步驟:
步驟一:準備文件,準備的文件包括:
11)數(shù)據(jù)文件:即要導入到平臺的數(shù)據(jù)文件,文件中第一行是表頭行,用于對數(shù)據(jù)說明;從第二行開始,每一行代表一條數(shù)據(jù),行中每個具體數(shù)據(jù)以制表符(’/t’)分隔;
數(shù)據(jù)文件還包括數(shù)據(jù)值一列對應不同的概念的數(shù)據(jù),但對應不同的概念的數(shù)據(jù);12)列映射文件:列映射文件有固定的六列內容。分別為數(shù)據(jù)文件的文件名、數(shù)據(jù)列號、這個數(shù)據(jù)是否可以是空值、數(shù)據(jù)變量、數(shù)據(jù)類型、數(shù)據(jù)單位;其中數(shù)據(jù)變量就是用來描述數(shù)據(jù)含義的。數(shù)據(jù)變量的取值為預先定義的符號或者是代表著一個概念的概念路徑;概念由概念路徑和概念類型構成;概念路徑是一個將概念以斜線分隔的文本;
還包括在數(shù)據(jù)變量中增加一個自定義的標識,體現(xiàn)一行中存在多個概念的數(shù)據(jù)變量的層級關系;
13)文本替換文件:用于是將一些不符合預定義規(guī)范的數(shù)據(jù)清洗掉;該文件由四列,分別為文件名、數(shù)據(jù)列的列號、原來的值、想要替換成的值;
14)用于構建概念樹的文件:該文件有概念路徑和概念類別兩列,概念路徑將概念分為不同層級,不同層級之間之間以斜線“\”分隔,概念類別包括類別型和數(shù)值型兩類;步驟二:根據(jù)步驟一中構建的概念樹文件的概念路徑和概念類別中的層級,構建概念樹;將概念樹中的每個節(jié)點中的概念路徑與概念類型插入到平臺數(shù)據(jù)庫中的概念表中,將概念路徑與概念類型以及節(jié)點在概念樹中的相對位置插入到平臺數(shù)據(jù)庫的I2B2表中;
步驟三:讀入列映射文件,驗證列映射文件中的數(shù)據(jù)是否滿足設定的規(guī)則,用來保證數(shù)據(jù)的正確性的;
步驟四:第一次讀取并處理數(shù)據(jù):首先根據(jù)文本替換文件中的定義將該數(shù)據(jù)替換成規(guī)范的值;然后對數(shù)據(jù)的正確性驗證;補充數(shù)據(jù)的缺失信息;提取出病人的ID信息即在列映射文件中該列的數(shù)據(jù)變量為‘PAT_ID’的數(shù)據(jù),以及來訪的ID數(shù)據(jù)即在列映射文件中該列的數(shù)據(jù)變量為‘VIS_ID’的數(shù)據(jù);
加入自定義變量的標識。根據(jù)自定義標識的概念路徑變量構造概念路徑。根據(jù)自定義標識的概念類型變量構造概念類型。再次構造概念樹,并將該概念樹插入到平臺數(shù)據(jù)庫對應的表中;
步驟五:將病人ID、來訪ID數(shù)據(jù)導入到平臺數(shù)據(jù)庫并第二次讀取數(shù)據(jù)文件中的數(shù)據(jù):按行讀取這些數(shù)據(jù),根據(jù)文本替換文件中的定義,將指定列的不符合要求的數(shù)據(jù)替換成符合要求的數(shù)據(jù);根據(jù)列映射文件中定義的列序號以及數(shù)據(jù)變量,標識出每條數(shù)據(jù)中的每個數(shù)據(jù)的具體表示含義,將病人信息數(shù)據(jù)與病人ID對應插入到平臺數(shù)據(jù)庫中的病人信息表中,將來訪數(shù)據(jù)與來訪ID對應插入到平臺數(shù)據(jù)庫中的來訪信息表中,將數(shù)據(jù)變量中的概念類型的變量標識的數(shù)據(jù)與概念路徑本身以及在列映射文件中定義的其他類型的數(shù)據(jù)單位、數(shù)據(jù)類型等相關數(shù)據(jù)插入到平臺數(shù)據(jù)庫中的觀測事實表中;如果導入數(shù)據(jù)出現(xiàn)異常情況,只做相關記錄供以后查看;如果是網(wǎng)絡異?;蚱脚_數(shù)據(jù)庫系統(tǒng)異常,則回滾事物,并記錄當前導入的狀態(tài);即完成數(shù)據(jù)導入。
2.如權利要求1所述數(shù)據(jù)導入方法,其特征在于,還包括用于源數(shù)據(jù)庫中數(shù)據(jù)的導入:首先要在該源數(shù)據(jù)庫中寫好存儲過程,存儲過程返回想要導入數(shù)據(jù)的游標;同時對文本數(shù)據(jù)讀入單元替換成從數(shù)據(jù)庫中的存儲過程讀取數(shù)據(jù)的讀入單元,并保證與文本讀入單元讀入后的結果相同;具體包括以下步驟:
步驟一:準備文件:準備的文件包括:
11)列映射文件:列映射文件有固定的六列內容。分別為源數(shù)據(jù)庫中預定義的存儲過程名、數(shù)據(jù)列號、這個數(shù)據(jù)是否可以是空值、數(shù)據(jù)變量、數(shù)據(jù)類型、數(shù)據(jù)單位;其中數(shù)據(jù)變量就是用來描述數(shù)據(jù)含義的。數(shù)據(jù)變量的取值為預先定義的符號或者是代表著一個概念的概念路徑;概念由概念路徑和概念類型構成;概念路徑是一個以斜線分隔的文本;
還包括在數(shù)據(jù)變量中增加一個自定義的標識,體現(xiàn)一行中存在多個概念的數(shù)據(jù)變量的層級關系;
12)文本替換文件:用于將一些不符合預定義規(guī)范的數(shù)據(jù)清洗掉;該文件由四列,分別為文件名、數(shù)據(jù)列的列號、原來的值、想要替換成的值;
13)源數(shù)據(jù)庫連接配置文件:包括源數(shù)據(jù)庫的用戶名、密碼、是否自動重新連接信息;
14)用于構建概念樹的文件:該文件有概念路徑和概念類別兩列,概念分為不同層級,不同層級之間之間以斜線“\”分隔,概念類別包括類別型和數(shù)值型兩類;步驟二:根據(jù)步驟一中構建的概念樹文件的概念路徑和概念類別中的層級,構建概念樹;將概念樹中的每個節(jié)點中的概念路徑與概念類型插入到平臺數(shù)據(jù)庫中的概念表中,將概念路徑與概念類型以及節(jié)點在概念樹中的相對位置插入到平臺數(shù)據(jù)庫的I2B2表中;
步驟三:讀入列映射文件,驗證列映射文件中的數(shù)據(jù)是否滿足設定的規(guī)則,用來保證數(shù)據(jù)的正確性的;
步驟四:第一次遍歷要導入的源數(shù)據(jù)庫中的數(shù)據(jù):首先根據(jù)文本替換文件中的定義將該數(shù)據(jù)替換成規(guī)范的值;然后對數(shù)據(jù)的正確性驗證;補充數(shù)據(jù)的缺失信息。提取出病人的ID信息即在列映射文件中該列的數(shù)據(jù)變量為‘PAT_ID’的數(shù)據(jù),以及來訪的ID信息即在列映射文件中該列的數(shù)據(jù)變量為‘VIS_ID’的數(shù)據(jù);
加入自定義變量的標識。根據(jù)自定義標識的概念路徑變量構造概念路徑;根據(jù)自定義標識的概念類型變量構造概念類型。再構造概念樹,并將樹插入到平臺數(shù)據(jù)庫對應的表中;
步驟五:將病人ID、來訪ID數(shù)據(jù)導入到平臺數(shù)據(jù)庫并第二次遍歷源數(shù)據(jù)庫中的數(shù)據(jù):按行讀取源數(shù)據(jù)庫中的數(shù)據(jù),根據(jù)文本替換文件中的定義,將指定列的不符合要求的數(shù)據(jù)替換成符合要求的數(shù)據(jù);根據(jù)列映射文件中定義的列序號以及數(shù)據(jù)變量,標識出每條數(shù)據(jù)中的每個數(shù)據(jù)的具體表示含義,將病人信息數(shù)據(jù)與病人ID對應插入到平臺數(shù)據(jù)庫中的病人信息表中,將來訪數(shù)據(jù)與來訪ID對應插入到平臺數(shù)據(jù)庫中的來訪信息表中,將數(shù)據(jù)變量中的概念類型的變量標識的數(shù)據(jù)與概念路徑本身以及在列映射文件中定義的其他類型的數(shù)據(jù)單位、數(shù)據(jù)類型等相關數(shù)據(jù)插入到平臺數(shù)據(jù)庫中的觀測事實表中;如果導入數(shù)據(jù)出現(xiàn)異常,只做相關記錄供以后查看;如果是網(wǎng)絡異?;蚱脚_數(shù)據(jù)庫系統(tǒng)異常,則回滾事物,并記錄當前導入的狀態(tài);即完成數(shù)據(jù)導入。