本发明属于区块链技术领域,尤其涉及一种基于区块链的居民健康档案管理系统。
背景技术:
2009年4月7日公布的《医药卫生体制改革近期重点实施方案(2009-2011年)》提出,将促进基本公共卫生医药卫生体制改革近期重点实施方案医药卫生体制改革近期重点实施方案服务逐步均等化,使全体城乡居民都能享受基本公共卫生服务,最大限度地预防疾病。然而,在近10年的方案实施过程中,出现了非常多的问题。首先是信息采集困难,居民身份多样,个体差异大,部分人不配合建档,无法全面收集健康资料;其次,健康档案以社区为单位,管理分散,地区差异大,还有就是信息孤岛问题严重等等,总之,居民健康信息档案的建设,投入大,效果却不大,导致居民健康资料利用率低,并没有实现当初所设想的作用。
区块链技术是利用计算机实现的一种全新的记账方式,具有不可篡改性特点,非常适合用在档案管理中。其也是一种去中心化的技术,符合当前居民健康档案分散的特点,也可适用于流动人员健康档案的管理。
技术实现要素:
基于此,本发明的主要目的在于提供一种基于区块链的居民健康档案管理系统解决上述问题。
一种基于区块链的居民健康档案管理系统建立的方法和装置,其特征包括:客户端,ca节点,接入网关,记账节点,分布式存储节点。
其中,用户通过客户端介入区块链网络。
所述用户包括居民和医疗机构工作人员。
所述医疗机构包括医院,体检公司,私人诊所。
所述客户端,包括桌面客户端,浏览器客户端,移动客户端。
所述ca节点,用于数字证书的发放。
所述接入网关,目的是为了安全控制,包括成员注册,身份认证以及授权管理。
所述的记账节点是一个点对点的网络构架。
所述记账节点,包括区块链的管理,数字签名管理,密码算法管理。
所述分布式存储节点,用于居民健康档案区块链的分布式存储。
所述区块链管理包括区块的生成,区块的查询,区块的校验,区块的链接。
所述区块,包括区块链头,数据部分,元数据。
所述区块头,包括区块链编号,父区块数据哈希(hash)值,本区块数据的哈希(hash)值。
所述数据部分,包括区块编号,区块类型,信息添加时间戳,信息添加者id,区块内容信息。
所述元数据,包括区块信息添加次数及每次的哈希值,基础信息,附加信息。
所述基础信息,包括居民姓名,居民性别。
所述附加信息,包括居民住址,居民联系电话。
一种基于区块链的居民健康档案建立方法,所述方法包括:
用户通过客户端,接入网关进行成员注册并上传相应的证明文件,之后,通过身份认证并获得相应的权限。
通过身份认证的用户,通过ca节点获得ca证书。
居民用户到医疗机构就医时,提供相应的身份认证的信息,身份认证可以有多种方式,包括身份证,指纹,人脸。
医疗机构工作人员用户,通过客户端,接入网关,链接到记账节点中,输入居民用户信息。
进一步地,记账节点验证居民用户和医疗机构用户的合法性之后,通过分布式存储节点,查询到该居民所属的区块链,并通过客户端将该居民所属的区块链信息显示出来,医疗机构工作人员可以查阅该居民之前的诊疗信息,了解该用户之前的诊疗情况,尤其适合转诊居民的诊疗。
医疗机构工作人员,通过客户端,接入网关,链接到记账节点中,输入居民的诊疗信息。记账节点在添加区块之前,需要确认几个信息的有效及合法性:第一个是通过前一个区块的数据部分计算出的哈希值要与前一个区块的哈希值一致;第二是通过前一个区块的数据部分计算出的哈希值要与,前一个区块元数据中最后一次数据添加的哈希值一致;第三,新添加区块的数据的添加信息者数字签名合法。只有满足这三个条件的情况下,才能成功将区块信息加入到区块链中去。
进一步地,区块的链接,包括以下步骤:
步骤a,根据医疗机构工作人员输入的居民诊疗信息生成区块的数据部分。
步骤b,根据区块的数据部分计算本区块的哈希值。
步骤c,根据居民信息中的区块链id,上一区块哈希值,本区块哈希值,生成区块头。
步骤d,添加本区块的序号及哈希值。
步骤e,根据d,基础信息,附加信息生成元数据。
步骤f,将步骤a,c,e汇总,生成新的区块,并通过哈希指针链接到区块链中。
更进一步地,记账节点将区块添加信息加入到所属居民的区块链中,并通过分布式存储完成区块链区块添加的存储。
进一步地,记账节点通过点对点网络,向其他记账节点发出居民区块添加信息,其他记账节点完成同样的区块链的区块添加过程。
更进一步地,其他记账节点将区块添加信息加入到所属居民的区块链中,并通过分布式存储完成区块链区块添加的存储。
本发明的有益效果是:采用去中心化的分布式系统存储居民电子健康档案。解决了传统医疗档案分散存储在各个医疗机构,信息分割的状况。由于每个居民信息都存在同一区块链,因此也避免了病人转诊时,重复检查的问题,可以降低居民的医疗费用,也提高了诊疗的效率。区块链通过加密及分布式存储,防止居民的病历被篡改,提高了健康档案的安全性。也杜绝了医疗事故中,病历被篡改的问题。通过对区块链权限的管理,防止居民健康隐私的泄露,有效的保护了个人隐私。由于每个人的区块链都可以追踪到其母区块链,因此可以有效的对一些家族病进行密切的追踪。由于每个人只有一个区块链,无论居民区哪里就诊,所产生的区块信息都只是接入同一个区块链上,解决了流动人员建立健康档案困难的问题。
附图说明
图1为一个实施例中一种基于区块链的居民健康档案管理系统的功能模块构架图;
图2为一个实施例中一种基于区块链的居民健康档案管理系统的区块的链接方式图;
图3为一个实施例中一种基于区块链的居民健康档案管理系统的区块链应用流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例1
在本实施例中,如2所示,提供了一种区块链的链接方法,包括以下步骤:
首先是居民创世区块的生成。居民的创世区块的生成时间为该居民母亲在怀孕后,到社区医院建小卡时产生,在创世区块中,区块链的编号可以采用日期+8位顺序编号构成,即20200131xxxxxxxx。因此不会重复,且便于区块链的检索。每个居民有且只有一个区块链。数据部分的区块1内容为本次建小卡时所检查的结果内容,父区块的哈希值为本居民母亲建立小卡时所对应的本区块1的哈希值,本区块哈希值为由本区块数据部分用sha-256算法来生成。这时候,元数据添加信息次数为1,所对应的哈希值为本区块哈希值。
创世区块产生后,接下来的区块添加流程如下:首先,添加区块2,区块2中区块头包含信息有,区块链id,这个和上一个区块的区块链id一致。上一区块哈希值,本区块哈希值,本区块的哈希值有本区块数据部分通过sha-256计算得出。数据部分包含的信息有:区块编号、区块类型、信息添加的时间戳、信息添加者id、区块内容信息、添加者信息签名。同时元数据中的区块信息添加次数,增加数据2和本区块的哈希值。元数据中的人才基础信息不变。这样就完成了一个添加了区块2的过程。其余区块的添加流程如上。
区块2和区块3中的区块链id是一致的,但是和区块1中的区块链id不一致,因为区块1属于居民甲的母亲的区块链中的区块,每个人的区块链的id是不一样的。
实施例2
在本实施例中,如图3所示,提供了一种基于区块链的居民健康档案建立方法,包括以下步骤:
假设居民1为居民2的母亲,居民1有属于自己的健康档案区块链,即图3中的母区块链。居民1怀孕后,去社区医院建小卡,由医生1为居民1检查,医生1将检查的结果通过区块生成节点,生成属于居民2的区块链和创世区块。生成的区块链通过记账节点采用分布存储的方式进行记录,并利用共识机制,发布到其他记账节点记录,防止该区块被篡改。同时,将居民2区块链的公私钥发给居民2(暂时由居民1保管)。居民2出生时,由医生2负责接生,医生2把居民2的接生记录通过区块生成节点,生成区块2,并加入到居民2的区块链中,然后通过记账节点采用分布存储的方式进行记录,并利用共识机制,发布到其他记账节点记录,防止该区块被篡改。居民2的区块链后续区块类似形成并加入区块链中。