IP Library Granted Patent US 10,671,609
Granted Patent B2
US 10,671,609 · App. 15/355,656 · Granted Jun 2, 2020

Methods and apparatuses for facilitating compilation of measure data

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 10,671,609
App. No.
15/355,656
Granted
Jun 2, 2020
Kind
B2
Abstract

Embodiments are disclosed for facilitating the compilation of measure data. In the context of a method, an example embodiment includes generating, by configuration circuitry of an interpreter, at least one abstract syntax tree based on a CQL file containing measure logic and a CQL grammar file. This example embodiment of the method further includes converting, by the configuration circuitry, the at least one abstract syntax tree into at least one strongly-typed expression tree and storing the at least one strongly-typed expression tree in a memory. Finally, the example embodiment of the method may further include executing, by data evaluation circuitry of the interpreter, the at least one strongly-typed expression tree using retrieved user data. Corresponding apparatuses and computer program products are also provided.

Claims (86)

1. A method for facilitating a compilation of measure data, the method comprising:

receiving a Clinical Quality Language (CQL) file comprising measure logic configured as machine-readable expressions, and a CQL grammar file configured to parse the CQL file, wherein the CQL file and the CQL grammar file are published by Health Level Seven (HL7) and are configured to enable reporting relating to a particular process or outcome of care;

generating, by configuration circuitry of an interpreter, at least one abstract syntax tree based on the CQL file comprising the measure logic and the CQL grammar file;

converting, by the configuration circuitry, the at least one abstract syntax tree into at least one strongly-typed expression tree, wherein the at least one strongly-typed expression tree comprises nodes from the at least one abstract syntax tree, based on a set of predefined mapping rules that define a correspondence between abstract syntax tree nodes and strongly-typed expression tree nodes;

storing the at least one strongly-typed expression tree in a memory;

retrieving patient data associated with a plurality of patients from a healthcare database;

determining a state of each patient within the plurality of patients in a clinical measure associated with the measure logic of the CQL file by executing the at least one strongly-typed expression tree using the retrieved patient data, wherein the state of each patient comprises a position of the patient within an initial patient population, in a denominator but not in a numerator of the clinical measure, in both the denominator and numerator of the clinical measure, or outside both the denominator and numerator of the clinical measure, wherein the denominator of the clinical measure represents a subset of the patient population defining a group of patients that the clinical measure is designed to address, and the numerator of the clinical measure defines a subset of the group of patients for whom the particular process or outcome of care occurs;

generating a measure report comprising classification data regarding each patient based on the determination; and

transmitting the measure report to a remote administrator of healthcare services.

2. The method of claim 1 , further comprising, for a particular abstract syntax tree of the at least one abstract syntax tree:

pruning, by the configuration circuitry, non-pertinent information from each node of the particular abstract syntax tree, wherein non-pertinent information comprises information unrelated to node type or node value,

wherein of converting the particular abstract syntax tree into a corresponding strongly-typed expression tree is performed after pruning all non-pertinent information from each node of the particular abstract syntax tree.

3. The method of claim 1 , wherein converting a particular abstract syntax tree of the at least one abstract syntax tree into a corresponding strongly-typed expression tree further comprises:

evaluating, by the configuration circuitry, one or more nodes of the particular abstract syntax tree using the set of predefined mapping rules that define the correspondence between abstract syntax tree nodes and strongly-typed expression tree nodes.

4. The method of claim 1 , further comprising:

retrieving the at least one strongly-typed expression tree from the memory; and

causing transmission of the measure report to a third party.

5. The method of claim 4 , wherein executing a particular strongly-typed expression tree using the received patient data comprises:

initializing an evaluation operation on a top node of the particular strongly-typed expression tree using data for each particular patient identified by the patient data,

wherein the evaluation operation of a particular node of the particular strongly-typed expression tree initiates an evaluation on all lower level nodes underneath the particular node of the particular strongly-typed expression tree.

6. The method of claim 5 , wherein the evaluation operation of a particular node comprises:

evaluating if one or more lower-level nodes exist;

in an instance in which one or more lower-level nodes do not exist, returning a value associated with the particular node; and

in an instance in which at least one lower level node exists,

initializing an evaluation operation of each lower level node,

receiving returned values from the evaluation operations of each lower level node,

determining an operation represented by the particular node,

performing the operation using the returned values from the evaluation operation initialized on each lower level node, and

returning a value produced by performing the operation.

7. An apparatus for facilitating a compilation of measure data, the apparatus comprising at least one processor and at least one memory storing computer-executable instructions, that, when executed by the at least one processor, cause the apparatus to:

receive a Clinical Quality Language (CQL) file comprising measure logic configured as machine-readable expressions, and a CQL grammar file configured to parse the CQL file, wherein the CQL file and the CQL grammar file are published by Health Level Seven (HL7) and are configured to enable reporting relating to a particular process or outcome of care;

generate, by configuration circuitry of an interpreter, at least one abstract syntax tree based on the CQL file comprising the measure logic and the CQL grammar file;

convert the at least one abstract syntax tree into at least one strongly-typed expression tree, wherein the at least one strongly-typed expression tree comprises fewer nodes than the at least one abstract syntax tree;

store the at least one strongly-typed expression tree in a memory;

retrieve patient data associated with a plurality of patients from a healthcare database;

determine a state of each patient within the plurality of patients in a clinical measure associated with the measure logic of the CQL file by executing the at least one strongly-typed expression tree using the retrieved patient data, wherein the state of each patient comprises a position of the patient within an initial patient population, in a denominator but not in a numerator of the clinical measure, in both the denominator and numerator of the clinical measure, or outside both the denominator and numerator of the clinical measure, wherein the denominator of the clinical measure represents a subset of the patient population defining a group of patients that the clinical measure is designed to address, and the numerator of the clinical measure defines a subset of the group of patients for whom the particular process or outcome of care occurs;

generate a measure report comprising classification data regarding each patient based on the determination; and

transmit the measure report to a remote administrator of healthcare services.

8. The apparatus of claim 7 , wherein the computer-executable instructions, when executed by the at least one processor, further cause the apparatus to, for a particular abstract syntax tree of the at least one abstract syntax tree:

prune non-pertinent information from each node of the particular abstract syntax tree, wherein non-pertinent information includes information unrelated to node type or node value,

wherein the computer-executable instructions, when executed by the at least one processor, cause the apparatus to convert the particular abstract syntax tree into a corresponding strongly-typed expression tree after pruning all non-pertinent information from each node of the particular abstract syntax tree.

9. The apparatus of claim 7 , wherein the computer-executable instructions, when executed by the at least one processor, cause the apparatus to convert a particular abstract syntax tree of the at least one abstract syntax tree into a corresponding strongly-typed expression tree by causing the apparatus to:

evaluate one or more nodes of the particular abstract syntax tree using the set of predefined mapping rules that define the correspondence between abstract syntax tree nodes and strongly-typed expression tree nodes.

10. The apparatus of claim 9 , wherein the corresponding strongly-typed expression tree is structured as a prefix kind of tree.

11. The apparatus of claim 7 , wherein the computer-executable instructions, when executed by the at least one processor, further cause the apparatus to:

retrieve the at least one strongly-typed expression tree from the memory; and

cause transmission of the measure report to a third party.

12. The apparatus of claim 11 , wherein the computer-executable instructions, when executed by the at least one processor, cause the apparatus to execute the particular strongly-typed expression tree using the received patient data by causing the apparatus to:

initialize an evaluation operation on a top node of the particular strongly-typed expression tree using data for each particular patient identified by the patient data,

wherein the evaluation operation of any particular node of the particular strongly-typed expression tree initiates an evaluation on all lower level nodes underneath the particular node of the particular strongly-typed expression tree.

13. The apparatus of claim 12 , wherein the evaluation operation of a particular node comprises:

evaluating if one or more lower-level nodes exist;

in an instance in which one or more lower-level nodes do not exist, returning a value associated with the particular node; and

in an instance in which at least one lower level node exists,

initializing evaluation operations of each lower level node,

receiving returned values from the evaluation operations of each lower level node,

determining an operation represented by the particular node,

performing the operation using the returned values from the evaluation operation initialized on each lower level node, and

returning a value produced by performing the operation.

14. A computer program product comprising at least one non-transitory computer-readable storage medium for facilitating a compilation of measure data, the at least one non-transitory computer-readable storage medium storing computer-executable instructions that, when executed, cause an apparatus to:

receive a Clinical Quality Language (CQL) file comprising measure logic configured as machine-readable expressions, and a CQL grammar file configured to parse the CQL file, wherein the CQL file and the CQL grammar file are published by Health Level Seven (HL7) and are configured to enable reporting relating to a particular process or outcome of care;

generate, by configuration circuitry of an interpreter, at least one abstract syntax tree based on the CQL file comprising the measure logic and the CQL grammar file;

convert the at least one abstract syntax tree into at least one strongly-typed expression tree, wherein the at least one strongly-typed expression tree comprises nodes from the at least one abstract syntax tree, based on a set of predefined mapping rules that define a correspondence between abstract syntax tree nodes and strongly-typed expression tree nodes;

store the at least one strongly-typed expression tree in a memory;

retrieve patient data associated with a plurality of patients from a healthcare database;

determine a state of each patient within the plurality of patients in a clinical measure associated with the measure logic of the CQL file by executing the at least one strongly-typed expression tree using the retrieved patient data, wherein the state of each patient comprises a position of the patient within an initial patient population, in a denominator but not in a numerator of the clinical measure, in both the denominator and numerator of the clinical measure, or outside both the denominator and numerator of the clinical measure, wherein the denominator of the clinical measure represents a subset of the patient population defining a group of patients that the clinical measure is designed to address, and the numerator of the clinical measure defines a subset of the group of patients for whom the particular process or outcome of care occurs;

generate a measure report comprising classification data regarding each patient based on the determination; and

transmit the measure report to a remote administrator of healthcare services.

15. The computer program product of claim 14 , wherein the computer-executable instructions, when executed, cause the apparatus to convert a particular abstract syntax tree of the at least one abstract syntax tree into a corresponding strongly-typed expression tree by causing the apparatus to:

evaluate one or more nodes of the particular abstract syntax tree using a set of predefined mapping rules that define a correspondence between abstract syntax tree nodes and strongly-typed expression tree nodes.

16. The computer program product of claim 15 , wherein the corresponding strongly-typed expression tree is structured as a prefix kind of tree.

17. The computer program product of claim 14 , wherein the computer-executable instructions, when executed, further cause the apparatus to:

retrieve the at least one strongly-typed expression tree from the memory; and

cause transmission of the measure report to a third party.

18. The computer program product of claim 17 , wherein the computer-executable instructions, when executed, cause the apparatus to execute the particular strongly-typed expression tree using the received patient data by causing the apparatus to:

initialize an evaluation operation on a top node of the particular strongly-typed expression tree using data for each particular patient identified by the patient data,

wherein the evaluation operation of any particular node of the particular strongly-typed expression tree initiates an evaluation on all lower level nodes underneath the particular node of the particular strongly-typed expression tree.

19. The computer program product of claim 18 , wherein the evaluation operation of a particular node comprises:

evaluating if one or more lower-level nodes exist;

in an instance in which one or more lower-level nodes do not exist, returning a value associated with the particular node; and

in an instance in which at least one lower level node do exists,

initializing evaluation operations of each lower level node,

receiving returned values from the evaluation operations of each lower level node,

determining an operation represented by the particular node,

performing the operation using the returned values from the evaluation operation initialized on each lower level node, and

returning a value produced by performing the operation.

Assignments (19)
MERGER Recorded May 28, 2025
From: SYNTELLIS PERFORMANCE SOLUTIONS, LLC
To: STRATA DECISION TECHNOLOGY, LLC
Reel/Frame 071231/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 053388/0001) Recorded Aug 14, 2023
From: PNC BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: SYNTELLIS PERFORMANCE SOLUTIONS, LLC
Reel/Frame 064584/0678 →
RELEASE OF SECURITY INTEREST Recorded Oct 5, 2022
From: BANK OF AMERICA, N.A.
To: CHANGE HEALTHCARE RESOURCES, LLC (FORMERLY KNOWN AS ALTEGRA HEALTH OPERATING COMPANY LLC); CHANGE HEALTHCARE SOLUTIONS, LLC; CHANGE HEALTHCARE PERFORMANCE, INC. (FORMERLY KNOWN AS CHANGE HEALTHCARE, INC.); CHANGE HEALTHCARE OPERATIONS, LLC; CHANGE HEALTHCARE HOLDINGS, INC.; CHANGE HEALTHCARE TECHNOLOGIES, LLC (FORMERLY KNOWN AS MCKESSON TECHNOLOGIES LLC); CHANGE HEALTHCARE HOLDINGS, LLC
Reel/Frame 061620/0054 →
SECURITY INTEREST Recorded Aug 3, 2020
From: SYNTELLIS PERFORMANCE SOLUTIONS, LLC
To: PNC BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 053388/0001 →
RELEASE OF THE SECURITY INTEREST RECORDED AT REEL/FRAME 053009/0211 Recorded Aug 3, 2020
From: ARES CAPITAL CORPORATION
To: SYNTELLIS PERFORMANCE SOLUTIONS, LLC
Reel/Frame 053382/0588 →
CHANGE OF NAME Recorded Jul 17, 2020
From: CONNECTED ANALYTICS OPERATIONS, LLC
To: SYNTELLIS PERFORMANCE SOLUTIONS, LLC
Reel/Frame 053238/0575 →
SECURITY INTEREST Recorded Jun 23, 2020
From: SYNTELLIS PERFORMANCE SOLUTIONS, LLC
To: ARES CAPITAL CORPORATION
Reel/Frame 053009/0211 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2020
From: CHANGE HEALTHCARE HOLDINGS, LLC
To: CONNECTED ANALYTICS OPERATIONS, LLC
Reel/Frame 052550/0968 →
RELEASE OF SECURITY INTEREST Recorded May 1, 2020
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: CHANGE HEALTHCARE HOLDINGS, LLC
Reel/Frame 052551/0376 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2018
From: CHANGE HEALTHCARE LLC
To: CHANGE HEALTHCARE HOLDINGS, LLC
Reel/Frame 046449/0899 →
CHANGE OF ADDRESS Recorded Mar 23, 2017
From: CHANGE HEALTHCARE LLC
To: CHANGE HEALTHCARE LLC
Reel/Frame 042082/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2017
From: PF2 IP LLC
To: CHANGE HEALTHCARE LLC
Reel/Frame 041966/0356 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2017
From: MCKESSON CORPORATION
To: PF2 IP LLC
Reel/Frame 041938/0501 →
SECURITY AGREEMENT Recorded Mar 2, 2017
From: CHANGE HEALTHCARE HOLDINGS, LLC; CHANGE HEALTHCARE, INC.; CHANGE HEALTHCARE HOLDINGS, INC.; CHANGE HEALTHCARE OPERATIONS, LLC; CHANGE HEALTHCARE SOLUTIONS, LLC; ALTEGRA HEALTH OPERATING COMPANY LLC; MCKESSON TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 041858/0482 →
CORRECTIVE ASSIGNMENT TO CORRECT THE STREET ADDRESS FOR ASSIGNEE PREVIOUSLY RECORDED ON REEL 040961 FRAME 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 17, 2017
From: MCKESSON CORPORATION
To: MCKESSON FINANCIAL HOLDINGS UC
Reel/Frame 041791/0392 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2017
From: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
To: MCKESSON CORPORATION
Reel/Frame 041355/0408 →
CHANGE OF NAME Recorded Jan 11, 2017
From: MCKESSON FINANCIAL HOLDINGS
To: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
Reel/Frame 041329/0879 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2016
From: MCKESSON CORPORATION
To: MCKESSON FINANCIAL HOLDINGS UC
Reel/Frame 040961/0624 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2016
From: GIRIJAVALLABHAN, SARATH
To: MCKESSON CORPORATION
Reel/Frame 040369/0558 →