宓林暉, 潘常青, 袁駿毅, 李榕, 沈蘭, 湯欽華
(上海市胸科醫院(上海交通大學附屬胸科醫院), 上海 200030)
隨著我國人口老齡化程度的不斷加深,心衰患病率也逐漸增長。據最新流行病學調查結果顯示,在2005年至2020年的15年間我國心衰患病率增加了44%,心衰患者增加了約900多萬人[1]。為提升心衰患者的預后和生存質量,我國開展了大量關于心力衰竭的臨床科研工作,但在科研數據采集方面仍存在一定困難。許多數據由科研人員人工填報而并非客觀獲取,不僅增加醫療機構的勞動負荷,而且數據質量也有待提升[2],因此,如何通過信息技術手段為臨床科研提供數據支撐顯得至關重要。本研究以上海市胸科醫院為背景,通過構建標準化、高質量的心衰專病數據庫,為科研人員提供豐富的臨床及科研數據資產,并能滿足臨床多樣化的科研數據采集需求。
心衰專病數據庫以行業的標準規范為指導,利用多源異構數據采集、分布式存儲、數據抽取、轉換、治理等信息技術手段,統一集成心衰患者的臨床數據樣本,建立結構化、標準化的專病數據庫,實現專科數據的互聯互通,系統總體架構見圖1。

圖1 系統架構設計
為了實現不同系統間異構數據源的采集、存儲、加工,且保證臨床業務系統自身的穩定和獨立,本系統采用分布式SOA(Service Oriented Architecture,SOA)架構,從上到下分共為5個部分,分別是業務數據層、采集匯聚層、數據資源與治理層、應用支撐層和應用服務層。業務數據層中包括醫院信息系統(Hospital Information System,HIS)、電子病歷系統(Electronic Medical Record,EMR)等臨床業務系統,以及生物樣本庫、基因組學庫。采集匯聚層采用企業服務中心(Enterprise Service Bus,ESB)方式與各業務系統對接,既兼容了多源異構數據的采集,又保障了各系統自身的穩定性、安全性[4]。數據資源與治理層則對采集到的數據進行二次加工,利用患者主索引、自然語言處理(Natural Language Processing,NLP)結構化、數據質控等措施,生成高質量、標準化的心衰專病數據中心。應用支撐層提供統一認證、數據展現、數據分析、數據檢索等服務,以API的方式供前端調用,支持JSON、XML等多種格式。應用服務層則根據不同的業務需要,為臨床應用、科研分析、質量管控等業務場景提供了多樣化的技術與數據支撐。
心衰專病數據庫目前已存儲數據總量約為1.46TB,后續每年增長量約在0.27TB,為滿足大量臨床數據實時查詢處理的需求,采用大規模并行處理的MPP(Massive Parallel Processing,MPP)分布式并行數據庫,其支持行存儲與列存儲,提供PB級別數據量的處理能力[3],數據庫架構如圖2所示。
它有別于傳統數據庫中二維表的存儲結構,將數據按照用戶需求劃分為多個片段,存儲于不同的數據節點中,節點之間通過網絡通道實現通訊交互。當業務應用發起請求后,首先到達協調節點,該節點根據查詢類型、數據分布方式、數據規模等進行自動評估,生成分布式執行計劃,并下發到各個數據節點執行。在生成計劃時,分布式并行執行引擎會依據數據分布情況,合理利用集群資源,產生最佳的查詢路徑,從而避免無意義的數據處理[4]。單個數據節點收到計算任務后,利用現代計算機的多核計算理論,采用流水線方式對數據庫常用算子進行并行處理,如掃描、關聯、排序、聚合等,從而實現了高度并行的計算能力[5]。同時,通過全局事務管理器生成全局事務ID,實現全局時間戳分配,從物理上保證了事務ID的有序性。

圖2 分布式并行數據庫架構
傳統科研數據的采集主要以研究目的為主導,因此大多采用自定義形式構建模型抽取數據,導致數據標準的不統一,在后續開展多中心研究時容易產生共享障礙。為解決這一問題,本研究參考了國內外行業標準和規范,通過建立標準化、動態化的心衰數據模型,使臨床數據在存儲、發布、交換過程中遵循統一標準,保證數據的可比性和一致性[6]。心衰數據模型由通用數據集和疾病特征數據集組成,通用數據集是指普遍適用于各類心血管疾病的數據項,疾病特征數據集則用于描述心衰專病所獨有的數據項。這種構建方式不僅便于對其他心血管病種的橫向拓展,同時也支持對心衰專病數據維度的縱向延伸。心衰數據模型構建技術路線如圖3所示。

圖3 數據模型建設技術路線
在制定通用數據集時,選取了觀察性健康醫療數據科學與信息學組織(Observational Health Data Sciences and Informatics,OHDSI)發布的通用數據模型(Common Data Model,CDM),并在此基礎上參考國內相關行業規范,如中國衛生信息數據元值域代碼WS364.X-2011、電子病歷基本數據集WS445.X-2014,對數據元、值域等,并進行本地化定義。構建疾病特征數據集時,以相關疾病診療指南為指導,對醫院現有疾病隊列數據進行分析歸納,梳理出心衰專病的特征指標,如特征性心電圖結果、心臟生物學標記物等。最終,將通用數據集與疾病特征數據集兩者相結合,匯總構建成心衰專病數據模型。
在臨床數據中,高質量的結構化數據較為有限,大多用于記錄患者的基本情況、診斷、醫囑等重要信息,其余則多是以文本為主的非結構化數據,如主訴、現病史、檢查報告等[7]。針對這一數據特點,建立了一套以自然語言分析為基礎的數據處理系統,用于將大段自然語言轉化為標準字段和閾值。以心臟超聲報告為例,處理流程如圖4所示。

圖4 心超報告NLP處理流程
首先,基于NLP(Nature Language Processing)技術對心超報告中的非結構化數據進行處理,通過分詞、句法分析、詞性標注、命名實體識別等環節,對大段文本進行預處理,得到較為干凈的文本內容[8]。如超聲描述中“左房內徑仍增大,約46 mm”,經預處理后,轉化為“左房內徑增大,左房內徑約46 mm”。其次,基于NLP技術耦合集成機器學習算法,將預處理后的文本拆解為項目名稱、值、單位、修飾等字段,解決傳統NLP技術在醫療領域使用效果不佳、拓展性不足的問題[9]。在此基礎上,利用術語映射引擎對已結構化的數據進行標準化轉換,如診斷編碼與ICD-10映射,臨床所見、醫療操作、微生物等與SNOMED-CT映射等,為后續數據的利用和共享打下基礎。最后,將標準化、歸一化的心超報告數據導入專病數據模型的疾病特征數據集中,實現心衰患者的數據展示,滿足科研數據分析需求。
目前,本研究已完成心衰專病數據庫建設,共納入2015年至2020年間4388名患者的數據,包含5192人次的就診記錄、799 423條用藥信息、93 180份檢驗檢查報告、74 971份病歷文書等。并且形成了標準化的心衰專病數據模型,該模型分為通用數據集和疾病特征數據集2個部分,其中通用數據集包括基本信息、就診資料、危險因素、診療費用等共14個模塊498個數據項,疾病特征數據集則納入了心臟超聲、CRT治療2個模塊共95個數據項,如表1所示。

表1 心衰專病數據模型
在專病數據庫中,醫生可選擇不同的研究變量,自由組合進行檢索,檢索范圍包括各類病歷文書、醫囑、檢驗檢查報告、隨訪記錄等內容。此外,為進一步提高可及性,該數據庫還支持直接利用自然語言作為篩選條件,通過NLP技術自動解析臨床研究者的篩選條件,融合不同來源的知識進行概念的語義擴展,并使用關聯規則、貝葉斯推理等技術對臨床數據進行挖掘,盡可能篩選出跟醫生所述條件相符或接近的患者。
在傳統的臨床科研過程中,患者病例數據的采集通常要花費醫生大量的時間和精力,而且人工手動的方式效率低下,容易造成記錄錯誤[10]。本研究結合大數據及自然語言處理技術,以患者為中心對多源異構臨床數據進行整合,形成完整的、標準化的、高結構化的心衰專病數據庫,為臨床科研提供豐富的基礎數據支持。該數據庫的建立不僅提高了臨床科研人員的工作效率,而且有效避免了人工采集所帶來的失誤,進一步保障了科研數據質量。未來,隨著科研要求的不斷提升,將對心衰專病數據模型進行持續優化和擴展。在數據利用方面,后續將以數據庫中的海量數據為基礎,結合深度學習、知識圖譜等人工智能技術,開展心衰治療和預后風險預測模型的研究,以實現心衰預防、診斷和治療的智能化,從而全面提升臨床的救治能力和技術水平。