Quality Measure Implementation Guide
2.0.0-ballot - STU 2 Ballot

Quality Measure Implementation Guide - Downloaded Version null See the Directory of published versions

## Measure: EXM108 - Venous Thromboembolism Prophylaxis (Experimental)

Official URL: http://hl7.org/fhir/uv/cqm/Measure/EXM108-FHIR | Version: 8.2.000 | Highlight text changes?
Standards status: Informative Active as of 2025-08-13 | Computable Name: EXM108
Other Identifiers: http://example.org/fhir/cqi/ecqm/Measure/Identifier/cms#108 (use: official, ), OID:2.16.840.1.113883.4.642.40.61.29.3
Usage: Clinical Venue: EH
Copyright/Legal: Measure specifications are in the Public Domain. LOINC(R) is a registered trademark of the Regenstrief Institute. This material contains SNOMED Clinical Terms(R) (SNOMED CT(C)) copyright 2004-2017 International Health Terminology Standards Development Organization. All rights reserved.

This measure assesses the number of patients who received VTE prophylaxis or have documentation why no VTE prophylaxis was given the day of or the day after hospital admission or surgery end date for surgeries that start the day of or the day after hospital admission

Metadata
Title | EXM108 - Venous Thromboembolism Prophylaxis
Version | 8.2.000
Identifier | 108
Identifier | urn:oid:2.16.840.1.113883.4.642.40.61.29.3
Effective Period | 2018-01-01 through 2018-12-31
Approval Date | 2019-03-08
Last Review Date | 2019-03-08
Experimental | true
Use Context | Clinical Venue = EH
Jurisdiction | 001 from http://unstats.un.org/unsd/methods/m49/m49.htm
Topic | Health Quality Measure Document
Steward (Publisher) | HL7 International / Clinical Quality Information
Description | This measure assesses the number of patients who received VTE prophylaxis or have documentation why no VTE prophylaxis was given the day of or the day after hospital admission or surgery end date for surgeries that start the day of or the day after hospital admission
Copyright | Measure specifications are in the Public Domain. LOINC(R) is a registered trademark of the Regenstrief Institute. This material contains SNOMED Clinical Terms(R) (SNOMED CT(C)) copyright 2004-2017 International Health Terminology Standards Development Organization. All rights reserved.
Disclaimer | These performance measures are not clinical guidelines and do not establish a standard of medical care, and have not been tested for all potential applications. The measures and specifications are provided without warranty
Measure Basis | Encounter
Measure Scoring | Proportion
Improvement Notation | Increased score indicates improvement
Measure Type | process from http://terminology.hl7.org/CodeSystem/measure-type
Rationale | Hospitalized patients at high-risk for VTE may develop an asymptomatic deep vein thrombosis (DVT), and die from pulmonary embolism (PE) even before the diagnosis is suspected. The majority of fatal events occur as sudden or abrupt death, underscoring the importance of prevention as the most critical action step for reducing death from PE (Geerts, et al, 2008). The estimated annual incidence of deep-vein thrombosis (DVT) and pulmonary embolism (PE), known collectively as venous thromboembolism (VTE), is approximately 900,000 (Geerts, et al, 2008). Approximately two-thirds of cases of DVT or PE are associated with recent hospitalization. This is consistent with the 2001 report by The Agency for Healthcare Research and Quality (AHRQ). AHRQ indicates that "the appropriate application of effective preventive measures in hospitals has major potential for improving patient safety by reducing the incidence of venous thromboembolism" (Shojania, 2001). Despite its proven effectiveness, rates of appropriate thromboprophylaxis remain low in both medical and surgical patients. A recent analysis from the ENDORSE survey, which evaluated prophylaxis rates in 17,084 major surgery patients, found that more than one third of patients at risk for VTE (38%) did not receive prophylaxis and that rates varied by surgery type (Cohen, et al., 2008). In a review of evidence-based patient safety practices, the Agency for Healthcare Research and Quality defined thromboprophylaxis against VTE as the "number one patient safety practice" for hospitalized patients (Shojania, 2001). Updated "safe practices" published by the National Quality Forum (NQF) recommend routine evaluation of hospitalized patients for risk of VTE and use of appropriate prophylaxis (National Quality Forum. National Voluntary Consensus Standards for Prevention and Care of Venous Thromboembolism, 2006). As noted by the ACCP, a vast number of randomized clinical trials provide irrefutable evidence that thromboprophylaxis reduces VTE events, and there are studies that have also shown that fatal PE is prevented by thromboprophylaxis (Geerts, et al. 2008). Some select surgeries have previously been monitored in the Surgical Care Improvement Project; since performance on these surgeries has achieved very high levels, they are not included in this measure.
Clinical Recommendation Statement | Failure to recognize and protect patients at risk for venous thromboembolism (VTE) increases the chances for acutely ill hospitalized patients at high risk for developing a deep vein thrombosis or dying from a pulmonary emboli. Screening all patients is the only evidence based practice in reducing incidence of disease. All hospitalized patients should be evaluated for primary VTE prophylaxis, and given appropriate prophylaxis when indicated.
Measure Group (Rate) (ID: primary)
Supplemental Data Elements
Supplemental Data Element | Usage Code: Supplemental Data Description: No description provided Logic Definition: SDE Ethnicity
Supplemental Data Element | Usage Code: Supplemental Data Description: No description provided Logic Definition: SDE Payer
Supplemental Data Element | Usage Code: Supplemental Data Description: No description provided Logic Definition: SDE Race
Supplemental Data Element | Usage Code: Supplemental Data Description: No description provided Logic Definition: SDE Sex
Measure Logic
Primary Library | EXM108 - Venous Thromboembolism Prophylaxis Library
Contents | Population Criteria Logic Definitions Terminology Dependencies Data Requirements Parameters
Population Criteria
Measure Group (Rate) (ID: primary)
Logic Definitions
Logic Definition | Library Name: SupplementalDataElements
    define "SDE Sex":
      case
          when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }
          when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }
          else null
        end
Logic Definition | Library Name: SupplementalDataElements
    define "SDE Payer":
      [Coverage: type in "Payer"] Payer
            return {
              code: Payer.type,
              period: Payer.period
            }
Logic Definition | Library Name: SupplementalDataElements
    define "SDE Ethnicity":
      (flatten (
          Patient.extension Extension
            where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'
              return Extension.extension
        )) E
          where E.url = 'ombCategory'
            or E.url = 'detailed'
          return E.value as Coding
Logic Definition | Library Name: SupplementalDataElements
    define "SDE Race":
      (flatten (
          Patient.extension Extension
            where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'
              return Extension.extension
        )) E
          where E.url = 'ombCategory'
            or E.url = 'detailed'
          return E.value as Coding
Logic Definition | Library Name: TJCOverall
    define function "CalendarDayOfOrDayAfter"(StartValue DateTime ):
    	Interval(Global."ToDate"(StartValue), Global."ToDate"(StartValue + 2 days))
Logic Definition | Library Name: VTEICU
    define function "FromDayOfStartOfHospitalizationToDayAfterAdmission"(Encounter FHIR.Encounter ):
    	Interval[Global."ToDate"(start of Global."HospitalizationWithObservation"(Encounter)), Global."ToDate"(start of Encounter.period + 2 days))
Logic Definition | Library Name: EXM108
    define "SDE Sex":
    	SDE."SDE Sex"
Logic Definition | Library Name: EXM108
    define "Admission Without VTE or Obstetrical Conditions":
      Global."Inpatient Encounter" InpatientEncounter
        where not exists (
          (Global.EncounterDiagnosis(InpatientEncounter)) EncounterDiagnosis
            where EncounterDiagnosis.code in "Obstetrics"
              or EncounterDiagnosis.code in "Venous Thromboembolism"
              or EncounterDiagnosis.code in "Obstetrics VTE"
        )
Logic Definition | Library Name: EXM108
    // Note: added FHIRHelpers.ToDate() in R4
    define "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions":
      ( Global."Inpatient Encounter" InpatientEncounter
            where Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of InpatientEncounter.period) >= 18
      )
        intersect "Admission Without VTE or Obstetrical Conditions"
Logic Definition | Library Name: EXM108
    // 10/29: Replaced DeviceUseStatement with Procedure with a new value set and procedure.usdCode for specifying devices
    define "VTE Prophylaxis by Medication Administered or Device Applied":
      ( ["MedicationAdministration": medication in "Low Dose Unfractionated Heparin for VTE Prophylaxis"] VTEMedication
          where VTEMedication.status ='completed'
    			     and VTEMedication.dosage.route in "Subcutaneous route"
      )
       union (["MedicationAdministration": medication in "Low Molecular Weight Heparin for VTE Prophylaxis"] LMWH where LMWH.status = 'completed')
        union (["MedicationAdministration": medication in "Injectable Factor Xa Inhibitor for VTE Prophylaxis"] FactorXa where FactorXa.status = 'completed')
         union (["MedicationAdministration": medication in "Warfarin"] Warfarin where Warfarin.status = 'completed')
          union (
              ["Procedure": "Device Application"] DeviceApplied
              where DeviceApplied.status = 'complete'
                    and (DeviceApplied.usedCode in "Intermittent pneumatic compression devices (IPC)"
                        or DeviceApplied.usedCode in"Venous foot pumps (VFP)"
                        or DeviceApplied.usedCode in "Graduated compression stockings (GCS)"
                        )
              )
Logic Definition | Library Name: EXM108
    define "Encounter With VTE Prophylaxis Received on Day of or Day After Admission or Procedure":
     	( from
          "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,
          "VTE Prophylaxis by Medication Administered or Device Applied" VTEProphylaxis
        where Coalesce(Global."Normalize Interval"(VTEProphylaxis.effective), Global."Normalize Interval"(VTEProphylaxis.performed)) starts during TJC."CalendarDayOfOrDayAfter"(start of QualifyingEncounter.period)
        return QualifyingEncounter
     	)
     	union (
        from
          "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,
          ["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,
          "VTE Prophylaxis by Medication Administered or Device Applied" VTEProphylaxis
        where Global."Normalize Interval"(AnesthesiaProcedure.performed) ends 1 day after day of start of QualifyingEncounter.period
          and Coalesce(Global."Normalize Interval"(VTEProphylaxis.effective), Global."Normalize Interval"(VTEProphylaxis.performed)) starts during TJC."CalendarDayOfOrDayAfter"(end of Global."Normalize Interval"(AnesthesiaProcedure.performed))
        return QualifyingEncounter
    	)
Logic Definition | Library Name: EXM108
    define "Encounter With Medication Oral Factor Xa Inhibitor Administered on Day of or Day After Admission or Procedure":
    	( from
        		"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,
      			["MedicationAdministration": medication in "Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment"] FactorXaMedication
        where FactorXaMedication.status = 'completed'
          and Global."Normalize Interval"(FactorXaMedication.effective) starts during TJC."CalendarDayOfOrDayAfter"(start of QualifyingEncounter.period)
        return QualifyingEncounter
        )
        union ( from
        				  "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,
          				["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,
          				["MedicationAdministration": medication in "Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment"] FactorXaMedication
          			where FactorXaMedication.status = 'completed'
                    and AnesthesiaProcedure.status = 'completed'
          			    and Global."Normalize Interval"(AnesthesiaProcedure.performed) ends 1 day after day of start of QualifyingEncounter.period
          					and Global."Normalize Interval"(FactorXaMedication.effective) starts during TJC."CalendarDayOfOrDayAfter"(end of Global."Normalize Interval"(AnesthesiaProcedure.performed))
          			return QualifyingEncounter
          		)
Logic Definition | Library Name: EXM108
    define "Encounter With Prior or Present Diagnosis of Atrial Fibrillation or VTE":
    	( "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter
    		with ["Condition": code in "Atrial Fibrillation/Flutter"] AtrialFibrillation
    		such that FHIRHelpers.ToConcept(AtrialFibrillation.clinicalStatus) in { Global."active", Global."recurrence", Global."relapse" }
    			and Global."Normalize Interval"(AtrialFibrillation.onset) starts on or before end of QualifyingEncounter.period
        )
        union ( "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter
        				where Global.EncounterDiagnosis(QualifyingEncounter).code in "Atrial Fibrillation/Flutter"
        			)
        union ( "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter
        				with ["Condition": code in "Venous Thromboembolism"] VTEDiagnosis
        				such that  FHIRHelpers.ToConcept(VTEDiagnosis.clinicalStatus) in { Global."inactive", Global."remission", Global."resolved" }
          					//and VTEDiagnosis.verificationStatus = 'confirmed'
        				and Global."Normalize Interval"(VTEDiagnosis.onset) before start of QualifyingEncounter.period
          		)
Logic Definition | Library Name: EXM108
    define "Encounter With Prior or Present Procedure of Hip or Knee Replacement Surgery":
    	"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter
    	with ( ["Procedure": "Hip Replacement Surgery"]
        			union ["Procedure": "Knee Replacement Surgery"] ) HipKneeProcedure
    	such that HipKneeProcedure.status = 'completed'
    	     and Global."Normalize Interval"(HipKneeProcedure.performed) starts on or before end of QualifyingEncounter.period
Logic Definition | Library Name: EXM108
    define "Is In Low Risk for VTE or On Anticoagulant":
    	  ( ["Observation": "Risk for venous thromboembolism"] VTERiskAssessment
    			  where VTERiskAssessment.value in "Low Risk"
            and VTERiskAssessment.status in {'final','amended', 'corrected'}
    	  )
      union ( ["Observation": "INR"] INRLabTest
            where INRLabTest.value as Quantity > 3.0
                and INRLabTest.status in {'final','amended', 'corrected'}
            return "Observation" { id: INRLabTest.id, effective: INRLabTest.issued }
            )
      union ((( ["MedicationAdministration": "Unfractionated Heparin"] UnfractionatedHeparin
              where UnfractionatedHeparin.dosage.route in "Intravenous route"
             )
             union ["MedicationAdministration": "Direct Thrombin Inhibitor"]
             union ["MedicationAdministration": "Glycoprotein IIb/IIIa Inhibitors"] ) AnticoagulantMedication
             where AnticoagulantMedication.status = 'complete'
             return "Observation" { id: AnticoagulantMedication.id, effective: AnticoagulantMedication.effective }
          )
Logic Definition | Library Name: EXM108
    define "Low Risk for VTE or Anticoagulant Administered From Day of Start of Hospitalization To Day After Admission":
     	"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter
        with "Is In Low Risk for VTE or On Anticoagulant" VTERiskAssessment
        such that Global."Normalize Interval"(VTERiskAssessment.effective) starts during VTEICU."FromDayOfStartOfHospitalizationToDayAfterAdmission"(QualifyingEncounter)
Logic Definition | Library Name: EXM108
    define "Low Risk for VTE or Anticoagulant Administered on Day of or Day After Procedure":
     	from
       		"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,
       		["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,
       		"Is In Low Risk for VTE or On Anticoagulant" VTERiskAssessment
    	where Global."Normalize Interval"(AnesthesiaProcedure.performed) ends 1 day after day of start of QualifyingEncounter.period
     			and Global."Normalize Interval"(VTERiskAssessment.effective) starts during TJC."CalendarDayOfOrDayAfter"(end of Global."Normalize Interval"(AnesthesiaProcedure.performed))
    	return QualifyingEncounter
Logic Definition | Library Name: EXM108
    define "Encounter With Low Risk for VTE or Anticoagulant Administered":
       "Low Risk for VTE or Anticoagulant Administered From Day of Start of Hospitalization To Day After Admission"
       	 union "Low Risk for VTE or Anticoagulant Administered on Day of or Day After Procedure"
Logic Definition | Library Name: EXM108
    define "No VTE Prophylaxis Medication Administered or Ordered":
       ((	["MedicationAdministration": medication in "Low Dose Unfractionated Heparin for VTE Prophylaxis"]
         union
    	    ["MedicationAdministration": medication in "Low Molecular Weight Heparin for VTE Prophylaxis"]
         union
    	    ["MedicationAdministration": medication in "Injectable Factor Xa Inhibitor for VTE Prophylaxis"]
         union
    	    ["MedicationAdministration": medication in "Warfarin"]
           ) MedicationAdm
           where MedicationAdm.status = 'not-done'
            )
      union
    	   ((	["MedicationRequest": medication in "Low Dose Unfractionated Heparin for VTE Prophylaxis"]
      	union
      	 ["MedicationRequest": medication in "Low Molecular Weight Heparin for VTE Prophylaxis"]
        union
        	["MedicationRequest": medication in "Injectable Factor Xa Inhibitor for VTE Prophylaxis"]
        union
        	["MedicationRequest": medication in "Warfarin"]
        ) MedicationOrder
        	where	MedicationOrder.doNotPerform is true
            and MedicationOrder.status in {'completed', 'cancelled'}
            //11/5 discussion: all expressions for QI-Core must include a status.
            //Therefore, we need ServiceRequest.status = completed; and MedicationRequest.status = cancelled (or completed, since cancelled indicates it was once ordered but intentionally never filled).
            //So the not done issue is handled by ServiceRequest.doNotPerform = True  Or MedicationRequest.doNotPerform = True
        )
Logic Definition | Library Name: EXM108
    define "No VTE Prophylaxis Medication Due to Medical Reason From Day of Start of Hospitalization To Day After Admission":
       	"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter
           with	"No VTE Prophylaxis Medication Administered or Ordered" NoVTEMedication
         	such that Coalesce(NoVTEMedication.statusReason,NoVTEMedication.reasonCode) in "Medical Reason"
          			and Coalesce(NoVTEMedication.authoredOn, start of Global."Normalize Interval"(NoVTEMedication.effective)) during VTEICU."FromDayOfStartOfHospitalizationToDayAfterAdmission"(QualifyingEncounter)
Logic Definition | Library Name: EXM108
    define "No VTE Prophylaxis Device Applied or Ordered":
      ((
        ["ServiceRequest": "Venous foot pumps (VFP)"]
        union ["ServiceRequest": "Intermittent pneumatic compression devices (IPC)"]
        union ["ServiceRequest": "Graduated compression stockings (GCS)"]
        ) DeviceOrder
        where DeviceOrder.status = 'completed'
            and DeviceOrder.doNotPerform is true
        return {id: DeviceOrder.id, requestStatusReason: GetStatusReason(DeviceOrder), authoredOn: DeviceOrder.authoredOn}
        )
      union
        (
          ["Procedure": "Device Application"] DeviceApplied
          let DeviceNotDoneTiming: Global.GetExtension(DeviceApplied, 'qicore-recorded').value
          where (DeviceApplied.usedCode in "Intermittent pneumatic compression devices (IPC)"
                or DeviceApplied.usedCode in "Venous foot pumps (VFP)"
                or DeviceApplied.usedCode in "Graduated compression stockings (GCS)"
                )
             and  DeviceApplied.status = 'not-done'
             return {id: DeviceApplied.id, requestStatusReason: DeviceApplied.statusReason, authoredOn: DeviceNotDoneTiming}

        )
Logic Definition | Library Name: EXM108
    define "No VTE Prophylaxis Device Due to Medical Reason From Day of Start of Hospitalization To Day After Admission":
      "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter
      	with "No VTE Prophylaxis Device Applied or Ordered" NoVTEDevice
          such that NoVTEDevice.requestStatusReason in "Medical Reason"
            and  NoVTEDevice.authoredOn during VTEICU."FromDayOfStartOfHospitalizationToDayAfterAdmission"(QualifyingEncounter)
Logic Definition | Library Name: EXM108
    define "No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Procedure":
    	from
      		"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,
      		["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,
      		"No VTE Prophylaxis Medication Administered or Ordered" NoVTEMedication
    	where Coalesce(NoVTEMedication.statusReason,NoVTEMedication.reasonCode) in "Medical Reason"
    			and AnesthesiaProcedure.status = 'completed'
    			and Global."Normalize Interval"(AnesthesiaProcedure.performed) ends 1 day after day of start of QualifyingEncounter.period
    			and Coalesce(NoVTEMedication.authoredOn, start of Global."Normalize Interval"(NoVTEMedication.effective)) during TJC."CalendarDayOfOrDayAfter"(end of Global."Normalize Interval"(AnesthesiaProcedure.performed))
      return QualifyingEncounter
Logic Definition | Library Name: EXM108
    define "No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Procedure":
      from
      		"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,
      		["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,
      		"No VTE Prophylaxis Device Applied or Ordered" NoVTEDevice
      where  NoVTEDevice.requestStatusReason in "Medical Reason"
          and AnesthesiaProcedure.status = 'completed'
      		and Global."Normalize Interval"(AnesthesiaProcedure.performed) ends 1 day after day of start of QualifyingEncounter.period
          and NoVTEDevice.authoredOn during TJC."CalendarDayOfOrDayAfter"(end of Global."Normalize Interval"(AnesthesiaProcedure.performed))
      return QualifyingEncounter
Logic Definition | Library Name: EXM108
    define "Encounter With No VTE Prophylaxis Due to Medical Reason":
       ( "No VTE Prophylaxis Medication Due to Medical Reason From Day of Start of Hospitalization To Day After Admission"
         intersect "No VTE Prophylaxis Device Due to Medical Reason From Day of Start of Hospitalization To Day After Admission"
       )
       union ( "No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Procedure"
           intersect "No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Procedure"
           )
Logic Definition | Library Name: EXM108
    define "No VTE Prophylaxis Medication or Device Due to Patient Refusal":
        ( "No VTE Prophylaxis Medication Administered or Ordered" NoVTEMedication
            where Coalesce(NoVTEMedication.statusReason,NoVTEMedication.reasonCode) in "Patient Refusal"
        )
      union ("No VTE Prophylaxis Device Applied or Ordered" NoVTEDevice
               where NoVTEDevice.requestStatusReason in "Patient Refusal"
            )
Logic Definition | Library Name: EXM108
    define "No VTE Prophylaxis Due to Patient Refusal From Day of Start of Hospitalization To Day After Admission":
     	"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter
    	 with "No VTE Prophylaxis Medication or Device Due to Patient Refusal" PatientRefusal
       such that Coalesce(start of Global."Normalize Interval"(PatientRefusal.effective), PatientRefusal.authoredOn)
             during VTEICU."FromDayOfStartOfHospitalizationToDayAfterAdmission"(QualifyingEncounter)
Logic Definition | Library Name: EXM108
    define "No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Procedure":
     	from
       		"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,
       		["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,
       		"No VTE Prophylaxis Medication or Device Due to Patient Refusal" PatientRefusal
    	where Global."Normalize Interval"(AnesthesiaProcedure.performed) ends 1 day after day of start of QualifyingEncounter.period
     			and Coalesce(start of Global."Normalize Interval"(PatientRefusal.effective), PatientRefusal.authoredOn)
                 during TJC."CalendarDayOfOrDayAfter"(end of Global."Normalize Interval"(AnesthesiaProcedure.performed))
    	return QualifyingEncounter
Logic Definition | Library Name: EXM108
    define "Encounter With No VTE Prophylaxis Due to Patient Refusal":
     "No VTE Prophylaxis Due to Patient Refusal From Day of Start of Hospitalization To Day After Admission"
     	union "No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Procedure"
Logic Definition | Library Name: EXM108
    define "Numerator":
      "Encounter With VTE Prophylaxis Received on Day of or Day After Admission or Procedure"
        union ( "Encounter With Medication Oral Factor Xa Inhibitor Administered on Day of or Day After Admission or Procedure"
        			  intersect ( "Encounter With Prior or Present Diagnosis of Atrial Fibrillation or VTE"
        						    union "Encounter With Prior or Present Procedure of Hip or Knee Replacement Surgery"
        			            )
              )
        union "Encounter With Low Risk for VTE or Anticoagulant Administered"
        union "Encounter With No VTE Prophylaxis Due to Medical Reason"
        union "Encounter With No VTE Prophylaxis Due to Patient Refusal"
Logic Definition | Library Name: EXM108
    define "Initial Population":
      "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions"
Logic Definition | Library Name: EXM108
    define "Denominator":
          "Initial Population"
Logic Definition | Library Name: EXM108
    define "SDE Payer":
    	SDE."SDE Payer"
Logic Definition | Library Name: EXM108
    define "SDE Ethnicity":
      SDE."SDE Ethnicity"
Logic Definition | Library Name: EXM108
    define "Encounter Less Than 2 Days":
      "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter
      	where Global."LengthInDays"(QualifyingEncounter.period)< 2
Logic Definition | Library Name: EXM108
    define "Encounter With ICU Location Stay 1 Day or More":
      "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter
        where exists ( QualifyingEncounter.location Location
        		where Global.GetLocation(Location.location).type in "Intensive Care Unit"
        			and Global."LengthInDays"(Location.period)>= 1
        			and Location.period starts during TJC."CalendarDayOfOrDayAfter"(start of QualifyingEncounter.period)
    	    )
Logic Definition | Library Name: EXM108
    define "Encounter With Principal Diagnosis of Mental Disorder or Stroke":
      "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter
        where Global."PrincipalDiagnosis"(QualifyingEncounter).code in "Mental Health Diagnoses"
            or Global."PrincipalDiagnosis"(QualifyingEncounter).code in "Hemorrhagic Stroke"
            or Global."PrincipalDiagnosis"(QualifyingEncounter).code in "Ischemic Stroke"
Logic Definition | Library Name: EXM108
    define "SCIP VTE Selected Surgery":
      (	["Procedure": "General Surgery"]
        union ["Procedure": "Gynecological Surgery"]
        union ["Procedure": "Hip Fracture Surgery"]
        union ["Procedure": "Hip Replacement Surgery"]
        union ["Procedure": "Intracranial Neurosurgery"]
        union ["Procedure": "Knee Replacement Surgery"]
        union ["Procedure": "Urological Surgery"] ) Procedure
      where Procedure.status = 'completed'
Logic Definition | Library Name: EXM108
    define "Encounter With Principal Procedure of SCIP VTE Selected Surgery":
      from
        "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,
        "SCIP VTE Selected Surgery" SelectedProcedure
      let EncounterProcedure: Global.GetExtension(QualifyingEncounter, 'qicore-encounter-procedure')
      where FHIRHelpers.ToInteger(Global.GetExtension(EncounterProcedure, 'rank').value as FHIR.positiveInt) = 1
        and Global.GetId(FHIRHelpers.ToString((Global.GetExtension(EncounterProcedure, 'procedure').value as FHIR.Reference).reference)) = SelectedProcedure.id
        and Global."Normalize Interval"(SelectedProcedure.performed) during QualifyingEncounter.period
Logic Definition | Library Name: EXM108
    define "Intervention Comfort Measures":
    	(["ServiceRequest": "Comfort Measures"] P
        		where P.intent = 'order'
      )
      	union
        	(["Procedure": "Comfort Measures"] InterventionPerformed
          	where InterventionPerformed.status in {'completed', 'in-progress'})
Logic Definition | Library Name: EXM108
    define "Encounter With Intervention Comfort Measures From Day of Start of Hospitalization To Day After Admission":
    	"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter
    		with "Intervention Comfort Measures" ComfortMeasure
    		such that Coalesce(start of Global."Normalize Interval"(ComfortMeasure.performed), ComfortMeasure.authoredOn) during VTEICU."FromDayOfStartOfHospitalizationToDayAfterAdmission"(QualifyingEncounter)
Logic Definition | Library Name: EXM108
    define "Encounter With Intervention Comfort Measures on Day of or Day After Procedure":
      from
        "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,
        ["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,
        "Intervention Comfort Measures" ComfortMeasure
      where AnesthesiaProcedure.status = 'completed'
          and Global."Normalize Interval"(AnesthesiaProcedure.performed) ends 1 day after day of start of QualifyingEncounter.period
          and Coalesce(start of Global."Normalize Interval"(ComfortMeasure.performed), ComfortMeasure.authoredOn) during TJC."CalendarDayOfOrDayAfter"(end of Global."Normalize Interval"(AnesthesiaProcedure.performed))
      return QualifyingEncounter
Logic Definition | Library Name: EXM108
    define "Denominator Exclusion":
      "Encounter Less Than 2 Days"
         union "Encounter With ICU Location Stay 1 Day or More"
         union "Encounter With Principal Diagnosis of Mental Disorder or Stroke"
         union "Encounter With Principal Procedure of SCIP VTE Selected Surgery"
         union "Encounter With Intervention Comfort Measures From Day of Start of Hospitalization To Day After Admission"
         union "Encounter With Intervention Comfort Measures on Day of or Day After Procedure"
Logic Definition | Library Name: EXM108
    define "SDE Race":
      SDE."SDE Race"
Logic Definition | Library Name: EXM108
    //11/5: ServiceRequest not done reason is an extension in QI-Core R4 as ServiceRequest.extension:statusReason
    define function GetStatusReason(requestReason ServiceRequest):
          Global.GetBaseExtension(requestReason, 'request-statusReason')
Logic Definition | Library Name: MATGlobalCommonFunctions
    define "Inpatient Encounter":
    	[Encounter: "Encounter Inpatient"] EncounterInpatient
    		where EncounterInpatient.status = 'finished'
    		    and "LengthInDays"(EncounterInpatient.period) <= 120
    			and EncounterInpatient.period ends during "Measurement Period"
Logic Definition | Library Name: MATGlobalCommonFunctions
    define function "LengthInDays"(Value Interval<DateTime>):
    	difference in days between start of Value and end of Value
Logic Definition | Library Name: MATGlobalCommonFunctions
    define function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):
    	years between ToDate(BirthDateTime)and ToDate(AsOf)
Logic Definition | Library Name: MATGlobalCommonFunctions
    define function "ToDate"(Value DateTime):
    	DateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezoneoffset from Value)
Logic Definition | Library Name: MATGlobalCommonFunctions
    define function "EncounterDiagnosis"(Encounter Encounter):
      Encounter.diagnosis D
        return singleton from ([Condition] C where C.id = "GetId"(D.condition.reference))
Logic Definition | Library Name: MATGlobalCommonFunctions
    define function "GetId"(uri String):
    	Last(Split(uri, '/'))
Logic Definition | Library Name: MATGlobalCommonFunctions
    /*
    *
    *    CQFMeasures Common Logic
    *
    */

    define function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instant, FHIR.string, FHIR.Age, FHIR.Range>):
      case
    	  when choice is FHIR.dateTime then
        	Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]
    		when choice is FHIR.Period then
      		FHIRHelpers.ToInterval(choice as FHIR.Period)
    		when choice is FHIR.instant then
    			Interval[FHIRHelpers.ToDateTime(choice as FHIR.instant), FHIRHelpers.ToDateTime(choice as FHIR.instant)]
    		when choice is FHIR.Age then
    		  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(choice as FHIR.Age),
    			  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(choice as FHIR.Age) + 1 year)
    		when choice is FHIR.Range then
    		  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).low),
    			  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).high) + 1 year)
    		when choice is FHIR.Timing then
    		  Message(null as Interval<DateTime>, true, '1', 'Error', 'Cannot compute a single interval from a Timing type')
        when choice is FHIR.string then
          Message(null as Interval<DateTime>, true, '1', 'Error', 'Cannot compute an interval from a String value')
    		else
    			null as Interval<DateTime>
    	end
Logic Definition | Library Name: MATGlobalCommonFunctions
    define function "HospitalizationWithObservation"(TheEncounter FHIR.Encounter):
    	TheEncounter Visit
    		let ObsVisit: Last([Encounter: "Observation Services"] LastObs
    				where LastObs.period ends 1 hour or less on or before start of Visit.period
    				sort by end of period
    			),
    			VisitStart: Coalesce(start of ObsVisit.period, start of Visit.period),
    			EDVisit: Last([Encounter: "Emergency Department Visit"] LastED
    				where LastED.period ends 1 hour or less on or before VisitStart
    				sort by end of period
    			)
    		return Interval[Coalesce(start of EDVisit.period, VisitStart), end of Visit.period]
Logic Definition | Library Name: MATGlobalCommonFunctions
    define function "GetBaseExtension"(domainResource DomainResource, url String):
      singleton from "GetBaseExtensions"(domainResource, url)
Logic Definition | Library Name: MATGlobalCommonFunctions
    /*
    NOTE: Extensions are not the preferred approach, but are used as a way to access
    content that is defined by extensions but not yet surfaced in the
    CQL model info.
    */
    define function "GetBaseExtensions"(domainResource DomainResource, url String):
      domainResource.extension E
    	  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)
    		return E
Logic Definition | Library Name: MATGlobalCommonFunctions
    define function "GetExtension"(domainResource DomainResource, url String):
      singleton from "GetExtensions"(domainResource, url)
Logic Definition | Library Name: MATGlobalCommonFunctions
    /*
    NOTE: Extensions are not the preferred approach, but are used as a way to access
    content that is defined by extensions but not yet surfaced in the
    CQL model info.
    */
    define function "GetExtensions"(domainResource DomainResource, url String):
      domainResource.extension E
    	  where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)
    		return E
Logic Definition | Library Name: MATGlobalCommonFunctions
    // Returns the location for the given location reference
    define function GetLocation(reference Reference):
      singleton from (
        [Location] L where L.id = GetId(reference.reference)
      )
Logic Definition | Library Name: MATGlobalCommonFunctions
    // Returns the condition that is specified as the principal diagnosis for the encounter
    // TODO: BTR 2019-07-30: Shouldn't need the FHIRHelpers reference here, investigate
    define function "PrincipalDiagnosis"(Encounter Encounter):
    	(singleton from (Encounter.diagnosis D where FHIRHelpers.ToInteger(D.rank) = 1)) PD
    		return singleton from ([Condition] C where C.id = "GetId"(PD.condition.reference))
Logic Definition | Library Name: MATGlobalCommonFunctions
    define function "GetExtension"(element Element, url String):
      singleton from "GetExtensions"(element, url)
Logic Definition | Library Name: MATGlobalCommonFunctions
    /*
    NOTE: Extensions are not the preferred approach, but are used as a way to access
    content that is defined by extensions but not yet surfaced in the
    CQL model info.
    */
    define function "GetExtensions"(element Element, url String):
      element.extension E
    	  where E.url = (url)
    		return E
Logic Definition | Library Name: FHIRHelpers
    define function ToString(value AdministrativeGender): value.value
Logic Definition | Library Name: FHIRHelpers
    define function ToString(value EncounterStatus): 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
    define function ToDate(value date): value.value
Logic Definition | Library Name: FHIRHelpers
    define function ToString(value string): value.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: FHIRHelpers
    define function ToString(value MedicationAdministrationStatus): value.value
Logic Definition | Library Name: FHIRHelpers
    define function ToString(value ProcedureStatus): value.value
Logic Definition | Library Name: FHIRHelpers
    define function ToDateTime(value dateTime): value.value
Logic Definition | Library Name: FHIRHelpers
    define function ToDateTime(value instant): value.value
Logic Definition | Library Name: FHIRHelpers
    /*
    @description: Converts the given FHIR [Quantity](https://hl7.org/fhir/datatypes.html#Quantity)
    value to a CQL Quantity
    @comment: If the given quantity has a comparator specified, a runtime error is raised. If the given quantity
    has a system other than UCUM (i.e. `http://unitsofmeasure.org`) or CQL calendar units (i.e. `http://hl7.org/fhirpath/CodeSystem/calendar-units`)
    an error is raised. For UCUM to calendar units, the `ToCalendarUnit` function is used.
    @seealso: ToCalendarUnit
    */
    define function ToQuantity(quantity FHIR.Quantity):
        case
            when quantity is null then null
            when quantity.value is null then null
            when quantity.comparator is not null then
                Message(null, true, 'FHIRHelpers.ToQuantity.ComparatorQuantityNotSupported', 'Error', 'FHIR Quantity value has a comparator and cannot be converted to a System.Quantity value.')
            when quantity.system is null or quantity.system.value = 'http://unitsofmeasure.org'
                  or quantity.system.value = 'http://hl7.org/fhirpath/CodeSystem/calendar-units' then
                System.Quantity { value: quantity.value.value, unit: ToCalendarUnit(Coalesce(quantity.code.value, quantity.unit.value, '1')) }
            else
                Message(null, true, 'FHIRHelpers.ToQuantity.InvalidFHIRQuantity', 'Error', 'Invalid FHIR Quantity code: ' & quantity.unit.value & ' (' & quantity.system.value & '|' & quantity.code.value & ')')
        end
Logic Definition | Library Name: FHIRHelpers
    /*
    @description: Converts a UCUM definite duration unit to a CQL calendar duration
    unit using conversions specified in the [quantities](https://cql.hl7.org/02-authorsguide.html#quantities)
    topic of the CQL specification.
    @comment: Note that for durations above days (or weeks), the conversion is understood to be approximate
    */
    define function ToCalendarUnit(unit System.String):
        case unit
            when 'ms' then 'millisecond'
            when 's' then 'second'
            when 'min' then 'minute'
            when 'h' then 'hour'
            when 'd' then 'day'
            when 'wk' then 'week'
            when 'mo' then 'month'
            when 'a' then 'year'
            else unit
        end
Logic Definition | Library Name: FHIRHelpers
    define function ToString(value ObservationStatus): value.value
Logic Definition | Library Name: FHIRHelpers
    define function ToBoolean(value boolean): value.value
Logic Definition | Library Name: FHIRHelpers
    define function ToString(value MedicationRequestStatus): value.value
Logic Definition | Library Name: FHIRHelpers
    define function ToString(value ServiceRequestStatus): value.value
Logic Definition | Library Name: FHIRHelpers
    define function ToString(value uri): value.value
Logic Definition | Library Name: FHIRHelpers
    define function ToInteger(value integer): value.value
Logic Definition | Library Name: FHIRHelpers
    define function ToString(value ServiceRequestIntent): value.value
Terminology
Code System | Description: Code system ConditionClinicalStatusCodes Resource: Condition Clinical Status Codes Canonical URL: `http://terminology.hl7.org/CodeSystem/condition-clinical`
Code System | Description: Code system LOINC Resource: Logical Observation Identifiers, Names and Codes (LOINC) Canonical URL: `http://loinc.org`
Value Set | Description: Value set Encounter Inpatient Resource: Encounter Inpatient Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307`
Value Set | Description: Value set Obstetrics Resource: Obstetrical or Pregnancy Related Conditions Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.263`
Value Set | Description: Value set Venous Thromboembolism Resource: Venous Thromboembolism Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279`
Value Set | Description: Value set Obstetrics VTE Resource: Obstetrics VTE Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.264`
Value Set | Description: Value set Low Dose Unfractionated Heparin for VTE Prophylaxis Resource: Low Dose Unfractionated Heparin for VTE Prophylaxis Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39`
Value Set | Description: Value set Subcutaneous route Resource: Subcutaneous route Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.223`
Value Set | Description: Value set Low Molecular Weight Heparin for VTE Prophylaxis Resource: Low Molecular Weight Heparin for VTE Prophylaxis Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219`
Value Set | Description: Value set Injectable Factor Xa Inhibitor for VTE Prophylaxis Resource: Injectable Factor Xa Inhibitor for VTE Prophylaxis Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211`
Value Set | Description: Value set Warfarin Resource: Warfarin Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232`
Value Set | Description: Value set Device Application Resource: Device Application Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.48`
Value Set | Description: Value set Intermittent pneumatic compression devices (IPC) Resource: Intermittent pneumatic compression devices Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214`
Value Set | Description: Value set Venous foot pumps (VFP) Resource: Venous foot pumps Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230`
Value Set | Description: Value set Graduated compression stockings (GCS) Resource: Graduated compression stockings Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256`
Value Set | Description: Value set General or Neuraxial Anesthesia Resource: General or Neuraxial Anesthesia Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743`
Value Set | Description: Value set Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment Resource: Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134`
Value Set | Description: Value set Atrial Fibrillation/Flutter Resource: Atrial Fibrillation or Flutter Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202`
Value Set | Description: Value set Hip Replacement Surgery Resource: Hip Replacement Surgery Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259`
Value Set | Description: Value set Knee Replacement Surgery Resource: Knee Replacement Surgery Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261`
Value Set | Description: Value set Low Risk Resource: Low Risk Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.400`
Value Set | Description: Value set INR Resource: INR Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.213`
Value Set | Description: Value set Unfractionated Heparin Resource: Unfractionated Heparin Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.218`
Value Set | Description: Value set Intravenous route Resource: Intravenous route Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.222`
Value Set | Description: Value set Direct Thrombin Inhibitor Resource: Direct Thrombin Inhibitor Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.205`
Value Set | Description: Value set Glycoprotein IIb/IIIa Inhibitors Resource: Glycoprotein IIb IIIa Inhibitors Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.41`
Value Set | Description: Value set Observation Services Resource: Observation Services Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143`
Value Set | Description: Value set Emergency Department Visit Resource: Emergency Department Visit Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292`
Value Set | Description: Value set Medical Reason Resource: Medical Reason For Not Providing Treatment Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473`
Value Set | Description: Value set Patient Refusal Resource: Patient Refusal Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93`
Value Set | Description: Value set Payer Resource: Payer Type Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591`
Value Set | Description: Value set Intensive Care Unit Resource: Intensive Care Unit Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.23`
Value Set | Description: Value set Mental Health Diagnoses Resource: Mental Health Diagnoses Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.105.12.1004`
Value Set | Description: Value set Hemorrhagic Stroke Resource: Hemorrhagic Stroke Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212`
Value Set | Description: Value set Ischemic Stroke Resource: Ischemic Stroke Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247`
Value Set | Description: Value set General Surgery Resource: General Surgery Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.255`
Value Set | Description: Value set Gynecological Surgery Resource: Gynecological Surgery Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257`
Value Set | Description: Value set Hip Fracture Surgery Resource: Hip Fracture Surgery Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258`
Value Set | Description: Value set Intracranial Neurosurgery Resource: Intracranial Neurosurgery Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260`
Value Set | Description: Value set Urological Surgery Resource: Urological Surgery Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272`
Value Set | Description: Value set Comfort Measures Resource: Comfort Measures Canonical URL: `http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45`
Direct Reference Code | Code: active System: `http://terminology.hl7.org/CodeSystem/condition-clinical`
Direct Reference Code | Code: recurrence System: `http://terminology.hl7.org/CodeSystem/condition-clinical`
Direct Reference Code | Code: relapse System: `http://terminology.hl7.org/CodeSystem/condition-clinical`
Direct Reference Code | Code: inactive System: `http://terminology.hl7.org/CodeSystem/condition-clinical`
Direct Reference Code | Code: remission System: `http://terminology.hl7.org/CodeSystem/condition-clinical`
Direct Reference Code | Code: resolved System: `http://terminology.hl7.org/CodeSystem/condition-clinical`
Direct Reference Code | Display: Risk for venous thromboembolism Code: 72136-5 System: `http://loinc.org`
Dependencies
Dependency | Description: FHIR model information Resource: http://hl7.org/fhir/uv/cql/Library/FHIR-ModelInfo|4.0.1 Canonical URL: `http://hl7.org/fhir/uv/cql/Library/FHIR-ModelInfo|4.0.1`
Dependency | Description: Library SDE Resource: Supplemental Data Elementsversion: null2.0.000) Canonical URL: `http://hl7.org/fhir/uv/cqm/Library/SupplementalDataElements|2.0.000`
Dependency | Description: Library FHIRHelpers Resource: http://hl7.org/fhir/uv/cql/Library/FHIRHelpers|4.0.1 Canonical URL: `http://hl7.org/fhir/uv/cql/Library/FHIRHelpers|4.0.1`
Dependency | Description: Library Global Resource: MAT Global Common Functions FHIR Libraryversion: null5.0.000) Canonical URL: `http://hl7.org/fhir/uv/cqm/Library/MATGlobalCommonFunctions|5.0.000`
Dependency | Description: Library TJC Resource: TJC Overall Libraryversion: null4.0.000) Canonical URL: `http://hl7.org/fhir/uv/cqm/Library/TJCOverall|4.0.000`
Dependency | Description: Library VTEICU Resource: VTE ICU Libraryversion: null5.0.000) Canonical URL: `http://hl7.org/fhir/uv/cqm/Library/VTEICU|5.0.000`
Data Requirements
Data Requirement | Type: Patient Profile(s): Patient Must Support Elements: url, extension, value
Data Requirement | Type: Encounter Profile(s): Encounter Must Support Elements: type, status, period, condition, condition.reference, location, rank Code Filter(s): Path: type ValueSet: Encounter Inpatient
Data Requirement | Type: Encounter Profile(s): Encounter Must Support Elements: type, period, condition, condition.reference, location, rank Code Filter(s): Path: type ValueSet: Observation Services
Data Requirement | Type: Encounter Profile(s): Encounter Must Support Elements: type, period, condition, condition.reference, location, rank Code Filter(s): Path: type ValueSet: Emergency Department Visit
Data Requirement | Type: Condition Profile(s): Condition Must Support Elements: code, clinicalStatus, onset Code Filter(s): Path: code ValueSet: Atrial Fibrillation or Flutter
Data Requirement | Type: Condition Profile(s): Condition Must Support Elements: code, clinicalStatus, onset Code Filter(s): Path: code ValueSet: Venous Thromboembolism
Data Requirement | Type: Condition Profile(s): Condition Must Support Elements: id, code
Data Requirement | Type: MedicationAdministration Profile(s): MedicationAdministration Must Support Elements: medication, status, effective, dosage, dosage.route, id Code Filter(s): Path: medication ValueSet: Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment
Data Requirement | Type: MedicationAdministration Profile(s): MedicationAdministration Must Support Elements: medication, dosage, dosage.route, status, id, effective Code Filter(s): Path: medication ValueSet: Unfractionated Heparin
Data Requirement | Type: MedicationAdministration Profile(s): MedicationAdministration Must Support Elements: medication, dosage, dosage.route, status, id, effective Code Filter(s): Path: medication ValueSet: Direct Thrombin Inhibitor
Data Requirement | Type: MedicationAdministration Profile(s): MedicationAdministration Must Support Elements: medication, dosage, dosage.route, status, id, effective Code Filter(s): Path: medication ValueSet: Glycoprotein IIb IIIa Inhibitors
Data Requirement | Type: MedicationAdministration Profile(s): MedicationAdministration Must Support Elements: medication.reference, dosage, dosage.route, status, id, effective
Data Requirement | Type: MedicationAdministration Profile(s): MedicationAdministration Must Support Elements: medication, status, dosage, dosage.route, id, effective Code Filter(s): Path: medication ValueSet: Low Dose Unfractionated Heparin for VTE Prophylaxis
Data Requirement | Type: MedicationAdministration Profile(s): MedicationAdministration Must Support Elements: medication, status, dosage, dosage.route, id, effective Code Filter(s): Path: medication ValueSet: Low Molecular Weight Heparin for VTE Prophylaxis
Data Requirement | Type: MedicationAdministration Profile(s): MedicationAdministration Must Support Elements: medication, status, dosage, dosage.route, id, effective Code Filter(s): Path: medication ValueSet: Injectable Factor Xa Inhibitor for VTE Prophylaxis
Data Requirement | Type: MedicationAdministration Profile(s): MedicationAdministration Must Support Elements: medication, status, dosage, dosage.route, id, effective Code Filter(s): Path: medication ValueSet: Warfarin
Data Requirement | Type: Procedure Profile(s): Procedure Must Support Elements: code, status, usedCode, performed, id, statusReason Code Filter(s): Path: code ValueSet: Device Application
Data Requirement | Type: Procedure Profile(s): Procedure Must Support Elements: code, status, performed, id Code Filter(s): Path: code ValueSet: General Surgery
Data Requirement | Type: Procedure Profile(s): Procedure Must Support Elements: code, status, performed, id Code Filter(s): Path: code ValueSet: Gynecological Surgery
Data Requirement | Type: Procedure Profile(s): Procedure Must Support Elements: code, status, performed, id Code Filter(s): Path: code ValueSet: Hip Fracture Surgery
Data Requirement | Type: Procedure Profile(s): Procedure Must Support Elements: code, status, performed, id Code Filter(s): Path: code ValueSet: Hip Replacement Surgery
Data Requirement | Type: Procedure Profile(s): Procedure Must Support Elements: code, status, performed, id Code Filter(s): Path: code ValueSet: Intracranial Neurosurgery
Data Requirement | Type: Procedure Profile(s): Procedure Must Support Elements: code, status, performed, id Code Filter(s): Path: code ValueSet: Knee Replacement Surgery
Data Requirement | Type: Procedure Profile(s): Procedure Must Support Elements: code, status, performed, id Code Filter(s): Path: code ValueSet: Urological Surgery
Data Requirement | Type: Procedure Profile(s): Procedure Must Support Elements: code, status, performed, id Code Filter(s): Path: code ValueSet: Comfort Measures
Data Requirement | Type: Procedure Profile(s): Procedure Must Support Elements: code, performed, status, id Code Filter(s): Path: code ValueSet: General or Neuraxial Anesthesia
Data Requirement | Type: Observation Profile(s): Observation Must Support Elements: code, value, status, effective Code Filter(s): Path: code Code(s): LOINC: 72136-5 (Risk for venous thromboembolism)
Data Requirement | Type: Observation Profile(s): Observation Must Support Elements: code, value, status, id, issued, effective Code Filter(s): Path: code ValueSet: INR
Data Requirement | Type: Medication Profile(s): Medication Must Support Elements: id, code
Data Requirement | Type: MedicationRequest Profile(s): MedicationRequest Must Support Elements: medication, doNotPerform, status Code Filter(s): Path: medication ValueSet: Low Dose Unfractionated Heparin for VTE Prophylaxis
Data Requirement | Type: MedicationRequest Profile(s): MedicationRequest Must Support Elements: medication, doNotPerform, status Code Filter(s): Path: medication ValueSet: Low Molecular Weight Heparin for VTE Prophylaxis
Data Requirement | Type: MedicationRequest Profile(s): MedicationRequest Must Support Elements: medication, doNotPerform, status Code Filter(s): Path: medication ValueSet: Injectable Factor Xa Inhibitor for VTE Prophylaxis
Data Requirement | Type: MedicationRequest Profile(s): MedicationRequest Must Support Elements: medication, doNotPerform, status Code Filter(s): Path: medication ValueSet: Warfarin
Data Requirement | Type: ServiceRequest Profile(s): ServiceRequest Must Support Elements: code, status, doNotPerform, id, authoredOn Code Filter(s): Path: code ValueSet: Venous foot pumps
Data Requirement | Type: ServiceRequest Profile(s): ServiceRequest Must Support Elements: code, status, doNotPerform, id, authoredOn Code Filter(s): Path: code ValueSet: Intermittent pneumatic compression devices
Data Requirement | Type: ServiceRequest Profile(s): ServiceRequest Must Support Elements: code, status, doNotPerform, id, authoredOn Code Filter(s): Path: code ValueSet: Graduated compression stockings
Data Requirement | Type: ServiceRequest Profile(s): ServiceRequest Must Support Elements: code, intent, status, doNotPerform, id, authoredOn Code Filter(s): Path: code ValueSet: Comfort Measures
Data Requirement | Type: Coverage Profile(s): Coverage Must Support Elements: type, period Code Filter(s): Path: type ValueSet: Payer Type
Data Requirement | Type: Location Profile(s): Location Must Support Elements: id
Parameters
Name | Use | Card. | Type | Documentation
Measurement Period | In | 0..1 | Period |
SDE Sex | Out | 0..1 | Coding |
Numerator | Out | 0..* | Encounter |
Denominator | Out | 0..* | Encounter |
SDE Payer | Out | 0..* | Resource |
Initial Population | Out | 0..* | Encounter |
SDE Ethnicity | Out | 0..* | Coding |
Denominator Exclusion | Out | 0..* | Resource |
SDE Race | Out | 0..* | Coding |
Generated using version 0.5.4 of the sample-content-ig Liquid templates