本發(fā)明涉及醫(yī)療信息,尤其涉及一種醫(yī)療病歷混合數(shù)據(jù)的處理方法、裝置、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、當前在日常的醫(yī)療工作過程中,會收集或產(chǎn)生大量數(shù)據(jù),如患者的主訴和現(xiàn)病史等,這些數(shù)據(jù)多以非結(jié)構(gòu)化形式存在,使得它們難以用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫來存儲。
2、目前,多以非關(guān)系型數(shù)據(jù)庫存儲上述類型的數(shù)據(jù)。但是,由于不同醫(yī)院中心的數(shù)據(jù)會根據(jù)各自版本的病歷模型和數(shù)據(jù)治理工具進行治理,治理后的數(shù)據(jù)結(jié)構(gòu)也會有所不同,因此當前針對非關(guān)系數(shù)據(jù)庫,為單個數(shù)據(jù)的存儲均單獨編寫和維護代碼,不僅開發(fā)和維護時繁瑣,在應用查詢時也會因為需要適應不同的數(shù)據(jù)存儲和結(jié)構(gòu),導致查詢的工作效率低。
技術(shù)實現(xiàn)思路
1、有鑒于此,本發(fā)明實施例提供一種醫(yī)療病歷混合數(shù)據(jù)的處理方法、裝置、電子設(shè)備及存儲介質(zhì),以解決現(xiàn)有在處理醫(yī)療數(shù)據(jù)時無法兼顧不同的數(shù)據(jù)結(jié)構(gòu)和存儲,導致涉及查詢時工作效率低的問題。
2、為解決上述問題,本發(fā)明實施例提供如下技術(shù)方案:
3、本發(fā)明第一方面公開了一種醫(yī)療病歷混合數(shù)據(jù)的處理方法,所述處理方法包括:
4、獲取查詢請求,并基于所述查詢請求從預先構(gòu)建的第一數(shù)據(jù)集中確定第二數(shù)據(jù)集,所述查詢請求包括查詢條件和基于第一病歷模型構(gòu)建的查詢參數(shù),所述第一病歷模型由各類醫(yī)療主題下不同類型的第一病歷數(shù)據(jù)所構(gòu)建,每一所述第一病歷模型對應一個類型的第一病歷數(shù)據(jù);
5、基于所述第二數(shù)據(jù)集中的每個索引,建立索引名稱與所述第二數(shù)據(jù)集之間的映射關(guān)系,所述映射關(guān)系用于指示索引對應的所述第二數(shù)據(jù)集中的第二病歷數(shù)據(jù)的存儲位置和數(shù)據(jù)格式;
6、將所述查詢請求中的查詢條件轉(zhuǎn)換為dsl語句,所述dsl語句至少包括范圍查詢語句和匹配查詢語句;
7、基于所述dsl語句在索引中進行查詢,確定病歷數(shù)據(jù)id,并將所述病歷數(shù)據(jù)id按照對應的索引進行分組,得到數(shù)據(jù)分組;
8、針對每一所述數(shù)據(jù)分組,利用所述映射關(guān)系將所述病歷數(shù)據(jù)id對應的索引id轉(zhuǎn)換為病歷存儲id;
9、根據(jù)所述索引id獲取預先存儲于數(shù)據(jù)注冊中心中的第三注冊內(nèi)容,并基于所述第三注冊內(nèi)容和所述病歷存儲id構(gòu)建最終查詢條件;
10、基于所述最終查詢條件查詢存儲第三病歷數(shù)據(jù)的數(shù)據(jù)庫,合并查詢到的第三病歷數(shù)據(jù),得到最終病歷。
11、優(yōu)選的,所述預先構(gòu)建第一數(shù)據(jù)集的過程包括:
12、獲取每個醫(yī)療主題下不同類型的第一病歷數(shù)據(jù),并針對每一所述醫(yī)療主題下的每一類型的第一病歷數(shù)據(jù)構(gòu)建對應的第一病歷模型;
13、利用不同版本的第一數(shù)據(jù)治理工具治理所述第一病歷模型中的第一病歷數(shù)據(jù),生成對應版本的混合數(shù)據(jù)結(jié)構(gòu)的第一數(shù)據(jù)存儲元數(shù)據(jù);
14、將所述第一數(shù)據(jù)存儲元數(shù)據(jù)在所述數(shù)據(jù)注冊中心進行注冊,生成第一注冊內(nèi)容,所述數(shù)據(jù)注冊中心至少包含第一層級和第二層級,第一層級包括所述第一數(shù)據(jù)治理工具,第二層級包括所述第一數(shù)據(jù)存儲元數(shù)據(jù);
15、利用所述第一病歷模型和第一注冊內(nèi)容構(gòu)建倒排索引,并基于所述倒排索引生成按照數(shù)據(jù)來源劃分的不同的第一數(shù)據(jù)集,所述數(shù)據(jù)來源包括同一醫(yī)院的不同的數(shù)據(jù)中心使用相同的數(shù)據(jù)治理工具版本和所述第一病歷模型時,根據(jù)不同的數(shù)據(jù)中心建立的不同的第一數(shù)據(jù)集,或者一個區(qū)域的不同醫(yī)院使用相同的數(shù)據(jù)治理工具版本和所述第一病歷模型時,根據(jù)不同醫(yī)院建立的不同的第一數(shù)據(jù)集。
16、優(yōu)選的,還包括:
17、若存在多個第二數(shù)據(jù)集,對所述多個第二數(shù)據(jù)集下的索引創(chuàng)建相同的索引別名;
18、建立所述索引別名與多個第二數(shù)據(jù)集之間的映射關(guān)系。
19、優(yōu)選的,在確定存在多個第二數(shù)據(jù)集之后,還包括:
20、攔截查詢請求中破壞所述多個第二數(shù)據(jù)集中的第二病歷數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的查詢條件。
21、優(yōu)選的,利用所述映射關(guān)系將所述病歷數(shù)據(jù)id對應的索引id轉(zhuǎn)換為病歷存儲id,包括:
22、獲取所述病歷數(shù)據(jù)id對應的索引id;
23、基于所述映射關(guān)系,確定所述索引id對應的第三數(shù)據(jù)集;
24、獲取所述第三數(shù)據(jù)集中第三病歷數(shù)據(jù)在數(shù)據(jù)注冊中心中的第三注冊內(nèi)容,并根據(jù)所述第三注冊內(nèi)容確定對應的id生成規(guī)則;
25、根據(jù)所述id生成規(guī)則將所述索引id轉(zhuǎn)換為病歷存儲id。
26、優(yōu)選的,根據(jù)所述索引id獲取預先存儲于數(shù)據(jù)注冊中心中的第三注冊內(nèi)容,并基于所述第三注冊內(nèi)容和所述病歷存儲id構(gòu)建最終查詢條件,包括:
27、基于所述索引id和所述映射關(guān)系確定對應的第三數(shù)據(jù)集;
28、基于所述第三數(shù)據(jù)集中的第三數(shù)據(jù)治理工具和第三病歷模型,確定對應的第三數(shù)據(jù)存儲元數(shù)據(jù);
29、在所述數(shù)據(jù)注冊中心中,基于所述第三數(shù)據(jù)存儲元數(shù)據(jù)確定第三注冊內(nèi)容;
30、基于所述第三注冊內(nèi)容識別滿足所述查詢條件的第三病歷數(shù)據(jù)的存儲位置和數(shù)據(jù)格式;
31、拼接所述第三病歷數(shù)據(jù)的存儲位置、數(shù)據(jù)格式和病歷存儲id,得到最終查詢條件。
32、優(yōu)選的,基于所述最終查詢條件查詢存儲第三病歷數(shù)據(jù)的數(shù)據(jù)庫,合并查詢到的第三病歷數(shù)據(jù),得到最終病歷,包括:
33、基于所述病歷數(shù)據(jù)查詢字段查詢存儲第三病歷數(shù)據(jù)的數(shù)據(jù)庫,得到相應的第三病歷數(shù)據(jù),所述第一病歷數(shù)據(jù)包含第三病歷數(shù)據(jù);
34、轉(zhuǎn)換所述第三病歷數(shù)據(jù)的數(shù)據(jù)格式,得到符合預設(shè)標準數(shù)據(jù)格式的第三病歷數(shù)據(jù);
35、合并所述符合預設(shè)標準數(shù)據(jù)格式的第三病歷數(shù)據(jù),得到最終病歷。
36、本發(fā)明實施例第二方面公開了一種醫(yī)療病歷混合數(shù)據(jù)的處理裝置,所述處理裝置包括:
37、第一獲取單元,用于獲取查詢請求,并基于所述查詢請求從預先構(gòu)建的第一數(shù)據(jù)集中確定第二數(shù)據(jù)集,所述查詢請求包括基于第一病歷模型構(gòu)建的查詢參數(shù),所述第一病歷模型由各類醫(yī)療主題下不同類型的第一病歷數(shù)據(jù)所構(gòu)建,每一所述病歷模型對應一個類型的第一病歷數(shù)據(jù);
38、第一建立單元,用于基于所述第二數(shù)據(jù)集中的每個索引,建立索引名與所述第二數(shù)據(jù)集之間的映射關(guān)系,所述映射關(guān)系用于指示索引對應的所述第二數(shù)據(jù)集中的第二病歷數(shù)據(jù)的存儲位置和數(shù)據(jù)格式;
39、第一轉(zhuǎn)換單元,用于將所述查詢請求中的查詢條件轉(zhuǎn)換為dsl語句,所述dsl語句至少包括范圍查詢語句和匹配查詢語句;
40、第一查詢單元,用于基于所述dsl語句在所述索引中進行查詢,確定病歷數(shù)據(jù)id,并將所述病歷數(shù)據(jù)id按照對應的索引進行分組,得到數(shù)據(jù)分組;
41、第二轉(zhuǎn)換單元,用于針對每一所述數(shù)據(jù)分組,利用所述映射關(guān)系將所述病歷數(shù)據(jù)id對應的索引id轉(zhuǎn)換為病歷存儲id;
42、第二獲取單元,用于根據(jù)所述索引id獲取預先存儲于數(shù)據(jù)注冊中心中的第三注冊內(nèi)容,并基于所述第三注冊內(nèi)容和所述病歷存儲id構(gòu)建最終查詢條件;
43、第二查詢單元,用于基于所述最終查詢條件查詢存儲第一病歷數(shù)據(jù)的數(shù)據(jù)庫,合并查詢到的第三病歷數(shù)據(jù),得到最終病歷。
44、本發(fā)明實施例第三方面公開了一種計算機存儲介質(zhì),其上存儲有程序,所述程序被處理器執(zhí)行時,實現(xiàn)如本發(fā)明實施例第一方面公開的醫(yī)療病歷混合數(shù)據(jù)的處理方法。
45、本發(fā)明實施例第四方面公開了一種電子設(shè)備,包括存儲器、處理器和存儲在所述存儲器上的程序,所述處理器執(zhí)行所述程序,以實現(xiàn)如本發(fā)明實施例第一方面公開的醫(yī)療病歷混合數(shù)據(jù)的處理方法。
46、基于上述本發(fā)明實施例提供的一種醫(yī)療病歷混合數(shù)據(jù)的處理方法、裝置、電子設(shè)備及存儲介質(zhì),該處理方法通過預先建立第一病歷模型、第一數(shù)據(jù)集和數(shù)據(jù)注冊中心,所述數(shù)據(jù)注冊中心中注冊有將第一病歷數(shù)據(jù)通過數(shù)據(jù)治理之后得到的第一數(shù)據(jù)存儲元數(shù)據(jù)與第一病歷模型的映射關(guān)系,第一數(shù)據(jù)集基于第一病歷模型、第一數(shù)據(jù)存儲元數(shù)據(jù)和數(shù)據(jù)注冊中心中的第一注冊內(nèi)容所構(gòu)建的倒排索引生成,在查詢病歷時,從第一數(shù)據(jù)集中確定初始符合查詢請求的第二數(shù)據(jù)集,基于第二數(shù)據(jù)集中的每個索引,建立索引名與第二數(shù)據(jù)集之間的映射關(guān)系,將查詢請求中的查詢條件轉(zhuǎn)換為dsl語句;基于dsl語句和映射關(guān)系進行查詢,確定病歷數(shù)據(jù)id,并將病歷數(shù)據(jù)id對應的索引id轉(zhuǎn)換為病歷存儲id;根據(jù)病歷存儲id獲取預先存儲于數(shù)據(jù)注冊中心中的第三注冊內(nèi)容,基于第三注冊內(nèi)容中的病歷數(shù)據(jù)查詢字段查詢存儲第一病歷數(shù)據(jù)的數(shù)據(jù)庫,合并查詢到的第三病歷數(shù)據(jù),得到最終病歷。在本發(fā)明實施例中,針對不同的第一病歷模型,利用不同版本的第一數(shù)據(jù)治理工具進行數(shù)據(jù)治理后得到的數(shù)據(jù)進行混合倒排索引構(gòu)建第一數(shù)據(jù)集,將該第一數(shù)據(jù)集作為查詢基礎(chǔ),在查詢過程中,基于該第一數(shù)據(jù)集對查詢請求中的查詢條件進行處理生成統(tǒng)一的dsl語句執(zhí)行查詢,可以適配和兼顧不同的數(shù)據(jù)結(jié)構(gòu)和存儲,以實現(xiàn)在任何非結(jié)構(gòu)化醫(yī)療病歷混合數(shù)據(jù)結(jié)構(gòu)下,提高查詢的工作效率的目的。