利索能及
我要发布
收藏
专利号: 2019104865357
申请人: 重庆邮电大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-12-01
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种面向电子医疗病历的区块链迁移与存储方法,其特征在于:在传统医疗数据系统中提取电子病历关系表来构建多叉树信息模型,通过构建生成的多叉树信息模型对传统电子病历的关系表型数据进行数据转换,将生成的非关系型病历数据与迁移区块链上的已有用户信息进行信息匹配;当匹配到相关用户信息时,根据多叉树信息模型和非关系型病历数据发送的信息参数建立智能合约,对转换成功的非关系型病历数据按照新区块链的元交易数据结构和新交易数据结构进行区块链的交易广播,完成从传统医疗数据系统到区块链数据系统的迁移过程;

其中,按照新区块链的元交易数据内容,将元交易相对应的非关系型病历数据信息依次整合为具有链式顺序的新交易数据结构,固化在整个区块中,成为区块链数据;

所述构建多叉树信息模型,包括以下步骤:

S11:对于存在多张关系表相互嵌套的电子病历数据,使用多叉树模型逐级映射结构化数据关系表,多叉树的根节点或子节点对应关系表中的主键与外键,多叉树叶节点对应关系表中的字段,即属性;

S12:获取电子病历关系表中的患者信息表Patient,并将Patient表的主键作为整个多叉树模型的根节点;

S13:将关系表中的字段映射为多叉树的子节点;

S14:判断子节点是否为外键属性,若当前节点为外键属性,则开启新线程,跳转到外键所属主表执行程序,重复步骤S12‑S14,直到表中没有未加入多叉树节点的外键属性;

S15:遍历所有关系节点,若所在关系表中的所有字段都添加至相映射的多叉树中,结束程序;否则,读取没有加入到多叉树节点的字段值,重复步骤S13;

所述通过构建生成的多叉树信息模型对传统电子病历的关系表型数据进行数据转换,将生成的非关系型病历数据与迁移区块链上的已有用户信息进行信息匹配,具体包括以下步骤:S21:获取多叉树模型根节点所映射的Patient关系表字段数据;

S22:按照多叉树模型的结构模型生成多叉树数据实例,从Patient关系表开始依次读取表中的每一条元组数据,直至所述Patient关系表中要被迁移的最后一条元组;

S23:对于所读取到的每一条元组数据,从每一条元组的第一个字段所对应的数据内容开始,逐步迁移至多叉树模型所实例化的叶节点与子节点中,直至所读取此条元组数据的最后一个字段所对应的数据内容被迁移完成;

S24:对于所读取到的关系表中每一条元组数据相对应的每一个外键字段,即属性,按照先前所生成的多叉树模型节点关系,跳转到外键字段对应主键字段所属的数据关系表中,依次读取多叉树模型所映射到外键字段对应的关系表中的元组数据,直到迁移至最底端的叶节点;

S25:对于与Patient关系表无直接或间接联系的独立数据关系表,依据多叉树建模方法,获取其关系表中的主键做作为整个多叉树模型的根节点,依次迁移数据;

S26:将生成的非关系型用户病历数据与区块链中已存在的相关用户信息进行匹配所述相关用户信息包括Patient关系表中的患者个人信息,即患者姓名,身份证号,性别,出生日期;还包括所述传统医疗数据系统中的患者唯一标识数据,即Patient关系表中的主键信息;以及所述Patient关系表中监护人或其他家庭成员所组成的关系网信息;

对转换成功的非关系型病历数据迁移至区块链的步骤包括:

S31:获取非关系型数据根节点与区块链上已有用户信息进行匹配;

S32:若用户信息匹配成功,将匹配成功的返回值作为参数传递给智能合约,节点间背书并开始发布交易内容;

S33:若用户信息匹配失败,将匹配失败的返回值和设定的有效期限值作为参数传递给智能合约,节点背书但并不发布,检测合约期限内是否有用户信息匹配;

S34:若在合约期限内匹配到相关用户信息,则执行步骤S32;

S35:若在合约期限内未匹配到相关用户信息,则进行交易回退操作,存储回非关系型数据库中,等待执行步骤S31;

S36:发布交易的病历数据按照新区块链的元交易数据结构和新交易数据结构进行数据存储。

2.根据权利要求1所述的面向电子医疗病历的区块链迁移与存储方法,其特征在于:区块链存储数据格式包括以下信息:区块链整体数据结构包括区块头与区块体,所述区块头包含区块散列与前一个区块散列,区块体包含两种不同的交易信息,即元交易数据和新交易数据;

其中,元交易数据用来描述数据属性的信息,包括区块链版本信息,多叉树模型负载与负载长度以及导入日志信息;其中,版本信息标识着当时导入区块链中的版本;负载长度标识生成的多叉树模型的数据量的大小;模型负载标识生成的半结构化数据的多叉树模型;

导入日志记录导入数据的关系型数据库侧的存储位置以及数据负载;新交易数据用来存储转换完成的病历数据,包括区块链交易数据所对应电子病历关系表的元数据,逻辑时间,交易负载和导入日志;其中,元数据代表关系型数据库侧的元数据信息,包括存储位置,历史数据、文件记录;逻辑时间代表对应数据在关系型数据库侧生成数据的时间,非区块链的导入时间,逻辑时间将病人的病历结果以正常就诊时间在区块链中表示出来。

3.根据权利要求1所述的面向电子医疗病历的区块链迁移与存储方法,其特征在于:所述节点包括区块链索引模块,链表模块和状态存储模块;

智能合约发布完成后,区块链框架模块调用链表模块接收达成共识的交易内容,通过调用索引模块对交易内容建立索引,并加入逻辑时间状态,调用状态存储模块将交易内容进行存储;当状态存储模块完成存储,产生交易回执,通知数据转换模块进行数据标记;数据转换模块将存储完成状态反馈回电子病历关系表中,完成整个区块链的迁移过程。