周 琳,王 飛,趙浩宇
(陸軍軍醫(yī)大學(xué)第一附屬醫(yī)院醫(yī)學(xué)大數(shù)據(jù)與人工智能中心,重慶 400038)
我國醫(yī)療數(shù)據(jù)資源豐富,尤其是大型三甲綜合醫(yī)院,有著幾十年的醫(yī)療數(shù)據(jù)沉淀。隨著醫(yī)院信息化的發(fā)展,醫(yī)院對數(shù)據(jù)的管理能力也有了一定的提高。但受困于數(shù)據(jù)架構(gòu)的局限,醫(yī)療數(shù)據(jù)質(zhì)量參差不齊,大量數(shù)據(jù)未被有效利用。傳統(tǒng)數(shù)據(jù)庫在數(shù)據(jù)整合、數(shù)據(jù)管理、數(shù)據(jù)治理、數(shù)據(jù)利用等方面的使用效率不高,面對臨床、科研、管理、患者自身持續(xù)增長的業(yè)務(wù)需求得不到及時(shí)滿足,難以用數(shù)據(jù)支撐臨床科室的科研創(chuàng)新研究。如何建設(shè)一套新的平臺架構(gòu),充分利用現(xiàn)有醫(yī)療數(shù)據(jù),通過對數(shù)據(jù)的抽取、整合和治理,解決當(dāng)前數(shù)據(jù)管理的問題,提高醫(yī)療領(lǐng)域的科研創(chuàng)新能力,滿足醫(yī)療模式轉(zhuǎn)型的應(yīng)用需求成為近年來醫(yī)院信息部門研究的一個(gè)重要方向[1]。
本院醫(yī)療數(shù)據(jù)具有數(shù)據(jù)規(guī)模大、數(shù)據(jù)類型繁多、數(shù)據(jù)流轉(zhuǎn)速度極快、價(jià)值密度較低四大特性。由于臨床病歷書寫的質(zhì)量參差不齊、各系統(tǒng)數(shù)據(jù)結(jié)構(gòu)類型存在差異、數(shù)據(jù)整合難度大、數(shù)據(jù)庫在數(shù)據(jù)處理(特別是復(fù)雜組合條件下的查詢)方面執(zhí)行效率太低、數(shù)據(jù)治理更是無從談起。數(shù)據(jù)使用效率一直不高。如何提升數(shù)據(jù)質(zhì)量及數(shù)據(jù)使用效率,為醫(yī)院疾病診斷相關(guān)分組(diagnosis related groups,DRG)開展和臨床科研服務(wù)成為本院當(dāng)前信息化重點(diǎn)建設(shè)的內(nèi)容之一[2]。
本院現(xiàn)有數(shù)據(jù)平臺采用的是傳統(tǒng)關(guān)系數(shù)據(jù)庫,其建立在關(guān)系模型基礎(chǔ)上,借助于集合代數(shù)等數(shù)學(xué)概念和方法處理數(shù)據(jù)庫中的數(shù)據(jù),在實(shí)時(shí)性、一致性,以及對結(jié)構(gòu)化數(shù)據(jù)處理等方面均具有自身優(yōu)勢。本院發(fā)展信息化較早,在關(guān)系數(shù)據(jù)庫建設(shè)方面具有一定經(jīng)驗(yàn)。近年來,隨著大數(shù)據(jù)技術(shù)不斷成熟,使用領(lǐng)域越來越廣,利用大數(shù)據(jù)進(jìn)行醫(yī)學(xué)方面的研究也更加深入?;贖adoop平臺下的數(shù)據(jù)庫采用shared-nothing架構(gòu),每個(gè)節(jié)點(diǎn)均有自己的操作系統(tǒng)、數(shù)據(jù)庫和硬件資源,節(jié)點(diǎn)之間通過網(wǎng)絡(luò)來通信。該平臺能整合不同類型數(shù)據(jù),并可以對數(shù)據(jù)進(jìn)行集中清洗和治理,通過HBase組件支持對實(shí)時(shí)數(shù)據(jù)的讀寫處理,通過Hive組件構(gòu)建數(shù)據(jù)倉庫,舍棄了索引、關(guān)系以及事務(wù)處理等關(guān)系型數(shù)據(jù)庫的特性,在數(shù)據(jù)查詢和處理方面效率均有了極大的提升[3]。通過比較,本院決定從創(chuàng)新技術(shù)入手,選擇建設(shè)基于Hadoop架構(gòu)的大數(shù)據(jù)平臺下的數(shù)據(jù)庫提升醫(yī)院數(shù)據(jù)質(zhì)量和處理能力。關(guān)系數(shù)據(jù)庫和大數(shù)據(jù)平臺數(shù)據(jù)庫二者之間的主要區(qū)別,見表1。
表1 RDBMS和Hadoop技術(shù)對比分析
大數(shù)據(jù)時(shí)代醫(yī)院對數(shù)據(jù)的利用已從簡單的報(bào)表分析走向可預(yù)測分析階段,及時(shí)、準(zhǔn)確的數(shù)據(jù)是進(jìn)行數(shù)據(jù)加工和分析的基礎(chǔ),想要利用好醫(yī)院的數(shù)據(jù)進(jìn)行基于大數(shù)據(jù)平臺的系統(tǒng)開發(fā),為科學(xué)預(yù)測和政策制定提供技術(shù)支持[4],數(shù)據(jù)的有效同步是平臺實(shí)施的關(guān)鍵步驟。本院主要采用ORACLE和SQL Server數(shù)據(jù)庫自帶的數(shù)據(jù)同步功能來完成平臺數(shù)據(jù)的實(shí)時(shí)同步。對于ORACLE數(shù)據(jù)庫,采用OGG方式進(jìn)行增量數(shù)據(jù)的同步。其中Extract 進(jìn)程運(yùn)行在源系統(tǒng)上,負(fù)責(zé)捕獲數(shù)據(jù)更改。Replicat運(yùn)行在目標(biāo)計(jì)算機(jī)上,負(fù)責(zé)將更改應(yīng)用于目標(biāo)數(shù)據(jù)庫。而源系統(tǒng)和目標(biāo)系統(tǒng)之間則主要以Trail和Flat文件來進(jìn)行數(shù)據(jù)傳輸[4]。對于SQL SERVER數(shù)據(jù)庫,采用CDC方式,基于日志抓取,識別出變化的數(shù)據(jù),獲取增量數(shù)據(jù)。架構(gòu)中前置機(jī)部署在醫(yī)院內(nèi)網(wǎng),通過抽取工具sqoop抽取增量數(shù)據(jù)到hive庫,再通過腳本合并增量數(shù)據(jù)為全量。業(yè)務(wù)庫到前置庫之間,通過捕獲日志進(jìn)程抓取變更日志,并將變更日志同步到前置庫,通過前置庫的解析日志功能,解析出數(shù)據(jù)的變更。平臺整體架構(gòu)見圖1。
圖1 大數(shù)據(jù)平臺架構(gòu)示意圖
本院經(jīng)過20多年的數(shù)字化醫(yī)院建設(shè)積累了海量的醫(yī)療數(shù)據(jù),但醫(yī)院信息系統(tǒng)(HIS)、實(shí)驗(yàn)室信息系統(tǒng)(LIS)、影像歸檔和通信系統(tǒng)(PACS)、放射科信息系統(tǒng)(RIS)、電子病歷系統(tǒng)(EMRS)、移動醫(yī)護(hù)、急診、心電、手術(shù)麻醉、體檢等各系統(tǒng)數(shù)據(jù)分散存放,結(jié)構(gòu)互異,整合難度較大。通過基于Hadoop的大數(shù)據(jù)平臺建設(shè)對當(dāng)前數(shù)據(jù)進(jìn)行有效整合和管理,解決當(dāng)前數(shù)據(jù)存在的問題。
1.4.1異構(gòu)數(shù)據(jù)整合
(1)醫(yī)院的醫(yī)療系統(tǒng)中沉淀著大量基礎(chǔ)數(shù)據(jù),這些數(shù)據(jù)產(chǎn)生于不同歷史時(shí)期,來源也不同,標(biāo)準(zhǔn)也不統(tǒng)一,本院也經(jīng)歷過新老藥品切換、物價(jià)調(diào)整、疾病編碼版本升級等基礎(chǔ)數(shù)據(jù)變動的情況;(2)醫(yī)院內(nèi)系統(tǒng)眾多,各系統(tǒng)數(shù)據(jù)庫數(shù)據(jù)類型各異,有DB結(jié)構(gòu)化數(shù)據(jù)、XML文檔數(shù)據(jù)、DICOM影像數(shù)據(jù)、動態(tài)影像數(shù)據(jù)、自由文本文檔數(shù)據(jù)、PDF文檔數(shù)據(jù)等;(3)數(shù)據(jù)來源多種多樣,有HIS基礎(chǔ)診療數(shù)據(jù)、EMRS電子病歷數(shù)據(jù)、PACS放射類檢查數(shù)據(jù)、LIS檢驗(yàn)數(shù)據(jù)、康復(fù)管理數(shù)據(jù)、重癥監(jiān)護(hù)數(shù)據(jù)、病理影像數(shù)據(jù)等;(4)數(shù)據(jù)存儲方式多樣,有在線數(shù)據(jù)、近線數(shù)據(jù)、歷史歸檔數(shù)據(jù)等。如此多的“異源異構(gòu)”數(shù)據(jù)給數(shù)據(jù)的匯聚與利用帶來很大難度[5]。大數(shù)據(jù)平臺能通過抽取、轉(zhuǎn)換、裝載(ETL)工具,利用數(shù)據(jù)庫OGG和CDC功能將異構(gòu)異源的數(shù)據(jù)抽取到大數(shù)據(jù)平臺,將數(shù)據(jù)文件切分成若干個(gè)塊,存儲到不同節(jié)點(diǎn)上,最后以textfile格式進(jìn)行存儲。通過這一步的數(shù)據(jù)抽取、整合和處理,將醫(yī)院所有數(shù)據(jù)進(jìn)行了有效匯聚。如信息部門以前為臨床科室查詢數(shù)據(jù)時(shí)需要在多個(gè)系統(tǒng)及數(shù)據(jù)庫里查詢數(shù)據(jù),現(xiàn)在只需要在一個(gè)平臺輸入條件即可查詢,避免了以前多的數(shù)據(jù)庫查詢帶來的麻煩,也不會占用醫(yī)院在用生產(chǎn)庫資源,提高了數(shù)據(jù)使用效率和數(shù)據(jù)使用安全[6]。
1.4.2數(shù)據(jù)結(jié)構(gòu)化處理
醫(yī)院除數(shù)據(jù)庫存儲的是結(jié)構(gòu)化數(shù)據(jù)外,其他很多均為非結(jié)構(gòu)化數(shù)據(jù),類型五花八門,但只有轉(zhuǎn)換為結(jié)構(gòu)化數(shù)據(jù)才便于分析,而且結(jié)構(gòu)化數(shù)據(jù)字段中依然存在大量需要進(jìn)一步語義識別的自由文本數(shù)據(jù);在EMRS中醫(yī)師的電子病歷文書記錄蘊(yùn)含了大量的有價(jià)值信息,一般都是以自由文本或半結(jié)構(gòu)化數(shù)據(jù)存儲;影像等系統(tǒng)則存儲的是DICOM格式的數(shù)據(jù)。利用平臺處理非結(jié)構(gòu)化數(shù)據(jù)首先要將數(shù)據(jù)進(jìn)行抽取匯聚,再利用平臺技術(shù)對數(shù)據(jù)進(jìn)行文本的詞匯切分、詞性分析、歧義處理等實(shí)體提取,然后對詞匯相關(guān)度、句子相關(guān)度、篇章相關(guān)度、句法分析進(jìn)行語義處理,最后建立向量空間模型、主題模型[7]。
1.4.3數(shù)據(jù)質(zhì)量提升
數(shù)據(jù)質(zhì)量問題是目前數(shù)據(jù)處理過程中遇到的普遍現(xiàn)象。各分系統(tǒng)存在數(shù)據(jù)標(biāo)準(zhǔn)不一、數(shù)據(jù)內(nèi)涵錯(cuò)誤等問題;EMRS中醫(yī)師病歷書寫未按照ICD10標(biāo)準(zhǔn),每名醫(yī)師均有自己的書寫習(xí)慣,如診斷名稱不統(tǒng)一、相同疾病描述有差異等;口話太多導(dǎo)致的垃圾數(shù)據(jù);部分字段數(shù)據(jù)缺失不完整等都是造成醫(yī)院數(shù)據(jù)質(zhì)量不高的原因。提升數(shù)據(jù)質(zhì)量除規(guī)范醫(yī)療質(zhì)量管理外,還必須借助大數(shù)據(jù)平臺對數(shù)據(jù)進(jìn)行清洗和治理,在此基礎(chǔ)上進(jìn)行精細(xì)化、細(xì)粒度數(shù)據(jù)分析,如結(jié)構(gòu)化處理、字段切詞、歸一化處理等,以此提升醫(yī)療數(shù)據(jù)質(zhì)量[8]。如當(dāng)在數(shù)據(jù)庫搜索診斷名稱為“腦梗死”的疾病,但不同醫(yī)師在病歷書寫時(shí)會將這種診斷名稱寫成如“腦梗死、出血性腦梗死、腦干梗死、大腦動脈栓塞引起的腦梗死、大腦動脈血栓形成引起的腦梗死”等,可能都是描述的這一疾病。如在以前只能在數(shù)據(jù)庫里通過模糊查詢一個(gè)一個(gè)搜索,借助現(xiàn)有平臺只需要輸入一個(gè)“腦梗死”,系統(tǒng)會將以上進(jìn)行了結(jié)構(gòu)化和歸一化處理的相關(guān)診斷名稱默認(rèn)為是同一個(gè)診斷名稱,并返回所有數(shù)據(jù),這樣既方便了信息部門查詢數(shù)據(jù),也保障了臨床科研數(shù)據(jù)質(zhì)量的準(zhǔn)確。
1.4.4數(shù)據(jù)分析效率提升
本院傳統(tǒng)的關(guān)系數(shù)據(jù)庫面對超大表、多表數(shù)據(jù)分析時(shí)存在較大性能瓶頸,執(zhí)行效率低,返回結(jié)果慢,而且在執(zhí)行數(shù)據(jù)查詢時(shí)還會占用醫(yī)院在用生產(chǎn)庫資源,影響醫(yī)院業(yè)務(wù)系統(tǒng)運(yùn)行。特別是隨著醫(yī)院在大數(shù)據(jù)及人工智能領(lǐng)域的攝入研究,以后深度學(xué)習(xí)等人工智能算法對圖形處理器(GPU)處理要求越來越高,當(dāng)前數(shù)據(jù)分析已經(jīng)難以滿足醫(yī)院使用需求[9]。新建大數(shù)據(jù)平臺采用分布式存儲和分布式計(jì)算,通過內(nèi)部的資源管理和調(diào)度系統(tǒng)合理分配資源,結(jié)合MapReduce分布式離線計(jì)算框架,可以對數(shù)據(jù)進(jìn)行多進(jìn)程同步運(yùn)算,提升數(shù)據(jù)分析效率。如以前信息部門在為臨床科室提供科研數(shù)據(jù)服務(wù)時(shí),當(dāng)面對多條件的復(fù)雜組合查詢時(shí)由于涉及的業(yè)務(wù)數(shù)據(jù)表太多,執(zhí)行效率很低,不僅會占用數(shù)據(jù)庫資源,返回?cái)?shù)據(jù)結(jié)果也很慢,如果再遇到時(shí)間區(qū)間跨度達(dá)5年以上的、歷史庫和在用生產(chǎn)庫數(shù)據(jù)沒有整合更加難以完成。借助大數(shù)據(jù)平臺只需要通過添加納排條件,以分布式計(jì)算為基礎(chǔ),即可實(shí)現(xiàn)秒級查詢和數(shù)據(jù)展現(xiàn)。
高質(zhì)量數(shù)據(jù)來源于數(shù)據(jù)收集,是數(shù)據(jù)設(shè)計(jì)及數(shù)據(jù)分析、評估、修正等環(huán)節(jié)強(qiáng)有力的保證[5]。通過抽取數(shù)據(jù)將不同類型不同來源的數(shù)據(jù)進(jìn)行了有效整合,不重復(fù)也不會遺漏,最大限度地保持整個(gè)醫(yī)療數(shù)據(jù)的完整性。
醫(yī)療過程中存在著大量專業(yè)術(shù)語和專業(yè)定義,但因?yàn)榉N種原因,醫(yī)院醫(yī)療系統(tǒng)及醫(yī)療工作者書寫的病歷中卻存在大量的非標(biāo)準(zhǔn)化數(shù)據(jù),數(shù)據(jù)表達(dá)方式隨意性較大。通過平臺對數(shù)據(jù)的清洗和治理,最大限度地保障了醫(yī)療數(shù)據(jù)的規(guī)范性和標(biāo)準(zhǔn)化。
平臺能夠通過數(shù)據(jù)清洗,結(jié)構(gòu)化、歸一化處理,詞匯切分,語義處理等,將原來非標(biāo)準(zhǔn)的、不完整的數(shù)據(jù)進(jìn)行規(guī)范化,提升了醫(yī)院醫(yī)療數(shù)據(jù)質(zhì)量,完善了醫(yī)院醫(yī)療質(zhì)量管理。
通過大數(shù)據(jù)平臺處理和匯聚的醫(yī)療數(shù)據(jù)并非只是為了科研、教學(xué)或管理等場景使用,更多地是為后續(xù)醫(yī)院在智能化方面的建設(shè)打下基礎(chǔ)。首先需要把這些散落的數(shù)據(jù)整合成為標(biāo)準(zhǔn)的患者診療模型,完成診療模型構(gòu)建和數(shù)據(jù)處理,再根據(jù)這些整合數(shù)據(jù),通過人工智能學(xué)習(xí),構(gòu)建智能輔診系統(tǒng),預(yù)測出患者下一步的健康變化,自動推薦診斷和治療方案,實(shí)現(xiàn)更大的醫(yī)療數(shù)據(jù)生態(tài),催生更多醫(yī)學(xué)領(lǐng)域的智能化應(yīng)用落地[10]。
綜上所述,我國許多大型醫(yī)院經(jīng)過幾十年信息化發(fā)展,積累了大量的臨床診療數(shù)據(jù),這些數(shù)據(jù)以前在管理和使用上還不夠規(guī)范和完善,隨著大數(shù)據(jù)技術(shù)的不斷發(fā)展成熟,醫(yī)院構(gòu)建大數(shù)據(jù)平臺能夠?qū)⑦@些數(shù)據(jù)進(jìn)行有效匯聚和管理,提升醫(yī)院診療數(shù)據(jù)質(zhì)量,為醫(yī)院臨床科研的支撐、診療模式的轉(zhuǎn)型和醫(yī)療領(lǐng)域的智能化應(yīng)用帶來機(jī)遇和動力。由于醫(yī)院在大數(shù)據(jù)和人工智能領(lǐng)域的建設(shè)起步較晚,相關(guān)技術(shù)人員較少,經(jīng)驗(yàn)不足,在大數(shù)據(jù)建設(shè)和管理上還會遇到很多新的難點(diǎn)和痛點(diǎn)。只有通過對新技術(shù)新業(yè)務(wù)的不斷學(xué)習(xí),掌握更為有效的數(shù)據(jù)采集、清洗、加工工具和方法,在實(shí)踐中不斷摸索和發(fā)展,才能建設(shè)好醫(yī)療科研大數(shù)據(jù)平臺,為醫(yī)院創(chuàng)新發(fā)展打下堅(jiān)實(shí)的基礎(chǔ)[11]。