Record linkage algorithm for multi-structured data
AssigneeZephyr Health, Inc.
InventorsTony C. Scott, Cesar Augusto Arevalo Aguilera, Aaron A. Chaiclin, Sven Christoffer Junkergard
Life of this patent
Estimating the term…
Abstract
A system and method for record linkage includes performing an entity augmentation process for linking new data records with existing entities in a database. Performing the entity augmentation process includes performing an exact matching sub-process that includes accessing existing entity unique identifier (UID) keys in a memory cache layer and comparing a new data record UID key to the existing entity UID keys.
Claims20
A computer-implemented method for record linkage, the computer-implemented method comprising executing, by a processor, computer-executable instructions stored in a memory coupled to the processor, wherein the computer-executable instructions define an entity augmentation process for linking new data records with existing entities in a database, the entity augmentation process comprising:
- performing an exact matching sub-process comprising:
- staging, by the processor, a new data record, wherein staging the new data record comprises identifying one or more than one exact match attribute in the new data record and using the identified one or more than one exact match attribute as a new data record unique identifier (UID) key;
- accessing, by the processor, one or more than one existing entity UID key stored in a memory cache layer of a non-transitory storage device, wherein the accessing comprises selecting at least one stored existing entity UID key of the one or more than one existing entity UID key, wherein the selected at least one stored existing entity UID key is associated with at least one or more than one exact match attribute that correspond to the identified one or more than one exact match attribute in the new data record;
- comparing, by the processor, the new data record UID key to the selected at least one stored existing entity UID key;
- and
- determining, by the processor, that the new data record UID key and the selected at least one stored existing entity UID key comprise a match;
- and
- performing a fuzzy matching sub-process comprising:
- accessing, by the processor, one or more than one existing entity block key stored in the memory cache layer, wherein each of the stored one or more than one existing entity block key identifies a subset of a total population of existing entities in the database, and wherein each of the stored one or more than one existing entity block key is associated with a particular set of entity fields;
- identifying in the new data record, by the processor, new data record fields that correspond to at least one of the particular set of entity fields;
- selecting, by the processor, at least one of the stored one or more than one existing entity block key such that the new data record will be compared to less than the total population of existing entities in the database, wherein the one or more particular set of entity fields associated with the selected at least one of the stored one or more than one existing entity block key correspond to the new data record fields, wherein the selected at least one of the stored one or more than one existing entity block key identify a selected subset of existing entities;
- caching in the memory cache layer, by the processor, statistics for calculating an overall fuzzy match score, wherein the overall fuzzy match score is used to determine a match outcome for each comparison between each selected existing entity and the new data record;
- comparing, by the processor, each identifier field of the new data record to each corresponding identifier field associated with each selected existing entity, wherein the comparing comprises performing a probabilistic linkage process based on the cached statistics to calculate a weighted fuzzy match score for each identifier field comparison;
- and
- calculating, by the processor, the overall fuzzy match score based on the weighted fuzzy match score calculated for each identifier field comparison.
A computer-implemented system for performing record linkage, the computer-implemented system comprising:
- a processor;
- a memory coupled to the processor, the memory configured to store computer-executable instructions;
- a database for storing a plurality of existing entity records;
- a data management processing system comprising a data import module configured to receive an imported new data record, wherein the data import module comprises an entity augmentation process module comprising computer-executable instructions that define an entity augmentation process for linking new data records with existing entities in a database, wherein the entity augmentation process comprises an exact matching sub-process and a fuzzy matching sub-process, wherein the computer-executable instructions are stored in the memory, and wherein executing the computer-executable instructions that define the exact matching sub-process causes the processor to:
- stage a new data record, wherein the staging comprises identifying one or more than one exact match attribute in the new data record and using the identified one or more than one exact match attribute as a new data record unique identifier (UID) key;
- access one or more than one existing entity UID key stored in a memory cache layer, wherein the accessing comprises selecting at least one stored existing entity UID key of the one or more than one existing entity UID key, wherein the selected at least one stored existing entity UID key is associated with at least one or more than one exact match attribute that correspond to the identified one or more than one exact match attribute in the new data record;
- compare the new data record UID key to the selected at least one stored existing entity UID key;
- and
- determine that the new data record UID key and the selected at least one stored existing entity UID key comprise a match;
- and
- wherein further executing the computer-executable instructions that define the fuzzy matching sub-process causes the processor to:
- access one or more than one existing entity block key stored in the memory cache layer, wherein each of the stored one or more than one existing entity block key identifies a subset of a total population of existing entities in the database, and wherein each of the stored one or more existing entity block key is associated with a particular set of entity fields;
- identify in the new data record, new data record fields that correspond to at least one of the particular set of entity fields;
- select at least one of the stored one or more than one existing entity block key such that the new data record will be compared to less than the total population of existing entities in the database, wherein the one or more particular set of entity fields associated with the selected at least one of the stored one or more than one existing entity block key corresponds to the new data record fields, wherein the selected at least one of the stored one or more than one existing entity block key identify a selected subset of existing entities;
- cache in the memory cache layer, statistics for calculating an overall fuzzy match score, wherein the overall fuzzy match score is used to determine a match outcome for each comparison between each selected existing entity and the new data record;
- compare each identifier field of the new data record to each corresponding identifier field associated with each selected existing entity, wherein the comparing comprises performing a probabilistic linkage process based on the cached statistics to calculate a weighted fuzzy match score for each identifier field comparison;
- and
- calculate the overall fuzzy match score based on the weighted fuzzy match score calculated for each identifier field comparison.
A computer-implemented method for record linkage, the computer-implemented method comprising executing, by a processor, computer-executable instructions stored in a memory coupled to the processor, wherein the computer-executable instructions define an entity augmentation process for linking new data records with existing entities in a database, the entity augmentation process comprising:
- performing an exact matching sub-process comprising:
- staging, by the processor, a new data record, wherein staging the new data record comprises identifying more than one exact match attribute in the new data record and using the identified more than one exact match attribute as a new data record unique identifier (UID) key;
- accessing, by the processor, more than one existing entity UID key stored in a memory cache layer of a non-transitory storage device;
- selecting, by the processor, an existing entity UID key of the more than one existing entity UID key stored in the memory cache layer;
- comparing, by the processor, the new data record UID key to the selected existing entity UID key;
- determining, by the processor, whether the new data record UID key and the selected existing entity UID key comprise a match;
- and upon determining that the new data record UID key does not match any of the stored more than one existing entity UID key, performing a fuzzy matching sub-process comprising:
- accessing, by the processor, more than one existing entity block key stored in the memory cache layer, wherein each of the more than one existing entity block key identifies a subset of a total population of existing entities in the database, wherein each existing entity block key is associated with a particular set of entity fields;
- and
- selecting, by the processor, an existing entity block key of the more than one existing entity block key, wherein the particular set of entity fields corresponds to new data record fields of the new data record, wherein the selected existing entity block key identifies a subset of selected existing entities;
- caching in the memory cache layer, by the processor, statistics for calculating an overall fuzzy match score, wherein the overall fuzzy match score is used to determine a match outcome for each comparison between each selected existing entity and the new data record;
- comparing, by the processor, each identifier field of the new data record to each corresponding identifier field associated with each selected existing entity, wherein the comparing comprises performing a probabilistic linkage process based on the cached statistics to calculate a weighted fuzzy match score for each identifier field comparison;
- and
- calculating, by the processor, the overall fuzzy match score based on the weighted fuzzy match score calculated for each identifier field comparison.
Dependencies are inferred from the claim text.