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.
The measure will first look for a relevantDatetime and convert that to relevantPeriod with the relevantDatetime as both the start and end times. Otherwise, the measure will use relevantPeriod. If only end date is available, the relevantPeriod will be [null, end datetime].
Another way to express the Global.NormalizeInterval() logic is shown below:
if 'pointInTime' DateTime exists then return the single 'pointInTime' copied to both start and end of Interval(P,P)
else if 'period' exists then return 'period' as interval(Lo,Hi)
else null expressed as Interval<DateTime>
Global.NormalizeInterval processes relevant dateTime and/or relevantPeriod consistently, depending upon which are present. It may be helpful to read QDM 5.6 (
https://ecqi.healthit.gov/sites/default/files/QDM-v5.6-508.pdf) Section ‘3: Timing Considerations for QDM Data Elements’ starting on page 19.