Metadata
Title | Coronary Artery Disease (CAD): Beta-Blocker Therapy-Prior Myocardial Infarction (MI) or Left Ventricular Systolic Dysfunction (LVEF less than or equal to 40%)FHIR
Version | 1.0.000
Short Name | CMS145FHIR
GUID (Version Independent) | urn:uuid:466e5d36-1e01-478b-9dcb-edac33594dd5
GUID (Version Specific) | urn:uuid:1d9adbb1-6f66-47d1-b97e-9e7593117c18
CMS Identifier | 145FHIR
CMS Consensus Based Entity Identifier | 0070e
Effective Period | 2026-01-01 through 2026-12-31
Steward (Publisher) | American Heart Association
Developer | American Heart Association
Developer | American Medical Association (AMA)
Description | Percentage of patients aged 18 years and older with a diagnosis of coronary artery disease seen within a 12-month period who also have a prior MI or a current or prior left ventricular ejection fraction (LVEF) <=40% who were prescribed beta-blocker therapy
Copyright | Copyright 2025 American College of Cardiology and American Heart Association. All Rights Reserved.
Disclaimer | The Measure is not a clinical guideline, does not establish a standard of medical care, and has not been tested for all potential applications. The Measure, while copyrighted, can be reproduced and distributed, without modification, for noncommercial purposes, e.g., use by health care providers in connection with their practices. Commercial use is defined as the sale, license, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. Commercial uses of the Measure require a license agreement between the user and the American College of Cardiology (ACC) or the American Heart Association (AHA). Neither the ACC, nor AHA, nor their members shall be responsible for any use of the Measure. ACC and AHA encourage use of the Measure by other health care professionals, where appropriate. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. Limited proprietary coding is contained in the Measure specifications for convenience. Users of the proprietary code sets should obtain all necessary licenses from the owners of these code sets. The ACC and AHA and their members disclaim all liability for use or accuracy of any Current Procedural Terminology (CPT[R]) or other coding contained in the specifications. CPT(R) contained in the Measure specifications is copyright 2004-2024 American Medical Association. LOINC(R) is copyright 2004-2024 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2024 International Health Terminology Standards Development Organisation. ICD-10 is copyright 2024 World Health Organization. All Rights Reserved. The American Medical Association’s and the PCPI(R) Foundation’s significant past efforts and contributions to the performance measure are gratefully acknowledged. Due to technical limitations, registered trademarks are indicated by (R) or [R].
Rationale | For patients with coronary artery disease (CAD), beta-blockers are recommended for 3 years after myocardial infarction or acute coronary syndrome. Beta-blockers, particularly carvedilol, metoprolol succinate, or bisoprolol which have been shown to reduce risk of death, are recommended indefinitely for patients with CAD and LV systolic dysfunction. These agents have proven efficacy in reducing angina onset and improving the ischemic threshold during exercise. In patients who have suffered an MI, beta-blockers significantly reduce deaths and recurrent MIs (Fihn et al., 2012). Nonadherence to cardioprotective medications is prevalent among outpatients with CAD and can be associated with a broad range of adverse outcomes, including all-cause and cardiovascular mortality, cardiovascular hospitalizations, and the need for revascularization procedures (Gibbons et al., 2002). This measure is intended to promote beta-blocker usage in select patients with CAD.
Clinical Recommendation Statement | Beta-blocker therapy should be started and continued for 3 years in all patients with normal LV function after MI or acute coronary syndrome (ACS) (Class I, Level of Evidence: B) (Fihn et al., 2012). Beta-blocker therapy should be used in all patients with LV systolic dysfunction (EF <= 40%) with heart failure or prior MI, unless contraindicated. (Use should be limited to carvedilol, metoprolol succinate, or bisoprolol, which have been shown to reduce risk of death.) (Class I, Level of Evidence: A) (Fihn et al., 2012). In patients with chronic coronary disease (CCD) and LVEF ≤40% with or without previous MI, the use of beta-blocker therapy is recommended to reduce the risk of future Major Adverse Cardiac Events (MACE), including cardiovascular death. (Class 1, Level of Evidence: A) (Virani et al., 2023)
Citation | Fihn, S. D., Gardin, J. M., Abrams, J., Berra, K., Blankenship, J. C., Dallas, A. P., … Williams, S. V. (2012). 2012 ACCF/AHA/ACP/AATS/PCNA/SCAI/STS Guideline for the diagnosis and management of patients with stable ischemic heart disease. Circulation, 126(25), e354–e471. doi: 10.1161/cir.0b013e318277d6a0
Citation | Gibbons, R. J., Abrams, J., Chatterjee, K., Daley, J., Deedwania, P.K, Douglas J.S., … Smith Jr., S.C. (2002). ACC/AHA 2002 Guideline update for the management of patients with chronic stable angina: a report of the American College of Cardiology/American Heart Association Task Force on Practice Guidelines (committee to update the 1999 guidelines for the management of patients with chronic stable angina). Circulation, 107(1), 149-158. doi:10.1161/01.CIR.0000047041.66447.29
Citation | Virani, S.S., Newby, L.K., Arnold, S.V., Bittner, V., Brewer, L.C., Demeter, S.H., … Dixon, D.L. (2023). 2023 AHA/ACC/ACCP/ASPC/NLA/PCNA Guideline for the management for patients with chronic coronary disease: A report of the American Heart Association/American College of Cardiology Joint Committee on Practice Guidelines. Circulation, 148, e9-e119. doi: 10.1161/CIR.0000000000001168
Definition | Moderate or Severe LVSD: LVEF <=40% corresponds to qualitative documentation of moderate dysfunction or severe dysfunction (LVSD). The LVSD may be determined by quantitative or qualitative assessment, which may be current or historical. Examples of a quantitative or qualitative assessment may include an echocardiogram: that provides a numerical value of LVSD or that uses descriptive terms such as moderately or severely depressed left ventricular systolic function. Any current or prior ejection fraction study documenting LVSD can be used to identify patients.
Definition | Prescribed: Denotes that a prescription has been given to the patient for ACE inhibitor or ARB or ARNI therapy at one or more visits in the measurement period OR that the patient is already taking an ACE inhibitor or ARB or ARNI therapy as documented in their current medication list
Definition | Prior Myocardial Infarction (MI): Prior Myocardial Infarction (MI) for Denominator 2 is limited to those occurring within the past 3 years
Guidance (Usage) | Beta-blocker therapy: For patients with prior MI, beta-blocker therapy includes any agent within the beta-blocker drug class. As of 2015, no recommendations or evidence are cited in current stable ischemic heart disease guidelines for preferential use of specific agents. For patients with prior LVEF <=40%, beta-blocker therapy includes the following: bisoprolol, carvedilol, or sustained release metoprolol succinate. The requirement of two or more visits is to establish that the eligible clinician has an existing relationship with the patient. A range value should satisfy the logic requirement for 'Ejection Fraction' as long as the ranged observation value clearly meets the less than or equal to 40% threshold noted in the denominator logic. A range that is greater than 40% would not meet the measure requirement. In order for the Ejection Fraction result pathway to be recognized as below 40%, the result must be reported as a number with unit of %. A text string of "below 40%" or "ejection fraction between 35 and 40%" will not be recognized through electronic data capture. Although, this criteria can also be met using the Diagnosis pathway if specified as "Moderate or Severe." If a patient has had a myocardial infarction (MI) within the past 3 years and a current or prior LVEF <=40% (or moderate or severe LVSD), the patient should only be counted in Population Criteria 1. This eCQM is a patient-based measure. This FHIR-based measure has been derived from the QDM-based measure CMS145v14. Please refer to the HL7 QI-Core Implementation Guide (https://hl7.org/fhir/us/qicore/STU6/) for more information on QI-Core and mapping recommendations from QDM to QI-Core STU 6 (https://hl7.org/fhir/us/qicore/STU6/qdm-to-qicore.html).
Measure Group (Rate) (ID: Group_1)
Basis | boolean
Scoring | [http://terminology.hl7.org/CodeSystem/measure-scoring#proportion: 'Proportion']
Type | [http://terminology.hl7.org/CodeSystem/measure-type#process: 'Process']
Rate Aggregation | This measure is intended to have one reporting rate, which aggregates the following populations into a single performance rate for reporting purposes: Population 1: Patients with left ventricular systolic dysfunction (LVEF <=40%) Population 2: Patients with a prior (within the past 3 years) myocardial infarction For the purposes of this measure, a single performance rate can be calculated as follows: Performance Rate = (Numerator 1 + Numerator 2)/ [(Denominator 1 - Denominator Exceptions 1) + (Denominator 2 - Denominator Exceptions 2)]
Improvement Notation | [http://terminology.hl7.org/CodeSystem/measure-improvement-notation#increase: 'Increased score indicates improvement']
Initial Population | ID: InitialPopulation_1 Description: All patients aged 18 years and older with two qualifying encounters during the measurement period and a diagnosis of coronary artery disease Logic Definition: Initial Population
Denominator | ID: Denominator_1 Description: Equals Initial Population who also have prior (within the past 3 years) MI or a current or prior LVEF <=40% Logic Definition: Denominator 1
Numerator | ID: Numerator_1 Description: Patients who were prescribed beta-blocker therapy Logic Definition: Numerator 1
Denominator Exception | ID: DenominatorException_1 Description: Documentation of medical reason(s) for not prescribing beta-blocker therapy (e.g., arrhythmia, asthma, bradycardia, hypotension, patients with atrioventricular block without cardiac pacer, observation of consecutive heart rates <50, allergy, intolerance, other medical reasons). Documentation of patient reason(s) for not prescribing beta-blocker therapy (e.g., patient declined, other patient reasons). Logic Definition: Denominator Exceptions 1
Measure Group (Rate) (ID: Group_2)
Basis | boolean
Scoring | [http://terminology.hl7.org/CodeSystem/measure-scoring#proportion: 'Proportion']
Type | [http://terminology.hl7.org/CodeSystem/measure-type#process: 'Process']
Rate Aggregation | This measure is intended to have one reporting rate, which aggregates the following populations into a single performance rate for reporting purposes: Population 1: Patients with left ventricular systolic dysfunction (LVEF <=40%) Population 2: Patients with a prior (within the past 3 years) myocardial infarction For the purposes of this measure, a single performance rate can be calculated as follows: Performance Rate = (Numerator 1 + Numerator 2)/ [(Denominator 1 - Denominator Exceptions 1) + (Denominator 2 - Denominator Exceptions 2)]
Improvement Notation | [http://terminology.hl7.org/CodeSystem/measure-improvement-notation#increase: 'Increased score indicates improvement']
Initial Population | ID: InitialPopulation_2 Description: All patients aged 18 years and older with two qualifying encounters during the measurement period and a diagnosis of coronary artery disease Logic Definition: Initial Population
Denominator | ID: Denominator_2 Description: Equals Initial Population who also have prior (within the past 3 years) MI or a current or prior LVEF <=40% Logic Definition: Denominator 2
Numerator | ID: Numerator_2 Description: Patients who were prescribed beta-blocker therapy Logic Definition: Numerator 2
Denominator Exception | ID: DenominatorException_2 Description: Documentation of medical reason(s) for not prescribing beta-blocker therapy (e.g., arrhythmia, asthma, bradycardia, hypotension, patients with atrioventricular block without cardiac pacer, observation of consecutive heart rates <50, allergy, intolerance, other medical reasons). Documentation of patient reason(s) for not prescribing beta-blocker therapy (e.g., patient declined, other patient reasons). Logic Definition: Denominator Exceptions 2
Supplemental Data Guidance | For every patient evaluated by this measure also identify payer, race, ethnicity and sex
Supplemental Data Elements
Supplemental Data Element | ID: sde-sex Usage Code: [http://terminology.hl7.org/CodeSystem/measure-data-usage#supplemental-data] Description: SDE Sex Logic Definition: SDE Sex
Supplemental Data Element | ID: sde-race Usage Code: [http://terminology.hl7.org/CodeSystem/measure-data-usage#supplemental-data] Description: SDE Race Logic Definition: SDE Race
Supplemental Data Element | ID: sde-payer Usage Code: [http://terminology.hl7.org/CodeSystem/measure-data-usage#supplemental-data] Description: SDE Payer Logic Definition: SDE Payer
Supplemental Data Element | ID: sde-ethnicity Usage Code: [http://terminology.hl7.org/CodeSystem/measure-data-usage#supplemental-data] Description: SDE Ethnicity Logic Definition: SDE Ethnicity
Measure Logic
Primary Library | https://madie.cms.gov/Library/CMS145FHIRCADBBlockerTPMIorLVSD
Contents | Population Criteria Logic Definitions Terminology Dependencies Data Requirements
Population Criteria
Measure Group (Rate) (ID: Group_1)
Initial Population
    define "Initial Population":
      AgeInYearsAt(date from start of "Measurement Period") >= 18
        and exists ( "Qualifying Encounter During Measurement Period" Encounter1
            with "Qualifying Encounter During Measurement Period" Encounter2
              such that Encounter2.id !~ Encounter1.id
        )
        and exists "Qualifying CAD Encounter"
Denominator
    define "Denominator 1":
      "Initial Population"
        and exists "Qualifying CAD Encounter and History of Moderate or Severe LVSD"
Numerator
    define "Numerator 1":
      "Has Beta Blocker Therapy for LVSD Ordered"
        or "Is Currently Taking Beta Blocker Therapy for LVSD"
Denominator Exception
    define "Denominator Exceptions 1":
      "Has Arrhythmia with Qualifying CAD Encounter and History of Moderate or Severe LVSD"
        or "Has Asthma with Qualifying CAD Encounter and History of Moderate or Severe LVSD"
        or "Has Bradycardia with Qualifying CAD Encounter and History of Moderate or Severe LVSD"
        or "Has Hypotension with Qualifying CAD Encounter and History of Moderate or Severe LVSD"
        or "Has Consecutive Heart Rates Less than 50 with Qualifying CAD Encounter and History of Moderate or Severe LVSD"
        or "Has Allergy or Intolerance to Beta Blocker Therapy Ingredient with Qualifying CAD Encounter and History of Moderate or Severe LVSD"
        or "Has Diagnosis of Allergy or Intolerance to Beta Blocker Therapy with Qualifying CAD Encounter and History of Moderate or Severe LVSD"
        or "Has Medical or Patient Reason for Not Ordering Beta Blocker for LVSD"
        or "Has Atrioventricular Block with Qualifying CAD Encounter and History of Moderate or Severe LVSD without Cardiac Pacer"
Measure Group (Rate) (ID: Group_2)
Initial Population
    define "Initial Population":
      AgeInYearsAt(date from start of "Measurement Period") >= 18
        and exists ( "Qualifying Encounter During Measurement Period" Encounter1
            with "Qualifying Encounter During Measurement Period" Encounter2
              such that Encounter2.id !~ Encounter1.id
        )
        and exists "Qualifying CAD Encounter"
Denominator
    define "Denominator 2":
      "Initial Population"
        and exists "Qualifying CAD Encounter and Prior MI"
Numerator
    define "Numerator 2":
      "Has Beta Blocker Therapy Ordered"
        or "Is Currently Taking Beta Blocker Therapy"
Denominator Exception
    define "Denominator Exceptions 2":
      "Has Arrhythmia with Qualifying CAD Encounter and Prior MI"
        or "Has Asthma with Qualifying CAD Encounter and Prior MI"
        or "Has Bradycardia with Qualifying CAD Encounter and Prior MI"
        or "Has Hypotension with Qualifying CAD Encounter and Prior MI"
        or "Has Consecutive Heart Rates Less than 50 with Qualifying CAD Encounter and Prior MI"
        or "Has Allergy or Intolerance to Beta Blocker Therapy Ingredient with Qualifying CAD Encounter and Prior MI"
        or "Has Diagnosis of Allergy or Intolerance to Beta Blocker Therapy with Qualifying CAD Encounter and Prior MI"
        or "Has Medical or Patient Reason for Not Ordering Beta Blocker Therapy"
        or "Has Atrioventricular Block with Qualifying CAD Encounter and Prior MI without Cardiac Pacer"
Logic Definitions
Logic Definition | Library Name: SupplementalDataElements
    define "SDE Sex":
      case
        when Patient.sex = '248153007' then "Male (finding)"
        when Patient.sex = '248152002' then "Female (finding)"
        else null
      end
Logic Definition | Library Name: SupplementalDataElements
    define "SDE Payer":
      [Coverage: type in "Payer Type"] Payer
        return {
          code: Payer.type,
          period: Payer.period
        }
Logic Definition | Library Name: SupplementalDataElements
    define "SDE Ethnicity":
      Patient.ethnicity E
        return Tuple {
          codes: { E.ombCategory } union E.detailed,
          display: E.text
        }
Logic Definition | Library Name: SupplementalDataElements
    define "SDE Race":
      Patient.race R
        return Tuple {
          codes: R.ombCategory union R.detailed,
          display: R.text
        }
Logic Definition | Library Name: QICoreCommon
    /*
    @description: Returns an interval representing the normalized prevalence period of a given Condition.
    @comment: Uses the ToInterval and ToAbatementInterval functions to determine the widest potential interval from
    onset to abatement as specified in the given Condition. If the condition is active, or has an abatement date the resulting
    interval will have a closed ending boundary. Otherwise, the resulting interval will have an open ending boundary.
    */
    define fluent function prevalenceInterval(condition Choice<"ConditionEncounterDiagnosis", "ConditionProblemsHealthConcerns">):
    if condition.clinicalStatus ~ "active"
      or condition.clinicalStatus ~ "recurrence"
      or condition.clinicalStatus ~ "relapse" then
      Interval[start of condition.onset.toInterval(), end of condition.abatementInterval()]
    else
        (end of condition.abatementInterval()) abatementDate
        return if abatementDate is null then
          Interval[start of condition.onset.toInterval(), abatementDate)
        else
          Interval[start of condition.onset.toInterval(), abatementDate]
Logic Definition | Library Name: QICoreCommon
    /*
    @description: Returns an interval representing the normalized abatement of a given Condition.
    @comment: If the abatement element of the Condition is represented as a DateTime, the result
    is an interval beginning and ending on that DateTime.
    If the abatement is represented as a Quantity, the quantity is expected to be a calendar-duration and is interpreted as the age of the patient. The
    result is an interval from the date the patient turned that age to immediately before one year later.
    If the abatement is represented as a Quantity Interval, the quantities are expected to be calendar-durations and are interpreted as an age range during
    which the abatement occurred. The result is an interval from the date the patient turned the starting age of the quantity interval, and ending immediately
    before one year later than the date the patient turned the ending age of the quantity interval.
    */
    define fluent function abatementInterval(condition Choice<"ConditionEncounterDiagnosis", "ConditionProblemsHealthConcerns">):
    	if condition.abatement is DateTime then
    	  Interval[condition.abatement as DateTime, condition.abatement as DateTime]
    	else if condition.abatement is Quantity then
    		Interval[Patient.birthDate + (condition.abatement as Quantity),
    			Patient.birthDate + (condition.abatement as Quantity) + 1 year)
    	else if condition.abatement is Interval<Quantity> then
    	  Interval[Patient.birthDate + (condition.abatement.low as Quantity),
    		  Patient.birthDate + (condition.abatement.high as Quantity) + 1 year)
    	else if condition.abatement is Interval<DateTime> then
    	  Interval[condition.abatement.low, condition.abatement.high)
    	else null as Interval<DateTime>
Logic Definition | Library Name: QICoreCommon
    /*
    @description: Normalizes a value that is a choice of timing-valued types to an equivalent interval
    @comment: Normalizes a choice type of DateTime, Quanitty, Interval<DateTime>, or Interval<Quantity> types
    to an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible
    representations for timing-valued elements in QICore, allowing this function to be used across any resource.
    The input can be provided as a DateTime, Quantity, Interval<DateTime> or Interval<Quantity>.
    The intent of this function is to provide a clear and concise mechanism to treat single
    elements that have multiple possible representations as intervals so that logic doesn't have to account
    for the variability. More complex calculations (such as medication request period or dispense period
    calculation) need specific guidance and consideration. That guidance may make use of this function, but
    the focus of this function is on single element calculations where the semantics are unambiguous.
    If the input is a DateTime, the result a DateTime Interval beginning and ending on that DateTime.
    If the input is a Quantity, the quantity is expected to be a calendar-duration interpreted as an Age,
    and the result is a DateTime Interval beginning on the Date the patient turned that age and ending immediately before one year later.
    If the input is a DateTime Interval, the result is the input.
    If the input is a Quantity Interval, the quantities are expected to be calendar-durations interpreted as an Age, and the result
    is a DateTime Interval beginning on the date the patient turned the age given as the start of the quantity interval, and ending
    immediately before one year later than the date the patient turned the age given as the end of the quantity interval.
    If the input is a Timing, an error will be thrown indicating that Timing calculations are not implemented. Any other input will reslt in a null DateTime Interval
    */
    define fluent function toInterval(choice Choice<DateTime, Quantity, Interval<DateTime>, Interval<Quantity>, Timing>):
      case
    	  when choice is DateTime then
        	Interval[choice as DateTime, choice as DateTime]
    		when choice is Interval<DateTime> then
      		choice as Interval<DateTime>
    		when choice is Quantity then
    		  Interval[Patient.birthDate + (choice as Quantity),
    			  Patient.birthDate + (choice as Quantity) + 1 year)
    		when choice is Interval<Quantity> then
    		  Interval[Patient.birthDate + (choice.low as Quantity),
    			  Patient.birthDate + (choice.high as Quantity) + 1 year)
    		when choice is Timing then
          Message(null, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a Timing value is not supported') as Interval<DateTime>
    		else
    			null as Interval<DateTime>
    	end
Logic Definition | Library Name: AHAOverall
    /*
    @description: Returns a union  of the following:
                    * Observations where the final, amended or correction ejection fraction result is <= 40
                    * Moderate or Severe LVSD conditions where the diagnosis has been confirmed as active
    */
    define "Moderate or Severe LVSD Findings":
      ( [ObservationClinicalResult: "Ejection Fraction"] EjectionFraction
          where EjectionFraction.value as Quantity <= 40 '%'
            and EjectionFraction.status in { 'final', 'amended', 'corrected' }
      )
        union ( ( ( [ConditionProblemsHealthConcerns: "Moderate or Severe LVSD"]
              union [ConditionEncounterDiagnosis: "Moderate or Severe LVSD"]
          )
            union ( ( [ConditionProblemsHealthConcerns: "Left ventricular systolic dysfunction (disorder)"]
                union [ConditionEncounterDiagnosis: "Left ventricular systolic dysfunction (disorder)"] ) LVSDDiagnosis
                where LVSDDiagnosis.severity in "Moderate or Severe"
            ) ) ModerateOrSevereLVSD
            where ModerateOrSevereLVSD.isVerified ( )
        )
Logic Definition | Library Name: AHAOverall
    /*
    @description: Returns true if the given Condition has a verification status of "confirmed", "unconfirmed", "provisional", or "differential"
    */
    define fluent function isVerified(condition Choice<ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns>):
      condition.verificationStatus is not null implies ( condition.verificationStatus ~ QICoreCommon."confirmed"
          or condition.verificationStatus ~ QICoreCommon."unconfirmed"
          or condition.verificationStatus ~ QICoreCommon."provisional"
          or condition.verificationStatus ~ QICoreCommon."differential"
      )
Logic Definition | Library Name: AHAOverall
    /*
    @description: Returns true if the given condition either has no verification status or has a verification status of confirmed, unconfirmed, provisional, or differential
    */
    define fluent function isVerified(AllergyIntolerance AllergyIntolerance):
      AllergyIntolerance.verificationStatus is not null implies ( AllergyIntolerance.verificationStatus ~ QICoreCommon."allergy-confirmed"
          or AllergyIntolerance.verificationStatus ~ QICoreCommon."allergy-unconfirmed"
      )
Logic Definition | Library Name: FHIRHelpers
    define function ToString(value uri): value.value
Logic Definition | Library Name: FHIRHelpers
    /*
    @description: Converts the given [Period](https://hl7.org/fhir/datatypes.html#Period)
    value to a CQL DateTime Interval
    @comment: If the start value of the given period is unspecified, the starting
    boundary of the resulting interval will be open (meaning the start of the interval
    is unknown, as opposed to interpreted as the beginning of time).
    */
    define function ToInterval(period FHIR.Period):
        if period is null then
            null
        else
            if period."start" is null then
                Interval(period."start".value, period."end".value]
            else
                Interval[period."start".value, period."end".value]
Logic Definition | Library Name: FHIRHelpers
    /*
    @description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.
    */
    define function ToConcept(concept FHIR.CodeableConcept):
        if concept is null then
            null
        else
            System.Concept {
                codes: concept.coding C return ToCode(C),
                display: concept.text.value
            }
Logic Definition | Library Name: FHIRHelpers
    /*
    @description: Converts the given FHIR [Coding](https://hl7.org/fhir/datatypes.html#Coding) value to a CQL Code.
    */
    define function ToCode(coding FHIR.Coding):
        if coding is null then
            null
        else
            System.Code {
              code: coding.code.value,
              system: coding.system.value,
              version: coding.version.value,
              display: coding.display.value
            }
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "SDE Sex":
      SDE."SDE Sex"
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Qualifying Encounter During Measurement Period":
      ( [Encounter: "Office Visit"]
        union [Encounter: "Outpatient Consultation"]
        union [Encounter: "Nursing Facility Visit"]
        union [Encounter: "Care Services in Long Term Residential Facility"]
        union [Encounter: "Home Healthcare Services"]
        union [Encounter: "Patient Provider Interaction"] ) ValidEncounter
        where ValidEncounter.period during day of "Measurement Period"
          and ValidEncounter.status = 'finished'
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Outpatient Encounter During Measurement Period":
      ( [Encounter: "Office Visit"]
        union [Encounter: "Outpatient Consultation"]
        union [Encounter: "Care Services in Long Term Residential Facility"]
        union [Encounter: "Home Healthcare Services"]
        union [Encounter: "Nursing Facility Visit"] ) QualifyingEncounter
        where QualifyingEncounter.period during day of "Measurement Period"
          and QualifyingEncounter.status = 'finished'
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Coronary Artery Disease Encounter":
      "Outpatient Encounter During Measurement Period" ValidQualifyingEncounter
        with ( [ConditionProblemsHealthConcerns: "Coronary Artery Disease No MI"]
          union [ConditionEncounterDiagnosis: "Coronary Artery Disease No MI"] ) CoronaryArteryDisease
          such that CoronaryArteryDisease.overlapsDayOfEncounter ( ValidQualifyingEncounter )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "History of Cardiac Surgery Prior to Encounter":
      "Outpatient Encounter During Measurement Period" ValidQualifyingEncounter
        with [Procedure: "Cardiac Surgery"] CardiacSurgeryProcedure
          such that CardiacSurgeryProcedure.performed.toInterval ( ) starts before end of ValidQualifyingEncounter.period
            and CardiacSurgeryProcedure.status = 'completed'
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Qualifying CAD Encounter":
      "Coronary Artery Disease Encounter"
        union "History of Cardiac Surgery Prior to Encounter"
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Initial Population":
      AgeInYearsAt(date from start of "Measurement Period") >= 18
        and exists ( "Qualifying Encounter During Measurement Period" Encounter1
            with "Qualifying Encounter During Measurement Period" Encounter2
              such that Encounter2.id !~ Encounter1.id
        )
        and exists "Qualifying CAD Encounter"
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Qualifying CAD Encounter and Prior MI":
      "Qualifying CAD Encounter" EncounterWithCADProxy
        with ( [ConditionProblemsHealthConcerns: "Myocardial Infarction"]
          union [ConditionEncounterDiagnosis: "Myocardial Infarction"] ) MyocardialInfarction
          such that MyocardialInfarction.prevalenceInterval ( ) starts 3 years or less before day of start of EncounterWithCADProxy.period
            and not exists AHA."Moderate or Severe LVSD Findings"
            and MyocardialInfarction.isVerified ( )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Denominator 2":
      "Initial Population"
        and exists "Qualifying CAD Encounter and Prior MI"
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Qualifying CAD Encounter and History of Moderate or Severe LVSD":
      "Qualifying CAD Encounter" EncounterWithCADProxy
        with AHA."Moderate or Severe LVSD Findings" LVSDFindings
          such that Coalesce(LVSDFindings.prevalenceInterval(), LVSDFindings.effective.toInterval()) starts before end of EncounterWithCADProxy.period
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Arrhythmia with Qualifying CAD Encounter and History of Moderate or Severe LVSD":
      exists ( [ConditionProblemsHealthConcerns: "Arrhythmia"] ArrhythmiaDiagnosis
          where ArrhythmiaDiagnosis.overlapsDayOfEncounter ( "Qualifying CAD Encounter and History of Moderate or Severe LVSD" )
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Asthma with Qualifying CAD Encounter and History of Moderate or Severe LVSD":
      exists ( [ConditionProblemsHealthConcerns: "Asthma"] AsthmaDiagnosis
          where AsthmaDiagnosis.overlapsDayOfEncounter ( "Qualifying CAD Encounter and History of Moderate or Severe LVSD" )
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Bradycardia with Qualifying CAD Encounter and History of Moderate or Severe LVSD":
      exists ( [ConditionProblemsHealthConcerns: "Bradycardia"] BradycardiaDiagnosis
          where BradycardiaDiagnosis.overlapsDayOfEncounter ( "Qualifying CAD Encounter and History of Moderate or Severe LVSD" )
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Hypotension with Qualifying CAD Encounter and History of Moderate or Severe LVSD":
      exists ( [ConditionProblemsHealthConcerns: "Hypotension"] HypotensionDiagnosis
          where HypotensionDiagnosis.overlapsDayOfEncounter ( "Qualifying CAD Encounter and History of Moderate or Severe LVSD" )
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    /*
    * @code: Heart rate - 8867-4
    * @profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-heart-rate
    */

    define "Has Consecutive Heart Rates Less than 50 with Qualifying CAD Encounter and History of Moderate or Severe LVSD":
      exists ( from
          ["USCoreHeartRateProfile"] HeartRateExam,
          "Qualifying CAD Encounter and History of Moderate or Severe LVSD" CADEncounterModerateOrSevereLVSD
          let PriorHeartRateExam: Last(["USCoreHeartRateProfile"] MostRecentPriorHeartRateExam
              where MostRecentPriorHeartRateExam.effective.toInterval() during CADEncounterModerateOrSevereLVSD.period
                and MostRecentPriorHeartRateExam.status in { 'final', 'amended', 'corrected' }
                and MostRecentPriorHeartRateExam.effective.toInterval() before HeartRateExam.effective.toInterval()
              sort by start of effective.toInterval()
          )
          where HeartRateExam.effective.toInterval ( ) during CADEncounterModerateOrSevereLVSD.period
            and HeartRateExam.status in { 'final', 'amended', 'corrected' }
            and HeartRateExam.value < 50 '/min'
            and PriorHeartRateExam.value < 50 '/min'
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Allergy or Intolerance to Beta Blocker Therapy Ingredient with Qualifying CAD Encounter and History of Moderate or Severe LVSD":
      exists ( ( [AllergyIntolerance: "Beta Blocker Therapy Ingredient"]
          union [AllergyIntolerance: "Substance with beta adrenergic receptor antagonist mechanism of action (substance)"] ) BetaBlockerAllergyIntolerance
          where BetaBlockerAllergyIntolerance.overlapsAfterDayOfEncounter ( "Qualifying CAD Encounter and History of Moderate or Severe LVSD" )
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Diagnosis of Allergy or Intolerance to Beta Blocker Therapy with Qualifying CAD Encounter and History of Moderate or Severe LVSD":
      exists ( ( [ConditionProblemsHealthConcerns: "Allergy to Beta Blocker Therapy"]
          union [ConditionProblemsHealthConcerns: "Intolerance to Beta Blocker Therapy"] ) BetaBlockerAllergyOrIntoleranceDiagnosis
          where BetaBlockerAllergyOrIntoleranceDiagnosis.overlapsAfterDayOfEncounter ( "Qualifying CAD Encounter and History of Moderate or Severe LVSD" )
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Medical or Patient Reason for Not Ordering Beta Blocker for LVSD":
      exists ( [MedicationNotRequested: medication in "Beta Blocker Therapy for LVSD"] NoBetaBlockerForLVSDOrdered
          with "Qualifying CAD Encounter and History of Moderate or Severe LVSD" LVSDVisit
            such that NoBetaBlockerForLVSDOrdered.authoredOn during day of LVSDVisit.period
          where NoBetaBlockerForLVSDOrdered.status in { 'active', 'completed' }
            and NoBetaBlockerForLVSDOrdered.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
            and ( NoBetaBlockerForLVSDOrdered.reasonCode in "Medical Reason"
                or NoBetaBlockerForLVSDOrdered.reasonCode in "Patient Reason"
            )
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Atrioventricular Block with Qualifying CAD Encounter and History of Moderate or Severe LVSD":
      exists ( [ConditionProblemsHealthConcerns: "Atrioventricular Block"] AtrioventricularBlock
          where AtrioventricularBlock.overlapsDayOfEncounter ( "Qualifying CAD Encounter and History of Moderate or Severe LVSD" )
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Diagnosis of Cardiac Pacer in Situ with Qualifying CAD Encounter and History of Moderate or Severe LVSD":
      exists ( [ConditionProblemsHealthConcerns: "Cardiac Pacer in Situ"] CardiacPacerDiagnosis
          where CardiacPacerDiagnosis.overlapsDayOfEncounter ( "Qualifying CAD Encounter and History of Moderate or Severe LVSD" )
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Cardiac Pacer Device Implanted with Qualifying CAD Encounter and History of Moderate or Severe LVSD":
      exists ( [Procedure: "Cardiac Pacer"] ImplantedCardiacPacer
          with "Qualifying CAD Encounter and History of Moderate or Severe LVSD" CADEncounterModerateOrSevereLVSD
            such that ImplantedCardiacPacer.performed.toInterval ( ) starts before end of CADEncounterModerateOrSevereLVSD.period
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Atrioventricular Block with Qualifying CAD Encounter and History of Moderate or Severe LVSD without Cardiac Pacer":
      "Has Atrioventricular Block with Qualifying CAD Encounter and History of Moderate or Severe LVSD"
        and not "Has Diagnosis of Cardiac Pacer in Situ with Qualifying CAD Encounter and History of Moderate or Severe LVSD"
        and not "Has Cardiac Pacer Device Implanted with Qualifying CAD Encounter and History of Moderate or Severe LVSD"
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Denominator Exceptions 1":
      "Has Arrhythmia with Qualifying CAD Encounter and History of Moderate or Severe LVSD"
        or "Has Asthma with Qualifying CAD Encounter and History of Moderate or Severe LVSD"
        or "Has Bradycardia with Qualifying CAD Encounter and History of Moderate or Severe LVSD"
        or "Has Hypotension with Qualifying CAD Encounter and History of Moderate or Severe LVSD"
        or "Has Consecutive Heart Rates Less than 50 with Qualifying CAD Encounter and History of Moderate or Severe LVSD"
        or "Has Allergy or Intolerance to Beta Blocker Therapy Ingredient with Qualifying CAD Encounter and History of Moderate or Severe LVSD"
        or "Has Diagnosis of Allergy or Intolerance to Beta Blocker Therapy with Qualifying CAD Encounter and History of Moderate or Severe LVSD"
        or "Has Medical or Patient Reason for Not Ordering Beta Blocker for LVSD"
        or "Has Atrioventricular Block with Qualifying CAD Encounter and History of Moderate or Severe LVSD without Cardiac Pacer"
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Beta Blocker Therapy for LVSD Ordered":
      exists ( [MedicationRequest: medication in "Beta Blocker Therapy for LVSD"] BetaBlockerForLVSDOrdered
          where BetaBlockerForLVSDOrdered.authoredDuringDayOfEncounter ( "Qualifying CAD Encounter and History of Moderate or Severe LVSD" )
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Is Currently Taking Beta Blocker Therapy for LVSD":
      exists ( [MedicationRequest: medication in "Beta Blocker Therapy for LVSD"] ActiveBetaBlockerForLVSD
          with "Qualifying CAD Encounter and History of Moderate or Severe LVSD" CADEncounterModerateOrSevereLVSD
            such that First((collapse(ActiveBetaBlockerForLVSD.dosageInstruction.timing.repeat.bounds DoseTime
                  return DoseTime.toInterval()
              )) DrugPeriod
                sort by start of $this
            ) overlaps after day of CADEncounterModerateOrSevereLVSD.period
          where ActiveBetaBlockerForLVSD.status in { 'active', 'completed' }
            and ActiveBetaBlockerForLVSD.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Numerator 1":
      "Has Beta Blocker Therapy for LVSD Ordered"
        or "Is Currently Taking Beta Blocker Therapy for LVSD"
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "SDE Payer":
      SDE."SDE Payer"
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Beta Blocker Therapy Ordered":
      exists ( [MedicationRequest: medication in "Beta Blocker Therapy"] BetaBlockerOrdered
          where BetaBlockerOrdered.authoredDuringDayOfEncounter ( "Qualifying CAD Encounter and Prior MI" )
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Is Currently Taking Beta Blocker Therapy":
      exists ( [MedicationRequest: medication in "Beta Blocker Therapy"] ActiveBetaBlocker
          with "Qualifying CAD Encounter and Prior MI" CADEncounterMI
            such that First((collapse(ActiveBetaBlocker.dosageInstruction.timing.repeat.bounds DoseTime
                  return DoseTime.toInterval()
              )) DrugPeriod
                sort by start of $this
            ) overlaps after day of CADEncounterMI.period
          where ActiveBetaBlocker.status in { 'active', 'completed' }
            and ActiveBetaBlocker.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Numerator 2":
      "Has Beta Blocker Therapy Ordered"
        or "Is Currently Taking Beta Blocker Therapy"
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "SDE Ethnicity":
      SDE."SDE Ethnicity"
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Arrhythmia with Qualifying CAD Encounter and Prior MI":
      exists ( [ConditionProblemsHealthConcerns: "Arrhythmia"] ArrhythmiaDiagnosis
          where ArrhythmiaDiagnosis.overlapsDayOfEncounter ( "Qualifying CAD Encounter and Prior MI" )
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Asthma with Qualifying CAD Encounter and Prior MI":
      exists ( [ConditionProblemsHealthConcerns: "Asthma"] AsthmaDiagnosis
          where AsthmaDiagnosis.overlapsDayOfEncounter ( "Qualifying CAD Encounter and Prior MI" )
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Bradycardia with Qualifying CAD Encounter and Prior MI":
      exists ( [ConditionProblemsHealthConcerns: "Bradycardia"] BradycardiaDiagnosis
          where BradycardiaDiagnosis.overlapsDayOfEncounter ( "Qualifying CAD Encounter and Prior MI" )
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Hypotension with Qualifying CAD Encounter and Prior MI":
      exists ( ( [ConditionProblemsHealthConcerns: "Hypotension"]
          union [ConditionEncounterDiagnosis: "Hypotension"] ) HypotensionDiagnosis
          where HypotensionDiagnosis.overlapsDayOfEncounter ( "Qualifying CAD Encounter and Prior MI" )
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    /*
    * @code: Heart rate - 8867-4
    * @profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-heart-rate
    */

    define "Has Consecutive Heart Rates Less than 50 with Qualifying CAD Encounter and Prior MI":
      exists ( from
          ["USCoreHeartRateProfile"] HeartRateExam,
          "Qualifying CAD Encounter and Prior MI" CADEncounterMI
          let PriorHeartRateExam: Last(["USCoreHeartRateProfile"] MostRecentPriorHeartRateExam
              where MostRecentPriorHeartRateExam.effective.toInterval() during CADEncounterMI.period
                and MostRecentPriorHeartRateExam.status in { 'final', 'amended', 'corrected' }
                and MostRecentPriorHeartRateExam.effective.toInterval() before HeartRateExam.effective.toInterval()
              sort by start of effective.toInterval()
          )
          where HeartRateExam.effective.toInterval ( ) during CADEncounterMI.period
            and HeartRateExam.status in { 'final', 'amended', 'corrected' }
            and HeartRateExam.value < 50 '/min'
            and PriorHeartRateExam.value < 50 '/min'
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Allergy or Intolerance to Beta Blocker Therapy Ingredient with Qualifying CAD Encounter and Prior MI":
      exists ( ( [AllergyIntolerance: "Beta Blocker Therapy Ingredient"]
          union [AllergyIntolerance: "Substance with beta adrenergic receptor antagonist mechanism of action (substance)"] ) BetaBlockerAllergyIntolerance
          where BetaBlockerAllergyIntolerance.overlapsAfterDayOfEncounter ( "Qualifying CAD Encounter and Prior MI" )
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Diagnosis of Allergy or Intolerance to Beta Blocker Therapy with Qualifying CAD Encounter and Prior MI":
      exists ( ( [ConditionProblemsHealthConcerns: "Allergy to Beta Blocker Therapy"]
          union [ConditionProblemsHealthConcerns: "Intolerance to Beta Blocker Therapy"] ) BetaBlockerAllergyOrIntoleranceDiagnosis
          where BetaBlockerAllergyOrIntoleranceDiagnosis.overlapsAfterDayOfEncounter ( "Qualifying CAD Encounter and Prior MI" )
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Medical or Patient Reason for Not Ordering Beta Blocker Therapy":
      exists ( [MedicationNotRequested: medication in "Beta Blocker Therapy for LVSD"] NoBetaBlockerForLVSDOrdered
          with "Qualifying CAD Encounter and Prior MI" PriorMIVisit
            such that NoBetaBlockerForLVSDOrdered.authoredOn during day of PriorMIVisit.period
          where NoBetaBlockerForLVSDOrdered.status in { 'active', 'completed' }
            and NoBetaBlockerForLVSDOrdered.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
            and ( NoBetaBlockerForLVSDOrdered.reasonCode in "Medical Reason"
                or NoBetaBlockerForLVSDOrdered.reasonCode in "Patient Reason"
            )
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Atrioventricular Block with Qualifying CAD Encounter and Prior MI":
      exists ( [ConditionProblemsHealthConcerns: "Atrioventricular Block"] AtrioventricularBlockDiagnosis
          where AtrioventricularBlockDiagnosis.overlapsDayOfEncounter ( "Qualifying CAD Encounter and Prior MI" )
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Diagnosis of Cardiac Pacer in Situ with Qualifying CAD Encounter and Prior MI":
      exists ( [ConditionProblemsHealthConcerns: "Cardiac Pacer in Situ"] CardiacPacerDiagnosis
          where CardiacPacerDiagnosis.overlapsDayOfEncounter ( "Qualifying CAD Encounter and Prior MI" )
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Cardiac Pacer Device Implanted with Qualifying CAD Encounter and Prior MI":
      exists ( [Procedure: "Cardiac Pacer"] ImplantedCardiacPacer
          with "Qualifying CAD Encounter and Prior MI" CADEncounterMI
            such that ImplantedCardiacPacer.performed.toInterval ( ) starts before end of CADEncounterMI.period
              and ImplantedCardiacPacer.status = 'completed'
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Has Atrioventricular Block with Qualifying CAD Encounter and Prior MI without Cardiac Pacer":
      "Has Atrioventricular Block with Qualifying CAD Encounter and Prior MI"
        and not "Has Diagnosis of Cardiac Pacer in Situ with Qualifying CAD Encounter and Prior MI"
        and not "Has Cardiac Pacer Device Implanted with Qualifying CAD Encounter and Prior MI"
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Denominator Exceptions 2":
      "Has Arrhythmia with Qualifying CAD Encounter and Prior MI"
        or "Has Asthma with Qualifying CAD Encounter and Prior MI"
        or "Has Bradycardia with Qualifying CAD Encounter and Prior MI"
        or "Has Hypotension with Qualifying CAD Encounter and Prior MI"
        or "Has Consecutive Heart Rates Less than 50 with Qualifying CAD Encounter and Prior MI"
        or "Has Allergy or Intolerance to Beta Blocker Therapy Ingredient with Qualifying CAD Encounter and Prior MI"
        or "Has Diagnosis of Allergy or Intolerance to Beta Blocker Therapy with Qualifying CAD Encounter and Prior MI"
        or "Has Medical or Patient Reason for Not Ordering Beta Blocker Therapy"
        or "Has Atrioventricular Block with Qualifying CAD Encounter and Prior MI without Cardiac Pacer"
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "SDE Race":
      SDE."SDE Race"
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define "Denominator 1":
      "Initial Population"
        and exists "Qualifying CAD Encounter and History of Moderate or Severe LVSD"
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define fluent function overlapsDayOfEncounter(Diagnosis ConditionProblemsHealthConcerns, TheEncounter Encounter):
      TheEncounter Visit
        where Diagnosis.isVerified ( )
        return Diagnosis.prevalenceInterval ( ) overlaps day of Visit.period
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define fluent function overlapsDayOfEncounter(Diagnosis ConditionProblemsHealthConcerns, EncounterList List<Encounter>):
      AnyTrue(EncounterList Visit
          return Diagnosis.overlapsDayOfEncounter(Visit)
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define fluent function overlapsAfterDayOfEncounter(Event Choice<AllergyIntolerance, ConditionProblemsHealthConcerns>, EncounterList List<Encounter>):
      AnyTrue(EncounterList Visit
          return
          case
            when Event is AllergyIntolerance then Interval[start of Event.onset.toInterval(), Event.lastOccurrence]overlaps after day of Visit.period
              and(Event.clinicalStatus is null
                  or Event.clinicalStatus ~ QICoreCommon."allergy-active"
              )
              and(Event.verificationStatus is null
                  or Event.verificationStatus ~ QICoreCommon."allergy-confirmed"
              )
            when Event is ConditionProblemsHealthConcerns then Event.isVerified()
              and Event.prevalenceInterval() overlaps after day of Visit.period
            else false
          end
      )
Logic Definition | Library Name: CMS145FHIRCADBBlockerTPMIorLVSD
    define fluent function authoredDuringDayOfEncounter(Order Choice<MedicationRequest, MedicationNotRequested>, EncounterList List<Encounter>):
      AnyTrue(EncounterList Visit
          return
          case
            when Order is MedicationRequest then Order.authoredOn during day of Visit.period
              and Order.status in { 'active', 'completed' }
              and Order.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
              and Order.doNotPerform is not true
            when Order is MedicationNotRequested then Order.authoredOn during day of Visit.period
              and Order.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
            else false
          end
      )
Terminology
Code System | Description: Code system SNOMEDCT Resource: http://snomed.info/sct Canonical URL: `http://snomed.info/sct`
Code System | Description: Code system ConditionVerificationStatusCodes Resource: http://terminology.hl7.org/CodeSystem/condition-ver-status Canonical URL: `http://terminology.hl7.org/CodeSystem/condition-ver-status`
Code System | Description: Code system ConditionClinicalStatusCodes Resource: http://terminology.hl7.org/CodeSystem/condition-clinical Canonical URL: `http://terminology.hl7.org/CodeSystem/condition-clinical`
Code System | Description: Code system AllergyIntoleranceClinicalStatusCodes Resource: http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical Canonical URL: `http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical`
Code System | Description: Code system AllergyIntoleranceVerificationStatusCodes Resource: http://terminology.hl7.org/CodeSystem/allergyintolerance-verification Canonical URL: `http://terminology.hl7.org/CodeSystem/allergyintolerance-verification`
Value Set | Description: Value set Office Visit Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001`
Value Set | Description: Value set Outpatient Consultation Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008`
Value Set | Description: Value set Nursing Facility Visit Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1012 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1012`
Value Set | Description: Value set Care Services in Long Term Residential Facility Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1014 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1014`
Value Set | Description: Value set Home Healthcare Services Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016`
Value Set | Description: Value set Patient Provider Interaction Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1012 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1012`
Value Set | Description: Value set Coronary Artery Disease No MI Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.369 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.369`
Value Set | Description: Value set Cardiac Surgery Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.371 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.371`
Value Set | Description: Value set Myocardial Infarction Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.403 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.403`
Value Set | Description: Value set Ejection Fraction Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1134 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1134`
Value Set | Description: Value set Moderate or Severe LVSD Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1090 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1090`
Value Set | Description: Value set Moderate or Severe Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1092 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1092`
Value Set | Description: Value set Arrhythmia Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.366 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.366`
Value Set | Description: Value set Asthma Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.362 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.362`
Value Set | Description: Value set Bradycardia Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.412 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.412`
Value Set | Description: Value set Hypotension Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.370 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.370`
Value Set | Description: Value set Beta Blocker Therapy Ingredient Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1493 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1493`
Value Set | Description: Value set Allergy to Beta Blocker Therapy Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1177 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1177`
Value Set | Description: Value set Intolerance to Beta Blocker Therapy Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1178 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1178`
Value Set | Description: Value set Beta Blocker Therapy for LVSD Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1184 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1184`
Value Set | Description: Value set Medical Reason Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1007 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1007`
Value Set | Description: Value set Patient Reason Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1008 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1008`
Value Set | Description: Value set Atrioventricular Block Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.367 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.367`
Value Set | Description: Value set Cardiac Pacer in Situ Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.368 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.368`
Value Set | Description: Value set Cardiac Pacer Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1178.53 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1178.53`
Value Set | Description: Value set Payer Type Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591`
Value Set | Description: Value set Beta Blocker Therapy Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1174 Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1174`
Direct Reference Code | Display: Male (finding) Code: 248153007 System: `http://snomed.info/sct`
Direct Reference Code | Display: Female (finding) Code: 248152002 System: `http://snomed.info/sct`
Direct Reference Code | Display: Confirmed Code: confirmed System: `http://terminology.hl7.org/CodeSystem/condition-ver-status`
Direct Reference Code | Display: Unconfirmed Code: unconfirmed System: `http://terminology.hl7.org/CodeSystem/condition-ver-status`
Direct Reference Code | Display: Provisional Code: provisional System: `http://terminology.hl7.org/CodeSystem/condition-ver-status`
Direct Reference Code | Display: Differential Code: differential System: `http://terminology.hl7.org/CodeSystem/condition-ver-status`
Direct Reference Code | Display: Active Code: active System: `http://terminology.hl7.org/CodeSystem/condition-clinical`
Direct Reference Code | Display: Recurrence Code: recurrence System: `http://terminology.hl7.org/CodeSystem/condition-clinical`
Direct Reference Code | Display: Relapse Code: relapse System: `http://terminology.hl7.org/CodeSystem/condition-clinical`
Direct Reference Code | Display: Left ventricular systolic dysfunction (disorder) Code: 134401001 System: `http://snomed.info/sct`
Direct Reference Code | Display: Substance with beta adrenergic receptor antagonist mechanism of action (substance) Code: 373254001 System: `http://snomed.info/sct`
Direct Reference Code | Display: Active Code: active System: `http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical`
Direct Reference Code | Display: Confirmed Code: confirmed System: `http://terminology.hl7.org/CodeSystem/allergyintolerance-verification`
Direct Reference Code | Display: Unconfirmed Code: unconfirmed System: `http://terminology.hl7.org/CodeSystem/allergyintolerance-verification`
Dependencies
Dependency | Description: QICore model information Resource: http://hl7.org/fhir/Library/QICore-ModelInfo Canonical URL: `http://hl7.org/fhir/Library/QICore-ModelInfo`
Dependency | Description: Library SDE Resource: https://madie.cms.gov/Library/SupplementalDataElements|5.1.000 Canonical URL: `https://madie.cms.gov/Library/SupplementalDataElements|5.1.000`
Dependency | Description: Library FHIRHelpers Resource: https://madie.cms.gov/Library/FHIRHelpers|4.4.000 Canonical URL: `https://madie.cms.gov/Library/FHIRHelpers|4.4.000`
Dependency | Description: Library AHA Resource: https://madie.cms.gov/Library/AHAOverall|4.1.000 Canonical URL: `https://madie.cms.gov/Library/AHAOverall|4.1.000`
Dependency | Description: Library QICoreCommon Resource: https://madie.cms.gov/Library/QICoreCommon|4.0.000 Canonical URL: `https://madie.cms.gov/Library/QICoreCommon|4.0.000`
Data Requirements
Data Requirement | Type: Patient Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient Must Support Elements: extension, birthDate, birthDate.value, url
Data Requirement | Type: Encounter Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter Must Support Elements: type, period, status, status.value, id, id.value Code Filter(s): Path: type ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1012
Data Requirement | Type: Encounter Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter Must Support Elements: type, period, status, status.value, id, id.value Code Filter(s): Path: type ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001
Data Requirement | Type: Encounter Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter Must Support Elements: type, period, status, status.value, id, id.value Code Filter(s): Path: type ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008
Data Requirement | Type: Encounter Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter Must Support Elements: type, period, status, status.value, id, id.value Code Filter(s): Path: type ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1014
Data Requirement | Type: Encounter Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter Must Support Elements: type, period, status, status.value, id, id.value Code Filter(s): Path: type ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016
Data Requirement | Type: Encounter Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter Must Support Elements: type, period, status, status.value, id, id.value Code Filter(s): Path: type ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1012
Data Requirement | Type: Condition Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns Must Support Elements: code Code Filter(s): Path: code ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.369
Data Requirement | Type: Condition Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns Must Support Elements: code Code Filter(s): Path: code ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1090
Data Requirement | Type: Condition Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns Must Support Elements: code Code Filter(s): Path: code Code(s): http://snomed.info/sct#134401001: 'Left ventricular systolic dysfunction (disorder)'
Data Requirement | Type: Condition Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns Must Support Elements: code Code Filter(s): Path: code ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.403
Data Requirement | Type: Condition Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns Must Support Elements: code Code Filter(s): Path: code ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.366
Data Requirement | Type: Condition Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns Must Support Elements: code Code Filter(s): Path: code ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.362
Data Requirement | Type: Condition Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns Must Support Elements: code Code Filter(s): Path: code ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.412
Data Requirement | Type: Condition Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns Must Support Elements: code Code Filter(s): Path: code ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.370
Data Requirement | Type: Condition Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns Must Support Elements: code Code Filter(s): Path: code ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1177
Data Requirement | Type: Condition Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns Must Support Elements: code Code Filter(s): Path: code ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1178
Data Requirement | Type: Condition Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns Must Support Elements: code Code Filter(s): Path: code ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.367
Data Requirement | Type: Condition Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns Must Support Elements: code Code Filter(s): Path: code ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.368
Data Requirement | Type: Condition Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-encounter-diagnosis Must Support Elements: code Code Filter(s): Path: code ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.369
Data Requirement | Type: Condition Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-encounter-diagnosis Must Support Elements: code Code Filter(s): Path: code ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1090
Data Requirement | Type: Condition Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-encounter-diagnosis Must Support Elements: code Code Filter(s): Path: code Code(s): http://snomed.info/sct#134401001: 'Left ventricular systolic dysfunction (disorder)'
Data Requirement | Type: Condition Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-encounter-diagnosis Must Support Elements: code Code Filter(s): Path: code ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.403
Data Requirement | Type: Condition Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-encounter-diagnosis Must Support Elements: code Code Filter(s): Path: code ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.370
Data Requirement | Type: Procedure Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure Must Support Elements: code, performed, status, status.value Code Filter(s): Path: code ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.371
Data Requirement | Type: Procedure Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure Must Support Elements: code, performed, status, status.value Code Filter(s): Path: code ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1178.53
Data Requirement | Type: Observation Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation-clinical-result Must Support Elements: code, value, status, status.value Code Filter(s): Path: code ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1134
Data Requirement | Type: Observation Profile(s): http://hl7.org/fhir/us/core/StructureDefinition/us-core-heart-rate Must Support Elements: effective, status, status.value, value
Data Requirement | Type: AllergyIntolerance Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-allergyintolerance Must Support Elements: verificationStatus
Data Requirement | Type: AllergyIntolerance Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-allergyintolerance Must Support Elements: code Code Filter(s): Path: code ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1493
Data Requirement | Type: AllergyIntolerance Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-allergyintolerance Must Support Elements: code Code Filter(s): Path: code Code(s): http://snomed.info/sct#373254001: 'Substance with beta adrenergic receptor antagonist mechanism of action (substance)'
Data Requirement | Type: MedicationRequest Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationnotrequested Must Support Elements: medication, authoredOn, authoredOn.value, status, status.value, intent, intent.value, reasonCode Code Filter(s): Path: medication ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1184
Data Requirement | Type: MedicationRequest Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest Must Support Elements: medication, dosageInstruction, status, status.value, intent, intent.value Code Filter(s): Path: medication ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1184
Data Requirement | Type: MedicationRequest Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest Must Support Elements: medication, dosageInstruction, status, status.value, intent, intent.value Code Filter(s): Path: medication ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1174
Data Requirement | Type: Coverage Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-coverage Must Support Elements: type, period Code Filter(s): Path: type ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591
Generated using version 0.4.8 of the sample-content-ig Liquid templates