CN112582070A - 提供和接收医学数据记录 - Google Patents

提供和接收医学数据记录 Download PDF

Info

Publication number
CN112582070A
CN112582070A CN202011040503.3A CN202011040503A CN112582070A CN 112582070 A CN112582070 A CN 112582070A CN 202011040503 A CN202011040503 A CN 202011040503A CN 112582070 A CN112582070 A CN 112582070A
Authority
CN
China
Prior art keywords
mdr
jdi
medical data
receiving
providing
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
Application number
CN202011040503.3A
Other languages
English (en)
Inventor
里卡多·丹尼尔·卡内罗戈梅斯
希瓦·阿希什图姆帕蒂
伊利亚·谢尔
泽埃夫·格洛兹曼
克里斯托夫·佩戴恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Healthcare GmbH
Original Assignee
Siemens Healthcare GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Siemens Healthcare GmbH filed Critical Siemens Healthcare GmbH
Publication of CN112582070A publication Critical patent/CN112582070A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/20ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the management or administration of healthcare resources or facilities, e.g. managing hospital staff or surgery rooms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • G06Q50/265Personal security, identity or safety

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Computer Security & Cryptography (AREA)
  • Medical Informatics (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Pathology (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)

Abstract

本发明涉及提供和接收医学数据记录。一种用于向接收实体提供所请求的医学数据记录的计算机实现的方法,包括:接收存储在数据库中的医学数据记录的集合,以及接收或初始化联合数据索引。此外,对于医学数据记录的集合中的每个医学数据记录,方法包括将多个散列函数应用于与医学数据记录对应的患者标识符以确定散列向量,其中,与医学数据记录对应的患者标识符标识作为医学数据记录的主题的患者,并且基于散列向量来更新联合数据索引。此外,方法包括:向接收实体提供联合数据索引,以及从接收实体接收对所请求的医学数据记录的请求。此外,方法包括经由安全通信通道向接收实体提供所请求的医学数据记录。

Description

提供和接收医学数据记录
技术领域
本发明涉及提供和接收医学数据记录,以及更特别地,涉及用于 在不同实体之间交换医学信息的解决方案。
背景技术
对于单个患者,常见的是,与患者对应的医学数据记录不位于单个 数据库中或单个实体内,而是分布在不同的数据库或实体中。这一方面 是由于不同医学实践的专业化(在单个实体如医院内,但也关于不同实 体),还由于患者的更大的全球流动性(由于长期的移动和委派,或者由 于假期以及对其他地方的短时间访问,可能分布在若干大洲)。
对于患者的诊断和治疗,这造成了严重的问题,因为考虑到数据隐 私法,医学信息必须首先位于某个实体,并且从该实体传送到执行当前 诊断或治疗的实体。如果这是不可能的(例如,由于患者失去知觉),则 某些医学信息必须在本地重新创建,或者甚至可能不用于诊断和治疗, 尽管其可能存在于另一实体的数据库中。
一个可能的解决方案是使用中央数据库来存储所有患者——至少是 某个地理区域或某个辖区的所有患者——的医学数据记录。然而,关于 可用性以及关于安全性问题,这样的中央数据存储可能出现单点故障。 此外,可能存在会阻止这样的中央数据库特别是跨不同辖区的中央数据 库的创建的数据隐私法规。
另一可能的解决方案将是当前诊断或治疗某个患者的某个实体向可 能存储与患者相关的医学信息的所有其他实体发起请求。等同地,所有 实体可以提供其拥有的关于某个患者的医学信息的信息。然而,通过使 用这样的解决方案,与患者相关的至少元数据是公开可用的,并且可以 在没有患者同意的情况下使用相关性来得出关于某个患者的某些结论。
发明内容
因此,本发明的目的是提供用于在不同实体之间交换医学信息的解 决方案,该解决方案同时使公开可用的元数据的量最小化。
该目的通过根据独立权利要求的用于提供医学数据记录的方法、用 于接收医学数据记录的方法、提供系统、接收系统、计算机程序产品以 及计算机可读介质来解决。另外的方面和有利实施方式呈现在从属权利 要求和说明书中。
下面,相对于所要求保护的系统(特别是相对于提供系统、接收系 统、计算机程序和计算机可读介质)以及相对于所要求保护的方法(特 别是相对于用于提供和接收医学数据记录的方法)描述了根据本发明的 解决方案。本文中的特征、优点或替选实施方式可以被分配给其他对应 的要求保护的对象,反之亦然。换言之,可以利用在对应的方法的上下文中描述或要求保护的特征来改进系统。在该情况下,方法的功能特征 由系统的目标单元来实施。
此外,相对于用于提供医学数据记录的方法和系统、用于接收医学 数据记录的方法和系统、以及用于传送医学数据记录的方法和系统描述 了根据本发明的解决方案。本文中的特征、优点或替选实施方式可以被 分配给其他对应的要求保护的对象,反之亦然。换言之,可以利用在用 于接收医学数据记录的方法和系统的上下文中或者在用于传送医学数据 记录的方法和系统的上下文中描述或要求保护的特征来改进用于提供医 学数据记录的方法和系统的特征。特别地,可以通过用于接收医学数据 记录的方法和系统来接收由用于提供医学数据记录的方法和系统提供的 医学数据记录。特别地,用于传送医学数据记录的方法和系统可以是用 于提供医学数据记录的方法和系统以及用于接收医学数据记录的方法和 系统的组合。
根据第一方面,本发明涉及一种用于向接收实体提供所请求的医学 数据记录的计算机实现的方法。该方法包括:接收存储在数据库中的医 学数据记录的集合,以及接收或初始化联合数据索引。此外,对于医学 数据记录的集合中的每个医学数据记录,方法包括将多个散列函数应用 于与医学数据记录对应的患者标识符以确定散列向量,其中,与医学数 据记录对应的患者标识符标识作为医学数据记录的主题的患者,并且基 于散列向量来更新联合数据索引。此外,方法包括:向接收实体提供联 合数据索引,以及从接收实体接收对所请求的医学数据记录的请求,其 中,所请求的医学数据记录对应于请求患者标识符,并且其中,请求基 于联合数据索引。可选地,方法包括验证对所请求的医学数据记录的请 求。此外,方法包括经由安全通信通道向接收实体提供所请求的医学数 据记录。
特别地,由接口执行接收医学数据记录的集合的步骤。特别地,由 接口或计算单元执行接收或初始化联合数据索引的步骤。特别地,由计 算单元执行应用多个散列函数的步骤以及更新联合数据索引的步骤。特 别地,由接口执行提供联合数据索引的步骤和接收对所请求的医学数据 记录的请求的步骤。特别地,由计算单元执行验证请求的可选步骤。特 别地,由接口执行提供所请求的医学数据记录的步骤。特别地,接口是 提供实体和/或者提供系统的接口,并且计算单元是提供实体和/或者提供 系统的计算单元。
在本说明书中,术语“提供实体”用于描述存储并最终共享与患者 对应的医学数据记录的实体(例如,医师、医院或医院的组)。此外,术 语“接收实体”用于描述请求并最终从提供实体接收医学数据记录的实 体(例如,医师、医院、医院的组或患者)。术语“提供系统”用于描述 用于执行根据本发明的方法(特别是用于存储和/或共享医学数据记录) 的提供实体的技术系统(特别是IT设备),以及术语“接收系统”用于 描述用于执行根据本发明的方法(特别是用于请求和/或接收医学数据记 录)的接收实体的技术系统(特别是IT设备)。术语“传送系统”用于 描述包括至少一个提供系统和至少一个接收系统的技术系统。
在本领域技术人员清楚的情况下,术语“提供实体”和“提供系统” 可以用作同义词。在本领域技术人员清楚的情况下,术语“接收实体” 和“接收系统”可以用作同义词。
接收医学数据记录的集合的步骤可以在接收或初始化联合数据索引 的步骤之前、之后或并行执行。特别地,在接收医学数据记录的集合的 步骤以及接收或初始化联合数据索引的步骤之后,执行应用多个散列函 数以及更新联合数据索引的步骤。
对于医学数据记录的集合中的每个医学数据记录,在应用多个散列 函数的步骤之后,执行更新联合数据索引的步骤。可以针对一个医学数 据记录执行该两个步骤,然后针对另一医学数据记录执行步骤。替选地, 可以针对医学数据记录的集合中的所有医学数据记录执行应用多个散列 函数的步骤,并且仅在此之后,针对医学数据记录的集合中的所有医学 数据记录执行更新联合数据索引的步骤。
特别地,在更新联合数据索引的所有步骤之后,执行提供联合数据 索引的步骤。特别地,在提供联合数据索引的步骤之后,并且按权利要 求或说明书中使用的顺序执行剩余的接收对所请求的医学数据记录的请 求的步骤、验证请求的可选步骤、以及提供所请求的医学数据记录的步 骤。
特别地,联合数据索引是基于患者标识符的集合的数据集,其允许 排除某个患者标识符是患者标识符的集合的一部分。特别地,基于联合 数据索引,不能确定某个患者标识符是患者标识符的集合的一部分。换 言之,联合数据索引允许错误肯定,但不允许错误否定。
特别地,联合数据索引可以是可组合的联合数据索引。对于可组合 的联合数据索引,可以基于患者标识符的第一集合的联合数据索引I(S1) 以及患者标识符的第二集合的联合数据索引I(S2)来计算患者标识符的第 一集合S1与患者标识符的第二集合S2的集合并的联合数据索引I(S1+S2), I(S1+S2)=f(I(S1),I(S2))。特别地,可以将患者标识符的第一集合S1与患者 标识符的第二集合S2的集合并的联合数据索引I(S1+S2)计算为患者标识 符的第一集合的联合数据索引I(S1)与患者标识符的第二集合的联合数据 索引I(S2)之和或者“或”(OR)运算,因此I(S1+S2)=I(S1)ORI(S2),或者 I(S1+S2)=I(S1)+I(S2)。
特别地,联合数据索引可以是n维向量。特别地,联合数据索引的 以上提及的运算可以被理解为逐元素运算,例如,对于1与n之间的整 数j,Ij(S1+S2)=f(Ij(S1),Ij(S2)),Ij(S1+S2)=Ij(S1)ORIj(S2),或者 Ij(S1+S2)=Ij(S1)+Ij(S2)。
特别地,接收联合数据标识符可以等同于访问存储在提供系统的存 储器单元上的联合数据标识符。特别地,接收联合数据标识符可以等同 于初始化联合数据标识符,使得初始化的联合数据标识符对应于医学数 据记录的空数据库。特别地,初始化联合数据索引可以包括将值“0”或 “假”分配给联合数据索引的所有元素。
特别地,基于联合数据索引的请求不一定包括联合数据索引,并且 请求的内容不一定取决于联合数据索引。特别地,如果请求的存在和/或 创建基于联合数据索引,则请求可以基于联合数据索引。
患者标识符通常可以用来明确地标识患者。特别地,患者标识符可 以包括患者的姓名、患者的出生数据和/或患者的ID(例如,社会保险号、 ID号、驾驶证号或护照号)。特别地,患者标识符可以包括患者使用的 装置的标识符,例如,患者使用的装置(例如,计算机或移动装置)的 IP(“互联网协议”的缩写)地址、IMEI(“国际移动设备标识”的缩写)、 MAC(“媒体访问控制”的缩写)地址。特别地,患者标识符可以基于基 于与患者相关的私钥或者公钥。特别地,患者标识符也可以是共享的秘 密或令牌。术语“患者标识符”等同于术语“患者的标识符”。此外,代 替术语“患者标识符”,可以使用短术语“标识符”。
特别地,与医学数据记录对应的患者标识符是作为医学数据记录的 主题的患者的患者标识符。特别地,与医学数据记录对应的患者标识符 可以被包含在医学数据记录中。
请求患者标识符可以与存储在数据库中的医学数据记录对应的患者 标识符中之一相同,但是请求患者标识符也可以与存储在数据库中的医 学数据记录对应的患者标识符中的所有患者标识符不同。
医学数据记录通常包括至少一个患者的医学数据。贯穿本文件,术 语“医学数据记录”、“医学记录”、“医学数据集”、“医学数据”、“临床 数据记录”、“临床记录”、“临床数据集”、“临床数据”可以用作同义词。
医学数据记录可以包括医学图像数据集。使用医学成像设备从患者 获取这样的医学图像数据集,医学成像设备是例如磁共振设备、单光子 发射断层摄影(SPECT)设备、正电子发射断层摄影(PET)设备、计算 机断层摄影设备、超声设备、X射线设备、C臂设备或由前述成像模态 构成的任何组合形成的组合医学成像设备。医学图像数据集还可以包括 自动、半自动或手动生成的处理信息,例如分割的器官、轮廓信息、配 准信息等。
医学数据记录还可以包括从不是医学成像设备的其他医学设备获取 或得到的医学数据。这样的其他医学设备可以例如是治疗设备,例如, 放射治疗装置、碎石装置、激光治疗装置、输液泵或介入治疗装置。医 学数据记录还可以源自用于重症医学的设备、移动监测装置、呼吸装置、 麻醉机、ECG装置、EEG装置、血压测量装置、输液装置或透析装置。 医学数据记录还可以包括实验室诊断或遗传信息。
医学数据记录还可以包括患者的电子健康记录的全部或部分。因此, 医学数据记录可以包括关于患者的疾病史的信息。医学数据记录还可以 包含注释信息,注释信息描述了在医学数据记录中自动、半自动或手动 生成的诊断发现。医学数据记录还可以包括与患者相关的人口统计学元 数据,例如,性别、年龄、体重、大小等。
本领域技术人员可以考虑的其他医学数据也可以是医学数据记录的 一部分。
医学数据记录可以仅是指向存储有医学数据的存储数据库中的特定 位置的指针。该存储数据库可以是中央数据库、云存储或分布式数据库。 在该情况下,访问医学数据记录意味着访问指针,使得使用指针可以访 问存储在存储数据库中的医学数据。
医学数据记录的集合可以包括一个医学数据记录和/或多个医学数 据记录。医学数据记录的集合也可以是空集合。
特别地,数据集的散列是对数据集或者数据集与其他数据组合应用 散列函数的结果。特别地,散列函数可以采用其他参数例如种子。
通常,散列函数是将任意大小的数据映射到固定大小的数据的函数。 特别地,散列函数是加密散列函数。特别地,加密散列函数是确定性函 数;特别地,散列函数的输出仅取决于散列函数的输入。特别地,可以 以快速方式针对所有输入值计算加密散列函数。特别地,加密散列函数 仅是强力可逆的,即,给定加密散列函数的输出,只有通过针对大量输入值(即,强力攻击)计算加密散列函数,才可以计算加密散列函数的 对应的输入。换言之,找到与加密散列函数的输出值对应的输入值是棘 手的问题。特别地,找到产生相同输出值的加密散列函数的第一输入值 和第二输入值是棘手的问题。特别地,加密散列函数是散射的 (scattering);即,即使是加密散列函数的相关输入也会产生加密散列函 数的不相关输出。
特别地,散列函数可以计算输入数据的梅克尔根(Merkle root),特 别是通过计算梅克尔树内的散列。
特别地,散列函数也可以是另一散列函数的子集,这意味着应用于 数据集的散列函数的结果是应用于该数据集的另一散列函数的结果的子 集。特别地,另一散列函数的结果的子集可以是另一散列函数的结果的 某个位或某个字节。
特别地,可以使用以下散列函数中的一个或更多个:“Snefru”、 “N-Hash”、“FFT-Hash”、“MD4”、“MD5”、“SHA”(特别是“SHA-0”、 “SHA-1”、“SHA-256”、“SHA-384”和“SHA-512”)、“RIPEMD”、 “HAVAL”、“TIGER”、“PANAMA”、“WHIRLPOOL”、“SMA SH”、 “FORK-256”、“SHA-3”、“BLAKE”、或者基于Merkle-
Figure BDA0002706494860000071
构造或 基于Sponge构造的其他散列函数。
还可以通过细分较小数目的散列函数的结果使多个散列函数基于该 较小数目的散列函数。例如,如果散列函数产生具有N位的结果,则可 以定义两个其他散列函数,其中,第一其他散列函数将输入映射到原始 散列函数的第一N/2位,并且其中,第二其他散列函数将输入映射到原 始散列函数的第二N/2位。可以以类似方式生成任意数目的散列函数。
特别地,散列向量是包括相同数据集的不同散列的向量。特别地, 散列向量的每个条目是将多个散列函数中之一应用于数据集的结果。如 果散列向量是n维向量,则散列向量的每个条目均是在不两次使用同一 散列函数的情况下将n个散列函数中之一应用于数据集的结果。特别地, 散列向量的维数等于联合数据索引的维数。特别地,数据集的散列向量 是仅该数据集的联合数据索引。
散列向量不必作为连续向量存储在存储器中,散列向量也可以分布 在文件系统中存储。特别地,贯穿本文件,术语“散列向量”和术语“散 列集”或“散列的集合”可以用作同义词。
特别地,安全通信通道是防监听(overhear)和/或篡改的传送数据 方式。安全通信通道的示例是内联网的使用、VPN(“虚拟专用网络”的 缩写)的使用、加密通信(例如,基于非对称加密)特别是经由因特网 的使用,HTTPS(“超文本传输协议安全”的缩写)或FTPS(“文件传输 协议安全”的缩写)的使用。
验证对所请求的医学数据记录的请求的可选步骤可以包括验证数据 库包含与请求患者标识符相关的至少一个医学数据记录。特别地,所请 求的医学数据记录可以与至少一个医学数据记录相同。此外,验证对所 请求的医学数据记录的请求的可选步骤可以包括检查请求实体是否有权 访问所请求的医学数据记录。例如,可以仅在请求实体位于某个辖区的 情况下,或者在与请求患者标识符对应的患者同意允许请求实体访问所 请求的医学数据记录的情况下,允许请求实体访问所请求的医学数据记 录。特别地,如果验证步骤产生肯定结果,则将执行向接收实体提供所 请求的医学数据记录的步骤,并且如果验证步骤产生否定结果,则将不 执行向接收实体提供所请求的医学数据记录的步骤。
发明人认识到,通过提供仅联合数据索引,任何其他实体均不可能 确定与某个患者相关的数据是否存储在数据库中。这增加了患者数据的 数据安全性和数据隐私性,因为患者的较少元数据是公开可用的。这是 由于患者的公开可用的元数据可以提供关于其实际数据的各种提示(例 如,知道某个患者在肿瘤学家或心理学家处有数据记录可能指示该患者 有肿瘤或心理问题;此外,尽管仅使用匿名标识符,但是可以使用元数 据中的相关性来识别患者)。
同时,通过向接收实体提供联合数据索引,接收实体可以在发送对 特定数据记录的请求之前检查提供实体是否存储(至少有一定的可能性) 与某个患者相关的医学数据记录。特别地,使用联合数据索引,接收实 体可以限制可能存储与某个患者相关的数据的提供实体的集合,使得接 收实体可以减少对提供实体的请求的数目。通过减少请求的数目,还可 以减少公开传送的元数据。
根据本发明的另一方面,散列函数中的每一个将患者标识符映射到 散列向量的一个元素。特别地,患者标识符通过散列函数中之一被映射 到的散列向量的元素被分配有第一值(特别是值“1”或“真”),并且患 者标识符未通过散列函数中之一被映射到的散列向量的元素被分配有第 二值(特别是值“0”或“假”)。
发明人认识到,通过使用将患者标识符映射到散列向量的元素的散 列函数,可以以存储器高效的方式对患者标识符进行编码。
根据发明的另一可能的方面,联合数据索引和散列向量包括相同数 目的布尔(Boolean)或整数元素,并且基于散列向量来更新联合数据索 引是基于散列向量和要更新的联合数据索引的逐元素逻辑或组合,或者 基于散列向量和要更新的联合数据索引的逐元素求和。
发明人已经认识到,通过使用逐元素逻辑或组合,可以以存储高效 的方式将若干患者标识符编码在联合数据索引中。
根据本发明的另一方面,向接收实体提供的联合数据索引是与存储 在数据库中的医学数据记录对应的患者标识符的布隆(Bloom)过滤器。 特别地,布隆过滤器是可以用于测试元素是否是集合的成员的空间高效 的概率数据结构。
特别地,根据该方面,发明可以被认为是一种用于向接收实体提供 所请求的医学数据记录的计算机实现的方法,方法包括:接收存储在数 据库中的医学数据记录的集合;向接收实体提供联合数据索引,其中, 联合数据索引是与存储在数据库中的医学数据记录对应的患者标识符的 布隆过滤器;从请求实体接收对所请求的医学数据记录的请求;可选地, 验证对所请求的医学数据记录的请求;以及经由安全通信通道向接收实 体提供所请求的医学数据记录。
发明人认识到,布隆过滤器相对于用于表示集合——特别是对于具 有如患者标识符的大存储容量的元素的集合——的其他数据结构具有强 的存储空间优势。特别地,布隆过滤器根本不包括基础集合的单个元素。 此外,对于布隆过滤器,添加项目或检查项目是否在集合中所需的时间 是固定常数,而不取决于基础集合的大小。
根据发明的另一方面,布隆过滤器是计数布隆过滤器、可扩展布隆 过滤器、分层布隆过滤器和/或衰减布隆过滤器。
计数布隆过滤器是具有整数元素的布隆过滤器(与标准布隆过滤器 中的二进制/布尔元素相比)。为了用附加患者标识符更新布隆过滤器,使 附加元素映射到的布隆过滤器的元素递增1。使用计数布隆过滤器的优点 是,与从数据库移除的医学数据记录对应的患者标识符也可以从布隆过 滤器被移除,使布隆过滤器的相应元素递减1。使用计数布隆过滤器的缺 点是,计数布隆过滤器的存储消耗高于标准布隆过滤器的存储消耗(由 于使用整数变量而不是布尔变量)。
可扩展布隆过滤器可以动态地适应与存储在数据库中的医学数据记 录对应的患者标识符的数目。特别地,可扩展布隆过滤器基于具有渐增 的容量和更严格的错误肯定概率的标准布隆过滤器的序列,以确保可以 与要插入的元素的数目无关地预先设置最大的错误肯定概率。关于可扩 展布隆过滤器的细节可以在P.Almeida等的“Scalable BloomFilters” (2007),Information Processing Letters(2007),101(6):255-261中找 到。
特别地,分层布隆过滤器包括多个布隆过滤器层。分层布隆过滤器 通过检查包含项目的层数来允许跟踪项目被添加到布隆过滤器的次数。
特别地,深度为D的衰减布隆过滤器可以被解释为D个正常布隆过 滤器的阵列。在网络中的服务发现的上下文中,每个节点均在本地存储 常规和衰减布隆过滤器。常规或本地布隆过滤器指示由节点自身提供哪 些服务。级别为i的衰减过滤器指示可以在离开当前节点i跳(hop)的 节点上找到哪些服务。第i值是通过对离开节点i跳的节点取本地布隆过滤器的并(unior)来构造的。
根据发明的另一方面,向接收实体提供联合数据标识符包括将联合 数据标识符存储在分布式账本中。特别地,“向接收实体提供联合数据标 识符”的动作等同于“将联合数据标识符存储在分布式账本中”。
通常,分布式账本是去中心化的数据库。特别地,分布式账本的分 布是指在不同存储器单元中存在分布式账本的(至少部分的)若干副本, 其中,存储器单元是空间分布或地理分布的。分布式账本包括多个记录, 其中,可以用数据库条目来标识多个记录。特别地,多个记录被组织为 数据块。特别地,记录由不同实体(特别是网络的不同节点)创建并且 与不同实体一起存储,特别是在记录的不同节点内。换言之,记录的构 造和维护通常不是由中央机构执行,而是由网络的节点独立地执行。在 典型情况下,网络的每个节点均维护分布式账本的本地副本。
通常,更新分布式账本通常基于共识机制,其中,共识机制确保分 布式账本的不同副本匹配,在存储分布式账本的副本的实体之间的延迟 通信的情况下也如此。
特别地,将数据存储在分布式账本中可以包括将另外的数据块附加 到分布式账本,其中,另外的数据块包括要存储的数据。将另外的数据 块附加到分布式账本可以包括执行共识机制,其中,执行共识机制可以 包括工作证明、存储证明、权益证明和/或经过时间证明。工作证明可以 是计算约束的工作证明、网络约束的工作证明和/或存储器约束的工作证 明。
特别地,分布式账本可以是区块链、区块树和/或缠结。
发明人认识到,通过在分布式账本中提供联合数据索引,外部实体 访问联合数据索引的访问时间(例如,由于网络时延而引起的)由于分 布式存储方式而减少,并且在系统中存在冗余,使得即使存储分布式账 本的节点中之一或节点的子集离线(例如,为了维护),也可以由外部实 体访问联合数据索引。同时,通过使用分布式账本,可以确保联合数据 索引是一致的,使得在存储分布式账本的不同节点之间没有分叉。特别 地,使用分布式账本,可以具有单点真理(a single point of truth),而没 有单点故障(a single pointof failure)。
根据本明的另一方面,请求包括请求患者标识符的加盐散列和/或用 与请求患者标识符相关的私钥签的签名。
特别地,请求患者标识符的加盐散列是与随机数据集组合的请求患 者标识符的散列。随机数据集可以在接收实体与提供实体之间共享。通 过使用加盐散列,可以向第三实体伪装实际散列,使得变得更加难以利 用元数据来使数据去匿名或相关。
特别地,签名是数字签名。通常,数字签名依赖于包括私钥和公钥、 源自非对称密码系统的非对称密钥对。如果私钥和公钥形成非对称密钥 对,则公钥与私钥对应,反之亦然。
特别地,数字签名是签名算法的输出,其中,签名算法将要被签名 的数据(也表示为“消息”)作为第一输入,并且将签名信息作为第二输 入。特别地,签名信息是私钥。特别地,如果在创建签名时将私钥用作 签名算法的第二输入,则用所述私钥进行签名。特别地,如果在创建签 名时将某些数据用作签名算法的第一输入,则所述签名基于所述某些数据。
特别地,对于签名算法,存在签名验证算法,其中,签名验证算法 将数据集、签名和公钥作为输入,并且其中,签名验证算法的输出确定 给定签名是否是利用与给定公钥对应的私钥应用于数据集的签名算法的 输出。
特别地,签名验证算法可以在不知道与公钥对应的私钥的情况下验 证签名的有效性。特别地,不能从所述签名推出用于对签名进行签名的 私钥。
特别地,患者标识符可以与公钥相同或与公钥相关地存储。
发明人认识到,通过使用数字签名,特别是在仅患者可以访问与标 识他或她的患者标识符对应的私钥的情况下,可以证明用于访问医学数 据记录的授权。
根据第二方面,发明涉及一种用于从选择的提供实体接收与患者相 关的所请求的医学数据记录的计算机实现的方法。方法基于接收与患者 对应的请求患者标识符以及接收联合数据索引的集合,其中,联合数据 索引中的每个联合数据索引对应于提供实体的组中的提供实体,并且其 中,联合数据索引中的每个联合数据索引基于多个散列函数。方法还包 括通过将多个散列函数应用于请求患者标识符来确定散列向量;以及基 于散列向量并且基于联合数据索引来确定提供实体的组中的选择的提供 实体。此外,方法包括向选择的提供实体发送对所请求的医学数据记录 的请求,以及可选地,经由安全通信通道从选择的提供实体接收所请求 的医学数据记录。
特别地,由接口执行接收请求患者标识符的步骤。特别地,由计算 单元执行确定散列向量的步骤以及确定选择的提供实体的步骤。特别地, 由接口执行发送对所请求的医学数据记录的请求的步骤以及接收所请求 的医学数据记录的步骤。特别地,接口是接收系统的接口,并且计算单 元是接收系统的计算单元。
发明人认识到,通过使用散列向量来确定选择的提供实体,不需要 向确认不包含与患者标识符对应的医学数据记录的提供实体发送请求。 这减少了必要的数据传输的数目,并且提高了医学数据记录的传送的效 率。此外,减少了可用的元数据,并且因此减少了使患者去匿名或确定 相关性的可能性。
根据发明的另一方面,确定选择的提供实体的步骤包括联合数据索 引中的每一个与散列向量之间的逐元素比较。特别地,散列向量的每个 元素可以取第一值或第二值(例如,第一值可以是“0”/“假”,并且第 二值可以是“1”/“真”),并且在逐元素比较中,确定对于包括取第二值 的散列向量的每个元素,联合数据索引的对应的元素取预定义值。特别地,预定义值可以是第二值或满足一定条件(特别地,条件可以是整数 大于1)的整数。
发明人认识到,通过使用散列向量与联合数据索引之间的逐元素比 较,可以非常高效地执行比较。此外,使用逐元素比较,可以以高效的 方式排除表示不包含与请求患者标识符对应的医学数据记录的数据库的 联合数据索引。
根据发明的另一方面,联合数据索引中的每个联合数据索引是与对 应于联合数据索引的提供实体所存储的医学数据记录对应的患者标识符 的布隆过滤器。特别地,医学数据记录被存储在提供实体的数据库中。
特别地,根据该方面,发明可以被认为是一种用于从选择的提供实 体接收与患者相关的所请求的医学数据记录的计算机实现的方法,方法 包括:
-接收与患者对应的请求患者标识符;
-接收布隆过滤器的集合,其中,布隆过滤器中的每一个是与医学 数据记录对应的患者标识符的布隆过滤器,该医学数据记录存储在提供 实体的组中的提供实体的数据库中;
-通过将散列函数的组应用于请求患者标识符来确定散列向量;
-基于散列向量并且基于布隆过滤器来确定提供实体的组中的选择 的提供实体;
-向选择的提供实体发送对所请求的医学数据记录的请求;
-经由安全通信通道从所选择的提供实体接收所请求的医学数据记 录。
发明人认识到,布隆过滤器相对于用于表示集合——特别是对于具 有如患者标识符的大存储容量的元素的集合——的其他数据结构具有强 的存储空间优势。特别地,布隆过滤器根本不包括基础集合的单个元素。 此外,对于布隆过滤器,添加项目或检查项目是否在集合中所需的时间 是固定常数,而不取决于基础集合的大小。
根据发明的另一方面,接收联合数据索引的集合包括查询存储联合 数据索引的集合的分布式账本。
发明人认识到,通过从分布式账本接收联合数据索引,访问联合数 据索引的访问时间(例如,由于网络时延而引起的)由于分布式存储方 式而减少,并且在系统中存在冗余,因此,使得即使存储分布式账本的 节点中之一或节点的子集离线(例如,为了维护)或者提供实体的子集 离线,也可以访问联合数据索引。同时,通过使用分布式账本,可以确保联合数据索引是一致的,使得在存储分布式账本的不同节点之间没有 分叉。特别地,使用分布式账本,可以有单点真理,而没有单点故障。
根据发明的另一方面,在用于接收所请求的医学数据记录的方法内, 所请求的医学数据记录由选择的提供实体依据根据本发明的用于提供所 请求的医学数据记录的方法及其各方面来提供。
发明人认识到,通过将两种方法组合,可以协同组合用于提供和接 收所请求的医学数据记录的方法的各个优点。
根据第三方面,发明涉及一种用于将所请求的医学数据记录从选择 的提供实体传送到接收实体的计算机实现的方法。该方法包括:接收存 储在数据库中的医学数据记录的集合;以及由选择的提供实体接收或初 始化联合数据索引。此外,对于医学数据记录的集合中的每个医学数据 记录,方法包括将多个散列函数应用于与医学数据记录对应的患者标识 符以确定散列向量,其中,与医学数据记录对应的患者标识符标识作为 医学数据记录的主题的患者,并且基于散列向量来更新联合数据索引, 这两者均由选择的提供实体执行。此外,方法包括将联合数据索引从选 择的提供实体传送到接收实体。
方法还包括:接收与患者对应的请求患者标识符,以及由接收实体 接收联合数据索引的集合,其中,联合数据索引中的每个联合数据索引 对应于提供实体的组中的提供实体。方法还包括:通过将散列函数的组 应用于请求患者标识符来确定散列向量;以及基于散列向量并且基于联 合数据索引来确定提供实体的组中的选择的提供实体。
方法还包括将对所请求的医学数据记录的请求从接收实体传送到选 择的提供实体,其中,所请求的医学数据记录对应于请求患者标识符。 可选地,方法包括由选择的提供实体验证对所请求的医学数据记录的请 求。此外,方法包括经由安全通信通道将所请求的医学数据记录从选择 的提供实体传送到接收实体。
特别地,用于传送所请求的医学数据记录的方法是提供所请求的医 学数据记录的方法与接收所请求的医学数据记录的方法的组合。特别地, 用于传送所请求的医学数据记录的方法可以包括提供所请求的医学数据 记录的方法以及接收所请求的医学数据记录的方法两者的所有有利特 征。
根据第四方面,发明涉及一种用于向接收实体提供所请求的医学数 据记录的提供系统,提供系统包括接口和计算单元,
-其中,接口被配置用于接收存储在数据库中的医学数据记录的集 合;
-其中,接口或计算单元还被配置用于接收或初始化联合数据索引;
-其中,对于医学数据记录的集合中的每个医学数据记录,计算单 元
--被配置用于将多个散列函数应用于与医学数据记录对应的患者标 识符以确定散列向量,
其中,与医学数据记录对应的患者标识符标识作为医学数据记录的 主题的患者;
--并且被配置用于基于散列向量来更新联合数据索引;
-其中,接口还被配置用于向接收实体提供联合数据索引,
-其中,接口还被配置用于从接收实体接收对所请求的医学数据记 录的请求,
其中,所请求的医学数据记录对应于请求患者标识符,
-其中,计算单元可选地被配置用于验证对所请求的医学数据记录 的请求,
-其中,接口还被配置用于经由安全通信通道向接收实体提供所请 求的医学数据记录。
特别地,提供系统被配置成执行先前描述的用于提供所请求的医学 数据记录的方法及其各方面。提供系统被配置成通过其接口和其计算单 元被配置成执行相应的方法步骤来执行先前描述的用于提供所请求的医 学数据记录的方法及其各方面。
提供系统可以被实现为数据处理系统或数据处理系统的一部分。这 样的数据处理系统可以例如包括云计算系统、计算机网络、计算机、平 板计算机、智能电话、微处理器等。提供系统可以包括硬件和/或软件。 硬件可以是例如处理器系统、存储器系统及其组合。硬件可以通过软件 可配置和/或通过软件可操作。
根据第五方面,发明涉及一种用于从选择的提供实体接收与患者相 关的所请求的医学数据记录的接收系统,接收系统包括接口和计算单元,
-其中,接口被配置用于接收与患者对应的请求患者标识符;
-其中,接口还被配置用于接收联合数据索引的集合,其中,联合 数据索引中的每个联合数据索引对应于提供实体的组中的提供实体;
-其中,计算单元被配置用于通过将散列函数的组应用于请求患者 标识符来确定散列向量;
-其中,计算单元还被配置用于基于散列向量并且基于联合数据索 引来确定提供实体的组中的选择的提供实体;
-其中,接口还被配置用于向选择的提供实体发送对所请求的医学 数据记录的请求;
-其中,接口还被配置用于经由安全通信通道从选择的提供实体接 收所请求的医学数据记录。
特别地,接收系统被配置成执行先前描述的用于接收所请求的医学 数据记录的方法及其各方面。接收系统被配置成通过其接口和其计算单 元被配置成执行相应的方法步骤来执行先前描述的用于接收所请求的医 学数据记录的方法及其各方面。
接收单元可以被实现为数据处理系统或数据处理系统的一部分。这 样的数据处理系统可以例如包括云计算系统、计算机网络、计算机、平 板计算机、智能电话、微处理器等。接收系统可以包括硬件和/或软件。 硬件可以是例如处理器系统、存储器系统及其组合。硬件可以通过软件 可配置和/或通过软件可操作。
根据第六可能的方面,发明涉及一种传输系统,其中,传输系统包 括根据发明的第四方面的提供系统,并且其中,传输系统包括根据发明 的第五方面的接收系统。特别地,传输系统被配置用于执行用于传送所 请求的医学数据记录的方法。传输系统被配置用于通过提供系统(特别 地,通过提供系统的接口和计算单元)和接收系统(特别地,通过接收系统的接口和计算单元)被配置成执行相应的方法步骤来执行传送所请 求的医学数据记录的方法。
根据第七方面,发明涉及一种包括指令的计算机程序,当由提供系 统执行程序时,该指令使提供系统执行根据本发明的用于提供所请求的 医学数据记录的方法及其各方面;以及/或者当由接收系统执行程序时, 该指令使接收系统执行根据本发明的用于接收所请求的医学数据记录的 方法及其各方面。
根据可能的第八方面,发明涉及一种包括指令的计算机程序,当由 提供系统执行程序时,该指令使提供系统执行根据本发明的用于提供所 请求的医学数据记录的方法及其各方面。
根据可能的第九方面,发明涉及一种包括指令的计算机程序,当由 接收系统执行程序时,该指令使接收系统执行根据本发明的用于接收所 请求的医学数据记录的方法及其各方面。
根据可能的第十方面,发明涉及一种包括指令的计算机程序,当由 传输系统执行程序时,该指令使传输系统执行根据本发明的用于传送所 请求的医学数据记录的方法及其各方面。
根据第十一方面,发明涉及一种包括指令的计算机可读介质,该指 令在由提供系统执行时,使提供系统执行根据本发明的用于提供所请求 的医学数据记录的方法及其各方面;以及/或者该指令在由接收系统执行 时,使接收系统执行根据本发明的用于接收所请求的医学数据记录的方 法及其各方面。
根据可能的第十二方面,发明涉及一种包括指令的计算机可读介质, 该指令在由提供系统执行时,使提供系统执行根据本发明的用于提供所 请求的医学数据记录的方法及其各方面。
根据可能的第十三方面,发明涉及一种包括指令的计算机可读介质, 该指令在由接收系统执行时,使接收系统执行根据本发明的用于接收所 请求的医学数据记录的方法及其各方面。
根据可能的第十四方面,发明涉及一种包括指令的计算机可读介质, 该指令在由传输系统执行时,使传输系统执行根据本发明的用于传送所 请求的医学数据记录的方法及其各方面。
通过计算机程序产品和/或计算机可读介质实现本发明具有以下优 点:可以通过软件更新容易地采用已经存在的提供系统,以使其如本发 明所提出的那样工作。
计算机程序产品可以是例如计算机程序,或者包括除了计算机程序 之外的另一元件。该另一元件可以是硬件例如在其上存储有计算机程序 的存储器装置、用于使用计算机程序的硬件密钥等和/或软件例如用于使 用计算机程序的软件密钥或文档。
附图说明
根据以下将在附图的上下文中详细描述的描述和实施方式,上述本 发明的特性、特征和优点以及它们的实现方式变得更清楚和更容易理解。 以下描述不将本发明限制于所包含的实施方式。在不同的附图中,相同 的部件或部分可以用相同的附图标记进行标记。通常,附图并非是按比 例的。在以下附图中:
图1显示了用于更新联合数据索引的第一实施方式,
图2显示了用于更新联合数据索引的第二实施方式,
图3显示了检查某个患者标识符是否潜在地被包含在联合数据索引 所基于的数据库中,
图4显示了检查某个患者标识符是否潜在地被包含在联合数据索引 所基于的数据库中,
图5显示了用于提供所请求的医学数据记录的方法以及用于接收所 请求的医学数据记录的方法中所涉及的不同实体之间的关系,
图6显示了对应于用于提供所请求的医学数据记录的方法和/或用于 接收所请求的医学数据记录的方法的数据流程图的第一实施方式,
图7显示了对应于用于提供所请求的医学数据记录的方法和/或用于 接收所请求的医学数据记录的方法的数据流程图的第二实施方式,
图8显示了对应于用于提供所请求的医学数据记录的方法和/或用于 接收所请求的医学数据记录的方法的数据流程图的第三实施方式,
图9显示了对应于用于提供所请求的医学数据记录的方法和/或用于 接收所请求的医学数据记录的方法的数据流程图的第四实施方式,
图10显示了存储联合数据标识符的分布式账本的实施方式,
图11显示了用于提供所请求的医学数据记录的方法的实施方式,
图12显示了用于提供所请求的医学数据记录的方法的另一实施方 式,
图13显示了用于接收所请求的医学数据记录的方法的实施方式,
图14显示了用于接收所请求的医学数据记录的方法的修改实施方 式,
图15显示了用于传送所请求的医学数据记录的方法的实施方式,
图16显示了提供系统PSYS和接收系统RSYS。
具体实施方式
图1显示了用于更新联合数据索引JID.0、…、JID.4的第一实施方 式。在该实施方式中,联合数据索引JID.0、…、JID.4是具有n=8个条 目的布尔向量(使得所有元素可以取值“0”/“假”或“1”/“真”)。在 该实施方式中,使用三个患者标识符PID.1、…、PID.3的集合。在该实 施方式中,联合数据索引JID.0、…、JID.4可以被认为是布隆过滤器。
在该实施方式中,使用m=2个散列函数h1、h2。每个散列函数h1、 h2均将患者标识符PID.1、…、PID.3作为输入值,并且将该患者标识符PID.1、…、PID.3映射到1与n=8之间的数字,对应于散列向量HV.1、…、 HV.3的布尔元素中之一。对于n和k的一般选择,如果存在患者标识符 PID.1、…、PID.3,并且hk(PID.i)=j(其中,j=1、…、n,并且k=1、…、 m)以及否则为0,则散列向量HV.1、…、HV.3的元素为(HV.i)j=1。
初始联合数据索引JID.0被初始化为所有值等于“0”/“假”。为了 基于第一患者标识符PID.1来更新联合数据索引JID.0,通过将两个散列 函数h1、h2应用于第一患者标识符PID.1来计算第一散列向量HV.1。在 该示例中,h1(PID.1)=2,并且h2(PID.2)=6,使得第一散列向量HV.1的第 2元素和第6元素为“1”,而第一散列向量HV.1的所有其他元素为“0”。为了基于初始联合数据索引JID.0和第一散列向量HV.1来确定第一联合 数据索引JID.1,通过(JID.1)j=OR((JID.0)j,(HV.1)j)来计算逐元素或元素组 成。
对于其他患者标识符PID.2、PID.3也应用相同的过程。通常,更新 的联合数据索引JID.0、…、JID.3可以被计算为(JID.i)j=OR((JID.(i-1))j, (HV.i)j)。
如果将不同的散列函数h1、h2应用于患者标识符PID.1、…、PID.3, 则散列函数不一定必须产生两个不同的索引。在该示例中, h1(PID.3)=h2(PID.3)=4。
图2显示了用于更新联合数据索引JID.0、…、JID.4的第二实施方 式。在该实施方式中,联合数据索引JID.0、…、JID.4是具有n=8个条 目的整数向量(使得所有元素可以取值0、1、2、…)。在该实施方式中, 联合数据索引JID.0、…、JID.4可以被认为是计数布隆过滤器。
基于患者标识符PID.1、…、PID.3的散列向量HV.1、…、HV.3的 计算基本上与关于图2说明的方法相同。然而,更新的联合数据索引 JID.0、…、JID.3被计算为(JID.i)j=(JID.(i-1))j+(HV.i)j,这意味着联合数据 索引JID.0、…、JID.3的元素对应于通过散列函数h1、h2中的至少之一 映射到所述元素的患者标识符PID.1、…、PID.3的数。在该实施方式中, 联合数据索引JID.0、…、JID.3可以被解释为计数布隆过滤器。使用计 数布隆过滤器的优点是,可以通过计算(JID.i)j=(JID.(i-1))j-(HV.i)j而无需 整体重新计算联合数据索引JID.0、…、JID.3(这对于非计数布隆过滤器 是不可能的),将患者标识符PID.1、…、PID.3从基础数据集移除。然而, 使用计数布隆过滤器的缺点是,联合数据索引JID.0、…、JID.3的元素 具有整数数据类型,而不是布尔数据类型,从而导致存储和传送联合数 据索引JID.0、…、JID.3的更高的存储消耗。
图3和图4显示了检查某个患者标识符PID.4、PID.5是否潜在地被 包含在联合数据索引JID.3所基于的数据库DB.1、…、DB.3中。对于某 些患者标识符PID.4、PID.5,如关于图1所描述计算散列向量HV.4、HV.5, 并且将散列向量HV.4、HV.5与联合数据索引JID.3逐元素地比较。
如果对于散列向量HV.4、HV.5中值为“1”或“真”的每个元素, 联合数据索引JID.3的对应的元素也具有值“1”或“真”,则某个患者标 识符PID.4、PID.5潜在地被包含在数据库DB.1、…、DB.3中(在该示 例中,图3中显示的某个患者标识符PID.4就是这种情况)。如果在散列 向量HV.4、HV.5中存在值为“1”或“真”的至少一个元素,并且联合 数据索引JID.3的对应的元素确实具有值“0”或“假”,则确认某个患者 标识符PID.4,PID.5未被包含在数据库DB.1、…、DB.3中(在该示例 中,图4中显示的某个患者标识符PID.5就是这种情况)。注意,对于散 列向量HV.4、HV.5中值为“0”或“假”的元素不存在匹配条件。
对于如图2(而不在图3或图4中)所显示的计数联合数据索引JID.3, 检查略有不同。如果对于散列向量HV.4、HV.5中值为1的每个元素,联 合数据索引JID.3的对应的元素也具有值1或更高的值,则某个患者标识 符PID.4、PID.5潜在地被包含在数据库DB.1、…、DB.3中。如果在散 列向量HV.4、HV.5中存在值为1的至少一个元素,并且联合数据索引JID.3的对应的元素确实具有值0。注意,对于散列向量HV.4、HV.5中 值为0的元素不存在匹配条件。
图5显示了用于提供所请求的医学数据记录MDR.R的方法以及用于 接收所请求的医学数据记录MDR.R的方法中所涉及的不同实体之间的 关系。在图5中,显示了针对一个接收实体RE的情况。当然,根据本发 明的方法和系统及其各方面可以由任意数目的提供实体PE.1、…、PE.3 和接收实体RE使用。
在该实施方式中,显示了三个不同的提供实体PE.1、…、PE.3。例 如,第一提供实体PE.1可以是第一医院,第二提供实体PE.2可以是与 第一医院不同的第二医院,并且第三提供实体PE.3可以是放射科医生的 医学实践。
提供实体PE.1、…、PE.3中的每一个存储医学数据记录MDR的集 合,医学数据记录MDR的集合中的每一个与患者标识符PID的集合之 一相关,患者标识符PID标识作为相应医学数据记录的主题(subject) 的患者。在该实施方式中,医学数据记录MDR和患者标识符PID两者 均被存储在位于提供实体PE.1、…、PE.3的场所(premises)的数据库 DB.1、…、DB.3中。
对于提供实体PE.1、…、PE.3中的每一个,计算联合数据索引 JDI.1、…、JDI.3,其被提供实体提供给接收实体RE。在该实施方式中, 通过将联合数据索引JDI.1、…、JDI.3记录在分布式账本中,向接收实 体RE提供联合数据索引JDI.1、…、JDI.3。替选地,联合数据索引 JDI.1、…、JDI.3也可以存储在可以由接收实体访问的网络服务器中。
现在考虑这样的情况,患者PAT是由接收实体RE(例如,患者PAT 的全科医师)进行的医学诊断或医学治疗的主题,接收实体RE需要患者 PAT的医学史,患者PAT的医学史可能分布在接收实体RE无法访问的 提供实体PE.1、…、PE.3的数据库DB.1、…、DB.3中。现在,接收实 体RE基于请求患者标识符PID.R(其是患者PAT的患者标识符,例如, 其社会保险号)并且基于联合数据索引JID.1、…、JID.3检查对应的提 供实体PE.1、…、PE.3是否有可能存储以患者PAT为主题的所请求的医 学数据记录MDR.R,并且选择可能存储所请求的医学数据记录MDR.R 的提供实体PE.1、…、PE.3作为选择的提供实体PE.S。在该实施方式中, 仅第三提供实体PE.3可能存储所请求的医学数据记录MDR.R,因此接 收实体RE仅与作为选择的提供实体PE.S的第三提供实体PE.3取得联 系,以接收所请求的医学数据记录MDR.R。当然,也有可能提供实体 PE.1、…、PE.3中没有一个被选择,或者选择了提供实体PE.1、…、PE.3中的多于一个的提供实体。
图6示出了对应于用于提供联合数据标识符JID的方法和/或用于接 收所请求的医学数据记录MDR.R的方法的数据流程图的第一实施方式。
在该实施方式中,(选择的)提供实体PE.S基于与存储在数据库 DB.1、…、DB.3(未显示在图6中)中的医学数据记录MDR.1、…、 MDR.3对应的患者标识符PID.1、…、PID.3来创建联合数据索引JDI。
在确定了与患者PAT对应的所请求的医学数据记录MDR.R(特别是 所述患者PAT的请求患者标识符PID.R)可能被选择的提供实体PE.S存 储之后,将请求REQ从请求实体RE传送到选择的提供实体PE.S。
成功确定所请求的医学数据记录MDR.R实际上存储在数据库DB.1、…、DB.3中之后,选择的提供实体PE.S向接收实体MDR提供所 请求的医学数据记录MDR.R。
图7示出了对应于用于提供联合数据标识符JID的方法和/或用于接 收所请求的医学数据记录MDR.R的方法的数据流程图的第二实施方式。 除了联合数据标识符JDI之外,第二实施方式中在选择的提供实体PE.S 与接收实体RE之间传送的数据等同于第一实施方式。
在该第二实施方式中,通过选择的提供实体PE.S将联合数据标识符 JDI记录在分布式账本LDG中(优选地,将联合数据标识符JDS与选择 的提供实体PE.S的标识符记录在一起,以能够确定分布式账本LDG中 的哪个联合标识符JDS与哪个提供实体PE.1、…、PE.3、PE.S对应), 将联合数据标识符JDI从提供实体PE.S传送到接收实体RE。此外,接 收实体RE通过读取和/或访问分布式账本LDG来接收联合数据标识符 JDI。
图8和图9显示了对应于用于提供联合数据标识符JID的方法和/或 用于接收所请求的医学数据记录MDR.R的方法的数据流程图的第三实 施方式和第四实施方式。除了盐SLT以及除了关于请求REQ的细节之外, 第三实施方式和第四实施方式中在选择的提供实体PE.S与接收实体RE 之间传送的数据等同于第一实施方式。
在第三实施方式中,盐SLT由选择的提供实体PE.S创建(例如,借 助于随机数生成器),并且然后从选择的提供实体PE.S被发送到接收实 体RE。然后,接收实体计算请求患者标识符PID.R的加盐散列H (PID.R&SLT),其是请求患者标识符PID.R与盐SLT的组合的散列。然 后,加盐散列H(PID.R&SLT)是从接收实体RE传送到选择的提供实体 PE.S的请求REQ的一部分。
然后,由选择的提供实体PE.S验证VRF-REQ请求REQ包括:计算 数据库DB.1、…、DB.3中包含的请求患者标识符PID.R的加盐散列, 以及将计算的加盐散列与收到的加盐散列H(PID.R&SLT)进行比较。 通过传送请求患者标识符PID.R的散列,在没有与存储在数据库 DB.1、…、DB.3中的请求患者标识符PID.R相关的医学数据记录 MDR.1、…、MDR.3的情况下,选择的提供实体PE.S不会取得对请求患 者标识符PID.R的访问。使用加盐散列H(PID.R&SLT)确保无法使用 元数据相关性来分析在不同实体之间传送的请求患者标识符PID.R的散 列。
在第四实施方式中,盐SLT由选择的提供实体PE.S创建(例如,借 助于随机数生成器),并且然后从选择的提供实体PE.S被传送到接收实 体RE。然后,接收实体计算盐的签名SGN(SLT,PRK.R),签名SGN (SLT,PRK.R)用与关于请求患者标识符PID.R的公钥对应的私钥PRK.R签名。特别地,请求患者标识符PID.R是与所述私钥PRK.R对应 的公钥。然后,签名SGN(SLT,PRK.R)是从接收实体RE传送到选择 的提供实体PE.S的请求REQ的一部分。
由选择的提供实体PE.S验证VRF-REQ请求REQ然后包括使用与私 钥PRK.R对应的公钥——特别是使用数据库DB.1、…、DB.3中包含的 请求患者标识符PID.R——来验证签名。通过传送用与所请求的私有标识 符PID.R对应的私钥PRK.R来签的签名,可以检查对请求实体RE访问 所请求的医学数据记录MDR.R的授权。在该情况下,只有拥有私钥 PRK.R的接收实体才能访问所请求的医学数据记录MDR.R。
在显示的第三实施方式中,私钥PRK.R由接收实体RE存储。替选 地(并且由虚线显示),私钥PRK.R可以是存储在患者PAT的装置DEV (例如,智能电话)上的患者特定私钥PRK.R。在该情况下,可以将盐 SLT从接收实体RE转发到患者PAT的装置DEV,装置DEV计算签名 SGN(SLT,PRK.R)并且将其发送回接收实体RE。患者PAT的装置DEV 与接收实体RE之间的传送可以经由数据网络(例如,蓝牙或Wi-Fi)进 行,或者通过使用显示在相应显示器上并由另一装置或实体的摄像装置 识别的QR码进行。
可选地,在第三实施方式和第四实施方式中,如关于第二实施方式 所述,联合数据索引JDI可以经由分布式账本LDG从选择的提供实体 PE.S被传送到接收实体RE。
可选地,可以存在这样的实施方式,其中使用了如第三实施方式中 的加盐散列H(PID.R&SLT)以及如第四实施方式中的签名SGN(SLT, PRK.R)两者。
图10显示了存储联合数据标识符JDI.1.1、JDI.1.2、JDI.1.3、JDI.2.1、 JDI.2.2、JDI.3.1的分布式账本LDG的实施方式。
分布式账本LDG包括数据块BL.0、BL.1、BL.2、BL.3,其中,数 据块BL.0、…、BL.3中的每一个链接到另一数据块BL.0、…、BL.3(在 该实施方式中,数据块BL.0链接到未显示的数据块)。两个数据块BL.0、…、BL.3之间的链接是方向信息,这意味着对于每个链接,均存在明确的链路开始和明确的链路结束。特别地,如果第一数据块BL.0、…、 BL.3链接到第二数据块BL.0、…、BL.3,则这意味着第一数据块BL.0、…、 BL.3是链路的开始,而第二数据块BL.0、…、BL.3是链路的结束。换 言之,第一数据块BL.0、…、BL.3链接到第二数据块BL.0、…、BL.3 并不意味着第二数据块BL.0、…、BL.3链接到第一数据块BL.0、…、 BL.3。
在该实施方式中,每个数据块BL.0、…、BL.3正好链接到另一数据 块BL.0、…、BL.3。替选地,数据块BL.0、…、BL.3可以链接到若干 其他数据块BL.0、…、BL.3。特别地,每个数据块BL.0、…、BL.3可 以链接到固定数目的其他数据块BL.0、…、BL.3。数据块BL.0、…、BL.3 也可以链接到其自身。
在该实施方式中,通过第一数据块BL.0、…、BL.3包括第二数据块 BL.0、…、BL.3的散列H(BL.0)、…、H(BL.2),第一数据块BL.0、…、 BL.3链接到第二数据块BL.0、…、BL.3。特别地,可以用多个散列函数 h1、h2中不包含的散列函数来计算数据块BL.0、…、BL.3的散列H (BL.0)、…、H(BL.2),散列函数h1、h2用于计算联合数据索引JDI.1.1、 JDI.1.2、JDI.1.3、JDI.2.1、JDI.2.2、JDI.3.1。替选地,可以将其他链路信 息包括在第一数据块BL.0、…、BL.3中,以指示其链接到第二数据块 BL.0、…、BL.3。在该实施方式中,H(BL.0)、…、H(BL.2)是对第 二数据块BL.0、…、BL.3应用SHA256散列函数的结果。特别地,将 SHA256散列函数应用于第二数据块BL.0、…、BL.3的内容的级联。特 别地,为了将数据块BL.0、…、BL.3插入到分布式账本LDG中,必须 执行一致性算法(例如,工作证明、存储证明、权益证明、经过时间证 明),其中,一致性算法可以基于要被插入的数据块BL.0、…、BL.3的 随机数(nonce)RN.1、RN.2、RN.3。在该实施方式中,随机数RN.1、 RN.2、RN.3必须由数据块BL.0、…、BL.3的创建者选择,使得所述数 据块BL.0、…、BL.3的散列H(TSB.1)、…、H(TSB.3)、H(FTSB) 满足一定条件。在该实施方式中,条件是所述数据块BL.0、…、BL.3的 散列H(TSB.1)、…、H(TSB.3)、H(FTSB)小于给定阈值。
在该实施方式中,每个数据块BL.0、…、BL.3包括标识提供实体 PE.1、…、PE.3的标识符PE.1.ID、…、PE.3.ID以及对应的联合数据标 识符JDI.1.1、JDI.1.2、JDI.1.3、JDI.2.1、JDI.2.2、JDI.3.1的一个或更多 个对。每个数据块BL.0、…、BL.3中的对的数不一定恒定,使得可以存 在具有不同数目的对的数据块。特别地,对于每个数据块BL.0、…、BL.3, 仅存在包括标识一个提供实体PE.1、…、PE.3的某一标识符PE.1.ID、…、 PE.3.ID的一个对。
标识提供实体PE.1、…、PE.3的标识符PE.1.ID、…、PE.3.ID可以 例如是相应提供实体PE.1、…、PE.3的服务器的IP(“互联网协议”的 缩写)地址或与相应提供实体PE.1、…、PE.3对应的URL(“通用资源 定位符”的缩写)。
在该实施方式中,在分布式账本中记录联合数据标识符JDI.1.1、 JDI.1.2、JDI.1.3、JDI.2.1、JDI.2.2、JDI.3.1对应于创建包括以下对的块, 该对包括所述联合数据标识符JDI.1.1、JDI.1.2、JDI.1.3、JDI.2.1、JDI.2.2、 JDI.3.1以及标识与所述联合数据标识符JDI.1.1、JDI.1.2、JDI.1.3、JDI.2.1、 JDI.2.2、JDI.3.1对应的提供实体PE.1、…、PE.3的标识符PE.1.ID、…、 PE.3.ID。
如果由于与附加患者标识符PID.1、…、PID.3对应的附加医学数据 记录MDR.1、…、MDR.3被存储在对应的数据库DB.1、…、DB.3中, 与提供实体PE.1、…、PE.3对应的联合数据标识符JDI.1.1、JDI.1.2、 JDI.1.3、JDI.2.1、JDI.2.2、JDI.3.1必须进行更新,则必须创建包括更新 的联合数据标识符JDI.1.1、JDI.1.2、JDI.1.3、JDI.2.1、JDI.2.2、JDI.3.1 的新数据块BL.0、…、BL.3。
例如,在该实施方式中,块BL.1包括第一提供实体PE.1的标识符 PE.1.ID和与第一提供实体PE.1对应的联合数据索引JDI.1.1的第一版本 的对。该情况可以被解释为,在创建数据块BL.1时,存储在第一提供实 体PE.1的数据库DB.1中的患者标识符PID.1、…、PID.3的联合数据索 引JDI.1.1等同于存储在数据块BL.1中的联合数据索引JDI.1.1。
如果由于附加医学数据记录MDR.1、…、MDR.3被包括在数据库 DB.1中,必须与第一提供实体PE.1对应地创建联合数据索引JDI.1.2的 第二版本或联合数据索引JDI.1.3的第三版本,则必须将包括第一提供实 体PE.1的标识符PE.1.ID和联合数据索引JDI.1.2的第二版本或联合数据 索引JDI.1.3的第三版本的对存储在附加数据块BL.2、BL.3中。这是因 为在分布式账本LDG中,几乎不可能改变不是分布式账本LDG中的最 后几个数据块BL.0、…、BL.3中之一的数据块BL.0、…、BL.3。
因此,为了接收联合数据标识符JDI.1.1、JDI.1.2、JDI.1.3、JDI.2.1、 JDI.2.2、JDI.3.1的当前版本,必须从最新的数据块BL.0、…、BL.3开始 扫描分布式账本LDG,并且与对应的提供实体PE.1、…、PE.3的标识符 PE.1.ID、…、PE.3.ID的首次出现对应的联合数据标识符JDI.1.1、JDI.1.2、 JDI.1.3、JDI.2.1、JDI.2.2、JDI.3.1的版本对应于联合数据标识符JDI.1.1、 JDI.1.2、JDI.1.3、JDI.2.1、JDI.2.2、JDI.3.1的当前版本。
替选地,分布式账本LDG也可以包括与联合数据标识符JDI.1.1、 JDI.1.2、JDI.1.3、JDI.2.1、JDI.2.2、JDI.3.1不相关或者不包含联合数据 标识符JDI.1.1、JDI.1.2、JDI.1.3、JDI.2.1、JDI.2.2、JDI.3.1的数据块。 例如,记录联合数据标识符JDI.1.1、JDI.1.2、JDI.1.3、JDI.2.1、JDI.2.2、 JDI.3.1的数据块BL.0、…、BL.3可以嵌入到存储其他数据的分布式账本 LDG中,例如在比特币区块链或以太坊区块链中。在该情况下,数据块 BL.0、…、BL.3也可以链接到其他数据块,反之亦然。
图11和图12显示了用于向接收实体RE提供所请求的医学数据记录 MDR.R的方法的实施方式的流程图。
所显示的实施方式的第一步骤是通过提供系统PSYS的接口接收 REC-MDR存储在数据库DB.1、…、DB.3中的医学数据记录MDR.1、…、 MDR.3的集合。
在这些实施方式中,数据库DB.1、…、DB.3是存储成像数据——特 别是计算机断层摄影或磁共振图像——的医院的PACS(“图片存档和通 信系统”的缩写)。数据库DB.1、…、DB.3的其他示例是HIS(“医院信 息系统”的缩写)、LIS(“实验室信息系统”的缩写)或RIS(“放射信 息系统”的缩写)。对于每个提供实体PE,可以存在用于存储医学数据记录MDR.1、…、MDR.3的若干数据库DB.1、…、DB.3。
数据库DB.1、…、DB.3可以位于提供实体PE内,特别地,仅可以 由提供实体PE的信息技术设备或者在提供实体PE的专用网络(另一术 语为“内联网”)中访问数据库DB.1、…、DB.3。替选地,数据库DB.1、…、 DB.3可以位于提供实体PE的场所的外部,特别地,数据库DB.1、…、 DB.3可以是由云提供者托管的云数据库。
医学数据记录MDR.1、…、MDR.3中的每一个是患者PAT的医学数 据记录MDR.1、…、MDR.3。特别地,对于医学数据记录MDR.1、…、 MDR.3中的每一个,存在患者标识符PID.1、…、PID.3,其标识作为医 学数据记录MDR.1、…、MDR.3的主题的患者PAT。在数据库DB.1、…、 DB.3中,对于单个患者PAT可以存在若干医学数据记录MDR.1、…、 MDR.3,医学数据记录MDR.1、…、MDR.3中的每一个然后与相同的患 者标识符PID.1、…、PID.3对应。例如,在该实施方式中,可以在PACS 中存储有与同一患者PAT对应的若干DICOM(“数字成像和通信”的缩 写)研究,这些研究中的每一个均可以被解释为单个医学数据记录 MDR.1、…、MDR.3。替选地,对于每个患者PAT,仅存在一个医学数 据记录MDR.1、…、MDR.3,该一个医学数据记录MDR.1、…、MDR.3 存储提供实体PE可获得的关于某个患者PAT的所有信息。这样的医学 数据记录MDR.1、…、MDR.3的示例是EMR或EHR(“电子医疗记录” 或“电子健康记录”的缩写)。
在这些实施方式中,患者标识符PID.1、…、PID.3具有标准化格式, 该格式是唯一分配给患者的编号(例如,患者的社会保险号或官方文档 的编号)。此外,在该实施方式中,患者标识符PID.1、…、PID.3是医学 数据记录MDR.1、…、MDR.3的一部分,特别地,患者标识符PID.1、…、 PID.3可以被包含在医学数据记录MDR.1、…、MDR.3的元数据中。替 选地,可以与相应医学数据记录MDR.1、…、MDR.3有关地存储患者标 识符PID.1、…、PID.3,例如,可以存在这样的数据结构(例如,数据 库DB.1、…、DB.3中的表),其存储成对的医学数据记录MDR.1、…、 MDR.3或医学数据记录MDR.1、…、MDR.3的标识符和相应患者标识 符PID.1、…、PID.3。
所显示的实施方式的第二步骤是接收或初始化REC-INIT-JDI联合数 据索引JDI.0、…、JDI.4。在该实施方式中,联合数据索引JDI.0、…、 JDI.4是布隆过滤器或计数布隆过滤器,特别是指示与存储在数据库 DB.1、…、DB.3中的医学数据记录MDR.1、…、MDR.3对应的患者标 识符PID.1、…、PID.3的布隆过滤器或计数布隆过滤器,该医学数据记 录MDR.1、…、MDR.3不被包含在接收REC-MDR医学数据记录 MDR.1、…、MDR.3的集合的步骤中接收的医学数据记录MDR.1、…、 MDR.3的集合中。
特别地,医学数据记录MDR.1、…、MDR.3的集合可以包括存储在 数据库DB.1、…、DB.3中的所有医学数据记录MDR.1、…、MDR.3。 在该情况下,接收REC-JDI联合数据索引JDI.0、…、JDI.4等同于初始 化联合数据索引JDI.0、…、JDI.4。如果联合数据索引JDI.0、…、JDI.4 是布隆过滤器,则初始化联合数据索引JDI.0、…、JDI.4等同于将值“假”或“0”分配给联合数据索引JDI.0、…、JDI.4的每个元素。如果联合数 据索引JDI.0、…、JDI.4是计数布隆过滤器,则初始化联合数据索引 JDI.0、…、JDI.4等同于将整数值“0”分配给联合数据索引JDI.0、…、 JDI.4的每个元素。
作为接下来的步骤,对于医学数据记录MDR.1、…、MDR.3的集合 中的每个医学数据记录MDR.1、…、MDR.3,执行将多个散列函数h1、 h2应用APPL-HF于与医学数据记录MDR.1、…、MDR.3对应的患者标 识符PID.1、…、PID.3以确定散列向量HV.1、…、HV.3的步骤,以及 基于散列向量HV.1、…、HV.3来更新UPD-JDI联合数据索引JDI.0、…、 JDI.4的步骤,其中,与医学数据记录MDR.1、…、MDR.3对应的患者 标识符PID.1、…、PID.3标识作为医学数据记录MDR.1、…、MDR.3 的主题的患者。
在图11和图12的流程图中,对于医学数据记录MDR.1、…、MDR.3 的集合中的所有医学数据记录MDR.1、…、MDR.3的循环由表示条件语 句的菱形指示。如果不满足已处理医学数据记录MDR.1、…、MDR.3的 集合中的所有医学数据记录MDR.1、…、MDR.3的条件,则针对未处理 的医学数据记录MDR.1、…、MDR.3执行应用APPL-HF多个散列函数 h1、h2的步骤以及/或者更新UPD-JDI联合数据索引JDI.0、…、JDI.4的 步骤,否则流程图继续进行另一分支。
在图11中显示的第一实施方式中,对于每个医学数据记录 MDR.1、…、MDR.3,在以接下来的医学数据记录MDR.1、…、MDR.3 继续进行之前,顺序执行应用APPL-HF多个散列函数h1、h2的步骤以及 更新UPD-JDI联合数据索引JDI.0、…、JDI.4的步骤。在图12中显示的第二实施方式中,首先针对所有医学数据记录MDR.1、…、MDR.3执行 应用APPL-HF多个散列函数h1、h2的步骤,之后针对所有医学数据记录 MDR.1、…、MDR.3执行更新UPD-JDI联合数据索引JDI.0、…、JDI.4 的步骤。替选地,可以存在所显示的第一实施方式与第二实施方式之间 混合的处理顺序。特别地,可以针对医学数据记录MDR.1、…、MDR.3 的集合中的不同医学数据记录MDR.1、…、MDR.3并行执行应用 APPL-HF多个散列函数h1、h2的步骤以及更新UPD-JDI联合数据索引 JDI.0、…、JDI.4的步骤。
在这些实施方式中,多个散列函数h1、h2的应用APPL-HF以及联合 数据索引JDI.0、…、JDI.4的更新UPD-JDI是根据图1(对于联合数据 索引JDI.0、…、JDI.4是布隆过滤器)的详细描述或根据图2(对于联合 数据索引JDI.0、…、JDI.4是计数布隆过滤器)的详细描述来执行的。
所显示的实施方式的接下来的步骤是通过提供系统PSYS的接口 PSYS.IF向接收实体RE提供PROV-JDI联合数据索引JDI.0、…、JDI.4。
在这些实施方式中,联合数据索引JDI.0、…、JDI.4被记录在分布 式账本LDG中。分布式账本是区块链,但是当然可以使用其他类型的分 布式账本而无需修改剩余过程。替选地,可以借助于网络(例如,使用 电子邮件或其他直接通信手段)或通过发布联合数据索引JDI.0、…、JDI.4 (例如,由选择的提供实体PE所操作的网络服务器,或由不同于提供实体PE和接收实体RE的第三实体所操作的网络服务器),向接收实体RE 直接提供联合数据索引JDI.0、…、JDI.4。
所显示的实施方式的接下来的步骤是通过提供系统PSYS的接口 PSYS.IF从接收实体RE接收REC-REQ对所请求的医学数据记录MDR.R 的请求REQ,其中,所请求的医学数据记录MDR.R与请求患者标识符 PID.R对应。请求患者标识符PID.R是作为所请求的医学数据记录MDR.R 的主题的患者PAT的患者标识符。
在这些实施方式中,请求REQ包括请求患者标识符PID.R的加盐散 列H(PID.R&SLT)以及用与请求患者标识符PID.R相关的私钥PRK.R 签的签名SGN(SLT,PRK.R)。替选地,请求REQ可以包括请求患者标 识符PID.R的加盐散列H(PID.R&SLT),但是不包括用与请求患者标识 符PID.R相关的私钥PRK.R签的签名SGN(SLT,PRK.R)。替选地,请 求REQ可以包括用与请求患者标识符PID.R相关的私钥PRK.R签的签 名SGN(SLT,PRK.R),但是不包括请求患者标识符PID.R的加盐散列。 替选地,请求REQ可以既不包括请求患者标识符PID.R的加盐散列H (PID.R&SLT),也不包括用与请求患者标识符PID.R相关的私钥PRK.R 签的签名SGN(SLT,PRK.R)。关于图8说明了用于创建和交换请求患 者标识符PID.R的加盐散列H(PID.R&SLT)的方法,关于图9说明了 用于创建和交换用与请求患者标识符PID.R相关的私钥PRK.R签的签名 SGN(SLT,PRK.R)的方法。作为请求患者标识符PID.R的加盐散列H(PID.R&SLT)的替选,请求REQ还可以包括请求患者标识符PID.R。
这些实施方式的接下来的步骤是用提供系统PSYS的计算单元 PSYS.CU来验证VER-REQ对所请求的医学数据记录MDR.R的请求REQ 的可选步骤。特别地,在验证VER-REQ请求REQ的步骤中,检查是否 数据库DB.1、…、DB.3实际上包括所请求的医学数据记录MDR.R。特 别地,所请求的医学数据记录MDR.R是与请求患者标识符PID.R对应的、 存储在数据库DB.1、…、DB.3中的医学数据记录MDR.1、…、MDR.3 中之一。
如果请求REQ包括请求患者标识符PID.R,则验证VER-REQ请求 REQ可以包括查询数据库DB.1、…、DB.3以检查数据库DB.1、…、DB.3 是否存储与请求患者标识符PID.R相关的医学数据记录MDR.1、…、 MDR.3,该相关的医学数据记录MDR.1、…、MDR.3然后按照定义是所 请求的医学数据记录MDR.R。如果请求REQ包括请求患者标识符PID.R 的加盐散列H(PID.R&SLT),则验证VER-REQ请求REQ可以包括:计 算存储在数据库DB.1、…、DB.3中的患者标识符PID.1、…、PID.3的 加盐散列H(PID.1,SLT)、…、H(PID.3,SLT),以及比较请求患者标 识符PID.R的加盐散列H(PID.R&SLT)与患者标识符PID.1、…、PID.3 的加盐散列H(PID.1,SLT)、…、H(PID.3,SLT)的等效性。在该情 况下,在找到了患者标识符PID.1、…、PID.3的相同的加盐散列H(PID.1, SLT)、…、H(PID.3,SLT)的情况下,检查为肯定。
如果请求REQ包括用与请求患者标识符PID.R相关的私钥PRK.R 签的签名SGN(SLT,PRK.R),则验证VER-REQ请求REQ可以包括基 于与私钥PRK.R相关的公钥来验证签名SGN(SLT,PRK.R)。在该实施 方式中,与私钥PRK.R相关的公钥与请求患者标识符PID.R相关,特别 是与请求患者标识符PID.R相同或可以直接从其得到。
如果验证VRF-REQ请求REQ的步骤产生否定结果,则该方法结束。 如果验证VRF-REQ请求REQ的步骤产生肯定结果,则所显示的实施方 式的最后的步骤是利用提供系统PSYS的接口PSYS.IF经由安全通信通 道向接收实体RE提供PROV-MDR.R所请求的医学数据记录MDR.R。 提供PROV-MDR.R所请求的医学数据记录MDR.R的步骤可以包括向数 据库DB.1、…、DB.3查询所请求的医学数据记录MDR.R。
图13显示了用于从选择的提供实体PE.S接收与患者PAT相关的所 请求的医学数据记录MDR.R的方法的实施方式的流程图。
所显示的方法的第一步骤是利用接收系统RSYS的接口RSYS.IF接 收REC-PID.R与患者PAT对应的请求患者标识符PID.R。在该实施方式 中,请求患者标识符PID.R被存储在患者PAT的装置DEV(例如,智能 电话)中,并且通过接口RSYS.IF从装置DEV接收患者标识符PID.R。 例如,可以经由蓝牙、经由WiFi、或者通过在患者的装置DEV上显示 被光学地传送到接收系统的接口RSYS.IF的条码或QR码来传送请求患 者标识符PID.R。
所显示的方法的接下来的步骤是利用接收系统RSYS的接口 RSYS.IF接收REC-JDI联合数据索引JDI.1、…、JDI.3的集合,其中, 联合数据索引JDI.1、…、JDI.3中的每个联合数据索引JDI.1、…、JDI.3 与提供实体PE.1、…、PE.3的组中的提供实体PE.1、…、PE.3对应。
对于提供实体PE.1、…、PE.3中的每一个,对应的联合数据索引 JDI.1、…、JDI.3是布隆过滤器,该布隆过滤器指示与医学数据记录 MDR.1、…、MDR.3相关的提供实体PE.1、…、PE.3所存储的患者标识 符PID.1、…、PID.3。这意味着,基于联合数据索引JDI.1、…、JDI.3, 可以确定对应的提供实体PE.1、…、PE.3没有存储与请求患者标识符PID.R相关的医学数据记录MDR.1、…、MDR.3,但是不能可靠地确定 对应的提供实体PE.1、…、PE.3确实存储了与请求患者标识符PID.R相 关的医学数据记录MDR.1、…、MDR.3。
在该实施方式中,联合数据索引JDI.1、…、JDI.3被存储在分布式 账本LDG中,并且通过查询分布式账本LDG来执行接收REC-JDI联合 数据索引JDI.1、…、JDI.3的集合。替选地,联合数据索引JDI.1、…、 JDI.3也可以仅通过相应提供实体PE.1、…、PE.3被存储,并且接收 REC-JDI联合数据索引JDI.1、…、JDI.3可以包括向各个提供实体 PE.1、…、PE.3中的每一个查询联合数据索引JDI.1、…、JDI.3。
所显示的实施方式的接下来的步骤是通过将散列函数h1、h2的组应 用于请求患者标识符PID.R来确定DET-HV散列向量HV.4、HV.5。关于 图1至图4描述了确定散列向量HV.4、HV.5的细节。特别地,散列向量 HV.4、HV.5以及联合数据索引JDI.1、…、JDI.3中的每个联合数据索引 JDI.1、…、JDI.3包括相同数目的数据元素,并且联合数据索引JDI.1、…、JDI.3中的每个联合数据索引JDI.1、…、JDI.3已经由相应提供实体 PE.1、…、PE.3通过在确定DET-HV散列函数HV.4、HV.5中使用的散 列函数h1、h2的组创建。
替选地,提供实体PE.1、…、PE.3中的每一个可以使用不同的散列 函数h1、h2来确定相应的联合数据索引JDI.1、…、JDI.3。在该情况下, 在针对联合数据索引JDI.1、…、JDI.3中的每一个确定DET-HV散列向 量HV.4、HV.5的步骤中,要使用散列函数h1、h2的不同集合。在该情况 下,联合数据索引JDI.1、…、JDI.3也可以包括不同数目的元素。
所显示的实施方式的接下来的步骤是基于散列向量HV.4、HV.5并且 基于联合数据索引JDI.1、…、JDI.3来确定DET-PE.S提供实体PE.1、…、 PE.3的组中的选择的提供实体PE.S。特别地,选择的提供实体PE.S是 提供实体PE.1、…、PE.3的组中的提供实体PE.1、…、PE.3中之一。在 该步骤中,也可以确定若干选择的提供实体PE.S。特别地,选择的提供 实体PE.S是在该确定DET-PES.S步骤中确定的若干选择的提供实体PE.S 中之一。
在该实施方式中,确定DET-PE.S选择的提供实体PE.S的步骤包括 散列向量HV.4、HV.5与联合数据索引JDI.1、…、JDI.3中的每一个之间 的逐元素比较。关于图3和图4描述了该逐元素比较。
显示的实施方式的接下来的步骤是向选择的提供实体PE.S发送 SND-REQ对所请求的医学数据记录MDR.R的请求REQ。在该实施方式 中,请求REQ包括请求患者标识符PID.R的加盐散列H(PID.R&SLT) 以及用与请求患者标识符PID.R相关的私钥PRK.R签的签名SGN(SLT, PRK.R)。替选地,请求REQ可以包括请求患者标识符PID.R的加盐散 列H(PID.R&SLT),但是不包括用与请求患者标识符PID.R相关的私钥 PRK.R签的签名SGN(SLT,PRK.R)。替选地,请求REQ可以包括用 与请求患者标识符PID.R相关的私钥PRK.R签的签名SGN(SLT,PRK.R),但是不包括请求患者标识符PID.R的加盐散列。替选地,请求 REQ可以既不包括请求患者标识符PID.R的加盐散列H(PID.R&SLT), 也不包括用与请求患者标识符PID.R相关的私钥PRK.R签的签名SGN (SLT,PRK.R)。关于图8说明了用于创建和交换请求患者标识符PID.R 的加盐散列H(PID.R&SLT)的方法,关于图9说明了用于创建和交换 用与请求患者标识符PID.R相关的私钥PRK.R签的签名SGN(SLT, PRK.R)的方法。作为请求患者标识符PID.R的加盐散列H(PID.R&SLT) 的替选,请求REQ也可以包括请求患者标识符PID.R。
所显示的实施方式的最后的步骤是经由安全通信通道从选择的提供 实体PE.S接收REC-MDR.R所请求的医学数据记录MDR.R。注意,仅 当选择的提供实体PE.S实际上存储了与请求患者标识符PID.R对应的所 请求的医学数据记录MDR.R时,才执行该步骤。如果选择的提供实体 PE.S没有存储所请求的医学数据记录MDR.R,则提供实体PE.S可以发 送错误消息或完全不发送任何数据。
图14显示了用于从选择的提供实体PE.S接收与患者PAT相关的所 请求的医学数据记录MDR.R的方法的修改实施方式的流程图。流程图的 单个步骤类似于关于图13描述的实施方式,但是在图14中指示了附加 控制结构,以显示在确定DET-PE.S选择的提供实体PE.S的步骤中确定 了多个选择的提供实体PE.S的情况下应用用于接收所请求的医学数据记 录MDR.R的方法的可能性。
在所显示的实施方式中,对于确定的选择的提供实体PE.S中的每一 个,执行向对应的选择的提供实体PE.S发送SND-REQ对所请求的医学 数据记录MDR.R的请求REQ的步骤。在向对应的选择的提供实体PE.S 发送SND-REQ对所请求的医学数据记录MDR.R的请求REQ之后,在 对应的选择的提供实体PE.S提供了所请求的医学数据记录MDR.R的情 况下,则执行从对应的选择的提供实体PE.S接收REC-MDR.R所请求的 医学数据记录MDR.R的步骤,否则流程图以接下来的选择的提供实体 PE.S继续进行。在请求REQ已经被发送到所有选择的提供实体PE.S之 后,方法结束END。
图15显示了用于将所请求的医学数据记录MDR.R从选择的提供实 体PE.S传送到接收实体RE的方法的实施方式。该实施方式被解释为关 于图11和Y2描述的实施方式的组合。特别地,在用于将所请求的医学 数据记录MDR.R从选择的提供实体PE.S传送到接收实体RE的方法的 实施方式中执行的步骤中的每一个可以包括与关于图11和Y2描述的实 施方式的各个步骤相关地描述的所有有利特征和实施方式。
特别地,实施方式包括特别是利用提供系统PSYS的接口PSYS.IF 以及接收系统RSYS的接口RSYS.IF,将联合数据索引JDI.0、…、JDI.4 从选择的提供实体PE.S传送TRM-JDI到接收实体RE的步骤。将联合数 据索引JDI.0、…、JDI.4从选择的提供实体PE.S传送TRM-JDI到接收 实体RE的步骤可以包括:向接收实体RE提供PROV-JDI联合数据索引JDI.0、…、JDI.4的步骤,以及从选择的提供实体PE.S接收联合数据索 引JDI.0、…、JDI.4的步骤。
特别地,实施方式包括利用提供系统PSYS的接口PSYS.IF以及接 收系统RSYS的接口RSYS.IF,将对所请求的医学数据记录MDR.R的请 求REQ从接收实体RE传送TRM-REQ到选择的提供实体PE.S的步骤。 将对所请求的医学数据记录MDR.R的请求REQ从接收实体RE传送TRM-REQ到选择的提供实体PE.S的步骤可以包括:向选择的提供实体 PE.S提供PROV-REQ对所请求的医学数据记录MDR.R的请求REQ的 步骤,以及从接收实体RE接收REC-REQ对所请求的医学数据记录 MDR.R的请求REQ的步骤。
特别地,实施方式包括利用提供系统PSYS的接口PSYS.IF以及接 收系统RSYS的接口RSYS.IF经由安全通信通道,将所请求的医学数据 记录MDR.R从选择的提供实体PE.S传送TRM-MDR.R到接收实体RE 的步骤。特别地,经由安全通信通道将所请求的医学数据记录MDR.R从 选择的提供实体PE.S传送TRM-MDR.R到接收实体RE的步骤可以包括: 向接收实体RE提供PROV-MDR.R所请求的医学数据记录MDR.R的步 骤,以及从选择的提供实体PE.S接收REC-MDR.R所请求的医学数据记 录MDR.R的步骤。
图16显示了提供系统PSYS和接收系统RSYS。提供系统PSYS包 括接口PSYS.IF、计算单元PSYS.CU和存储器单元PSYS.MU。接收系 统RSYS包括接口RSYS.IF、计算单元RSYS.CU和存储器单元 RSYS.MU。
提供系统PSYS和/或接收系统RSYS可以是(个人)计算机、工作 站、在主机硬件上运行的虚拟机、微控制器或集成电路。特别地,提供 系统PSYS和/或接收系统RSYS可以是移动装置,例如智能电话或平板 电脑。作为替选方案,提供系统PSYS和/或接收系统RSYS可以是真实 的或虚拟的计算机组(真实的计算机组的技术术语是“集群”,虚拟的计 算机组的技术术语是“云”)。
提供系统PSYS和接收系统RSYS通过网络NETW连接。网络NETW 可以被实现为LAN(“局域网”的缩写),特别是WiFi网络,或任何其 他本地连接,例如,经由蓝牙或USB(“通用串行总线”的缩写)。替选 地,网络NETW也可以被实现为VPN(“虚拟专用网络”的缩写)。
接口PSYS.IF、RSYS.IF可以被实施为硬件接口或软件接口(例如, PCI总线(PCIBus)、USB或火线)。特别地,接口PSYS.IF、RSYS.IF 可以是若干其他接口的组合,特别地,接口PSYS.IF、RSYS.IF可以包括 一个或更多个接口作为子部件。通常,计算单元PSYS.CU、RSYS.CU可 以包括硬件元件和软件元件,例如微处理器、CPU(“中央处理单元”的缩写)、GPU(“图形处理单元”的缩写)、现场可编程门阵列(缩写为 “FPGA”)或ASIC(“专用集成电路”的缩写)。计算单元PSYS.CU、RSYS.CU可以被配置用于多线程,即,计算单元PSYS.CU、RSYS.CU 可以同时托管不同的计算过程,从而并行执行或在主动计算过程与被动计算过程之间进行切换。特别地,计算单元PSYS.CU、RSYS.CU可以是 若干其他计算单元的组合,特别地,计算单元PSYS.CU、RSYS.CU可以 包括一个或更多个计算单元作为子部件。存储器单元PSYS.MU、 RSYS.MU可以是例如非永久性主存储器(例如,随机存取存储器)或永久性大容量存储装置(例如,硬盘、USB记忆棒、SD卡、固态磁盘)。
无论是否已经明确描述,可以在不限制或扩大所描述发明的范围的 情况下将单个实施方式或者其单个方面和特征组合或彼此交换,只要这 样的组合或交换是有意义的并且在本发明的意义上即可。在适用的情况 下,关于本发明的一个实施方式描述的优点于本发明的其他实施方式也 是有利的。

Claims (15)

1.一种用于向接收实体(RE)提供所请求的医学数据记录(MDR.R)的计算机实现的方法,包括:
-接收(REC-MDR)存储在数据库(DB.1,…,DB.3)中的医学数据记录(MDR,MDR.1,…,MDR.3)的集合;
-接收或初始化(REC-INIT-JDI)联合数据索引(JDI.0,…,JDI.4);
-对于所述医学数据记录(MDR,MDR.1,…,MDR.3)的集合中的每个医学数据记录(MDR,MDR.1,…,MDR.3)
--将多个散列函数(h1,h2)应用(APPL-HF)于与所述医学数据记录(MDR,MDR.1,…,MDR.3)对应的患者标识符(PID.1,…,PID.3)以确定散列向量(HV.1,…,HV.3),
其中,与所述医学数据记录(MDR,MDR.1,…,MDR.3)对应的所述患者标识符(PID.1,…,PID.3)标识作为所述医学数据记录(MDR,MDR.1,…,MDR.3)的主题的患者,以及
--基于所述散列向量(HV.1,…,HV.3)来更新(UPD-JDI)所述联合数据索引(JDI.0,…,JDI.4);
-向所述接收实体(RE)提供(PROV-JDI)所述联合数据索引(JDI.0,…,JDI.4);
-从所述接收实体(RE)接收(REC-REQ)对所请求的医学数据记录(MDR.R)的请求(REQ),
其中,所述请求(REQ)基于所述联合数据索引(JDI.0,…,JDI.4),其中,所请求的医学数据记录(MDR.R)对应于请求患者标识符(PID.R);
-可选地,验证(VER-REQ)对所请求的医学数据记录(MDR.R)的所述请求(REQ);以及
-经由安全通信通道向所述接收实体(RE)提供(PROV-MDR.R)所请求的医学数据记录(MDR.R)。
2.根据权利要求1所述的方法,其中,所述散列函数(h1,h2)中的每一个将所述患者标识符(PID.1,…,PID.3)映射到所述散列向量(HV.1,…,HV.3)的一个元素。
3.根据权利要求1或权利要求2所述的方法,其中,向所述接收实体(RE)提供的所述联合数据索引(JID.0,…,JID.3)是与存储在所述数据库(DB.1,…,DB.3)中的所述医学数据记录(MDR,MDR.1,…,MDR.3)对应的患者标识符(PID.1,…,PID.3)的布隆过滤器。
4.根据权利要求3所述的方法,其中,所述布隆过滤器是计数布隆过滤器、可扩展布隆过滤器、分层布隆过滤器和/或衰减布隆过滤器。
5.根据前述权利要求中的一项所述的方法,其中,向所述接收实体(RE)提供(PROV-JDI)所述联合数据标识符(JID.0,…,JID.3)包括将所述联合数据标识符(JID.0,…,JID.3)存储在分布式账本(LDG)中。
6.根据前述权利要求中的一项所述的方法,其中,所述请求(REQ)包括所述请求患者标识符(PID.R)的加盐散列(H(PID.R&SLT))和/或用与所述请求患者标识符(PID.R)相关的私钥(PRK.R)签的签名(SGN(SLT,PRK.R))。
7.一种用于从选择的提供实体(PE.S)接收与患者(PAT)相关的所请求的医学数据记录(MDR.R)的计算机实现的方法,包括:
-接收(REC-PID.R)与所述患者(PAT)对应的请求患者标识符(PID.R);
-接收(REC-JDI)联合数据索引(JDI.1,…,JDI.3)的集合,
其中,所述联合数据索引(JDI.1,…,JDI.3)中的每个联合数据索引(JDI.1,…,JDI.3)对应于提供实体(PE.1,…,PE.3)的组中的提供实体(PE.1,…,PE.3),
其中,所述联合数据索引(JDI.1,…,JDI.3)中的每个联合数据索引(JDI.1,…,JDI.3)基于多个散列函数(h1,h2);
-通过将所述多个散列函数(h1,h2)应用于所述请求患者标识符(PID.R)来确定(DET-HV)散列向量(HV.4,HV.5);
-基于所述散列向量(HV.4,HV.5)并且基于所述联合数据索引(JDI.1,…,JDI.3)来确定(DET-PE.S)所述提供实体(PE.1,…,PE.3)的组中的选择的提供实体(PE.S);
-向所述选择的提供实体(PE.S)发送(SND-REQ)对所请求的医学数据记录(MDR.R)的请求(REQ);
-可选地,经由安全通信通道从所述选择的提供实体(PE.S)接收(REC-MDR.R)所请求的医学数据记录(MDR.R)。
8.根据权利要求7所述的方法,其中,确定(DET-PE.S)所述选择的提供实体(PE.S)包括所述联合数据索引(JDI.1,…,JDI.3)中的每一个与所述散列向量(HV.4,HV.5)之间的逐元素比较。
9.根据权利要求7或8所述的方法,其中,所述联合数据索引(JDI.1,…,JDI.3)中的每个联合数据索引(JDI.1,…,JDI.3)是与对应于所述联合数据索引(JDI.1,…,JDI.3)的所述提供实体(PE.1,…,PE.2)所存储的医学数据记录(MDR,MDR.1,…,MDR.3)对应的患者标识符(PID.1,…,PID.3)的布隆过滤器。
10.根据权利要求7至9中的一项所述的方法,其中,接收(REC-JDI)所述联合数据索引(JDI.1,…,JDI.3)的集合包括查询存储所述联合数据索引(JDI.1,…,JDI.3)的集合的分布式账本(LDG)。
11.根据权利要求7至10中的一项所述的方法,其中,所请求的医学数据记录(MDR.R)由所述选择的提供实体(PE.S)根据权利要求1至6中的一项所述的方法来提供。
12.一种用于向接收实体(RE)提供所请求的医学数据记录(MDR.R)的提供系统(PSYS),包括接口(PSYS.IF)和计算单元(PSYS.CU),
-其中,所述接口(PSYS.IF)被配置用于接收(REC-MDR)存储在数据库(DB.1,…,DB.3)中的医学数据记录(MDR,MDR.1,…,MDR.3)的集合;
-其中,所述接口(PSYS.IF)或所述计算单元(PSYS.CU)还被配置用于接收或初始化(REC-INIT-JDI)联合数据索引(JDI.0,…,JDI.4);
-其中,对于所述医学数据记录(MDR,MDR.1,…,MDR.3)的集合中的每个医学数据记录(MDR,MDR.1,…,MDR.3),所述计算单元(PSYS.CU),
--被配置用于将多个散列函数(h1,h2)应用(APPL-HF)于与所述医学数据记录(MDR,MDR.1,…,MDR.3)对应的患者标识符(PID.1,…,PID.3)以确定散列向量,
其中,与所述医学数据记录(MDR,MDR.1,…,MDR.3)对应的患者标识符(PID.1,…,PID.3)标识作为所述医学数据记录(MDR,MDR.1,…,MDR.3)的主题的患者;
--并且被配置用于基于所述散列向量来更新(UPD-JDI)所述联合数据索引(JDI.0,…,JDI.4);
-其中,所述接口(PSYS.IF)还被配置用于向所述接收实体(RE)提供(PROV-JDI)所述联合数据索引(JDI.0,…,JDI.4),
-其中,所述接口(PSYS.IF)还被配置用于从所述接收实体(RE)接收(REC-REQ)对所请求的医学数据记录(MDR.R)的请求(REQ),
其中,所请求的医学数据记录(MDR.R)对应于请求患者标识符(PID.R),
-其中,所述计算单元(PSYS.CU)可选地被配置用于验证(VER-REQ)对所请求的医学数据记录(MDR.R)的请求(REQ),
-其中,所述接口(PSYS.IF)还被配置用于经由安全通信通道向所述接收实体(RE)提供(PROV-MDR.R)所请求的医学数据记录(MDR.R)。
13.一种用于从选择的提供实体(PE.S)接收与患者(PAT)相关的所请求的医学数据记录(MDR.R)的接收系统(RSYS),包括接口(RSYS.IF)和计算单元(RSYS.CU),
-其中,所述接口(RSYS.IF)被配置用于接收(REC-PID.R)与所述患者(PAT)对应的请求患者标识符(PID.R);
-其中,所述接口(RSYS.IF)还被配置用于接收(REC-JDI)联合数据索引(JDI.1,…,JDI.3)的集合,其中,所述联合数据索引(JDI.1,…,JDI.3)中的每个联合数据索引(JDI.1,…,JDI.3)对应于提供实体(PE.1,…,PE.3)的组中的提供实体(PE.1,…,PE.3);
-其中,所述计算单元(RSYS.CU)被配置用于通过将散列函数(h1,h2)的组应用于所述请求患者标识符(PID.R)来确定(DET-HV)散列向量(HV.4,HV.5);
-其中,所述计算单元(RSYS.CU)还被配置用于基于所述散列向量(HV.4,HV.5)并且基于所述联合数据索引(JDI.1,…,JDI.3)来确定(DET-PE.S)所述提供实体(PE.1,…,PE.3)的组中的选择的提供实体(PE.S);
-其中,所述接口(RSYS.IF)还被配置用于向所述选择的提供实体(PE.S)发送(SND-REQ)对所请求的医学数据记录(MDR.R)的请求(REQ);
-其中,所述接口(RSYS.IF)还被配置用于经由安全通信通道从所述选择的提供实体(PE.S)接收(REC-MDR.R)所请求的医学数据记录(MDR.R)。
14.一种包括指令的计算机程序,当由提供系统(PSYS)执行所述程序时,所述指令使所述提供系统(PSYS)执行权利要求1至6中的一项所述的方法;以及/或者当由接收系统(RSYS)执行所述程序时,所述指令使所述接收系统(RSYS)执行权利要求7至11中的一项所述的方法。
15.一种包括指令的计算机可读介质,所述指令在由提供系统(PSYS)执行时,使所述提供系统(PSYS)执行权利要求1至7中的一项所述的方法;以及/或者所述指令在由接收系统(RSYS)执行时,使所述接收系统(RSYS)执行权利要求8至11中的一项所述的方法。
CN202011040503.3A 2019-09-30 2020-09-28 提供和接收医学数据记录 Pending CN112582070A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP19200368.9A EP3799052A1 (en) 2019-09-30 2019-09-30 Providing and receiving medical data records
EP19200368.9 2019-09-30

Publications (1)

Publication Number Publication Date
CN112582070A true CN112582070A (zh) 2021-03-30

Family

ID=68104403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011040503.3A Pending CN112582070A (zh) 2019-09-30 2020-09-28 提供和接收医学数据记录

Country Status (3)

Country Link
US (1) US11887704B2 (zh)
EP (1) EP3799052A1 (zh)
CN (1) CN112582070A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117331946A (zh) * 2023-11-28 2024-01-02 彩讯科技股份有限公司 邮件索引的构建方法、装置、设备和计算机可读存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210098092A1 (en) * 2019-09-26 2021-04-01 Koninklijke Philips N.V. Privacy-preserving medical search system using similarity preserving hashing
US11823775B2 (en) * 2020-11-09 2023-11-21 Merative Us L.P. Hashing electronic records
CN114579581B (zh) * 2022-05-05 2022-08-30 武汉北大高科软件股份有限公司 一种基于区块链的数据监管方法和装置
CN116779088B (zh) * 2023-08-21 2023-10-31 贵阳叁玖互联网医疗有限公司 一种多方协同电子病历系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102195866A (zh) * 2010-03-03 2011-09-21 梨花女子大学校产学协力团 利用布隆滤波器的数据包分类方法及数据包分类装置
US20130132408A1 (en) * 2011-11-23 2013-05-23 Mark Cameron Little System and Method for Using Bloom Filters to Determine Data Locations in Distributed Data Stores
US20180210959A1 (en) * 2017-01-24 2018-07-26 Microsoft Technology Licensing, Llc Front end bloom filters in distributed databases

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008151673A1 (en) * 2007-06-14 2008-12-18 Telefonaktiebolaget Lm Ericsson (Publ) Routing in a network
US9032531B1 (en) * 2012-06-28 2015-05-12 Middlegate, Inc. Identification breach detection
US10607726B2 (en) * 2013-11-27 2020-03-31 Accenture Global Services Limited System for anonymizing and aggregating protected health information
US9866393B1 (en) * 2014-12-22 2018-01-09 Amazon Technologies, Inc. Device for creating reliable trusted signatures
US9824236B2 (en) * 2015-05-19 2017-11-21 Accenture Global Services Limited System for anonymizing and aggregating protected information
CN110612697B (zh) * 2017-05-09 2023-11-07 埃森哲环球解决方案有限公司 用于高效信息检索的数据存储层索引的方法和系统
US10102233B1 (en) * 2018-04-30 2018-10-16 Merck Sharp & Dohme Corp. Indexing for database privacy and anonymization
US11468998B2 (en) * 2018-10-09 2022-10-11 Radect Inc. Methods and systems for software clinical guidance
CN109977261B (zh) * 2019-04-02 2021-11-26 北京奇艺世纪科技有限公司 一种数据请求的处理方法、装置及服务器
WO2020206695A1 (en) * 2019-04-12 2020-10-15 Hangzhou Nuowei Information Technology Co., Ltd. System for decentralized ownership and secure sharing of personalized health data
US11568397B2 (en) * 2019-04-24 2023-01-31 Cerner Innovation, Inc. Providing a financial/clinical data interchange
US11222129B2 (en) * 2019-06-24 2022-01-11 International Business Machines Corporation Entity resolution between multiple private data sources
US20210098092A1 (en) * 2019-09-26 2021-04-01 Koninklijke Philips N.V. Privacy-preserving medical search system using similarity preserving hashing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102195866A (zh) * 2010-03-03 2011-09-21 梨花女子大学校产学协力团 利用布隆滤波器的数据包分类方法及数据包分类装置
US20130132408A1 (en) * 2011-11-23 2013-05-23 Mark Cameron Little System and Method for Using Bloom Filters to Determine Data Locations in Distributed Data Stores
US20180210959A1 (en) * 2017-01-24 2018-07-26 Microsoft Technology Licensing, Llc Front end bloom filters in distributed databases

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117331946A (zh) * 2023-11-28 2024-01-02 彩讯科技股份有限公司 邮件索引的构建方法、装置、设备和计算机可读存储介质

Also Published As

Publication number Publication date
EP3799052A1 (en) 2021-03-31
US20210098091A1 (en) 2021-04-01
US11887704B2 (en) 2024-01-30

Similar Documents

Publication Publication Date Title
US11777940B2 (en) Storing and accessing medical datasets on the blockchain
JP7411017B2 (ja) 健康データを匿名化し、分析のために地理的領域を横断して健康データを修正及び編集するシステム及び方法
CN112582070A (zh) 提供和接收医学数据记录
JP6038185B2 (ja) 患者に関連するデータレコードを処理するための方法
JP6801922B2 (ja) 診療記録管理システム、装置、方法およびプログラム
US11586742B2 (en) Data processing method, data processing device, and computer readable storage medium
EP3605376A1 (en) Blockchain-based distribution of medical data records
KR102113806B1 (ko) 개인의료정보데이터 관리방법 및 시스템
US20200380475A1 (en) Inserting a further data block into a first ledger
JP2018133080A (ja) ブロックチェーンデータ管理システム、プログラム、及びデータ構造
US11868506B2 (en) Systems and methods for implementing a secure database for storing a patient operational longitudinal record
JP2018133051A (ja) データ管理システム
US20190287672A1 (en) Archive server and system
US20110125646A1 (en) Methods and systems for managing personal health records by individuals
Ismail et al. Blockhr–a blockchain-based healthcare records management framework: performance evaluation and comparison with client/server architecture
CN113722731A (zh) 一种医疗数据共享方法、装置、电子设备及存储介质
Poonguzhali et al. A framework for electronic health record using blockchain technology
Yang et al. Secure medical image-sharing mechanism based on visual cryptography in EHR system
CN117874144B (zh) 基于区块链的医疗数据共享方法、装置、设备及存储介质
EP3629274A1 (en) Smart contract based ordering of medical procedures
US20230317224A1 (en) Patient specified health record on blockchain
Akash A healthcare digital twin system based on blockchain technology
JP2023037972A (ja) 医用データ管理システム

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