Situational Awareness for Novel Epidemic Response, published by HL7 International / Public Health. This guide is not an authorized publication; it is the continuous build for version 1.0.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-saner/ and changes regularly. See the Directory of published versions
Draft as of 2024-05-18 |
<Measure xmlns="http://hl7.org/fhir">
<id value="ComputableCDCPatientImpactAndHospitalCapacity"/>
<meta>
<profile
value="http://hl7.org/fhir/uv/saner/StructureDefinition/PublicHealthMeasure"/>
</meta>
<text>
<status value="generated"/>
<div xmlns="http://www.w3.org/1999/xhtml"><h3>Patient Impact and Hospital Capacity</h3><p>The url for this measure is <code>http://hl7.org/fhir/uv/saner/Measure/ComputableCDCPatientImpactAndHospitalCapacity</code>.</p><p>This measure demonstrates automated reporting on bed availability and use at a facility location based on CDC/NHSN reporting requirements. It is used to illustrate automation of measure reporting using the SANER Implementation guide.</p><dl><dt>Frequency</dt><dd>This measure is expected to be reported every 1 day.</dd><dt>Publisher</dt><dd>HL7 International</dd><dt>Contacts</dt><dd>HL7 Public Health Workgroup (http://hl7.org/Special/committees/pher/index.cfm)</dd><dd>Keith W. Boone (mailto:kboone@ainq.com)</dd><dt>Status</dt><dd>draft</dd></dl><h4>Definitions</h4><dl><dt>Ventilator</dt><dd>Any device used to support, assist or control respiration (inclusive of the weaning period) through the application of positive pressure to the airway when delivered via an artificial airway, specifically an oral/nasal endotracheal or tracheostomy tube. Note: Ventilation and lung expansion devices that deliver positive pressure to the airway (for example: CPAP, BiPAP, bi-level, IPPB and PEEP) via non-invasive means (for example: nasal prongs, nasal mask, full face mask, total mask, etc.) are not considered ventilators unless positive pressure is delivered via an artificial airway (oral/nasal endotracheal or tracheostomy tube).</dd><dt>Beds</dt><dd>Baby beds in mom's room count as 1 bed, even if there are multiple baby beds Follow-up in progress if staffed is less than licensed. Total includes all beds, even if with surge beds it exceeds licensed beds.</dd><dt>ICU beds</dt><dd>Include NICU</dd></dl><h4>Group: Hospital COVID-19 Patient Encounters Reporting</h4><p/><dl><dt>Codes</dt><dd><ul><li>http://hl7.org/fhir/uv/saner/CodeSystem/MeasureGroupSystem#Encounters Encounters</li></ul></dd></dl><dl><dt>subject</dt><dd>Patient in room</dd><dt>scoring</dt><dd>queue-length</dd><dt>type</dt><dd>structure</dd><dt>improvementNotation</dt><dd>decrease</dd></dl><h5>Population: Patients with suspected or confirmed COVID-19 in any location.</h5><p>Active encounters where the encounter diagnosis is suspected or confirmed COVID-19, or a Condition of suspected or confirmed COVID-19 was created during that encounter. This includes the patients with laboratory-confirmed or clinically diagnosed COVID-19.<dl><dt>Confirmed</dt><dd>A patient with a laboratory confirmed COVID-19 diagnosis</dd><dt>Suspected</dt><dd>A patient without a laboratory confirmed COVID-19 diagnosis who, in accordance with CDC’s Interim Public Health Guidance for Evaluating Persons Under Investigation (PUIs), has signs and symptoms compatible with COVID-19 (most patients with confirmed COVID-19 have developed fever and/or symptoms of acute respiratory illness, such as cough, shortness of breath or myalgia/fatigue).</dd></dl></p><dl><dt>Codes</dt><dd><ul><li>http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues#numC19Pats All COVID-19 Confirmed or Suspected Patients</li></ul><ul><li>http://terminology.hl7.org/CodeSystem/measure-population#initial-population</li></ul></dd></dl><h5>Expression: NumC19Pats</h5><p>This expression finds encounters that were active or finished in the reporting period, and their referenced Patient, Condition and Observation resources. It filters these based on cases where Encounter reports a reason or condition in the SuspectedOrDiagnosedCOVID19 value set, or where a positive lab test from the Covid19Labs valueset, or where the patient has any such associated Condition or Observation resources in the prior two weeks.</p><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre> ( %Base + 'Encounter?' + '_include=Encounter:subject&_include=Encounter:Condition&' + '_include=Encounter:reasonReference' + '&status=in-progress,finished' + '&date=ge' + %ReportingPeriod.start.toString() + '&date=lt' + %ReportingPeriod.end.toString() ).resolve().select(entry.resource). where( iif(myMemberOf((Encounter.reasonCode | Condition.code), %SuspectedOrConfirmedCOVID19Diagnoses.url) | Observation.where((myMemberOf(code, %Covid19Labs.url) and myMemberOf(value, %PositiveResults.url)) ), true, iif( Patient.distinct().where( %Base + 'Observation?_count=1' + '&status=registered,preliminary,final,amended,corrected' + '&patient=' + $this.id + '&date=gt' + (dateSubtract(%ReportingPeriod.start, 14 'days')).toString() + '&code:in=' + %Covid19Labs.url + '&value-concept:in=' + %PositiveResults.url ).resolve().select(entry.resource as Observation).exists(), true, Patient.distinct().where( %Base + 'Condition?_count=1'+ '&status:not=refuted&status:not=entered-in-error' + '&patient=' + $this.id + '&verificationStatus:not=refuted,entered-in-error' + '&date=gt' + (dateSubtract(%ReportingPeriod.start, 14 'days')).toString() + '&code:in=' + SuspectedOrConfirmedCOVID19Diagnoses.url ).resolve().select(entry.resource as Condition).exists() ) ) ) .distinct() .aggregate( iif($total.subject contains $this.subject, $total, $total | $this ) )</pre><h5>Stratifier: By Location and Ventilator Status</h5><p>Stratifies the population by Location (inpatient vs ED/Overflow/Other) and Ventilator Status (Ventilated vs Not Ventilated)</p><h5>Expression</h5><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>iif(%NumVentUse.id contains Encounter.subject, iif(myMemberOf(Encounter.location.location.resolve().type, %InpatientLocations.url), 'InpVentilated', 'OFVentilated'), iif(myMemberOf(Encounter.location.location.resolve().type, %InpatientLocations.url), 'InpNotVentilated', 'OFNotVentilated') )</pre><h4>Group: Hospital Onset COVID-19 Patient Encounters Reporting</h4><p/><dl><dt>Codes</dt><dd><ul><li>http://hl7.org/fhir/uv/saner/CodeSystem/MeasureGroupSystem#AcquiredCovid Acquired COVID-19 in Hospital</li></ul></dd></dl><dl><dt>subject</dt><dd>Hospital Acquired COVID-19</dd><dt>scoring</dt><dd>event-growth</dd><dt>type</dt><dd>outcome</dd><dt>improvementNotation</dt><dd>decrease</dd></dl><h5>Population: Patients with suspected or confirmed COVID-19 in an inpatient location</h5><p>Patients with suspected or confirmed COVID-19 in an inpatient location</p><dl><dt>Codes</dt><dd><ul><li>http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues#numC19HospPats Hospitalized COVID-19 Patients</li></ul><ul><li>http://terminology.hl7.org/CodeSystem/measure-population#initial-population</li></ul></dd></dl><h5>Expression: NumC19HospPats</h5><p>Uses the value of NumC19Pat as the initial population</p><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>%NumC19Pats.entry.resource.location.location.resolve().where(myMemberOf(type, %InpatientLocations.url))</pre><h5>Population: Hospital Onset COVID-19 Patients</h5><p>Hospital Onset COVID-19 Patients</p><dl><dt>Codes</dt><dd><ul><li>http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues#numC19HOPats Hospital Onset COVID-19 Patients</li></ul><ul><li>http://terminology.hl7.org/CodeSystem/measure-population#numerator</li></ul></dd></dl><h5>Expression: NumC19HOPats</h5><p>Filters the initial population by ruling out those patients whose first suspected or confirmed diagnosis or lab result appears less than 14 days from admission.</p><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>Encounter.where( iif(dateAdd(period.start,14 'days') > today(), false, iif( (%Base + 'Condition?_count=1'+ '&status:not=refuted&status:not=entered-in-error' + '&patient=' + $this.subject + '&verificationStatus:not=refuted,entered-in-error' + '&date=gt' + (dateAdd($this.period.start,14 'days')).toString() + '&date=le' + (dateSubtract($this.period.start,14 'days')).toString() + '&code:in=' + %SuspectedOrConfirmedCOVID19Diagnoses.url ).resolve().select(entry.resource as Condition).exists(), false, (%Base + 'Observation?_count=1' + '&status=registered,preliminary,final,amended,corrected' + '&patient=' + $this.subject + '&date=gt' + (dateSubtract($this.period.start, 14 'days')).toString() + '&date=le' + (dateAdd($this.period.start,14 'days')).toString() + '&code:in=' + %Covid19Labs.url + '&value-concept:in=' + %PositiveResults.url ).resolve().select(entry.resource as Observation) .empty() ) ) ).select(patient).resolve().trace('patients', id)</pre><h5>Population: Cumulative Hospital Onset COVID-19 Patients</h5><p>Cumulative Hospital Onset COVID-19 Patients</p><dl><dt>Codes</dt><dd><ul><li>http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues#cumC19HOPats Cumulative Hospital Onset COVID-19 Patients</li></ul><ul><li>http://terminology.hl7.org/CodeSystem/measure-population#denominator</li></ul></dd></dl><h5>Expression: CumC19HOPats</h5><p>omputes the cumulative total from the prior measure report and the number of new infections detected in the current reporting period.</p><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>iif(%PriorReport.empty(), 0, %PriorReport.group[1].population[2].count + %NumC19HOPats.total)</pre><h5>Stratifier: By Age Group</h5><p>Stratifies the population by Age Group</p><h5>Expression</h5><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>Patient.select( iif(dateAdd(birthDate, 20 'years') < today(), 'P0Y--P20Y', iif(dateAdd(birthDate, 30 'years') < today(), 'P20Y--P30Y', iif(dateAdd(birthDate, 40 'years') < today(), 'P30Y--P40Y', iif(dateAdd(birthDate, 50 'years') < today(), 'P40Y--P50Y', iif(dateAdd(birthDate, 60 'years') < today(), 'P50Y--P60Y', iif(dateAdd(birthDate, 70 'years') < today(), 'P60Y--P70Y', iif(dateAdd(birthDate, 80 'years') < today(), 'P70Y--P80Y', 'P80Y-P9999Y') ) ) ) ) ) ) )</pre><h5>Stratifier: By Gender</h5><p>Stratifies the population by Gender</p><h5>Expression</h5><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>Patient.gender</pre><h5>Stratifier: By Ethnicity</h5><p>Stratifies the population by Ethnicity</p><h5>Expression</h5><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>Patient.extension('http://hl7.org/fhir/us/core/StructureDefinition/us-ethnicity-category').extension('ombCategory').valueCoding.code</pre><h5>Stratifier: By Race</h5><p>Stratifies the population by Race</p><h5>Expression</h5><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>Patient .extension('http://hl7.org/fhir/us/core/StructureDefinition/us-core-race') .extension('ombCategory') .select( iif(valueCoding.count() > 1, 'Mixed', iif(valueCoding.system = 'http://terminology.hl7.org/CodeSystem/v3-NullFlavor', 'Unknown', valueCoding.code ) ) )</pre><h4>Group: COVID-19 Patient Death Reporting</h4><p/><dl><dt>Codes</dt><dd><ul><li>http://hl7.org/fhir/uv/saner/CodeSystem/MeasureGroupSystem#CovidDeaths COVID-19 Deaths</li></ul></dd></dl><dl><dt>subject</dt><dd>Patients with conformed or suspected COVID-19 who have died</dd><dt>scoring</dt><dd>event-growth</dd><dt>type</dt><dd>outcome</dd><dt>improvementNotation</dt><dd>decrease</dd></dl><h5>Population: Patients with suspected or confirmed COVID-19 in any location.</h5><p>Patients with suspected or confirmed COVID-19 in any location.</p><dl><dt>Codes</dt><dd><ul><li>http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues#numC19Pats All COVID-19 Confirmed or Suspected Patients</li></ul><ul><li>http://terminology.hl7.org/CodeSystem/measure-population#initial-population</li></ul></dd></dl><h5>Expression</h5><p>COVID-19 Patients in an inpatient setting</p><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>%NumC19Pats.entry.resource</pre><h5>Population: Patients with suspected or confirmed COVID-19 who died in the hospital, ED, or any overflow location</h5><p>Patients with suspected or confirmed COVID-19 who died in the hospital, ED, or any overflow location</p><dl><dt>Codes</dt><dd><ul><li>http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues#numC19Died COVID-19 Patient Deaths</li></ul><ul><li>http://terminology.hl7.org/CodeSystem/measure-population#numerator</li></ul></dd></dl><h5>Expression: NumC19Died</h5><p>Filters the initial population by selecting those who have died.</p><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>Encounter.where( iif( hospitalization.where( myMemberOf(dispositionCode, %PatientExpired) ), true, subject.resolve().where(deceasedBoolean = true | deceasedDateTime.exists()) ) ).select(subject).resolve()</pre><h5>Population: Cumulative total of Patients with suspected or confirmed COVID-19 who died in the hospital, ED, or any overflow location</h5><p>Cumulative total of Patients with suspected or confirmed COVID-19 who died in the hospital, ED, or any overflow location</p><dl><dt>Codes</dt><dd><ul><li>http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues#cumC19Died Cumulative COVID-19 Patient Deaths</li></ul><ul><li>http://terminology.hl7.org/CodeSystem/measure-population#denominator</li></ul></dd></dl><h5>Expression: CumC19Died</h5><p>Computes the cumulative total from the prior measure report and the number of new deaths in the current reporting period.</p><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>iif(%PriorReport.empty(), 0, %PriorReport.group[2].population[2].count + %NumC29Died.count())</pre><h5>Stratifier: By Age Group</h5><p>Stratifies the population by Age Group</p><h5>Expression</h5><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>Patient.select( iif(dateAdd(birthDate, 20 'years') < today(), 'P0Y--P20Y', iif(dateAdd(birthDate, 30 'years') < today(), 'P20Y--P30Y', iif(dateAdd(birthDate, 40 'years') < today(), 'P30Y--P40Y', iif(dateAdd(birthDate, 50 'years') < today(), 'P40Y--P50Y', iif(dateAdd(birthDate, 60 'years') < today(), 'P50Y--P60Y', iif(dateAdd(birthDate, 70 'years') < today(), 'P60Y--P70Y', iif(dateAdd(birthDate, 80 'years') < today(), 'P70Y--P80Y', 'P80Y-P9999Y') ) ) ) ) ) ) )</pre><h5>Stratifier: By Gender</h5><p>Stratifies the population by Gender</p><h5>Expression</h5><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>Patient.gender</pre><h5>Stratifier: By Ethnicity</h5><p>Stratifies the population by Ethnicity</p><h5>Expression</h5><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>Patient.extension('http://hl7.org/fhir/us/core/StructureDefinition/us-ethnicity-category').extension('ombCategory').valueCoding.code</pre><h5>Stratifier: By Race</h5><p>Stratifies the population by Race</p><h5>Expression</h5><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>Patient .extension('http://hl7.org/fhir/us/core/StructureDefinition/us-core-race') .extension('ombCategory') .select( iif(valueCoding.code contains '1992-5', 'A', ' ') + iif(valueCoding.code contains '2054-5', 'B', ' ') + iif(valueCoding.code contains '2076-8', 'H', ' ') + iif(valueCoding.code contains '2028-9', 'S', ' ') + iif(valueCoding.code contains '2106-3', 'W', ' ') )</pre><h4>Group: Ventilator Reporting</h4><p/><dl><dt>Codes</dt><dd><ul><li>http://hl7.org/fhir/uv/saner/CodeSystem/MeasureGroupSystem#Ventilators Ventilators</li></ul></dd></dl><dl><dt>subject</dt><dd>Ventilator capacity</dd><dt>scoring</dt><dd>capacity</dd><dt>type</dt><dd>structure</dd><dt>improvementNotation</dt><dd>decrease</dd></dl><h5>Population: Total number of ventilators</h5><p>Count of all ventilators that can support patient care, whether or not they are presently in use.</p><dl><dt>Codes</dt><dd><ul><li>http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues#numVent Mechanical Ventilators</li></ul><ul><li>http://terminology.hl7.org/CodeSystem/measure-population#denominator</li></ul></dd></dl><h5>Expression: NumVent</h5><p>Computes the total number of ventilators from the previously reported MeasureReport</p><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>iif(trace('PriorReport exists:', %PriorReport.exists()), %PriorReport.group[3].population[0].count, 0)</pre><h5>Population: Total number of ventilators in use</h5><p>Count of all ventilators in use.</p><dl><dt>Codes</dt><dd><ul><li>http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues#numVentUse Mechanical Ventilators in Use</li></ul><ul><li>http://terminology.hl7.org/CodeSystem/measure-population#numerator</li></ul></dd></dl><h5>Expression: NumVentUse</h5><p>dentifies the number of ventilators in use by counting Patient with an Observation or Procedure resource from an appropriate value set indicating ventilator use.</p><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>( %Base + 'Encounter?' + 'status=in-progress,finished' + '&_include=Encounter:subject' + '&date=ge' + %ReportingPeriod.start.toString() + '&date=lt' + %ReportingPeriod.end.toString() ).resolve() .select(entry.resource as Patient) .where( iif( ( %Base + 'Observation?_count=1'+ '&status=registered,preliminary,final,amended,corrected' + '&patient=' + $this.id + '&verificationStatus:not=refuted,entered-in-error' + '&date=gt' + %ReportingPeriod.start.toString() + '&date=le' + %ReportingPeriod.end.toString() + '&code:in=' + %VentilatorObservations.url ).resolve().select(entry.resource as Observation).exists(), true, ( %Base + 'Procedure?_count=1'+ '&status=in-progress,competed' + '&patient=' + $this.id + '&date=gt' + %ReportingPeriod.start.toString() + '&date=le' + %ReportingPeriod.end.toString() + '&code:in=' + %VentilatorProcedures.url ).resolve().select(entry.resource as Procedure).exists() ) )</pre><h5>Population: Total number of ventilators not presently in use.</h5><p>Count of all ventilators not presently in use.</p><dl><dt>Codes</dt><dd><ul><li>http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues#numVentAvail Mechanical Ventilators Available</li></ul><ul><li>http://hl7.org/fhir/uv/saner/CodeSystem/MeasurePopulationSystem#numerator-complement</li></ul></dd></dl><h5>Expression: NumVentAvail</h5><p>omputes the number of ventilators available by substracting the number of ventilators in use determined by population 1 from thee total number of ventilators given in population 0</p><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>%NumVent - %NumVentUse.total.toInteger()</pre><h4>Group: Bed Reporting</h4><p/><dl><dt>Codes</dt><dd><ul><li>http://hl7.org/fhir/uv/saner/CodeSystem/MeasureGroupSystem#Beds Beds</li></ul></dd></dl><dl><dt>subject</dt><dd>Bed capacity</dd><dt>scoring</dt><dd>capacity</dd><dt>type</dt><dd>structure</dd><dt>improvementNotation</dt><dd>decrease</dd></dl><h5>Population: Total number of beds</h5><p>Total number of all Inpatient and outpatient beds, including all staffed, ICU, licensed, and overflow (surge) beds used for inpatients or outpatients</p><dl><dt>Codes</dt><dd><ul><li>http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues#numTotBeds All Hospital Beds</li></ul><ul><li>http://terminology.hl7.org/CodeSystem/measure-population#denominator</li></ul></dd></dl><h5>Expression: NumTotBeds</h5><p>Computes the total number of beds from the previously reported MeasureReport</p><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>iif(%PriorReport.exists(),%PriorReport.group[3].population[0].count,0)</pre><h5>Population: Total number of beds in use</h5><p>Total number of all Inpatient and outpatient beds that are occupied</p><dl><dt>Codes</dt><dd><ul><li>http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues#numTotBedsOcc Hospital Beds Occupied</li></ul><ul><li>http://terminology.hl7.org/CodeSystem/measure-population#numerator</li></ul></dd></dl><h5>Expression: NumTotBedsOcc</h5><p>Identifies the number of beds in use by counting the most recent Encounter for each patient where the encounter was in-progress or finished within the period.</p><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>( %Base + 'Encounter?' + 'status=in-progress' + '&date=ge' + %ReportingPeriod.start.toString() + '&date=lt' + %ReportingPeriod.end.toString() ).resolve().select(entry.resource as Encounter) .aggregate( iif($total.select(location[0]).location contains $this.location.location.first(), $total, $total | $this ) )</pre><h5>Population: Total number of hospital beds available</h5><p>Total number of all hospital inpatient and outpatient beds that are available</p><dl><dt>Codes</dt><dd><ul><li>http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues#numTotBedsAvail Hospital Beds Available</li></ul><ul><li>http://hl7.org/fhir/uv/saner/CodeSystem/MeasurePopulationSystem#numerator-complement</li></ul></dd></dl><h5>Expression: NumTotBedsAvail</h5><p>omputes the number of beds available by substracting the number of beds in use determined by population 1 from the total number of beds given in population 0</p><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>%NumTotBeds - %NumTotBedsOcc.count()</pre><h5>Stratifier: By Type of Location</h5><p>Inpatient Non-ICU, Inpatient ICU, Other</p><h5>Expression</h5><p>Determines the location of the encounter based on the membership of location.type in the InpatientLocations and ICULocations ValueSet resources. When location.type is assigned to any other value, it is reported to be Other</p><dl><dt>Language</dt><dd>text/fhirpath</dd></dl><pre>Encounter.location.location.resolve() .iif(myMemberOf(type, %InpatientLocations.url), iif (myMemberOf(type, %ICULocations.url), 'Inpatient ICU', 'Inpatient Non-ICU' ), 'Other' )</pre><h5>References</h5><ul><li><a href="https://www.cdc.gov/nhsn/pdfs/commup/email-covid19-pihc-508.pdf" title="CDC/NHSN COVID-19 Patient Impact & Hospital Capacity Module Home Page">NHSN COVID-19 Reporting</a></li><li><a href="https://web.archive.org/web/20200407141902/https://www.cdc.gov/nhsn/pdfs/covid19/import-covid19-data-508.pdf" title="Importing COVID-19 Patient Module Denominator data for Patient Safety Component">How to import COVID-19 Summary Data</a></li><li><a href="https://www.ohsu.edu/sites/default/files/2020-03/NHSN%20COVID-19%20Patient%20Impact%20and%20Hospital%20Capacity%20Module-%20Data%20Elements....pdf" title="Instructions for Completion of the COVID-19 Patient Impact and Hospital Capacity Module Form (CDC 57.130)">Table of Instructions</a></li><li><a href="https://www.cdc.gov/nhsn/pdfs/covid19/ltcf/fac-import-csv-508.pdf" title="CDC/NHSN COVID-19 Reporting CSV File Template">CSV File Template</a></li></ul></div>
</text>
<extension
url="http://hl7.org/fhir/uv/saner/StructureDefinition/ReportingPeriod">
<valueTiming>
<repeat>
<frequency value="1"/>
<period value="1"/>
<periodUnit value="d"/>
</repeat>
</valueTiming>
</extension>
<url
value="http://hl7.org/fhir/uv/saner/Measure/ComputableCDCPatientImpactAndHospitalCapacity"/>
<identifier>
<system value="urn:ietf:rfc:3986"/>
<value value="urn:oid:2.16.840.1.113883.4.642.40.42.29.4"/>
</identifier>
<version value="1.0.1"/>
<name value="ComputableCDCPatientImpactAndHospitalCapacity"/>
<title value="Patient Impact and Hospital Capacity"/>
<status value="draft"/>
<experimental value="true"/>
<date value="2024-05-18T21:25:01+00:00"/>
<publisher value="HL7 International / Public Health"/>
<contact>
<telecom>
<system value="url"/>
<value value="http://www.hl7.org/Special/committees/pher"/>
</telecom>
</contact>
<contact>
<telecom>
<system value="email"/>
<value value="pher@lists.hl7.org"/>
</telecom>
</contact>
<contact>
<name value="Keith W. Boone"/>
<telecom>
<system value="email"/>
<value value="mailto:kboone@ainq.com"/>
</telecom>
</contact>
<description
value="This measure demonstrates automated reporting on bed availability and use at a facility location based on CDC/NHSN reporting requirements.
It is used to illustrate automation of measure reporting using the SANER Implementation guide."/>
<useContext>
<code>
<system
value="http://terminology.hl7.org/CodeSystem/usage-context-type"/>
<code value="focus"/>
</code>
<valueCodeableConcept>
<coding>
<system value="http://snomed.info/sct"/>
<code value="840539006"/>
<display value="COVID-19"/>
</coding>
</valueCodeableConcept>
</useContext>
<jurisdiction>
<coding>
<system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/>
<code value="001"/>
<display value="World"/>
</coding>
</jurisdiction>
<author>
<name
value="Centers for Disease Control/National Healthcare Safety Network (CDC/NHSN)"/>
<telecom>
<system value="email"/>
<value value="mailto:nhsn@cdc.gov"/>
</telecom>
</author>
<relatedArtifact>
<type value="documentation"/>
<label value="NHSN COVID-19 Reporting"/>
<display
value="CDC/NHSN COVID-19 Patient Impact & Hospital Capacity Module Home Page"/>
<url
value="https://web.archive.org/web/20200501215043/https://www.cdc.gov/nhsn/acute-care-hospital/covid19/"/>
<document>
<url
value="https://web.archive.org/web/20200501215043/https://www.cdc.gov/nhsn/acute-care-hospital/covid19/"/>
</document>
</relatedArtifact>
<relatedArtifact>
<type value="documentation"/>
<label value="How to import COVID-19 Summary Data"/>
<display
value="Importing COVID-19 Patient Module Denominator data for Patient Safety Component"/>
<url
value="https://web.archive.org/web/20200501215043/https://www.cdc.gov/nhsn/pdfs/covid19/import-covid19-data-508.pdf"/>
<document>
<url
value="https://web.archive.org/web/20200501215043/https://www.cdc.gov/nhsn/pdfs/covid19/import-covid19-data-508.pdf"/>
</document>
</relatedArtifact>
<relatedArtifact>
<type value="documentation"/>
<label value="Table of Instructions"/>
<display
value="Instructions for Completion of the COVID-19 Patient Impact and Hospital Capacity Module Form (CDC 57.130)"/>
<url
value="https://web.archive.org/web/20200501215043/https://www.cdc.gov/nhsn/pdfs/covid19/57.130-toi-508.pdf"/>
<document>
<url
value="https://web.archive.org/web/20200501215043/https://www.cdc.gov/nhsn/pdfs/covid19/57.130-toi-508.pdf"/>
</document>
</relatedArtifact>
<relatedArtifact>
<type value="documentation"/>
<label value="CSV File Template"/>
<display value="CDC/NHSN COVID-19 Reporting CSV File Template"/>
<url
value="https://web.archive.org/web/20200501215043/https://www.cdc.gov/nhsn/pdfs/covid19/covid19-test-csv-import.csv"/>
<document>
<url
value="https://web.archive.org/web/20200501215043/https://www.cdc.gov/nhsn/pdfs/covid19/covid19-test-csv-import.csv"/>
</document>
</relatedArtifact>
<library
value="http://hl7.org/fhir/uv/saner/Library/ComputableNHSNMeasureLibrary"/>
<definition
value="Ventilator: Any device used to support, assist or control respiration (inclusive of the weaning period) through the application of positive
pressure to the airway when delivered via an artificial airway, specifically an oral/nasal endotracheal or tracheostomy tube.
Note: Ventilation and lung expansion devices that deliver positive pressure to the airway (for example: CPAP, BiPAP, bi-level, IPPB and
PEEP) via non-invasive means (for example: nasal prongs, nasal mask, full face mask, total mask, etc.) are not considered ventilators
unless positive pressure is delivered via an artificial airway (oral/nasal endotracheal or tracheostomy tube).
Beds: Baby beds in mom's room count as 1 bed, even if there are multiple baby beds. Follow-up in progress if staffed is less than licensed.
Total includes all beds, even if with surge beds it exceeds licensed beds.
ICU beds: Include NICU"/>
<group>
<extension
url="http://hl7.org/fhir/uv/saner/StructureDefinition/MeasureGroupAttributes">
<extension url="subject">
<valueCodeableConcept>
<coding>
<system value="http://hl7.org/fhir/resource-types"/>
<code value="Encounter"/>
</coding>
<coding>
<system value="http://snomed.info/sct"/>
<code value="398284004"/>
<display value="Patient in room"/>
</coding>
<text value="Patient in room"/>
</valueCodeableConcept>
</extension>
<extension url="scoring">
<valueCodeableConcept>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/PublicHealthMeasureScoring"/>
<code value="queue-length"/>
</coding>
</valueCodeableConcept>
</extension>
<extension url="type">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-type"/>
<code value="structure"/>
</coding>
</valueCodeableConcept>
</extension>
<extension url="improvementNotation">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-improvement-notation"/>
<code value="decrease"/>
</coding>
</valueCodeableConcept>
</extension>
<extension url="rateAggregation">
<valueString value="point-in-time"/>
</extension>
</extension>
<code>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/MeasureGroupSystem"/>
<code value="Encounters"/>
<display value="Encounters"/>
</coding>
<text value="Hospital COVID-19 Patient Encounters Reporting"/>
</code>
<population>
<code>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues"/>
<code value="numC19Pats"/>
<display value="All COVID-19 Confirmed or Suspected Patients"/>
</coding>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="initial-population"/>
</coding>
<text
value="Patients with suspected or confirmed COVID-19 in any location."/>
</code>
<description
value="Active encounters where the encounter diagnosis is suspected or confirmed COVID-19, or a Condition of suspected or confirmed COVID-19 was created during that encounter. This includes the patients with laboratory-confirmed
or clinically diagnosed COVID-19.
Confirmed: A patient with a laboratory confirmed COVID-19 diagnosis
Suspected: A patient without a laboratory confirmed COVID-19 diagnosis who, in accordance with CDC’s Interim Public Health Guidance
for Evaluating Persons Under Investigation (PUIs), has signs and symptoms compatible with COVID-19 (most patients with confirmed
COVID-19 have developed fever and/or symptoms of acute respiratory illness, such as cough, shortness of breath or myalgia/fatigue)."/>
<criteria>
<extension
url="http://hl7.org/fhir/uv/saner/StructureDefinition/MeasureAlternateCriteria">
<valueExpression>
<description
value="Alternate definition for Active encounters using CQL"/>
<name value="NumC19Pats"/>
<language value="text/cql"/>
<expression value="NumberOfCOVID19Patients"/>
</valueExpression>
</extension>
<description
value="This expression finds encounters that were active or finished in the reporting period, and their referenced Patient, Condition and Observation resources.
It filters these based on cases where Encounter reports a reason or condition in the SuspectedOrConfirmedCOVID19Diagnoses value set, or
where a positive lab test from the Covid19Labs valueset, or where the patient has any such associated Condition or Observation resources
in the prior two weeks."/>
<name value="NumC19Pats"/>
<language value="text/fhirpath"/>
<expression
value="findAll('Encounter',
including('subject','condition','reasonReference'),
with('status').equalTo('in-progress'|'finished'),
with('date').within(%ReportingPeriod)
).onServers(%Base).
where(
iif(myMemberOf((Encounter.reasonCode | Condition.code), %SuspectedOrConfirmedCOVID19Diagnoses.url) |
Observation.where((myMemberOf(code, %Covid19Labs.url) and myMemberOf(value, %PositiveResults.url))
), true,
iif(
Patient.distinct()
.whereExists('Observation',
for('patient', $this),
with('status').equalTo(
'registered' | 'preliminary' | 'final' | 'amended' | 'corrected'),
with('date').greaterThan(%ReportingPeriod.start - 14 'days'),
with('code').in(%Covid19Labs),
with('value-concept).in(%PositiveResults)
).onServers(%Base), true,
Patient.distinct()
.whereExists('Condition',
for('patient', $this),
with('verification-status').notEqualTo('refuted'|'entered-in-error').
with('date').greaterThan(%ReportingPeriod.start - 14 'days'),
with('code').in(%SuspectedOrConfirmedCOVID19Diagnoses.url)
).exists()
)
)
)
.distinct()
.aggregate(
iif($total.subject contains $this.subject,
$total, $total | $this
)
)"/>
</criteria>
</population>
<stratifier>
<code>
<text value="By Location and Ventilator Status"/>
</code>
<description
value="Stratifies the population by Location (inpatient vs ED/Overflow/Other) and Ventilator Status (Ventilated vs Not Ventilated)"/>
<criteria>
<description
value="For each Encounter,
if the encounter subject has been ventilated
if the Encounter location is an inpatient loocation,
return InpVentilated
Otherwise
return OFVentilated
else
if the Encounter location is an inpatient loocation,
return InpNotVentilated
Otherwise
return OFNotVentilated
end if"/>
<language value="text/fhirpath"/>
<expression
value="iif(%NumVentUse.id contains Encounter.subject,
iif(myMemberOf(Encounter.location.location.resolve().type, %InpatientLocations.url), 'InpVentilated', 'OFVentilated'),
iif(myMemberOf(Encounter.location.location.resolve().type, %InpatientLocations.url), 'InpNotVentilated', 'OFNotVentilated')
)"/>
</criteria>
</stratifier>
</group>
<group>
<extension
url="http://hl7.org/fhir/uv/saner/StructureDefinition/MeasureGroupAttributes">
<extension url="subject">
<valueCodeableConcept>
<coding>
<system value="http://hl7.org/fhir/resource-types"/>
<code value="Patient"/>
</coding>
<coding>
<system value="http://snomed.info/sct"/>
<code
value="116154003|Patient|: 20401003|With| = (840539006|Disease caused by 2019 novel coronavirus|: 246512002|Timing| = 277056009|Hospital Acquired|)"/>
<display
value="Patient where With = Disease caused by 2019 novel coronavirus where Timing = Hospital acquired"/>
</coding>
<text value="Hospital Acquired COVID-19"/>
</valueCodeableConcept>
</extension>
<extension url="scoring">
<valueCodeableConcept>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/PublicHealthMeasureScoring"/>
<code value="event-growth"/>
</coding>
</valueCodeableConcept>
</extension>
<extension url="type">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-type"/>
<code value="outcome"/>
</coding>
</valueCodeableConcept>
</extension>
<extension url="improvementNotation">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-improvement-notation"/>
<code value="decrease"/>
</coding>
</valueCodeableConcept>
</extension>
<extension url="rateAggregation">
<valueString value="cumulative"/>
</extension>
</extension>
<code>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/MeasureGroupSystem"/>
<code value="AcquiredCovid"/>
<display value="Acquired COVID-19 in Hospital"/>
</coding>
<text value="Hospital Onset COVID-19 Patient Encounters Reporting"/>
</code>
<population>
<code>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues"/>
<code value="numC19HospPats"/>
<display value="Hospitalized COVID-19 Patients"/>
</coding>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="initial-population"/>
</coding>
<text
value="Patients with suspected or confirmed COVID-19 in an inpatient location"/>
</code>
<description
value="Patients with suspected or confirmed COVID-19 in an inpatient location"/>
<criteria>
<description
value="Uses the value of NumC19Pat as the initial population"/>
<name value="NumC19HospPats"/>
<language value="text/fhirpath"/>
<expression
value="%NumC19Pats.entry.resource.location.location.resolve().where(myMemberOf(type, %InpatientLocations.url))"/>
</criteria>
</population>
<population>
<code>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues"/>
<code value="numC19HOPats"/>
<display value="Hospital Onset COVID-19 Patients"/>
</coding>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="numerator"/>
</coding>
<text value="Hospital Onset COVID-19 Patients"/>
</code>
<description value="Hospital Onset COVID-19 Patients"/>
<criteria>
<description
value="Filters the initial population by ruling out those patients whose first suspected or
confirmed diagnosis or lab result appears less than 14 days from admission."/>
<name value="NumC19HOPats"/>
<language value="text/fhirpath"/>
<expression
value="Encounter.where(
iif(dateAdd(period.start,14 'days') > today(),
false,
iif(
whereExists('Condition',
with('status').notEqualTo('refuted'|'entered-in-error'),
with('patient').equalTo($this.subject),
with('verificationStatus').notEqualTo('refuted'|'entered-in-error'),
with('date').greaterThan($this.period.start - 14 'days'),
with('date').lessThanOrEqualTo($this.period.start - 14 'days'),
with('code').in(%SuspectedOrConfirmedCOVID19Diagnoses.url)
).onServers(%Base),
false,
whereExists('Observation',
with('status').equalTo('registered'|'preliminary'|'final'|'amended'|'corrected'),
with('patient').equalTo($this.subject),
with('date').greaterThan($this.period.start - 14 'days'),
with('date').lessThanOrEqualTo($this.period.start - 14 'days'),
with('code').in(%Covid19Labs.url)
with('value-concept').in(%PositiveResults.url)
).onServers(%Base).not()
)
)
).select(patient).resolve().trace('patients', id)"/>
</criteria>
</population>
<population>
<code>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues"/>
<code value="cumC19HOPats"/>
<display value="Cumulative Hospital Onset COVID-19 Patients"/>
</coding>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="denominator"/>
</coding>
<text value="Cumulative Hospital Onset COVID-19 Patients"/>
</code>
<description value="Cumulative Hospital Onset COVID-19 Patients"/>
<criteria>
<description
value="Computes the cumulative total from the prior measure report and the number of new
infections detected in the current reporting period."/>
<name value="CumC19HOPats"/>
<language value="text/fhirpath"/>
<expression
value="iif(%PriorReport.empty(), 0, %PriorReport.group[1].population[2].count + %NumC19HOPats.total)"/>
</criteria>
</population>
<stratifier>
<code>
<text value="By Age Group"/>
</code>
<description value="Stratifies the population by Age Group"/>
<criteria>
<description
value="If birth date + N years < today, return the code for the patient < N Years of age for values
of N from 20, 30, 40, 50, 60, 70 and 80, otherise return the code for over 80"/>
<language value="text/fhirpath"/>
<expression
value="Patient.select(
iif(dateAdd(birthDate, 20 'years') < today(), 'P0Y--P20Y',
iif(dateAdd(birthDate, 30 'years') < today(), 'P20Y--P30Y',
iif(dateAdd(birthDate, 40 'years') < today(), 'P30Y--P40Y',
iif(dateAdd(birthDate, 50 'years') < today(), 'P40Y--P50Y',
iif(dateAdd(birthDate, 60 'years') < today(), 'P50Y--P60Y',
iif(dateAdd(birthDate, 70 'years') < today(), 'P60Y--P70Y',
iif(dateAdd(birthDate, 80 'years') < today(), 'P70Y--P80Y', 'P80Y-P9999Y')
)
)
)
)
)
)
)"/>
</criteria>
</stratifier>
<stratifier>
<code>
<text value="By Gender"/>
</code>
<description value="Stratifies the population by Gender"/>
<criteria>
<description value="Return the patient gender"/>
<language value="text/fhirpath"/>
<expression value="Patient.gender"/>
</criteria>
</stratifier>
<stratifier>
<code>
<text value="By Ethnicity"/>
</code>
<description value="Stratifies the population by Ethnicity"/>
<criteria>
<description value="Return the patient enthnicity code"/>
<language value="text/fhirpath"/>
<expression
value="Patient.extension('http://hl7.org/fhir/us/core/StructureDefinition/us-ethnicity-category').extension('ombCategory').valueCoding.code"/>
</criteria>
</stratifier>
<stratifier>
<code>
<text value="By Race"/>
</code>
<description value="Stratifies the population by Race"/>
<criteria>
<description value="Return the patient race code"/>
<language value="text/fhirpath"/>
<expression
value="Patient
.extension('http://hl7.org/fhir/us/core/StructureDefinition/us-core-race')
.extension('ombCategory')
.select(
iif(valueCoding.count() > 1,
'Mixed',
iif(valueCoding.system = 'http://terminology.hl7.org/CodeSystem/v3-NullFlavor',
'Unknown',
valueCoding.code
)
)
)"/>
</criteria>
</stratifier>
</group>
<group>
<extension
url="http://hl7.org/fhir/uv/saner/StructureDefinition/MeasureGroupAttributes">
<extension url="subject">
<valueCodeableConcept>
<coding>
<system value="http://hl7.org/fhir/resource-types"/>
<code value="Patient"/>
</coding>
<coding>
<system value="http://snomed.info/sct"/>
<code value="419620001"/>
<display value="Death"/>
</coding>
<text
value="Patients with conformed or suspected COVID-19 who have died"/>
</valueCodeableConcept>
</extension>
<extension url="scoring">
<valueCodeableConcept>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/PublicHealthMeasureScoring"/>
<code value="event-growth"/>
</coding>
</valueCodeableConcept>
</extension>
<extension url="type">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-type"/>
<code value="outcome"/>
</coding>
</valueCodeableConcept>
</extension>
<extension url="improvementNotation">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-improvement-notation"/>
<code value="decrease"/>
</coding>
</valueCodeableConcept>
</extension>
<extension url="rateAggregation">
<valueString value="cumulative"/>
</extension>
</extension>
<code>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/MeasureGroupSystem"/>
<code value="CovidDeaths"/>
<display value="COVID-19 Deaths"/>
</coding>
<text value="COVID-19 Patient Death Reporting"/>
</code>
<population>
<code>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues"/>
<code value="numC19Pats"/>
<display value="All COVID-19 Confirmed or Suspected Patients"/>
</coding>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="initial-population"/>
</coding>
<text
value="Patients with suspected or confirmed COVID-19 in any location."/>
</code>
<description
value="Patients with suspected or confirmed COVID-19 in any location."/>
<criteria>
<description value="COVID-19 Patients in an inpatient setting"/>
<language value="text/fhirpath"/>
<expression value="%NumC19Pats.entry.resource"/>
</criteria>
</population>
<population>
<code>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues"/>
<code value="numC19Died"/>
<display value="COVID-19 Patient Deaths"/>
</coding>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="numerator"/>
</coding>
<text
value="Patients with suspected or confirmed COVID-19 who died in the hospital, ED, or any overflow location"/>
</code>
<description
value="Patients with suspected or confirmed COVID-19 who died in the hospital, ED, or any overflow location"/>
<criteria>
<description
value="Filters the initial population by selecting those who have died."/>
<name value="NumC19Died"/>
<language value="text/fhirpath"/>
<expression
value="Encounter.where(
iif(
hospitalization.where(
myMemberOf(dispositionCode, %PatientExpired)
),
true,
subject.resolve().where(deceasedBoolean = true | deceasedDateTime.exists())
)
).select(subject).resolve()"/>
</criteria>
</population>
<population>
<code>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues"/>
<code value="cumC19Died"/>
<display value="Cumulative COVID-19 Patient Deaths"/>
</coding>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="denominator"/>
</coding>
<text
value="Cumulative total of Patients with suspected or confirmed COVID-19 who died in the hospital, ED, or any overflow location"/>
</code>
<description
value="Cumulative total of Patients with suspected or confirmed COVID-19 who died in the hospital, ED, or any overflow location"/>
<criteria>
<description
value="Computes the cumulative total from the prior measure report and the number of new deaths in the current reporting period."/>
<name value="CumC19Died"/>
<language value="text/fhirpath"/>
<expression
value="iif(%PriorReport.empty(), 0, %PriorReport.group[2].population[2].count + %NumC29Died.count())"/>
</criteria>
</population>
<stratifier>
<code>
<text value="By Age Group"/>
</code>
<description value="Stratifies the population by Age Group"/>
<criteria>
<description
value="If birth date + N years < today, return the code for the patient < N Years of age for values
of N from 20, 30, 40, 50, 60, 70 and 80, otherise return the code for over 80"/>
<language value="text/fhirpath"/>
<expression
value="Patient.select(
iif(dateAdd(birthDate, 20 'years') < today(), 'P0Y--P20Y',
iif(dateAdd(birthDate, 30 'years') < today(), 'P20Y--P30Y',
iif(dateAdd(birthDate, 40 'years') < today(), 'P30Y--P40Y',
iif(dateAdd(birthDate, 50 'years') < today(), 'P40Y--P50Y',
iif(dateAdd(birthDate, 60 'years') < today(), 'P50Y--P60Y',
iif(dateAdd(birthDate, 70 'years') < today(), 'P60Y--P70Y',
iif(dateAdd(birthDate, 80 'years') < today(), 'P70Y--P80Y', 'P80Y-P9999Y')
)
)
)
)
)
)
)"/>
</criteria>
</stratifier>
<stratifier>
<code>
<text value="By Gender"/>
</code>
<description value="Stratifies the population by Gender"/>
<criteria>
<description value="Return the patient gender"/>
<language value="text/fhirpath"/>
<expression value="Patient.gender"/>
</criteria>
</stratifier>
<stratifier>
<code>
<text value="By Ethnicity"/>
</code>
<description value="Stratifies the population by Ethnicity"/>
<criteria>
<description value="Return the patient ethnicity code"/>
<language value="text/fhirpath"/>
<expression
value="Patient.extension('http://hl7.org/fhir/us/core/StructureDefinition/us-ethnicity-category').extension('ombCategory').valueCoding.code"/>
</criteria>
</stratifier>
<stratifier>
<code>
<text value="By Race"/>
</code>
<description value="Stratifies the population by Race"/>
<criteria>
<description value="Return the patient race code"/>
<language value="text/fhirpath"/>
<expression
value="Patient
.extension('http://hl7.org/fhir/us/core/StructureDefinition/us-core-race')
.extension('ombCategory')
.select(
iif(valueCoding.code contains '1992-5', 'A', ' ') +
iif(valueCoding.code contains '2054-5', 'B', ' ') +
iif(valueCoding.code contains '2076-8', 'H', ' ') +
iif(valueCoding.code contains '2028-9', 'S', ' ') +
iif(valueCoding.code contains '2106-3', 'W', ' ')
)"/>
</criteria>
</stratifier>
</group>
<group>
<extension
url="http://hl7.org/fhir/uv/saner/StructureDefinition/MeasureExpectation">
<valueCode value="SHOULD"/>
</extension>
<extension
url="http://hl7.org/fhir/uv/saner/StructureDefinition/MeasureGroupAttributes">
<extension url="subject">
<valueCodeableConcept>
<coding>
<system value="http://hl7.org/fhir/resource-types"/>
<code value="Device"/>
</coding>
<coding>
<system value="http://snomed.info/sct"/>
<code value="257463002"/>
<display value="Ventilator Outlet"/>
</coding>
<text value="Ventilator capacity"/>
</valueCodeableConcept>
</extension>
<extension url="scoring">
<valueCodeableConcept>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/PublicHealthMeasureScoring"/>
<code value="capacity"/>
</coding>
</valueCodeableConcept>
</extension>
<extension url="type">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-type"/>
<code value="structure"/>
</coding>
</valueCodeableConcept>
</extension>
<extension url="improvementNotation">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-improvement-notation"/>
<code value="decrease"/>
</coding>
</valueCodeableConcept>
</extension>
<extension url="rateAggregation">
<valueString value="point-in-time"/>
</extension>
</extension>
<code>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/MeasureGroupSystem"/>
<code value="Ventilators"/>
<display value="Ventilators"/>
</coding>
<text value="Ventilator Reporting"/>
</code>
<population>
<code>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues"/>
<code value="numVent"/>
<display value="Mechanical Ventilators"/>
</coding>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="denominator"/>
</coding>
<text value="Total number of ventilators"/>
</code>
<description
value="Count of all ventilators that can support patient care, whether or not they are presently in use."/>
<criteria>
<description
value="Computes the total number of ventilators from the previously reported MeasureReport"/>
<name value="NumVent"/>
<language value="text/fhirpath"/>
<expression
value="iif(trace('PriorReport exists:', %PriorReport.exists()), %PriorReport.group[3].population[0].count, 0)"/>
</criteria>
</population>
<population>
<code>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues"/>
<code value="numVentUse"/>
<display value="Mechanical Ventilators in Use"/>
</coding>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="numerator"/>
</coding>
<text value="Total number of ventilators in use"/>
</code>
<description value="Count of all ventilators in use."/>
<criteria>
<description
value="Identifies the number of ventilators in use by counting Patient with an Observation
or Procedure resource from an appropriate value set indicating ventilator use."/>
<name value="NumVentUse"/>
<language value="text/fhirpath"/>
<expression
value="findAll('Encounter',
including('subject'),
with('status').equalTo('in-progress'|'finished'),
with('date').within(%ReportingPeriod)
).onServers(%Base)
.select(entry.resource as Patient)
.where(
iif(
whereExists('Observation',
with('status').equalTo('registered'|'preliminary'|'final'|'amended'|'corrected'),
with('patient').equalTo($this.id),
with('verificationStatus').notEqualTo('refuted'|'entered-in-error'),
with('date').within(%ReportingPeriod),
with('code').in(%VentilatorObservations.url)
).onServers(%Base)
true,
whereExists('Procedure',
with('status').equalTo('in-progress'|'completed'),
with('patient').equalTo($this.id),
with('date').within(%ReportingPeriod),
with('code').in(%VentilatorProcedures.url)
).onServers(%Base)
)
)"/>
</criteria>
</population>
<population>
<code>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues"/>
<code value="numVentAvail"/>
<display value="Mechanical Ventilators Available"/>
</coding>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/MeasurePopulationSystem"/>
<code value="numerator-complement"/>
</coding>
<text value="Total number of ventilators not presently in use."/>
</code>
<description value="Count of all ventilators not presently in use."/>
<criteria>
<description
value="Computes the number of ventilators available by substracting the number of ventilators in use
determined by population 1 from thee total number of ventilators given in population 0"/>
<name value="NumVentAvail"/>
<language value="text/fhirpath"/>
<expression value="%NumVent - %NumVentUse.total.toInteger()"/>
</criteria>
</population>
</group>
<group>
<extension
url="http://hl7.org/fhir/uv/saner/StructureDefinition/MeasureGroupAttributes">
<extension url="subject">
<valueCodeableConcept>
<coding>
<system value="http://hl7.org/fhir/resource-types"/>
<code value="Device"/>
</coding>
<coding>
<system value="http://snomed.info/sct"/>
<code value="91537007"/>
<display value="Hospital Bed"/>
</coding>
<text value="Bed capacity"/>
</valueCodeableConcept>
</extension>
<extension url="scoring">
<valueCodeableConcept>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/PublicHealthMeasureScoring"/>
<code value="capacity"/>
</coding>
</valueCodeableConcept>
</extension>
<extension url="type">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-type"/>
<code value="structure"/>
</coding>
</valueCodeableConcept>
</extension>
<extension url="improvementNotation">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-improvement-notation"/>
<code value="decrease"/>
</coding>
</valueCodeableConcept>
</extension>
<extension url="rateAggregation">
<valueString value="point-in-time"/>
</extension>
</extension>
<code>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/MeasureGroupSystem"/>
<code value="Beds"/>
<display value="Beds"/>
</coding>
<text value="Bed Reporting"/>
</code>
<population>
<code>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues"/>
<code value="numTotBeds"/>
<display value="All Hospital Beds"/>
</coding>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="denominator"/>
</coding>
<text value="Total number of beds"/>
</code>
<description
value="Total number of all Inpatient and outpatient beds, including all staffed, ICU,
licensed, and overflow (surge) beds used for inpatients or outpatients"/>
<criteria>
<description
value="Computes the total number of beds from the previously reported MeasureReport"/>
<name value="NumTotBeds"/>
<language value="text/fhirpath"/>
<expression
value="iif(%PriorReport.exists(),%PriorReport.group[3].population[0].count,0)"/>
</criteria>
</population>
<population>
<code>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues"/>
<code value="numTotBedsOcc"/>
<display value="Hospital Beds Occupied"/>
</coding>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="numerator"/>
</coding>
<text value="Total number of beds in use"/>
</code>
<description
value="Total number of all Inpatient and outpatient beds that are occupied"/>
<criteria>
<description
value="Identifies the number of beds in use by counting the most recent Encounter for each patient where the encounter
was in-progress or finished within the period."/>
<name value="NumTotBedsOcc"/>
<language value="text/fhirpath"/>
<expression
value="findAll('Encounter',
with('status').equalTo('in-progress'),
with('date').within(%ReportingPeriod)
).onServers(%Base)
.aggregate(
iif($total.select(location[0]).location contains $this.location.location.first(),
$total,
$total | $this
)
)"/>
</criteria>
</population>
<population>
<code>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/MeasuredValues"/>
<code value="numTotBedsAvail"/>
<display value="Hospital Beds Available"/>
</coding>
<coding>
<system
value="http://hl7.org/fhir/uv/saner/CodeSystem/MeasurePopulationSystem"/>
<code value="numerator-complement"/>
</coding>
<text value="Total number of hospital beds available"/>
</code>
<description
value="Total number of all hospital inpatient and outpatient beds that are available"/>
<criteria>
<description
value="Computes the number of beds available by substracting the number of beds in use
determined by population 1 from the total number of beds given in population 0"/>
<name value="NumTotBedsAvail"/>
<language value="text/fhirpath"/>
<expression value="%NumTotBeds - %NumTotBedsOcc.count()"/>
</criteria>
</population>
<stratifier>
<code>
<text value="By Type of Location"/>
</code>
<description value="Inpatient Non-ICU, Inpatient ICU, Other"/>
<criteria>
<description
value="Determines the location of the encounter based on the membership
of location.type in the InpatientLocations and ICULocations ValueSet resources.
When location.type is assigned to any other value, it is reported to be Other"/>
<language value="text/fhirpath"/>
<expression
value="Encounter.location.location.resolve()
.iif(myMemberOf(type, %InpatientLocations.url),
iif (myMemberOf(type, %ICULocations.url),
'Inpatient ICU',
'Inpatient Non-ICU'
),
'Other'
)"/>
</criteria>
</stratifier>
</group>
</Measure>