CN115510492A - 一种基于智能合约的电子病历管理***及方法 - Google Patents
一种基于智能合约的电子病历管理***及方法 Download PDFInfo
- Publication number
- CN115510492A CN115510492A CN202211242989.8A CN202211242989A CN115510492A CN 115510492 A CN115510492 A CN 115510492A CN 202211242989 A CN202211242989 A CN 202211242989A CN 115510492 A CN115510492 A CN 115510492A
- Authority
- CN
- China
- Prior art keywords
- account
- medical record
- contract
- management
- authority
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Public Health (AREA)
- Primary Health Care (AREA)
- Epidemiology (AREA)
- Automation & Control Theory (AREA)
- Databases & Information Systems (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明公开了一种基于智能合约的电子病历管理***及方法,其中***包括:构建在多个医疗机构之间的联盟链和各医疗机构的应用服务器,各医疗机构的应用服务器上存储了病人的电子病历数据,联盟链上构建了权限认证合约、账户映射合约、若干病历合约、代理查询合约和代理更新合约;其中,权限认证合约检测用户账户是否有权限访问某个智能合约;账户映射合约添加、查询普通账户与联盟链上的链上账户地址间的映射关系;病历合约对应病人的电子病历数据;代理查询合约查询病人的历史病历数据;代理更新合约更新病人的电子病历数据。本发明实现了电子病历数据能够在多家医疗机构之间可信共享,利用合约代码进行权限管理,有效地保护了用户的隐私安全。
Description
技术领域
本发明涉及区块链技术领域,尤其是涉及一种基于智能合约的电子病历管理***及方法。
背景技术
随着区块链技术的发展和落地,大量区块链应用涌入各行各业,包括金融服务、公共服务、物联网等。由于其可溯源、不可篡改、多方共治的特性,区块链常常被用来记录一些关键信息,解决社会和商业中的信任危机。
在当前的医疗场景中,大多数医疗机构是采用中心化服务器来存储病人的电子病历数据,只能由医疗机构自身来使用,不同医疗机构之间难以共享数据,不利于病人在其他医疗机构就诊时医生了解他的过往病史。除此之外,当中心化服务器出现故障时,很可能导致数据丢失或无法恢复,如果受到安全攻击,很可能数据被窃取或篡改,难以保证电子病历数据的来源、真实性和安全性。
也有部分医疗机构采用区块链保存用户的医疗数据,但将区块链仅作为数据库来使用,即将医疗数据直接存放在区块链上,并让用户通过数字货币来进行访问。这种方式存储的数据较为分散,数据查询和数据更新比较困难,不利于***的运行和维护;同时,这种方式需要用户保存密钥,一旦密钥丢失,用户将无法再访问,存在安全隐患。
发明内容
本发明的目的是提供一种基于智能合约的电子病历管理***及方法,以解决现有技术中不同医疗机构的电子病历数据难以共享、存在安全隐患的技术问题。
本发明的目的,可以通过如下技术方案实现:
一种基于智能合约的电子病历管理***,包括:
构建在多个医疗机构之间的联盟链和各所述医疗机构的应用服务器,各所述医疗机构的应用服务器上存储了病人的电子病历数据,所述联盟链上构建了权限认证合约、账户映射合约、若干病历合约、代理查询合约和代理更新合约,以便查询和更新所述电子病历数据;
其中,所述权限认证合约检测用户账户是否有权限访问某个智能合约,所述用户账户包括管理账户、编辑账户和普通账户;
所述账户映射合约利用管理账户添加映射和查询映射,所述映射为各所述医疗机构应用服务器上的普通账户与联盟链上的链上账户地址之间的对应关系;
所述病历合约对应病人的电子病历数据,以便对所述电子病历数据进行查询和更新操作;
所述代理查询合约利用用户账户查询病人的历史病历数据;
所述代理更新合约利用管理账户或编辑账户更新病人的电子病历数据。
可选地,所述权限认证合约中包括:
管理权限变量、编辑权限变量和候补权限变量,分别保存管理账户地址、编辑账户地址和候补账户地址;
其中,所述管理账户地址为具有管理权限的管理账户对应的地址,所述编辑账户地址为具有编辑权限的编辑账户对应的地址,所述候补账户地址具有增加管理账户权限的候补账户对应的地址。
可选地,所述权限认证合约中还包括:
权限检查函数、管理账户增加函数和编辑账户增加函数;
其中,所述权限检查函数检测用户账户的权限,若为管理权限或编辑权限,则结果为真,否则结果为假;
所述管理账户增加函数根据预设的管理账户增加条件增加管理账户;
所述编辑账户增加函数检测交易发起者是否为管理账户,若是,则增加编辑账户,若否,则退出。
可选地,所述病历合约中至少包括:
病历查询函数和病历更新函数;
其中,所述病历查询函数调用所述权限检查函数,若结果为真,则查询病人的电子病历数据,并将所述电子病历数据根据病历更新时间进行倒序排列;
所述病历更新函数调用所述权限检查函数,若结果为真,则更新病人的电子病历数据。
可选地,各所述医疗机构对应所述联盟链上的一个主体账户地址,所述账户映射合约中包括:
映射添加函数和映射查询函数;
其中,所述映射添加函数在病人使用普通账户首次登录各所述医疗机构的应用服务器时,调用所述权限检查函数,若结果为真,所述医疗机构使用主体账户地址在所述联盟链上为普通账户创建一个对应的链上账户地址;
所述映射查询函数调用所述权限检查函数检测用户账户是否具有相应权限,若结果为真,则返回病人的链上账户地址和病历合约地址。
可选地,所述病历合约中至少包括病历查询函数,所述代理查询合约利用用户账户查询病人的历史病历数据包括:
利用管理账户或编辑账户执行代理查询合约查询病人的电子病历数据,获取病人的历史病历数据;
或利用普通账户对应的链上账户地址调用病历合约中的病历查询函数,获取病人的历史病历数据。
可选地,所述代理查询合约中包括执行查询函数,利用管理账户或编辑账户执行代理查询合约查询病人的电子病历数据包括:
利用管理账户或编辑账户执行代理查询合约中的执行查询函数查询病人的电子病历数据,具体过程为:
调用所述映射查询函数,得到病人的病历合约地址;
根据所述病历合约地址调用对应的病历合约中的病历查询函数查询病人的电子病历数据,获取病人的历史病历数据。
可选地,所述代理更新合约中包括执行更新函数,所述代理更新合约利用管理账户或编辑账户更新病人的电子病历数据包括:
利用管理账户或编辑账户执行代理更新合约中的执行查询函数更新病人的电子病历数据,具体过程为:
调用所述映射查询函数,得到病人的病历合约地址;
根据所述病历合约地址调用对应的病历合约中的病历更新函数更新病人的电子病历数据。
本发明还提供了一种基于智能合约的电子病历管理方法,包括:
在多个医疗机构之间构建联盟链;
将各所述医疗机构病人的电子病历数据存储在各所述医疗机构的应用服务器上;
在所述联盟链上构建权限认证合约、账户映射合约、若干病历合约、代理查询合约和代理更新合约,以便查询和更新所述电子病历数据;
其中,所述权限认证合约检测用户账户是否有权限访问某个智能合约,所述用户账户包括管理账户、编辑账户和普通账户;
所述账户映射合约利用管理账户添加映射和查询映射,所述映射为各所述医疗机构应用服务器上的普通账户与联盟链上的账户地址之间的对应关系;
所述病历合约对应病人的电子病历数据,以便对所述电子病历数据进行查询和更新操作;
所述代理查询合约利用用户账户查询病人的历史病历数据;
所述代理更新合约利用管理账户或编辑账户更新病人的电子病历数据。
可选地,所述权限认证合约中包括:
管理权限变量、编辑权限变量和候补权限变量,分别保存管理账户地址、编辑账户地址和候补账户地址;
其中,所述管理账户地址为具有管理权限的管理账户对应的地址,所述编辑账户地址为具有编辑权限的编辑账户对应的地址,所述候补账户地址具有增加管理账户权限的候补账户对应的地址。
本发明提供了一种基于智能合约的电子病历管理***及方法,其中***包括:构建在多个医疗机构之间的联盟链和各所述医疗机构的应用服务器,各所述医疗机构的应用服务器上存储了病人的电子病历数据,所述联盟链上构建了权限认证合约、账户映射合约、若干病历合约、代理查询合约和代理更新合约,以便查询和更新所述电子病历数据;其中,所述权限认证合约检测用户账户是否有权限访问某个智能合约,所述用户账户包括管理账户、编辑账户和普通账户;所述账户映射合约利用管理账户添加映射和查询映射,所述映射为各所述医疗机构应用服务器上的普通账户与联盟链上的链上账户地址之间的对应关系;所述病历合约对应病人的电子病历数据,以便对所述电子病历数据进行查询和更新操作;所述代理查询合约利用用户账户查询病人的历史病历数据;所述代理更新合约利用管理账户或编辑账户更新病人的电子病历数据。
有鉴如此,本发明带来的有益效果是:
本发明提供的电子病历管理***,在多个医疗机构之间构建联盟链,能够轻易地接入医疗机构现有的应用程序中,用户无需下载更多的应用程序,极大地优化了用户体验,并且能够充分发挥区块链的优势,实现了电子病历数据能够在多家医疗机构之间可信共享,保证了病历数据难以篡改、可溯源及安全性。同时,本发明采用智能合约来管理电子病历,利用智能合约的特点,使用代码进行权限管理,确保用户的病历隐私不会被除医疗机构和自己以外的人访问,有效地保护了用户的隐私安全。
附图说明
图1为本发明***的结构示意图;
图2为本发明***实施例的运行过程示意图;
图3为本发明***实施例的***模块示意图;
图4为本发明方法的流程示意图。
具体实施方式
术语解释:
区块链:区块链是一种数据的存储方式,通过在每一区块中保存上一个区块的哈希值以及分布式的存储方式,保证了区块链上数据不可篡改,此外区块链上的数据有不可销毁、匿名、可溯源的特性。
联盟链:区块链中的一种,只针对某个特定群体的成员和有限的第三方才可访问。
智能合约:智能合约是区块链2.0时代的一大特征,通过在区块链中存储代码,并且一旦部署无法篡改,能够在满足一定条件时运行代码以完成事先定义的行为,包括转账、做决策、与其他智能合约交互等。基于区块链的特性,智能合约的运行结果是由大量计算机运行并验证以确保可信的。
外部账户:具有智能合约的区块链的包括外部账户和合约账户。外部账户也称普通账户,由私钥控制,人们可以通过创建并签名一笔交易,实现从一个外部账户发送消息,这种发送在外部账户之间的交易也称作外部交易。
合约账户:合约账户由代码控制,每当合约账户收到一条消息,其内部的代码就会被激活,允许它对内部存储进行读写,并依次发送其它消息或创建合约。当交易涉及合约(内部)账户时,则称作内部交易,此时,一笔交易可能是转账,对应一定数额的输入,也可能是调用合约的某个函数进而触发多个内部交易,或者两者兼而有之。
本发明实施例提供了一种基于智能合约的电子病历管理***及方法,以解决现有技术中不同医疗机构的电子病历数据难以共享、存在安全隐患的技术问题。
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的首选实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
本发明提出了一种基于智能合约的电子病历管理***及方法,能够轻易地接入医疗机构现有的应用程序中,用户无需下载更多的应用程序,也无需在本地保存自己的密钥,极大地优化了用户的体验,并且能够充分发挥区块链的优势,实现了病历能够在多家医疗机构之间可信共享,保证了病历数据难以篡改、可溯源及安全性,同时通过权限管理有效地保护了用户的隐私。
请参阅图1,本发明一种基于智能合约的电子病历管理***的实施例,包括:
构建在多个医疗机构之间的联盟链和各所述医疗机构的应用服务器,各所述医疗机构的应用服务器上存储了病人的电子病历数据,所述联盟链上构建了权限认证合约、账户映射合约、若干病历合约、代理查询合约和代理更新合约,以便查询和更新所述电子病历数据;
其中,所述权限认证合约检测用户账户是否有权限访问某个智能合约,所述用户账户包括管理账户、编辑账户和普通账户;
所述账户映射合约利用管理账户添加映射和查询映射,所述映射为各所述医疗机构应用服务器上的普通账户与联盟链上的链上账户地址之间的对应关系;
所述病历合约对应病人的电子病历数据,以便对所述电子病历数据进行查询和更新操作;
所述代理查询合约利用用户账户查询病人的历史病历数据;
所述代理更新合约利用管理账户或编辑账户更新病人的电子病历数据。
请参阅图2,本实施例提供的基于智能合约的电子病历管理***,首先需要在多个医疗机构之间构建联盟链。多家医疗机构(主体)共同签订合作协议,利用现有的开源区块链项目Hyperledger Fabric搭建一条联盟链,将该联盟链部署在各医疗机构的应用服务器(即应用程序所在的服务器)上,并允许联盟链中各医疗机构的应用服务器能够访问该联盟链,各医疗机构均获得该联盟链上的一个主体账户,即各医疗机构对应联盟链上的一个主体账户地址。当有新的主体要加入联盟链时,需要与当前联盟链中的至少一家主体签订合作协议,获得该联盟链的接入许可,才可加入联盟链;新的主体加入联盟链后,该主体也获得联盟链上的一个主体账户,该主体对应联盟链上的一个主体账户地址。
本实施例中,为了保证数据的安全性,本***仅允许联盟链中各医疗机构所有的应用服务器或IP地址进行访问(联盟链底层),这样做使得访问联盟链需要在该联盟链中各医疗机构的内部网络才能进行;否则,外部用户则需要先登录各医疗机构的应用服务器后才能访问联盟链。因此,本实施例提供的***设计了这样的架构:本***需要用户登录联盟链中各医疗机构的应用服务器后才能使用,在构建时有两种方案:
第一种是作为医疗机构原有应用程序的子***,即用户仍然需要登录原有应用程序,登录后,用户与联盟链的交互都是通过原有应用服务器代理完成,即用户先将消息发送给该应用服务器,再利用该应用服务器调用联盟链;
第二种是由各医疗机构设计一个带有登录***的应用程序,仅用于管理病人的电子病历数据(例如电子病历管理***),用户登录电子病历管理***后,用户与联盟链的交互通过电子病历管理***所在的应用服务器代理完成。这样做能最大程度地减少用户本地所需要的软硬件资源,而对于各医疗机构的应用服务器而言,其执行的操作与先前基本一致(查找数据、将数据返回给用户),也不会明显加重服务器的负担。
本实施例提供的***,请参阅图3,从***架构上主要分为底层控制模块、权限认证模块、账户映射模块、病历创建模块、病历查询模块和病历更新模块。
本实施例提供的***,其主要功能都是由联盟链上的智能合约来实现的,主要包括权限认证合约、账户映射合约、若干病历合约、代理查询合约和代理更新合约。
(1)底层控制模块
底层控制模块主要用于保证创建账户地址的权限,以及在需要溯源的时候,用于追溯每一笔交易的情况。
该***的联盟链底层对创建账户和查询数据提供了限制,对于创建用户账户和更新数据都需要具有管理权限的管理账户才能执行,以保证数据安全。联盟链提供了查询接口,可供管理账户查询链上的交易情况,此处的交易指广义上的交易,即用户账户地址向区块链发送的信息,可能是创建智能合约或函数调用等,查询结果的形式为(交易发送者的地址,交易接收者的地址,交易内容)。底层的查询接口作为区块链的一部分,可以直接访问权限认证模块对应的权限认证合约中的变量,从而确定用户账户是否为管理账户。
值得说明的是,本实施例中的用户账户包括合约账户(内部账户)和普通账户(外部账户),每个用户账户都有对应的账户地址。所有的智能合约都是合约账户,管理账户和编辑账户都属于合约账户。
(2)权限认证模块
权限认证模块用于检测用户账户(调用者)是否具有权限访问某个智能合约中的变量值,或能否调用智能合约中的某个函数。权限认证模块由权限认证合约实现,权限认证合约简称为AC(Authentication Contract)。权限认证合约是在联盟链部署时,***自动创建的。
具体的,权限认证合约包含三个存储变量,用来保存具有不同权限类型的合约账户地址,变量类型均是列表(集合):a)管理权限变量,用于保存具有全部权限(管理权限)的管理账户地址;b)编辑权限变量,用于保存具有编辑权限的编辑账户地址;c)候补权限变量,用于保存候补账户地址和赞同次数,每个元素格式为(候补账户地址,赞同次数),候补账户具有增加管理账户的权限。
本质上,任何用户账户都是可以向智能合约发送交易的,因此,本实施例中只能在智能合约的代码中对用户账户进行权限控制。
具体的,权限认证合约还包含以下函数:
a)权限检查函数:检查传入的参数,判断账户地址是否具有相应权限,参数为[账户地址,权限类型],权限类型包括管理权限和编辑权限。权限检查函数检查该账户地址是否位于对应的账户变量中,如果在,则返回真,否则,则返回假。若某个用户账户的权限类型为编辑权限,但账户地址位于管理权限变量的列表中时,则仍然返回真。
b)管理账户增加函数:在管理权限变量中增加账户地址,参数为[账户地址]。管理账户增加函数将新的用户账户转换为管理账户的条件是:需要由预设数量(例如固定值N个)的管理账户同意,或者由当前管理账户总量中满足预设比例的管理账户同意。例如,预设比例为1/3,则需要所有管理账户中1/3以上的管理账户同意。
增加管理账户的具体过程为:
<1>管理账户向权限认证合约发送一笔交易,调用管理账户增加函数;
<2>执行管理账户增加函数,判断交易发起者是否具有管理权限,若无管理权限,则停止执行;否则,判断传入参数即账户地址是否已经为管理账户,若不是管理账户,则将传入的账户地址加入到候补权限变量的列表中,也就是将传入的账户地址作为候补账户地址,并将该候补账户中的赞同次数值增加1;
<3>判断传入的账户地址是否满足上述将新的用户账户转换为管理账户的条件,若满足,则将传入参数即账户地址加入到管理权限变量的列表中,并从候补权限变量的列表中移除该账户地址。
值得说明的是,区块链中的智能合约是一种特殊账户,相比普通账户多了代码,账户可以通过发起一笔交易调用智能合约账户中对应的代码(函数)。也就是说这里的<1>步骤只是一个启动(调用)函数执行的行为,在描述具体函数行为时需忽略。由于智能合约也是一种账户(是账户就会有账户在链上的地址),它包含了代码,但是它没有私钥来管理,只能通过代码来限制。同样可以向合约账户发送交易来转账或者调用函数。
c)编辑账户增加函数:在编辑权限变量中增加账户地址,参数为[账户地址]。增加编辑账户的具体过程为:
<1>管理账户向权限认证合约发送一笔交易,调用编辑账户增加函数;
<2>执行编辑账户增加函数,检查交易发起者是否为管理账户,若不是,则退出;若是,则将传入的账户地址加入到编辑权限变量的列表中,并返回该账户地址。
(3)账户映射模块
账户映射模块将联盟链的链上和链下进行连接。为了保证联盟链上的数据不会被外部恶意用户窃取,联盟链需要通过账户映射模块才能被调用,相当于是医疗机构与联盟链交互的接口。联盟链上的链上账户地址为一串二进制编码,账户映射模块将用户在各医疗机构应用服务器中的普通账户(外部账户)映射为联盟链上的链上账户地址,这样用户就不需要保存这一串二进制编码。账户映射模块由各医疗机构应用服务器上的认证程序和一个联盟链上的账户映射合约MC(mapping contract)实现,该合约在联盟链部署时,自动创建,该合约仅能由管理账户进行调用。
在区块链***中,用户发起交易,需要对交易内容进行签名才行,这需要使用到用户的私钥。为了让用户无需单独保存私钥,本实施例将加密后的私钥存放在联盟链上,方式为:用户在联盟链中各医疗机构进行注册(首次登录)时,需要输入独立密码,***根据独立密码对私钥进行加密,优选的实施方式,加密方式对称加密(即加密和解密需要用同一个密钥),可采用DES、RC5等,然后将加密后的私钥存储在账户映射合约中。在用户登录并获取到加密后的私钥后,提示用户输入独立密码,然后根据独立密码解码出真实的私钥。
账户映射合约MC中包含一个集合变量,记录(用户的身份信息,链上账户地址,病历合约地址,加密后的私钥)格式的数据,理论上讲,可通过其中任何一个属性查询其他属性,但一般情况下都是用第一个属性查询其他属性。此处用户的身份信息一般指身份证,但也可以是任何其他唯一证件,即在每一家医疗机构都是相同的,例如社保卡等。为了避免出现医务人员同时也可能是病人的问题,对于医务人员,将第一个属性由身份证更改为工作证编号。
账户映射合约MC中包括两个函数,分别是映射添加函数和映射查询函数,这两个函数仅能由管理账户调用,具体过程为:
<1>用户通过用户名加密码,或微信认证等方式,登录到医疗机构的应用程序中(例如移动app、网页或小程序)。值得说明的是,此处的用户,可能是病人或医护人员。此处用户是为了将用户和账户进行区分,说明是一一对应了实际中的人,而账户(或账户地址)是强调是在链上进行操作。
<2>当用户为首次注册或使用病历管理功能时,医疗机构使用联盟链上的主体账户为用户在联盟链上创建一个链上账户,该链上账户有对应的链上账户地址,生成对应的私钥,并要求用户输入电子病历管理的独立密码,根据独立密码对生成的私钥加密,并调用MC合约的映射添加函数,该函数首先调用AC合约中的权限检查函数,参数值为[交易发送者的账户地址,管理权限],如果返回真,则按照上述的记录格式,在集合变量中加入该用户的信息。
<3>根据用户的用户名和独立密码,医疗机构的应用程序访问联盟链,调用MC合约中的映射查询函数,该函数首先调用AC合约的权限检查函数,参数为[交易发送者的账户地址,管理权限],如果返回真,通过用户的身份证信息,获得用户在联盟链上的链上账户地址和病历合约地址,并用独立密码对加密后的私钥解码得到私钥,然后保存在医疗机构的应用程序中。即用户登录医疗机构的应用程序后,医疗机构的应用程序中已经保存了用户在联盟链上的链上账户地址和病历合约地址。
在此之后,用户便可以通过医疗机构的应用程序,使用自己的链上账户地址访问联盟链,查询自己的病历数据。
值得说明的是,本发明提供的基于智能合约的电子病历管理***,可以认为是整个医疗机构应用程序APP的一个组成和底层部分,用于实现电子病历的管理,关于医疗机构其他应用部分本***能实现,但不是重点关注。本***通过账户映射模块,能够很好地与现有的医疗机构APP相结合。
值得说明的是,在无特殊要求时,联盟链中的权限认证合约、账户映射合约仅需要一个,即一般情况下,只需要一个权限认证合约和一个账户映射合约。特殊要求是指:1)医疗机构需要有另一套身份权限管理,即在不同的情况下账户的权限不同;2)医疗机构需要创建与通用电子病历不同的病历时,即一个病人可能需要两个病历。
(4)病历创建模块
初始化病人的电子病历,一个电子病历对应一个智能合约,仅能由管理账户创建。
在病人(非医护人员和管理员)账户首次在联盟链中医疗机构注册时,***发起一笔交易,创建并初始化病历合约(Record Contract),病历合约可能有多个,但每一个都具有不同的参数。
具体的,病历合约包含以下变量:
a)创建账户地址:记录是哪个医疗机构创建的,即创建病历合约的医疗机构在联盟链上的主体账户地址;
b)病人账户地址:记录该合约对应的病人在联盟链上的链上账户地址;
c)病历创建时间:记录病历合约首次创建的时间;
d)病历更新时间:记录病历合约最近一次的更新时间;
e)代理查询合约地址:列表,记录联盟链上的代理查询合约的地址;
f)代理更新合约地址:列表,记录联盟链上的代理更新合约的地址;
g)历史病历数据:列表,记录每一次上传的电子病历数据。
首次创建病历合约时,根据实际情况初始化a-d内容,至此,联盟链上出现对应具体病人的病历合约。
具体的,病历合约还包含四个函数,病历查询函数、病历更新函数、代理查询合约地址更新函数和代理更新合约地址更新函数。
其中,a)病历查询函数,用于查询病历合约中的数据,具体过程为:
<1>检查交易发起地址是否为代理查询合约地址变量中的值,或管理/编辑账户(该步调用AC合约的权限查询函数),或病人的普通账户,若是则进入下一步,若不是则退出;
<2>根据病历更新时间倒序排列历史病历数据;
<3>将数据返回给交易发起客户端。
b)病历更新函数,参数[病历数据],用于更新病历合约中的数据,具体过程为:
<1>检查交易发起地址是否为代理更新合约地址变量中的值,或者是管理/编辑账户(该步调用AC合约的权限检查函数),若是则进入下一步,若不是,则退出函数;
<2>在历史病历数据中加入[病历数据],并返回成功。
c)代理查询合约地址更新函数,参数[新代理查询合约地址列表],具体过程为:
<1>检查交易发起者是否为管理账户(该步调用AC合约的权限查询函数),若是则进入下一步,若不是则退出;
<2>用[新代理查询合约地址列表]替换原有的代理查询合约地址,并返回成功。
d)代理更新合约地址更新函数,参数[新代理更新合约地址列表],具体过程为:
<1>检查交易发起者是否为管理账户(该步调用AC合约的权限检查函数),若是则进入下一步,若不是则退出;
<2>用[新代理更新合约地址列表]替换原有的代理更新合约地址,并返回成功。
值得说明的是,考虑到后续医务人员可直接修改病历合约的情况,在病历查询合约、病历更新合约中加入判断是否为管理/编辑账户。若在全部采用代理模式的情况下,不需要判断是否为管理/编辑账户。
值得说明的是,病历合约是一种合约账户,通过向空地址(或者全0地址)发起一笔交易即可创建一个合约账户,并获得该合约账户的地址即病历合约地址。病历合约地址本质上是一串十六进制的数据,这个数据代表了它在联盟链上的地址,利用这个地址就可以向病历合约发送交易,来调用病历合约中的函数。
(5)病历查询模块
用于查询电子病历数据,并按病历更新时间将查询结果倒序排列并返回,可以由代理查询合约进行(医疗机构及医护人员使用),也可以直接查询(病人使用)。病历查询的两种方式为:
第一种方式与病历更新类似,通过代理查询合约进行。仅能由具有管理和编辑权限的账户使用。代理查询合约PQC(Proxy Query Contract)有一个函数,称为执行查询函数,参数为[用户的身份信息,电子病历数据]。
<1>调用用户映射模块的MC合约中的映射查询函数,参数为[用户信息],得到用户的病历合约地址。
<2>调用用户的链上账户地址对应的病历合约中的病历查询函数,返回查询结果。
第二种,用户(病人)直接向病历合约地址发起一笔交易来调用病历合约中的病历查询函数。根据账户映射模块的相关内容可知,在用户登录医疗机构的应用程序APP后,用户的应用程序中已经记录了用户的链上账户地址和病历合约地址,因此,用户可以直接用自己的链上账户地址向病历合约发起一笔交易,调用病历合约中的病历查询函数,从而获得自己的病历数据。
(6)病历更新模块
更新病人的电子病历数据,也就是更新病人对应的链上病历合约,由代理更新合约(PUC,Proxy Updating Contract)完成。代理更新合约仅能由具有管理和编辑权限的账户调用,即只能由管理账户和编辑账户更新病人的病历合约。
具体的,代理更新合约PUC有一个函数,称为执行更新函数,参数为[用户的身份信息,电子病历数据]。
医生登录医疗机构的应用程序中,编辑好病人的电子病历后,点击提交,以医生的编辑账户向代理更新合约发送一笔交易,调用PUC合约中的执行更新函数。
执行更新函数执行以下两步操作:
<1>调用账户映射模块的MC合约中的映射查询函数,参数为[用户信息],得到病人的病历合约地址。
<2>调用病历合约地址对应的病历合约中的病历更新函数,参数为[病历数据],实现对病历合约的更新,并返回更新结果。
本发明提供的电子病历管理***,在多个医疗机构之间构建联盟链,能够轻易地接入医疗机构现有的应用程序中,用户无需下载更多的应用程序,极大地优化了用户体验,并且能够充分发挥区块链的优势,实现了电子病历数据能够在多家医疗机构之间可信共享,保证了病历数据难以篡改、可溯源及安全性。同时,本发明采用智能合约来管理电子病历,利用智能合约的特点,使用代码进行权限管理,确保用户的病历隐私不会被除医疗机构和自己以外的人访问,有效地保护了用户的隐私安全。
本实施例提供的基于智能合约的电子病历管理***,是一种基于区块链和智能合约的电子病历管理***,在多个医疗机构之间构建联盟链,将患者的电子病历数据存储在各医疗机构的应用服务器上,通过账户映射合约将病人的普通账户映射为联盟链上的一个链上账户地址,为每个患者的电子病历创建对应的病历合约,利用代理合约查询、代理更新合约对电子病历进行查询和更新,在保证安全性的前提下,能够实现医疗机构之间对电子病历数据的可信共享;同时,保证了每一次电子病历数据可溯源、难篡改,能够有效避免数据丢失的问题;本***还能方便地与医疗机构的现有APP集成,降低了开发和运营成本,并能带给用户更好地使用体验。
本实施例提供的基于智能合约的电子病历管理***,主要具有以下优势:
(1)能够发挥区块链的优势,在保护数据安全的情况下,实现多家医疗机构之间的数据互通,并且通过区块链记录的每一笔交易信息,可以得知病人病历更改的所有记录,病历记录可溯源、难以篡改;同时,当某家机构的信息丢失时,分布式的存储方式也保证了仍然能够恢复数据。
(2)本实施例利用账户映射模块,将联盟链的链上链下信息进行链接,能够很好地与现有的方案结合,现有的医疗机构不需要大范围修改自己的APP就能集成。当然,该方案也能独立作为一个***执行。除此之外,在这种方式下,用户无需在自己的设备上保存私钥,避免了私钥丢失带来的麻烦。
(3)本实施例采用智能合约来管理电子病历,利用智能合约的特点,使用代码确保了用户的病历隐私不会被除医疗机构和自己之外的人访问,有效地保护了用户的隐私安全。除此之外,通过智能合约来管理病历,相比于直接按熟顺序把病历信息放在链上,能够更加快速地获取到病历数据。
(4)本实施例提供了一种权限管理的方案,即利用智能合约进行管理,通过投票的形式来确保联盟链中的1/3主体赞成才可获得权限,避免了恶意的人为修改权限。
请参阅图4,本发明还提供了一种基于智能合约的电子病历管理方法的实施例,包括:
在多个医疗机构之间构建联盟链;
将各所述医疗机构病人的电子病历数据存储在各所述医疗机构的应用服务器上;
在所述联盟链上构建权限认证合约、账户映射合约、若干病历合约、代理查询合约和代理更新合约,以便查询和更新所述电子病历数据;
其中,所述权限认证合约检测用户账户是否有权限访问某个智能合约,所述用户账户包括管理账户、编辑账户和普通账户;
所述账户映射合约利用管理账户添加映射和查询映射,所述映射为各所述医疗机构应用服务器上的普通账户与联盟链上的账户地址之间的对应关系;
所述病历合约对应病人的电子病历数据,以便对所述电子病历数据进行查询和更新操作;
所述代理查询合约利用用户账户查询病人的历史病历数据;
所述代理更新合约利用管理账户或编辑账户更新病人的电子病历数据。
优选的实施方式,权限认证合约中包括:
管理权限变量、编辑权限变量和候补权限变量,分别保存管理账户地址、编辑账户地址和候补账户地址;
其中,所述管理账户地址为具有管理权限的管理账户对应的地址,所述编辑账户地址为具有编辑权限的编辑账户对应的地址,所述候补账户地址具有增加管理账户权限的候补账户对应的地址。
本发明提供的基于智能合约的电子病历管理方法,在多个医疗机构之间构建联盟链,能够轻易地接入医疗机构现有的应用程序中,用户无需下载更多的应用程序,极大地优化了用户体验,并且能够充分发挥区块链的优势,实现了电子病历数据能够在多家医疗机构之间可信共享,保证了病历数据难以篡改、可溯源及安全性。同时,本发明采用智能合约来管理电子病历,利用智能合约的特点,使用代码进行权限管理,确保用户的病历隐私不会被除医疗机构和自己以外的人访问,有效地保护了用户的隐私安全。
本实施例提供的基于智能合约的电子病历管理***,由于各个***模块可以多次调用,并没有绝对固定的使用方法,因此,一个可能的使用过程如下:
<1>(基础构建)N家医疗机构利用现有应用搭建了一条用于管理电子病历数据的联盟链,允许自家的应用服务器访问这条联盟链,每家医疗机构在该联盟链上都拥有一定的管理账户,同时给医务人员配备了对应的具有编辑权限的编辑账户。
<2>(创建过程)小李来到该联盟链中的一家医疗机构,首先他在该家医疗机构的APP上注册了个人身份,注册之后,***会自动随机为他创建一个链上账户地址,生成对应的私钥,并要求小李输入独立密码,根据独立密码对生成的私钥加密,得到加密后的私钥,并用医疗机构的主体账户向联盟链发起一笔交易。这笔交易要完成以下两个操作,1)在联盟链上创建属于小李的病历合约,合约初始变量值为[医疗机构主体账户地址,小李在联盟链上的链上账户地址,病历创建时间为当前时间,病历更新时间为当前时间],并获得该病历合约对应的病历合约地址;2)调用账户映射合约的更新函数,参数为(小李的身份信息,小李的链上账户地址,病历合约地址,加密后的私钥),更新小李在联盟链上的电子病历信息。
<3>(下为一个使用情况)小李登录医疗机构的应用程序APP并输入独立密码,此时***管理账户地址向联盟链上的账户映射合约发送一笔交易,调用MC合约的映射查询函数,获取小李的链上账户地址和病历合约地址,并返回给医疗机构的应用程序APP***。此后,小李访问联盟链都将使用自己的链上账户地址。值得说明的是,对于其他账户管理也是类似的。
<4>小李到医疗机构的科室看病,医生A想要了解小李的过往病历史,此时他点击病历查询,***执行以下操作:
用医生A的编辑账户向代理查询合约PQC发送一笔交易,获取小李的历史病历数据。
<5>小李完成了基本的看病流程,医生A将本次病历内容撰写好后,点击提交。此时,***以医生A的编辑账户地址发送一笔交易到代理更新合约PUC,代理更新合约按照预定的操作执行,调用病历合约中的病历更新函数更新患者的电子病历数据。
<6>小李想要查询自己的病历信息,在医疗机构的应用程序APP内,他用自己的链上账户地址,发送了一笔交易到自己的病历合约,调用病历合约中的病历查询函数,查看自己最近的病历记录。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于智能合约的电子病历管理***,其特征在于,包括:
构建在多个医疗机构之间的联盟链和各所述医疗机构的应用服务器,各所述医疗机构的应用服务器上存储了病人的电子病历数据,所述联盟链上构建了权限认证合约、账户映射合约、若干病历合约、代理查询合约和代理更新合约,以便查询和更新所述电子病历数据;
其中,所述权限认证合约检测用户账户是否有权限访问某个智能合约,所述用户账户包括管理账户、编辑账户和普通账户;
所述账户映射合约利用管理账户添加映射和查询映射,所述映射为各所述医疗机构应用服务器上的普通账户与联盟链上的链上账户地址之间的对应关系;
所述病历合约对应病人的电子病历数据,以便对所述电子病历数据进行查询和更新操作;
所述代理查询合约利用用户账户查询病人的历史病历数据;
所述代理更新合约利用管理账户或编辑账户更新病人的电子病历数据。
2.根据权利要求1所述的基于智能合约的电子病历管理***,其特征在于,所述权限认证合约中包括:
管理权限变量、编辑权限变量和候补权限变量,分别保存管理账户地址、编辑账户地址和候补账户地址;
其中,所述管理账户地址为具有管理权限的管理账户对应的地址,所述编辑账户地址为具有编辑权限的编辑账户对应的地址,所述候补账户地址具有增加管理账户权限的候补账户对应的地址。
3.根据权利要求1所述的基于智能合约的电子病历管理***,其特征在于,所述权限认证合约中还包括:
权限检查函数、管理账户增加函数和编辑账户增加函数;
其中,所述权限检查函数检测用户账户的权限,若为管理权限或编辑权限,则结果为真,否则结果为假;
所述管理账户增加函数根据预设的管理账户增加条件增加管理账户;
所述编辑账户增加函数检测交易发起者是否为管理账户,若是,则增加编辑账户,若否,则退出。
4.根据权利要求3所述的基于智能合约的电子病历管理***,其特征在于,所述病历合约中至少包括:
病历查询函数和病历更新函数;
其中,所述病历查询函数调用所述权限检查函数,若结果为真,则查询病人的电子病历数据,并将所述电子病历数据根据病历更新时间进行倒序排列;
所述病历更新函数调用所述权限检查函数,若结果为真,则更新病人的电子病历数据。
5.根据权利要求3所述的基于智能合约的电子病历管理***,其特征在于,各所述医疗机构对应所述联盟链上的一个主体账户地址,所述账户映射合约中包括:
映射添加函数和映射查询函数;
其中,所述映射添加函数在病人使用普通账户首次登录各所述医疗机构的应用服务器时,调用所述权限检查函数,若结果为真,所述医疗机构使用主体账户地址在所述联盟链上为普通账户创建一个对应的链上账户地址;
所述映射查询函数调用所述权限检查函数检测用户账户是否具有相应权限,若结果为真,则返回病人的链上账户地址和病历合约地址。
6.根据权利要求5所述的基于智能合约的电子病历管理***,其特征在于,所述病历合约中至少包括病历查询函数,所述代理查询合约利用用户账户查询病人的历史病历数据包括:
利用管理账户或编辑账户执行代理查询合约查询病人的电子病历数据,获取病人的历史病历数据;
或利用普通账户对应的链上账户地址调用病历合约中的病历查询函数,获取病人的历史病历数据。
7.根据权利要求6所述的基于智能合约的电子病历管理***,其特征在于,所述代理查询合约中包括执行查询函数,利用管理账户或编辑账户执行代理查询合约查询病人的电子病历数据包括:
利用管理账户或编辑账户执行代理查询合约中的执行查询函数查询病人的电子病历数据,具体过程为:
调用所述映射查询函数,得到病人的病历合约地址;
根据所述病历合约地址调用对应的病历合约中的病历查询函数查询病人的电子病历数据,获取病人的历史病历数据。
8.根据权利要求3-7任意一项所述的基于智能合约的电子病历管理***,其特征在于,所述代理更新合约中包括执行更新函数,所述代理更新合约利用管理账户或编辑账户更新病人的电子病历数据包括:
利用管理账户或编辑账户执行代理更新合约中的执行查询函数更新病人的电子病历数据,具体过程为:
调用所述映射查询函数,得到病人的病历合约地址;
根据所述病历合约地址调用对应的病历合约中的病历更新函数更新病人的电子病历数据。
9.一种基于智能合约的电子病历管理方法,其特征在于,包括:
在多个医疗机构之间构建联盟链;
将各所述医疗机构病人的电子病历数据存储在各所述医疗机构的应用服务器上;
在所述联盟链上构建权限认证合约、账户映射合约、若干病历合约、代理查询合约和代理更新合约,以便查询和更新所述电子病历数据;
其中,所述权限认证合约检测用户账户是否有权限访问某个智能合约,所述用户账户包括管理账户、编辑账户和普通账户;
所述账户映射合约利用管理账户添加映射和查询映射,所述映射为各所述医疗机构应用服务器上的普通账户与联盟链上的账户地址之间的对应关系;
所述病历合约对应病人的电子病历数据,以便对所述电子病历数据进行查询和更新操作;
所述代理查询合约利用用户账户查询病人的历史病历数据;
所述代理更新合约利用管理账户或编辑账户更新病人的电子病历数据。
10.根据权利要求9所述的基于智能合约的电子病历管理方法,其特征在于,所述权限认证合约中包括:
管理权限变量、编辑权限变量和候补权限变量,分别保存管理账户地址、编辑账户地址和候补账户地址;
其中,所述管理账户地址为具有管理权限的管理账户对应的地址,所述编辑账户地址为具有编辑权限的编辑账户对应的地址,所述候补账户地址具有增加管理账户权限的候补账户对应的地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211242989.8A CN115510492A (zh) | 2022-10-11 | 2022-10-11 | 一种基于智能合约的电子病历管理***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211242989.8A CN115510492A (zh) | 2022-10-11 | 2022-10-11 | 一种基于智能合约的电子病历管理***及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115510492A true CN115510492A (zh) | 2022-12-23 |
Family
ID=84511009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211242989.8A Pending CN115510492A (zh) | 2022-10-11 | 2022-10-11 | 一种基于智能合约的电子病历管理***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115510492A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116525077A (zh) * | 2023-06-29 | 2023-08-01 | 安翰科技(武汉)股份有限公司 | 人工智能医疗器械测试数据的处理方法及*** |
CN117540356A (zh) * | 2024-01-10 | 2024-02-09 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
-
2022
- 2022-10-11 CN CN202211242989.8A patent/CN115510492A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116525077A (zh) * | 2023-06-29 | 2023-08-01 | 安翰科技(武汉)股份有限公司 | 人工智能医疗器械测试数据的处理方法及*** |
CN116525077B (zh) * | 2023-06-29 | 2023-09-08 | 安翰科技(武汉)股份有限公司 | 人工智能医疗器械测试数据的处理方法及*** |
CN117540356A (zh) * | 2024-01-10 | 2024-02-09 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN117540356B (zh) * | 2024-01-10 | 2024-03-12 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111488598B (zh) | 访问控制方法、装置、计算机设备和存储介质 | |
US11240251B2 (en) | Methods and systems for virtual file storage and encryption | |
CN111429254B (zh) | 一种业务数据处理方法、设备以及可读存储介质 | |
CN109040012B (zh) | 一种基于区块链的数据安全保护和共享方法与***和应用 | |
Megouache et al. | Ensuring user authentication and data integrity in multi-cloud environment | |
CN101785243B (zh) | 可传递受限安全令牌 | |
CN114513533A (zh) | 一种分类分级健身健康大数据共享***及方法 | |
EP3938941B1 (en) | User choice in data location and policy adherence | |
CN110535833A (zh) | 一种基于区块链的数据共享控制方法 | |
CN115510492A (zh) | 一种基于智能合约的电子病历管理***及方法 | |
JP2006500657A (ja) | セキュリティポリシーの維持及び配信をサポートするためのサーバー、コンピュータメモリ、及び方法 | |
CN104718526A (zh) | 安全移动框架 | |
CN105516110A (zh) | 移动设备安全数据传送方法 | |
CN113966597B (zh) | 使用多个解析器解析分散标识符 | |
CN105450750A (zh) | 智能终端安全交互方法 | |
WO2020190386A1 (en) | Provision of policy compliant storage for did data | |
CN112115199A (zh) | 一种基于区块链技术的数据管理*** | |
CN112712372A (zh) | 联盟链跨链***和信息调用方法 | |
Zhao et al. | Attribute-based access control scheme for data sharing on hyperledger fabric | |
EP3817320B1 (en) | Blockchain-based system for issuing and validating certificates | |
CN116226880A (zh) | 一种基于可搜索加密的区块链密文检索安全溯源*** | |
Chauhan | Iot network identity management using smart contract and blockchain technology | |
EP4028922A1 (en) | Event based transfer of did delegated authority | |
Jamal et al. | Enhanced bring your own device (BYOD) environment security based on blockchain technology | |
Chen et al. | Cloud service platform of electronic identity in cyberspace |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |