区块链在电子病历系统中的应用

2022-10-26 08:52天津卫宁健康科技有限公司杨娜
数字技术与应用 2022年10期
关键词:病历区块节点

天津卫宁健康科技有限公司 杨娜

近年来随着数据存储技术的迅猛发展,区块链已经被越来越多的人所认识,凭借区块链的技术优势它被迅速应用于多种场景。医疗机构信息化建设经过多年的发展已趋向成熟,电子病历做为医疗信息化系统中重要的组成部分,已经逐渐代替了传统的纸质病历,为病患就医提供了极大的便利。但电子病历由于数据存储在医院内部,缺乏必须要监管和安全措施,给一些非法数据造假行为提供了便利条件。本文将区块链技术优势与电子病历实际应用场景相结合,提出一种解决当前电子病历安全性问题的可行思路。

1 区块链技术特征

1.1 去中心化

区块链与传统的数据存储技术相比,最大的特征之一就是“去中心化”。传统的数据存储技术,在网络中通常都是由一个固定的节点或者集群来完成数据持久化的功能,即所有数据都会存储到一个特定位置或区域[1]。这样做会给系统带来很大的负面影响,当数据访问量过大使系统出现过载或者发生单点故障的时候,整个系统就会处于失效状态,从而无法保持系统对外提供服务。而区块链技术则从根本上解决了这个问题,它不再依赖于任何单个节点,而是将数据以分布式架构的方式分散存储到所有的节点,不再受到单点故障的影响,从根本上避免了传统技术架构存在的缺陷,如图1所示。

1.2 安全性

区块链技术本身的安全机制成为它最有特色的亮点,也成为它与传统技术最大的区别点。在传统的基于关系型数据库中,由于任何具有权限访问数据库的人都可以对已有数据进行操作,从而为不法分子带来可乘之机,他们可以随意在数据库中修改、伪造数据,而很难被其他人发现。区块链采用了链式的存储结构,多个区块首尾相连形成一条数据链,同时每个区块都会记录上一个区块的Hash值,可以理解为不同区块之间相互验证真实性[2]。如果要修改其中一个区块的数据值,就必须要修改整条数据链上所有的区块记录,因此为数据造假提供了极大的难度,避免了为人故意伪造数据带来的安全隐患。

1.3 数据集体维护

数据集体维护也是区块链存储技术的又一大创新。由于传统的数据库只能存储在单节点架构,而单节点通常只能从属于一个机构维护和管理,因此数据的准确性、安全性和权威性都无法得到保证。区块链存储方式从根本上解决了这种问题,由于区块链是分布式结构,同一联盟链中的区块链从属于不同的组织机构,数据采用同步的形式在不同区块链之间同步。因此同一个区块数据会被同步到不同的区块链当中,这些互为备份的区块节点不仅保证了数据的安全性,同时也起到相互之间验证和监督的作用,任何一个数据节点被非法篡改后,其他区块备份数据会立即发现异常情况,从而有效的解决单点存储数据的可信性问题,使数据在信息系统中的权威性更加凸显。

2 区块链在电子病历中的优势

2.1 分布存储相对隔离

医疗机构对信息安全的要求非常高,数据不仅有保密的要求,而且对于同类机构通常也并不共享。这就对电子病历的网络存储和数据隔离提出了一定的要求,数据不仅要安全、合规的存储在物理硬件上,而且也不能被其他第三方非法访问。区块链虽说采用了分布式存储机制,有着数据集体维护的技术特性,但这并不意味着数据可以被除所有者之外的第三方随意访问[3]。因为每个区块在上链之前,存储方会使用非对称加密算法对数据进行加密,这种方式确保了存储在区块链上的数据只能由生成者进行解密,而其他人不能获取存储在区块中的具体内容。这种操作机制既可以充分发挥数据分布式存储的优势,又能够有效的保证存储内容不被非法访问。

2.2 上链数据不可篡改

病历数据是治疗过程的重要记录文件,为患者未来就医提供了可供参考的重要信息,或者在发生医疗纠纷时为医患双方提供有效的证据,因此病历数据的真实性非常重要,不能被随意篡改和伪造[4]。在使用区块链技术存储病历时,所有上链数据必须先由生成者使用非对称加密的私钥,对上链区块进行数字签名后,连同签名后的文档一起存储在区块链中。由于使用了私钥进行签名,第三方无法模仿生成区块节点数据,同时也不随意修改区块内的任何内容,这样就可以保证存储在区块链中的内容真实、准确,在任何情况下都可以使用对应的公钥对区块数据进行验证,确认存储数据的准确性和真实性。

2.3 数字签名不可否认

在发生医疗纠纷时,当事方为了保证自己的利益,通常会否认病历数据不是由自己编写,或者被第三方伪造,此时通过区块链的安全机制就可以避免此类问题的发生。在医生将患者病历数据存储到区块链之前,需要先使用医生的U盾(内部存储医生本人的数字证书)对当前的区块内容进行签名,完成后将区块数据连同签名后的文件一起上传到区块链中进行存储[5]。上链后的数据可以被随时下载并通过医生的公钥反向检查,如果数据通过了验证则表明当前区块的数据真实有效,没有被恶意修改或伪造,医生也无法否认已经上链的数据。通过这种方式可以在发生医疗纠纷时,提供真实有效的病历信息。

3 区块链电子病历的实现

3.1 建立电子病历联盟链

通常区块链有3种构建方式,分别为公有链、私有链和联盟链。(1)公有链上每个节点都可以根据自己的意愿加入或退出网络,并参与到区块链上的数据读写工作,在网络中不存在任何中心化的管理节点。(2)私有链也称之为专有链,它与公有链正好相反,各节点的写入权限归内部控制,而读写权限则有选择性的对外开放。(3)联盟链则是介于两者之间的一种类型,在联盟链上各个节点通常与实体机构相对应,通过授权后才能进入与退出,各机构共同完成区块链的维护工作。

按照医疗业务场景特征,同时结合区块链不同形态,联盟链与医疗机构业务场景信息化最为匹配。使用联盟链存储电子病历,首先需要建立其于至少3家以上医疗机构的区块联盟链。这个区块链只针对这些医疗机构开放,其他外部实体无法访问,医疗联盟链里有多个预选节点做为信息的记账人,每个区块的生成由所有预选节点共同决定完成。在联盟链中所有区块数据都会被及时进行同步和备份,保证数据的安全性同时各链之间形成相互验证和监督的机制。

3.2 电子病历区块化处理

区块数据结构如何设计,成为电子病历区块化的重要基础,区块中由为3个主要部分构成,分别为区块头数据存储区、业务数据存储区、区块签名数据存储区,它们共同组成了一个完整的区块数据存储部分。在向区块链系统中提交一个新的区块时,首先需要建立一个新的区块,然后分别向这个新的区块的不同部分填写信息。

在区块头数据存储区,需要记录当前区块的ID信息(通常是由程序生成UUID值,并写入到区块头中对应的属性),还需要使用MD5算法计算当前区块的散列值,以保证本区块写入数据没有发生变化。同时还要记录当前区块写入的时间戳信息等内容,最后还要记录当前区块写入时,它的上级区块的Hash值数据,用来记录区块链条的每一个节点与它上游节点的连接关系。

区块链业务数据存储区中,则需要保存与本次就诊有关的病历数据,如患者ID、患者姓名、身份证号、出生日期、就诊科室、医生ID、医生姓名、诊断结果、就诊日期等关键业务数据,这些内容可以与其他系统的数据进行关联,如本次就诊涉及到CT数据,则可以将CT检查结果的ID号记录到区块业务数据存储区。业务数据是区块链最核心的部分,因此在设计时必须严格遵守医疗机构信息系统规范,以便与其他的业务系统进行横向关联。

一个区块节点的尾部,记录了区块签名数据,它用来保证区块内业务信息真实有效。此时需要医生使用数字密钥对当前的区块进行电子签名,形成区块数字签名证书,随后将此证书附加到区块的末尾。至此完成了电子病历区块化的全部流程,可以通过网络接口将本区块提交到联盟区块链上进行保存。

当区块提交到区块链后,在区块联盟链中所有的区块链都会定期同步数据,即一个区块会被同步到所有的区块链,以保证联盟链中数据的一致性,如图2所示。

4 结语

区块链是未来数据存储技术发展的一个重要方向,它与生俱来的安全性、可靠性已经成为解决业务领域众多痛点的突破口,将区块链的技术特性与医疗信息化系统相结合,也为未来医疗信息化带来了新的发展机遇。电子病历是最为常见的医疗信息化系统,与区块链技术结合后可以解决当前电子病历系统中常见的数据安全问题,打造安全、可信的医疗信息化系统。随着区块链技术的发展,未来的区块链可以与更多的医疗场景相结合,催生出一批全新的应用场景,为医疗信息化领域建设提供了一个可供探索的新领域。

猜你喜欢
病历区块节点
CM节点控制在船舶上的应用
强迫症病历簿
Analysis of the characteristics of electronic equipment usage distance for common users
基于AutoCAD的门窗节点图快速构建
区块链:一个改变未来的幽灵
“大数的认识”的诊断病历
区块链:主要角色和衍生应用
区块链+媒体业的N种可能
读懂区块链
为何要公开全部病历?