[QDM-9] Introduce general set operations Created: 02/03/14  Updated: 12/22/20  Resolved: 07/28/14

Status: Resolved
Project: QDM Issue Tracker
Component/s: Operator Logic
Fix Version/s: QDM v4.1

Type: New Feature Priority: Minor
Reporter: Gavin Black (Inactive) Assignee: Chris Moesel (Inactive)
Resolution: Delivered Votes: 0
Labels: MITRE_ANALYSIS, examples

Attachments: PDF File QDM-9_Summary.pdf    

 Description   

Recommended Update: Add general set operators to more accurately and consistently organize logic.

The “union” set operator provides clarity in the specification of clinical quality measures. Currently, measures can incorporate subset operators like “first” or “most recent” with logical conditions underneath them. The logical conditions below a subset operator can be either an AND or an OR. However, there is no distinction between the use of ANDs or ORs below a subset operator. For instance, there is no difference between the first and second logical block below:
First logical block:

AND: COUNT > 3
    OR: Encounter X
    OR: Encounter Y

Second logical block:

AND: COUNT > 3
    AND: Encounter X
    AND: Encounter Y

Furthermore, the use of the logical constructs in this case is not appropriate to the definition. Logical operators like OR, should produce a Boolean value. However, subset operators are intended to operate against a set of elements. Therefore, it is more consistent to use set operators like union and intersection below a subset operator. That would produce the following logic:

AND: COUNT > 3
    UNION: 
        Encounter X
        Encounter Y


 Comments   
Comment by Chris Moesel (Inactive) [ 04/30/14 ]

Accepted by the QDM User Group on March 19, 2014.

Comment by Gavin Black (Inactive) [ 02/24/14 ]

Example for Variable Assignments and Set Operators using CMS90 (NQF TBD)

For a description of “variable assignments” and “set operators,” see QDM-8 and QDM-9

In the following example we take a section of logic from the Initial Patient Population of CMS90 (Functional Status Assessment for Complex Chronic Conditions) and restructure the logic using “variable assignments” and “set operators.” Use of these recommended updates addresses an inadvertent error in the logic and clarifies the logic for selecting the most recent event, an office visit.

Before:

AND: FIRST:
    OR: "Occurrence A of Encounter, Performed: Office Visit" <= 185 day(s) ends after start of "Measurement Period"
    OR: "Occurrence A of Encounter, Performed: Face-to-Face Interaction" <= 185 day(s) ends after start of "Measurement Period"
AND NOT: "Occurrence A of Diagnosis, Active: Heart Failure" ends before start of "Measurement Period"
AND: "Patient Characteristic Birthdate: birth date" >= 65 year(s) starts before start of "Measurement Period"
AND: "Occurrence A of Diagnosis, Active: Heart Failure" starts before or during "Measurement Period"
AND:
    OR:
        AND: MOST RECENT:"Occurrence B of Encounter, Performed: Office Visit" >= 30 day(s) starts after end of "Occurrence A of Encounter, Performed: Office Visit"
        AND: MOST RECENT:"Occurrence B of Encounter, Performed: Office Visit" <= 180 day(s) starts after end of "Occurrence A of Encounter, Performed: Office Visit"
    OR:
        AND: MOST RECENT:"Occurrence B of Encounter, Performed: Face-to-Face Interaction" >= 30 day(s) starts after end of "Occurrence A of Encounter, Performed: Office Visit"
        AND: MOST RECENT:"Occurrence B of Encounter, Performed: Face-to-Face Interaction" <= 180 day(s) starts after end of "Occurrence A of Encounter, Performed: Office Visit"
    OR:
        AND: MOST RECENT:"Occurrence B of Encounter, Performed: Office Visit" >= 30 day(s) starts after end of "Occurrence A of Encounter, Performed: Face-to-Face Interaction"
        AND: MOST RECENT:"Occurrence B of Encounter, Performed: Office Visit" <= 180 day(s) starts after end of "Occurrence A of Encounter, Performed: Face-to-Face Interaction"
     OR:
         AND: MOST RECENT:"Occurrence B of Encounter, Performed: Face-to-Face Interaction" >= 30 day(s) starts after end of "Occurrence A of Encounter, Performed: Face-to-Face Interaction"
         AND: MOST RECENT:"Occurrence B of Encounter, Performed: Face-to-Face Interaction" <= 180 day(s) starts after end of "Occurrence A of Encounter, Performed: Face-to-Face Interaction"

After:

$TargetEncouters = UNION:
    "Occurrence A of Encounter, Performed: Office Visit"
    "Occurrence A of Encounter, Performed: Face-to-Face Interaction"
AND: FIRST: Occurrence A of $TargetEncounters <= 185 day(s) ends after start of “Measurement Period”
AND NOT: "Occurrence A of Diagnosis, Active: Heart Failure" ends before start of "Measurement Period"
AND: "Patient Characteristic Birthdate: birth date" >= 65 year(s) starts before start of "Measurement Period"
AND: "Occurrence A of Diagnosis, Active: Heart Failure" starts before or during "Measurement Period"
AND: MOST RECENT: "Occurrence B of $TargetEncounters" >= 30 Day(s) starts after end of "Occurrence B of $TargetEncounters"
Generated at Sat Mar 15 17:35:56 EDT 2025 using Jira 9.12.16#9120016-sha1:6bee0863f3e6dbb91e4be2d992a3b6761c21c9e0.