王梓陽,楊 林,王嘉陽,李 姣
表型(phenotype)起初主要用于描述基因的表達層面,是與基因型相對應的概念。Merriam-Webster詞典將表型定義為由基因型和環(huán)境相互作用產(chǎn)生的生物體的可觀察特性[1]。隨著大規(guī)模電子病歷(electronic medical record,EMR)數(shù)據(jù)庫的出現(xiàn),“表型”一詞逐漸用于表示患者群體共有的特征,如一個群體或一組個體所患的疾病或狀況[2]。從電子病歷中可提取的表型非常廣泛,如從實驗室數(shù)據(jù)和腫瘤大小等簡單表型到巴塞羅那臨床肝癌分期等復雜表型[3]。表型分析(phenotyping)主要是指定義表型并進行驗證以確保其準確性和普遍性的過程[2]。表型算法(phenotype algorithm)是指從患者的電子病歷中提取特征并將它們組合成一個分類規(guī)則,以推斷患者是否具有目標表型[4]。這些特征往往涉及如年齡和性別等患者的人口統(tǒng)計信息,診斷、藥物、實驗室等編碼信息,以及能夠通過自然語言處理(natural language processing,NLP)從臨床自由文本中提取的信息。
隨著電子病歷數(shù)據(jù)量的日益增長,越來越多的學者提出可以利用電子病歷中的數(shù)據(jù)進行知識發(fā)現(xiàn)[5],從日常診療數(shù)據(jù)中提取患者群體共有特征(即表型分析)能幫助研究人員從電子病歷中識別研究目標人群,從而支持進一步的研究分析。電子病歷記錄了患者在醫(yī)院內(nèi)的各種診療操作和檢驗檢查信息,屬于個人電子健康檔案的一部分。電子健康檔案(electronic health record,EHR)是一個很廣泛的概念,包括了電子病歷、體檢信息、公共衛(wèi)生信息等貫穿個人全生命周期的所有健康信息。
為了進一步了解表型分析現(xiàn)狀,本文于2021年11 月3 日在中國知網(wǎng)(CNKI)、萬方數(shù)據(jù)知識服務平臺兩大中文數(shù)據(jù)庫上以“SU%=(表型)*(電子病歷)”為檢索式進行主題檢索,僅得到幾篇相關的碩士畢業(yè)論文和1 篇2017 年針對糖尿病的表型識別綜述。為了增加檢全率,繼續(xù)以“SU%=(表型+表型分析+表型算法)*(電子病歷 +電子健康檔案)”為檢索式再次進行主題檢索,結果并沒有得到改善。若單獨以“表型”一詞進行檢索,發(fā)現(xiàn)更多的研究主要關注基因與表型之間的相互關系,很少有研究關注基于電子病歷的表型分析。同一時間,在PubMed 數(shù)據(jù)庫中以“((phenotype[Title/Abstract])OR(phenotyping[Title/Abstract]))AND((EHR[Title/Abstract])OR(electronic medical record[Title/Abstract]))”為檢索式進行檢索,限定出版日期為2010-2121 年,得到321 篇相關文獻。因此本文以英文數(shù)據(jù)庫中的文獻為主要的綜述對象,通過閱讀摘要納入以表型分析、表型算法開發(fā)和評價、電子病歷的表型識別和應用為主題的文獻,同時排除并非以電子病歷為主要數(shù)據(jù)來源進行表型分析的文獻,如基因-表型關聯(lián)研究、以電子健康檔案及其他數(shù)據(jù)源為原料進行表型分析的研究等。結合參考文獻回溯法,共選取53 篇代表文獻作為本文的數(shù)據(jù)基礎進行綜述。
基于電子病歷的表型分析是指通過電子病歷中存儲的信息識別相應的疾病表型,通常是一個定義表型并驗證其準確性和普遍性的過程。但目前尚無完整的基于電子病歷的表型分析流程,本文對現(xiàn)有的代表性研究和具有較大影響力的項目的工作流程進行總結,提煉出表型分析的一般流程。
電子病歷和基因組學(electronic medical records and genomics,eMERGE)[6-10]是由美國國家人類基因組研究所(National Human Genome Research Institute,NHGRI)資助的項目,旨在開發(fā)利用電子病歷作為基因組研究工具的方法和探索最佳實踐,其工作流程是根據(jù)研究的病例選擇合適的變量和定義,然后審查變量范圍,再對變量的組合和范圍進行驗證和共享。eMERGE 有多個中心,每個中心側重研究的表型不同。表型知識庫(Phenotype Knowledgebase,PheKB)[11-12]是eMERGE 中的一個中心,是美國范德堡大學為了表型算法的創(chuàng)建、驗證和傳播而建立的一個表型算法的工作流管理系統(tǒng)和學習中心。在PheKB 上可以查看現(xiàn)有算法、創(chuàng)建新的算法、與他人合作創(chuàng)建或審查算法。PheKB 促進了算法在不同機構、醫(yī)療保健系統(tǒng)和臨床數(shù)據(jù)存儲庫之間的可移植性,并提高了多種研究應用程序的可移植性。有學者將表型算法的驗證總結為2 步,首先在本地驗證表型算法的準確性,然后經(jīng)過多中心驗證再上傳到表型共享機構進行共享[6]。
基于電子病歷的表型分析雖然在針對不同表型的具體實現(xiàn)上會有所不同,但基本工作流程都包括表型定義及表型算法開發(fā)、驗證和共享4 個關鍵環(huán)節(jié)(圖1)。
圖1 基于電子病歷的表型分析流程
患者在醫(yī)院內(nèi)的醫(yī)囑處方、各項檢驗檢查、診療結果等均以電子病歷的形式存儲。目前表型分析常以電子病歷為主,根據(jù)臨床指南確定要識別表型的定義,先從電子健康檔案中的結構化數(shù)據(jù)選定合適的醫(yī)學指標,然后根據(jù)指標建立表型算法,開發(fā)完成的表型算法需要與公認的標準進行比較以評價其表現(xiàn),不斷地更新和調整算法取值范圍,直到取得一個識別效果最優(yōu)的規(guī)則和代碼組合。最后將表型算法在PheKB 中進行單中心、多中心驗證,用以評估表型算法的效果。經(jīng)過驗證之后,表型算法將會以偽代碼和文檔的形式在eMERGE、PheKB等項目中進行共享。研究者可以將共享的表型算法部署在本地的電子病歷系統(tǒng)中,生成表型數(shù)據(jù)庫以便進一步的分析。
開展表型分析首先需要確定要研究的表型,然后選擇合適的臨床指標描述表型,本文將這一過程稱為“表型定義”。
在PheKB 的官網(wǎng)上可以訪問到目前不同表型的研究進展。PheKB 將目前公開的82 種表型分成疾病和綜合征(disease or syndrome)、藥物反應-不良反應和療效(drug response-adverse effect or efficacy)、其他性狀(other trait)三大類[13]。其中疾病和綜合征最多,共52 種,藥物反應-不良反應和療效有14 種,其他性狀僅為9 種[13]。大量的疾病和綜合征表型研究集中在糖尿病[14-16]、癌癥[17-18]、類風濕性關節(jié)炎[19]和卒中[20-22]等疾病上。這些疾病表型都有大量的患者群體,而且電子病歷數(shù)據(jù)較為全面,具有較高的研究價值。針對藥物反應-不良反應和療效的表型包括難治性高血壓、藥物性肝損傷、類固醇誘導的股骨頭壞死等。關于其他性狀(如身高、高密度脂蛋白、紅細胞指數(shù)等)的表型分析還比較少見。
關于疾病表型臨床指標和范圍的選擇,一般來源于相應的臨床指南。隨著信息技術的發(fā)展,可供選擇的特征越來越多,有實驗室指標、藥物信息等電子病歷中的結構化數(shù)據(jù),也有被記錄在臨床自由文本中的影像報告、臨床記錄等信息。為了進一步提高表型的通用性,研究者普遍采用通用的標準化代碼進行概念表示。有的學者還采用公開的醫(yī)學資源進行表型的學習和提取[3]。具體的特征來源如圖2 所示。
圖2 表型定義的臨床特征數(shù)據(jù)來源
結構化電子病歷數(shù)據(jù)是指以關系表的形式存儲的健康診療信息數(shù)據(jù),能夠直接通過結構化查詢語言(structured query language,SQL)進行查詢。這類數(shù)據(jù)通常有相應的標準編碼方案,主要包括國際疾病分類(International Classification of Diseases,ICD)、用于檢驗檢查的觀測指標標識符邏輯命名與編碼系統(tǒng)(Logical Observation Identifiers Names and Codes,LOINC)、用于藥物的RxNorm、用于跨領域交流的當前程序術語(Current Procedural Terminology,CPT)和用于規(guī)范臨床術語的醫(yī)學系統(tǒng)命名法-臨床術語(Systematized Nomenclature of Medicine-Clinical Terms,SNOMED-CT)。
判斷個體是否有某個確定的疾病表型,最初采用的數(shù)據(jù)便是判斷電子病歷中是否含有該疾病的ICD-9 代碼[3,12],但臨床記錄中的ICD 代碼主要用于計費而不是研究目的[23],而且ICD 編碼并不是由臨床醫(yī)生指定,僅使用ICD 代碼進行表型定義通常無法準確找到滿足研究條件的人群。為了解決ICD 代碼不夠準確的問題,有學者引入了藥物和多種ICD 編碼組合的方式,提高了表型算法的分類效果和一致性[24]。隨后越來越多的研究發(fā)現(xiàn),在ICD 的基礎上,加入實驗室檢查、藥物、賬單等信息能夠顯著提高表型算法的性能[25]。如在PheKB上共享的算法中,采用ICD-9 代碼和用藥信息定義癡呆癥,采用ICD-9 代碼、訂單中的藥物和實驗室檢查定義2 型糖尿病,采用實驗室檢查、ICD-9、CPT-4 代碼和藥物信息定義紅細胞指數(shù)[13]。
非結構化電子病歷數(shù)據(jù)是指存儲在電子病歷中的自由文本,主要包括臨床診療活動中的各種文檔、影像報告、診斷報告、患者主訴等內(nèi)容。有研究結果顯示,非結構化數(shù)據(jù)占目前可用的醫(yī)療保健數(shù)據(jù)的80%以上[26]。為了利用電子病歷中的非結構化數(shù)據(jù),自然語言處理技術被引入到電子病歷的數(shù)據(jù)挖掘中,將難以處理的非結構化臨床文檔轉換成結構化的數(shù)據(jù)[27],使診斷文檔、臨床記錄和影像報告等自由文本能夠作為特征納入到表型定義中。2010 年梅奧診所(Mayo Clinic)和阿帕奇軟件基金會(Apache Software Fundation)發(fā)布了臨床文本分析知識提取系統(tǒng)(Clinical Text Analysis Knowledge Extraction System,cTAKES)[28]。這是一個專門從臨床文本中提取相關概念的自然語言處理系統(tǒng)。向cTAKES 輸入自由文本,能夠得到文本中相關的醫(yī)學概念的實體名稱及其統(tǒng)一醫(yī)學語言系統(tǒng)(Unified Medical Language System,UMLS)編碼。表型識別中常用的自然語言處理工具還有醫(yī)學抽取和編碼(Medical Extraction and Encoding,MedLEE)。
有學者在ICD-9、藥物應用、生命體征、計費代碼等結構化數(shù)據(jù)的基礎上,采用自然語言處理技術從入院記錄、體格檢查、主訴等自由文本中提取診斷信息,結果發(fā)現(xiàn)即使是不同數(shù)據(jù)的簡單組合也可以提高表型分析算法的性能[25]。有學者也通過引入自然語言處理系統(tǒng)識別臨床文本特征構建白內(nèi)障表型算法,與單模式方法相比,多模式方法的病例識別效果提高了3 倍[29]。在PheKB 上共享的表型算法中,獲取表型算法采用臨床診斷記錄中的收縮壓和舒張壓,配合ICD-9、實驗室檢查數(shù)據(jù)、用藥信息識別難治性高血壓[13]。一些eMERGE 中的站點采用自然語言處理技術從自由文本中提取用藥信息以提高對癡呆的識別效果[6]。有學者對影像報告在表型識別中的應用進行了總結,如采用X 光診斷報告識別乳腺癌,采用CT 肺血管造影報告對肺栓塞疾病結局進行分類等[27]。
雖然自然語言處理技術能夠在表型定義過程中納入非結構化的電子病歷數(shù)據(jù),從而獲取大量新的特征,但有研究結果顯示,不能僅通過句法特征判斷患者診斷的語義極性,平均而言,語義陽性的患者為陽性患者的78.1%[30],因此在應用臨床自由文本的過程中一定要慎重。
有效地結合診斷代碼以外的信息(如癥狀、藥物和實驗室檢查)已被證明可以改善表型分析效果[24]。有研究者嘗試從電子病歷之外的信息中獲取表型知識,再重新用于電子病歷中患者的識別。其中,有兩個研究團隊均以自然語言處理技術為核心,以統(tǒng)一醫(yī)學語言系統(tǒng)為標準,對公開的醫(yī)學數(shù)據(jù)資源進行概念提取和映射,以提高表型算法的效果,為表型算法的建設提出了一種新的途徑[3,31-35]。
2015 年清華大學的研究團隊采用自然語言處理技術,將引入的公開的醫(yī)學數(shù)據(jù)庫如Medscape、維基百科(Wikipedia)、默克手冊(Merck Manuals)和MedlinePlus 醫(yī)學百科全書等作為基礎,應用自然語言處理和UMLS 抽取其中的概念,建立了一種新型的高通量自動化的表型算法構建方法。該團隊首先開發(fā)了表型自動特征提?。╝utomated feature extraction for phenotyping,AFEP)方法,應用自然語言處理技術從公開、可用的資源中自動識別相關表型的特征,以此選擇最佳的特征實現(xiàn)自動化表型算法的構建,并在小樣本中達到了和基于規(guī)則相同的效果。2016 年該團隊又在表型自動特征提取框架的基礎上添加了對概念來源的加權投票模塊,以提高特征篩選效果,開發(fā)了代理輔助特征提取(surrogate-assisted feature extraction,SAFE)方法,提高了從公開的醫(yī)學數(shù)據(jù)庫中提取知識的效果,提高了自動化性能。隨后在表型自動特征提取和代理輔助特征提取的基礎上添加了語義識別,實現(xiàn)了表型分析的完全自動化,而且不會受到電子病歷數(shù)據(jù)不完整性、歧義性等問題對表型算法效果的負面影響[3,31-33]。
此外,有國外團隊也利用公開、可用的資源提取了表型之間的量化關系,建立了PheMap 表型概念知識庫。然后在待測試的電子病歷中搜索PheMap 知識庫中定義的表型相關概念,包括實驗室檢查、用藥信息等,根據(jù)這些相關概念計算某患者具有特定表型的概率[34-35]。
表型算法的開發(fā)需要在表型定義的基礎上進行開發(fā)和調整。表型算法定義了與表型有關的臨床指標和數(shù)值范圍的組合方式,并且以人可以理解的描述性文本文檔保存[36]。目前表型算法的開發(fā)方式主要有3 種。一是基于規(guī)則的表型算法開發(fā),這些規(guī)則通常由診斷代碼、藥物處方、實驗室檢查結果等指標的邏輯組合構成;二是基于機器學習的表型算法開發(fā),需要通過機器學習的方式選擇和優(yōu)化最準確的表型特征的數(shù)值組合[33];三是基于深度學習的表型算法開發(fā),采用深度學習模型獲得最佳的臨床指標和數(shù)值范圍的組合。相較于機器學習,深度學習能夠利用更多的特征和更復雜的算法模型進行學習。不同算法的開發(fā)方式有各自的特點,研究者往往會綜合利用各種方法以達到最好的識別效果。
基于規(guī)則的表型分析是指整個算法以臨床指南為依據(jù),采用布爾邏輯的復雜嵌套定義表型[5]。首先臨床專家可以閱讀一組受試者的電子病歷記錄并創(chuàng)建一個標注好的數(shù)據(jù)集,然后由知識工程師生成一個啟發(fā)式規(guī)則,將記錄數(shù)據(jù)映射到研究中每個表型定義中確定的變量,如ICD 代碼、用藥信息等,用來推斷疾病的存在。在標注好的集合的子集上對生成的規(guī)則進行測試并反復修改,直到靈敏度和特異性達到某個閾值。有學者根據(jù)美國疾病控制預防中心的定義制定了基于規(guī)則的表型分析算法,用于識別社區(qū)相關的耐甲氧西林金黃色葡萄球菌病例[37]。有學者采用韋恩圖的方式進行表型算法開發(fā)和驗證,將所有的指標劃分成一個個小集合,通過組合各種集合的樣本數(shù)量靈活驗證不同代碼之間組合的評估效果,提高基于規(guī)則的特定臨床表型的迭代和移植效率[38]。
基于規(guī)則的系統(tǒng)易于解釋、實現(xiàn)速度快,并可以在有限的數(shù)據(jù)集上產(chǎn)生良好的效果[15],具有較高的準確性和泛化性?;谝?guī)則開發(fā)的表型分析算法更多依賴于目前的臨床指南,比較容易理解和解釋,但其缺點也比較明顯,需要耗費人力反復對規(guī)則進行調整,以獲得最佳的效果。受限于時間和效率,在大型數(shù)據(jù)庫中采用基于規(guī)則的方法很不現(xiàn)實。此外,基于規(guī)則的表型算法雖然文檔的表面形式存在顯著差異,但所使用的底層邏輯更加同質,嚴重依賴嵌套布爾邏輯、復雜的時間性和無處不在的ICD-9 代碼[39]。
基于機器學習的表型算法開發(fā)方式是指通過機器學習表型定義中的臨床指標的最佳范圍和組合,在臨床專家標注的訓練集上進行訓練,尋找最佳的特征組合和范圍劃分[33],包括有監(jiān)督的學習和無監(jiān)督的學習,目前大部分為有監(jiān)督的學習,關于無監(jiān)督的學習應用仍比較少。
3.2.1 基于有監(jiān)督機器學習的表型算法開發(fā)
基于有監(jiān)督的機器學習開發(fā)表型算法是指在臨床專家標注的訓練集中,采用有監(jiān)督的機器學習算法尋找最佳的指標組合。如有學者采用隨機森林的方法來識別高血壓[25],有學者采用7種有監(jiān)督的機器學習算法自動選擇合適的劃分區(qū)間[16],有學者應用6 種機器學習模型和堆疊泛化的方法進行表型算法開發(fā)[40],與基于規(guī)則的算法相比,該方法有著更好的ROC 曲線下面積(AUC),但基于規(guī)則的算法有著較高的特異度[40]。有學者提出了一種結合規(guī)則和機器學習的表型分析算法識別2 型糖尿病,能夠結合二者的優(yōu)點[41]。
采用有監(jiān)督的機器學習方式進行表型算法開發(fā),能夠快速地進行特征篩選,在一定程度上提高分類效果,與基于規(guī)則的算法相比也有較好的可移植性。
為了獲取更加準確的識別率,不可避免地要增加指標或提高表型分析算法的復雜度,但隨著臨床指標和特征數(shù)量的增多,在人工標注訓練集有限的情況下會不可避免地造成過擬合,從而降低整個算法的召回率(recall),導致泛化性能變差。有學者采用ICD 的互補特征作為輸入的方法(沒有直接輸入疾病的ICD 代碼),雖然該方法能夠降低算法的過擬合[21],但有監(jiān)督學習依然嚴重依賴于金標準審核和將人工標注的病例集合作為訓練集,而獲取大的訓練集需要消耗大量的人力和時間。
3.2.2 基于無監(jiān)督機器學習的表型算法開發(fā)
基于無監(jiān)督機器學習開發(fā)表型算法是指在沒有進行人工標注的數(shù)據(jù)集上進行訓練,采用無監(jiān)督機器學習算法尋找最優(yōu)的臨床指標組合方式,以實現(xiàn)較好的疾病表型識別效果。如有學者在耐噪學習理論的基礎上開發(fā)了一種從記錄中通過銀標準抽取表型的模型,提供了一種替代手動標記的方法,用于為表型統(tǒng)計模型創(chuàng)建訓練集[42]。這種方法可以加速大型觀察性醫(yī)療保健數(shù)據(jù)集的研究。有學者開發(fā)了無監(jiān)督學習框架PheNorm,能夠在不使用金標準標簽的情況下進行表型算法開發(fā),與通過銀標準抽取表型的模型取得的效果相近[4]。有學者在PheNorm 框架的基礎上開發(fā)了一種多疾病自動表型分析的方法,能夠將電子病歷的數(shù)據(jù)用于多表型的分析中,如全表型組關聯(lián)分析(PheWAS)[43]。
無監(jiān)督方法純粹從數(shù)據(jù)中發(fā)現(xiàn)表型,試圖聚合通常一起出現(xiàn)在患者記錄中的醫(yī)學概念,雖然更具可擴展性,但這些方法難以調整,通常依賴于預先定義表型的數(shù)量,需要對疾病定義進行手動審查,并且可能無法捕獲與不太常見的疾病相關的共現(xiàn)[44]。
深度學習作為一種高效的生物醫(yī)學文獻分類方法,也逐漸被應用在表型分析過程中[45]。如有學者通過利用嵌入醫(yī)學概念推導表型并測量疾病和患者表征之間的關聯(lián),獲取接近的疾病表型,開發(fā)了一種Phe2vec 算法框架,經(jīng)過驗證取得了與PheKB 項目中共享算法相似的效果[44]。清華大學的團隊在表型自動特征提取和代理輔助特征提取的基礎上結合電子病歷開發(fā)了技術框架PheCAP,可以實現(xiàn)自動化的快速的表型識別[3,31-33]。另一方面,深度學習還可以應用于自然語言處理技術中,以提高臨床概念詞語識別的準確率。
研究者除了增加表型定義的數(shù)據(jù)源、改進表型算法開發(fā)方案之外,還嘗試引入數(shù)據(jù)處理等領域的方法,為表型分析研究提供了新的解決思路,包括采用統(tǒng)計學的方法對表型算法進行優(yōu)化、改進表型算法過程等。有學者提出了一種基于概率圖模型的、從異質性的電子病歷數(shù)據(jù)中學習概率表型的方法,該方法返回每種可能表型的概率,而非絕對的表型分類[46]。有學者對前述研究進行了改進和擴展,利用2 型糖尿病高危兒童的數(shù)據(jù)庫進行模擬研究,發(fā)現(xiàn)電子病歷中的數(shù)據(jù)缺失屬于一種非隨機缺失,采用基于規(guī)則的表型分析,缺失的指標往往被認為是正常的指標[47],但這種假設會將潛在的患者排除在外,容易造成大量可用數(shù)據(jù)丟失,同時還可能導致選擇偏倚,從而降低結果的準確度,因此該學者提出了一種貝葉斯隱分類方法(Bayesian latent class),并且利用2 型糖尿病高危兒童的數(shù)據(jù)庫設計了模擬實驗,在取得與基于規(guī)則的表型分析相似的準確度的前提下大幅度提高了敏感性[47]。有學者從基于拓撲的“患者-患者”網(wǎng)絡中識別出了3個不同的2 型糖尿病亞組,并在此基礎上進行了基因的關聯(lián)分析,為表型分析算法開發(fā)提供了一種新的思路[14]。
表型算法驗證是評價算法在其他數(shù)據(jù)集中識別表型的準確性的過程。表型算法驗證主要分為單中心驗證和多中心驗證2 步。開發(fā)完成的表型算法需要先在本地進行驗證,不斷調整表型算法,直到陽性預測值達到滿意的程度。通過本地驗證之后需要將表型算法在其他中心進行驗證和調整。目前常用的驗證方式主要還是以專業(yè)的臨床醫(yī)生通過指南進行的標注作為評判的金標準。也有部分研究是基于已經(jīng)完成的流行病學研究構建識別病例的表型算法,以病例組和對照組為標準進行驗證和調整。
因為表型分析本質是分類問題,所以評價一般都是采用分類相關的指標,如陽性預測值(positive predictive value,PPV)、準確度(accuracy)、敏感度(sensitivity,recall)、特異度(specificity)、F1 分數(shù)、ROC 和曲線下面積(AUC)。表型算法驗證最關注的還是陽性預測值,又稱為查準率(precision)、精確度(precision),是指陽性預測值中真患者的比例。一般要求算法具有較高的陽性預測值,即讓表型算法篩選出來的病例盡可能都是真患者,這樣才能使后續(xù)的研究有實際的意義。
針對不同的表型,驗證的目的也不同[48],如癡呆、白內(nèi)障、2 型糖尿病等疾病類表型的驗證重點是厘清疾病診斷判斷的標準;如心電圖QRS 波、低密度脂蛋白、白細胞計數(shù)、紅細胞計數(shù),以及身高和血脂等非疾病類表型的驗證旨在判斷數(shù)據(jù)是否在合理區(qū)間內(nèi)。有學者總結了6 點關于表型算法驗證的經(jīng)驗教訓和注意事項,建議將表型算法開發(fā)和驗證作為一個迭代過程來進行[6]。
開發(fā)具有良好擴展性和魯棒性的表型算法,需要耗費大量的人力資源,因此共享算法可以實現(xiàn)利益最大化。表型算法的共享是指將通過驗證的表型算法上傳到表型算法共享平臺或項目中供其他學者驗證和應用。表型算法在經(jīng)過本地驗證后,還需要經(jīng)過多中心驗證才能夠進行共享。目前主要的表型算法共享平臺主要是PheKB。截至2021 年12 月8 日,PheKB 的官網(wǎng)中共有82 個表型算法通過了驗證并公開共享,其中eMERGE 網(wǎng)絡項目組貢獻了68 個表型算法的開發(fā)和驗證[13]。此外,在PheKB中還有38 個表型算法處于協(xié)作狀態(tài),其中包括了7 個測試中的表型算法、8 個尚在開發(fā)中的表型算法和4 個驗證中的表型算法,剩余的19 個表型算法均為最終版本[13]。
表型分析涉及到學科交叉,目前常采用標準化的醫(yī)學編碼方案進行表型分析算法開發(fā),如ICD-9和ICD-10、用于實驗室指標的LOINC、用于藥物的RxNorm、用于跨領域交流的CPT,以及用于規(guī)范臨床術語的SNOMED-CT 等,以解決不同中心對于概念不統(tǒng)一的問題。
有學者指出,目前還沒有正式的“表型語言”用于構建電子病歷表型算法,也沒有通用的實現(xiàn)方法[7]。有學者在研究中觀察到,面對同一人群,不同的表型定義會產(chǎn)生不同的結果人群,從而使后續(xù)的研究結果和數(shù)據(jù)解釋產(chǎn)生巨大的差異[49],導致表型算法難以較好地移植,從而影響表型分析在更廣闊領域的應用。為此,有學者綜合了目前常見的表型庫,提出了建立一種新型表型庫的愿景,并指出新型表型庫應能夠提供表型建模、更新表型、部署、驗證和共享5 個生命周期內(nèi)的功能,為表型共享研究提供了新的思路[2]。
表型分析作為電子病歷數(shù)據(jù)再利用的基礎性工作,利用表型算法準確識別表型后,能夠在不同的領域應用電子病歷支持臨床研究。本文著重總結表型分析在臨床研究中直接應用的相關研究,主要歸納為疾病分層、病例自動識別、電子病歷數(shù)據(jù)挖掘3 方面。具體的文獻整理如表1 所示。
表1 表型分析在臨床研究中直接應用相關研究文獻
疾病分層是指通過表型聚類發(fā)現(xiàn)不同疾病的本質特征,并且增加對疾病的了解。這種應用在精神類疾病[50]、呼吸系統(tǒng)疾?。?]中較為常見。不同的疾病可能有著相似的疾病表現(xiàn),研究結果顯示,根據(jù)表型的不同給予針對性的治療措施能夠提高醫(yī)療的效果[1]。根據(jù)表型聚類也有助于發(fā)現(xiàn)疾病亞型,如采用深度學習算法識別表型的特征將罕見病患者分為不同亞組[51],可以更好地了解疾病的本質。
病例自動識別是指根據(jù)表型算法自動從電子病歷中識別包含定疾病表型的患者,也是表型分析的主要目的,能夠用于流行病學和臨床試驗的招募,如快速從跨醫(yī)療中心的電子病歷中識別2 型糖尿病患者[52],還能夠用于疾病管理,如直接從電子病歷中識別社區(qū)相關耐甲氧西林金黃色葡萄球菌病例進行院感控制[37]等。
電子病歷數(shù)據(jù)挖掘則是指將表型算法直接嵌入到電子病歷的應用中,如通過一些訓練的算法修正電子病歷中的身高值[53]、利用電子病歷中的數(shù)據(jù)進行疾病的預測[17]、入院后快速檢測溶栓指征[54]等。
隨著電子病歷數(shù)據(jù)的迅速增長,越來越多的工作如患者分層、合并癥發(fā)現(xiàn)、病例描述、揭示基因-疾病關聯(lián)、藥物相互作用、藥物警戒甚至精準醫(yī)療等都可以建立在表型分析的基礎上,表型分析逐漸成為真實世界數(shù)據(jù)驅動的臨床研究和電子病歷數(shù)據(jù)再利用的基礎,基于電子病歷的自動化表型分析的重要性日益凸顯。但目前仍存在以下幾方面的問題亟待解決。
首先,基于電子病歷的表型算法的有效性有待提高??梢詮? 個角度對表型算法進行優(yōu)化。一是從表型定義角度來看,提高數(shù)據(jù)的可信度、增加數(shù)據(jù)來源和類型有助于提高表型算法的效果。如有學者發(fā)現(xiàn)部分患者替家人買藥,從而在電子病歷中記錄了錯誤的用藥信息,導致數(shù)據(jù)可信度降低[30]。此外,還存在部分電子病歷數(shù)據(jù)因為標準變化、手工轉錄、系統(tǒng)升級等原因造成數(shù)據(jù)缺失、不規(guī)整等問題[6]。因此在應用電子病歷進行表型分析前,需要對數(shù)據(jù)的可信度進行檢驗。前文提到,采用多中心、多樣化數(shù)據(jù)建立的表型算法比單中心、單類型數(shù)據(jù)的算法效果好很多,但仍需考慮多樣化數(shù)據(jù)之間的沖突,以及非結構化數(shù)據(jù)的歧義、縮寫等問題。二是從表型算法開發(fā)的角度來看,優(yōu)化表型算法的開發(fā)方式與采用基于規(guī)則和監(jiān)督學習相比,采用無監(jiān)督的機器學習算法能更快速地進行表型識別,但同時也存在受限于最初確定表型的數(shù)量和低召回率的問題。
其次,研究成果的傳播與共享有待加強。一方面是表型分析研究成果的傳播有待加強。有學者試圖全面地審查盡可能多的表型分析,但受限于表型一詞的模糊性,關于表型的研究很難檢索全面[15],本文也同樣存在以偏概全的問題。另一方面是算法的傳播和共享有待加強。多種標準化編碼雖然能解決跨機構概念不同的問題,但不同的標準之間仍存在粒度粗細不同、概念相互重疊及不兼容等問題。針對目前表型分析中的各種問題,有學者綜合了目前常見的表型庫,提出建立一種新型表型庫的愿景,并指出表型庫應能夠提供表型建模、更新、部署、驗證和共享5 個功能,為表型傳播和共享研究提供了新的思路[2]。
第三,基于電子病歷的表型分析在臨床研究中應用的效果有待提升。有學者發(fā)現(xiàn),在應用電子病歷表型分析的病例對照研究中,其候選集合會被既不屬于控制組定義的、也不屬于病例組定義的樣本所干擾[55],忽略此類患者的污染將導致對結果的OR值的估計產(chǎn)生偏差。還有學者在研究中提到了此類問題,并提出了相關解決方案,但目前應用表型分析的流行病學相關研究仍然有限[56]。今后的研究應在提高表型分析效果的同時,再增加臨床醫(yī)生、公共衛(wèi)生研究人員對表型分析的信任度,從而擴大表型分析的應用。
本文以英文數(shù)據(jù)庫為綜述對象的數(shù)據(jù)來源,共選取了53 篇代表性文獻,對基于電子病歷的表型分析的流程進行了總結,并從表型定義、表型算法開發(fā)、表型算法的驗證和共享4 個方面對表型分析進行了綜述,最后總結梳理了表型分析在臨床方面的應用現(xiàn)狀,為后續(xù)相關研究提供借鑒。
綜述結果顯示,隨著電子病歷數(shù)據(jù)庫日益完善,表型分析已成為電子病歷數(shù)據(jù)再利用的基礎。表型定義的數(shù)據(jù)來源越來越多,包括結構化和非結構化電子病歷數(shù)據(jù)、開放醫(yī)學資源等。表型算法開發(fā)的方法逐漸從基于規(guī)則開發(fā)向無監(jiān)督學習開發(fā)轉變,并向著表型算法的自動構建方向發(fā)展。但目前仍有很多挑戰(zhàn)和困難,今后的研究應繼續(xù)致力于提高數(shù)據(jù)的可信度、增加數(shù)據(jù)來源和類型以提升表型算法的效果,同時還應加強表型分析相關研究的共享和傳播,擴大表型分析在臨床研究中的應用。