医疗信息共享系统及方法
技术领域
本说明书涉及信息技术领域,特别涉及一种医疗信息共享系统及方法。
背景技术
当今医疗市场增长极快,随之出现的各类乱象难以管控。例如,医疗机构向患者提供造造假的资质证明或隐瞒资质过期的事实,误导患者接受治疗,进而可能引发医疗事故。又如,患者对历史就医情况有所隐瞒或叙述不清,导致医务人员无法做出准确的判断。
因此,目前希望提供一种医疗信息共享方案,以提供医疗信息的可靠查验手段以及促进医疗信息的流通。
发明内容
本说明书实施例之一提供一种医疗信息共享系统,其中,包括:第一区块链网络,包括一个或多个第一节点,所述第一节点用于存储被认证对象的医疗认证信息或其映射结果,所述医疗认证信息包括被认证对象的标识信息和认证的时效信息;第二区块链网络,包括一个或多个第二节点,所述第二节点用于存储患者的病历信息或其映射结果,所述病历信息包括患者的标识信息以及就医经历;区块链服务端,用于接收来自其他设备的查验请求,基于所述查验请求通过第一区块链网络或第二区块链网络获得目标数据或其验证结果,并将获得的目标数据或其验证结果发送给所述其他设备。
本说明书实施例之一提供一种医疗信息获取方法,其中,所述方法由区块链服务端执行,其包括:接收来自其他设备的查验请求;基于所述查验请求通过第一区块链网络或第二区块链网络获得目标数据或其验证结果,所述第一区块链网络包括一个或多个第一节点,所述第一节点用于存储被认证对象的医疗认证信息或其映射结果,所述医疗认证信息包括被认证对象的标识信息和认证的时效信息,第二区块链网络包括一个或多个第二节点,所述第二节点用于存储患者的病历信息或其映射结果,所述病历信息包括患者的标识信息以及就医经历;将获得的目标数据或其验证结果发送给所述其他设备。
本说明书实施例之一提供一种医疗信息获取系统,其中,包括:查验请求接收模块,用于接收来自其他设备的查验请求;查验模块,用于基于所述查验请求通过第一区块链网络或第二区块链网络获得目标数据或其验证结果,所述第一区块链网络包括一个或多个第一节点,所述第一节点用于存储被认证对象的医疗认证信息或其映射结果,所述医疗认证信息包括被认证对象的标识信息和认证的时效信息,第二区块链网络包括一个或多个第二节点,所述第二节点用于存储患者的病历信息或其映射结果,所述病历信息包括患者的标识信息以及就医经历;查验结果返回模块,用于将获得的目标数据或其验证结果发送给所述其他设备。
本说明书实施例之一提供一种医疗信息获取装置,其中,包括处理器和存储设备,所述存储设备用于存储指令,当所述处理器执行指令时,实现如本说明书任一实施例所述的医疗信息获取方法。
本说明书实施例之一提供一种医疗信息备案方法,其中,包括:获取医疗信息或其映射结果;所述医疗信息包括医疗认证信息和/或病历信息,所述医疗认证信息包括被认证对象的标识信息和认证的时效信息,所述病历信息包括患者的标识信息以及就医经历;将所述医疗信息或其映射结果上传至区块链网络。
本说明书实施例之一提供一种医疗信息备案系统,其中,包括:获取模块,用于获取医疗信息或其映射结果;所述医疗信息包括医疗认证信息和/或病历信息,所述医疗认证信息包括被认证对象的标识信息和认证的时效信息,所述病历信息包括患者的标识信息以及就医经历;上传模块,用于将所述医疗信息或其映射结果上传至区块链网络。
本说明书实施例之一提供一种医疗信息备案装置,其中,包括处理器和存储设备,所述存储设备用于存储指令,当所述处理器执行指令时,实现如本说明书任一实施例所述的医疗信息备案方法。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的医疗信息共享系统的应用场景示意图;
图2是根据本说明书一些实施例所示的医疗信息获取方法的示例性流程图;
图3是根据本说明书一些实施例所示的医疗认证信息备案方法的示例性流程图;
图4是根据本说明书一些实施例所示的医疗认证信息查验方法的示例性流程图;
图5是根据本说明书一些实施例所示的医疗信息获取系统的示例性框图;
图6是根据本说明书一些实施例所示的医疗信息备案系统的示例性框图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
本说明书中的实施例适用于医疗信息管理或维护的各种场景。鉴于存在医疗机构提供造假的资质证明或隐瞒资质过期事实的现象,本说明书中的实施例通过将反映被认证对象的资质和该资质生效的时间的医疗认证信息上传至第一区块链网络,可为用户提供可靠的资质查验手段,使用户可确定医疗机构是否具有相应资质以及资质是否过期。在一些实施例中,可以由医疗信息认证方的计算设备组成第一区块链网络,以向用户提供来源可靠的医疗认证信息。鉴于存在患者对历史就医情况有所隐瞒或叙述不清的现象,本说明书中的实施例通过将患者的病历信息上传至第二区块链网络,使得患者的历史病历信息在多个医疗机构间流通,进而任一医疗机构的医务人员可根据从第二区块链网络查询到的患者的历史病历信息做出准确判断。
图1是根据本说明书一些实施例所示的医疗信息共享系统的应用场景示意图。如图1所示,医疗信息共享系统100可以包括第一区块链网络110、第二区块链网络120、区块链服务端130、用户端140和网络150。
第一区块链网络110可包括一个或多个第一节点1100。第一节点1100可用于存储被认证对象的医疗认证信息或其映射结果。具体地,上传至第一区块链网络110的医疗认证信息或其映射结果可以由任一第一节点1100写入去中心化的、分布式的和公共的数字账本(该数字账本也称为区块链,该写入过程可简称为“上链”),进而在各第一节点1100上实现同步。即,被认证对象的医疗认证信息可在第一区块链网络110内实现共享。
医疗认证信息可以反映被认证对象的资质和该资质生效的时间。在一些实施例中,被认证对象可包括医疗机构、医务人员、医疗器械以及药物中的一种或多种。在一些实施例中,医疗机构可以包括医院、体检机构、康复机构、医美机构、视力矫正机构等中的一种或多种。在一些实施例中,医务人员可以包括医生、护士等中的一种或多种。在一些实施例中,资质可以指被认证对象的评级(如三甲医院)、被认证对象被认证为合格品(如,医疗器械、药物等)或具有执业资格(如,医生、护士等)、被认证对象(如,医疗机构、医师)有能力实施某医疗手段。在一些实施例中,医疗手段可以指任何基于医学原理的治疗手段、医美手段、矫正手段等等。
在一些实施例中,医疗认证信息可包括被认证对象的标识信息和认证的时效信息。其中,标识信息用于区分不同的被认证对象,时效信息可反映所认证资质生效的时间。在一些实施例中,标识信息可以包括名称、编号等中的一种或多种。在一些实施例中,对于同一被认证对象,为区分其不同类型的资质,医疗认证信息还可以包括所认证资质对应的类型信息。例如,对于同一医疗机构,医疗认证信息中还可以包括指示该医疗机构的评级(如,三甲医院/二甲医院/一甲医院/…)的类型信息。又如,对于同一医师,医疗认证信息中还可以包括指示该医师有能力实施的医疗手段的类型信息,具体地,该类型信息可以包括所述医疗手段的标识信息。
在一些实施例中,可以医疗认证信息直接上链。由于上链内容难以被篡改,从第一区块链网络110中查询得到的已上链的医疗认证信息可认为是未经篡改的医疗认证信息。在一些实施例中,可以将医疗认证信息的映射结果上链。其中,映射结果可以是哈希值,哈希值可以唯一标识对应的医疗认证信息。由于区块链具有存储内容难以被篡改的特性,将待验证的医疗认证信息生成哈希值(称为待验证哈希值)并将该待验证哈希值与区块链中存储的医疗认证信息的哈希值进行比对,若经比对两者一致则说明待验证的医疗认证信息未经篡改,否则说明待验证的医疗认证信息经过篡改。另外,由于哈希值的长度固定,对于一些占用内存较大的医疗认证信息,将医疗认证信息的哈希值上链可以节省区块的存储空间。关于上链的其他数据(如,病历信息、用户数据等),也可以参考此处对医疗认证信息的描述。
在一些实施例中,第一节点可以包括医疗信息认证方的计算设备。其中,医疗信息认证方可指负责对被认证对象的资质进行认证和发放的机构。在一些实施例中,医疗信息认证方可以指医疗器械和/或药物的生产方。在现实生活中,若医疗机构向消费者(如,患者或其家属等)提供虚假或伪造的资质证明(包括对生效时间的篡改),将误导消费者并造成一系列严重后果,如给消费者带来经济损失、危害患者健康、引发医疗事故等等。若由医疗信息认证方上传医疗认证信息,则可以向用户(即消费者)提供来源可靠的医疗认证信息。
第二区块链网络120可包括一个或多个第二节点1200。第二节点1200可用于存储患者的病历信息或其映射结果。具体地,上传至第二区块链网络120的病历信息或其映射结果可以由任一第二节点1200写入区块链,进而在各第二节点1200上实现同步。即,患者的病历信息可在第二区块链网络120内实现共享。
在一些实施例中,病历信息可以包括患者的标识信息和就医经历。在一些实施例中,患者的标识信息可以包括姓名、身份证号码、手机号、编号等中的一种或多种。在一些实施例中,就医经历可以包括医疗手段的标识信息、医疗器械的标识信息、药物的标识信息、医师的标识信息、医疗机构的标识信息、指示是否存在医疗纠纷的信息等中的一种或多种。
在一些实施例中,可以将病历信息的加密结果上链。如此,可以对患者隐私进行保护。在一些实施例中,加密类型包括但不限于对称加密和/或非对称加密。在一些实施例中,病历信息可以由用户端140(如患者的用户端140)上传至区块链服务端130,或者由用户端140授权相应的医疗机构的计算设备将其病历信息传输给区块链服务端130。在一些实施例中,区块链服务端130会向相应患者的用户端140请求加密权限。在获得来自患者的加密权限后,区块链服务端130可对该患者的病历信息进行加密,并将病历信息的加密结果上传至第二区块链网络120。其中,解密秘钥可由区块链服务端130进行保管,后续接收到其他设备对病历信息的查验请求时,区块链服务端130向相应患者的用户端140请求病历获取权限。在获得来自患者的病历获取权限后,区块链服务端130可从区块链中获取该患者的病历信息并利用相应的解密秘钥解密出病历信息。
在一些实施例中,第一区块链网络110与第二区块链网络120可以分别具有不同的节点以及遵循不同的区块链协议。在一些实施例中,第一区块链网络110与第二区块链网络120可以具有一个或以上公共的节点。可以理解,该公共节点上同时备份有医疗认证信息以及病历信息,并且该公共节点兼容不同的区块链协议。在一些实施例中,第一区块链网络110与第二区块链网络120可以具有相同的节点以及遵循相同的区块链协议。区块链服务端130可以接收和处理来自其他设备(如,第一节点1100、第二节点1200、用户端140等)的数据和/或信息。在一些实施例中,区块链服务端130可以是区块链部署方的计算设备。在一些实施例中,区块链服务端130可以作为第一区块链网络110与第二区块链网络120的公共节点,其可以在两个区块链网络中进行数据存取或查验。
在一些实施例中,区块链服务端130可以将来自其他设备的数据或其映射结果上传至第一区块链网络110和/或第二区块链网络120。
例如,参考前述内容,区块链服务端130可以基于用户授权将来自医疗机构的病历信息加密上传至第二区块链网络120。并且,区块链服务端130可以响应于任一医疗机构的计算设备的查验请求,基于所述查验请求通过第一区块链网络110或第二区块链网络120获得患者的病历信息并将患者的病历信息发送给该医疗机构的计算设备。即,多个医疗机构间可以共享患者的病历信息。如此,医务人员可以基于查验到的患者的历史病历信息做出准确的判断,例如,当查验到的患者的历史病历信息指示患者接受过目标医疗手段的次数大于允许的最多次数,则医务人员可以确定该患者不能再接受该目标治疗手段。
又如,区块链服务端130可以将来自用户端140的用户数据或其映射结果上传至第一区块链网络110。在一些实施例中,用户数据可以包括用户对医疗机构/医务人员的评价。
在一些实施例中,区块链服务端130可以接收来自其他设备的查验请求,基于该查验请求通过第一区块链网络或第二区块链网络120获得目标数据或其验证结果,并将获得的目标数据或其验证结果发送给其他设备。其中,所述其他设备可以是用户端140、医疗机构的计算设备等等。获得的目标数据可以包括第一区块链网络110/第二区块链网络120上已有的数据(以下称为链上数据,如医疗认证信息/病历信息、用户数据等)或者基于链上数据的统计结果,获得的目标数据的验证结果指示待验证的目标数据是否经过篡改。基于链上数据的统计结果可以是针对相同维度的链上数据进行统计的结果,所述维度可以指医疗机构、医务人员、患者、医疗手段等或其任意组合。关于链上数据的统计结果的更多细节,可以参考区块链服务端130的相关描述。
考虑到病历信息涉及患者隐私,其他用户在获取患者的病历信息前应征得该患者的同意。基于此,当自其他设备的查验请求指示对目标患者的病历信息进行查询时,区块链服务端130还可以向目标患者的用户端140请求病历获取权限,当获得病历获取权限后可通过第二区块链网络120获得目标患者的病历信息,并将获得的病历信息发送给其他设备。
在一些实施例中,区块链服务端130可以获取链上数据的区块索引,基于该链上数据的区块索引在第一区块链网络110或第二区块链网络120中查询,得到第一区块链网络110或第二区块链网络120中存储的链上数据。其中,区块索引指示链上数据在区块链中的存储位置,例如,指示链上数据属于哪个区块,又如,还可以指示链上数据对应区块中的哪个交易。应当理解,节点(第一节点1100和/或第二节点1200)将数据写入区块链后,可以生成上链的数据的区块索引,并将该区块索引发送给区块链服务端130保存。
在一些实施例中,区块链服务端130可以基于对第一区块链(即第一区块链网络110的数字账本)和/或第二区块链(第二区块链网络120的数字账本)的遍历结果进行统计。在一些实施例中,区块链服务端130可以针对医务人员/医疗机构的数据进行统计。例如,区块链服务端130可以遍历第一区块链和/或第二区块链,进而获得患者接受过的目标医疗手段的次数、医务人员实施过目标医疗手段的患者数量、医务人员是否有过医疗纠纷、用户对医疗机构/医务人员的评价等中的一种或多种数据的统计结果。在一些实施例中,可以在链上数据的基础上对统计基于的源数据进行补充。例如,医疗机构可以将未加入到医疗信息共享系统100的数据(称为“非链上数据”),例如,患者接受过的目标医疗手段的次数、医务人员实施过目标医疗手段的患者数量、医务人员是否有过医疗纠纷、用户对医疗机构/医务人员的评价等中的一种或多种数据,上传至区块链服务端130,进而区块链服务端130基于链上数据和非链上数据进行统计。应当理解,医疗机构上传的非链上数据的可靠性有待验证。
在一些实施例中,区块链服务端130可以是独立的服务器或者服务器组,该服务器组可以是集中式的或者分布式的。在一些实施例中,服务器可以是区域的或者远程的。在一些实施例中,区块链服务端130可在云平台上执行。例如,该云平台可包括私有云、公共云、混合云、社区云、分散式云、内部云等中的一种或其任意组合。
用户端140可指用户使用的终端设备或软件。用户可以通过用户端140访问区块链服务端130。在一些实施例中,用户可以指消费者、患者等。
在一些实施例中,用户可以通过用户端140向区块链服务端130发起查验请求以获得目标数据或其验证结果。例如,用户可以在用户端140发起对被认证对象的医疗认证信息的查验请求,若接收到区块链服务端130返回的存储在第一区块链中的该被认证对象的医疗认证信息,说明被认证对象确实具有相应资质,并且用户可以通过医疗认证信息中的时效信息确定资质是否过期。又如,用户可以在用户端140发起对被认证对象的医疗认证信息的查验请求,通过区块链服务端130返回的验证结果确定被认证对象的医疗认证信息(此医疗认证信息可由医疗机构提供)是否经过篡改。
在一些实施例中,用户端140可以包括各类具有信息接收和/或发送功能的设备。在一些实施例中,用户端140可以包括智能电话140-1、平板计算机140-2、膝上型计算机140-3、台式计算机140-4 等或其任意组合。
网络150连接系统的各组成部分,使得各部分之间可以进行通讯。在系统中各部分之间的网络可以包括有线网络和/或无线网络。例如,网络150可以包括电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigBee)、近场通信(NFC)、设备内总线、设备内线路、线缆连接等或其任意组合。每两个部分之间的网络连接可以是采用上述一种方式,也可以是采取多种方式。
图2是根据本说明书一些实施例所示的医疗信息获取方法的示例性流程图。流程200可由区块链服务端130执行。流程200可以包括:
步骤210,接收来自其他设备的查验请求。在一些实施例中,步骤210可由查验请求接收模块510实现。
步骤220,基于所述查验请求通过第一区块链网络或第二区块链网络获得目标数据或其验证结果。在一些实施例中,步骤220可由查验模块520实现。
步骤230,将获得的目标数据或其验证结果发送给其他设备。在一些实施例中,步骤230可由查验结果返回模块530实现。
在一些实施例中,所述其他设备可以是用户端140、医疗机构的计算设备等等。在一些实施例中,所述查验请求可以是针对医疗认证信息的查验请求也可以是针对某患者病历信息的查验请求,其可以包括目标数据和/或其区块索引。在一些实施例中,所述查验请求中的目标数据可包括医疗机构提供的待验证的医疗认证信息。在一些实施例中,所述查验请求中的目标数据可包括基于链上数据的统计结果。其中,对链上数据的统计可以由区块链服务端130实现,具体可以参考前述实施例中区块链服务端130的相关描述。
在一些实施例中,区块链服务端130可以直接作为区块链节点在第一区块链或第二区块链中查询,或者向第一节点1100或第二节点1200发起查询请求,以得到第一区块链或第二区块链中存储的目标数据。在一些实施例中,区块链服务端130可以将第一区块链或第二区块链中存储的目标数据发送给其他设备。在一些实施例中,区块链服务端130可以将第一区块链或第二区块链中存储的目标数据与所述查验请求中的目标数据的比对结果(即所述验证结果)发送给其他设备。在一些实施例中,区块链服务端130可以获得第一区块链或第二区块链中存储的目标数据的映射值(如,医疗认证信息的哈希值),以及获得所述查验请求中的目标数据的映射值,并将两者的比对结果(即所述验证结果)发送给其他设备。
在一些实施例中,当所述查验请求指示对目标患者的病历信息进行查询时,区块链服务端130还可以向目标患者的用户端140请求病历获取权限。当获得病历获取权限后,区块链服务端130可通过第二区块链网络120获得目标患者的病历信息,并将获得的病历信息发送给其他设备。在一些实施例中,可以将患者和的病历信息的加密结果上链。其中,加密以及后续的解密可以由区块链服务端130执行。具体地,区块链服务端130可以从患者的用户端140或者医疗机构的计算设备获取患者的病历信息,并向该患者的用户端140请求加密权限。在获得来自患者的加密权限后,区块链服务端130可对该患者的病历信息进行加密,并将病历信息的加密结果上传至第二区块链网络120。其中,区块链服务端130可以对解密秘钥进行保管,后续接收到其他设备对病历信息的查验请求时,再向该患者的用户端140请求病历获取权限。在获得来自该患者的病历获取权限后,区块链服务端130可从区块链中获取该患者的病历信息并利用保管的解密秘钥解密出病历信息。
在一些实施例中,区块链服务端130可以从用户端140接收用户数据,并将接收到的用户数据或其映射值上传至第一区块链网络110。在一些实施例中,用户数据可以包括用户对医疗机构/医务人员的评价。
在一些实施例中,区块链服务端130可以响应跨链查询,其中,发起跨链查询请求的设备所加入的区块链网络与存储待查询数据的区块链网络不同,即区块链服务端130可实现数据跨链。例如,加入第二区块链网络120的医疗机构的计算设备可以向区块链服务端130发起跨链查询请求,该跨链查询请求针对第一区块链上的医疗认证信息,区块链服务端130可以通过第一区块链网络110获取链上的医疗认证信息,并将该医疗认证信息返回给第二区块链网络120上的医疗机构的计算设备。
一般来说,数据跨链可包括获取链上数据、数据处理、返回查询结果三个阶段。在一些实施例中,不同的区块链遵循不同的区块链协议,在实现数据跨链的过程中需要按照不同的区块链协议对数据进行处理。具体地,获取链上数据可以是区块链服务端130遵循拥有数据的区块链(如第一区块链)的数据查询协议向其上的某节点(或计算设备)发起数据请求,并获得所请求的数据。所述数据处理可以是区块链服务端130对获得的数据按照其所在区块链解密协议进行解密,以及按照发起跨链查询请求的节点所在区块链的加密协议对获得的数据进行加密等处理,以确保数据传输过程中的信息安全以及协议兼容。在一些实施例中,数据处理还可以包括对获取的数据进行验证或按照某一维度进行统计、汇总或运算,所述维度可以是病人的身份标识、医疗结构的身份标识、某一医疗手段或医务人员的标识等。返回查询结果可以是区块链服务端130将按照发起跨链查询请求的节点所在区块链的加密协议对获得的数据进行加密后的结果发送给请求数据的节点。在一些实施例中,区块链服务端130可以通过硬件和/或软件的方式响应跨链查询。例如,区块链服务端130可以包括可信硬件(如芯片),从而具备可信执行环境(TrustedExecutionEnvironment,TEE),区块链服务端130可以在可信执行环境中处理待查询数据和/或其加密结果,以保证数据处理过程的安全性(如,避免数据被篡改、泄露等)。又如,区块链服务端130可以通过软件方式(如算法)在任意阶段验证数据,如,验证数据是否被篡改、数据是否存在被泄露的风险等,以确保数据的安全性。比如,在数据处理阶段,区块链服务端130可以验证可信硬件的可靠性。
在一些实施例中,第一区块链网络110中的任一第一节点1100可以完成医疗认证信息在区块链上的备案。图3是根据本说明书一些实施例所示的医疗认证信息备案方法的示例性流程图。流程300可以包括:
步骤310,获取医疗认证信息,该医疗认证信息包括被认证对象的标识信息和认证的时效信息。
步骤320,将该医疗认证信息或其映射结果上传至第一区块链网络。
在一些实施例中,上传医疗认证信息的第一节点1100可以包括医疗信息认证方的计算设备。具体地,医疗信息认证方的计算设备将医疗认证信息上传至第一区块链网络110,该医疗认证信息可以由任一第一节点1100写入第一区块链。
在一些实施例中,第二区块链网络120中的任一第二节点1200可以完成患者病历信息在区块链上的备案,其处理流程与流程300类似。在一些实施例中,第二节点1200可以是医疗机构的计算设备。考虑到患者隐私安全,在一些实施例中,第二节点在进行备案时,需要获取患者的许可,例如第二节点1200通过网络向患者的用户端140请求备案病历的权限,患者通过用户端140许可后,第二节点1200将该患者的病历信息加密后写入第二区块链中。在一些实施例中,第二节点1200可以将用于加密病历信息的密钥数据以及区块索引发送给区块链服务端130,以便其接收并响应其他设备针对某患者病历信息的查验。
在一些实施例中,区块链节点可以将本说明书提及的各类医疗信息,即,医疗认证信息和病历信息、用户数据等中的一种或多种,或其映射结果在同一区块链上进行备案,其处理流程与流程300类似。在一些实施例中,区块链节点可以确定医疗信息或其映射结果的来源(也可称为数据源),当验证出该来源具有权限上传该医疗信息或其映射结果时,区块链节点可以将该医疗信息或其映射结果上传至区块链网络。这样的处理方式可以在一定程度上确保数据的真实性。例如,针对医疗认证信息,区块链节点可以在验证出医疗认证信息或其映射结果的来源为医疗认证方时,将该医疗认证信息或其映射结果上传至区块链网络。在一些实施例中,当医疗认证信息的来源不是医疗认证方而是某医疗机构时,可以认为该医疗认证信息不可信,因此不允许其上链。又如,针对病历信息,区块链节点可以在验证出病历信息或其映射结果的来源为医疗机构时,认为该病历信息是可信的,从而将该病历信息或其映射结果上传至区块链网络。在一些实施例中,可以由区块链上某一节点对数据的来源进行验证,并向其他节点广播验证结果,其他节点无需再行验证数据来源,而是直接基于其他节点的验证结果完成数据上链或丢弃。在一些实施例中,区块链节点获取的医疗信息或其映射结果可以携带数据源的身份信息,区块链节点可以基于该身份信息验证数据源是否具有权限上传该医疗信息。在一些实施例中,所述映射结果包括数字签名。在一些实施例中,当所述映射结果包括数字签名时,区块链节点可以获取具有权限上传医疗信息或其映射结果的数据源的公钥,并利用该公钥验证所述数字签名,若验签通过则将获取的医疗信息或其映射结果上传至区块链网络。
在一些实施例中,除了区块链服务端130可以实现查验以外,任一第一节点1100也可以作为查验设备,接收并响应其他设备的查验请求。图4是根据本说明书一些实施例所示的医疗认证信息查验方法的示例性流程图。流程400可以包括:
步骤410,接收来自用户端的针对目标被认证对象的查验请求,所述查验请求包括目标被认证对象的医疗认证信息和/或其区块索引。
所述查验请求中的医疗认证信息可以指医疗机构提供的待验证的医疗认证信息。区块索引指示链上数据在区块链中的存储位置。在一些实施例中,某被认证对象的医疗认证信息被写入第一区块链后,区块链服务端130可以保存该医疗认证信息的区块索引。后续,用户端140可向区块链服务端130获取该医疗认证信息的区块索引,以发起针对该被认证对象的查验请求。
用户端140可以向任一第一节点1100发起查验请求。在一些实施例中,用户端140可以优先向距离较近的第一节点1100发起查验请求。
步骤420,基于所述查验请求在第一区块链中查询,以:得到第一区块链中储存的目标被认证对象的医疗认证信息或其映射结果,或者验证所述查验请求中的目标被认证对象的医疗认证信息是否经过篡改。
步骤430,将得到的目标被认证对象的医疗认证信息或其验证结果返回给用户端。
在一些实施例中,医疗认证信息直接被写入区块链。基于此,当所述查验请求包括目标被认证对象的医疗认证信息的区块索引时,第一节点1100可以基于该区块索引获得第一区块链中存储的目标被认证对象的医疗认证信息,并将得到的目标被认证对象的医疗认证信息返回给用户端140。当所述查验请求包括目标被认证对象的医疗认证信息(即待验证医疗认证信息)及其区块索引,第一节点1100可以基于该区块索引获得第一区块链中存储的目标被认证对象的医疗认证信息(即链上医疗认证信息),并将待验证医疗认证信息和链上医疗认证信息的比对结果(即所述验证结果)返回给用户端140。
在一些实施例中,医疗认证信息可以以哈希值的形式被写入区块链。基于此,当所述查验请求包括目标被认证对象的医疗认证信息(即待验证医疗认证信息)及其区块索引时,第一节点1100可以基于该区块索引获得第一区块链中存储的目标被认证对象的医疗认证信息(即链上医疗认证信息),并将待验证医疗认证信息的哈希值和链上医疗认证信息的哈希值的比对结果(即所述验证结果)返回给用户端140。当所述查验请求包括目标被认证对象的医疗认证信息(即待验证医疗认证信息)时,第一节点1100可以基于待验证医疗认证信息的哈希值在第一区块链中遍历,若遍历出相同的哈希值则说明待验证医疗认证信息未经篡改。
值得说明的是,本说明书提及的一个或多个步骤可以通过调用写入区块链(如,第一区块链和/或第二区块链)的智能合约实现。由于写入区块链的智能合约无法被篡改,可以保证相应步骤按预期执行。
应当注意的是,上述有关流程的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
图5是根据本说明书一些实施例所示的医疗信息获取系统的示例性框图。如图5所示,医疗信息获取系统500可以包括查验请求接收模块510、查验模块520和查验结果返回模块530。
查验请求接收模块510可以用于接收来自其他设备的查验请求。在一些实施例中,所述其他设备可以是用户端140、医疗机构的计算设备等等。在一些实施例中,所述查验请求可以包括目标数据和/或其区块索引。
查验模块520可以用于基于所述查验请求通过第一区块链网络或第二区块链网络120获得目标数据或其验证结果。
查验结果返回模块530可以用于将获得的目标数据或其验证结果发送给其他设备。
在一些实施例中,获得的目标数据可以包括第一区块链网络110或第二区块链网络120上已有的数据(如医疗认证信息/病历信息、用户数据等)或者基于所述已有的数据的统计结果。
关于图5所示的系统及其模块的更多细节,还可以参考图1-4及其相关描述。
图6是根据本说明书一些实施例所示的医疗信息备案系统的示例性框图。如图6所示,医疗信息获取系统600可以包括获取模块610和上传模块620。
获取模块610可以用于获取医疗信息或其映射结果。其中,所述医疗信息可包括医疗认证信息和/或病历信息,所述医疗认证信息可包括被认证对象的标识信息和认证的时效信息,所述病历信息可包括患者的标识信息以及就医经历。
上传模块620可以用于将所述医疗信息或其映射结果上传至区块链网络。
关于图6所示的系统及其模块的更多细节,还可以参考前文有关在同一区块链上备案各类医疗信息的描述。
应当理解,图5和图6所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,图5中披露的查验请求接收模块510、查验模块520和查验结果返回模块530可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。又如,图6中披露的获取模块610和上传模块620,可以是一个系统中的不同模块,也可以是一个模块实现这两个模块的功能。诸如此类的变形,均在本说明书的保护范围之内。
本说明书实施例可能带来的有益效果包括但不限于:(1)将反映被认证对象的资质和该资质生效的时间的医疗认证信息上传至第一区块链网络,可为用户提供可靠的资质查验手段,使用户可确定医疗机构是否具有相应资质以及资质是否过期;(2)由医疗信息认证方的计算设备组成第一区块链网络,可以向用户提供来源可靠的医疗认证信息;(3)将患者的病历信息上传至第二区块链网络,使得患者的历史病历信息在多个医疗机构间流通,进而任一医疗机构的医务人员可根据从第二区块链网络查询到的患者的历史病历信息做出准确判断;(4)将加密的病历信息上链,有利于保护患者隐私;(5)写入区块链的智能合约可以保证相应步骤按预期执行。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书实施例的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书实施例进行各种修改、改进和修正。该类修改、改进和修正在本说明书实施例中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书实施例的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书实施例的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书实施例的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书实施例各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书实施例所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书实施例流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书实施例披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书实施例对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书实施例的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。