Uploaded image for project: 'eCQM Issue Tracker'
  1. eCQM Issue Tracker
  2. CQM-4619

CMS108v10 - Global.EarliestOf(pointInTime DateTime, period Interval<DateTime>)

XMLWordPrintable

    • Icon: None None
    • Resolution: Answered
    • Icon: Blocker Blocker
    • None
    • None
    • Hide
      ​Thank you for the question about eCQM 108v10/VTE-1 “Venous Thromboembolism Prophylaxis.” With the introduction of "relevantDatetime" elements to several data types in the QDM 5.5 release, measure authors and measure implementers have a choice of representation for the "relevant" timing of these data types. The 'Normalize Interval' function is now used in all measures containing data types that have both a relevantDatetime and relevantPeriod. The Normalize Interval function is meant to account for differences in EHR vendors' capture of timings of measure criteria, and to decrease implementation burden due to variable use of timing attributes for the same QDM datatypes used across measures. Knowing the rationale of using the ‘Normalize Interval’ function should make it easier to understand how the function is structured.

      Question #1: As suggested in the rationale above, the ‘Normalize Interval’ function can use either Relevant dateTime or Relevant Period depending on data submission. You are correct that if relevant Datetime is available in the patient data, this point of time will be populated in the Interval[RelevantdateTime, RelevantdateTime] for the time comparison during measure process, even though it is a single point in time. The measure then assessed whether this point in time meets the measure criteria, e.g. “ends on day after start of qualifying encounter.”

      Question #2: No, the function Global.Earliest() does NOT intend to look for Minimum Start date. More precisely, Global.Earliest() returns the starting point if the interval has a starting boundary specified. Otherwise, it returns the ending point of period.

      · when relevantDatetime is available, the function returns Interval [relevantDatetime, relevantDatetime]

      · when relevantPeriod is provided, it returns Interval [start of relevantPeriod, start of relevantPeriod]

      · when start of revelvantPeriod is not available, it returns Interval[end of relevantPeriod, end of relevantPeriod].

      Question #3: The function Global.HasStart() is to make sure the start of the interval is not null and is not the minimum DateTime value so that a valid Interval<DateTime> can be used in EarliestOf(Interval<DateTime>) function​
      Show
      ​Thank you for the question about eCQM 108v10/VTE-1 “Venous Thromboembolism Prophylaxis.” With the introduction of "relevantDatetime" elements to several data types in the QDM 5.5 release, measure authors and measure implementers have a choice of representation for the "relevant" timing of these data types. The 'Normalize Interval' function is now used in all measures containing data types that have both a relevantDatetime and relevantPeriod. The Normalize Interval function is meant to account for differences in EHR vendors' capture of timings of measure criteria, and to decrease implementation burden due to variable use of timing attributes for the same QDM datatypes used across measures. Knowing the rationale of using the ‘Normalize Interval’ function should make it easier to understand how the function is structured. Question #1: As suggested in the rationale above, the ‘Normalize Interval’ function can use either Relevant dateTime or Relevant Period depending on data submission. You are correct that if relevant Datetime is available in the patient data, this point of time will be populated in the Interval[RelevantdateTime, RelevantdateTime] for the time comparison during measure process, even though it is a single point in time. The measure then assessed whether this point in time meets the measure criteria, e.g. “ends on day after start of qualifying encounter.” Question #2: No, the function Global.Earliest() does NOT intend to look for Minimum Start date. More precisely, Global.Earliest() returns the starting point if the interval has a starting boundary specified. Otherwise, it returns the ending point of period. · when relevantDatetime is available, the function returns Interval [relevantDatetime, relevantDatetime] · when relevantPeriod is provided, it returns Interval [start of relevantPeriod, start of relevantPeriod] · when start of revelvantPeriod is not available, it returns Interval[end of relevantPeriod, end of relevantPeriod]. Question #3: The function Global.HasStart() is to make sure the start of the interval is not null and is not the minimum DateTime value so that a valid Interval<DateTime> can be used in EarliestOf(Interval<DateTime>) function​
    • EH
    • Venous Thromboembolism Prophylaxis

      Hi Team,

      Consider statements below from CMS108v10:

      One of the Numerator criteria states:

      Low Risk Indicator For VTE
      /The variable "LowRiskDatetime" is to hold VTE Risk Assessment relevant dateTime, INR Laboratory Test result dateTime, and Anticoagulant Medication administration start dateTime./
      ( ["Assessment, Performed": "Risk for venous thromboembolism"] VTERiskAssessment where VTERiskAssessment.result in "Low Risk" return

      { id: VTERiskAssessment.id, LowRiskDatetime: Global."EarliestOf" ( VTERiskAssessment.relevantDatetime, VTERiskAssessment.relevantPeriod ) }

      )

      Functions:
      Global.EarliestOf(pointInTime DateTime, period Interval<DateTime>)
      Earliest(NormalizeInterval(pointInTime, period))

      Global.Earliest(period Interval<DateTime>)
      if ( HasStart(period)) then start of period
      else
      end of period
      Global.HasStart(period Interval<DateTime>)
      not ( start of period is null
      or start of period = minimum DateTime
      )

      Queries:

      As per QDMv5,
      a. Relevant dateTime references timing for an assessment that occurs at a single point in time.
      b. Relevant period is the default, or general, method to describe a start to stop time that occurs over a time interval
      *
      Question #1:*
      As per definition Relevant dateTime represents single point in time.
      So we need to understand then, how are we supposed to define "(pointInTime DateTime, period Interval<DateTime>)" because for an Interval, we need two points in time?

      Question #2:
      The functionality states Global. Earliest ,so should we consider Minimum Start date or if Start date is NULL should we consider Minimum End date?

      Question #3:
      Global.HasStart(period Interval<DateTime>)
      not ( start of period is null
      or start of period = minimum DateTime
      )
      Kindly provide more clarity on the above functionality. should the start of period be considered Not Null and what does start of period = minimum DateTime mean?

            JLeflore Mathematica EH eCQM Team
            aditiw Aditi Waje (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved:
              Solution Posted On: