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