


摘要:采用Hadoop技術(shù)構(gòu)建醫(yī)療科研大數(shù)據(jù)平臺(tái),通過(guò)數(shù)據(jù)采集系統(tǒng)實(shí)現(xiàn)醫(yī)院內(nèi)部各核心業(yè)務(wù)系統(tǒng)數(shù)據(jù)的高效采集、加密、脫敏、存儲(chǔ)及整合,構(gòu)建了科研數(shù)據(jù)中心,通過(guò)患者主索引的方式進(jìn)行患者診療數(shù)據(jù)標(biāo)準(zhǔn)化和歸集,并通過(guò)數(shù)據(jù)查詢系統(tǒng)和后臺(tái)管理系統(tǒng)為科研人員提供便捷的查詢與管理功能。平臺(tái)通過(guò)政務(wù)外網(wǎng)安全接入,實(shí)現(xiàn)跨醫(yī)療機(jī)構(gòu)查看患者歷史診療信息,解決了科研數(shù)據(jù)獲取困難的問(wèn)題。
關(guān)鍵詞:Hadoop;科研數(shù)據(jù)平臺(tái);醫(yī)療大數(shù)據(jù)
一、前言
近年來(lái),伴隨著醫(yī)療技術(shù)的迅猛發(fā)展以及醫(yī)療信息化建設(shè)的持續(xù)深入,醫(yī)療數(shù)據(jù)規(guī)模呈現(xiàn)出指數(shù)級(jí)的增長(zhǎng)趨勢(shì)。醫(yī)療數(shù)據(jù)的來(lái)源已不再局限于傳統(tǒng)的病歷記錄和醫(yī)學(xué)影像,還包括基因組測(cè)序、生物標(biāo)志物檢測(cè)等新興數(shù)據(jù)類型[1]。這些醫(yī)療數(shù)據(jù)蘊(yùn)含著巨大的價(jià)值,對(duì)于疾病診斷、治療方案優(yōu)化、藥物研發(fā)以及公共衛(wèi)生決策等都具有重要意義。然而,當(dāng)前醫(yī)療數(shù)據(jù)的獲取面臨一定的挑戰(zhàn)。一方面,由于醫(yī)療數(shù)據(jù)主要存儲(chǔ)于醫(yī)院內(nèi)部系統(tǒng)的數(shù)據(jù)庫(kù)中,并且這些數(shù)據(jù)涉及患者隱私,因此需要實(shí)施嚴(yán)格的授權(quán)和保密措施,無(wú)疑增加了科研人員獲取數(shù)據(jù)的程序復(fù)雜度[2]。另一方面,由于不同醫(yī)院的內(nèi)部系統(tǒng)數(shù)據(jù)經(jīng)歷了長(zhǎng)時(shí)間的積累和系統(tǒng)更新,導(dǎo)致院內(nèi)數(shù)據(jù)缺乏統(tǒng)一的國(guó)家標(biāo)準(zhǔn)存儲(chǔ),不同醫(yī)院間的數(shù)據(jù)存儲(chǔ)格式和標(biāo)準(zhǔn)存在差異,甚至同類數(shù)據(jù)在規(guī)范上也存在不一致性,使得數(shù)據(jù)難以直接應(yīng)用于科研工作,極大地限制了醫(yī)療數(shù)據(jù)的潛在價(jià)值發(fā)揮[3]。因此,構(gòu)建一個(gè)能夠整合各醫(yī)療機(jī)構(gòu)核心數(shù)據(jù)的科研數(shù)據(jù)中心顯得尤為重要。
一方面,平臺(tái)能夠整合和管理海量的醫(yī)療科研數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)共享與流通,為醫(yī)療科研人員提供全面、準(zhǔn)確的數(shù)據(jù)支持,加速科研進(jìn)程。例如,在藥物研發(fā)過(guò)程中,科研人員可以通過(guò)平臺(tái)獲取大量的臨床試驗(yàn)數(shù)據(jù)、患者病歷數(shù)據(jù)等,進(jìn)行數(shù)據(jù)分析和挖掘,從而更準(zhǔn)確地評(píng)估藥物的療效和安全性,縮短研發(fā)周期。另一方面,利用Hadoop強(qiáng)大的計(jì)算能力,對(duì)醫(yī)療數(shù)據(jù)進(jìn)行深度分析和挖掘,發(fā)現(xiàn)潛在的醫(yī)學(xué)知識(shí)和規(guī)律,為臨床決策提供科學(xué)依據(jù),提高醫(yī)療服務(wù)質(zhì)量。
二、Hadoop技術(shù)構(gòu)成
平臺(tái)主要采用開(kāi)源的Hadoop技術(shù)對(duì)醫(yī)療大數(shù)據(jù)平臺(tái)進(jìn)行擴(kuò)展和封裝,解決數(shù)據(jù)來(lái)源多樣性和異構(gòu)性的問(wèn)題。Hadoop因其高可靠性、高擴(kuò)展性、高效性以及高容錯(cuò)性,不僅能夠有效降低運(yùn)營(yíng)成本,而且確保了技術(shù)的穩(wěn)定性和持續(xù)發(fā)展。此外,Hadoop生態(tài)系統(tǒng)中的技術(shù)成熟且全面,能夠充分滿足相關(guān)業(yè)務(wù)的技術(shù)需求。
Kettle是Hadoop架構(gòu)中廣泛使用的數(shù)據(jù)收集技術(shù),能夠從多種數(shù)據(jù)源(包括但不限于MySQL、Oracle等關(guān)系型數(shù)據(jù)庫(kù),以及HDFS、Hive等大數(shù)據(jù)平臺(tái))高效地抽取數(shù)據(jù),并支持通過(guò)API接口獲取數(shù)據(jù)[4]。HBase是列存儲(chǔ)數(shù)據(jù)庫(kù),基于HDFS構(gòu)建,適合存儲(chǔ)半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù),支持高并發(fā)的隨機(jī)讀寫操作。Hive提供了類似SQL的查詢語(yǔ)言HiveQL對(duì)大規(guī)模數(shù)據(jù)進(jìn)行存儲(chǔ)、查詢和分析,適合于批量處理和離線分析。Spark是基于內(nèi)存計(jì)算的大數(shù)據(jù)處理框架,支持批處理、實(shí)時(shí)流處理、機(jī)器學(xué)習(xí)和圖計(jì)算[5]。Elasticsearch采用分布式架構(gòu),內(nèi)部結(jié)構(gòu)采用Lucene倒排索引的方式進(jìn)行數(shù)據(jù)存儲(chǔ),能對(duì)文本數(shù)據(jù)進(jìn)行高效的全文檢索。Spark提供的查詢DSL支持多條件查詢、范圍查詢、布爾邏輯查詢、嵌套查詢等復(fù)雜查詢語(yǔ)句。Elasticsearch提供豐富的聚合操作,如分組、求平均值、計(jì)數(shù)、直方圖等。Cloudera Manager提供圖形用戶界面和命令行接口,用于部署、配置、監(jiān)控和管理Hadoop集群。它還能收集和分析集群的性能數(shù)據(jù),為管理員提供性能優(yōu)化的建議和指導(dǎo)。
本平臺(tái)使用Kettle采集數(shù)據(jù),Hive存儲(chǔ)歷史數(shù)據(jù),HBase 存儲(chǔ)實(shí)時(shí)數(shù)據(jù),Spark統(tǒng)一處理和分析這些數(shù)據(jù),Elasticsearch進(jìn)行復(fù)雜數(shù)據(jù)查詢和統(tǒng)計(jì)分析,Cloudera Manager管理和監(jiān)控集群。
三、平臺(tái)架構(gòu)
本平臺(tái)架構(gòu)設(shè)計(jì)由下向上可劃分為四個(gè)層面,即基礎(chǔ)設(shè)施層、數(shù)據(jù)層、數(shù)據(jù)處理層和平臺(tái)應(yīng)用層,如圖1所示。系統(tǒng)各層都緊密地架構(gòu)在統(tǒng)一的醫(yī)療數(shù)據(jù)標(biāo)準(zhǔn)和規(guī)范、安全保障體系環(huán)境上,遵循統(tǒng)一的資源共享和業(yè)務(wù)協(xié)同標(biāo)準(zhǔn)規(guī)范體系[6]。
基礎(chǔ)設(shè)施層為整個(gè)平臺(tái)的運(yùn)行提供硬件和網(wǎng)絡(luò)支持,構(gòu)建在電信的私有云基礎(chǔ)設(shè)施之上,科研人員通過(guò)政務(wù)外網(wǎng)安全接入平臺(tái)。平臺(tái)充分利用現(xiàn)有的網(wǎng)絡(luò)、存儲(chǔ)、服務(wù)器主機(jī)等核心硬件資源。這些資源由云平臺(tái)進(jìn)行統(tǒng)一管理,確保服務(wù)的高效性和穩(wěn)定性。
數(shù)據(jù)層為平臺(tái)數(shù)據(jù)資源基礎(chǔ),負(fù)責(zé)從多種醫(yī)療數(shù)據(jù)源(HIS、EMR、LIS、PACS、PEIS等)采集數(shù)據(jù)。平臺(tái)依據(jù)統(tǒng)一的數(shù)據(jù)規(guī)范與標(biāo)準(zhǔn),構(gòu)建統(tǒng)一的科研數(shù)據(jù)中心,滿足科研的多樣性需求。這一舉措旨在促進(jìn)數(shù)據(jù)共享,解決醫(yī)療機(jī)構(gòu)間數(shù)據(jù)不能互通的問(wèn)題,從而克服醫(yī)療“數(shù)據(jù)孤島”現(xiàn)象。
數(shù)據(jù)處理層為平臺(tái)的核心部分,實(shí)現(xiàn)對(duì)海量醫(yī)療數(shù)據(jù)的存儲(chǔ)、管理、檢索和分析,主要分為數(shù)據(jù)脫敏、數(shù)據(jù)清洗、數(shù)據(jù)映射、數(shù)據(jù)交換和結(jié)構(gòu)化處理。為保證醫(yī)療數(shù)據(jù)的安全及患者隱私,平臺(tái)依據(jù)HIPAA法案制定相應(yīng)的數(shù)據(jù)權(quán)限管理、數(shù)據(jù)加密及脫敏規(guī)則[7]。數(shù)據(jù)清洗主要完成缺失值處理、去除冗余數(shù)據(jù)、過(guò)濾異常數(shù)據(jù)、糾正錯(cuò)誤數(shù)據(jù)以及標(biāo)準(zhǔn)化數(shù)據(jù)格式,避免數(shù)據(jù)質(zhì)量問(wèn)題而導(dǎo)致錯(cuò)誤的分析結(jié)果。例如,對(duì)于電子病歷中的年齡缺失值,通過(guò)分析其他相關(guān)信息,如首次就診時(shí)間、病史等,利用回歸模型預(yù)測(cè)出缺失的年齡值。為消除醫(yī)學(xué)術(shù)語(yǔ)表達(dá)差異而造成語(yǔ)義鴻溝,通過(guò)數(shù)據(jù)映射將各醫(yī)療機(jī)構(gòu)的數(shù)據(jù)字典映射到統(tǒng)一的數(shù)據(jù)字典,包括疾病分類、檢查/檢驗(yàn)類型、癥狀體征等。借助自然語(yǔ)言處理技術(shù),對(duì)非結(jié)構(gòu)化原始數(shù)據(jù)進(jìn)行深度解析,識(shí)別并提取文本中的關(guān)鍵實(shí)體、屬性、關(guān)系等信息,精準(zhǔn)地轉(zhuǎn)換為結(jié)構(gòu)化數(shù)據(jù),為建立精準(zhǔn)的數(shù)據(jù)模型和高效的算法提供堅(jiān)實(shí)可靠的基礎(chǔ),從而為后續(xù)的數(shù)據(jù)分析和應(yīng)用開(kāi)發(fā)奠定關(guān)鍵的支撐[5]。例如,根據(jù)電子病歷中的半結(jié)構(gòu)化文本數(shù)據(jù),提取出患者的癥狀、診斷結(jié)果、治療措施等關(guān)鍵信息,將其轉(zhuǎn)換為結(jié)構(gòu)化的表格數(shù)據(jù),每一行代表一個(gè)患者的關(guān)鍵信息,每一列對(duì)應(yīng)不同的信息字段。
平臺(tái)應(yīng)用層劃分為三個(gè)子系統(tǒng):數(shù)據(jù)采集、數(shù)據(jù)查詢以及后臺(tái)管理。數(shù)據(jù)采集子系統(tǒng)采集核心醫(yī)療數(shù)據(jù),并對(duì)采集數(shù)據(jù)進(jìn)行量化評(píng)估,以實(shí)現(xiàn)對(duì)數(shù)據(jù)采集結(jié)果的精確核對(duì)。數(shù)據(jù)查詢子系統(tǒng)實(shí)現(xiàn)對(duì)全庫(kù)數(shù)據(jù)進(jìn)行多維度檢索,支持限制不同科研人員的查詢權(quán)限。后臺(tái)管理子系統(tǒng)為各級(jí)管理員提供用戶管理、角色權(quán)限管理、病歷指標(biāo)和管理等功能,負(fù)責(zé)統(tǒng)一管理平臺(tái)內(nèi)各子平臺(tái)、子系統(tǒng)的訪問(wèn)權(quán)限和數(shù)據(jù)權(quán)限。
四、平臺(tái)實(shí)現(xiàn)
(一)數(shù)據(jù)采集系統(tǒng)
通過(guò)調(diào)研醫(yī)療機(jī)構(gòu)的網(wǎng)絡(luò)平臺(tái)和信息化建設(shè)情況,平臺(tái)在各醫(yī)療機(jī)構(gòu)部署采集前置服務(wù)器,利用Java Web服務(wù)定時(shí)采集不同醫(yī)療機(jī)構(gòu)的各業(yè)務(wù)系統(tǒng)數(shù)據(jù),并將數(shù)據(jù)進(jìn)行脫敏處理后上傳到前置服務(wù)器,存儲(chǔ)到數(shù)據(jù)云平臺(tái)Oracle數(shù)據(jù)庫(kù)中。針對(duì)Oracle云庫(kù)中的數(shù)據(jù),根據(jù)不同的業(yè)務(wù)類型,劃分醫(yī)療數(shù)據(jù),如門診、住院、體檢、檢驗(yàn)檢查等,分別構(gòu)建抽取腳本,每月將增量數(shù)據(jù)寫入HBase庫(kù)中,并對(duì)這些表構(gòu)建Hive外部表,直接用于數(shù)據(jù)操作。針對(duì)數(shù)據(jù)量特別大的表,如診斷事件表、門診表、費(fèi)用表、用藥記錄表等,需要建立Hive分區(qū)分桶表,這些表對(duì)應(yīng)的HBase臨時(shí)緩存表數(shù)據(jù)30至60天過(guò)期,每月定時(shí)將這些表的HBase數(shù)據(jù)進(jìn)一步歸檔到Hive分區(qū)表中,防止HBase數(shù)據(jù)膨脹過(guò)大,也提高大表關(guān)聯(lián)查詢速度。
由于患者在各醫(yī)療機(jī)構(gòu)的病人ID各不相同,為了便于匯集同一病人的數(shù)據(jù),需要對(duì)匯集數(shù)據(jù)進(jìn)行合并處理。利用Spark的強(qiáng)大計(jì)算能力,對(duì)數(shù)據(jù)進(jìn)行合并清洗。在這個(gè)過(guò)程中,將識(shí)別為同一個(gè)病人的數(shù)據(jù)分配唯一索引。通過(guò)這種方式,每個(gè)患者都會(huì)擁有一個(gè)獨(dú)特的索引,根據(jù)該索引快速?gòu)腍Base緩存中讀取該患者在各醫(yī)院機(jī)構(gòu)的就診記錄以及診斷統(tǒng)計(jì)數(shù)據(jù),從而實(shí)現(xiàn)對(duì)同一患者在不同醫(yī)療機(jī)構(gòu)數(shù)據(jù)的有效匯集和整合。
最后,根據(jù)一定的條件,將歸檔數(shù)據(jù)每月進(jìn)行增量清洗,并將清洗后的數(shù)據(jù)導(dǎo)入到全文檢索引擎中。通過(guò)這種方式,可以保證在進(jìn)行復(fù)雜條件查詢時(shí),能夠及時(shí)獲取最新的歸檔數(shù)據(jù),從而提高查詢的時(shí)效性和準(zhǔn)確性,更好地滿足用戶對(duì)醫(yī)療數(shù)據(jù)查詢的需求。
數(shù)據(jù)采集歸檔主流程圖如圖2所示。
此外,通過(guò)配置數(shù)據(jù)分值及采集缺失、錯(cuò)誤扣分規(guī)則,平臺(tái)對(duì)醫(yī)療機(jī)構(gòu)上傳的數(shù)據(jù)進(jìn)行評(píng)分,以便對(duì)各醫(yī)療機(jī)構(gòu)的數(shù)據(jù)采集質(zhì)量進(jìn)行量化評(píng)估。
(二)數(shù)據(jù)查詢系統(tǒng)
數(shù)據(jù)查詢系統(tǒng)采用Vue框架,并結(jié)合Echarts圖表庫(kù),為科研人員提供了友好且功能強(qiáng)大的醫(yī)療數(shù)據(jù)查詢與展示功能。
第一,支持病例診斷、性別、數(shù)據(jù)字段的值等基于特定字段的多條件組合關(guān)聯(lián)檢索,并設(shè)置展示字段,如性別、機(jī)構(gòu)名稱、檢驗(yàn)項(xiàng)目結(jié)果值、檢驗(yàn)項(xiàng)目參考值,從而協(xié)助科研人員快速找到科研所需的醫(yī)療數(shù)據(jù)。例如,查找男性A血型或者女性B血型的體檢記錄,查詢條件設(shè)置如圖3所示。執(zhí)行查詢后,系統(tǒng)自動(dòng)為用戶保存最近10次查詢?cè)O(shè)置,用戶也可將已設(shè)置的查詢條件和展示字段保存為模板,以便后續(xù)查詢。
第二,通過(guò)專病視圖展示患者的所有診療信息,包括門診、住院、體檢報(bào)告等,為疾病的診斷和治療提供重要依據(jù)。用戶可查看患者的歷次就診信息,可對(duì)檢索的病歷進(jìn)行收藏,在用戶收藏夾中可以管理和查看用戶所收藏的病例。
第三,具有數(shù)據(jù)統(tǒng)計(jì)分析功能,如異常檢出的項(xiàng)目排行、各年度檢驗(yàn)/檢查項(xiàng)目排行、各年度各年齡段男性和女性的高發(fā)疾病等數(shù)據(jù),借助統(tǒng)計(jì)學(xué)和數(shù)據(jù)分析的方法,進(jìn)行深入的數(shù)據(jù)挖掘和分析,幫助醫(yī)院精準(zhǔn)洞察醫(yī)療服務(wù)現(xiàn)狀與問(wèn)題,從而優(yōu)化醫(yī)療流程,提升服務(wù)質(zhì)量,同時(shí)助力提高患者的健康管理水平,為患者帶來(lái)更優(yōu)質(zhì)的醫(yī)療服務(wù)體驗(yàn)。
(三)后臺(tái)管理系統(tǒng)
后臺(tái)管理系統(tǒng)采用開(kāi)源的SpringBoot框架實(shí)現(xiàn),整合數(shù)據(jù)查詢系統(tǒng)以及后臺(tái)管理系統(tǒng)相關(guān)基礎(chǔ)功能數(shù)據(jù),主要包含資源管理、字典管理、角色管理、用戶管理、病歷指標(biāo)、報(bào)表導(dǎo)出等功能。資源管理主要功能是對(duì)數(shù)據(jù)查詢子系統(tǒng)的查詢權(quán)限進(jìn)行配置與維護(hù),同時(shí)也涉及后臺(tái)管理子系統(tǒng)本身的接口權(quán)限配置與維護(hù)。字典管理通過(guò)提供標(biāo)準(zhǔn)化的字典項(xiàng),達(dá)到統(tǒng)一數(shù)據(jù)格式、規(guī)范數(shù)據(jù)輸入、提高數(shù)據(jù)質(zhì)量的目的。病歷指標(biāo)為配置數(shù)據(jù)查詢系統(tǒng)使用的查詢參數(shù),默認(rèn)建立通用模板,也可對(duì)來(lái)源,如圖3中的數(shù)據(jù)歸類、數(shù)據(jù)類型,進(jìn)行二次重新定義,為查詢系統(tǒng)提供形式多樣的數(shù)據(jù)查詢條件。角色管理采用基于角色的訪問(wèn)控制(RBAC)模型,將平臺(tái)用戶分為醫(yī)生、科研人員、管理人員等不同角色,并可為每個(gè)角色分配數(shù)據(jù)來(lái)源、指標(biāo)項(xiàng)、時(shí)間范圍等數(shù)據(jù)權(quán)限,實(shí)現(xiàn)對(duì)醫(yī)療數(shù)據(jù)的安全訪問(wèn),防止非法訪問(wèn)和數(shù)據(jù)濫用。用戶管理模塊針對(duì)平臺(tái)的使用者,實(shí)現(xiàn)用戶基本信息的維護(hù)、賬號(hào)時(shí)效設(shè)置、角色分配等功能。
五、結(jié)語(yǔ)
本文構(gòu)建的醫(yī)療科研大數(shù)據(jù)平臺(tái)基于Hadoop技術(shù),實(shí)現(xiàn)了對(duì)海量醫(yī)療數(shù)據(jù)的有效整合與管理,解決了科研數(shù)據(jù)獲取困難、跨醫(yī)療機(jī)構(gòu)查看患者歷史診療記錄不便的問(wèn)題,實(shí)現(xiàn)對(duì)醫(yī)療數(shù)據(jù)的高效檢索。但平臺(tái)在實(shí)際應(yīng)用中,由于醫(yī)療數(shù)據(jù)來(lái)源廣泛且復(fù)雜,不同醫(yī)療機(jī)構(gòu)的數(shù)據(jù)格式和標(biāo)準(zhǔn)差異較大,實(shí)現(xiàn)完全的數(shù)據(jù)標(biāo)準(zhǔn)化仍面臨諸多挑戰(zhàn)。后續(xù)在保障數(shù)據(jù)安全的前提下,需深入挖掘醫(yī)療數(shù)據(jù)的潛在價(jià)值,結(jié)合先進(jìn)的數(shù)據(jù)分析技術(shù),開(kāi)展大規(guī)模的醫(yī)療數(shù)據(jù)研究,推動(dòng)醫(yī)療科學(xué)研究的發(fā)展和創(chuàng)新。
參考文獻(xiàn)
[1]沈惠文,馬得原,張策.醫(yī)療大數(shù)據(jù)與科研實(shí)踐[J].中國(guó)醫(yī)學(xué)教育技術(shù),2023,37(03):351-355.
[2]郭子菁,羅玉川,蔡志平,等.醫(yī)療健康大數(shù)據(jù)隱私保護(hù)綜述[J].計(jì)算機(jī)科學(xué)與探索,2021,15(03):389-402.
[3]阮彤,邱加輝,張知行,等.醫(yī)療數(shù)據(jù)治理——構(gòu)建高質(zhì)量醫(yī)療大數(shù)據(jù)智能分析數(shù)據(jù)基礎(chǔ)[J].大數(shù)據(jù),2019,5(01):12-24.
[4]李紅麗.Hadoop與Map Reduce應(yīng)用下的大數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2021(09):48-50.
[5]張靚,楊志清,王海星,等.基于Hadoop的醫(yī)療科研大數(shù)據(jù)平臺(tái)的構(gòu)建與應(yīng)用[J].中國(guó)數(shù)字醫(yī)學(xué),2020,15(10):82-84.
[6]孫凱旋,翟凌宇.基于云計(jì)算的健康醫(yī)療大數(shù)據(jù)平臺(tái)[J].軟件,2020,41(02):175-178.
[7]趙前前.基于大數(shù)據(jù)科研平臺(tái)的專病數(shù)據(jù)庫(kù)建設(shè)及應(yīng)用[J].中國(guó)數(shù)字醫(yī)學(xué),2020,15(12):89-92.
基金項(xiàng)目:福建省中青年教師教育科研項(xiàng)目(科技類)一般項(xiàng)目“基于Hadoop的醫(yī)療科研大數(shù)據(jù)平臺(tái)的構(gòu)建與應(yīng)用”(項(xiàng)目編號(hào):JAT220501)
作者單位:福州工商學(xué)院
責(zé)任編輯:王穎振 鄭凱津