姚俊明 邢 丹 李慶玲
(濟寧醫學院醫學信息工程學院 日照 276826)
以計算機為代表的通信技術促使醫院廣泛使用電子健康記錄(Electronic Health Records,EHR),患者的健康記錄可以在醫療機構內部供醫護人員使用。隨著人口的流動,不同醫療機構之間的信息共享需求日益增強。同時隨著生活水平的提高人們對健康信息管理的需求日益突顯,希望擁有個人醫療健康數據的訪問權。但由于系統的使用依賴于專屬數據庫,這些數據庫很少或根本無法同其他系統互操作。此外現有的醫療健康機構采用不同標準的技術,導致患者醫療數據分散在多個醫療機構內部,無法以統一的視圖查看患者醫療健康檔案。盡管目前國際衛生組織制定很多規范,但出于安全性的考慮,醫療機構并不共享患者數據。同EHR相比,個人健康記錄(Personal Health Records,PHR)可以接收患者輸入數據,查詢如體重或血壓等健康相關信息。而現有的醫療健康數據大多分散在各個區域醫療系統內部,信息呈碎片化,無法有效地服務于個人健康管理。傳統醫療數據共享高度依賴于第3方機構(如健康信息交易所、人口數據庫),存在因第3方機構發生欺詐或受攻擊而產生個人醫療隱私數據泄漏的問題。目前國內外醫療健康領域呼吁以患者為中心,讓患者成為其健康記錄的所有者,授予訪問權限,與第3方機構共同管理個人健康數據。基于此,本研究目標是提供個人健康記錄的分布式框架。為PHR提供分布式、可互操作的體系結構模型,為患者和醫療保健服務人員提供統一視角,患者可以從統一視圖中維護其健康歷史記錄,無論在哪里接受治療,醫療服務提供者擁有這些最新數據。
區塊鏈使用一系列技術組合完成去中心化的數據存儲,具有分布式、去中心化、信息安全保密和可追溯性等特點,可用于醫療領域實現電子健康病歷、DNA錢包、藥品防偽等方面的應用,實現對患者隱私的保護及維護信息的完整性[1]。
中國工信部2016年發布《中國區塊鏈技術和應用發展白皮書》,制定區塊鏈標準。國內將區塊鏈與醫療健康領域結合的研究相對較少,目前僅限于在行業內對應用場景的設想。梅穎[2]針對醫療信息系統中存在的醫療信息記錄存儲安全和隱私保護問題,結合區塊鏈和云存儲技術,提出醫療記錄安全存儲方案,但未考慮醫療記錄在各機構間的數據兼容性和互操作性等問題。薛騰飛[3]等提出基于區塊鏈的醫療數據共享模型,適用于解決各醫療機構數據共享難題,但這一設計在具體實施中會遇到問題和挑戰。阿里健康與常州市醫聯體合作“醫聯體+區塊鏈”試點項目,在項目中設置多層安全屏障,設計數字資產協議和數據分級體系,通過協議和證書明確規定各級醫院和衛生行政部門的訪問和操作權限。
世界上許多公司和研究機構均參與到區塊鏈在醫療領域的應用。瑞士Healthbank為保證健康數據存儲安全,通過區塊鏈處理事務;Gem Health 聯合飛利浦區塊鏈實驗室構建區塊鏈健康生態系統。在醫療健康領域的分布式體系框架問題研究中開展以下相關工作。層次化分布式EHR集成模型(Hierarchical Distributed EHR,HDEHR)的目標是在衛生組織中維護患者數據,同時為保證容錯能力將其復制到所在地區的其他醫院[4];在m-Health的泛在云健康服務(Ubiquitous healthcare services in cloud)模型中,提出一種基于分發事件的體系結構,其互操作性服務遵循CCR標準,但未提及隱私問題[5]。泛在的個人健康記錄框架(Ubiquitous PHR framework)模型是一種基于事件的分布式模型[6]。以上模型均未涉及安全性和隱私性問題。概念框架(Conceptual Framework)[7]模型是可穿戴醫療系統的一個框架,采用基于對象的分布式機制——云服務器分布,采取安全和隱私保護,但沒有關注互操作性;HealthVault[8]是遵循護理連續性記錄(Continuity of Care Record,CCR)和衛生信息交換標準(Health Level,HL7)的專有解決方案,是基于Web的PHR維護健康和體重的記錄,但由客戶組成服務器平臺,所有健康數據均存儲在公司服務器;HealthTicket[9]模型是PHR的設計與實現案例,該體系結構是移動和醫療服務提供商通過Web應用程序訪問患者數據,遵循CCR和HL7標準,使用客戶機-服務器模型,利用密碼文本策略屬性加密方案的安全機制來保護隱私;分布式電子記錄(Distributed Electronic Patient Records)模型[10]是一種基于OpenEMR系統的分布式組件方案,符合多種標準,但未注重安全性和隱私性;OminiPHR[11]整合PHR支持分布式PHR的體系模型,使患者和健康機構能夠從任何設備統一維護其健康歷史記錄,同時使健康組織之間信息共享成為可能,但未詳細說明區塊鏈的設計問題。目前患者健康數據集中在一個或多個服務器上,采用客戶機-服務器體系結構。其他模型只是提出將來進一步進行分布式體系結構研究,OminiPHR盡管采用分布式體系架構,但未深入探討區塊鏈在該架構中的應用細節。
本研究旨在利用區塊鏈實現安全可信的個人健康記錄分布式框架。國外醫療保健組織已采用區塊鏈技術,在臨床試驗記錄、監管合規性和醫療/健康監控記錄以及健康管理、醫療設備數據記錄、藥物治療、計費和理賠、不良事件安全性、醫療資產管理、醫療合同管理等方面發揮重要作用,IBM公司推測未來全球56%的醫療機構將在兩年之內投資區塊鏈。全球互聯網機構和創業公司也積極探索區塊鏈在醫療領域的應用。目前醫療數據共享僅限于醫院內部醫療信息系統之間,研究熱點集中在區域醫療內部實現數據互相訪問。而真正意義上的數據共享應該是院內、院際、第3方機構的全面互聯互通。筆者嘗試將區塊鏈應用于解決PHR的安全性和醫療機構之間的互操作問題,期望通過采用區塊鏈構建云環境下的去中心化、安全且可信任的個人健康記錄訪問模型。
傳統的大量醫療數據存儲在醫院信息中心或區域衛生數據中心,使得中心負載增加,存在被攻擊的安全隱患。同時醫療保健機構系統相互獨立,產生的數據僅限于系統內部使用,導致個人健康記錄分散在各個醫療健康系統內部,缺乏統一共享的模型。目前國內醫療是在醫聯體內采取分級診療的策略,如何在各個醫聯體系統基礎上構建整合的分布式系統,使個人擁有健康記錄的訪問權限,是當前亟待解決的問題。
目前區塊鏈應用在醫療健康領域的目標是使個人擁有自身醫療大數據,構建中心化的分布式存儲,個人擁有更多的控制權。通過訪問權限的控制有選擇地和醫生或第3方醫療機構共享醫療數據。而區塊鏈最先應用在比特幣上,解決因金融機構發生欺詐或倒閉導致交易存在風險的問題,實現去中心化、不依賴第3方金融機構電子貨幣的發行交易。如果通過區塊鏈底層技術實現醫療健康數據的存儲,連接醫生、患者以及醫療機構,需要著重理清其區別于比特幣應用的特點。在比特幣等數字化貨幣中,數字即是貨幣,數據量小,流程簡單,交易方明確,數據鏈反復多重疊加成為可能。而醫療健康數據來自人體,與數字貨幣、合約文本不同,數據量大,單個數據大小是數字貨幣、合約文本的千萬倍,相對于數字貨幣是巨塊數據。同時不同于比特幣的數字型數據,醫療健康數據類型復雜多樣(包括字符型、布爾型、數值型、日期型、日期時間型、時間型、二進制),使其加密數據等措施更加復雜。區塊鏈具有保護數據及提供數據可追溯性的特征,因此需要明確醫療健康領域數據操作的種類。如果將醫療健康數據索引和內容均列為區塊鏈保護對象時,海量醫療數據內容在數據鏈反復多重疊加,將導致數據鏈過于龐大,儲存容量和速度激增而難以實現。個人健康記錄是以滿足居民自身需要和健康管理為重點,內容不僅涉及疾病的診斷治療過程,而且關注機體、心理、社會因素對健康的影響。其信息主要來源于居民生命過程中,與各類衛生服務機構發生接觸所產生的所有衛生服務活動(或干預措施)的客觀記錄。因此必須著重解決何種數據存儲到區塊鏈中的問題。
考慮到各個醫療健康機構內部標準不同,在應用層采取開放式電子健康記錄(openEHR)標準進行數據結構設計。openEHR是由國際openEHR組織于1999年提出的開放式電子健康檔案規范,將醫療領域知識從具體的臨床信息中分離出來,從而保證信息模型的高可擴展性。openEHR在歐洲、澳洲和日本等國家地區得到廣泛應用,于2008年被國際標準組織接受,發展為ISO 13606-2標準。迄今很多國家的電子健康檔案數據中心均采用該標準。為能夠滿足不同系統的訪問需求,在應用層構建對等覆蓋網絡,對分布于各個醫療健康機構的PHR在區塊鏈中采取openEHR標準進行存儲。
個人健康檔案的內容是從日常衛生服務記錄中適當抽取的、與居民個人和健康管理、健康決策密切相關的重要信息,詳細的衛生服務過程記錄仍保留在衛生服務機構中,需要時可通過一定機制進行調閱查詢。健康檔案的基本內容主要由個人基本信息和主要衛生服務記錄兩部分組成。根據健康檔案的基本概念和系統架構,如果將海量的個人健康記錄信息都存儲在區塊鏈上勢必會造成存儲量增大。實際應用中縣外就診人群將控制在10%以內,醫療數據并無共享需求。以全覆蓋的區塊鏈應對少量跨域醫療需求,經濟投入與需求應用不對稱;區塊鏈僅覆蓋醫療數據索引可降低建設與運維壓力,但醫療數據內容將脫離區塊鏈保護。針對醫療健康記錄數據量大、類型復雜的特點,為減輕存儲運算負擔,本研究創新地將PHR主索引數據存儲在健康鏈上。區塊鏈只是保護醫療數據索引和相對應內容的哈希值,醫療健康數據內容仍然采用原有方式存儲,通過索引即可找出PHR存儲位置。在應用層構建覆蓋網絡,采取對等網(Peer-to-peer,P2P)云架構存儲。將PHR主索引數據存儲在區塊鏈上,其他數據以移動 P2P Cloud[12]云的形式存儲在醫聯體內。
該方案利用區塊鏈技術和鏈下對等云存儲技術實現個人健康記錄的安全存儲和共享,稱之為健康鏈,為保證個人數據安全,健康鏈采用私有鏈方式。個人通過授權在健康鏈上建立健康記錄的主索引和存儲位置。患者或用戶能夠向醫療機構申請查看醫療信息,包括電子病歷、處方、最新醫院和藥店分布等。實現共享醫療信息功能,根據需求將醫療數據共享給醫療機構、醫療健康服務提供商、商業保險等機構。此外如果用戶向醫院提供權限,醫生將能夠獲得該用戶精確病史,通過醫療設備了解患者可能患有的疾病及用藥等信息。經過授權后還可以訪問分散在不同醫療機構的醫療數據,在藥效分析、疾病防控等方面節約不必要的重復檢查時間,政府可以進行更有序高效的監管。基于區塊鏈接分布式架構,見圖1。

圖1 基于區塊鏈的分布式體系架構
從數據管理角度,區塊鏈的本質是構建在對等網絡上、提供可信數據管理功能的數據庫系統。體系架構中自下而上通常是數據層、網絡層、安全層。(1)數據層。存儲患者醫療健康記錄的主索引、信息摘要和數據細節,在醫聯體的對等云存儲中,結構相同的區塊通過鏈式結構形成數據鏈。在健康鏈中利用時間戳來保證各區塊按照時序鏈接,哈希函數保證數據不被篡改,公鑰加密實現身份認證,這些技術共用保證健康鏈的安全。同時為實現新技術與現有技術的平穩升級,對醫聯體內醫療健康數據的存儲保持原有方式。在區塊鏈的主索引采用openEHR中的openID代碼,保證個人編碼的唯一性。(2)網絡層。通過P2P協議完成分布式存儲,利用P2P協議進行數據傳輸:將需要存儲的數據分布到所有節點上進行存儲;查詢整個網絡集群中所有節點的最新數據,如果自身節點數據與大部分節點數據不一致,則更新自身數據與其一致。(3)安全層。對個人健康記錄使用hash運算后用密鑰簽名,附帶個人公鑰,系統利用簽名和公鑰驗證實現數據的不可篡改。
系統每個時間戳生成一張表格,新的交易記錄都記錄在新表中,創建新表采用的方法是用當前表的順序號、上一個表記錄的hash值、系統時間戳,再找一個隨機值、幾個數據加在一起,hash值滿足一定條件,系統就接收這個新表,形成表的鏈式結構。新表的產生依賴于上一個表的數據和當前系統的時間戳,一旦新表產生,歷史表的數據就無法被篡改。為防止上個表的數據被篡改,產生的新表需要依賴上一個表中所有記錄的hash值,為提高對表中所有記錄計算hash值的效率,采用merkle樹對表中的所有記錄進行hash計算。按照P2P網絡結構自動更新網絡集群中大部分節點維護的相同表。
健康鏈中不包含用戶身份信息,只包含個人記錄的編碼和存儲位置,而且是加密的,沒有本人的加密密鑰無法解密出明文,所以不能從健康鏈的公開信息中獲取任何有關個人健康記錄的真實數據。在區塊鏈中的數據需通過授權并具有區塊鏈安全措施的保證,真正數據的存取并不在區塊鏈中,需要進一步根據地址再次查詢,因此相當于兩層保護。個人健康記錄都加密存放在鏈下的云存儲中,對記錄的權限和粒度都只屬于本人,可以將某個數據對象授權給某個實體,也可隨時撤銷其訪問權限。醫療機構作為醫療記錄的生產者可能保留本機構生產記錄的原始數據,這對于患者來說只是其個人記錄的部分信息。此外需要相關法律和機制防止醫療機構泄露用戶醫療記錄,以保護其隱私[2]。
我國醫療信息共享機制不健全,醫療健康數據由各個標準不同的機構持有,對此本研究構建安全可信的個人健康記錄分布式框架,使個人擁有對數據的訪問權,實現醫療健康機構對PHR的互操作和安全訪問。通過分析醫療健康領域應用區塊鏈的特點,提出在應用層通過覆蓋網絡實現與原有數據庫的集成。為減少區塊鏈分布式冗余存儲帶來的空間開銷,未來還需進一步設計合理、高效的區塊鏈數據結構[13],實現在區塊鏈上進行數據存儲和查詢機制。同時還需針對醫療健康行業背景,采取提高系統吞吐率的共識機制[14-15]。區塊鏈技術有助于實現醫療健康數據存儲中建立信任網絡、降低交易成本、統一數據標準、健康數據智能合約和安全訪問。構建安全、互操作的PHR數據的分布式共享訪問框架有助于醫療衛生體制改革和推進健康中國2030建設。