IP Library › Granted Patent US 11,636,097
Granted Patent B2
US 11,636,097 · App. 17/455,261 · Granted Apr 25, 2023

Managing data objects for graph-based data structures

Inventors: Ralph A. Korpman (Nashville, TN); Rudy R. Hilado (Leesburg, VA); W. Randal Clegg (Yucalpa, CA); Cindy A. Post (Colton, CA)
Assignee: UnitedHealth Group Incorporated
G06F16/2379G06F9/54G06F9/541G06F16/23G06F16/2358G06F16/244G06F16/245G06F16/288G06F16/367G06F16/81G06F16/9024G06F16/9027G06F16/90335G06F16/9577G06F16/986G06F21/31G06F40/205G06F40/295G06F40/30
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,636,097
App. No.
17/455,261
Granted
Apr 25, 2023
Kind
B2
Abstract

Various embodiments provide methods, systems, apparatus, computer program products, and/or the like for managing, ingesting, monitoring, updating, and/or extracting/retrieving information/data associated with an electronic record (ER) stored in an ER data store and/or accessing information/data from the ER data store, wherein the ERs are generated, updated/modified, and/or accessed via a graph-based domain ontology.

Claims (68)

1. A method for executing an XML rule document via a rules engine, the method comprising:

automatically identifying, by one or more processors, an XML, rule document comprising a rule to be applied to data stored in a plurality of database objects, wherein the XML rule document (a) is identified based at least in part on a rule identifier, (b) defines one or more of (1) selection criteria for the rule or (2) condition criteria for the rule, (c) identifies an action to be performed, and (d) identifies an observable packet data object based at least in part on an observable packet data object identifier;

responsive to receiving the data stored in the plurality of database objects, programmatically evaluating, by the one or more processors, the data of each of the plurality of database objects using one or more of (a) the selection criteria for the rule or (b) the condition criteria for the rule;

responsive to data of a first database object of the plurality of database objects satisfying one or more of (a) the selection criteria for the rule or (b) the condition criteria for the rule:

identifying, by the one or more processors, the observable packet data object for the rule based at least in part on the observable packet data object identifier,

automatically populating, by the one or more processors, one or more fields in the observable packet data object with data from an electronic record corresponding to the first database object,

providing, by the one or more processors, the populated observable packet data object for ingestion processing, wherein the populated observable packet data object comprises the action to be performed for the electronic record corresponding to the first database object, and

generating, by the one or more processors, a data artifact packet based at least in part on the populated observable packet data object.

2. The method of claim 1 further comprising:

automatically generating, by the one or more processors, a container tree data structure comprising a data artifact packet container node as a root node based at least in part on the data artifact packet data object, wherein the container tree data structure comprises a plurality of container nodes that are descendants of the root node based at least in part on the data artifact packet data object;

automatically traversing, by the one or more processors, the container tree data structure in a depth-first traversal to generate a data transfer object for each container node; and

automatically providing, by the one or more processors, at least one of a plurality of data transfer objects for use in performing a database update function.

3. The method of claim 1 , wherein the rules engine optimizes execution by (a) collapsing logical operators and (b) reordering logical operators.

4. The method of claim 1 , wherein a rules engine scheduler automatically executes the XML rule document at specific frequencies or in response to certain other criteria.

5. The method of claim 4 , wherein the certain other criteria comprises a write function or an update function being performed to at least one of the plurality of database objects by a data store management layer.

6. The method of claim 1 , wherein at least one of the one or more fields is populated with an entity identifier associated with the electronic record.

7. The method of claim 1 , wherein each identifier is a universally unique identifier or a globally unique identifier.

8. The method of claim 1 , wherein (a) the XML, rule document further (1) identifies a second action to be performed when the one or more condition criteria are not satisfied and (2) identifies a second observable packet data object based at least in part on a second XML observable packet data object identifier, and (b) the method further comprises:

responsive to the one or more condition criteria of the rule not being satisfied by the data: identifying the second observable packet data object for the rule based at least in part on the second observable packet data object identifier,

automatically populating one or more fields in the second observable packet data object with data from the electronic record,

providing the second populated observable packet data object to the ingestion processing module, and

generating a second data artifact packet based at least in part on the second populated observable packet data object.

9. A system comprising one or more processors, one or more memory storage areas comprising program code, the one or more memory storage areas and the program code configured to, with the one or more processors, cause the system to at least:

automatically identify an XML rule document comprising a rule to be applied to data stored in a plurality of database objects, wherein the XML rule document (a) is identified based at least in part on a rule identifier, (b) defines one or more of (1) selection criteria for the rule or (2) condition criteria for the rule, (c) identifies an action to be performed, and (d) identifies an observable packet data object based at least in part on an observable packet data object identifier;

responsive to receiving the data stored in the plurality of database objects, programmatically evaluate the data of each of the plurality of database objects using one or more of (a) the selection criteria for the rule or (b) the condition criteria for the rule;

responsive to data of a first database object of the plurality of database objects satisfying one or more of (a) the selection criteria for the rule or (b) the condition criteria for the rule:

identify the observable packet data object for the rule based at least in part on the observable packet data object identifier,

automatically populate one or more fields in the observable packet data object with data from an electronic record corresponding to the first database object,

provide the populated observable packet data object for ingestion processing, wherein the populated observable packet data object comprises the action to be performed for the electronic record corresponding to the first database object, and

generate a data artifact packet based at least in part on the populated observable packet data object.

10. The system of claim 9 , wherein the one or more memory storage areas and the program code configured to, with the one or more processors, further cause the system to:

automatically generate a container tree data structure comprising a data artifact packet container node as a root node based at least in part on the data artifact packet data object, wherein the container tree data structure comprises a plurality of container nodes that are descendants of the root node based at least in part on the data artifact packet data object;

automatically traverse the container tree data structure in a depth-first traversal to generate a data transfer object for each container node; and

automatically provide at least one of a plurality of data transfer objects for use in performing a database update function.

11. The system of claim 9 , wherein the rules engine optimizes execution by (a) collapsing logical operators and (b) reordering logical operators.

12. The system of claim 11 , wherein a rules engine scheduler automatically executes the XML rule document at specific frequencies or in response to certain other criteria.

13. The system of claim 9 , wherein the certain other criteria comprises a write function or an update function being performed to at least one of the plurality of database objects by a data store management layer.

14. The system of claim 9 , wherein at least one of the one or more fields is populated with an entity identifier associated with the electronic record.

15. The system of claim 9 , wherein each identifier is a universally unique identifier or a globally unique identifier.

16. The system of claim 9 , wherein (a) the XML rule document further (1) identifies a second action to be performed when the one or more condition criteria are not satisfied and (2) identifies a second observable packet data object based at least in part on a second XML, observable packet data object identifier, and (b) the one or more memory storage areas and the program code configured to, with the one or more processors, further cause the system to:

responsive to the one or more condition criteria of the rule not being satisfied by the data:

identify the second observable packet data object for the rule based at least in part on the second observable packet data object identifier,

automatically populate one or more fields in the second observable packet data object with data from the electronic record,

provide the second populated observable packet data object to the ingestion processing module, and

generate a second data artifact packet based at least in part on the second populated observable packet data object.

17. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-readable program code stored therein, the computer-readable program code is, when executed by one or more processors, configured to at least:

automatically identify an XML rule document comprising a rule to be applied to data stored in a plurality of database objects, wherein the XML rule document (a) is identified based at least in part on a rule identifier, (b) defines one or more of (1) selection criteria for the rule or (2) condition criteria for the rule, (c) identifies an action to be performed, and (d) identifies an observable packet data object based at least in part on an observable packet data object identifier;

responsive to receiving the data stored in the plurality of database objects, programmatically evaluate the data of each of the plurality of database objects using one or more of (a) the selection criteria for the rule or (b) the condition criteria for the rule;

responsive to data of a first database object of the plurality of database objects satisfying one or more of (a) the selection criteria for the rule or (b) the condition criteria for the rule:

identify the observable packet data object for the rule based at least in part on the observable packet data object identifier,

automatically populate one or more fields in the observable packet data object with data from an electronic record corresponding to the first database object,

provide the populated observable packet data object for ingestion processing, wherein the populated observable packet data object comprises the action to be performed for the electronic record corresponding to the first database object, and

generate a data artifact packet based at least in part on the populated observable packet data object.

18. The computer program product of claim 17 , wherein the computer-readable program code is further configured to:

automatically generate a container tree data structure comprising a data artifact packet container node as a root node based at least in part on the data artifact packet data object, wherein the container tree data structure comprises a plurality of container nodes that are descendants of the root node based at least in part on the data artifact packet data object;

automatically traverse the container tree data structure in a depth-first traversal to generate a data transfer object for each container node; and

automatically provide at least one of a plurality of data transfer objects for use in performing a database update function.

19. The computer program product of claim 17 , wherein the rules engine optimizes execution by (a) collapsing logical operators and (b) reordering logical operators.

20. The computer program product of claim 17 , wherein a rules engine scheduler automatically executes the XML rule document at specific frequencies or in response to certain other criteria.

21. The computer program product of claim 17 , wherein the certain other criteria comprises a write function or an update function being performed to at least one of the plurality of database objects by a data store management layer.

22. The computer program product of claim 17 , wherein at least one of the one or more fields is populated with an entity identifier associated with the electronic record.

23. The computer program product of claim 17 , wherein each identifier is a universally unique identifier or a globally unique identifier.

24. The computer program product of claim 17 , wherein (a) the XML rule document further (1) identifies a second action to be performed when the one or more condition criteria are not satisfied and (2) identifies a second observable packet data object based at least in part on a second XML observable packet data object identifier, and (b) the computer-readable program code is further configured to:

responsive to the one or more condition criteria of the rule not being satisfied by the data:

identify the second observable packet data object for the rule based at least in part on the second observable packet data object identifier,

automatically populate one or more fields in the second observable packet data object with data from the electronic record,

provide the second populated observable packet data object to the ingestion processing module, and

generate a second data artifact packet based at least in part on the second populated observable packet data object.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2021
From: KORPMAN, RALPH A.; HILADO, RUDY R.; CLEGG, W. RANDAL; POST, CINDY A.
To: UNITEDHEALTH GROUP INCORPORATED
Reel/Frame 058137/0553 →
Continuity (13)
Continuation 16830615 · Mar 26, 2020
Provisional Application 62874638 · Jul 16, 2019
Provisional Application 62873217 · Jul 12, 2019
Provisional Application 62860031 · Jun 11, 2019
Provisional Application 62860050 · Jun 11, 2019
Provisional Application 62860047 · Jun 11, 2019
Provisional Application 62845109 · May 8, 2019
Provisional Application 62845089 · May 8, 2019
Provisional Application 62845084 · May 8, 2019
Provisional Application 62845085 · May 8, 2019
Provisional Application 62828526 · Apr 3, 2019
Provisional Application 62828517 · Apr 3, 2019
Related Publication 20220075772A1 · Mar 10, 2022