基于区块链的中医针灸信息共识系统
技术领域
本发明涉及医疗管理领域,尤其是涉及一种基于区块链的中医针灸信息共识系统。
背景技术
2010年11月16日联合国教科文组织审议并通过“中医针灸”被列入人类非物质文化遗产代表作名录,“中医针灸”申遗成功,标志着针灸不仅是中国的瑰宝,也是全人类共有的财富,要为全人类的健康做贡献。中医针灸作为广泛使用的一种医疗方法,使用的主治医生以及面对的患者众多,实有必要建立一个完善的医疗共识系统。
中国专利CN107563112公开了一种医疗信息共享系统,该系统包括:条木块、输入区块、目录区块和区块链,实现了医疗信息共享系统的去中心化,医疗信息的共享,以及保证了患者信息和病历单的安全性。
然而,上述医疗信息共享系统只能实现医疗信息的共享和保密,但在主治医生开具病历时则无法核实其诊断和治疗方法的正确性。中医诊断通常包含望、闻、问、切四个步骤,治疗方法除了包含针灸以外,还包含药疗,以及用于辅助灸疗的推拿。因此,对于步骤繁多的中医针灸来说,上述医疗信息共享系统的功能确实难以满足需求。
发明内容
本发明为了解决上述问题而提供一种基于区块链的中医针灸信息共识系统,包括:私钥和公钥,主治医生利用私钥对交易和患者签署一个数字签名,并将这个签名附加在末尾,制作成交易单,患者以公钥作为接收方地址,多个节点,节点中包含多个会诊专家节点,将交易单广播至全网,每个节点都将收到的交易信息纳入一个区块中;区块,区块由区块头和区块主体组成,区块头存储:版本号、父区块哈希值、默克尔树、时间戳和随机数,区块主体存储交易信息,交易信息包括:患者病情诊断信息、病理辩证信息、针灸穴位及施针方案信息,推拿理疗信息、中药用药信息和诊疗费用信息、诊疗交易时间;公有链,通过公有链申请区块,全网广播该区块记录,由全网节点核对区块的版本号、父区块哈希值、默克尔树、时间戳和随机数,多个会诊专家节点核对区块中的交易信息,当多于半数的会诊专家节点同意交易信息时,认为有效交易,形成区块链;当多于半数的会诊专家节点不同意交易信息时,则认为是无效交易,取消区块链。
进一步地,公有链基于智能合约执行,多方用户共同制定智能合约,智能合约通过P2P网络扩散并存入区块链,自动执行存入区块链的智能合约。
进一步地,多方用户共同制定一份智能合约时,用户先注册成为区块链的账户,区块链返回给用户公钥和私钥,多方用户共同商定电子化形式的承诺,分别用自身私钥进行签名,智能合约将承诺传入区块链中。
进一步地,诊疗交易信息的智能合约通过P2P网络扩散时,每个会诊专家节点都会收到该智能合约,并将该智能合约保存到内存中;共识时间到时,会诊专家节点对智能合约的交易信息的有效性进行推演,计算出智能合约的哈希值及交易可信度装入一个区块中,扩散到全网;其它节点收到区块后,把里面包含的智能合约的哈希值取出来,将智能合约的交易可信度与节点自身推演智能合约的交易可信度进行比较,同时发送一份认可的智能合约给其它节点,直到所有的节点对最新的智能合约达成一致;达成一致的智能合约以区块的形式扩散到全网。
进一步地,交易可信度进行比较的内容包括验证智能合约的私钥签名是否与验证节点的公钥验证匹配。
进一步地,区块链构建的智能合约自动执行时,智能合约检查自动机状态,逐条遍历每个智能合约内包含的状态机、事务以及触发条件,将条件满足的事务推送到待验证的队列中,等待共识,未满足触发条件的事务将继续存放在区块链上;进入最新轮验证的事务会扩散到每一个节点,节点首先进行签名验证,确保事务的有效性,验证通过的事务进入待共识集合,节点达成共识后,事务会成功执行并通知用户;事务执行成功后,智能合约的状态机判断智能合约所属的状态,当智能合约的所有事务都执行完毕后,将智能合约的状态标记为完成,并从最新的区块中移除该智能合约,当智能合约的事务未执行完毕时,将智能合约的状态标记为进行中,继续保存在最新的区块中等待下一轮处理,直到处理完毕。
本发明的有益效果在于:基于上述中医针灸信息共识系统,主治医生对病人的诊疗结果除了发给病人外,同时发给其他会诊专家,在多个会诊专家同时认可的情况下才有效,则产生新的区块,这个区块则加入到区块链中,这样,避免由于某个主治医生误诊,也可以在区块链中有效地识别伪中医。此外,上述中医针灸信息共识系统能够有效的进行病根溯源、家族遗传溯源等。
附图说明
图1为本发明涉及的区块链形成的流程图;
图2为本发明涉及的区块的示意图;
图3为本发明涉及的默克尔树的示意图;
图4为本发明涉及的会诊通过的流程示意图;
图5为本发明涉及的会诊不通过的流程示意图;
图6为本发明涉及的溯源机制的原理图;
图7为本发明涉及的应用平台的示意图;
图8为本发明涉及的区块链底层的示意图。
具体实施方式
下面结合附图对本发明作进一步阐述:
基于区块链的中医针灸信息共识系统包括:私钥、公钥、多个节点、区块和公有链,如图1所示,区块链的形成包括以下步骤:
1、新建交易,主治医生利用私钥对交易(诊疗过程信息)和患者签署一个数字签名,并将数字签名附加在本次诊疗信息末尾(患者病情诊断信息、病理辩证信息、针灸穴位及施针方案信息,推拿理疗信息、中药用药信息和诊疗费用信息、诊疗交易时间),制作成交易单,患者以公钥作为接收方地址;
2、交易通过网络传播,主治医生将交易单广播至全网,同时发挂号币给患者,每个节点都将收到的交易信息纳入一个区块中,该挂号币即时显示在钱包中;
3、获取区块,通过公有链(如Oracle)申请区块;
4、结果通过网络传播,全网广播该区块记录,并由全网其他节点核对该区块,即核对该区块记账的正确性;
5、写入账本形成区块链,在多于半数的会诊节点达成共识的情况下,将在该合法区块之后竞争下一个区块,形成一个合法记账的区块链并申请扣除医疗费用(通过网银系统或线下交易);在多于半数会诊节点未达成共识的情况下,取消形成区块链。
区块用于记录每次主治医生对病人的诊疗事件,医疗事件包含望、闻、问、切得出的结果信息、针灸信息、推拿信息和药疗信息,其中针灸穴位信息及中药处方处方信息按照特定编码进行加密存储。每个诊疗事件的区块按照规则链接形成区块链,存储在特定公有链中(如Oracle),形成分布式账本系统,从而达到去中心化的目的。智能合约以数字化的形式写入区块链中,由区块链技术的特性保障存储、读取、执行整个过程透明可跟踪、不可攥改。
具体地,区块是一种记录交易的数据结构。如图2所示,每个区块由区块头和区块主体组成:
区块头存储:(1)版本号,标示软件及协议的相关版本信息。(2)父区块哈希值,引用的区块链中父区块头的哈希值,通过这个值每个区块才首尾相连组成了区块链。(3)默克尔树,如图3所示,默克尔树的顶部哈希值是由区块主体中所有交易的哈希值再逐级两两哈希计算出来的一个数值,主要用于检验一笔交易是否在这个区块中存在。(4)时间戳,记录该区块产生的时间,精确到秒。(5)随机数,记录解密该区块相关答案的值。
区块主体存储交易信息,交易信息包括:(1)患者诊疗信息:患者病情诊断信息和病理辩证信息(即望闻问切的结果信息和病症信息)。(2)针灸信息:针灸穴位及施针方案信息。(3)推拿理疗信息:推拿时间和推拿部位的信息;(4)中药用药信息:中药处方及调理信息;(5)诊疗费用信息:诊疗费用、医药费用信息;(6)诊疗交易时间。
在本发明中,如图4和图5所示,节点中包含多个会诊专家节点。在上述步骤4中,多个会诊专家节点核对交易中的结果信息、针灸信息、推拿信息和、药疗信息和费用信息。当多于半数会诊专家节点同意该交易中结果信息、针灸信息、推拿信息、药疗信息以及费用信息,则达成诊疗交易;当其中多于半数会诊专家节点不同意该交易中结果信息、针灸信息、推拿信息、药疗信息、费用信息,则不达成诊疗交易。
其中,公有链基于智能合约执行,智能合约具有共识机制和溯源机制。共识机制具有:(1)一致性,所有诚实节点所保存的区块链前缀部分完全相同;(2)有效性,由诚实节点发布的消息终将被所有其他诚实节点记录到自己的区块链中。如图6所示,溯源机制具有追踪记录患者或主治医生诊疗过程(流转链条)的功能:(1)溯源患者过往病历、治疗方案、治疗主治医生等;(2)溯源患者主治主治医生的过往治疗案例;(3)溯源患者家族是否有相关病历。具体地,智能合约的构建包括以下步骤:
3.1、多方用户共同参与制定一份智能合约。
3.1.1、首先用户(主治医生或患者)必须先注册成为区块链的账户,区块链返回给用户一对公钥和私钥;公钥做为用户在区块链上的账户地址,私钥做为操作该账户的唯一钥匙。
3.1.2、两个以上的用户根据需要,共同商定了一份承诺,承诺中包含了双方的权利和义务;这些权利和义务以电子化形式,即以机器语言编程;参与者分别用各自私钥进行签名;以确保智能合约的有效性。
3.1.3签名后的智能合约,将会根据其中的承诺内容,传入区块链网络中。
3.2、智能合约通过P2P网络扩散并存入区块链。
3.2.1、智能合约通过P2P的方式在区块链全网中扩散,每个节点都会收到一份;区块链中的验证节点会将收到的智能合约先保存到内存中,等待新一轮的共识时间,触发对该份智能合约的共识和处理。
3.2.2、新一轮的共识时间到了,会诊专家节点对智能合约中交易信息的有效性进行推演:第一,读取交易信息中患者的病情诊断信息,第二,溯源该患者节点在区块链中的交易历史(即电子病历病史),第三,溯源该患者节点的家族成员节点的在区块链中的类似交易历史,第四,溯源本会诊专家节点在区块链中类似的诊疗案例,第五,验证该智能合约的交易信息中病理辩证是否准确、针灸穴位及施针方案是否合理、推拿理疗是否恰当、中药用药是否正确、诊疗费用是否合理,第六,采用模糊评判的方式对上述信息进行量化计算,计算出交易可信度及其置信区间,同时计算出智能合约的哈希值。然后将智能合约的哈希值及交易可信度装入一个区块中,扩散到全网,其它节点收到区块后,把里面包含的智能合约的哈希值及交易可信度取出来,与自身推演的智能合约进行比较,同时发送一份认可结果的智能合约给其它节点,直到所有的验证节点对最新的智能合约达成一致。
3.2.3最新达成的智能合约集合会以区块的形式扩散到全网,每个区块包含以下信息:当前区块的Hash值、前一区块的Hash值、达成共识时的时间戳、以及其它描述信息;同时区块链最重要的信息是带有一组已经达成共识的智能合约集;收到智能合约集的节点,都会对每条智能合约进行验证,验证通过的智能合约才回最终写入区块链中,验证的内容主要是智能合约参与者的私钥签名是否与节点公钥验证匹配。
3.3、区块链构建的智能合约自动执行。
3.3.1、智能合约会定期检查自动机状态,逐条遍历每个智能合约内包含的状态机、事务以及触发条件;将条件满足的事务推送到待验证的队列中,等待共识;未满足触发条件的事务将继续存放在区块链上。
3.3.2、进入最新轮验证的事务,会扩散到每一个验证节点,与普通区块链交易或事务一样,验证节点首先进行签名验证,确保事务的有效性;验证通过的事务会进入待共识集合,等大多数验证节点达成共识后,事务会成功执行并通知用户。
3.3.3、事务执行成功后,智能合约自带的状态机会判断所属智能合约的状态,当智能合约包括的所有事务都顺序执行完后,状态机会将智能合约的状态标记为完成,并从最新的区块中移除该智能合约;反之将标记为进行中,继续保存在最新的区块中等待下一轮处理,直到处理完毕;整个事务和状态的处理都由区块链底层内置的智能合约系统自动完成,全程透明、不可攥改。
其中,中医针灸信息共识系统还包括:应用平台,用于记录该平台上大量的医师数据、中医工作者的诊疗、培训、师承过程、以及患者的健康档案,从而构建中医体系数据库。以智能合约的方式针对已经取得中医针灸执业资质的中医师和技师提供资质登记、身份验证公示、和患者中医体系下健康档案的建立完善,将“伪中医”排出在外,实现中医人持久、良性的变现。此外,在智能合约上针对中医针灸大师和希望向中医针灸大师进行专长、师承学习的行为开展众筹投资,帮助中医大师与希望提高医术的中医师技师进行登记确权、身份验证、专长师承溯源,从而实现外部资金对中医的支持,同时也实现中医大师持久的变现。
如图7所示,应用平台包括:端对端应用服务层、平台服务层和区块链底层。端对端应用服务层提供诊疗服务、师承服务、增值服务和监管服务等;平台服务层可共享病历、共享账本、共享方案和共享师承等;区块链底层可实现用户管理、提供基础服务、构建智能合约和进行运营监控。实现用户管理包括:账户管理、权限管理、秘钥管理和风控审计;提供基础服务包括:接口适配、共识管理、网络通讯和记录存储;构建智能合约包括:智能合约注册、智能合约执行、智能合约触发和升级注销;进行运营监控包括:配置、可视化、警告、监控、发布和云适配。
如图8所示,区块链底层包括:智能合约层、激励层、共识层、网络层和数据层。智能合约层具有:EVM算法和脚本代码;激励层具有:发行机制和分配机制;共识层具有:POW、POS和DPOS;网络层具有:P2P网络、传播机制和验证机制;数据层具有:区块数据、链式结构、数字签名、哈希函数、默克尔树和对称加密。
基于上述中医针灸信息共识系统,主治医生对病人的诊疗结果除了发给病人外,同时发给其他会诊专家,在多个会诊专家同时认可的情况下才有效,则产生新的区块,这个区块则加入到区块链中,这样,避免由于某个主治医生误诊,也可以在区块链中有效地识别伪中医。此外,上述中医针灸信息共识系统能够有效的进行病根溯源、家族遗传溯源等。
以上所述实施例,只是本发明的较佳实例,并非来限制本发明的实施范围,故凡依本发明申请专利范围所述的构造、特征及原理所做的等效变化或修饰,均应包括于本发明专利申请范围内。