基于区块链的个人健康记录分布式框架研究*
2019-04-25姚俊明李庆玲
姚俊明 邢 丹 李庆玲
(济宁医学院医学信息工程学院 日照 276826)
1 引言
以计算机为代表的通信技术促使医院广泛使用电子健康记录(Electronic Health Records,EHR),患者的健康记录可以在医疗机构内部供医护人员使用。随着人口的流动,不同医疗机构之间的信息共享需求日益增强。同时随着生活水平的提高人们对健康信息管理的需求日益突显,希望拥有个人医疗健康数据的访问权。但由于系统的使用依赖于专属数据库,这些数据库很少或根本无法同其他系统互操作。此外现有的医疗健康机构采用不同标准的技术,导致患者医疗数据分散在多个医疗机构内部,无法以统一的视图查看患者医疗健康档案。尽管目前国际卫生组织制定很多规范,但出于安全性的考虑,医疗机构并不共享患者数据。同EHR相比,个人健康记录(Personal Health Records,PHR)可以接收患者输入数据,查询如体重或血压等健康相关信息。而现有的医疗健康数据大多分散在各个区域医疗系统内部,信息呈碎片化,无法有效地服务于个人健康管理。传统医疗数据共享高度依赖于第3方机构(如健康信息交易所、人口数据库),存在因第3方机构发生欺诈或受攻击而产生个人医疗隐私数据泄漏的问题。目前国内外医疗健康领域呼吁以患者为中心,让患者成为其健康记录的所有者,授予访问权限,与第3方机构共同管理个人健康数据。基于此,本研究目标是提供个人健康记录的分布式框架。为PHR提供分布式、可互操作的体系结构模型,为患者和医疗保健服务人员提供统一视角,患者可以从统一视图中维护其健康历史记录,无论在哪里接受治疗,医疗服务提供者拥有这些最新数据。
区块链使用一系列技术组合完成去中心化的数据存储,具有分布式、去中心化、信息安全保密和可追溯性等特点,可用于医疗领域实现电子健康病历、DNA钱包、药品防伪等方面的应用,实现对患者隐私的保护及维护信息的完整性[1]。
2 国内外研究现状
2.1 国内
中国工信部2016年发布《中国区块链技术和应用发展白皮书》,制定区块链标准。国内将区块链与医疗健康领域结合的研究相对较少,目前仅限于在行业内对应用场景的设想。梅颖[2]针对医疗信息系统中存在的医疗信息记录存储安全和隐私保护问题,结合区块链和云存储技术,提出医疗记录安全存储方案,但未考虑医疗记录在各机构间的数据兼容性和互操作性等问题。薛腾飞[3]等提出基于区块链的医疗数据共享模型,适用于解决各医疗机构数据共享难题,但这一设计在具体实施中会遇到问题和挑战。阿里健康与常州市医联体合作“医联体+区块链”试点项目,在项目中设置多层安全屏障,设计数字资产协议和数据分级体系,通过协议和证书明确规定各级医院和卫生行政部门的访问和操作权限。
2.2 国外
世界上许多公司和研究机构均参与到区块链在医疗领域的应用。瑞士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尽管采用分布式体系架构,但未深入探讨区块链在该架构中的应用细节。
2.3 研究目标
本研究旨在利用区块链实现安全可信的个人健康记录分布式框架。国外医疗保健组织已采用区块链技术,在临床试验记录、监管合规性和医疗/健康监控记录以及健康管理、医疗设备数据记录、药物治疗、计费和理赔、不良事件安全性、医疗资产管理、医疗合同管理等方面发挥重要作用,IBM公司推测未来全球56%的医疗机构将在两年之内投资区块链。全球互联网机构和创业公司也积极探索区块链在医疗领域的应用。目前医疗数据共享仅限于医院内部医疗信息系统之间,研究热点集中在区域医疗内部实现数据互相访问。而真正意义上的数据共享应该是院内、院际、第3方机构的全面互联互通。笔者尝试将区块链应用于解决PHR的安全性和医疗机构之间的互操作问题,期望通过采用区块链构建云环境下的去中心化、安全且可信任的个人健康记录访问模型。
3 采用区块链存储医疗大数据分析
3.1 传统医疗数据存储存在问题
传统的大量医疗数据存储在医院信息中心或区域卫生数据中心,使得中心负载增加,存在被攻击的安全隐患。同时医疗保健机构系统相互独立,产生的数据仅限于系统内部使用,导致个人健康记录分散在各个医疗健康系统内部,缺乏统一共享的模型。目前国内医疗是在医联体内采取分级诊疗的策略,如何在各个医联体系统基础上构建整合的分布式系统,使个人拥有健康记录的访问权限,是当前亟待解决的问题。
3.2 区块链存储健康大数据的挑战
目前区块链应用在医疗健康领域的目标是使个人拥有自身医疗大数据,构建中心化的分布式存储,个人拥有更多的控制权。通过访问权限的控制有选择地和医生或第3方医疗机构共享医疗数据。而区块链最先应用在比特币上,解决因金融机构发生欺诈或倒闭导致交易存在风险的问题,实现去中心化、不依赖第3方金融机构电子货币的发行交易。如果通过区块链底层技术实现医疗健康数据的存储,连接医生、患者以及医疗机构,需要着重理清其区别于比特币应用的特点。在比特币等数字化货币中,数字即是货币,数据量小,流程简单,交易方明确,数据链反复多重叠加成为可能。而医疗健康数据来自人体,与数字货币、合约文本不同,数据量大,单个数据大小是数字货币、合约文本的千万倍,相对于数字货币是巨块数据。同时不同于比特币的数字型数据,医疗健康数据类型复杂多样(包括字符型、布尔型、数值型、日期型、日期时间型、时间型、二进制),使其加密数据等措施更加复杂。区块链具有保护数据及提供数据可追溯性的特征,因此需要明确医疗健康领域数据操作的种类。如果将医疗健康数据索引和内容均列为区块链保护对象时,海量医疗数据内容在数据链反复多重叠加,将导致数据链过于庞大,储存容量和速度激增而难以实现。个人健康记录是以满足居民自身需要和健康管理为重点,内容不仅涉及疾病的诊断治疗过程,而且关注机体、心理、社会因素对健康的影响。其信息主要来源于居民生命过程中,与各类卫生服务机构发生接触所产生的所有卫生服务活动(或干预措施)的客观记录。因此必须着重解决何种数据存储到区块链中的问题。
4 个人健康记录分布式模型设计
4.1 采取openEHR标准
考虑到各个医疗健康机构内部标准不同,在应用层采取开放式电子健康记录(openEHR)标准进行数据结构设计。openEHR是由国际openEHR组织于1999年提出的开放式电子健康档案规范,将医疗领域知识从具体的临床信息中分离出来,从而保证信息模型的高可扩展性。openEHR在欧洲、澳洲和日本等国家地区得到广泛应用,于2008年被国际标准组织接受,发展为ISO 13606-2标准。迄今很多国家的电子健康档案数据中心均采用该标准。为能够满足不同系统的访问需求,在应用层构建对等覆盖网络,对分布于各个医疗健康机构的PHR在区块链中采取openEHR标准进行存储。
4.2 PHR主索引数据存储
个人健康档案的内容是从日常卫生服务记录中适当抽取的、与居民个人和健康管理、健康决策密切相关的重要信息,详细的卫生服务过程记录仍保留在卫生服务机构中,需要时可通过一定机制进行调阅查询。健康档案的基本内容主要由个人基本信息和主要卫生服务记录两部分组成。根据健康档案的基本概念和系统架构,如果将海量的个人健康记录信息都存储在区块链上势必会造成存储量增大。实际应用中县外就诊人群将控制在10%以内,医疗数据并无共享需求。以全覆盖的区块链应对少量跨域医疗需求,经济投入与需求应用不对称;区块链仅覆盖医疗数据索引可降低建设与运维压力,但医疗数据内容将脱离区块链保护。针对医疗健康记录数据量大、类型复杂的特点,为减轻存储运算负担,本研究创新地将PHR主索引数据存储在健康链上。区块链只是保护医疗数据索引和相对应内容的哈希值,医疗健康数据内容仍然采用原有方式存储,通过索引即可找出PHR存储位置。在应用层构建覆盖网络,采取对等网(Peer-to-peer,P2P)云架构存储。将PHR主索引数据存储在区块链上,其他数据以移动 P2P Cloud[12]云的形式存储在医联体内。
4.3 系统架构
该方案利用区块链技术和链下对等云存储技术实现个人健康记录的安全存储和共享,称之为健康链,为保证个人数据安全,健康链采用私有链方式。个人通过授权在健康链上建立健康记录的主索引和存储位置。患者或用户能够向医疗机构申请查看医疗信息,包括电子病历、处方、最新医院和药店分布等。实现共享医疗信息功能,根据需求将医疗数据共享给医疗机构、医疗健康服务提供商、商业保险等机构。此外如果用户向医院提供权限,医生将能够获得该用户精确病史,通过医疗设备了解患者可能患有的疾病及用药等信息。经过授权后还可以访问分散在不同医疗机构的医疗数据,在药效分析、疾病防控等方面节约不必要的重复检查时间,政府可以进行更有序高效的监管。基于区块链接分布式架构,见图1。
图1 基于区块链的分布式体系架构
从数据管理角度,区块链的本质是构建在对等网络上、提供可信数据管理功能的数据库系统。体系架构中自下而上通常是数据层、网络层、安全层。(1)数据层。存储患者医疗健康记录的主索引、信息摘要和数据细节,在医联体的对等云存储中,结构相同的区块通过链式结构形成数据链。在健康链中利用时间戳来保证各区块按照时序链接,哈希函数保证数据不被篡改,公钥加密实现身份认证,这些技术共用保证健康链的安全。同时为实现新技术与现有技术的平稳升级,对医联体内医疗健康数据的存储保持原有方式。在区块链的主索引采用openEHR中的openID代码,保证个人编码的唯一性。(2)网络层。通过P2P协议完成分布式存储,利用P2P协议进行数据传输:将需要存储的数据分布到所有节点上进行存储;查询整个网络集群中所有节点的最新数据,如果自身节点数据与大部分节点数据不一致,则更新自身数据与其一致。(3)安全层。对个人健康记录使用hash运算后用密钥签名,附带个人公钥,系统利用签名和公钥验证实现数据的不可篡改。
5 安全性分析
5.1 防篡改
系统每个时间戳生成一张表格,新的交易记录都记录在新表中,创建新表采用的方法是用当前表的顺序号、上一个表记录的hash值、系统时间戳,再找一个随机值、几个数据加在一起,hash值满足一定条件,系统就接收这个新表,形成表的链式结构。新表的产生依赖于上一个表的数据和当前系统的时间戳,一旦新表产生,历史表的数据就无法被篡改。为防止上个表的数据被篡改,产生的新表需要依赖上一个表中所有记录的hash值,为提高对表中所有记录计算hash值的效率,采用merkle树对表中的所有记录进行hash计算。按照P2P网络结构自动更新网络集群中大部分节点维护的相同表。
5.2 有利于隐私保护和安全存储
健康链中不包含用户身份信息,只包含个人记录的编码和存储位置,而且是加密的,没有本人的加密密钥无法解密出明文,所以不能从健康链的公开信息中获取任何有关个人健康记录的真实数据。在区块链中的数据需通过授权并具有区块链安全措施的保证,真正数据的存取并不在区块链中,需要进一步根据地址再次查询,因此相当于两层保护。个人健康记录都加密存放在链下的云存储中,对记录的权限和粒度都只属于本人,可以将某个数据对象授权给某个实体,也可随时撤销其访问权限。医疗机构作为医疗记录的生产者可能保留本机构生产记录的原始数据,这对于患者来说只是其个人记录的部分信息。此外需要相关法律和机制防止医疗机构泄露用户医疗记录,以保护其隐私[2]。
6 结语
我国医疗信息共享机制不健全,医疗健康数据由各个标准不同的机构持有,对此本研究构建安全可信的个人健康记录分布式框架,使个人拥有对数据的访问权,实现医疗健康机构对PHR的互操作和安全访问。通过分析医疗健康领域应用区块链的特点,提出在应用层通过覆盖网络实现与原有数据库的集成。为减少区块链分布式冗余存储带来的空间开销,未来还需进一步设计合理、高效的区块链数据结构[13],实现在区块链上进行数据存储和查询机制。同时还需针对医疗健康行业背景,采取提高系统吞吐率的共识机制[14-15]。区块链技术有助于实现医疗健康数据存储中建立信任网络、降低交易成本、统一数据标准、健康数据智能合约和安全访问。构建安全、互操作的PHR数据的分布式共享访问框架有助于医疗卫生体制改革和推进健康中国2030建设。