[发明专利]一种基于联盟链的链上-链下协同电子病历数据共享方法有效
申请号: | 202011449779.7 | 申请日: | 2020-12-11 |
公开(公告)号: | CN112559627B | 公开(公告)日: | 2023-08-04 |
发明(设计)人: | 王之琼;钟洁;王可馨;刘文兴;张川博;吕一鸣 | 申请(专利权)人: | 东北大学 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/23;G06F21/62;G06F21/64;G16H10/60 |
代理公司: | 沈阳东大知识产权代理有限公司 21109 | 代理人: | 李梁 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 联盟 协同 电子 病历 数据 共享 方法 | ||
1.一种基于联盟链的链上-链下协同电子病历数据共享方法,其特征在于:包括以下步骤:
步骤1:搭建区块链平台,建立区块链分布式超级账本Hyperledger Fabric区块链网络;
步骤1-1:利用Hyperledger Fabric平台的开源代码配置环境并设置区块数据模型;
步骤1-2:设计生成区块的生成区块函数CreatBlock、计算哈希值函数Calculatehash和检验数据是否篡改的检验函数Examine;
步骤1-3:利用Hyperledger Fabric多通道方案,一家医疗组织的节点处于同一通道,所有医疗组织选举主节点加入到一个通道实现数据共享;
步骤2:设计电子病历系统的“写入病历功能”;选用MySQL数据库作为区块链数据库,用于电子病历的存储;所述电子病历的存储分为链上存储和链下存储,电子病历的内容包括病人基本信息、入院出院记录,会诊记录、手术记录、死亡记录和知情同意书信息;
所述链上存储对用户输入的电子病历进行哈希运算形成摘要,同时使用患者和医生的公钥对该摘要进行数字签名,该签名结果用于验证用户身份,控制其访问权限;将摘要、签名后的结果、患者的身份信息和病历上传时间作为交易内容存储在区块链上;
所述链下存储保留用户未经处理的原始病历信息存储到链下的MySQL数据库中,通过从数据库中提取用户所请求的病历,对其进行运算得到摘要,将该摘要与存储在区块链中的摘要进行对比来验证数据的完整性;
步骤3:对于某一病人历史病历数据的查询、修改和删除操作,实现两个医院之间的数据共享和存储;
步骤3-1:用户请求对病历数据进行查询、修改和删除操作前,需向由验证节点构成的协作网络发送患者的身份信息和签名,以及所请求病历的主治医生的签名来验证身份,验证节点通过遍历所有区块的默克尔树merkle中存储的交易transaction,并使用发送的用户签名和主治医生签名对交易transaction中的签名结果进行解密,对比解密后的摘要和上传的摘要是否一致来控制其访问权限,一致则身份验证通过,否则身份验证失败,拒绝该用户访问;
步骤3-2:协作网络从所有节点中选举出主节点,主节点代替用户在数据库中对数据进行查询、修改和删除操作,每种操作分为本院和跨院两种情况,其中,所有的跨院操作在进行数据传递时使用json文本作为临时存储载体,经json解析器和Map映射函数实现两个医院之间的数据共享和存储。
2.根据权利要求1所述的一种基于联盟链的链上-链下协同电子病历数据共享方法,其特征在于,步骤1-2中所述生成区块函数CreatBlock如下所示:
Newblock=CreateBlock(blockHeaders,blockBody)
其中Newblock为创建的新区块;CreatBlock为创建区块函数,由超级账本中的peer节点模块执行;区块由区块头和区块体组成,区块头(blockHeaders)包括区块的高度(blockHeight)、区块的哈希值(Hash)、前一个区块的哈希值(prevBlockHash),时间戳(timeStamp)、Merkle树根的哈希值(merkleRoot);区块体(blockBody)包括区块内的交易(transactions)和区块的交易数量(numTransactions);
所述计算哈希值函数Calculatehash如下所示:
Hash=SHA(h)
其中SHA为SHA256函数;h包括前驱区块哈希值(prevBlockHash)、Merkle默克尔树根哈希值(merkleRootHash)、时间戳(timeStamp);Hash为当前区块哈希值;
所述检验函数Examine如下所示:
Consistent=Examine(thash(a),dhash(a))
其中Examine为检验两个参数是否相等的函数,返回值为布尔类型,Consistent返回为True说明病历数据一致,没有被篡改;返回为False说明病历数据不一致,被篡改了,thash是病人a所在叶子节点中存储的哈希值;dhash是本地数据库中病人a病历数据通过SHA256算法得到的哈希值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011449779.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种叶片叶根超声检测装置
- 下一篇:一种脂肪替代品制备及其应用
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置