CDC National Healthcare Safety Network (NHSN) Digital Quality Measures (dQM) Content Package IG
3.0.0 - Release 3 - draft United States of America flag

CDC National Healthcare Safety Network (NHSN) Digital Quality Measures (dQM) Content Package IG - Local Development build (v3.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Library: NHSN Acute Care Hospital Daily Initial Population Library

Official URL: http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/NHSNAcuteCareHospitalDailyInitialPopulation Version: 3.0.0
Standards status: Trial-use Maturity Level: 2 Computable Name: NHSNAcuteCareHospitalDailyInitialPopulation
Metadata
Version 3.0.0
Status Draft
Jurisdiction US from urn:iso:std:iso:3166
Steward (Publisher) CDC National Healthcare Safety Network (NHSN)
Steward Contact CDC National Healthcare Safety Network (NHSN)
Type logic-library from http://terminology.hl7.org/CodeSystem/library-type
Dependency Description: Library FHIRHelpers
Resource: http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/FHIRHelpers|4.0.2
Canonical URL: http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/FHIRHelpers|4.0.2
Dependency Description: Library NHSNHelpers
Resource: http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/NHSNHelpers|0.0.002
Canonical URL: http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/NHSNHelpers|0.0.002
Dependency Description: Library SharedResource
Resource: http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/SharedResourceCreation|0.1.010-cibuild
Canonical URL: http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/SharedResourceCreation|0.1.010-cibuild
Dependency Description: Code system ActCode
Resource: ActCode version: 10.0.0
Canonical URL: http://terminology.hl7.org/CodeSystem/v3-ActCode|10.0.0
Dependency Description: Code system LOINC
Resource: Logical Observation Identifiers, Names and Codes (LOINC)
Canonical URL: http://loinc.org
Dependency Description: Code system Observation Category
Resource: Observation Category Codes version: 2.0.0
Canonical URL: http://terminology.hl7.org/CodeSystem/observation-category|2.0.0
Dependency Description: Code system RXNORM
Resource: RxNorm
Canonical URL: http://www.nlm.nih.gov/research/umls/rxnorm
Dependency Description: Code system SNOMEDCT
Resource: SNOMED CT (all versions)
Canonical URL: http://snomed.info/sct
Dependency 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
Dependency Description: Value set Inpatient, Emergency, and Observation Locations
Resource: Inpatient, Emergency, and Observation Locations
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.265
Dependency 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
Dependency Description: Value set Discharge Disposition
Resource: Clinical Discharge Disposition version: 2.0.0
Canonical URL: http://terminology.hl7.org/ValueSet/clinical-discharge-disposition|2.0.0
Dependency Description: Value set COVID_19 (Tests for SARS_CoV_2 Nucleic Acid)
Resource: COVID_19 (Tests for SARS_CoV_2 Nucleic Acid) version: 20250218
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1142|20250218
Dependency Description: Value set COVID_19 (Tests for SARS_CoV_2 Antigen)
Resource: COVID_19 (Tests for SARS_CoV_2 Antigen) version: 20240123
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1158|20240123
Dependency Description: Value set COVID_19 (Organism or Substance in Lab Results)
Resource: COVID_19 (Organism or Substance in Lab Results) version: 20250218
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1143|20250218
Dependency Description: Value set Influenza (Tests for influenza A or B virus Nucleic Acid)
Resource: Influenza (Tests for influenza A or B virus Nucleic Acid) version: 20250218
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.336|20250218
Dependency Description: Value set Influenza (Tests for influenza A or B virus Antigen)
Resource: Influenza (Tests for influenza A or B virus Antigen)
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.337
Dependency Description: Value set Influenza (influenza A or B virus in Lab Results)
Resource: Influenza (influenza A or B virus in Lab Results)
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.340
Dependency Description: Value set RSV (Tests for RSV Antigen)
Resource: RSV (Tests for RSV Antigen)
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1311
Dependency Description: Value set RSV (Tests for RSV Nucleic Acid)
Resource: RSV (Tests for RSV Nucleic Acid) version: 20250218
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1312|20250218
Dependency Description: Value set RSV (Organism or Substance in Lab Results)
Resource: RSV (Organism or Substance in Lab Results)
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1308
Dependency Description: Value set LIVD SARS CoV2 Test Result Codes
Resource: LIVD SARS CoV2 Test Result Codes
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1114.10
Dependency Description: Value set Baricitinib
Resource: Baricitinib
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2046
Dependency Description: Value set Anakinra
Resource: Anakinra
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2054
Dependency Description: Value set Sarilumab
Resource: Sarilumab
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2084
Dependency Description: Value set COVID19 RxNorm Value Set for Tocilizumab
Resource: COVID19 RxNorm Value Set for Tocilizumab
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2087
Dependency Description: Value set Casirivimab
Resource: Casirivimab
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2097
Dependency Description: Value set Imdevimab
Resource: Imdevimab
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2098
Dependency Description: Value set Bamlanivimab
Resource: Bamlanivimab
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2099
Dependency Description: Value set Etesevimab
Resource: Etesevimab
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2100
Dependency Description: Value set Sotrovimab
Resource: Sotrovimab
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2101
Dependency Description: Value set Tofacitinib
Resource: Tofacitinib
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2102
Dependency Description: Value set Casirivimab / Imdevimab
Resource: Casirivimab / Imdevimab
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2103
Dependency Description: Value set Molnupiravir
Resource: Molnupiravir
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2119
Dependency Description: Value set Remdesivir
Resource: Remdesivir
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2081
Dependency Description: Value set Nirmatrelvir / Ritonavir
Resource: Nirmatrelvir / Ritonavir
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2104
Dependency Description: Value set Bebtelovimab
Resource: Bebtelovimab
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2105
Dependency Description: Value set Baloxavir
Resource: Baloxavir
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.85
Dependency Description: Value set Peramivir
Resource: Peramivir
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.86
Dependency Description: Value set Zanamivir
Resource: Zanamivir
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.87
Dependency Description: Value set Oseltamivir
Resource: Oseltamivir
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2078
Dependency Description: Value set Transmission Based Precaution Types
Resource: Transmission Based Precaution Types version: 20240607
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.10.20.22.5.300|20240607
Dependency Description: Value set NHSN Inpatient Encounter Class Codes
Resource: NHSN Inpatient Encounter Class Codes
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.274
Data Requirement Type: Patient
Profile(s): Patient
Data Requirement Type: Encounter
Profile(s): Encounter
Must Support Elements: type, status, period, id, extension, identifier, statusHistory, class, classHistory, serviceType, priority, subject, length, reasonCode, reasonReference, diagnosis, account, hospitalization, location, partOf, hospitalization.dischargeDisposition
Code Filter(s):
Path: type
ValueSet: Encounter Inpatient
Data Requirement Type: Encounter
Profile(s): Encounter
Must Support Elements: class, status, period, id, extension, identifier, statusHistory, classHistory, type, serviceType, priority, subject, length, reasonCode, reasonReference, diagnosis, account, hospitalization, location, partOf, hospitalization.dischargeDisposition
Code Filter(s):
Path: class
ValueSet: NHSN Inpatient Encounter Class Codes
Data Requirement Type: Encounter
Profile(s): Encounter
Must Support Elements: type, status, period, id, extension, identifier, statusHistory, class, classHistory, serviceType, priority, subject, length, reasonCode, reasonReference, diagnosis, account, hospitalization, location, partOf, hospitalization.dischargeDisposition
Code Filter(s):
Path: type
ValueSet: Observation Services
Data Requirement Type: Encounter
Profile(s): Encounter
Must Support Elements: class, status, period, id, extension, identifier, statusHistory, classHistory, type, serviceType, priority, subject, length, reasonCode, reasonReference, diagnosis, account, hospitalization, location, partOf, hospitalization.dischargeDisposition
Code Filter(s):
Path: class
Code(s): ActCode: OBSENC (observation encounter)
Data Requirement Type: Encounter
Profile(s): Encounter
Must Support Elements: location, period, status, id, extension, identifier, statusHistory, class, classHistory, type, serviceType, priority, subject, length, reasonCode, reasonReference, diagnosis, account, hospitalization, partOf, hospitalization.dischargeDisposition
Data Requirement Type: Observation
Profile(s): Observation
Must Support Elements: code, category, status, effective, specimen, specimen.collection, specimen.collection.collected, id, extension, basedOn, partOf, subject, focus, encounter, issued, value, dataAbsentReason, interpretation, note, bodySite, method, device, referenceRange, hasMember, derivedFrom, component
Code Filter(s):
Path: code
ValueSet: Influenza (Tests for influenza A or B virus Nucleic Acid) version: 20250218
Data Requirement Type: Observation
Profile(s): Observation
Must Support Elements: code, category, status, effective, specimen, specimen.collection, specimen.collection.collected, id, extension, basedOn, partOf, subject, focus, encounter, issued, value, dataAbsentReason, interpretation, note, bodySite, method, device, referenceRange, hasMember, derivedFrom, component
Code Filter(s):
Path: code
ValueSet: Influenza (Tests for influenza A or B virus Antigen)
Data Requirement Type: Observation
Profile(s): Observation
Must Support Elements: code, category, status, effective, specimen, specimen.collection, specimen.collection.collected, id, extension, basedOn, partOf, subject, focus, encounter, issued, value, dataAbsentReason, interpretation, note, bodySite, method, device, referenceRange, hasMember, derivedFrom, component
Code Filter(s):
Path: code
ValueSet: COVID_19 (Tests for SARS_CoV_2 Nucleic Acid) version: 20250218
Data Requirement Type: Observation
Profile(s): Observation
Must Support Elements: code, category, status, effective, specimen, specimen.collection, specimen.collection.collected, id, extension, basedOn, partOf, subject, focus, encounter, issued, value, dataAbsentReason, interpretation, note, bodySite, method, device, referenceRange, hasMember, derivedFrom, component
Code Filter(s):
Path: code
ValueSet: COVID_19 (Tests for SARS_CoV_2 Antigen) version: 20240123
Data Requirement Type: Observation
Profile(s): Observation
Must Support Elements: code, category, status, effective, specimen, specimen.collection, specimen.collection.collected, id, extension, basedOn, partOf, subject, focus, encounter, issued, value, dataAbsentReason, interpretation, note, bodySite, method, device, referenceRange, hasMember, derivedFrom, component
Code Filter(s):
Path: code
ValueSet: RSV (Tests for RSV Nucleic Acid) version: 20250218
Data Requirement Type: Observation
Profile(s): Observation
Must Support Elements: code, category, status, effective, specimen, specimen.collection, specimen.collection.collected, id, extension, basedOn, partOf, subject, focus, encounter, issued, value, dataAbsentReason, interpretation, note, bodySite, method, device, referenceRange, hasMember, derivedFrom, component
Code Filter(s):
Path: code
ValueSet: RSV (Tests for RSV Antigen)
Data Requirement Type: Observation
Profile(s): Observation
Must Support Elements: category, status, effective, specimen, specimen.collection, specimen.collection.collected, id, extension, basedOn, partOf, code, subject, focus, encounter, issued, value, dataAbsentReason, interpretation, note, bodySite, method, device, referenceRange, hasMember, derivedFrom, component
Data Requirement Type: Specimen
Profile(s): Specimen
Must Support Elements: id
Data Requirement Type: DiagnosticReport
Profile(s): DiagnosticReport
Must Support Elements: code, status, effective
Code Filter(s):
Path: code
ValueSet: COVID_19 (Tests for SARS_CoV_2 Nucleic Acid) version: 20250218
Data Requirement Type: DiagnosticReport
Profile(s): DiagnosticReport
Must Support Elements: code, status, effective
Code Filter(s):
Path: code
ValueSet: COVID_19 (Tests for SARS_CoV_2 Antigen) version: 20240123
Data Requirement Type: DiagnosticReport
Profile(s): DiagnosticReport
Must Support Elements: code, status, effective
Code Filter(s):
Path: code
ValueSet: Influenza (Tests for influenza A or B virus Nucleic Acid) version: 20250218
Data Requirement Type: DiagnosticReport
Profile(s): DiagnosticReport
Must Support Elements: code, status, effective
Code Filter(s):
Path: code
ValueSet: Influenza (Tests for influenza A or B virus Antigen)
Data Requirement Type: DiagnosticReport
Profile(s): DiagnosticReport
Must Support Elements: code, status, effective
Code Filter(s):
Path: code
ValueSet: RSV (Tests for RSV Nucleic Acid) version: 20250218
Data Requirement Type: DiagnosticReport
Profile(s): DiagnosticReport
Must Support Elements: code, status, effective
Code Filter(s):
Path: code
ValueSet: RSV (Tests for RSV Antigen)
Data Requirement Type: DiagnosticReport
Profile(s): DiagnosticReport
Must Support Elements: status, effective, result
Data Requirement Type: Location
Profile(s): Location
Data Requirement Type: ServiceRequest
Profile(s): ServiceRequest
Must Support Elements: code, id, extension, instantiatesCanonical, instantiatesUri, basedOn, replaces, requisition, status, intent, category, priority, doNotPerform, orderDetail, quantity, subject, encounter, occurrence, asNeeded, authoredOn, locationCode, locationReference, reasonCode, reasonReference, insurance, supportingInfo, specimen, bodySite, note, patientInstruction, relevantHistory
Code Filter(s):
Path: code
ValueSet: COVID_19 (Tests for SARS_CoV_2 Nucleic Acid) version: 20250218
Data Requirement Type: ServiceRequest
Profile(s): ServiceRequest
Must Support Elements: code, id, extension, instantiatesCanonical, instantiatesUri, basedOn, replaces, requisition, status, intent, category, priority, doNotPerform, orderDetail, quantity, subject, encounter, occurrence, asNeeded, authoredOn, locationCode, locationReference, reasonCode, reasonReference, insurance, supportingInfo, specimen, bodySite, note, patientInstruction, relevantHistory
Code Filter(s):
Path: code
ValueSet: COVID_19 (Tests for SARS_CoV_2 Antigen) version: 20240123
Data Requirement Type: ServiceRequest
Profile(s): ServiceRequest
Must Support Elements: code, id, extension, instantiatesCanonical, instantiatesUri, basedOn, replaces, requisition, status, intent, category, priority, doNotPerform, orderDetail, quantity, subject, encounter, occurrence, asNeeded, authoredOn, locationCode, locationReference, reasonCode, reasonReference, insurance, supportingInfo, specimen, bodySite, note, patientInstruction, relevantHistory
Code Filter(s):
Path: code
ValueSet: Influenza (Tests for influenza A or B virus Nucleic Acid) version: 20250218
Data Requirement Type: ServiceRequest
Profile(s): ServiceRequest
Must Support Elements: code, id, extension, instantiatesCanonical, instantiatesUri, basedOn, replaces, requisition, status, intent, category, priority, doNotPerform, orderDetail, quantity, subject, encounter, occurrence, asNeeded, authoredOn, locationCode, locationReference, reasonCode, reasonReference, insurance, supportingInfo, specimen, bodySite, note, patientInstruction, relevantHistory
Code Filter(s):
Path: code
ValueSet: Influenza (Tests for influenza A or B virus Antigen)
Data Requirement Type: ServiceRequest
Profile(s): ServiceRequest
Must Support Elements: code, id, extension, instantiatesCanonical, instantiatesUri, basedOn, replaces, requisition, status, intent, category, priority, doNotPerform, orderDetail, quantity, subject, encounter, occurrence, asNeeded, authoredOn, locationCode, locationReference, reasonCode, reasonReference, insurance, supportingInfo, specimen, bodySite, note, patientInstruction, relevantHistory
Code Filter(s):
Path: code
ValueSet: RSV (Tests for RSV Nucleic Acid) version: 20250218
Data Requirement Type: ServiceRequest
Profile(s): ServiceRequest
Must Support Elements: code, id, extension, instantiatesCanonical, instantiatesUri, basedOn, replaces, requisition, status, intent, category, priority, doNotPerform, orderDetail, quantity, subject, encounter, occurrence, asNeeded, authoredOn, locationCode, locationReference, reasonCode, reasonReference, insurance, supportingInfo, specimen, bodySite, note, patientInstruction, relevantHistory
Code Filter(s):
Path: code
ValueSet: RSV (Tests for RSV Antigen)
Data Requirement Type: ServiceRequest
Profile(s): ServiceRequest
Must Support Elements: category, id, extension, instantiatesCanonical, instantiatesUri, basedOn, replaces, requisition, status, intent, priority, doNotPerform, code, orderDetail, quantity, subject, encounter, occurrence, asNeeded, authoredOn, locationCode, locationReference, reasonCode, reasonReference, insurance, supportingInfo, specimen, bodySite, note, patientInstruction, relevantHistory
Data Requirement Type: Procedure
Profile(s): Procedure
Must Support Elements: code, performed, id, instantiatesCanonical, instantiatesUri, basedOn, partOf, status, statusReason, category, subject, encounter, recorder, asserter, location, reasonCode, reasonReference, bodySite, outcome, report, complication, complicationDetail, followUp, note, focalDevice, usedReference, usedCode
Code Filter(s):
Path: code
ValueSet: Transmission Based Precaution Types version: 20240607
Data Requirement Type: Procedure
Profile(s): Procedure
Must Support Elements: id, instantiatesCanonical, instantiatesUri, basedOn, partOf, status, statusReason, category, code, subject, encounter, performed, recorder, asserter, location, reasonCode, reasonReference, bodySite, outcome, report, complication, complicationDetail, followUp, note, focalDevice, usedReference, usedCode
Data Requirement Type: Medication
Profile(s): Medication
Must Support Elements: id
Code Filter(s):
Path: id
Data Requirement Type: MedicationAdministration
Profile(s): MedicationAdministration
Must Support Elements: medication, status, effective
Data Requirement Type: MedicationRequest
Profile(s): MedicationRequest
Must Support Elements: medication, authoredOn, id, extension, status, intent, category, priority, doNotPerform, reported, subject, encounter, recorder, reasonCode, reasonReference, instantiatesCanonical, instantiatesUri, courseOfTherapyType, dosageInstruction
Parameters
Name Use Card. Type Documentation
Measurement Period In 0..1 Period
Patient Out 0..1 Patient
EncounterInpatient Out 0..* Encounter
EncounterObservation Out 0..* Encounter
Encounters with Patient Hospital Locations Out 0..* Encounter
Initial Population Out 0..* Encounter
COVID And Influenza Observation Out 0..* Observation
RSV Observation Out 0..* Observation
ACH Daily Observation Out 0..* Observation
COVID And Influenza PRE Admission Observation Out 0..* Observation
RSV PRE Admission Observation Out 0..* Observation
COVID And Influenza DiagnosticReport Out 0..* DiagnosticReport
RSV DiagnosticReport Out 0..* DiagnosticReport
ACH Daily DiagnosticReport Out 0..* DiagnosticReport
COVID And Influenza DiagnosticReport PRE Admission Out 0..* DiagnosticReport
RSV DiagnosticReport PRE Admission Out 0..* DiagnosticReport
DiagnosticReports Out 0..* DiagnosticReport
Observations Out 0..* Observation
COVID and Influenza DiagnosticReport Observations Out 0..* Observation
COVID and Influenza DiagnosticReport Result from Lab Out 0..* DiagnosticReport
RSV Observations Out 0..* Observation
RSV DiagnosticReport Observations Out 0..* DiagnosticReport
RSV DiagnosticReport Result from Lab Out 0..* DiagnosticReport
ACH Daily DiagnosticReport Result from Lab Out 0..* DiagnosticReport
COVID and Influenza DiagnosticReport Result from Lab PRE Admission Out 0..* DiagnosticReport
RSV DiagnosticReport Result from Lab PRE Admission Out 0..* DiagnosticReport
SDE IP Encounters Out 0..* Encounter
Encounters Out 0..* Encounter
SDE Encounter Out 0..* Encounter
SDE Minimal Patient Out 0..1 Patient
SDE Location Out 0..* Location
SDE Encounter Discharge Dispositions Out 0..* Encounter
SDE ACH Daily Observation Out 0..* Observation
SDE RSV PRE Admission Observation Out 0..* Observation
SDE COVID And Influenza PRE Admission Observation Out 0..* Observation
SDE ACH Daily Specimen Out 0..* Specimen
SDE RSV Specimen Out 0..* Specimen
SDE COVID And Influenza Specimen Out 0..* Specimen
SDE ACH Daily DiagnosticReport Out 0..* DiagnosticReport
SDE COVID And Influenza DiagnosticReport Out 0..* DiagnosticReport
SDE RSV DiagnosticReport Out 0..* DiagnosticReport
SDE ACH Daily DiagnosticReport Result from Lab Out 0..* DiagnosticReport
SDE COVID and Influenza DiagnosticReport Result from Lab Out 0..* DiagnosticReport
SDE RSV DiagnosticReport Result from Lab Out 0..* DiagnosticReport
SDE ACH Daily ServiceRequest Out 0..* ServiceRequest
SDE Isolation Precautions Implemented Out 0..* Procedure
SDE Covid or Influenza Medication Administered Out 0..* MedicationAdministration
SDE Covid or Influenza Medication Ordered Out 0..* MedicationRequest
SDE Medication Out 0..* Medication
SDE All Observations Out 0..* Observation
SDE All ServiceRequests Out 0..* ServiceRequest
SDE All Procedures Out 0..* Procedure
Library Content
CQL Content
library NHSNAcuteCareHospitalDailyInitialPopulation version '3.0.0-cibuild'

using FHIR version '4.0.1'

include FHIRHelpers version '4.0.2' called FHIRHelpers
include NHSNHelpers version '0.0.002' called NHSNHelpers
include SharedResourceCreation version '0.1.010-cibuild' called SharedResource 

codesystem "ActCode": 'http://terminology.hl7.org/CodeSystem/v3-ActCode' 
codesystem "LOINC": 'http://loinc.org' 
codesystem "Observation Category": 'http://terminology.hl7.org/CodeSystem/observation-category' 
codesystem "RXNORM": 'http://www.nlm.nih.gov/research/umls/rxnorm'
codesystem "SNOMEDCT": 'http://snomed.info/sct'

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 "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143' 
valueset "Discharge Disposition": 'http://terminology.hl7.org/ValueSet/clinical-discharge-disposition'

//COVID-19 lab tests
valueset "COVID_19 (Tests for SARS_CoV_2 Nucleic Acid)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1142'
valueset "COVID_19 (Tests for SARS_CoV_2 Antigen)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1158'

//COVID-19 test results (unused)
valueset "COVID_19 (Organism or Substance in Lab Results)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1143'

//Influenza lab tests
valueset "Influenza (Tests for influenza A or B virus Nucleic Acid)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.336'
valueset "Influenza (Tests for influenza A or B virus Antigen)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.337'

//Influenza test Results (unused)
valueset "Influenza (influenza A or B virus in Lab Results)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.340'

//RSV lab tests
valueset "RSV (Tests for RSV Antigen)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1311'
valueset "RSV (Tests for RSV Nucleic Acid)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1312'

//RSV test results (unused)
valueset "RSV (Organism or Substance in Lab Results)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1308'

//Test results shared among COVID-19, Influenza and RSV (unused)
valueset "LIVD SARS CoV2 Test Result Codes": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1114.10'

//COVID-19 medications
valueset "Baricitinib": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2046'
valueset "Anakinra": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2054'
valueset "Sarilumab": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2084'
valueset "COVID19 RxNorm Value Set for Tocilizumab": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2087'
valueset "Casirivimab": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2097'
valueset "Imdevimab": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2098'
valueset "Bamlanivimab": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2099'
valueset "Etesevimab": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2100'
valueset "Sotrovimab": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2101'
valueset "Tofacitinib": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2102'
valueset "Casirivimab / Imdevimab": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2103'
valueset "Molnupiravir": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2119'
valueset "Remdesivir": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2081'
valueset "Nirmatrelvir / Ritonavir": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2104'
valueset "Bebtelovimab": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2105'

//Influenza medications
valueset "Baloxavir": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.85'
valueset "Peramivir": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.86'
valueset "Zanamivir": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.87'
valueset "Oseltamivir": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3616.200.110.102.2078'

//Isolation Precautions
valueset "Transmission Based Precaution Types": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.10.20.22.5.300'

//Encounter Class Codes
valueset "NHSN Inpatient Encounter Class Codes": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.274'

//Observation Category Codes
code "laboratory": 'laboratory' from "Observation Category" display 'Laboratory'

//Observation Encounter Class Code
code "observation encounter": 'OBSENC' from "ActCode" display 'observation encounter'

code "Laboratory procedure": '108252007' from "SNOMEDCT" display 'Laboratory procedure'
code "Surgical procedure": '387713003' from "SNOMEDCT" display 'Surgical procedure'
code "Imaging": '363679005' from "SNOMEDCT" display 'Imaging'

parameter "Measurement Period" 
  default Interval[@2022-01-01T00:00:00.0, @2022-01-02T00:00:00.0)

context Patient

//----------------------------------
// Initial Population
//----------------------------------
define "Initial Population":
  EncounterInpatient
  union EncounterObservation
  union "Encounters with Patient Hospital Locations"

define "EncounterInpatient":
  ([Encounter: "Encounter Inpatient"]
    union [Encounter: class in "NHSN Inpatient Encounter Class Codes"]) Encounters
  where Encounters.status in {'in-progress', 'finished', 'triaged', 'onleave', 'entered-in-error'}
    and Encounters.period overlaps "Measurement Period"

define "EncounterObservation":
  ([Encounter: "Observation Services"]
    union [Encounter: class in {"observation encounter"}]) Encounters
  where Encounters.status in {'in-progress', 'finished', 'triaged', 'onleave', 'entered-in-error'}
    and Encounters.period overlaps "Measurement Period"

define "Encounters with Patient Hospital Locations":
  [Encounter] Encounters
  where exists(
    Encounters.location EncounterLocation
    let types: NHSNHelpers.GetLocation(EncounterLocation.location).type
    where exists(
      types type
      where type in "Inpatient, Emergency, and Observation Locations"
    )
    and EncounterLocation.period overlaps Encounters.period
    and Encounters.status in {'in-progress', 'finished', 'triaged', 'onleave', 'entered-in-error' }
    and Encounters.period overlaps "Measurement Period"
  )


//-----------------------------------------------
// Logic related to Laboratory
//-----------------------------------------------
//Lab Observations
define "COVID And Influenza Observation":
  ([Observation: "Influenza (Tests for influenza A or B virus Nucleic Acid)"] 
  union [Observation: "Influenza (Tests for influenza A or B virus Antigen)"]
  union [Observation: "COVID_19 (Tests for SARS_CoV_2 Nucleic Acid)"]
  union [Observation: "COVID_19 (Tests for SARS_CoV_2 Antigen)"]
  ) Observations
    where exists(Observations.category Category where Category ~ "laboratory")
      and Observations.status in {'final','registered','preliminary','partial'}
      and exists("Initial Population")

define "RSV Observation":
  ([Observation: "RSV (Tests for RSV Nucleic Acid)"]
  union [Observation: "RSV (Tests for RSV Antigen)"]   
  ) Observations
    where exists(Observations.category Category where Category ~ "laboratory")
      and Observations.status in {'final','registered','preliminary','partial'}
      and exists("Initial Population")

define "ACH Daily Observation":
  "RSV Observation"
  union "COVID And Influenza Observation"

//further constrain COVID-19 and Influenza Observations for 14 day lookback
define "COVID And Influenza PRE Admission Observation":
  "COVID And Influenza Observation" O 
   where exists( "Initial Population" E 
    where (
      NHSNHelpers."Normalize Interval"(O.effective) 14 days or less on or before start of E.period
      or NHSNHelpers."Normalize Interval"(GetSpecimen(O.specimen).collection.collected) 14 days or less on or before start of E.period
      )
      and start of E.period during "Measurement Period"
    )  

//further constrain RSV observation for 8 day lookback
define "RSV PRE Admission Observation":
  "RSV Observation" O 
  where exists("Initial Population" E 
    where (
      NHSNHelpers."Normalize Interval"(O.effective) 8 days or less on or before start of E.period
      or NHSNHelpers."Normalize Interval"(GetSpecimen(O.specimen).collection.collected) 8 days or less on or before start of E.period
      )
      and start of E.period during "Measurement Period"
    )

//Lab DiagnosticReport
define "COVID And Influenza DiagnosticReport":
  ([DiagnosticReport: "COVID_19 (Tests for SARS_CoV_2 Nucleic Acid)"]
    union [DiagnosticReport: "COVID_19 (Tests for SARS_CoV_2 Antigen)"]
    union [DiagnosticReport: "Influenza (Tests for influenza A or B virus Nucleic Acid)"]
    union [DiagnosticReport: "Influenza (Tests for influenza A or B virus Antigen)"]
  ) Reports
    where exists("Initial Population")
      and Reports.status in {'final','registered','preliminary','partial'}

define "RSV DiagnosticReport":
  ([DiagnosticReport: "RSV (Tests for RSV Nucleic Acid)"]
    union [DiagnosticReport: "RSV (Tests for RSV Antigen)"]
  ) Reports
    where exists("Initial Population")
      and Reports.status in {'final','registered','preliminary','partial'}

define "ACH Daily DiagnosticReport":
  "COVID And Influenza DiagnosticReport"
    union "RSV DiagnosticReport"

//further constrain COVID-19 and Influenza with 14 day lookback 
define "COVID And Influenza DiagnosticReport PRE Admission":
  "COVID And Influenza DiagnosticReport" R 
  where exists("Initial Population" E 
    where (
      NHSNHelpers."Normalize Interval"(R.effective) 14 days or less on or before start of E.period)
      and start of E.period during "Measurement Period"
    )

//further constrain RSV for 8 day lookback
define "RSV DiagnosticReport PRE Admission":
  "RSV DiagnosticReport" R 
  where exists("Initial Population" E 
    where (
      NHSNHelpers."Normalize Interval"(R.effective) 8 days or less on or before start of E.period)
      and start of E.period during "Measurement Period"
    )

define "COVID and Influenza DiagnosticReport Result from Lab":
  "DiagnosticReports" Reports
    where exists(
      "COVID and Influenza DiagnosticReport Observations" Observations
      where Reports.result.references(Observations)
    )
    and Reports.status in {'final','registered','preliminary','partial'}
    and exists("Initial Population")

define "COVID and Influenza DiagnosticReport Observations":
  "Observations" Observations
  where Observations.code in "COVID_19 (Tests for SARS_CoV_2 Nucleic Acid)"
    or Observations.code in "COVID_19 (Tests for SARS_CoV_2 Antigen)"
    or Observations.code in "Influenza (Tests for influenza A or B virus Nucleic Acid)"
    or Observations.code in "Influenza (Tests for influenza A or B virus Antigen)"

 
define "RSV DiagnosticReport Result from Lab":
  [DiagnosticReport] Reports
    where exists("RSV DiagnosticReport Observations")
      and Reports.status in {'final','registered','preliminary','partial'}
      and exists("Initial Population")

define "RSV Observations":
  "Observations" Observations
  where Observations.code in "RSV (Tests for RSV Nucleic Acid)"
    or Observations.code in "RSV (Tests for RSV Antigen)"
    
define "RSV DiagnosticReport Observations":
  "DiagnosticReports" Reports
  where exists(
    "RSV Observations" Observations
    where Reports.result.references(Observations)
  )

define "ACH Daily DiagnosticReport Result from Lab":
  "COVID and Influenza DiagnosticReport Result from Lab"
    union "RSV DiagnosticReport Result from Lab"

//further constrain COVID-19 and Influenza with 14 day lookback
define "COVID and Influenza DiagnosticReport Result from Lab PRE Admission":
  "COVID and Influenza DiagnosticReport Result from Lab" R 
  where exists("Initial Population" E 
    where (
      NHSNHelpers."Normalize Interval"(R.effective) 14 days or less on or before start of E.period)
      and start of E.period during "Measurement Period"
    )

//further constrain RSV with 8 day lookback
define "RSV DiagnosticReport Result from Lab PRE Admission":
  "RSV DiagnosticReport Result from Lab" R 
  where exists("Initial Population" E 
    where (
      NHSNHelpers."Normalize Interval"(R.effective) 8 days or less on or before start of E.period)
      and start of E.period during "Measurement Period"
    )
    
//----------------------------------
// SDE
//----------------------------------
define "SDE IP Encounters":
  "Initial Population" IP
  return EncounterResource(IP, 
  {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-encounter'}})

define "SDE Encounter": 
  "Encounters" Encounters
  where not CheckIP(Encounters)
  and exists(
    "Initial Population" IP
    where Encounters.period overlaps IP.period)
  return EncounterResource(Encounters,
  {FHIR.canonical{value: 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter'}})

define "SDE Minimal Patient":
  Patient p
  return SharedResource.PatientResource(p, 
  {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/cross-measure-patient'}})

define "SDE Location":
  [Location] Locations
  where exists("Initial Population")
  return SharedResource.LocationResource(Locations,
  {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-location'}})
   
define "SDE Encounter Discharge Dispositions":
	"Initial Population" DischargeDispositions 
  where DischargeDispositions.hospitalization.dischargeDisposition in "Discharge Disposition"
  return EncounterResource(DischargeDispositions,
  {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-encounter'}})

//return the Observation during the Measurement Period
define "SDE ACH Daily Observation":
  "ACH Daily Observation" Observations
    return ObservationLabResource(Observations,
    {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-observation-lab'}})

//return the RSV Observation Pre Admission    
define "SDE RSV PRE Admission Observation":
  "RSV PRE Admission Observation" Observations
    return ObservationLabResource(Observations, 
    {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-observation-lab'}})

//return the COVID-19 and Influenza Observation Pre Admission
define "SDE COVID And Influenza PRE Admission Observation":
  "COVID And Influenza PRE Admission Observation" Observations
    return ObservationLabResource(Observations,
    {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-observation-lab'}})

//return the Specimen related to the Observation during the Measurement Period
define "SDE ACH Daily Specimen":
  "ACH Daily Observation" ObservationWithSpecimen
    let Specimen: GetSpecimen(ObservationWithSpecimen.specimen)
    return SharedResource.SpecimenResource(Specimen,
    {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-specimen'}})

//return the Specimen related to the RSV Observation Pre Admission
define "SDE RSV Specimen":
  "RSV PRE Admission Observation" ObservationWithSpecimen
    let Specimen: GetSpecimen(ObservationWithSpecimen.specimen)
    return SharedResource.SpecimenResource(Specimen,
    {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-specimen'}})

//return the Specimen related to the COVID-19 And Influenza Observation Pre Admission
define "SDE COVID And Influenza Specimen":
  "COVID And Influenza PRE Admission Observation" ObservationWithSpecimen
    let Specimen: GetSpecimen(ObservationWithSpecimen.specimen)
    return SharedResource.SpecimenResource(Specimen,
    {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-specimen'}})

//return the DiagnosticReport during the Measurement Period
define "SDE ACH Daily DiagnosticReport":
  "ACH Daily DiagnosticReport" Reports
    return SharedResource.DiagnosticReportLabResource(Reports,
    {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-diagnosticreport-lab'}})

//return the COVID-19 And Influenza DiagnosticReport pre admission
define "SDE COVID And Influenza DiagnosticReport":
  "COVID And Influenza DiagnosticReport" Reports
    return SharedResource.DiagnosticReportLabResource(Reports,
    {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-diagnosticreport-lab'}})

//return the RSV DiagnosticReport pre admission
define "SDE RSV DiagnosticReport":
  "RSV DiagnosticReport" Reports
    return SharedResource.DiagnosticReportLabResource(Reports,
    {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-diagnosticreport-lab'}})

//return the DiagnosticReport based on the result during the Measurement Period    
define "SDE ACH Daily DiagnosticReport Result from Lab":
  "ACH Daily DiagnosticReport Result from Lab" Reports
    return SharedResource.DiagnosticReportLabResource(Reports,
    {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-diagnosticreport-lab'}})

//return the COVID-19 and Influenza DiagnosticReport based on the result pre admission
define "SDE COVID and Influenza DiagnosticReport Result from Lab":
  "COVID and Influenza DiagnosticReport Result from Lab" Reports
    return SharedResource.DiagnosticReportLabResource(Reports,
    {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-diagnosticreport-lab'}})

//return the RSV DiagnosticReport based on the result pre admission
define "SDE RSV DiagnosticReport Result from Lab":
  "RSV DiagnosticReport Result from Lab" Reports
    return SharedResource.DiagnosticReportLabResource(Reports,
    {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-diagnosticreport-lab'}})
  
define "SDE ACH Daily ServiceRequest":
  ([ServiceRequest: "COVID_19 (Tests for SARS_CoV_2 Nucleic Acid)"] 
  union  [ServiceRequest: "COVID_19 (Tests for SARS_CoV_2 Antigen)"] 
  union  [ServiceRequest: "Influenza (Tests for influenza A or B virus Nucleic Acid)"]
  union  [ServiceRequest: "Influenza (Tests for influenza A or B virus Antigen)"]
  union  [ServiceRequest: "RSV (Tests for RSV Nucleic Acid)"]
  union  [ServiceRequest: "RSV (Tests for RSV Antigen)"]
  ) ServiceRequests
    where ServiceRequests.intent ~ 'order'
      and ServiceRequests.status ~ 'completed'
      and exists(ServiceRequests.category C where C ~ "Laboratory procedure")
      and exists("Initial Population")
  return ServiceRequestResource(ServiceRequests,
  {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-servicerequest'}})

define "SDE Isolation Precautions Implemented":
  [Procedure: "Transmission Based Precaution Types"] IsolationPrecautions
    where NHSNHelpers."Normalize Interval"(IsolationPrecautions.performed) during "Measurement Period"
    and exists("Initial Population")
  return SharedResource.ProcedureResource(IsolationPrecautions,
  {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-procedure'}})

define "SDE Covid or Influenza Medication Administered":
  [MedicationAdministration] RPSMedAdmin
    let Meds: GetMedicationCode(RPSMedAdmin.medication)
   where (Meds in "Anakinra"
            or Meds in "Bamlanivimab"
            or Meds in "Baloxavir"
            or Meds in "Baricitinib"
            or Meds in "Bebtelovimab"
            or Meds in "Casirivimab"
            or Meds in "Casirivimab / Imdevimab"
            or Meds in "COVID19 RxNorm Value Set for Tocilizumab"
            or Meds in "Etesevimab"
            or Meds in "Imdevimab"
            or Meds in "Molnupiravir"
            or Meds in "Nirmatrelvir / Ritonavir"
            or Meds in "Oseltamivir"
            or Meds in "Peramivir"
            or Meds in "Remdesivir"
            or Meds in "Sarilumab"
            or Meds in "Sotrovimab"    
            or Meds in "Tofacitinib"
            or Meds in "Zanamivir")
      and RPSMedAdmin.status ~ 'completed'
      and exists("Initial Population")
      and NHSNHelpers."Normalize Interval"(RPSMedAdmin.effective) during "Measurement Period"
    return SharedResource.MedicationAdministrationResource(RPSMedAdmin,
    {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-medicationadministration'}})

define "SDE Covid or Influenza Medication Ordered":
  [MedicationRequest] RPSMedRequest
    let Meds: GetMedicationCode(RPSMedRequest.medication)
    where (Meds in "Anakinra"
            or Meds in "Baloxavir"
            or Meds in "Bamlanivimab"
            or Meds in "Baricitinib"
            or Meds in "Bebtelovimab"
            or Meds in "Casirivimab"
            or Meds in "Casirivimab / Imdevimab"
            or Meds in "COVID19 RxNorm Value Set for Tocilizumab"
            or Meds in "Etesevimab"
            or Meds in "Imdevimab"
            or Meds in "Molnupiravir"
            or Meds in "Nirmatrelvir / Ritonavir"
            or Meds in "Oseltamivir"
            or Meds in "Peramivir"
            or Meds in "Remdesivir"
            or Meds in "Sarilumab"
            or Meds in "Sotrovimab"    
            or Meds in "Tofacitinib"
            or Meds in "Zanamivir")
      and exists("Initial Population")
      and NHSNHelpers."Normalize Interval"(RPSMedRequest.authoredOn) during "Measurement Period"
    return MedicationRequestResource(RPSMedRequest,
    {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-medicationrequest'}})

define "SDE Medication":
  ("SDE Covid or Influenza Medication Ordered"
  union "SDE Covid or Influenza Medication Administered") MedReqOrAdmin
  where MedReqOrAdmin.medication is FHIR.Reference
  return SharedResource.MedicationResource(GetMedicationFrom(MedReqOrAdmin.medication),
  {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-medication'}})

//To catch all isolation precautions
define "SDE All Observations":
  "Observations" O
  where exists("Initial Population")
  return ObservationLabResource(O,
  {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-observation'}})

//To catch all isolation precautions
define "SDE All ServiceRequests":
  [ServiceRequest] SR
  where exists("Initial Population") 
    and exists(
      SR.category C 
      where C ~ "Laboratory procedure"
         or C ~ "Surgical procedure"
         or C ~ "Imaging"
    )
  return ServiceRequestResource(SR,
  {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-servicerequest'}})
  
//To catch all isolation precautions
define "SDE All Procedures":
  [Procedure] P
  where exists("Initial Population")
  return SharedResource.ProcedureResource(P,
  {FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/ach-daily-procedure'}})


//-----------------------------------------------------
//functions
//-----------------------------------------------------
define function "CheckIP"(encounter Encounter):
  exists("Initial Population" IP
  where encounter.id = IP.id)

define function "GetMedication"(reference Reference ):
  singleton from (
    [Medication: id in {NHSNHelpers.GetId(reference.reference)}]
  )

define function "GetMedicationCode"(choice Choice<FHIR.CodeableConcept, FHIR.Reference>):
  case
    when choice is FHIR.CodeableConcept then
      choice as FHIR.CodeableConcept
    when choice is FHIR.Reference then
      GetMedication(choice as FHIR.Reference).code
    else
      null as FHIR.CodeableConcept
  end

define function "GetMedicationFrom"(choice Choice<FHIR.CodeableConcept, FHIR.Reference>):
  case
    when choice is FHIR.Reference then
      GetMedication(choice as FHIR.Reference)
    else
      null
  end

define function "GetSpecimen"(reference FHIR.Reference):
  singleton from (
    [Specimen] Specimens
    where Specimens.id = NHSNHelpers.GetId(reference.reference)
  )

define function "GetEncounter"(reference FHIR.Reference):
  singleton from (
    "Encounters" Encounters
    where Encounters.id = NHSNHelpers.GetId(reference.reference)
  )

define fluent function references(reference FHIR.Reference, resource FHIR.Resource):
  resource.id = Last(Split(reference.reference, '/'))

define fluent function references(references List<FHIR.Reference>, resource FHIR.Resource):
  exists(references R where R.references(resource))

//Common Retrievals
define "Encounters":
  [Encounter]

define "Observations":
  [Observation]

define "DiagnosticReports":
  [DiagnosticReport]

 //
 // Measure Specific Resource Creation Functions
 //
define function EncounterHospitalization(hospitalization FHIR.Encounter.Hospitalization):
  hospitalization h
  return FHIR.Encounter.Hospitalization{
    extension: h.extension,
    preAdmissionIdentifier: h.preAdmissionIdentifier,
    origin: h.origin,
    admitSource: h.admitSource,
    reAdmission: h.reAdmission,
    dietPreference: h.dietPreference,
    specialCourtesy: h.specialCourtesy,
    specialArrangement: h.specialArrangement,
    destination: h.destination,
    dischargeDisposition: h.dischargeDisposition
  }

define function EncounterResource(encounter Encounter, profileURLs List<FHIR.canonical>):
  encounter e
  return Encounter{
    id: FHIR.id{value: 'LCR-' + e.id},
    meta: SharedResource.MetaElement(e, profileURLs),
    extension: e.extension,
    identifier: SharedResource.EncounterIdentifier(e.identifier),
    status: e.status,
    statusHistory: SharedResource.EncounterStatusHistory(e.statusHistory),
    class: e.class,
    classHistory: SharedResource.EncounterClassHistory(e.classHistory),
    type: e.type,
    serviceType: e.serviceType,
    priority: e.priority,
    subject: e.subject,
    period: e.period,
    length: e.length,
    reasonCode: e.reasonCode,
    reasonReference: e.reasonReference,
    diagnosis: SharedResource.EncounterDiagnosis(e.diagnosis),
    account: e.account,
    hospitalization: EncounterHospitalization(e.hospitalization),
    location: SharedResource.EncounterLocation(e.location),
    partOf: e.partOf
  }

define function MedicationRequestRepeat(repeat FHIR.Timing.Repeat):
  repeat r
  return FHIR.Timing.Repeat{
    bounds: r.bounds,
    count: r.count,
    countMax: r.countMax,
    "duration": r."duration",
    durationMax: r.durationMax,
    durationUnit: r.durationUnit,
    frequency: r.frequency,
    frequencyMax: r.frequencyMax,
    period: r.period,
    periodMax: r.periodMax,
    periodUnit: r.periodUnit,
    dayOfWeek: r.dayOfWeek,
    timeOfDay: r.timeOfDay,
    "when": r."when",
    offset: r.offset
  }

define function MedicationRequestTiming(timing FHIR.Timing):
  timing t
  return FHIR.Timing{
    event: t.event,
    repeat: MedicationRequestRepeat(t.repeat),
    code: t.code
  }

define function MedicationRequestDosageInstruction(dosageInstruction List<FHIR.Dosage>):
  dosageInstruction dI
  return FHIR.Dosage{
    text: dI.text,
    patientInstruction: dI.patientInstruction,
    timing: MedicationRequestTiming(dI.timing),
    asNeeded: dI.asNeeded,
    site: dI.site,
    route: dI.route,
    method: dI.method,
    doseAndRate: SharedResource.MedicationRequestDoseAndRate(dI.doseAndRate)
  }

 define function MedicationRequestResource(medicationRequest MedicationRequest, profileURLs List<FHIR.canonical>):
  medicationRequest m
  return MedicationRequest{
    id: FHIR.id {value: 'LCR-' + m.id},
    meta: SharedResource.MetaElement(medicationRequest, profileURLs),
    extension: m.extension,
    status: m.status,
    intent: m.intent,
    category: m.category,
    priority: m.priority,
    doNotPerform: m.doNotPerform,
    reported: m.reported,
    medication: m.medication,
    subject: m.subject,
    encounter: m.encounter,
    authoredOn: m.authoredOn,
    //*requester: m.requester,
    recorder: m.recorder,
    reasonCode: m.reasonCode,
    reasonReference: m.reasonReference,
    instantiatesCanonical: m.instantiatesCanonical,
    instantiatesUri: m.instantiatesUri,
    courseOfTherapyType: m.courseOfTherapyType,
    dosageInstruction: MedicationRequestDosageInstruction(m.dosageInstruction)
  }

define function ObservationLabCoding(coding List<Coding>):
  coding c
  return Coding{
    system: c.system,
    version: c.version,
    code: c.code,
    display: c.display,
    userSelected: c.userSelected
  }

define function ObservationLabCategory(category List<CodeableConcept>):
  category c
  return CodeableConcept{
    coding: ObservationLabCoding(c.coding),
    text: c.text
  }

define function ObservationLabResource(observation Observation, profileURLs List<FHIR.canonical>):
  observation o
  return Observation{
    id: FHIR.id {value: 'LCR-' + o.id},
    meta: SharedResource.MetaElement(o, profileURLs),
    extension: o.extension,
    basedOn: o.basedOn,
    partOf: o.partOf,
    status: o.status,
    category: ObservationLabCategory(o.category),
    code: o.code,
    subject: o.subject,
    focus: o.focus,
    encounter: o.encounter,
    effective: o.effective,
    issued: o.issued,
    //*performer: o.performer,
    value: o.value,
    dataAbsentReason: o.dataAbsentReason,
    interpretation: o.interpretation,
    note: o.note,
    bodySite: o.bodySite,
    method: o.method,
    specimen: o.specimen,
    device: o.device,
    referenceRange: SharedResource.ObservationReferenceRange(o.referenceRange),
    hasMember: o.hasMember,
    derivedFrom: o.derivedFrom,
    component: SharedResource.ObservationComponent(o.component)
  }

define function "GetProcedureExtensions"(domainResource DomainResource):
  domainResource.extension E
    where E.url != 'http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-recorded'
     return E

define function ProcedureResource(procedure Procedure, profileURLs List<FHIR.canonical>):
  procedure p
  return Procedure{
    id: FHIR.id {value: 'LCR-' + p.id},
    meta: SharedResource.MetaElement(p, profileURLs),
    extension: GetProcedureExtensions(p), 
    instantiatesCanonical: p.instantiatesCanonical,
    instantiatesUri: p.instantiatesUri,
    basedOn: p.basedOn,
    partOf: p.partOf,
    status: p.status,
    statusReason: p.statusReason,
    category: p.category,
    code: p.code,
    subject: p.subject,
    encounter: p.encounter,
    performed: p.performed,
    recorder: p.recorder,
    asserter: p.asserter,
    //*performer: SharedResource.ProcedurePerformer(p.performer),
    location: p.location,
    reasonCode: p.reasonCode,
    reasonReference: p.reasonReference,
    bodySite: p.bodySite,
    outcome: p.outcome,
    report: p.report,
    complication: p.complication,
    complicationDetail: p.complicationDetail,
    followUp: p.followUp,
    note: p.note,
    focalDevice: SharedResource.ProcedureFocalDevice(p.focalDevice),
    usedReference: p.usedReference,
    usedCode: p.usedCode
  }

define function ServiceRequestResource(serviceRequest ServiceRequest, profileURLs List<FHIR.canonical>):
  serviceRequest sR
  return ServiceRequest{
    id: FHIR.id {value: 'LCR-' + sR.id},
    meta: SharedResource.MetaElement(sR, profileURLs),
    extension: sR.extension,
    instantiatesCanonical: sR.instantiatesCanonical,
    instantiatesUri: sR.instantiatesUri,
    basedOn: sR.basedOn,
    replaces: sR.replaces,
    requisition: sR.requisition,
    status: sR.status,
    intent: sR.intent,
    category: sR.category,
    priority: sR.priority,
    doNotPerform: sR.doNotPerform,
    code: sR.code,
    orderDetail: sR.orderDetail,
    quantity: sR.quantity,
    subject: sR.subject,
    encounter: sR.encounter,
    occurrence: sR.occurrence,
    asNeeded: sR.asNeeded,
    authoredOn: sR.authoredOn,
    //*performerType: sR.performerType,
    //*performer: sR.performer,
    locationCode: sR.locationCode,
    locationReference: sR.locationReference,
    reasonCode: sR.reasonCode,
    reasonReference: sR.reasonReference,
    insurance: sR.insurance,
    supportingInfo: sR.supportingInfo,
    specimen: sR.specimen,
    bodySite: sR.bodySite,
    note: sR.note,
    patientInstruction: sR.patientInstruction,
    relevantHistory: sR.relevantHistory
  }
    
    
Generated using version 0.5.6-cibuild of the sample-content-ig Liquid templates