dQM QICore Content Implementation Guide
2025.0.0 - CI Build

dQM QICore Content Implementation Guide, published by cqframework. This guide is not an authorized publication; it is the continuous build for version 2025.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cqframework/dqm-content-qicore-2025/ and changes regularly. See the Directory of published versions

Library: NHSNGlycemicControlHypoglycemiaInitialPopulation

Official URL: https://madie.cms.gov/Library/NHSNGlycemicControlHypoglycemiaInitialPopulation Version: 0.0.003
Active as of 2025-08-21 Responsible: Centers for Disease Control and Prevention (CDC) Computable Name: NHSNGlycemicControlHypoglycemiaInitialPopulation
Other Identifiers: https://madie.cms.gov/login#NHSNGlycemicControlHypoglycemiaInitialPopulation (use: official, )

NHSNGlycemicControlHypoglycemiaInitialPopulation

Metadata
Title NHSNGlycemicControlHypoglycemiaInitialPopulation
Version 0.0.003
Identifier NHSNGlycemicControlHypoglycemiaInitialPopulation
Steward (Publisher) Centers for Disease Control and Prevention (CDC)
Description

NHSNGlycemicControlHypoglycemiaInitialPopulation

Type logic-library from http://terminology.hl7.org/CodeSystem/library-type
Parameter Name: Measurement Period
Use: In
Min Cardinality: 0
Max Cardinality: 1
Type: Period
Parameter Name: Patient
Use: Out
Min Cardinality: 0
Max Cardinality: 1
Type: Resource
Parameter Name: Inpatient Encounters During Measurement Period
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: Encounters with Patient Hospital Locations
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: MedicationRequests
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: MedicationAdministrations
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: Antidiabetic Drugs Administered or Ordered
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: Initial Population
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: SDE Blood Glucose Observation
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: SDE Chief Complaint
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: Conditions
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: SDE Condition
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: SDE Coverage
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: Encounters
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: SDE Encounter Locations
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: Get Locations from Initial Population
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: SDE Location
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: SDE Initial Population Encounters
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: SDE Medication
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: SDE Medication Administration
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: SDE Medication Request
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: SDE Minimal Patient
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: SDE Service Request
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: SDE Ethnicity
Use: Out
Min Cardinality: 0
Max Cardinality: 1
Type: Resource
Parameter Name: SDE Payer
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
Parameter Name: SDE Race
Use: Out
Min Cardinality: 0
Max Cardinality: 1
Type: Resource
Parameter Name: SDE Sex
Use: Out
Min Cardinality: 0
Max Cardinality: 1
Type: Coding
Data Requirement Type: Patient
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient
Data Requirement Type: Observation
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation-lab
Must Support Elements: code, effective, issued, issued.value, id, id.value, extension, text, referenceRange, component, basedOn, partOf, category, status, status.value, subject, focus, encounter, performer, value, dataAbsentReason, interpretation, note, bodySite, method, specimen, device, hasMember, derivedFrom
Code Filter(s):
Path: code
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.38
Data Requirement Type: Condition
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns
Data Requirement Type: Condition
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-encounter-diagnosis
Data Requirement Type: Condition
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns
Must Support Elements: id, id.value, meta, clinicalStatus, verificationStatus, category, severity, code, bodySite, subject, encounter, encounter.reference, encounter.reference.value, onset, stage, evidence, note
Data Requirement Type: Coverage
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-coverage
Must Support Elements: period, id, id.value, meta, status, status.value, type, policyHolder, subscriber, subscriberId, subscriberId.value, beneficiary, dependent, dependent.value, relationship, payor, class, order, order.value, network, network.value, subrogation, subrogation.value, contract
Data Requirement Type: Encounter
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
Data Requirement Type: Medication
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medication
Data Requirement Type: MedicationRequest
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest
Data Requirement Type: MedicationAdministration
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministration
Data Requirement Type: MedicationAdministration
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministration
Must Support Elements: effective, id, id.value, meta, instantiates, partOf, status, status.value, statusReason, category, medication, subject, context, supportingInformation, performer, reasonCode, reasonReference, request, device, note, dosage
Data Requirement Type: MedicationRequest
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest
Must Support Elements: authoredOn, authoredOn.value, id, id.value, meta, status, status.value, statusReason, intent, intent.value, category, priority, priority.value, doNotPerform, doNotPerform.value, reported, medication, subject, encounter, requester, recorder, reasonCode, reasonReference, instantiatesCanonical, instantiatesUri, courseOfTherapyType, dosageInstruction
Data Requirement Type: Patient
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient
Must Support Elements: id, id.value, meta, extension, identifier, active, active.value, name, telecom, gender, gender.value, birthDate, birthDate.value, deceased, address, maritalStatus, multipleBirth, photo, contact, communication, generalPractitioner, managingOrganization, link
Data Requirement Type: ServiceRequest
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest
Must Support Elements: authoredOn, authoredOn.value, id, id.value, meta, instantiatesCanonical, instantiatesUri, basedOn, replaces, requisition, status, status.value, intent, intent.value, category, priority, priority.value, doNotPerform, doNotPerform.value, code, orderDetail, quantity, subject, encounter, occurrence, asNeeded, requester, performerType, performer, locationCode, reasonCode, reasonReference, insurance, bodySite, note, patientInstruction, patientInstruction.value
Library Content
CQL Content
library NHSNGlycemicControlHypoglycemiaInitialPopulation version '0.0.003'

using QICore version '6.0.0'

include CQMCommon version '4.1.000' called CQMCommon
include FHIRHelpers version '4.4.000' called FHIRHelpers
include SupplementalDataElements version '5.1.000' called SDE
include QICoreCommon version '4.0.000' called QICoreCommon
include NHSNHelpers version '0.1.000' called NHSNHelpers

codesystem "ActCode": 'http://terminology.hl7.org/CodeSystem/v3-ActCode'
codesystem "HSLOC": 'https://www.cdc.gov/nhsn/cdaportal/terminology/codesystem/hsloc.html'
codesystem "LOINC": 'http://loinc.org'
codesystem "RxNorm": 'https://www.nlm.nih.gov/research/umls/rxnorm/index.html'
codesystem "SNOMEDCT": 'http://snomed.info/sct'

valueset "Blood Glucose Laboratory and Point of Care Tests": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.38'
valueset "Diabetes Medications": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.58'
valueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'
valueset "Inpatient, Emergency, and Observation Locations": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.265'
valueset "NHSN Inpatient Encounter Class Codes": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.274'

parameter "Measurement Period" Interval<DateTime>default Interval[@2026-01-01T00:00:00.0, @2026-12-31T23:59:00.0 )

context Patient

// Initial Population


define "Initial Population":
  ( "Inpatient Encounters During Measurement Period"
    union "Encounters with Patient Hospital Locations" ) InpatientEncounters
    with "Antidiabetic Drugs Administered or Ordered" ADD
      such that Coalesce(start of ADD.effective.toInterval(), ADD.authoredOn) during InpatientEncounters."hospitalizationWithObservation" ( )
    where ( InpatientEncounters.status = 'finished'
        or InpatientEncounters.status = 'in-progress'
        or InpatientEncounters.status = 'triaged'
        or InpatientEncounters.status = 'onleave'
        or InpatientEncounters.status = 'entered-in-error'
    )

define "Inpatient Encounters During Measurement Period":
  [Encounter: "Encounter Inpatient"] InpatientEncounters
    where InpatientEncounters.period ends during day of "Measurement Period"
      and ( InpatientEncounters.class ~ QICoreCommon."inpatient non-acute"
          or InpatientEncounters.class ~ QICoreCommon."inpatient non-acute"
          or InpatientEncounters.class ~ QICoreCommon."short stay"
          or InpatientEncounters.class ~ QICoreCommon."inpatient acute"
          or InpatientEncounters.class ~ QICoreCommon."inpatient encounter"
      )

define "Encounters with Patient Hospital Locations":
  "Inpatient Encounters During Measurement Period" InpatientEncounter
    where exists ( InpatientEncounter.location HospitalLocation
        where HospitalLocation.location.getLocation ( ).type in "Inpatient, Emergency, and Observation Locations"
          and HospitalLocation.period during day of InpatientEncounter.period
    )

define "Antidiabetic Drugs Administered or Ordered":
  ( "MedicationRequests"
    union "MedicationAdministrations" ) MedReqOrAdmin
    where Coalesce(MedReqOrAdmin.getMedicationCode(), MedReqOrAdmin.getMedicationAdministrationCode()) in "Diabetes Medications"

define fluent function getMedicationAdministrationCode(admin MedicationAdministration):
  if admin.medication is Concept then admin.medication as Concept 
    else ( singleton from ( [Medication] M
        where admin.medication.references ( M )
    )
  ).code

//Supplemental Data Elements


define "SDE Blood Glucose Observation":
  ( ["LaboratoryResultObservation": "Blood Glucose Laboratory and Point of Care Tests"] GlucoseTest
      where exists ( "Initial Population" InitialPopulation
          where start of GlucoseTest.effective.toInterval ( ) during day of InitialPopulation.period
            or GlucoseTest.issued during day of InitialPopulation.period
      )
      return { GlucoseTest.id, GlucoseTest.extension, GlucoseTest.text, GlucoseTest.referenceRange, GlucoseTest.component, GlucoseTest.basedOn, GlucoseTest.partOf, GlucoseTest.category, GlucoseTest.status, GlucoseTest.subject, GlucoseTest.focus, GlucoseTest.encounter, GlucoseTest.effective, GlucoseTest.issued, GlucoseTest.performer, GlucoseTest.value, GlucoseTest.dataAbsentReason, GlucoseTest.interpretation, GlucoseTest.note, GlucoseTest.bodySite, GlucoseTest.method, GlucoseTest.specimen, GlucoseTest.device, GlucoseTest.hasMember, GlucoseTest.derivedFrom }
  )

define "SDE Chief Complaint":
  "Initial Population" IP
    where exists ( IP.diagnosis InitialPopulationDiagnosis
        where InitialPopulationDiagnosis.use ~ QICoreCommon."CC"
    )
    return { IP.id, IP.meta, IP.identifier, IP.status, IP.statusHistory, IP.class, IP.classHistory, IP.type, IP.serviceType, IP.priority, IP.subject, IP.period, IP.length, IP.reasonCode, IP.reasonReference, IP.diagnosis, IP.account, IP.hospitalization, IP.location, IP.partOf }

define "Conditions":
  ["ConditionProblemsHealthConcerns"]
    union ["ConditionEncounterDiagnosis"]

define "SDE Condition":
  ["ConditionProblemsHealthConcerns"] Diagnosis
    where exists ( "Initial Population" IP
        where Diagnosis.prevalenceInterval ( ) overlaps day of IP.period
    )
    return { Diagnosis.id, Diagnosis.meta, Diagnosis.clinicalStatus, Diagnosis.verificationStatus, Diagnosis.category, Diagnosis.severity, Diagnosis.code, Diagnosis.bodySite, Diagnosis.subject, Diagnosis.encounter.reference.getId ( ), Diagnosis.onset, Diagnosis.stage, Diagnosis.evidence, Diagnosis.note }

define "SDE Coverage":
  [Coverage] Coverages
    where exists ( "Initial Population" IP
        where Coverages.period starts before or on day of IP.period
          and end of Coverages.period on or after day of end of IP.period
    )
    return { Coverages.id, Coverages.meta, Coverages.status, Coverages.type, Coverages.policyHolder, Coverages.subscriber, Coverages.subscriberId, Coverages.beneficiary, Coverages.dependent, Coverages.relationship, Coverages.period, Coverages.payor, Coverages.class, Coverages.order, Coverages.network, Coverages.subrogation, Coverages.contract }

define "Encounters":
  [Encounter]

define "SDE Encounter Locations":
  "Initial Population" IP
    where exists ( IP.location InitialPopulationLocation
        let types: ( InitialPopulationLocation.location ).getLocation ( ).type
        where exists ( types type
            where type in "Inpatient, Emergency, and Observation Locations"
        )
          and InitialPopulationLocation.period during IP.period
    )
    return { IP.id, IP.meta, IP.identifier, IP.status, IP.statusHistory, IP.class, IP.classHistory, IP.type, IP.serviceType, IP.priority, IP.subject, IP.period, IP.length, IP.reasonCode, IP.reasonReference, IP.diagnosis, IP.account, IP.hospitalization, IP.location, IP.partOf }

define "Get Locations from Initial Population":
  flatten ( "Initial Population" IP
      let locationElements: IP.location
      return locationElements LE
        let locationReference: LE.location
        return ( locationReference.getLocation ( ) )
  )

define "SDE Location":
  "Get Locations from Initial Population" Locations
    where exists "Initial Population"
      and Locations is not null
    return { Locations.id, Locations.meta, Locations.extension, Locations.status, Locations.operationalStatus, Locations.name, Locations.alias, Locations.description, Locations.mode, Locations.type, Locations.telecom, Locations.address, Locations.physicalType, Locations.position, Locations.managingOrganization, Locations.partOf, Locations.hoursOfOperation, Locations.availabilityExceptions, Locations.endpoint }

define "SDE Initial Population Encounters":
  "Initial Population" IP
    return { IP.id, IP.meta, IP.identifier, IP.status, IP.statusHistory, IP.class, IP.classHistory, IP.type, IP.serviceType, IP.priority, IP.subject, IP.period, IP.length, IP.reasonCode, IP.reasonReference, IP.diagnosis, IP.account, IP.hospitalization, IP.location, IP.partOf }

define "SDE Medication":
  ( "MedicationRequests"
    union "MedicationAdministrations" ) MedReqOrAdmin
    let medication: GetMedication(MedReqOrAdmin.medication as Reference)
    where medication is not null
      and exists ( "Initial Population" IP
          where Coalesce(MedReqOrAdmin.effective.toInterval(), MedReqOrAdmin.authoredOn.toInterval()) overlaps IP."hospitalizationWithObservation" ( )
      )
    return { medication.id, medication.meta, medication.code, medication.status, medication.manufacturer, medication.form, medication.amount, medication.ingredient, medication.batch }

define function "GetMedication"(reference Reference):
  singleton from ( [Medication] Medication
      where reference.references ( Medication )
  )

define "MedicationAdministrations":
  [MedicationAdministration]

define "SDE Medication Administration":
  "MedicationAdministrations" MedAdministrations
    where exists ( "Initial Population" InitialPopulation
        where MedAdministrations.effective.toInterval ( ) overlaps InitialPopulation."hospitalizationWithObservation" ( )
    )
    return { MedAdministrations.id, MedAdministrations.meta, MedAdministrations.instantiates, MedAdministrations.partOf, MedAdministrations.status, MedAdministrations.statusReason, MedAdministrations.category, MedAdministrations.medication, MedAdministrations.subject, MedAdministrations.context, MedAdministrations.supportingInformation, MedAdministrations.effective, MedAdministrations.performer, MedAdministrations.reasonCode, MedAdministrations.reasonReference, MedAdministrations.request, MedAdministrations.device, MedAdministrations.note, MedAdministrations.dosage }

define "MedicationRequests":
  [MedicationRequest]

define "SDE Medication Request":
  "MedicationRequests" MedRequests
    where exists ( "Initial Population" InitialPopulation
        where MedRequests.authoredOn during InitialPopulation."hospitalizationWithObservation" ( )
    )
    return { MedRequests.id, MedRequests.meta, MedRequests.status, MedRequests.statusReason, MedRequests.intent, MedRequests.category, MedRequests.priority, MedRequests.doNotPerform, MedRequests.reported, MedRequests.medication, MedRequests.subject, MedRequests.encounter, MedRequests.authoredOn, MedRequests.requester, MedRequests.recorder, MedRequests.reasonCode, MedRequests.reasonReference, MedRequests.instantiatesCanonical, MedRequests.instantiatesUri, MedRequests.courseOfTherapyType, MedRequests.dosageInstruction }

define "SDE Minimal Patient":
  [Patient] MinPt
    where exists "Initial Population"
    return { MinPt.id, MinPt.meta, MinPt.extension, MinPt.identifier, MinPt.active, MinPt.name, MinPt.telecom, MinPt.gender, MinPt.birthDate, MinPt.deceased, MinPt.address, MinPt.maritalStatus, MinPt.multipleBirth, MinPt.photo, MinPt.contact, MinPt.communication, MinPt.generalPractitioner, MinPt.managingOrganization, MinPt.link }

define "SDE Service Request":
  [ServiceRequest] ServiceRequests
    where exists ( "Initial Population" InitialPopulation
        where ServiceRequests.authoredOn during InitialPopulation.period
    )
    return { ServiceRequests.id, ServiceRequests.meta, ServiceRequests.instantiatesCanonical, ServiceRequests.instantiatesUri, ServiceRequests.basedOn, ServiceRequests.replaces, ServiceRequests.requisition, ServiceRequests.status, ServiceRequests.intent, ServiceRequests.category, ServiceRequests.priority, ServiceRequests.doNotPerform, ServiceRequests.code, ServiceRequests.orderDetail, ServiceRequests.quantity, ServiceRequests.subject, ServiceRequests.encounter, ServiceRequests.occurrence, ServiceRequests.asNeeded, ServiceRequests.authoredOn, ServiceRequests.requester, ServiceRequests.performerType, ServiceRequests.performer, ServiceRequests.locationCode, ServiceRequests.reasonCode, ServiceRequests.reasonReference, ServiceRequests.insurance, ServiceRequests.bodySite, ServiceRequests.note, ServiceRequests.patientInstruction }

define "SDE Ethnicity":
  SDE."SDE Ethnicity"

define "SDE Payer":
  SDE."SDE Payer"

define "SDE Race":
  SDE."SDE Race"

define "SDE Sex":
  SDE."SDE Sex"
ELM XML Content
Encoded data (416720 characters)
ELM JSON Content
Encoded data (797684 characters)
Generated using version 0.5.0 of the sample-content-ig Liquid templates