# US 11,443,387 B2 · Automated identification of duplicate information objects

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,443,387 B2
- Document ID: US11443387B2
- Status: Granted
- Kind: B2
- Application number: 17/030,531
- Filed: 2020-09-24
- Published: 2022-03-24
- Granted: 2022-09-13
- Earliest claimed: 2020-09-24
- Assignees: Optum Services (Ireland) Limited
- Applicants: Optum Services (Ireland) Limited
- Inventors: Gillian S. Browne; Ryan A. Hines; Sergio Moreno Gonzalez; Diarmuid Keating
- Web page: https://patentgrep.com/patent/US11443387B2

## CPC

- G06Q 40/08: Insurance
- G06F 16/215: Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
- G06F 16/2237: {Vectors, bitmaps or matrices}
- G06F 16/24566: {Recursive queries}
- G06Q: INFORMATION 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
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems and methods are configured to determine whether a particular information object is a duplicate of an object found in separate information objects. In various embodiments, the particular information object and each separate information object includes a set of data fields for storing data values that allows identical values to be stored in different fields for the objects. The data values for the particular information object are combined to form a data structure that includes a data element for each value. A determination as to whether the particular information object is an exact or partial match of a separate information object is made by performing a function on the data structure for the particular information object and a data structure for the separate information object to identify an intersection that includes data values for the particular information object that have an identical match with values for the separate information object.

## Claims

### Claim 1

A computer-implemented method for determining whether a particular information object is a duplicate of a separate information object found in a plurality of separate information objects in which the particular information object and each of the plurality of separate information objects comprises a plurality of data fields for storing a plurality of data values associated with a plurality of data types that allows an identical data value in the plurality of data values to be stored in different data fields of the plurality of data fields for the particular information object and the plurality of separate information objects, the computer-implemented method comprising:
for each respective separate information object of the plurality of separate information objects, combining, based at least in part on the data type associated with each data value of the plurality of data types, one or more data values stored in the plurality of data fields for the respective separate information object to generate a flattened array data structure for the respective separate information object comprising a plurality of array data fields, wherein each array data field; (i) is associated with a unique data type of the plurality of data types and (ii) stores a subset of the plurality of data values that is associated with the unique data type of the array data field;
combining, based at least in part on the data type associated with each data value of the plurality of data types, one or more data values stored in the plurality of data fields for the particular information object to generate a flattened array data structure for the particular information object comprising a plurality of array data fields, wherein each array data field: (i) is associated with a unique data type of the plurality of data types and (ii) stores a subset of the plurality of data values that is associated with the unique data type of the array data field; and
for each respective separate information object;
performing an array intersection identification operation on the flattened array data structure for the particular information object and the flattened array data structure for the respective separate information object to generate, for each data type, a flattened array intersection comprising one or more data values in a corresponding array data field of the flattened array data structure for the particular information object that have identical matches in a corresponding array data field of the flattened array data structure for the respective separate information object;
determining whether the particular information object is an exact match of the respective separate information object if each flattened array intersection comprises all of the one or more data values of the corresponding array data field for the particular information object;
determining whether the particular information object is a partial match of the respective separate information object if each flattened array intersection comprises a non-holistic subset of the one or more data values of the corresponding array data field whose ration exceeds a required partial matching degree; and
initiating an automated action based at least in part on whether the particular information object is the exact match of the respective separate information object and whether the particular information object is the partial match of the respective separate information object.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the data structure for the particular information object comprises at least one of an array or a linked list.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein determining the particular information object is at least one of the exact match or the partial match of the one of the plurality of separate information objects further comprises determining data values stored in one or more additional data fields not found in the set of data fields for the particular information object match data values stored in one or more additional data fields not found in the set of data fields for the one of the plurality of separate information objects.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein upon determining the particular information object is the partial match of the one of the plurality of separate information objects, the automated action comprises having the particular information object identified as the partial match of the one of the plurality of separate information objects on an investigatory user interface.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the particular information object represents a particular insurance claim and the plurality of separate information objects represent a plurality of historical insurance claims, and upon determining the particular information object is the exact match of the one of the plurality of separate information objects, the automated action comprises having the particular insurance claim denied.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the particular information object represents a particular insurance claim and the plurality of separate information objects represent a plurality of historical insurance claims, and upon determining the particular information object is the exact match of the one of the plurality of separate information objects, the automated action comprises:
determining whether a claimant for the particular insurance claim has additional insurance coverage; and
adjusting the liability on the historical insurance claim represented by the one of the plurality of separate information objects based at least in part on the claimant having the additional insurance coverage.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein the particular information object represents a particular insurance claim and the plurality of separate information objects represent a plurality of historical insurance claims, and upon determining the particular information object is the exact match of the one of the plurality of separate information objects, the automated action comprises determining whether a medical procedure associated with the particular insurance claim is a type of medical procedure that can be reimbursed more than once a day.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the particular information object represents a particular insurance claim and the plurality of separate information objects represent a plurality of historical insurance claims, and the computer-implemented method further comprises allowing the particular insurance claim to be processed normally in response to the particular information object not being an exact match or a partial match with any one of the plurality of separate information objects.

### Claim 9

An apparatus for determining whether a particular information object is a duplicate of a separate information object found in a plurality of separate information objects in which the particular information object and each of the plurality of separate information objects comprises a plurality of data fields for storing a plurality of data values associated with a plurality of data types that allows an identical data value in the plurality of data values to be stored in different data fields of the plurality of data fields for the particular information object and the plurality of separate information objects, the apparatus comprising:
at least one processor; and
at least one memory including stored therein executable computer program code, the at least one memory and the executable computer program code configured to, with execution of the computer program code by the at least one processor,
cause the apparatus to:
for each respective separate information object of the plurality of separate information objects, combining, based at least in part on the data type associated with each data value of the plurality of data types, one or more data values stored in the plurality of data fields for the respective separate information object to generate a flattened array data structure for the respective separate information object comprising a plurality of array data fields, wherein each array data field: (i) is associated with a unique data type of the plurality of data types and (ii) stores a subset of the plurality of data values that is associated with the unique data type of the array data field;
combine, based at least in part on the data type associated with the each data value of the plurality of data types, one or more data values stored in the plurality of data fields for the particular information object to generate a flattened array data structure for the particular information object comprising a plurality of array data fields, where each array data field: (i) is associated with a unique data type of the plurality of data types and (ii) stores a subset of the plurality of data values that is associated with the unique data type of the array data field; and
for each respective separate information object:
performing an array intersection identification operation on the flattened array data structure for the particular information object and the flattened array data structure for the respective separate information object to generate, for each data type, a flattened array intersection comprising one or more data values in a corresponding array data field of the flattened array data structure for the particular information object that have identical matches in a corresponding array data field of the flattened array data structure for the respective separate information object;
determining whether the particular information object is an exact match of the respective separate information object if each flattened array intersection comprises all of the one or more data values of the corresponding array data field for the particular information object;
determining whether the particular information object is a partial match of the respective separate information object if each flattened array intersection comprises a non-holistic subset of the one or more data values of the corresponding array data field whose ration exceeds a required partial matching degree; and
initiating an automated action based at least in part on whether the particular information object is the exact match of the respective separate information object and whether the particular information object is the partial match of the respective separate information object.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the data structure for the particular information object comprises a one-dimensional array.

### Claim 11 (depends on 9)

The apparatus of claim 9, wherein the at least one memory and the computer program code are configured to, with the at least one processor, cause the apparatus to determine the particular information object is at least one of the exact match or the partial match of the one of the plurality of separate information objects by determining data values stored in one or more additional data fields not found in the set of data fields for the particular information object match data values stored in one or more additional data fields not found in the set of data fields for the one of the plurality of separate information objects.

### Claim 12 (depends on 9)

The apparatus of claim 9, wherein upon determining the particular information object is the partial match of the one of the plurality of separate information objects, the automated action comprises having the particular information object identified as the partial match of the one of the plurality of separate information objects on an investigatory user interface.

### Claim 13 (depends on 9)

The apparatus of claim 9, wherein the particular information object represents a particular insurance claim and the plurality of separate information objects represent a plurality of historical insurance claims, and upon determining the particular information object is the exact match of the one of the plurality of separate information objects, the automated action comprises having the particular insurance claim denied.

### Claim 14 (depends on 9)

The apparatus of claim 9, wherein the particular information object represents a particular insurance claim and the plurality of separate information objects represent a plurality of historical insurance claims, and upon determining the particular information object is the exact match of the one of the plurality of separate information objects, the automated action comprises:
determining whether a claimant for the particular insurance claim has additional insurance coverage; and
adjusting the liability on the historical insurance claim represented by the one of the plurality of separate information objects based at least in part on the claimant having the additional insurance coverage.

### Claim 15 (depends on 9)

The apparatus of claim 9, wherein the particular information object represents a particular insurance claim and the plurality of separate information objects represent a plurality of historical insurance claims, and upon determining the particular information object is the exact match of the one of the plurality of separate information objects, the automated action comprises determining whether a medical procedure associated with the particular insurance claim is a type of medical procedure that can be reimbursed more than once a day.

### Claim 16 (depends on 9)

The apparatus of claim 9, wherein the particular information object represents a particular insurance claim and the plurality of separate information objects represent a plurality of historical insurance claims, and the at least one memory and the computer program code are configured to, with the at least one processor, cause the apparatus to allow the particular insurance claim to be processed normally in response to the particular information object not being an exact match or a partial match with any one of the plurality of separate information objects.

### Claim 17

A non-transitory computer-readable storage medium comprising instructions for determining whether a particular information object is a duplicate of a separate information object found in a plurality of separate information objects in which the particular information object and each of the plurality of separate information objects comprises a plurality of data fields for storing a plurality of data values associated with a plurality of data types that allows an identical data value in the plurality of data values to be stored in different data fields of the plurality of data fields for the particular information object and the plurality of separate information objects, the instructions being configured to be executed by one or more processors to at least perform operations configured to:
for each respective separate information object of the plurality of separate information objects, combining, based at least in part on the data type associated with each data value of the plurality of data types, one or more data values stored in the plurality of data fields for the respective separate information object to generate a flattened array data structure for the respective separate information object comprising a plurality of array data fields, wherein each array data field; (i) is associated with a unique data type of the plurality of data types and (ii) stores a subset of the plurality of data values that is associated with the unique data type of the array data field;
combine, based at least in part on the data type associated with each value of the plurality of data types, one or more data values stored in the plurality of data fields for the particular information object to generate a flattened array data structure for the particular information object comprising a plurality of array data fields, wherein each array data field: (i) is associated with a unique data, type of the plurality of data types and (ii) stores a subset of the plurality of data values that is associated with the unique data type of the array data field; and
for each respective separate information object;
performing an array intersection identification operation on the flattened array data structure for the particular information object and the flattened array data structure for the respective separate information object to generate, for each data type, a flattened array intersection comprising one or more data values in a corresponding array data field of the flattened array data structure for the particular information object that have identical matches in a corresponding array data field of the flattened array data structure for the respective separate information object;
determining whether the particular information object is an exact match of the respective separate information object each flattened array intersection comprises all of the one or more data values of the corresponding array data field for the particular information object;
determining whether the particular information object is a partial match of the respective separate information object if each flattened array intersection comprises a non-holistic Subset of the one or more data values of the corresponding array data field whose ratio exceeds a required partial matching degree; and
initiating an automated action based at least in part on whether the particular information object is the exact match of the respective separate information object and whether the particular information object is the partial match of the respective separate information object.

### Claim 18 (depends on 17)

The non-transitory computer storage medium of claim 17, wherein the data structure for the particular information object comprises a one-dimensional array.

### Claim 19 (depends on 17)

The non-transitory computer storage medium of claim 17, wherein the instructions are configured to cause the one or more processors to at least perform operations configured to determine the particular information object is at least one of the exact match or the partial match of the one of the plurality of separate information objects by determining data values stored in one or more additional data fields not found in the set of data fields for the particular information object match data values stored in one or more additional data fields not found in the set of data fields for the one of the plurality of separate information objects.

### Claim 20 (depends on 17)

The non-transitory computer storage medium of claim 17, wherein upon determining the particular information object is the partial match of the one of the plurality of separate information objects, the automated action comprises having the particular information object identified as the partial match of the one of the plurality of separate information objects on an investigatory user interface.

### Claim 21 (depends on 17)

The non-transitory computer storage medium of claim 17, wherein the particular information object represents a particular insurance claim and the plurality of separate information objects represent a plurality of historical insurance claims, and upon determining the particular information object is the exact match of the one of the plurality of separate information objects, the automated action comprises having the particular insurance claim denied.

### Claim 22 (depends on 17)

The non-transitory computer storage medium of claim 17, wherein the particular information object represents a particular insurance claim and the plurality of separate information objects represent a plurality of historical insurance claims, and upon determining the particular information object is the exact match of the one of the plurality of separate information objects, the automated action comprises:
determining whether a claimant for the particular insurance claim has additional insurance coverage; and
adjusting the liability on the historical insurance claim represented by the one of the plurality of separate information objects based at least in part on the claimant having the additional insurance coverage.

### Claim 23 (depends on 17)

The non-transitory computer storage medium of claim 17, wherein the particular information object represents a particular insurance claim and the plurality of separate information objects represent a plurality of historical insurance claims, and upon determining the particular information object is the exact match of the one of the plurality of separate information objects, the automated action comprises determining whether a medical procedure associated with the particular insurance claim is a type of medical procedure that can be reimbursed more than once a day.

### Claim 24 (depends on 17)

The non-transitory computer storage medium of claim 17, wherein the particular information object represents a particular insurance claim and the plurality of separate information objects represent a plurality of historical insurance claims, and the instructions are configured to cause the one or more processors to at least perform operations configured to allow the particular insurance claim to be processed normally in response to the particular information object not being an exact match or a partial match with any one of the plurality of separate information objects.
