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="PatientsByRiskFactorWithSupplementalData"/>
<meta>
<profile
value="http://hl7.org/fhir/uv/saner/StructureDefinition/PublicHealthMeasure"/>
</meta>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml"><p><b>Generated Narrative: Measure</b><a name="PatientsByRiskFactorWithSupplementalData"> </a><a name="hcPatientsByRiskFactorWithSupplementalData"> </a></p><div style="display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%"><p style="margin-bottom: 0px">ResourceMeasure "PatientsByRiskFactorWithSupplementalData" </p><p style="margin-bottom: 0px">Profile: <a href="StructureDefinition-PublicHealthMeasure.html">Public Health Measure</a></p></div><p><b>Enables specification of proposed measure reporting</b>: Once per 1 days</p><p><b>url</b>: <code>http://hl7.org/fhir/uv/saner/Measure/PatientsByRiskFactorWithSupplementalData</code></p><p><b>identifier</b>: <a href="http://terminology.hl7.org/5.5.0/NamingSystem-uri.html" title="As defined by RFC 3986 (http://www.ietf.org/rfc/rfc3986.txt)(with many schemes defined in many RFCs). For OIDs and UUIDs, use the URN form (urn:oid:(note: lowercase) and urn:uuid:). See http://www.ietf.org/rfc/rfc3001.txt and http://www.ietf.org/rfc/rfc4122.txt
This oid is used as an identifier II.root to indicate the the extension is an absolute URI (technically, an IRI). Typically, this is used for OIDs and GUIDs. Note that when this OID is used with OIDs and GUIDs, the II.extension should start with urn:oid or urn:uuid:
Note that this OID is created to aid with interconversion between CDA and FHIR - FHIR uses urn:ietf:rfc:3986 as equivalent to this OID. URIs as identifiers appear more commonly in FHIR.
This OID may also be used in CD.codeSystem.">Uniform Resource Identifier (URI)</a>/urn:oid:2.16.840.1.113883.4.642.40.42.29.6</p><p><b>version</b>: 1.0.1</p><p><b>name</b>: PatientsByRiskFactor</p><p><b>title</b>: COVID-19 Patients By Risk Factor</p><p><b>status</b>: draft</p><p><b>experimental</b>: true</p><p><b>date</b>: 2024-05-18 21:25:01+0000</p><p><b>publisher</b>: HL7 International / Public Health</p><p><b>contact</b>: <a href="http://www.hl7.org/Special/committees/pher">http://www.hl7.org/Special/committees/pher</a>, <a href="mailto:pher@lists.hl7.org">pher@lists.hl7.org</a>, Keith W. Boone: <a href="mailto:mailto:kboone@ainq.com">mailto:kboone@ainq.com</a></p><p><b>description</b>: This measure demonstrates automated reporting of patients with COVID-19 stratified by condition, and reporting supplemental data</p><h3>UseContexts</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Code</b></td><td><b>Value[x]</b></td></tr><tr><td style="display: none">*</td><td>Clinical Focus (Details: UsageContextType code focus = 'Clinical Focus', stated as 'null')</td><td>COVID-19 <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="https://browser.ihtsdotools.org/">SNOWMED CT</a>#840539006)</span></td></tr></table><p><b>jurisdiction</b>: World <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (m49.htm#001)</span></p><p><b>author</b>: Centers for Disease Control/National Healthcare Safety Network (CDC/NHSN): <a href="mailto:mailto:nhsn@cdc.gov">mailto:nhsn@cdc.gov</a></p><blockquote><p><b>relatedArtifact</b></p><p><b>type</b>: documentation</p><p><b>label</b>: NHSN COVID-19 Reporting</p><p><b>display</b>: CDC/NHSN COVID-19 Patient Impact & Hospital Capacity Module Home Page</p><p><b>url</b>: <a href="https://web.archive.org/web/20200501215043/https://www.cdc.gov/nhsn/acute-care-hospital/covid19/">https://web.archive.org/web/20200501215043/https://www.cdc.gov/nhsn/acute-care-hospital/covid19/</a></p><blockquote><p><b>document</b></p></blockquote></blockquote><blockquote><p><b>relatedArtifact</b></p><p><b>type</b>: documentation</p><p><b>label</b>: How to import COVID-19 Summary Data</p><p><b>display</b>: Importing COVID-19 Patient Module Denominator data for Patient Safety Component</p><p><b>url</b>: <a href="https://web.archive.org/web/20200501215043/https://www.cdc.gov/nhsn/pdfs/covid19/import-covid19-data-508.pdf">https://web.archive.org/web/20200501215043/https://www.cdc.gov/nhsn/pdfs/covid19/import-covid19-data-508.pdf</a></p><blockquote><p><b>document</b></p></blockquote></blockquote><blockquote><p><b>relatedArtifact</b></p><p><b>type</b>: documentation</p><p><b>label</b>: Table of Instructions</p><p><b>display</b>: Instructions for Completion of the COVID-19 Patient Impact and Hospital Capacity Module Form (CDC 57.130)</p><p><b>url</b>: <a href="https://web.archive.org/web/20200501215043/https://www.cdc.gov/nhsn/pdfs/covid19/57.130-toi-508.pdf">https://web.archive.org/web/20200501215043/https://www.cdc.gov/nhsn/pdfs/covid19/57.130-toi-508.pdf</a></p><blockquote><p><b>document</b></p></blockquote></blockquote><blockquote><p><b>relatedArtifact</b></p><p><b>type</b>: documentation</p><p><b>label</b>: CSV File Template</p><p><b>display</b>: CDC/NHSN COVID-19 Reporting CSV File Template</p><p><b>url</b>: <a href="https://web.archive.org/web/20200501215043/https://www.cdc.gov/nhsn/pdfs/covid19/covid19-test-csv-import.csv">https://web.archive.org/web/20200501215043/https://www.cdc.gov/nhsn/pdfs/covid19/covid19-test-csv-import.csv</a></p><blockquote><p><b>document</b></p></blockquote></blockquote><p><b>library</b>: <a href="Library-ComputableNHSNMeasureLibrary.html">Computable NHSN Patient Impact and Hospital Capacity Measure Library</a></p><blockquote><p><b>group</b></p><blockquote><p><b>Attributes describing a group of measures</b></p><blockquote><p><b>url</b></p><code>subject</code></blockquote><p><b>value</b>: Patient in room <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://hl7.org/fhir/R4/codesystem-resource-types.html">ResourceType</a>#Encounter; <a href="https://browser.ihtsdotools.org/">SNOWMED CT</a>#398284004)</span></p><blockquote><p><b>url</b></p><code>scoring</code></blockquote><p><b>value</b>: Queue Length <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="CodeSystem-PublicHealthMeasureScoring.html">Public Health Measure Scoring</a>#queue-length)</span></p><blockquote><p><b>url</b></p><code>type</code></blockquote><p><b>value</b>: Structure <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://terminology.hl7.org/5.5.0/CodeSystem-measure-type.html">MeasureType</a>#structure)</span></p><blockquote><p><b>url</b></p><code>improvementNotation</code></blockquote><p><b>value</b>: Decreased score indicates improvement <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://terminology.hl7.org/5.5.0/CodeSystem-measure-improvement-notation.html">MeasureImprovementNotation</a>#decrease)</span></p><blockquote><p><b>url</b></p><code>rateAggregation</code></blockquote><p><b>value</b>: point-in-time</p></blockquote><p><b>code</b>: Hospital COVID-19 Patient Encounters Reporting <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="CodeSystem-MeasureGroupSystem.html">Measure Group System</a>#Encounters "Encounters")</span></p><blockquote><p><b>population</b></p><p><b>code</b>: Patients with confirmed COVID-19 in any location. <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="CodeSystem-MeasuredValues.html">Measured Values in Sample Measures</a>#confirmedC19Pats "All Confirmed COVID-19 Patients"; <a href="http://terminology.hl7.org/5.5.0/CodeSystem-measure-population.html">MeasurePopulationType</a>#initial-population)</span></p><p><b>description</b>: Active encounters where the encounter diagnosis is suspected or confirmed COVID-19,
or a Condition of confirmed COVID-19 was created during that encounter. This includes the patients with laboratory-confirmed
or clinically diagnosed COVID-19.</p><h3>Criteria</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Name</b></td><td><b>Language</b></td><td><b>Expression</b></td></tr><tr><td style="display: none">*</td><td>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
ConfirmedCOVID19Diagnoses 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.</td><td>ConfirmedC19Pats</td><td>text/fhirpath</td><td>findAll('Encounter',
including('subject','condition','reasonReference'),
with('status').equalTo('in-progress,finished'),
with('date').within(%ReportingPeriod)
).onServers(%Base).
where(
iif(
(Encounter.reasonCode | Condition.code).member0f(%ConfirmedCOVID19Diagnoses.url) |
Observation.where(code.member0f(%Covid19Labs.url) and value.member0f(%PositiveResults.url)),
true,
iif(
Patient.distinct()
.whereExists('Observation',
for('patient', $this.id),
with('status').equalTo(
'registered,preliminary,final,amended,corrected'),
with('date').greaterThan(%ReportingPeriod.start - 1 'year'),
with('code').in(%Covid19Labs),
with('value-concept').in(%PositiveResults)
).onServers(%Base),
true,
Patient.distinct()
.whereExists('Condition',
for('patient', $this.id),
with('verification-status').notEqualTo('refuted,entered-in-error').
with('date').greaterThan(%ReportingPeriod.start - 1 'year'),
with('code').in(%ConfirmedCOVID19Diagnoses.url)
).onServers(%Base)
)
)
)
.ofType(Encounter)
.distinct()
.aggregate(
iif($total.subject contains $this.subject, $total, $total | $this )
)</td></tr></table></blockquote><blockquote><p><b>stratifier</b></p><p><b>code</b>: By Risk Factor <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> ()</span></p><p><b>description</b>: Stratifies the population by Condition/RiskFactor</p><h3>Criteria</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Language</b></td><td><b>Expression</b></td></tr><tr><td style="display: none">*</td><td>Final all conditions for each patient in the AllCOVID19RiskFactors ValueSet
and stratify by membership in subsets of that value set. NOTE: A patient
can belong to multiple strata in this example.</td><td>text/fhirpath</td><td>findAll('Condition',
for('patient', $this.subject),
with('code').in(%AllCOVID19RiskFactors.url),
with('onset-date').greaterThan(%ReportingPeriod.start - 1 'year')
).onServers(%Base).select(
iif(code.member0f(%NeoplasticCOVID19RiskFactors.url), 'Neoplastic Disease', {}) |
iif(code.member0f(%COPDCOVID19RiskFactors.url), 'COPD', {}) |
iif(code.member0f(%TobaccoCOVID19RiskFactors.url), 'Tobacco User', {}) |
iif(code.member0f(%HypertensionCOVID19RiskFactors.url), 'Hypertension', {}) | // Calling out Hypertension separately for reasons
iif(code.member0f(%CardiovascularCOVID19RiskFactors.url), 'Cardiovascular Disease', {}) | // Even though it isa Cardiovascular disease
iif(code.member0f(%ObesityCOVID19RiskFactors.url), 'Obesity', {}) |
iif(code.member0f(%SickleCellCOVID19RiskFactors.url), 'Sickle cell Disease', {}) |
iif(code.member0f(%KidneyDiseaseCOVID19RiskFactors.url), 'Chronic Kidney Disease', {}) |
iif(code.member0f(%PregnancyCOVID19RiskFactors.url), 'Pregnant', {}) |
iif(code.member0f(%DiabetesCOVID19RiskFactors.url), 'Diabetes', {})
)</td></tr></table></blockquote></blockquote><blockquote><p><b>supplementalData</b></p><p><b>code</b>: Encounter <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://hl7.org/fhir/R4/codesystem-resource-types.html">ResourceType</a>#Encounter)</span></p><p><b>usage</b>: Supplemental Data <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://terminology.hl7.org/5.5.0/CodeSystem-measure-data-usage.html">MeasureDataUsage</a>#supplemental-data)</span></p><p><b>description</b>: The patient encounter</p><h3>Criteria</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Name</b></td><td><b>Language</b></td><td><b>Expression</b></td></tr><tr><td style="display: none">*</td><td>Encounter dates, reason (e.g., Chief Complaint), discharge disposition</td><td>Encounter</td><td>text/fhirpath</td><td>Encounter</td></tr></table></blockquote><blockquote><p><b>supplementalData</b></p><p><b>code</b>: Patient <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://hl7.org/fhir/R4/codesystem-resource-types.html">ResourceType</a>#Patient)</span></p><p><b>usage</b>: Supplemental Data <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://terminology.hl7.org/5.5.0/CodeSystem-measure-data-usage.html">MeasureDataUsage</a>#supplemental-data)</span></p><p><b>description</b>: The patient</p><h3>Criteria</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Name</b></td><td><b>Language</b></td><td><b>Expression</b></td></tr><tr><td style="display: none">*</td><td>The Patient, including sex, dob, race and ethnicity</td><td>Patient</td><td>text/fhirpath</td><td>Encounter.subject.resolve()</td></tr></table></blockquote><blockquote><p><b>supplementalData</b></p><p><b>code</b>: Location <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://hl7.org/fhir/R4/codesystem-resource-types.html">ResourceType</a>#Location)</span></p><p><b>usage</b>: Supplemental Data <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://terminology.hl7.org/5.5.0/CodeSystem-measure-data-usage.html">MeasureDataUsage</a>#supplemental-data)</span></p><p><b>description</b>: The patient location</p><h3>Criteria</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Name</b></td><td><b>Language</b></td><td><b>Expression</b></td></tr><tr><td style="display: none">*</td><td>The Patient Location</td><td>PatientLocation</td><td>text/fhirpath</td><td>Encounter.location.location.resolve()</td></tr></table></blockquote><blockquote><p><b>supplementalData</b></p><p><b>code</b>: Condition <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://hl7.org/fhir/R4/codesystem-resource-types.html">ResourceType</a>#Condition)</span></p><p><b>usage</b>: Supplemental Data <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://terminology.hl7.org/5.5.0/CodeSystem-measure-data-usage.html">MeasureDataUsage</a>#supplemental-data)</span></p><p><b>description</b>: The encounter and other diagnosis</p><h3>Criteria</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Name</b></td><td><b>Language</b></td><td><b>Expression</b></td></tr><tr><td style="display: none">*</td><td>Retrieves all conditions associated with the encounter</td><td>EncounterDiagnosis</td><td>text/fhirpath</td><td>(Encounter.reasonReference|Encounter.diagnosis.condition).resolve() |
findAll('Condition',
for('patient', $this.subject),
with('encounter').equalTo($this.id)
).onServers(%Base)</td></tr></table></blockquote><blockquote><p><b>supplementalData</b></p><p><b>code</b>: MedicationRequest <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://hl7.org/fhir/R4/codesystem-resource-types.html">ResourceType</a>#MedicationRequest; <a href="http://hl7.org/fhir/R4/codesystem-resource-types.html">ResourceType</a>#MedicationAdministration; <a href="http://hl7.org/fhir/R4/codesystem-resource-types.html">ResourceType</a>#Immunization)</span></p><p><b>usage</b>: Supplemental Data <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://terminology.hl7.org/5.5.0/CodeSystem-measure-data-usage.html">MeasureDataUsage</a>#supplemental-data)</span></p><p><b>description</b>: Medications/Immunizations given during the encounter</p><h3>Criteria</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Name</b></td><td><b>Language</b></td><td><b>Expression</b></td></tr><tr><td style="display: none">*</td><td>Retrieves all medications/immunizations associated with the encounter</td><td>EncounterMeds</td><td>text/fhirpath</td><td>findAll('MedicationRequest',
for('patient', $this.subject),
with('encounter').equalTo($this.id) // alternately, this could be within encounter dates
).onServers(%Base) |
findAll('MedicationAdministration',
for('patient', $this.subject),
with('effective-time').within(%ReportingPeriod)
).onServers(%Base) |
findAll('Immunization',
for('patient', $this.subject),
with('date').within(%ReportingPeriod)
).onServers(%Base)</td></tr></table></blockquote><blockquote><p><b>supplementalData</b></p><p><b>code</b>: Observation <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://hl7.org/fhir/R4/codesystem-resource-types.html">ResourceType</a>#Observation)</span></p><p><b>usage</b>: Supplemental Data <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://terminology.hl7.org/5.5.0/CodeSystem-measure-data-usage.html">MeasureDataUsage</a>#supplemental-data)</span></p><p><b>description</b>: COVID-19 Lab Results</p><h3>Criteria</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Name</b></td><td><b>Language</b></td><td><b>Expression</b></td></tr><tr><td style="display: none">*</td><td>Retrieves all Observations associated with COVID-19 Labs</td><td>COVID19Labs</td><td>text/fhirpath</td><td>findAll('Observation',
for('patient', $this.subject),
with('code').in(%Covid19Labs.url),
with('date').greaterThan(%ReportingPeriod.start - 1 'year')
).onServers(%Base)</td></tr></table></blockquote><blockquote><p><b>supplementalData</b></p><p><b>code</b>: DiagnosticReport <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://hl7.org/fhir/R4/codesystem-resource-types.html">ResourceType</a>#DiagnosticReport; <a href="http://hl7.org/fhir/R4/codesystem-resource-types.html">ResourceType</a>#DocumentReference; <a href="http://hl7.org/fhir/R4/codesystem-resource-types.html">ResourceType</a>#Observation; <a href="http://hl7.org/fhir/R4/codesystem-resource-types.html">ResourceType</a>#ServiceRequest)</span></p><p><b>usage</b>: Supplemental Data <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://terminology.hl7.org/5.5.0/CodeSystem-measure-data-usage.html">MeasureDataUsage</a>#supplemental-data)</span></p><p><b>description</b>: VTE Diagnostic Results</p><h3>Criteria</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Name</b></td><td><b>Language</b></td><td><b>Expression</b></td></tr><tr><td style="display: none">*</td><td>Retrieves diagnostics associated with VTE</td><td>VTEDiagnostics</td><td>text/fhirpath</td><td>findAll('DiagnosticReport',
for('patient', $this.subject),
including('result', 'media'), // what else?
with('date').greaterThan(%ReportingPeriod.start - 1 'year'),
with('code').in(%VTEReports.url)
).onServers(%Base) |
findAll('DocumentReference',
for('patient', $this.subject),
including('related'), // what else?
with('date').greaterThan(%ReportingPeriod.start - 1 'year'),
with('type').in(%VTEReports.url)
).onServers(%Base) |
findAll('Observation',
for('patient', $this.subject),
including('based-on'), // what else?
with('date').greaterThan(%ReportingPeriod.start - 1 'year'),
with('code').in(%VTEReports.url)
).onServers(%Base) |
findAll('ServiceRequest',
for('patient', $this.subject),
including('based-on'), // what else?
with('date').greaterThan(%ReportingPeriod.start - 1 'year'),
with('code').in(%VTEReports.url)
).onServers(%Base)</td></tr></table></blockquote><blockquote><p><b>supplementalData</b></p><p><b>code</b>: Procedure <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://hl7.org/fhir/R4/codesystem-resource-types.html">ResourceType</a>#Procedure; <a href="http://hl7.org/fhir/R4/codesystem-resource-types.html">ResourceType</a>#ServiceRequest)</span></p><p><b>usage</b>: Supplemental Data <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://terminology.hl7.org/5.5.0/CodeSystem-measure-data-usage.html">MeasureDataUsage</a>#supplemental-data)</span></p><p><b>description</b>: Isolation Precautions</p><h3>Criteria</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Name</b></td><td><b>Language</b></td><td><b>Expression</b></td></tr><tr><td style="display: none">*</td><td>Retrieves orders or procedures associated with Isolation Precautions</td><td>IsolationOrders</td><td>text/fhirpath</td><td>findAll('ServiceRequest',
for('patient', $this.subject),
for('encounter', $this.id),
with('code').in(%IsolationPrecautions.url)
).onServers(%Base) |
findAll('Procedure',
for('patient', $this.subject),
for('encounter', $this.id),
with('code').in(%IsolationPrecautions.url)
).onServers(%Base)</td></tr></table></blockquote></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/PatientsByRiskFactorWithSupplementalData"/>
<identifier>
<system value="urn:ietf:rfc:3986"/>
<value value="urn:oid:2.16.840.1.113883.4.642.40.42.29.6"/>
</identifier>
<version value="1.0.1"/>
<name value="PatientsByRiskFactor"/>
<title value="COVID-19 Patients By Risk Factor"/>
<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 of patients with COVID-19 stratified by condition, and reporting supplemental data"/>
<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"/>
<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="confirmedC19Pats"/>
<display value="All Confirmed COVID-19 Patients"/>
</coding>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="initial-population"/>
</coding>
<text value="Patients with 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 confirmed COVID-19 was created during that encounter. This includes the patients with laboratory-confirmed
or clinically diagnosed COVID-19."/>
<criteria>
<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
ConfirmedCOVID19Diagnoses 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="ConfirmedC19Pats"/>
<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(
(Encounter.reasonCode | Condition.code).member0f(%ConfirmedCOVID19Diagnoses.url) |
Observation.where(code.member0f(%Covid19Labs.url) and value.member0f(%PositiveResults.url)),
true,
iif(
Patient.distinct()
.whereExists('Observation',
for('patient', $this.id),
with('status').equalTo(
'registered,preliminary,final,amended,corrected'),
with('date').greaterThan(%ReportingPeriod.start - 1 'year'),
with('code').in(%Covid19Labs),
with('value-concept').in(%PositiveResults)
).onServers(%Base),
true,
Patient.distinct()
.whereExists('Condition',
for('patient', $this.id),
with('verification-status').notEqualTo('refuted,entered-in-error').
with('date').greaterThan(%ReportingPeriod.start - 1 'year'),
with('code').in(%ConfirmedCOVID19Diagnoses.url)
).onServers(%Base)
)
)
)
.ofType(Encounter)
.distinct()
.aggregate(
iif($total.subject contains $this.subject, $total, $total | $this )
)"/>
</criteria>
</population>
<stratifier>
<code>
<text value="By Risk Factor"/>
</code>
<description value="Stratifies the population by Condition/RiskFactor"/>
<criteria>
<description
value="Final all conditions for each patient in the AllCOVID19RiskFactors ValueSet
and stratify by membership in subsets of that value set. NOTE: A patient
can belong to multiple strata in this example."/>
<language value="text/fhirpath"/>
<expression
value="findAll('Condition',
for('patient', $this.subject),
with('code').in(%AllCOVID19RiskFactors.url),
with('onset-date').greaterThan(%ReportingPeriod.start - 1 'year')
).onServers(%Base).select(
iif(code.member0f(%NeoplasticCOVID19RiskFactors.url), 'Neoplastic Disease', {}) |
iif(code.member0f(%COPDCOVID19RiskFactors.url), 'COPD', {}) |
iif(code.member0f(%TobaccoCOVID19RiskFactors.url), 'Tobacco User', {}) |
iif(code.member0f(%HypertensionCOVID19RiskFactors.url), 'Hypertension', {}) | // Calling out Hypertension separately for reasons
iif(code.member0f(%CardiovascularCOVID19RiskFactors.url), 'Cardiovascular Disease', {}) | // Even though it isa Cardiovascular disease
iif(code.member0f(%ObesityCOVID19RiskFactors.url), 'Obesity', {}) |
iif(code.member0f(%SickleCellCOVID19RiskFactors.url), 'Sickle cell Disease', {}) |
iif(code.member0f(%KidneyDiseaseCOVID19RiskFactors.url), 'Chronic Kidney Disease', {}) |
iif(code.member0f(%PregnancyCOVID19RiskFactors.url), 'Pregnant', {}) |
iif(code.member0f(%DiabetesCOVID19RiskFactors.url), 'Diabetes', {})
)"/>
</criteria>
</stratifier>
</group>
<supplementalData>
<code>
<coding>
<system value="http://hl7.org/fhir/resource-types"/>
<code value="Encounter"/>
</coding>
</code>
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
</coding>
</usage>
<description value="The patient encounter"/>
<criteria>
<description
value="Encounter dates, reason (e.g., Chief Complaint), discharge disposition"/>
<name value="Encounter"/>
<language value="text/fhirpath"/>
<expression value="Encounter"/>
</criteria>
</supplementalData>
<supplementalData>
<code>
<coding>
<system value="http://hl7.org/fhir/resource-types"/>
<code value="Patient"/>
</coding>
</code>
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
</coding>
</usage>
<description value="The patient"/>
<criteria>
<description
value="The Patient, including sex, dob, race and ethnicity"/>
<name value="Patient"/>
<language value="text/fhirpath"/>
<expression value="Encounter.subject.resolve()"/>
</criteria>
</supplementalData>
<supplementalData>
<code>
<coding>
<system value="http://hl7.org/fhir/resource-types"/>
<code value="Location"/>
</coding>
</code>
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
</coding>
</usage>
<description value="The patient location"/>
<criteria>
<description value="The Patient Location"/>
<name value="PatientLocation"/>
<language value="text/fhirpath"/>
<expression value="Encounter.location.location.resolve()"/>
</criteria>
</supplementalData>
<supplementalData>
<code>
<coding>
<system value="http://hl7.org/fhir/resource-types"/>
<code value="Condition"/>
</coding>
</code>
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
</coding>
</usage>
<description value="The encounter and other diagnosis"/>
<criteria>
<description
value="Retrieves all conditions associated with the encounter"/>
<name value="EncounterDiagnosis"/>
<language value="text/fhirpath"/>
<expression
value="(Encounter.reasonReference|Encounter.diagnosis.condition).resolve() |
findAll('Condition',
for('patient', $this.subject),
with('encounter').equalTo($this.id)
).onServers(%Base)"/>
</criteria>
</supplementalData>
<supplementalData>
<code>
<coding>
<system value="http://hl7.org/fhir/resource-types"/>
<code value="MedicationRequest"/>
</coding>
<coding>
<system value="http://hl7.org/fhir/resource-types"/>
<code value="MedicationAdministration"/>
</coding>
<coding>
<system value="http://hl7.org/fhir/resource-types"/>
<code value="Immunization"/>
</coding>
</code>
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
</coding>
</usage>
<description
value="Medications/Immunizations given during the encounter"/>
<criteria>
<description
value="Retrieves all medications/immunizations associated with the encounter"/>
<name value="EncounterMeds"/>
<language value="text/fhirpath"/>
<expression
value="findAll('MedicationRequest',
for('patient', $this.subject),
with('encounter').equalTo($this.id) // alternately, this could be within encounter dates
).onServers(%Base) |
findAll('MedicationAdministration',
for('patient', $this.subject),
with('effective-time').within(%ReportingPeriod)
).onServers(%Base) |
findAll('Immunization',
for('patient', $this.subject),
with('date').within(%ReportingPeriod)
).onServers(%Base)"/>
</criteria>
</supplementalData>
<supplementalData>
<code>
<coding>
<system value="http://hl7.org/fhir/resource-types"/>
<code value="Observation"/>
</coding>
</code>
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
</coding>
</usage>
<description value="COVID-19 Lab Results"/>
<criteria>
<description
value="Retrieves all Observations associated with COVID-19 Labs"/>
<name value="COVID19Labs"/>
<language value="text/fhirpath"/>
<expression
value="findAll('Observation',
for('patient', $this.subject),
with('code').in(%Covid19Labs.url),
with('date').greaterThan(%ReportingPeriod.start - 1 'year')
).onServers(%Base)"/>
</criteria>
</supplementalData>
<supplementalData>
<code>
<coding>
<system value="http://hl7.org/fhir/resource-types"/>
<code value="DiagnosticReport"/>
</coding>
<coding>
<system value="http://hl7.org/fhir/resource-types"/>
<code value="DocumentReference"/>
</coding>
<coding>
<system value="http://hl7.org/fhir/resource-types"/>
<code value="Observation"/>
</coding>
<coding>
<system value="http://hl7.org/fhir/resource-types"/>
<code value="ServiceRequest"/>
</coding>
</code>
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
</coding>
</usage>
<description value="VTE Diagnostic Results"/>
<criteria>
<description value="Retrieves diagnostics associated with VTE"/>
<name value="VTEDiagnostics"/>
<language value="text/fhirpath"/>
<expression
value="findAll('DiagnosticReport',
for('patient', $this.subject),
including('result', 'media'), // what else?
with('date').greaterThan(%ReportingPeriod.start - 1 'year'),
with('code').in(%VTEReports.url)
).onServers(%Base) |
findAll('DocumentReference',
for('patient', $this.subject),
including('related'), // what else?
with('date').greaterThan(%ReportingPeriod.start - 1 'year'),
with('type').in(%VTEReports.url)
).onServers(%Base) |
findAll('Observation',
for('patient', $this.subject),
including('based-on'), // what else?
with('date').greaterThan(%ReportingPeriod.start - 1 'year'),
with('code').in(%VTEReports.url)
).onServers(%Base) |
findAll('ServiceRequest',
for('patient', $this.subject),
including('based-on'), // what else?
with('date').greaterThan(%ReportingPeriod.start - 1 'year'),
with('code').in(%VTEReports.url)
).onServers(%Base)"/>
</criteria>
</supplementalData>
<supplementalData>
<code>
<coding>
<system value="http://hl7.org/fhir/resource-types"/>
<code value="Procedure"/>
</coding>
<coding>
<system value="http://hl7.org/fhir/resource-types"/>
<code value="ServiceRequest"/>
</coding>
</code>
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
</coding>
</usage>
<description value="Isolation Precautions"/>
<criteria>
<description
value="Retrieves orders or procedures associated with Isolation Precautions"/>
<name value="IsolationOrders"/>
<language value="text/fhirpath"/>
<expression
value="findAll('ServiceRequest',
for('patient', $this.subject),
for('encounter', $this.id),
with('code').in(%IsolationPrecautions.url)
).onServers(%Base) |
findAll('Procedure',
for('patient', $this.subject),
for('encounter', $this.id),
with('code').in(%IsolationPrecautions.url)
).onServers(%Base)"/>
</criteria>
</supplementalData>
</Measure>