CDC National Healthcare Safety Network (NHSN) Digital Quality Measures (dQM) Content Package IG
3.0.0 - Release 3 - draft
CDC National Healthcare Safety Network (NHSN) Digital Quality Measures (dQM) Content Package IG - Local Development build (v3.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Page standards status: Trial-use | Maturity Level: 2 |
<Library xmlns="http://hl7.org/fhir">
<id value="NHSNLongTermCareMonthlyInitialPopulation"/>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<table class="narrative-table">
<tbody>
<tr>
<th colspan="2" scope="row" class="row-header">Metadata</th>
</tr>
<tr>
<th scope="row" class="row-header">Version</th>
<td class="content-container">3.0.0</td>
</tr>
<tr>
<th scope="row" class="row-header">Status</th>
<td class="content-container">Draft</td>
</tr>
<tr>
<th scope="row" class="row-header">Jurisdiction</th>
<td class="content-container">
US from <a href="https://en.wikipedia.org/wiki/ISO_3166-2">urn:iso:std:iso:3166</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Steward (Publisher)</th>
<td class="content-container">CDC National Healthcare Safety Network (NHSN)</td>
</tr>
<tr>
<th scope="row" class="row-header">Steward Contact</th>
<td class="content-container">CDC National Healthcare Safety Network (NHSN)</td>
</tr>
<tr>
<th scope="row" class="row-header">Type</th>
<td class="content-container">
logic-library from <a href="http://terminology.hl7.org/7.1.0/CodeSystem-library-type.html">http://terminology.hl7.org/CodeSystem/library-type</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Library FHIRHelpers
<br/>
<em>Resource</em>: <code>http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/FHIRHelpers|4.0.2</code>
<br/>
<em>Canonical URL</em>: <tt>http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/FHIRHelpers|4.0.2</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Library NHSNHelpers
<br/>
<em>Resource</em>: <code>http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/NHSNHelpers|0.0.002</code>
<br/>
<em>Canonical URL</em>: <tt>http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/NHSNHelpers|0.0.002</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Library SharedResource
<br/>
<em>Resource</em>: <code>http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/SharedResourceCreation|0.1.010-cibuild</code>
<br/>
<em>Canonical URL</em>: <tt>http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/SharedResourceCreation|0.1.010-cibuild</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Code system Observation Category
<br/>
<em>Resource</em>: <a href="http://terminology.hl7.org/7.1.0/CodeSystem-observation-category.html">Observation Category Codes</a> version: 2.0.0
<br/>
<em>Canonical URL</em>: <tt>http://terminology.hl7.org/CodeSystem/observation-category|2.0.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Patient
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/patient.html">Patient</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Encounter
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/encounter.html">Encounter</a>
<br/>
<em>Must Support Elements</em>: period, id, extension, identifier, status, statusHistory, class, classHistory, type, subject, length, reasonCode, reasonReference, hospitalization, partOf
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Coverage
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/coverage.html">Coverage</a>
<br/>
<em>Must Support Elements</em>: period, id, extension, status, type, subscriber
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: MedicationAdministration
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/medicationadministration.html">MedicationAdministration</a>
<br/>
<em>Must Support Elements</em>: effective, id, extension, instantiates, partOf, status, statusReason, category, medication, subject, context, supportingInformation, reasonCode, reasonReference, request, dosage, eventHistory
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: MedicationRequest
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/medicationrequest.html">MedicationRequest</a>
<br/>
<em>Must Support Elements</em>: authoredOn, id, extension, status, statusReason, intent, category, priority, doNotPerform, reported, medication, subject, encounter, recorder, reasonCode, reasonReference, instantiatesCanonical, instantiatesUri, courseOfTherapyType, dosageInstruction
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Medication
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/medication.html">Medication</a>
<br/>
<em>Must Support Elements</em>: id, extension, code, status, form, amount, ingredient
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Observation
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/observation.html">Observation</a>
<br/>
<em>Must Support Elements</em>: category, effective, id, extension, basedOn, partOf, status, code, subject, focus, encounter, issued, value, dataAbsentReason, interpretation, note, bodySite, method, specimen, device, referenceRange, hasMember, derivedFrom, component
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Specimen
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/specimen.html">Specimen</a>
<br/>
<em>Must Support Elements</em>: collection, collection.collected
<br/>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header"><a name="parameters"> </a>Parameters</th>
</tr>
<tr>
<th scope="row" class="row-header"/>
<td class="content-container">
<table>
<thead>
<tr>
<td><em>Name</em></td>
<td><em>Use</em></td>
<td><em>Card.</em></td>
<td><em>Type</em></td>
<td><em>Documentation</em></td>
</tr>
</thead>
<tbody>
<tr>
<td>Measurement Period</td>
<td>In</td>
<td>0..1</td>
<td>Period</td>
<td/>
</tr>
<tr>
<td>Patient</td>
<td>Out</td>
<td>0..1</td>
<td>Patient</td>
<td/>
</tr>
<tr>
<td>Initial Population</td>
<td>Out</td>
<td>0..*</td>
<td>Encounter</td>
<td/>
</tr>
<tr>
<td>SDE Coverage</td>
<td>Out</td>
<td>0..*</td>
<td>Coverage</td>
<td/>
</tr>
<tr>
<td>SDE IP Encounters</td>
<td>Out</td>
<td>0..*</td>
<td>Encounter</td>
<td/>
</tr>
<tr>
<td>SDE Medication Administration</td>
<td>Out</td>
<td>0..*</td>
<td>MedicationAdministration</td>
<td/>
</tr>
<tr>
<td>SDE Medication Request</td>
<td>Out</td>
<td>0..*</td>
<td>MedicationRequest</td>
<td/>
</tr>
<tr>
<td>SDE Medication</td>
<td>Out</td>
<td>0..*</td>
<td>Medication</td>
<td/>
</tr>
<tr>
<td>SDE Observation Lab Category</td>
<td>Out</td>
<td>0..*</td>
<td>Observation</td>
<td/>
</tr>
<tr>
<td>SDE Minimal Patient</td>
<td>Out</td>
<td>0..1</td>
<td>Patient</td>
<td/>
</tr>
<tr>
<td>SDE Specimen</td>
<td>Out</td>
<td>0..*</td>
<td>Specimen</td>
<td/>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header">Library Content</th>
</tr>
<tr>
<th scope="row" class="row-header">CQL Content</th>
<td>
<a name="cql-content"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">library NHSNLongTermCareMonthlyInitialPopulation version '2.0.1-cibuild'
using FHIR version '4.0.1'
include FHIRHelpers version '4.0.2' called FHIRHelpers
include NHSNHelpers version '0.0.002' called NHSNHelpers
include SharedResourceCreation version '0.1.010-cibuild' called SharedResource
codesystem "Observation Category": 'http://terminology.hl7.org/CodeSystem/observation-category'
//code for Observation Category
code "laboratory": 'laboratory' from "Observation Category" display 'Laboratory'
parameter "Measurement Period"
default Interval[@2025-01-01T00:00:00.000Z, @2025-01-31T23:59:59.000Z)
context Patient
define "Initial Population":
[Encounter] QualifyingEncounters
where QualifyingEncounters.period overlaps "Measurement Period"
define "SDE Coverage":
[Coverage] Coverages
where exists(
"Initial Population" IP
where Coverages.period overlaps IP.period)
return CoverageResource(Coverages,
{FHIR.canonical{value: ''}})
define "SDE IP Encounters":
"Initial Population" IP
return EncounterResource(IP,
{FHIR.canonical{value: ''}})
define "SDE Medication Administration":
[MedicationAdministration] MedicationAdministrations
where exists(
"Initial Population" IP
where NHSNHelpers."Normalize Interval"(MedicationAdministrations.effective) overlaps IP.period)
return MedicationAdministrationResource(MedicationAdministrations,
{FHIR.canonical{value: ''}})
define "SDE Medication Request":
[MedicationRequest] MedicationRequests
where exists(
"Initial Population" IP
where MedicationRequests.authoredOn during IP.period)
return MedicationRequestResource(MedicationRequests,
{FHIR.canonical{value: ''}})
define "SDE Medication":
("SDE Medication Request"
union "SDE Medication Administration") MedReqOrAdmin
where MedReqOrAdmin.medication is FHIR.Reference
and exists("Initial Population") //No longer need to check for timing here because it's checked in SDE Medication Request/Administriation
return MedicationResource(GetMedicationFrom(MedReqOrAdmin.medication),
{FHIR.canonical{value: ''}})
define "SDE Observation Lab Category":
[Observation] Observations
where (exists(Observations.category Category where Category ~ "laboratory"))
and exists(
"Initial Population" IP
where NHSNHelpers."Normalize Interval"(Observations.effective) overlaps IP.period)
return ObservationLabResource(Observations,
{FHIR.canonical{value: ''}})
define "SDE Minimal Patient":
Patient p
return SharedResource.PatientResource(p,
{FHIR.canonical{value: 'http://www.cdc.gov/nhsn/fhirportal/dqm/ig/StructureDefinition/cross-measure-patient'}})
define "SDE Specimen":
[Specimen] Specimens
where exists(
"Initial Population" IP
where NHSNHelpers."Normalize Interval"(Specimens.collection.collected) overlaps IP.period
)
return SharedResource.SpecimenResource(Specimens,
{FHIR.canonical{value: ''}})
//
//Functions
//
define function "GetMedicationFrom"(choice Choice<FHIR.CodeableConcept, FHIR.Reference>):
case
when choice is FHIR.Reference then
GetMedication(choice as FHIR.Reference)
else
null
end
define function "GetMedication"(reference Reference):
singleton from (
[Medication] Medications
where Medications.id = NHSNHelpers.GetId(reference.reference)
)
//
//Measure Specific Resource Creation Functions
//
define function CoverageResource(coverage Coverage, profileURLs List<FHIR.canonical>):
coverage c
return Coverage{
id: FHIR.id{value: 'LCR-' + c.id},
meta: SharedResource.MetaElement(c, profileURLs),
extension: c.extension,
status: c.status,
type: c.type,
subscriber: c.subscriber,
period: c.period
}
define function EncounterHospitalization(hospitalization FHIR.Encounter.Hospitalization):
hospitalization h
return FHIR.Encounter.Hospitalization{
extension: h.extension,
origin: h.origin,
admitSource: h.admitSource,
reAdmission: h.reAdmission,
dischargeDisposition: h.dischargeDisposition
}
define function EncounterResource(encounter Encounter, profileURLs List<FHIR.canonical>):
encounter e
return Encounter{
id: FHIR.id{value: 'LCR-' + e.id},
meta: SharedResource.MetaElement(e, profileURLs),
extension: e.extension,
identifier: SharedResource.EncounterIdentifier(e.identifier),
status: e.status,
statusHistory: SharedResource.EncounterStatusHistory(e.statusHistory),
class: e.class,
classHistory: SharedResource.EncounterClassHistory(e.classHistory),
type: e.type,
subject: e.subject,
period: e.period,
length: e.length,
reasonCode: e.reasonCode,
reasonReference: e.reasonReference,
hospitalization: EncounterHospitalization(e.hospitalization),
partOf: e.partOf
}
define function MedicationResource(medication Medication, profileURLs List<FHIR.canonical>):
medication m
return Medication{
id: FHIR.id {value: 'LCR-' + m.id},
meta: SharedResource.MetaElement(m, profileURLs),
extension: m.extension,
code: m.code,
status: m.status,
form: m.form,
amount: m.amount,
ingredient: SharedResource.MedicationIngredient(m.ingredient)
}
define function MedicationAdministrationDosage(dosage FHIR.MedicationAdministration.Dosage):
dosage d
return FHIR.MedicationAdministration.Dosage{
text: d.text,
route: d.route,
method: d.method,
dose: d.dose
}
define function MedicationAdministrationResource(medicationAdministration MedicationAdministration, profileURLs List<FHIR.canonical>):
medicationAdministration m
return MedicationAdministration{
id: FHIR.id {value: 'LCR-' + m.id},
meta: SharedResource.MetaElement(m, profileURLs),
extension: m.extension,
instantiates: m.instantiates,
partOf: m.partOf,
status: m.status,
statusReason: m.statusReason,
category: m.category,
medication: m.medication,
subject: m.subject,
context: m.context,
supportingInformation: m.supportingInformation,
effective: m.effective,
reasonCode: m.reasonCode,
reasonReference: m.reasonReference,
request: m.request,
dosage: MedicationAdministrationDosage(m.dosage),
eventHistory: m.eventHistory
}
define function MedicationRequestDoseAndRate(doseAndRate List<FHIR.Dosage.DoseAndRate>):
doseAndRate dR
return FHIR.Dosage.DoseAndRate{
type: dR.type,
dose: dR.dose,
rate: dR.rate
}
define function MedicationRequestDosageInstruction(dosageInstruction List<FHIR.Dosage>):
dosageInstruction dI
return FHIR.Dosage{
text: dI.text,
timing: dI.timing,
asNeeded: dI.asNeeded,
route: dI.route,
method: dI.method,
doseAndRate: MedicationRequestDoseAndRate(dI.doseAndRate)
}
define function MedicationRequestResource(medicationRequest MedicationRequest, profileURLs List<FHIR.canonical>):
medicationRequest m
return MedicationRequest{
id: FHIR.id {value: 'LCR-' + m.id},
meta: SharedResource.MetaElement(medicationRequest, profileURLs),
extension: m.extension,
status: m.status,
statusReason: m.statusReason,
intent: m.intent,
category: m.category,
priority: m.priority,
doNotPerform: m.doNotPerform,
reported: m.reported,
medication: m.medication,
subject: m.subject,
encounter: m.encounter,
authoredOn: m.authoredOn,
//*requester: m.requester,
recorder: m.recorder,
reasonCode: m.reasonCode,
reasonReference: m.reasonReference,
instantiatesCanonical: m.instantiatesCanonical,
instantiatesUri: m.instantiatesUri,
courseOfTherapyType: m.courseOfTherapyType,
dosageInstruction: MedicationRequestDosageInstruction(m.dosageInstruction)
}
define function ObservationLabCoding(coding List<Coding>):
coding c
return Coding{
id: c.id,
extension: c.extension,
system: c.system,
code: c.code
}
define function ObservationLabCategory(category List<CodeableConcept>):
category c
return CodeableConcept{
coding: ObservationLabCoding(c.coding),
text: c.text
}
define function ObservationLabResource(observation Observation, profileURLs List<FHIR.canonical>):
observation o
return Observation{
id: FHIR.id {value: 'LCR-' + o.id},
meta: SharedResource.MetaElement(o, profileURLs),
extension: o.extension,
basedOn: o.basedOn,
partOf: o.partOf,
status: o.status,
category: ObservationLabCategory(o.category),
code: o.code,
subject: o.subject,
focus: o.focus,
encounter: o.encounter,
effective: o.effective,
issued: o.issued,
//*performer: o.performer,
value: o.value,
dataAbsentReason: o.dataAbsentReason,
interpretation: o.interpretation,
note: o.note,
bodySite: o.bodySite,
method: o.method,
specimen: o.specimen,
device: o.device,
referenceRange: SharedResource.ObservationReferenceRange(o.referenceRange),
hasMember: o.hasMember,
derivedFrom: o.derivedFrom,
component: SharedResource.ObservationComponent(o.component)
}
define function "GetPatientExtensions"(domainResource DomainResource):
domainResource.extension E
where E.url.value = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'
or E.url.value = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'
or E.url.value = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-tribal-affiliation'
or E.url.value = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex'
or E.url.value = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-sex'
return E
define function PatientLink(link List<FHIR.Patient.Link>):
link l
return FHIR.Patient.Link{
id: l.id,
other: l.other,
type: l.type
}
/*define function PatientResource(patient Patient, profileURLs List<FHIR.canonical>):
patient p
return Patient{
id: FHIR.id{value: 'LCR-' + p.id},
meta: SharedResource.MetaElement(p, profileURLs),
extension: GetPatientExtensions(p),
identifier: p.identifier,
active: p.active,
name: SharedResource.PatientName(p.name),
telecom: SharedResource.PatientTelecom(p.telecom),
gender: p.gender,
birthDate: p.birthDate,
deceased: p.deceased,
address: SharedResource.PatientAddress(p.address),
maritalStatus: p.maritalStatus,
multipleBirth: p.multipleBirth,
photo: p.photo,
generalPractitioner: p.generalPractitioner,
managingOrganization: p.managingOrganization,
link: PatientLink(p.link)
}*/</code></pre>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header">Generated using version 0.5.6-cibuild of the sample-content-ig Liquid templates</th>
</tr>
</tbody>
</table>
</div>
</text>
<contained>
<Parameters>
<id value="options"/>
<parameter>
<name value="translatorVersion"/>
<valueString value="3.27.0"/>
</parameter>
<parameter>
<name value="option"/>
<valueString value="EnableDateRangeOptimization"/>
</parameter>
<parameter>
<name value="option"/>
<valueString value="EnableAnnotations"/>
</parameter>
<parameter>
<name value="option"/>
<valueString value="EnableLocators"/>
</parameter>
<parameter>
<name value="option"/>
<valueString value="DisableListDemotion"/>
</parameter>
<parameter>
<name value="option"/>
<valueString value="DisableListPromotion"/>
</parameter>
<parameter>
<name value="analyzeDataRequirements"/>
<valueBoolean value="false"/>
</parameter>
<parameter>
<name value="collapseDataRequirements"/>
<valueBoolean value="true"/>
</parameter>
<parameter>
<name value="compatibilityLevel"/>
<valueString value="1.5"/>
</parameter>
<parameter>
<name value="enableCqlOnly"/>
<valueBoolean value="false"/>
</parameter>
<parameter>
<name value="errorLevel"/>
<valueString value="Info"/>
</parameter>
<parameter>
<name value="signatureLevel"/>
<valueString value="Overloads"/>
</parameter>
<parameter>
<name value="validateUnits"/>
<valueBoolean value="true"/>
</parameter>
<parameter>
<name value="verifyOnly"/>
<valueBoolean value="false"/>
</parameter>
</Parameters>
</contained>
<extension url="http://hl7.org/fhir/StructureDefinition/cqf-cqlOptions">
<valueReference>
<reference value="#options"/>
</valueReference>
</extension>
<url
value="http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/NHSNLongTermCareMonthlyInitialPopulation"/>
<version value="3.0.0"/>
<name value="NHSNLongTermCareMonthlyInitialPopulation"/>
<status value="draft"/>
<type>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/library-type"/>
<code value="logic-library"/>
</coding>
</type>
<date value="2026-08-14T18:33:45+00:00"/>
<publisher value="CDC National Healthcare Safety Network (NHSN)"/>
<contact>
<name value="CDC National Healthcare Safety Network (NHSN)"/>
<telecom>
<system value="url"/>
<value value="http://www.cdc.gov/nhsn"/>
</telecom>
<telecom>
<system value="email"/>
<value value="nhsn@cdc.gov"/>
</telecom>
</contact>
<jurisdiction>
<coding>
<system value="urn:iso:std:iso:3166"/>
<code value="US"/>
</coding>
</jurisdiction>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library FHIRHelpers"/>
<resource
value="http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/FHIRHelpers|4.0.2"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library NHSNHelpers"/>
<resource
value="http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/NHSNHelpers|0.0.002"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library SharedResource"/>
<resource
value="http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/SharedResourceCreation|0.1.010-cibuild"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system Observation Category"/>
<resource
value="http://terminology.hl7.org/CodeSystem/observation-category|2.0.0"/>
</relatedArtifact>
<parameter>
<name value="Measurement Period"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="Period"/>
</parameter>
<parameter>
<name value="Patient"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="Patient"/>
</parameter>
<parameter>
<name value="Initial Population"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Encounter"/>
</parameter>
<parameter>
<name value="SDE Coverage"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Coverage"/>
</parameter>
<parameter>
<name value="SDE IP Encounters"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Encounter"/>
</parameter>
<parameter>
<name value="SDE Medication Administration"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="MedicationAdministration"/>
</parameter>
<parameter>
<name value="SDE Medication Request"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="MedicationRequest"/>
</parameter>
<parameter>
<name value="SDE Medication"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Medication"/>
</parameter>
<parameter>
<name value="SDE Observation Lab Category"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Observation"/>
</parameter>
<parameter>
<name value="SDE Minimal Patient"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="Patient"/>
</parameter>
<parameter>
<name value="SDE Specimen"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Specimen"/>
</parameter>
<dataRequirement>
<type value="Patient"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Encounter"/>
<mustSupport value="period"/>
<mustSupport value="id"/>
<mustSupport value="extension"/>
<mustSupport value="identifier"/>
<mustSupport value="status"/>
<mustSupport value="statusHistory"/>
<mustSupport value="class"/>
<mustSupport value="classHistory"/>
<mustSupport value="type"/>
<mustSupport value="subject"/>
<mustSupport value="length"/>
<mustSupport value="reasonCode"/>
<mustSupport value="reasonReference"/>
<mustSupport value="hospitalization"/>
<mustSupport value="partOf"/>
</dataRequirement>
<dataRequirement>
<type value="Coverage"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Coverage"/>
<mustSupport value="period"/>
<mustSupport value="id"/>
<mustSupport value="extension"/>
<mustSupport value="status"/>
<mustSupport value="type"/>
<mustSupport value="subscriber"/>
</dataRequirement>
<dataRequirement>
<type value="MedicationAdministration"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/MedicationAdministration"/>
<mustSupport value="effective"/>
<mustSupport value="id"/>
<mustSupport value="extension"/>
<mustSupport value="instantiates"/>
<mustSupport value="partOf"/>
<mustSupport value="status"/>
<mustSupport value="statusReason"/>
<mustSupport value="category"/>
<mustSupport value="medication"/>
<mustSupport value="subject"/>
<mustSupport value="context"/>
<mustSupport value="supportingInformation"/>
<mustSupport value="reasonCode"/>
<mustSupport value="reasonReference"/>
<mustSupport value="request"/>
<mustSupport value="dosage"/>
<mustSupport value="eventHistory"/>
</dataRequirement>
<dataRequirement>
<type value="MedicationRequest"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/MedicationRequest"/>
<mustSupport value="authoredOn"/>
<mustSupport value="id"/>
<mustSupport value="extension"/>
<mustSupport value="status"/>
<mustSupport value="statusReason"/>
<mustSupport value="intent"/>
<mustSupport value="category"/>
<mustSupport value="priority"/>
<mustSupport value="doNotPerform"/>
<mustSupport value="reported"/>
<mustSupport value="medication"/>
<mustSupport value="subject"/>
<mustSupport value="encounter"/>
<mustSupport value="recorder"/>
<mustSupport value="reasonCode"/>
<mustSupport value="reasonReference"/>
<mustSupport value="instantiatesCanonical"/>
<mustSupport value="instantiatesUri"/>
<mustSupport value="courseOfTherapyType"/>
<mustSupport value="dosageInstruction"/>
</dataRequirement>
<dataRequirement>
<type value="Medication"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Medication"/>
<mustSupport value="id"/>
<mustSupport value="extension"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="form"/>
<mustSupport value="amount"/>
<mustSupport value="ingredient"/>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mustSupport value="category"/>
<mustSupport value="effective"/>
<mustSupport value="id"/>
<mustSupport value="extension"/>
<mustSupport value="basedOn"/>
<mustSupport value="partOf"/>
<mustSupport value="status"/>
<mustSupport value="code"/>
<mustSupport value="subject"/>
<mustSupport value="focus"/>
<mustSupport value="encounter"/>
<mustSupport value="issued"/>
<mustSupport value="value"/>
<mustSupport value="dataAbsentReason"/>
<mustSupport value="interpretation"/>
<mustSupport value="note"/>
<mustSupport value="bodySite"/>
<mustSupport value="method"/>
<mustSupport value="specimen"/>
<mustSupport value="device"/>
<mustSupport value="referenceRange"/>
<mustSupport value="hasMember"/>
<mustSupport value="derivedFrom"/>
<mustSupport value="component"/>
</dataRequirement>
<dataRequirement>
<type value="Specimen"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Specimen"/>
<mustSupport value="collection"/>
<mustSupport value="collection.collected"/>
</dataRequirement>
<content>
<contentType value="text/cql"/>
<data
value="bGlicmFyeSBOSFNOTG9uZ1Rlcm1DYXJlTW9udGhseUluaXRpYWxQb3B1bGF0aW9uIHZlcnNpb24gJzIuMC4xLWNpYnVpbGQnCgp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMicgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgTkhTTkhlbHBlcnMgdmVyc2lvbiAnMC4wLjAwMicgY2FsbGVkIE5IU05IZWxwZXJzCmluY2x1ZGUgU2hhcmVkUmVzb3VyY2VDcmVhdGlvbiB2ZXJzaW9uICcwLjEuMDEwLWNpYnVpbGQnIGNhbGxlZCBTaGFyZWRSZXNvdXJjZSAKCmNvZGVzeXN0ZW0gIk9ic2VydmF0aW9uIENhdGVnb3J5IjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vb2JzZXJ2YXRpb24tY2F0ZWdvcnknCgovL2NvZGUgZm9yIE9ic2VydmF0aW9uIENhdGVnb3J5CmNvZGUgImxhYm9yYXRvcnkiOiAnbGFib3JhdG9yeScgZnJvbSAiT2JzZXJ2YXRpb24gQ2F0ZWdvcnkiIGRpc3BsYXkgJ0xhYm9yYXRvcnknCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgCiAgICBkZWZhdWx0IEludGVydmFsW0AyMDI1LTAxLTAxVDAwOjAwOjAwLjAwMFosIEAyMDI1LTAxLTMxVDIzOjU5OjU5LjAwMFopCgpjb250ZXh0IFBhdGllbnQgCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CiAgW0VuY291bnRlcl0gUXVhbGlmeWluZ0VuY291bnRlcnMKICB3aGVyZSBRdWFsaWZ5aW5nRW5jb3VudGVycy5wZXJpb2Qgb3ZlcmxhcHMgIk1lYXN1cmVtZW50IFBlcmlvZCIgCgpkZWZpbmUgIlNERSBDb3ZlcmFnZSI6IAoJW0NvdmVyYWdlXSBDb3ZlcmFnZXMKICB3aGVyZSBleGlzdHMoCiAgICAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJUAogICAgd2hlcmUgQ292ZXJhZ2VzLnBlcmlvZCBvdmVybGFwcyBJUC5wZXJpb2QpCiAgcmV0dXJuIENvdmVyYWdlUmVzb3VyY2UoQ292ZXJhZ2VzLAogIHtGSElSLmNhbm9uaWNhbHt2YWx1ZTogJyd9fSkKCmRlZmluZSAiU0RFIElQIEVuY291bnRlcnMiOgogICJJbml0aWFsIFBvcHVsYXRpb24iIElQCiAgcmV0dXJuIEVuY291bnRlclJlc291cmNlKElQLCAKICB7RkhJUi5jYW5vbmljYWx7dmFsdWU6ICcnfX0pCiAKZGVmaW5lICJTREUgTWVkaWNhdGlvbiBBZG1pbmlzdHJhdGlvbiI6CiAgW01lZGljYXRpb25BZG1pbmlzdHJhdGlvbl0gTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9ucyAKICB3aGVyZSBleGlzdHMoCiAgICAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJUAogICAgd2hlcmUgTkhTTkhlbHBlcnMuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9ucy5lZmZlY3RpdmUpIG92ZXJsYXBzIElQLnBlcmlvZCkKICByZXR1cm4gTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uUmVzb3VyY2UoTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9ucywKICB7RkhJUi5jYW5vbmljYWx7dmFsdWU6ICcnfX0pCiAKZGVmaW5lICJTREUgTWVkaWNhdGlvbiBSZXF1ZXN0IjoKICBbTWVkaWNhdGlvblJlcXVlc3RdIE1lZGljYXRpb25SZXF1ZXN0cyAKICB3aGVyZSBleGlzdHMoCiAgICAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJUAogICAgd2hlcmUgTWVkaWNhdGlvblJlcXVlc3RzLmF1dGhvcmVkT24gZHVyaW5nIElQLnBlcmlvZCkKICByZXR1cm4gTWVkaWNhdGlvblJlcXVlc3RSZXNvdXJjZShNZWRpY2F0aW9uUmVxdWVzdHMsCiAge0ZISVIuY2Fub25pY2Fse3ZhbHVlOiAnJ319KQoKZGVmaW5lICJTREUgTWVkaWNhdGlvbiI6CiAgKCJTREUgTWVkaWNhdGlvbiBSZXF1ZXN0IgogIHVuaW9uICJTREUgTWVkaWNhdGlvbiBBZG1pbmlzdHJhdGlvbiIpIE1lZFJlcU9yQWRtaW4KICB3aGVyZSBNZWRSZXFPckFkbWluLm1lZGljYXRpb24gaXMgRkhJUi5SZWZlcmVuY2UKICBhbmQgZXhpc3RzKCJJbml0aWFsIFBvcHVsYXRpb24iKSAvL05vIGxvbmdlciBuZWVkIHRvIGNoZWNrIGZvciB0aW1pbmcgaGVyZSBiZWNhdXNlIGl0J3MgY2hlY2tlZCBpbiBTREUgTWVkaWNhdGlvbiBSZXF1ZXN0L0FkbWluaXN0cmlhdGlvbgogIHJldHVybiBNZWRpY2F0aW9uUmVzb3VyY2UoR2V0TWVkaWNhdGlvbkZyb20oTWVkUmVxT3JBZG1pbi5tZWRpY2F0aW9uKSwKICB7RkhJUi5jYW5vbmljYWx7dmFsdWU6ICcnfX0pCgpkZWZpbmUgIlNERSBPYnNlcnZhdGlvbiBMYWIgQ2F0ZWdvcnkiOgogIFtPYnNlcnZhdGlvbl0gT2JzZXJ2YXRpb25zIAogIHdoZXJlIChleGlzdHMoT2JzZXJ2YXRpb25zLmNhdGVnb3J5IENhdGVnb3J5IHdoZXJlIENhdGVnb3J5IH4gImxhYm9yYXRvcnkiKSkKICAgIGFuZCBleGlzdHMoCiAgICAgICJJbml0aWFsIFBvcHVsYXRpb24iIElQCiAgICAgIHdoZXJlIE5IU05IZWxwZXJzLiJOb3JtYWxpemUgSW50ZXJ2YWwiKE9ic2VydmF0aW9ucy5lZmZlY3RpdmUpIG92ZXJsYXBzIElQLnBlcmlvZCkKICByZXR1cm4gT2JzZXJ2YXRpb25MYWJSZXNvdXJjZShPYnNlcnZhdGlvbnMsCiAge0ZISVIuY2Fub25pY2Fse3ZhbHVlOiAnJ319KQoKZGVmaW5lICJTREUgTWluaW1hbCBQYXRpZW50IjoKICBQYXRpZW50IHAKICByZXR1cm4gU2hhcmVkUmVzb3VyY2UuUGF0aWVudFJlc291cmNlKHAsCiAge0ZISVIuY2Fub25pY2Fse3ZhbHVlOiAnaHR0cDovL3d3dy5jZGMuZ292L25oc24vZmhpcnBvcnRhbC9kcW0vaWcvU3RydWN0dXJlRGVmaW5pdGlvbi9jcm9zcy1tZWFzdXJlLXBhdGllbnQnfX0pCgpkZWZpbmUgIlNERSBTcGVjaW1lbiI6CiAgW1NwZWNpbWVuXSBTcGVjaW1lbnMKICB3aGVyZSBleGlzdHMoCiAgICAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJUAogICAgd2hlcmUgTkhTTkhlbHBlcnMuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoU3BlY2ltZW5zLmNvbGxlY3Rpb24uY29sbGVjdGVkKSBvdmVybGFwcyBJUC5wZXJpb2QKICApCiAgcmV0dXJuIFNoYXJlZFJlc291cmNlLlNwZWNpbWVuUmVzb3VyY2UoU3BlY2ltZW5zLAogIHtGSElSLmNhbm9uaWNhbHt2YWx1ZTogJyd9fSkKCi8vCi8vRnVuY3Rpb25zCi8vCmRlZmluZSBmdW5jdGlvbiAiR2V0TWVkaWNhdGlvbkZyb20iKGNob2ljZSBDaG9pY2U8RkhJUi5Db2RlYWJsZUNvbmNlcHQsIEZISVIuUmVmZXJlbmNlPik6CiAgY2FzZQogICAgd2hlbiBjaG9pY2UgaXMgRkhJUi5SZWZlcmVuY2UgdGhlbgogICAgICBHZXRNZWRpY2F0aW9uKGNob2ljZSBhcyBGSElSLlJlZmVyZW5jZSkKICAgIGVsc2UKICAgICAgbnVsbAogIGVuZAoKZGVmaW5lIGZ1bmN0aW9uICJHZXRNZWRpY2F0aW9uIihyZWZlcmVuY2UgUmVmZXJlbmNlKToKICBzaW5nbGV0b24gZnJvbSAoCiAgICBbTWVkaWNhdGlvbl0gTWVkaWNhdGlvbnMKICAgIHdoZXJlIE1lZGljYXRpb25zLmlkID0gTkhTTkhlbHBlcnMuR2V0SWQocmVmZXJlbmNlLnJlZmVyZW5jZSkKICApCgovLwovL01lYXN1cmUgU3BlY2lmaWMgUmVzb3VyY2UgQ3JlYXRpb24gRnVuY3Rpb25zCi8vCmRlZmluZSBmdW5jdGlvbiBDb3ZlcmFnZVJlc291cmNlKGNvdmVyYWdlIENvdmVyYWdlLCBwcm9maWxlVVJMcyBMaXN0PEZISVIuY2Fub25pY2FsPik6CiAgY292ZXJhZ2UgYwogIHJldHVybiBDb3ZlcmFnZXsKICAgIGlkOiBGSElSLmlke3ZhbHVlOiAnTENSLScgKyBjLmlkfSwKICAgIG1ldGE6IFNoYXJlZFJlc291cmNlLk1ldGFFbGVtZW50KGMsIHByb2ZpbGVVUkxzKSwKICAgIGV4dGVuc2lvbjogYy5leHRlbnNpb24sCiAgICBzdGF0dXM6IGMuc3RhdHVzLAogICAgdHlwZTogYy50eXBlLAogICAgc3Vic2NyaWJlcjogYy5zdWJzY3JpYmVyLAogICAgcGVyaW9kOiBjLnBlcmlvZAogIH0KCmRlZmluZSBmdW5jdGlvbiBFbmNvdW50ZXJIb3NwaXRhbGl6YXRpb24oaG9zcGl0YWxpemF0aW9uIEZISVIuRW5jb3VudGVyLkhvc3BpdGFsaXphdGlvbik6CiAgaG9zcGl0YWxpemF0aW9uIGgKICByZXR1cm4gRkhJUi5FbmNvdW50ZXIuSG9zcGl0YWxpemF0aW9uewogICAgZXh0ZW5zaW9uOiBoLmV4dGVuc2lvbiwKICAgIG9yaWdpbjogaC5vcmlnaW4sCiAgICBhZG1pdFNvdXJjZTogaC5hZG1pdFNvdXJjZSwKICAgIHJlQWRtaXNzaW9uOiBoLnJlQWRtaXNzaW9uLAogICAgZGlzY2hhcmdlRGlzcG9zaXRpb246IGguZGlzY2hhcmdlRGlzcG9zaXRpb24KICB9CgpkZWZpbmUgZnVuY3Rpb24gRW5jb3VudGVyUmVzb3VyY2UoZW5jb3VudGVyIEVuY291bnRlciwgcHJvZmlsZVVSTHMgTGlzdDxGSElSLmNhbm9uaWNhbD4pOgogIGVuY291bnRlciBlCiAgcmV0dXJuIEVuY291bnRlcnsKICAgIGlkOiBGSElSLmlke3ZhbHVlOiAnTENSLScgKyBlLmlkfSwKICAgIG1ldGE6IFNoYXJlZFJlc291cmNlLk1ldGFFbGVtZW50KGUsIHByb2ZpbGVVUkxzKSwKICAgIGV4dGVuc2lvbjogZS5leHRlbnNpb24sCiAgICBpZGVudGlmaWVyOiBTaGFyZWRSZXNvdXJjZS5FbmNvdW50ZXJJZGVudGlmaWVyKGUuaWRlbnRpZmllciksCiAgICBzdGF0dXM6IGUuc3RhdHVzLAogICAgc3RhdHVzSGlzdG9yeTogU2hhcmVkUmVzb3VyY2UuRW5jb3VudGVyU3RhdHVzSGlzdG9yeShlLnN0YXR1c0hpc3RvcnkpLAogICAgY2xhc3M6IGUuY2xhc3MsCiAgICBjbGFzc0hpc3Rvcnk6IFNoYXJlZFJlc291cmNlLkVuY291bnRlckNsYXNzSGlzdG9yeShlLmNsYXNzSGlzdG9yeSksCiAgICB0eXBlOiBlLnR5cGUsCiAgICBzdWJqZWN0OiBlLnN1YmplY3QsCiAgICBwZXJpb2Q6IGUucGVyaW9kLAogICAgbGVuZ3RoOiBlLmxlbmd0aCwKICAgIHJlYXNvbkNvZGU6IGUucmVhc29uQ29kZSwKICAgIHJlYXNvblJlZmVyZW5jZTogZS5yZWFzb25SZWZlcmVuY2UsCiAgICBob3NwaXRhbGl6YXRpb246IEVuY291bnRlckhvc3BpdGFsaXphdGlvbihlLmhvc3BpdGFsaXphdGlvbiksCiAgICBwYXJ0T2Y6IGUucGFydE9mCiAgfQoKZGVmaW5lIGZ1bmN0aW9uIE1lZGljYXRpb25SZXNvdXJjZShtZWRpY2F0aW9uIE1lZGljYXRpb24sIHByb2ZpbGVVUkxzIExpc3Q8RkhJUi5jYW5vbmljYWw+KToKICBtZWRpY2F0aW9uIG0KICByZXR1cm4gTWVkaWNhdGlvbnsKICAgIGlkOiBGSElSLmlkIHt2YWx1ZTogJ0xDUi0nICsgbS5pZH0sCiAgICBtZXRhOiBTaGFyZWRSZXNvdXJjZS5NZXRhRWxlbWVudChtLCBwcm9maWxlVVJMcyksCiAgICBleHRlbnNpb246IG0uZXh0ZW5zaW9uLAogICAgY29kZTogbS5jb2RlLAogICAgc3RhdHVzOiBtLnN0YXR1cywKICAgIGZvcm06IG0uZm9ybSwKICAgIGFtb3VudDogbS5hbW91bnQsCiAgICBpbmdyZWRpZW50OiBTaGFyZWRSZXNvdXJjZS5NZWRpY2F0aW9uSW5ncmVkaWVudChtLmluZ3JlZGllbnQpCiAgfQoKZGVmaW5lIGZ1bmN0aW9uIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbkRvc2FnZShkb3NhZ2UgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24uRG9zYWdlKToKICBkb3NhZ2UgZAogIHJldHVybiBGSElSLk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5Eb3NhZ2V7CiAgICB0ZXh0OiBkLnRleHQsCiAgICByb3V0ZTogZC5yb3V0ZSwKICAgIG1ldGhvZDogZC5tZXRob2QsCiAgICBkb3NlOiBkLmRvc2UKICB9CgpkZWZpbmUgZnVuY3Rpb24gTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uUmVzb3VyY2UobWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiwgcHJvZmlsZVVSTHMgTGlzdDxGSElSLmNhbm9uaWNhbD4pOgogIG1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiBtCiAgcmV0dXJuIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbnsKICAgIGlkOiBGSElSLmlkIHt2YWx1ZTogJ0xDUi0nICsgbS5pZH0sCiAgICBtZXRhOiBTaGFyZWRSZXNvdXJjZS5NZXRhRWxlbWVudChtLCBwcm9maWxlVVJMcyksCiAgICBleHRlbnNpb246IG0uZXh0ZW5zaW9uLAogICAgaW5zdGFudGlhdGVzOiBtLmluc3RhbnRpYXRlcywKICAgIHBhcnRPZjogbS5wYXJ0T2YsCiAgICBzdGF0dXM6IG0uc3RhdHVzLAogICAgc3RhdHVzUmVhc29uOiBtLnN0YXR1c1JlYXNvbiwKICAgIGNhdGVnb3J5OiBtLmNhdGVnb3J5LAogICAgbWVkaWNhdGlvbjogbS5tZWRpY2F0aW9uLAogICAgc3ViamVjdDogbS5zdWJqZWN0LAogICAgY29udGV4dDogbS5jb250ZXh0LAogICAgc3VwcG9ydGluZ0luZm9ybWF0aW9uOiBtLnN1cHBvcnRpbmdJbmZvcm1hdGlvbiwKICAgIGVmZmVjdGl2ZTogbS5lZmZlY3RpdmUsCiAgICByZWFzb25Db2RlOiBtLnJlYXNvbkNvZGUsCiAgICByZWFzb25SZWZlcmVuY2U6IG0ucmVhc29uUmVmZXJlbmNlLAogICAgcmVxdWVzdDogbS5yZXF1ZXN0LAogICAgZG9zYWdlOiBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25Eb3NhZ2UobS5kb3NhZ2UpLAogICAgZXZlbnRIaXN0b3J5OiBtLmV2ZW50SGlzdG9yeQogIH0KCmRlZmluZSBmdW5jdGlvbiBNZWRpY2F0aW9uUmVxdWVzdERvc2VBbmRSYXRlKGRvc2VBbmRSYXRlIExpc3Q8RkhJUi5Eb3NhZ2UuRG9zZUFuZFJhdGU+KToKICBkb3NlQW5kUmF0ZSBkUgogIHJldHVybiBGSElSLkRvc2FnZS5Eb3NlQW5kUmF0ZXsKICAgIHR5cGU6IGRSLnR5cGUsCiAgICBkb3NlOiBkUi5kb3NlLAogICAgcmF0ZTogZFIucmF0ZQogIH0KCmRlZmluZSBmdW5jdGlvbiBNZWRpY2F0aW9uUmVxdWVzdERvc2FnZUluc3RydWN0aW9uKGRvc2FnZUluc3RydWN0aW9uIExpc3Q8RkhJUi5Eb3NhZ2U+KToKICBkb3NhZ2VJbnN0cnVjdGlvbiBkSQogIHJldHVybiBGSElSLkRvc2FnZXsKICAgIHRleHQ6IGRJLnRleHQsCiAgICB0aW1pbmc6IGRJLnRpbWluZywKICAgIGFzTmVlZGVkOiBkSS5hc05lZWRlZCwKICAgIHJvdXRlOiBkSS5yb3V0ZSwKICAgIG1ldGhvZDogZEkubWV0aG9kLAogICAgZG9zZUFuZFJhdGU6IE1lZGljYXRpb25SZXF1ZXN0RG9zZUFuZFJhdGUoZEkuZG9zZUFuZFJhdGUpCiAgfQoKZGVmaW5lIGZ1bmN0aW9uIE1lZGljYXRpb25SZXF1ZXN0UmVzb3VyY2UobWVkaWNhdGlvblJlcXVlc3QgTWVkaWNhdGlvblJlcXVlc3QsIHByb2ZpbGVVUkxzIExpc3Q8RkhJUi5jYW5vbmljYWw+KToKICBtZWRpY2F0aW9uUmVxdWVzdCBtCiAgcmV0dXJuIE1lZGljYXRpb25SZXF1ZXN0ewogICAgaWQ6IEZISVIuaWQge3ZhbHVlOiAnTENSLScgKyBtLmlkfSwKICAgIG1ldGE6IFNoYXJlZFJlc291cmNlLk1ldGFFbGVtZW50KG1lZGljYXRpb25SZXF1ZXN0LCBwcm9maWxlVVJMcyksCiAgICBleHRlbnNpb246IG0uZXh0ZW5zaW9uLAogICAgc3RhdHVzOiBtLnN0YXR1cywKICAgIHN0YXR1c1JlYXNvbjogbS5zdGF0dXNSZWFzb24sCiAgICBpbnRlbnQ6IG0uaW50ZW50LAogICAgY2F0ZWdvcnk6IG0uY2F0ZWdvcnksCiAgICBwcmlvcml0eTogbS5wcmlvcml0eSwKICAgIGRvTm90UGVyZm9ybTogbS5kb05vdFBlcmZvcm0sCiAgICByZXBvcnRlZDogbS5yZXBvcnRlZCwKICAgIG1lZGljYXRpb246IG0ubWVkaWNhdGlvbiwKICAgIHN1YmplY3Q6IG0uc3ViamVjdCwKICAgIGVuY291bnRlcjogbS5lbmNvdW50ZXIsCiAgICBhdXRob3JlZE9uOiBtLmF1dGhvcmVkT24sCiAgICAvLypyZXF1ZXN0ZXI6IG0ucmVxdWVzdGVyLAogICAgcmVjb3JkZXI6IG0ucmVjb3JkZXIsCiAgICByZWFzb25Db2RlOiBtLnJlYXNvbkNvZGUsCiAgICByZWFzb25SZWZlcmVuY2U6IG0ucmVhc29uUmVmZXJlbmNlLAogICAgaW5zdGFudGlhdGVzQ2Fub25pY2FsOiBtLmluc3RhbnRpYXRlc0Nhbm9uaWNhbCwKICAgIGluc3RhbnRpYXRlc1VyaTogbS5pbnN0YW50aWF0ZXNVcmksCiAgICBjb3Vyc2VPZlRoZXJhcHlUeXBlOiBtLmNvdXJzZU9mVGhlcmFweVR5cGUsCiAgICBkb3NhZ2VJbnN0cnVjdGlvbjogTWVkaWNhdGlvblJlcXVlc3REb3NhZ2VJbnN0cnVjdGlvbihtLmRvc2FnZUluc3RydWN0aW9uKQogIH0KCmRlZmluZSBmdW5jdGlvbiBPYnNlcnZhdGlvbkxhYkNvZGluZyhjb2RpbmcgTGlzdDxDb2Rpbmc+KToKICBjb2RpbmcgYwogIHJldHVybiBDb2Rpbmd7CiAgICBpZDogYy5pZCwKICAgIGV4dGVuc2lvbjogYy5leHRlbnNpb24sCiAgICBzeXN0ZW06IGMuc3lzdGVtLAogICAgY29kZTogYy5jb2RlCiAgfQoKZGVmaW5lIGZ1bmN0aW9uIE9ic2VydmF0aW9uTGFiQ2F0ZWdvcnkoY2F0ZWdvcnkgTGlzdDxDb2RlYWJsZUNvbmNlcHQ+KToKICBjYXRlZ29yeSBjCiAgcmV0dXJuIENvZGVhYmxlQ29uY2VwdHsKICAgIGNvZGluZzogT2JzZXJ2YXRpb25MYWJDb2RpbmcoYy5jb2RpbmcpLAogICAgdGV4dDogYy50ZXh0CiAgfQoKZGVmaW5lIGZ1bmN0aW9uIE9ic2VydmF0aW9uTGFiUmVzb3VyY2Uob2JzZXJ2YXRpb24gT2JzZXJ2YXRpb24sIHByb2ZpbGVVUkxzIExpc3Q8RkhJUi5jYW5vbmljYWw+KToKICBvYnNlcnZhdGlvbiBvCiAgcmV0dXJuIE9ic2VydmF0aW9uewogICAgaWQ6IEZISVIuaWQge3ZhbHVlOiAnTENSLScgKyBvLmlkfSwKICAgIG1ldGE6IFNoYXJlZFJlc291cmNlLk1ldGFFbGVtZW50KG8sIHByb2ZpbGVVUkxzKSwKICAgIGV4dGVuc2lvbjogby5leHRlbnNpb24sCiAgICBiYXNlZE9uOiBvLmJhc2VkT24sCiAgICBwYXJ0T2Y6IG8ucGFydE9mLAogICAgc3RhdHVzOiBvLnN0YXR1cywKICAgIGNhdGVnb3J5OiBPYnNlcnZhdGlvbkxhYkNhdGVnb3J5KG8uY2F0ZWdvcnkpLAogICAgY29kZTogby5jb2RlLAogICAgc3ViamVjdDogby5zdWJqZWN0LAogICAgZm9jdXM6IG8uZm9jdXMsCiAgICBlbmNvdW50ZXI6IG8uZW5jb3VudGVyLAogICAgZWZmZWN0aXZlOiBvLmVmZmVjdGl2ZSwKICAgIGlzc3VlZDogby5pc3N1ZWQsCiAgICAvLypwZXJmb3JtZXI6IG8ucGVyZm9ybWVyLAogICAgdmFsdWU6IG8udmFsdWUsCiAgICBkYXRhQWJzZW50UmVhc29uOiBvLmRhdGFBYnNlbnRSZWFzb24sCiAgICBpbnRlcnByZXRhdGlvbjogby5pbnRlcnByZXRhdGlvbiwKICAgIG5vdGU6IG8ubm90ZSwKICAgIGJvZHlTaXRlOiBvLmJvZHlTaXRlLAogICAgbWV0aG9kOiBvLm1ldGhvZCwKICAgIHNwZWNpbWVuOiBvLnNwZWNpbWVuLAogICAgZGV2aWNlOiBvLmRldmljZSwKICAgIHJlZmVyZW5jZVJhbmdlOiBTaGFyZWRSZXNvdXJjZS5PYnNlcnZhdGlvblJlZmVyZW5jZVJhbmdlKG8ucmVmZXJlbmNlUmFuZ2UpLAogICAgaGFzTWVtYmVyOiBvLmhhc01lbWJlciwKICAgIGRlcml2ZWRGcm9tOiBvLmRlcml2ZWRGcm9tLAogICAgY29tcG9uZW50OiBTaGFyZWRSZXNvdXJjZS5PYnNlcnZhdGlvbkNvbXBvbmVudChvLmNvbXBvbmVudCkKICB9CgpkZWZpbmUgZnVuY3Rpb24gIkdldFBhdGllbnRFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSk6CiAgZG9tYWluUmVzb3VyY2UuZXh0ZW5zaW9uIEUKICB3aGVyZSBFLnVybC52YWx1ZSA9ICdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJhY2UnCiAgICBvciBFLnVybC52YWx1ZSA9ICdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWV0aG5pY2l0eScKICAgIG9yIEUudXJsLnZhbHVlID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtdHJpYmFsLWFmZmlsaWF0aW9uJwogICAgb3IgRS51cmwudmFsdWUgPSAnaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1iaXJ0aHNleCcKICAgIG9yIEUudXJsLnZhbHVlID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtc2V4JwogIHJldHVybiBFCgpkZWZpbmUgZnVuY3Rpb24gUGF0aWVudExpbmsobGluayBMaXN0PEZISVIuUGF0aWVudC5MaW5rPik6CiAgbGluayBsCiAgcmV0dXJuIEZISVIuUGF0aWVudC5MaW5rewogICAgaWQ6IGwuaWQsCiAgICBvdGhlcjogbC5vdGhlciwKICAgIHR5cGU6IGwudHlwZQogIH0KCi8qZGVmaW5lIGZ1bmN0aW9uIFBhdGllbnRSZXNvdXJjZShwYXRpZW50IFBhdGllbnQsIHByb2ZpbGVVUkxzIExpc3Q8RkhJUi5jYW5vbmljYWw+KToKICBwYXRpZW50IHAKICByZXR1cm4gUGF0aWVudHsKICAgIGlkOiBGSElSLmlke3ZhbHVlOiAnTENSLScgKyBwLmlkfSwKICAgIG1ldGE6IFNoYXJlZFJlc291cmNlLk1ldGFFbGVtZW50KHAsIHByb2ZpbGVVUkxzKSwKICAgIGV4dGVuc2lvbjogR2V0UGF0aWVudEV4dGVuc2lvbnMocCksCiAgICBpZGVudGlmaWVyOiBwLmlkZW50aWZpZXIsCiAgICBhY3RpdmU6IHAuYWN0aXZlLAogICAgbmFtZTogU2hhcmVkUmVzb3VyY2UuUGF0aWVudE5hbWUocC5uYW1lKSwKICAgIHRlbGVjb206IFNoYXJlZFJlc291cmNlLlBhdGllbnRUZWxlY29tKHAudGVsZWNvbSksCiAgICBnZW5kZXI6IHAuZ2VuZGVyLAogICAgYmlydGhEYXRlOiBwLmJpcnRoRGF0ZSwKICAgIGRlY2Vhc2VkOiBwLmRlY2Vhc2VkLAogICAgYWRkcmVzczogU2hhcmVkUmVzb3VyY2UuUGF0aWVudEFkZHJlc3MocC5hZGRyZXNzKSwKICAgIG1hcml0YWxTdGF0dXM6IHAubWFyaXRhbFN0YXR1cywKICAgIG11bHRpcGxlQmlydGg6IHAubXVsdGlwbGVCaXJ0aCwKICAgIHBob3RvOiBwLnBob3RvLAogICAgZ2VuZXJhbFByYWN0aXRpb25lcjogcC5nZW5lcmFsUHJhY3RpdGlvbmVyLAogICAgbWFuYWdpbmdPcmdhbml6YXRpb246IHAubWFuYWdpbmdPcmdhbml6YXRpb24sCiAgICBsaW5rOiBQYXRpZW50TGluayhwLmxpbmspCiAgfSov"/>
<url
value="http://www.cdc.gov/nhsn/fhirportal/dqm/ig/NHSNLongTermCareMonthlyInitialPopulation.cql"/>
</content>
</Library>