买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种面向电子医疗病历的区块链迁移与存储方法_重庆邮电大学_201910486535.7 

申请/专利权人:重庆邮电大学

申请日:2019-06-05

公开(公告)日:2023-01-24

公开(公告)号:CN110197708B

主分类号:G16H10/60

分类号:G16H10/60;G06F16/81;G06F16/84;G06F16/27;G06F16/22

优先权:

专利状态码:有效-授权

法律状态:2023.01.24#授权;2019.09.27#实质审查的生效;2019.09.03#公开

摘要:本发明涉及一种面向电子医疗病历的区块链迁移与存储方法,属于区块链技术领域,该方法在传统医疗电子病历数据库关系型数据库与新构建的医疗电子病历区块链系统非关系型数据库中提供一种旧有数据迁移至新区块链网络的解决方案,可实现从传统数据库到区块链数据的迁移与映射。通过对传统医疗数据库进行多叉树数据模型的建构,将以医院‑科室为中心的集中式数据库体系转换为以病患为中心的分布式数据库体系。本发明一方面保证了数据在新旧数据库迁移中的完整性和鲁棒性。另一方面,通过对模型树的建构保证了可以实现高效率的持续数据迁移。

主权项: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:发布交易的病历数据按照新区块链的元交易数据结构和新交易数据结构进行数据存储。

全文数据:一种面向电子医疗病历的区块链迁移与存储方法技术领域本发明属于区块链技术领域,涉及一种面向电子医疗病历的区块链迁移与存储方法。背景技术区块链最早可追溯于1991年,由Haber和Bayeret提出了在分布式系统里采用加密的哈希函数和默克尔树,用时间戳高效、安全的记录数据,并将加密的数据区块连接成链。直至2008年,中本聪发表了一篇《比特币:一种点对点的电子现金系统》,宣布了第一代区块链技术的诞生与大规模应用。此后的区块链技术则是将分布式数据存储、点对点传输、共识机制和加密算法等技术从比特币中提炼出来,配合自动化脚本代码所组成的智能合约来进行编程和业务处理的一种分布式存储账本体系。随着区块链技术在最近这几年的不断进行落地应用与实施,区块链与传统医疗行业结合成为一种主流趋势。由于传统医疗机构早已采用的医院信息系统HISHospitalInformationSystem这种集中式关系型数据库系统存储病患信息,导致在构建医疗区块链这种非关系型存储系统时,存储在关系型数据库中的有价值数据并不能无缝迁移至非关系型的区块链存储系统中。现有关于医疗区块链技术中,大多技术或专利都是从构建医疗区块链的整体流程着手,包括设计分布医疗信息的存储节点、医疗区块链的整体功能和电子病历信息的隐私访问控制策略等方面进行技术阐述与申请。而区块链的数据迁移技术多是将旧有区块链的数据迁移到新版本的区块链中,或是提出一种通用的关系型数据库迁移到非关系型数据库系统的技术。由此导致在区块链医疗方面,采用目前已有方法将医院传统数据库的旧有电子病历信息迁移到区块链数据库中是困难的。因此,本发明提供一种面向电子医疗病历的区块链迁移与存储方法。发明内容有鉴于此,本发明的目的在于提供一种面向电子医疗病历的区块链迁移与存储方法,能够将医院数据库中已有的电子病历信息自动构建成多叉树模型,并通过构建好的多叉树模型对关系型数据转化为半结构化数据并存储,匹配现有的区块链上的用户信息,自动发布智能合约,并转换迁移至现有的区块链存储系统中。为达到上述目的,本发明提供如下技术方案:一种面向电子医疗病历的区块链迁移与存储方法,在传统医疗数据系统中提取电子病历关系表来构建多叉树信息模型,通过构建生成的多叉树信息模型对传统电子病历的关系表型数据进行数据转换,将生成的非关系型病历数据与迁移区块链上的已有用户信息进行信息匹配。当匹配到相关用户信息时,根据多叉树信息模型和非关系型病历数据发送的信息参数建立智能合约,对转换成功的非关系型病历数据按照新区块链的元交易数据结构和新交易数据结构进行区块链的交易广播,完成从传统医疗数据系统到区块链数据系统的迁移过程。其中,按照所述新区块链的元交易数据内容,将元交易相对应的非关系型病历数据信息依次整合为具有链式顺序的新交易数据结构,固化在整个区块中,成为区块链数据。进一步,所述构建多叉树信息模型,包括以下步骤:S11:对于存在多张关系表相互嵌套的电子病历数据,使用多叉树模型逐级映射结构化数据关系表,多叉树的根节点或子节点对应关系表中的主键与外键,而多叉树叶节点对应关系表中的字段属性。S12:获取电子病历关系表中的Patient患者信息表,并将Patient表的主键作为整个多叉树模型的根节点。S13:将关系表中的字段映射为多叉树的子节点。S14:判断子节点是否为外键属性,若当前节点为外键属性,则开启新线程,跳转到外键所属主表执行程序,重复步骤S12-S14,直到表中没有未加入多叉树节点的外键属性。S15:遍历所有关系节点,若所在关系表中的所有字段都添加至相映射的多叉树中,结束程序。否则,读取没有加入到多叉树节点的字段值,重复步骤S13。进一步,所述通过构建生成的多叉树信息模型对传统电子病历的关系表型数据进行数据转换,将生成的非关系型病历数据与迁移区块链上的已有用户信息进行信息匹配,具体包括以下步骤:S21:获取多叉树模型根节点所映射的Patient关系表字段数据。S22:按照多叉树模型的结构模型生成多叉树数据实例,从所述的Patient关系表开始依次读取所述表中的每一条元组数据,直至所述关系表中要被迁移的最后一条元组。S23:对于所读取到的每一条元组数据,从每一条元组的第一个字段所对应的数据内容开始,逐步迁移至多叉树模型所实例化的叶节点与子节点中,直至所读取此条元组数据的最后一个字段所对应的数据内容被迁移完成。S24:对于所读取到的关系表中每一条元组数据相对应的每一个外键字段属性,按照先前所生成的多叉树模型节点关系,跳转到外键字段对应主键字段所属的数据关系表中,依次读取多叉树模型所映射到外键字段对应的关系表中的元组数据,直到迁移至最底端的叶节点。S25:对于与Patient关系表无直接或间接联系的独立数据关系表,依据多叉树建模方法,获取其关系表中的主键做作为整个多叉树模型的根节点,依次迁移数据。S26:将生成的非关系型用户病历数据与区块链中已存在的相关用户信息进行匹配。更进一步的,所述相关用户信息包括所述Patient关系表中的患者姓名,身份证号,性别,出生日期等患者个人信息;所述传统电子病历数据系统中的患者唯一标识数据,即Patient关系表中的主键信息;以及所述Patient关系表中监护人或其他家庭成员所组成的关系网信息。进一步,对转换成功的非关系型病历数据迁移至区块链的步骤包括:S31:获取非关系型数据根节点与区块链上已有用户信息进行匹配。S32:若用户信息匹配成功,将匹配成功的返回值作为参数传递给智能合约,节点间背书并开始发布交易内容。S33:若用户信息匹配失败,将匹配失败的返回值和设定的有效期限值作为参数传递给智能合约,节点背书但并不发布,检测合约期限内是否有用户信息匹配。S34:若在合约期限内匹配到相关用户信息,则执行步骤S32。S35:若在合约期限内未匹配到相关用户信息,则进行交易回退操作,存储回非关系型数据库中,等待执行步骤S31。S36:发布交易的病历数据按照新区块链的按照新区块链的元交易数据结构和新交易数据结构进行数据存储。更进一步的,区块链存储数据格式包括以下信息:区块链整体数据结构分为区块头与区块体两部分。区块头包含区块散列与前一个区块散列。区块体包含两种不同的交易信息,即元交易数据和新交易数据。其中,元交易数据用来描述数据属性的信息,包括区块链版本信息,多叉树模型负载与负载长度以及导入日志信息。其中,版本信息标识着当时导入区块链中的版本。负载长度标识生成的多叉树模型的数据量的大小。模型负载标识生成的半结构化数据的多叉树模型。而导入日志则记录导入数据的关系型数据库侧的存储位置以及数据负载等信息。新交易数据用来存储转换完成的病历数据,包括区块链交易数据所对应电子病历关系表的元数据,逻辑时间,交易负载和导入日志。其中,元数据代表了关系型数据库侧的元数据信息,包括存储位置,历史数据、文件记录等功能。而逻辑时间代表了该数据在关系型数据库侧生成数据的时间,而非区块链的导入时间,逻辑时间将病人的病历结果以正常就诊时间在区块链中表示出来。导入日志则记录导入数据的关系型数据库侧的存储位置以及数据负载等信息。更进一步的,所述节点发包括括区块链索引模块,链表模块和状态存储模块;智能合约发布完成后,区块链框架模块调用链表模块接收达成共识的交易内容,通过调用索引模块对交易内容建立索引,并加入逻辑时间状态,调用状态存储模块将交易内容进行存储。当状态存储模块完成存储,产生交易回执,通知数据转换模块进行数据标记。数据转换模块将存储完成状态反馈回电子病历关系表中,完成整个区块链的迁移过程。本发明的有益效果在于:本发明一方面保证了数据在新旧数据库迁移中的完整性和鲁棒性。另一方面,通过对模型树的建构保证了可以实现高效率的持续数据迁移。本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。附图说明为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:图1是本发明所述面向电子医疗病历区块链迁移与存储的方法的整体程序流程图;图2是本发明所述面向电子医疗病历区块链迁移与存储的方法中多叉树建模流程图;图3是本发明所述面向电子医疗病历区块链迁移与存储的方法中区块链存储的数据结构图;图4是本发明所述面向电子医疗病历区块链迁移与存储的方法中区块链存储数据结构图中元交易结构图;图5是本发明所述面向电子医疗病历区块链迁移与存储的方法中区块链存储数据结构图中新交易结构图;图6是本发明所述面向电子医疗病历区块链迁移与存储的方法的整体结构图。具体实施方式以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。区块链系统是一种防篡改的、共享的数字化分布式记账系统,按照区块链的规模和运行模式可分为公有链,私有链以及联盟链。每个区块链系统中包含若干个节点,若干个节点之间可发生不同的交易,并因此产生交易数据。区块链系统通过背书机制与共识算法对各个交易数据进行一致性确定,从而对交易数据进行处理,形成账本数据,也称区块数据。当区块链技术与医疗电子病历系统相结合时,由于区块链技术所采用的是非关系型数据库NoSQL,而传统医疗电子病历系统往往采用的是关系型数据库。关系型数据库是指采用了关系模型来组织数据的数据库。而关系模型指的是二维表格模型,一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。关系型数据库遵循规范化设计,保证设计的最小化数据冗余,关系结构紧密。而非关系型数据库是指不遵循范式结构设计的,分布式的,且一般不保证ACID原则的数据存储系统。NoSQL是以键值对存储,且结构不固定的存储方式。原有医疗电子病历系统并不能直接接入医疗区块系统中以获取病历信息,需要借助数据迁移中间件来完成病历信息从医疗系统到区块链的迁移过程。本发明各实施例的技术方案即涉及关系型数据库和非关系型数据库及区块链存储技术。图1是本发明实施例提供一种面向电子医疗病历的区块链迁移与存储方法的流程图,能够将医院数据库中已有的电子病历信息自动构建成多叉树模型,并通过构建好的多叉树模型对关系型数据转化为半结构化数据并存储,匹配现有的区块链上的用户信息,自动发布智能合约,并转换迁移至现有的区块链存储系统中。为实现上述目的,本发明提供一种数据迁移方法,其内容包括在传统医疗数据系统中提取电子病历关系表来构建多叉树信息模型,通过构建生成的多叉树信息模型对传统电子病历的关系表型数据进行数据转换,将生成的半结构化数据与迁移区块链上的已有用户信息进行信息匹配。当匹配到相关用户信息时,根据多叉树信息模型和非关系型病历数据发送的信息参数建立智能合约,对转换成功的非关系型病历数据按照新区块链的元交易数据结构和新交易数据结构进行区块链的交易广播,完成从传统医疗数据系统到区块链数据系统的迁移过程。其中,按照所述新区块链的元交易数据内容,将元交易相对应的非关系型病历数据信息依次整合为具有链式顺序的新交易数据结构,固化在整个区块中,成为区块链数据。本发明实施例所述的关系型数据库系统是指应用于医院电子病历系统的符合关系模型的数据库软件实体,包括但不限于常用的关系型数据库,例如:Oracle、DB2、MicrosoftSQLServer和MySQL等数据库系统。本发明实施例所述的非关系型数据库系统是指适用于联盟链的非关系型数据库软件实体,包括但不限于常用的非关系型数据库,例如:MongoDB、redis、HBase和CouchDB等数据库系统。可选地,图2是本发明实施例提供的一种多叉树模型建立流程图。其操作步骤如下:获取电子病历关系表中的Patient患者信息表S201,并将Patient表的主键作为整个多叉树模型的根节点。S202将关系表中的字段映射为多叉树的子节点,获取关系表中的节点。S203判断子节点是否为外键属性S204,若当前节点为外键属性,则开启新线程,跳转到外键所属主表执行程序S207,重复S202-S204,直到表中没有未加入多叉树节点的外键属性。判断下一个节点S205,遍历所有关系节点S206,若所在关系表中的所有字段都添加至相映射的多叉树中,结束程序。否则,读取没有加入到多叉树节点的字段值,重复S203。可选地,对于所述的数据迁移方法,其中,数据转换与用户匹配步骤包括:获取多叉树模型根节点所映射的Patient关系表字段数据。按照多叉树模型的结构模型生成多叉树数据实例,从所述的Patient关系表开始依次读取所述表中的每一条元组数据,直至所述关系表中要被迁移的最后一条元组。其中,读取多叉树数据的树遍历算法包括但并不限于常见算法,例如:前序遍历算法,中序遍历算法和后续遍历算法等。对于所读取到的每一条元组数据,从每一条元组的第一个字段所对应的数据内容开始,逐步迁移至多叉树模型所实例化的叶节点与子节点中,直至所读取此条元组数据的最后一个字段所对应的数据内容被迁移完成。对于所读取到的关系表中每一条元组数据相对应的每一个外键字段属性,按照先前所生成的多叉树模型节点关系,跳转到外键字段对应主键字段所属的数据关系表中,依次读取多叉树模型所映射到外键字段对应的关系表中的元组数据,直到迁移至最底端的叶节点。对于与Patient关系表无直接或间接联系的独立数据关系表,依据权利要求2的多叉树建模方法,获取其关系表中的主键做作为整个多叉树模型的根节点,依次迁移数据。将生成的非关系型用户病历数据与区块链中已存在的相关用户信息进行匹配。可选地,对于所匹配的相关用户信息至少包含以下信息:所述Patient关系表中的患者姓名,身份证号,性别,出生日期等患者个人信息。所述传统电子病历数据系统中的患者唯一标识数据,即Patient关系表中的主键信息。以及所述Patient关系表中监护人或其他家庭成员所组成的关系网信息。其中以姓名,性别和身份证号为主的患者个人信息作为严格匹配条件,存在任意一条与个人信息不相符的条件就不能进行匹配。而以Patient关系表中监护人或其他家庭成员所组成的关系网信息则可以通过设定阈值匹配度来作为弱条件匹配,例如阈值匹配度在80%以上的用户信息可以进行匹配。通过对符合个人信息的强条件匹配与关系网信息的弱条件匹配,对区块链上的用户进行匹配推送,经由患者用户通过web端或app端同意匹配后,进行数据的正式迁移。可选地,如图1所示,对于转换完成的非关系型病历数据迁移至区块链的步骤包括:获取非关系型数据根节点与区块链上已有用户信息进行匹配S103。若用户信息匹配成功,将匹配成功的返回值作为参数传递给智能合约,智能合约开始生成与执行S104,节点间背书并开始发布交易内容S109。若用户信息匹配失败,将匹配失败的返回值和设定的有效期限值作为参数传递给智能合约S105,节点背书但并不发布S106,检测合约期限内是否有用户信息匹配S108。若在合约期限内匹配到相关用户信息,则执行交易背书,并广播各个节点进行消息的发布S109。若在合约期限内未匹配到相关用户信息,则进行交易回退操作S107,存储回非关系型数据库缓冲区,等待执行S103。发布交易的病历数据按照新区块链的按照新区块链的元交易数据结构和新交易数据结构进行数据存储。可选地,如图3所示为区块链数据结构图。对于所述的区块链存储数据格式包括以下信息:区块链整体数据结构分为区块头与区块体两部分。区块头包含区块散列S301与前一个区块散列S302。区块体包含两种不同的交易信息,即元交易数据S303和新交易数据S304。可选地,如图4所示为元交易数据结构图。元交易数据用来描述数据属性的信息,包括区块链版本信息S401,多叉树模型负载S403与负载长度S402以及导入日志信息S404。其中,版本信息标识着当时导入区块链中的版本。负载长度标识生成的多叉树模型的数据量的大小。模型负载标识生成的半结构化数据的多叉树模型。而导入日志则记录导入数据的关系型数据库侧的存储位置以及数据负载等信息。可选地,如图5所示为新交易数据结构图。新交易数据用来存储转换完成的病历数据,包括区块链交易数据所对应电子病历关系表的元数据S501,逻辑时间S502,交易负载S503和导入日志S504。其中,元数据代表了关系型数据库侧的元数据信息,包括存储位置,历史数据、文件记录等功能。而逻辑时间代表了该数据在关系型数据库侧生成数据的时间,而非区块链的导入时间,逻辑时间将病人的病历结果以正常就诊时间在区块链中表示出来。导入日志则记录导入数据的关系型数据库侧的存储位置以及数据负载等信息。可选地,如图6所示为数据迁移系统的整体结构图。对于迁移与存储方法所应用的区块链架构,包括但不限于常用的联盟链区块链平台。例如:HyperledgerFabric、Ripple以及OpenChain等联盟链平台。其存储节点模块应当包括区块链索引模块,链表模块和状态存储模块三种。智能合约发布完成后,区块链框架模块调用链表模块接收达成共识的交易内容,通过调用索引模块对交易内容建立索引,并加入逻辑时间状态,调用状态存储模块将交易内容进行存储。当状态存储模块完成存储,产生交易回执,通知数据转换模块进行数据标记。数据转换模块将存储完成状态反馈回电子病历关系表中,完成整个区块链的迁移过程。最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

权利要求:1.一种面向电子医疗病历的区块链迁移与存储方法,其特征在于:在传统医疗数据系统中提取电子病历关系表来构建多叉树信息模型,通过构建生成的多叉树信息模型对传统电子病历的关系表型数据进行数据转换,将生成的非关系型病历数据与迁移区块链上的已有用户信息进行信息匹配;当匹配到相关用户信息时,根据多叉树信息模型和非关系型病历数据发送的信息参数建立智能合约,对转换成功的非关系型病历数据按照新区块链的元交易数据结构和新交易数据结构进行区块链的交易广播,完成从传统医疗数据系统到区块链数据系统的迁移过程;其中,按照新区块链的元交易数据内容,将元交易相对应的非关系型病历数据信息依次整合为具有链式顺序的新交易数据结构,固化在整个区块中,成为区块链数据。2.根据权利要求1所述的面向电子医疗病历的区块链迁移与存储方法,其特征在于:所述构建多叉树信息模型,包括以下步骤:S11:对于存在多张关系表相互嵌套的电子病历数据,使用多叉树模型逐级映射结构化数据关系表,多叉树的根节点或子节点对应关系表中的主键与外键,多叉树叶节点对应关系表中的字段,即属性;S12:获取电子病历关系表中的患者信息表Patient,并将Patient表的主键作为整个多叉树模型的根节点;S13:将关系表中的字段映射为多叉树的子节点;S14:判断子节点是否为外键属性,若当前节点为外键属性,则开启新线程,跳转到外键所属主表执行程序,重复步骤S12-S14,直到表中没有未加入多叉树节点的外键属性;S15:遍历所有关系节点,若所在关系表中的所有字段都添加至相映射的多叉树中,结束程序;否则,读取没有加入到多叉树节点的字段值,重复步骤S13。3.根据权利要求2所述的面向电子医疗病历的区块链迁移与存储方法,其特征在于:所述通过构建生成的多叉树信息模型对传统电子病历的关系表型数据进行数据转换,将生成的非关系型病历数据与迁移区块链上的已有用户信息进行信息匹配,具体包括以下步骤:S21:获取多叉树模型根节点所映射的Patient关系表字段数据;S22:按照多叉树模型的结构模型生成多叉树数据实例,从Patient关系表开始依次读取表中的每一条元组数据,直至所述Patient关系表中要被迁移的最后一条元组;S23:对于所读取到的每一条元组数据,从每一条元组的第一个字段所对应的数据内容开始,逐步迁移至多叉树模型所实例化的叶节点与子节点中,直至所读取此条元组数据的最后一个字段所对应的数据内容被迁移完成;S24:对于所读取到的关系表中每一条元组数据相对应的每一个外键字段,即属性,按照先前所生成的多叉树模型节点关系,跳转到外键字段对应主键字段所属的数据关系表中,依次读取多叉树模型所映射到外键字段对应的关系表中的元组数据,直到迁移至最底端的叶节点;S25:对于与Patient关系表无直接或间接联系的独立数据关系表,依据多叉树建模方法,获取其关系表中的主键做作为整个多叉树模型的根节点,依次迁移数据;S26:将生成的非关系型用户病历数据与区块链中已存在的相关用户信息进行匹配。4.根据权利要求3所述的面向电子医疗病历的区块链迁移与存储方法,其特征在于:所述相关用户信息包括Patient关系表中的患者个人信息,即患者姓名,身份证号,性别,出生日期;还包括所述传统电子病历数据系统中的患者唯一标识数据,即Patient关系表中的主键信息;以及所述Patient关系表中监护人或其他家庭成员所组成的关系网信息。5.根据权利要求1所述的面向电子医疗病历的区块链迁移与存储方法,其特征在于:对转换成功的非关系型病历数据迁移至区块链的步骤包括:S31:获取非关系型数据根节点与区块链上已有用户信息进行匹配;S32:若用户信息匹配成功,将匹配成功的返回值作为参数传递给智能合约,节点间背书并开始发布交易内容;S33:若用户信息匹配失败,将匹配失败的返回值和设定的有效期限值作为参数传递给智能合约,节点背书但并不发布,检测合约期限内是否有用户信息匹配;S34:若在合约期限内匹配到相关用户信息,则执行步骤S32;S35:若在合约期限内未匹配到相关用户信息,则进行交易回退操作,存储回非关系型数据库中,等待执行步骤S31;S36:发布交易的病历数据按照新区块链的按照新区块链的元交易数据结构和新交易数据结构进行数据存储。6.根据权利要求5所述的面向电子医疗病历的区块链迁移与存储方法,其特征在于:区块链存储数据格式包括以下信息:区块链整体数据结构包括区块头与区块体,所述区块头包含区块散列与前一个区块散列,区块体包含两种不同的交易信息,即元交易数据和新交易数据;其中,元交易数据用来描述数据属性的信息,包括区块链版本信息,多叉树模型负载与负载长度以及导入日志信息;其中,版本信息标识着当时导入区块链中的版本;负载长度标识生成的多叉树模型的数据量的大小;模型负载标识生成的半结构化数据的多叉树模型;导入日志记录导入数据的关系型数据库侧的存储位置以及数据负载;新交易数据用来存储转换完成的病历数据,包括区块链交易数据所对应电子病历关系表的元数据,逻辑时间,交易负载和导入日志;其中,元数据代表关系型数据库侧的元数据信息,包括存储位置,历史数据、文件记录;逻辑时间代表对应数据在关系型数据库侧生成数据的时间,非区块链的导入时间,逻辑时间将病人的病历结果以正常就诊时间在区块链中表示出来;导入日志记录导入数据的关系型数据库侧的存储位置以及数据负载。7.根据权利要求5所述的面向电子医疗病历的区块链迁移与存储方法,其特征在于:所述节点包括括区块链索引模块,链表模块和状态存储模块;智能合约发布完成后,区块链框架模块调用链表模块接收达成共识的交易内容,通过调用索引模块对交易内容建立索引,并加入逻辑时间状态,调用状态存储模块将交易内容进行存储;当状态存储模块完成存储,产生交易回执,通知数据转换模块进行数据标记;数据转换模块将存储完成状态反馈回电子病历关系表中,完成整个区块链的迁移过程。

百度查询: 重庆邮电大学 一种面向电子医疗病历的区块链迁移与存储方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。