关键词:区块链;医联体;疾控信息;系统设计;安全共享;隐私保护
0 引言
2019年10月24日,中共中央总书记习近平在中央政治局第十八次集体学习时强调,区块链技术的集成应用在新的技术革新和产业变革中起着重要作用,我们要把区块链作为核心技术自主创新的重要突破口,明确主攻方向,加大投入力度,着力攻克一批关键核心技术,加快推动区块链技术和产业创新发展。目前,我国医联体信息化建设模式主要有两种:一种是政府主导的区域卫生健康信息平台支撑医联体,另一种是以医院为主导的信息平台支撑医联体[1]。然而,这两种模式普遍采用中心化系统架构,导致系统稳定性高度依赖于中心节点,同时在数据安全性与防篡改能力上存在一定的局限性。鉴于上述挑战,区块链技术以其去中心化、数据不可篡改及强隐私保护等特性,正逐渐成为医联体信息化建设的新探索方向。目前,基于区块链的医联体电子处方流转、患者健康档案系统等研究已取得初步成果,展现了区块链技术在提升医疗信息共享效率与安全性方面的巨大潜力。本研究旨在将区块链技术的独特优势深度融入医联体内的疾控应用场景,通过构建基于区块链的疾控信息共享平台,实现对疾病防控数据的智慧化管理。
1 现状与需求分析
1.1 现状分析
近年来,随着大数据、人工智能、云计算等新一代信息技术的广泛应用,在疾控监测分析、病毒溯源、防控救治、资源调配等方面发挥了重要作用。同时,在推动疾控信息发布与共享的过程中,大多数医联体机构选择构建中心化的系统平台作为解决方案,这一模式在应对跨网络、多机构协同、高并发访问以及高度敏感的数据处理需求时,暴露出其在数据安全性、系统稳定性等方面的局限。具体而言,中心化平台的核心问题在于其固有的单点故障风险。一旦中心节点遭受网络攻击、系统故障或意外中断,整个系统会陷入瘫痪状态。此外,随着数据量和用户访问量的不断增加,平台的扩展性成为制约其发展的瓶颈,中心节点的处理能力难以满足快速增长的需求,进而影响到系统的整体性能。安全性方面,中心化的数据存储点一旦遭受入侵或泄露,将可能导致大规模敏感信息的曝光,如近年来发生的多起疾控中心及医院数据泄露事件[2],不仅侵犯了个人隐私,也对社会稳定和公共卫生安全构成了严重威胁。同时,医联体内各医疗机构的信息化建设程度存在差异,数据标准不同,以及患者医疗数据的隐私及安全问题,导致医联体内数据共享成为一大难题。
1.2 需求分析
针对上述存在的问题,在医联体各机构内构建一套完善的疾控信息共享系统,对于提升整体应急响应能力、加强隐私保护及降低系统故障风险尤为重要和紧迫。为此,将区块链技术的分布式框架、高安全性等特性融入疾控信息发布与共享系统的设计中,成为一个具有前瞻性和可行性的解决方案。系统功能应包括用户信息管理、区块链平台信息管理、疾控信息的采集存证、上链共享以及追溯查证监管等。系统应具备快速部署的能力,能够在短时间内完成搭建工作,以适应突发公共卫生事件的应急需求。同时,系统应易于维护,降低运维成本,提高系统可用性。其次,系统应具备良好的扩展性,支持新增组织或机构灵活接入,随着参与机构的增加,系统应能够保持高效稳定的运行状态。第三,系统应具备高安全性,疾控信息具有高度敏感性,系统需具有强大的数据保护及防篡改能力。第四,系统应具备高稳定性,系统的稳定可靠是疾控信息共享系统的前提和基础。
2 系统架构及功能设计
2.1 区块链平台选型
区块链技术是一种特殊的网络分布式数据库技术,具有去中心化、不可伪造、不可篡改、可验证性、可追溯性、高隐私保护性、高可靠性等技术特点,其核心技术包括点对点传输、加密算法、共识机制、智能合约等[3]。区块链根据记账权限的归属可分为公有链、联盟链和私有链三种。联盟链相对于公有链增加了身份认证及权限管理技术,实现对区块链管理和维护的功能,提高了系统的安全性;同时,联盟链相对于私有链具有较高的开放性,可由多个互相已知身份的组织联合构建[4]。Hyperledger Fabric 是联盟链的典型代表,是一种开源的企业级区块链框架,具有高度可扩展特性,可以根据业务需求进行模块化定制及灵活配置,同时采用容错设计确保了区块链网络的高度可靠性。相较于以太坊、比特币等公有链,具有授权准入机制,拥有更高的安全性。EOS的DPoS共识机制虽然提高了性能,但导致网络过于集中,违背了区块链的去中心化原则。Hyperledger Fabric 更适用于构建医联体疾控信息共享系统的架构。系统的区块链节点布局如图1所示。
2.2 业务流程分析
根据实际业务需求,疾控信息发布与共享场景主要参与方包括社区采样点、医联体内各医疗机构、卫生管理部门以及公共场所[5],每个参与方与区块链节点相对应。业务流程如图2所示。
2.2.1 社区采样节点
负责辖区内人员的采样工作,收集包括人员身份信息(如姓名、身份证号、联系方式等)和样本条码信息,将收集到的信息作为交易数据打包成区块,提交到区块链网络中。这一步骤实现对采样信息的上链存证,确保数据的不可篡改性和可追溯性。区块链上新增相应的账本记录,并自动同步到网络中的所有节点,确保所有参与方都能及时获取到最新的采样信息。
2.2.2 医疗机构节点
接收来自社区采样点的检验样本,进行实验室检测并记录检测结果。医疗机构通过输入检验条码在链上进行检索查询,找到对应的账本记录后进行检验结果的更新操作。更新后的检验结果再次上链存证,并同步到区块链网络中的其他节点,使得监管部门、公共场所等能够及时获取到最新的检测结果。
2.2.3 卫生监管节点
负责监管整个检测流程,包括采样、运输、检测等环节,并进行数据分析。通过输入人员身份信息在链上查询相应的样本记录。查询成功后,监管部门可以获取到完整的样本信息链,包括采样时间、地点、检测结果等。监管部门根据查询结果进行数据分析,及时发现阳性病例,评估风险并制定相应的防控措施。同时,监管部门可以统计出检测率等数据,为决策提供科学依据。
2.2.4 公共场所节点
为公共场所(如商场、学校、公共交通等)提供查询服务,以便快速识别并限制高风险人员的流动。通过输入人员身份信息在链上查询样本记录,查询成功后,公共场所可以获取到该人员的最新检测结果,并据此决定是否允许其进入或采取其他防控措施。公共场所通过区块链技术实现对人员流动的有效管控,并降低传播风险。
2.3 架构设计
本系统的整体架构是以Hyperledger Fabric 网络架构为基础进行设计,包括用户交互层、应用服务层、接口封装层、区块链路层,整体架构如图3所示。
2.3.1 用户交互层
项目采用前后端分离的VUE+SpringBoot框架进行开发设计。这种架构模式能够充分发挥VUE在前端界面交互、用户体验方面的优势,同时利用Spring⁃Boot在快速搭建RESTful API、集成安全框架、数据库访问等方面的强项。VUE是一款轻量级、高效的前端框架,具有良好的扩展性和可维护性,可以帮助开发人员更快地构建出高质量的前端应用程序。用户交互层提供用户及权限管理、角色管理、组织及部门管理、疾控信息记录新增、删除、修改、查询以及追溯等操作界面。
2.3.2 应用服务层
SpringBoot 是一个可以快速构建生产级别的Spring程序,框架具有简化配置、快速开发、易于部署的优点,为系统提供后台应用服务及数据操作维护功能。它接收并响应用户交互层的消息请求,通过操作本地数据库进行用户、角色、部门等记录的维护及权限校验,同时通过调用接口封装层的接口对区块链进行相应操作,实现疾控信息记录的链上查询及维护。
2.3.3 接口封装层
fabric-gateway-java 是Fabric 区块链官方提供的用于区块链网络交互的Java SDK客户端库,简化了Fabric网络通信过程,使开发者可以更多关注于业务逻辑实现。通过对fabric-gateway-java 接口封装,构建起独立的对外提供服务的RESTful接口服务。该服务与区块链上的智能合约交互,完成对链上数据的新增、删除、修改、查询及追溯操作。
2.3.4 区块链路层
区块链路层为平台提供基础服务、智能合约、安全体系和区块链运维的支撑,包括成员服务、区块链服务、链码服务、网络通信等。在区块链链码服务基础上,进行智能合约开发,实现对底层账本维护的具体业务逻辑[6]。智能合约的开发选用开源的Go语言,其语法简单易读,支持并发编程,适合高性能程序和分布式系统开发,广泛应用于区块链领域,如Cosmos和Hyperledger Fabric。
2.4 功能设计
基于对区块链疾控信息共享系统的业务流程分析,系统功能主要从联盟链管理、数据采集与维护、信息追溯和系统监管四个模块进行设计[7]。系统功能如图4所示。
2.4.1 联盟链管理
人员信息管理:用于对链上各参与方(如社区采样点、各医疗机构、监管部门等)的应用系统用户进行身份认证和权限分配,只有鉴权通过的用户才能通过前置机调用区块链接口进行操作。实现用户信息的注册、修改、删除功能,确保用户信息的准确性和时效性。
院区信息管理:设计院区信息注册模块,允许医联体及各组织内部部门在链上进行登记,实现用户分类授权功能,根据用户所属院区或部门分配相应的操作权限和访问范围。提供一个可视化的院区信息管理界面,方便管理人员进行信息的维护和查询。
区块链节点配置信息管理:区块链节点配置是前置服务调用节点接口的关键信息,存储在前置机的配置文件中。为了能够便捷地查询,开发对应的节点配置信息管理模块。
2.4.2 数据采集与维护
受检人员的基本信息:设计受检人员信息录入界面,包括姓名、性别、年龄、身份证号、现住址、联系电话等必填项。实现信息的实时上传和区块链存证功能,确保受检人员信息的不可篡改性和可追溯性。
标本信息:在采样时打印唯一的样本试管条码,并通过扫描条码实现受检人与样本信息的绑定。将样本信息(如样本ID、采样时间、采样地点等)与受检人信息一同上链存证。
标本检测信息:各医疗机构通过扫描样本试管条码在链上查询对应的检测记录,并更新检测结果(如阴性、阳性、待复查等)。实现检测结果的实时上传和区块链存证功能,确保检测信息的准确性和可靠性。
2.4.3 系统监管
阳性病例筛查:设计阳性病例筛查功能,允许卫生健康主管部门通过查询链上数据与本地人员信息库进行比对。一旦发现阳性病例,立即触发警报机制,并通过链上获取的受检人员基本信息和联系方式在第一时间定位患者。提供详细的阳性病例处理流程指导,协助主管部门开展隔离措施和流行病学调查等处置工作。
2.4.4 信息追溯
利用区块链技术的可追溯特性设计信息追溯功能。用户(如监管部门、各医疗机构等)可以通过输入人员身份信息或样本条码在链上查询指定人员的采样检测历史信息。提供详细的追溯报告,包括采样时间、检测时间、检测机构、检测结果等关键信息,帮助用户全面了解采样检测过程。
3 效果分析
3.1 稳定性高
本系统采用分布式存储,与传统的集中式存储系统相比,消除了中心节点带来的单点故障风险及中心节点效率瓶颈。通过接口封装层将上链业务与节点内其他业务进行隔离,降低系统间的耦合性,进一步提升了系统的稳定性。同时,利用Postman接口测试工具对平台循环连续发起10 000次查询账本记录信息请求,总耗时140秒,平均响应时间14毫秒,测试通过率100%,平台运行稳定。测试结果如图5所示。
3.2 安全性高
本系统选用Hyperledger Fabric区块链平台,该平台采用拜占庭容错算法作为其共识机制,确保在有限的恶意节点存在下,区块链系统能够正常运作。为了提高数据安全性,在传输和存储过程中利用非对称加密RSA算法对数据进行加密处理,未经授权无法进行查看及修改。同时,修改后的记录能够通过查看溯源日志进行数据溯源[8]。
3.3 部署灵活
系统部署可分为安装运行环境、安装Fabric网络组件、部署应用程序三部分。运行环境配置信息:Ubuntu 22.04.2,4核CPU,8G内存,使用Docker作为系统Fabric网络的运行环境,安装Docker 24.0.6。Fabric 网络组件已被打包成可移植的镜像发布到Docker仓库中,通过拉取Docker镜像仓库中的镜像完成peer、orderer、ca等组件的安装,通过配置确定网络中的节点种类及数量。应用程序包括智能合约程序、应用服务程序两部分,部署前安装Go 1.17.6、Java 1.8.0环境,然后打包应用程序为可执行的JAR包上传服务器。鉴于疾控信息的敏感性,传统信息发布及共享系统多在医疗专网中搭建以提高数据安全性,由此降低了系统部署的灵活性及效率。系统具有区块链技术的高隐私保护性、高可靠性等技术特点,能够在现有互联网环境中进行快速部署。同时,基于Hyperledger Fab⁃ric平台的高度模块化和灵活配置架构以及可插拔的共识协议[9],业务流程中涉及的各组织作为链上的每一个节点可灵活接入及退出。
4 结论
本系统以疾控信息共享为切入点,通过区块链技术在医联体内疾控信息共享场景中的创新应用,有效提升疾控信息共享的及时性、安全性和疾控协同的便捷性,为医联体内数据互通共享提供了基于区块链技术的解决方案。
本系统在区块链的网络存储优化和个人隐私数据保护方面尚存在局限性。在后续研究中需要进一步完善和提升,通过将区块链技术植入到更多的医联体信息协同场景中,构建“区块链+检验检查结果互认共享”“ 区块链+医疗主数据字典共享”等更加丰富的“区块链+医联体”新模态。