CDC National Healthcare Safety Network (NHSN) Digital Quality Measures (dQM) Content Package IG
2.0.0-cibuild - Release 2 ci-build
CDC National Healthcare Safety Network (NHSN) Digital Quality Measures (dQM) Content Package IG - Local Development build (v2.0.0-cibuild) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Page standards status: Trial-use | Maturity Level: 1 |
{
"resourceType" : "Library",
"id" : "NHSNLongTermCareMonthlyInitialPopulation",
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n<div>\n <table class=\"grid dict\">\n \n \n\n \n \n <tr>\n <th scope=\"row\"><b>Id: </b></th>\n <td style=\"padding-left: 4px;\">NHSNLongTermCareMonthlyInitialPopulation</td>\n </tr>\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Version: </b></th>\n <td style=\"padding-left: 4px;\">2.0.0-cibuild</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Url: </b></th>\n <td style=\"padding-left: 4px;\"><a href=\"Library-NHSNLongTermCareMonthlyInitialPopulation.html\">NHSNLongTermCareMonthlyInitialPopulation</a></td>\n </tr>\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Status: </b></th>\n <td style=\"padding-left: 4px;\">draft</td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Type: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n \n <p style=\"margin-bottom: 5px;\">\n <b>system: </b> <span><a href=\"http://terminology.hl7.org/6.5.0/CodeSystem-library-type.html\">http://terminology.hl7.org/CodeSystem/library-type</a></span>\n </p>\n \n \n <p style=\"margin-bottom: 5px;\">\n <b>code: </b> <span>logic-library</span>\n </p>\n \n \n \n \n \n </td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Date: </b></th>\n <td style=\"padding-left: 4px;\">2025-11-10 16:09:20+0000</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Publisher: </b></th>\n <td style=\"padding-left: 4px;\">CDC National Healthcare Safety Network (NHSN)</td>\n </tr>\n \n\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Jurisdiction: </b></th>\n <td style=\"padding-left: 4px;\">US</td>\n </tr>\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Related Artifacts: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n \n <p><b>Dependencies</b></p>\n <ul>\n \n <li><a href=\"http://fhir.org/guides/cqf/common/4.0.1/4.0.1/Library-FHIR-ModelInfo.html\">http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1</a></li>\n \n <li><code>http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/FHIRHelpers|4.0.2</code></li>\n \n <li><code>http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/NHSNHelpers|0.0.002</code></li>\n \n <li><code>http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/SharedResourceCreation|0.1.010</code></li>\n \n <li><a href=\"http://terminology.hl7.org/6.5.0/CodeSystem-observation-category.html\">Observation Category Codesversion: null1.0.1)</a></li>\n \n </ul>\n \n \n \n \n \n </td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Parameters: </b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n <tr><th><b>Name</b></th><th><b>Type</b></th><th><b>Min</b></th><th><b>Max</b></th><th><b>In/Out</b></th></tr>\n \n <tr><th>Measurement Period</th><th>Period</th><th>0</th><th>1</th><th>In</th></tr>\n \n <tr><th>Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Initial Population</th><th>Encounter</th><th>0</th><th>*</th><th>Out</th></tr>\n \n <tr><th>SDE Coverage</th><th>Coverage</th><th>0</th><th>*</th><th>Out</th></tr>\n \n <tr><th>SDE IP Encounters</th><th>Encounter</th><th>0</th><th>*</th><th>Out</th></tr>\n \n <tr><th>SDE Medication Administration</th><th>MedicationAdministration</th><th>0</th><th>*</th><th>Out</th></tr>\n \n <tr><th>SDE Medication Request</th><th>MedicationRequest</th><th>0</th><th>*</th><th>Out</th></tr>\n \n <tr><th>SDE Medication</th><th>Medication</th><th>0</th><th>*</th><th>Out</th></tr>\n \n <tr><th>SDE Observation Lab Category</th><th>Observation</th><th>0</th><th>*</th><th>Out</th></tr>\n \n <tr><th>SDE Minimal Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>SDE Specimen</th><th>Specimen</th><th>0</th><th>*</th><th>Out</th></tr>\n \n </table>\n </td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Data Requirements:</b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n <tr><th><b>Type</b></th><th><b>Profile</b></th><th><b>MS</b></th><th><b>Code Filter</b></th></tr>\n \n <tr>\n <th>Patient</th>\n <th>http://hl7.org/fhir/StructureDefinition/Patient</th>\n <th>;;;;;;;;;;;;;;;;;</th>\n <th>\n \n </th>\n </tr>\n \n <tr>\n <th>Encounter</th>\n <th>http://hl7.org/fhir/StructureDefinition/Encounter</th>\n <th>;;;;;;;;;;;;;;;</th>\n <th>\n \n </th>\n </tr>\n \n <tr>\n <th>Coverage</th>\n <th>http://hl7.org/fhir/StructureDefinition/Coverage</th>\n <th>;;;;;;</th>\n <th>\n \n </th>\n </tr>\n \n <tr>\n <th>MedicationAdministration</th>\n <th>http://hl7.org/fhir/StructureDefinition/MedicationAdministration</th>\n <th>;;;;;;;;;;;;;;;;;</th>\n <th>\n \n </th>\n </tr>\n \n <tr>\n <th>MedicationRequest</th>\n <th>http://hl7.org/fhir/StructureDefinition/MedicationRequest</th>\n <th>;;;;;;;;;;;;;;;;;;;;;</th>\n <th>\n \n </th>\n </tr>\n \n <tr>\n <th>Medication</th>\n <th>http://hl7.org/fhir/StructureDefinition/Medication</th>\n <th>;;;;;;;</th>\n <th>\n \n </th>\n </tr>\n \n <tr>\n <th>Observation</th>\n <th>http://hl7.org/fhir/StructureDefinition/Observation</th>\n <th>;;;;;;;;;;;;;;;;;;;;;;;;;</th>\n <th>\n \n </th>\n </tr>\n \n <tr>\n <th>Specimen</th>\n <th>http://hl7.org/fhir/StructureDefinition/Specimen</th>\n <th>;;;;;;;;;;;;;;;;</th>\n <th>\n \n </th>\n </tr>\n \n </table>\n </td>\n </tr>\n \n\n \n \n <tr>\n <td colspan=\"2\">\n <table>\n <tr><th><a id=\"cql-content\"><b>Content: </b></a> text/cql</th></tr>\n <tr><td><pre><code class=\"language-cql\">library NHSNLongTermCareMonthlyInitialPopulation version '2.0.0-cibuild'\n\nusing FHIR version '4.0.1'\n\ninclude FHIRHelpers version '4.0.2' called FHIRHelpers\ninclude NHSNHelpers version '0.0.002' called NHSNHelpers\ninclude SharedResourceCreation version '0.1.010' called SharedResource\n\ncodesystem "Observation Category": 'http://terminology.hl7.org/CodeSystem/observation-category'\n\n//code for Observation Category\ncode "laboratory": 'laboratory' from "Observation Category" display 'Laboratory'\n\nparameter "Measurement Period" \n default Interval[@2025-01-01T00:00:00.000Z, @2025-01-31T23:59:59.000Z)\n\ncontext Patient \n\ndefine "Initial Population":\n [Encounter] QualifyingEncounters\n where QualifyingEncounters.period overlaps "Measurement Period" \n\ndefine "SDE Coverage": \n\t[Coverage] Coverages\n where exists(\n "Initial Population" IP\n where Coverages.period overlaps IP.period)\n return CoverageResource(Coverages,\n {FHIR.canonical{value: ''}})\n\ndefine "SDE IP Encounters":\n "Initial Population" IP\n return EncounterResource(IP, \n {FHIR.canonical{value: ''}})\n \ndefine "SDE Medication Administration":\n [MedicationAdministration] MedicationAdministrations \n where exists(\n "Initial Population" IP\n where NHSNHelpers."Normalize Interval"(MedicationAdministrations.effective) overlaps IP.period)\n return MedicationAdministrationResource(MedicationAdministrations,\n {FHIR.canonical{value: ''}})\n \ndefine "SDE Medication Request":\n [MedicationRequest] MedicationRequests \n where exists(\n "Initial Population" IP\n where MedicationRequests.authoredOn during IP.period)\n return MedicationRequestResource(MedicationRequests,\n {FHIR.canonical{value: ''}})\n\ndefine "SDE Medication":\n ("SDE Medication Request"\n union "SDE Medication Administration") MedReqOrAdmin\n where MedReqOrAdmin.medication is FHIR.Reference\n and exists("Initial Population") //No longer need to check for timing here because it's checked in SDE Medication Request/Administriation\n return MedicationResource(GetMedicationFrom(MedReqOrAdmin.medication),\n {FHIR.canonical{value: ''}})\n\ndefine "SDE Observation Lab Category":\n [Observation] Observations \n where (exists(Observations.category Category where Category ~ "laboratory"))\n and exists(\n "Initial Population" IP\n where NHSNHelpers."Normalize Interval"(Observations.effective) overlaps IP.period)\n return ObservationLabResource(Observations,\n {FHIR.canonical{value: ''}})\n\ndefine "SDE Minimal Patient":\n Patient p\n return PatientResource(p,\n {FHIR.canonical{value: ''}})\n\ndefine "SDE Specimen":\n [Specimen] Specimens\n where exists(\n "Initial Population" IP\n where NHSNHelpers."Normalize Interval"(Specimens.collection.collected) overlaps IP.period\n )\n return SharedResource.SpecimenResource(Specimens,\n {FHIR.canonical{value: ''}})\n\n//\n//Functions\n//\ndefine function "GetMedicationFrom"(choice Choice<FHIR.CodeableConcept, FHIR.Reference>):\n case\n when choice is FHIR.Reference then\n GetMedication(choice as FHIR.Reference)\n else\n null\n end\n\ndefine function "GetMedication"(reference Reference):\n singleton from (\n [Medication] Medications\n where Medications.id = NHSNHelpers.GetId(reference.reference)\n )\n\n//\n//Measure Specific Resource Creation Functions\n//\ndefine function CoverageResource(coverage Coverage, profileURLs List<FHIR.canonical>):\n coverage c\n return Coverage{\n id: FHIR.id{value: 'LCR-' + c.id},\n meta: SharedResource.MetaElement(c, profileURLs),\n extension: c.extension,\n status: c.status,\n type: c.type,\n subscriber: c.subscriber,\n period: c.period\n }\n\ndefine function EncounterHospitalization(hospitalization FHIR.Encounter.Hospitalization):\n hospitalization h\n return FHIR.Encounter.Hospitalization{\n origin: h.origin,\n admitSource: h.admitSource,\n reAdmission: h.reAdmission,\n dischargeDisposition: h.dischargeDisposition\n }\n\ndefine function EncounterResource(encounter Encounter, profileURLs List<FHIR.canonical>):\n encounter e\n return Encounter{\n id: FHIR.id{value: 'LCR-' + e.id},\n meta: SharedResource.MetaElement(e, profileURLs),\n extension: e.extension,\n identifier: SharedResource.EncounterIdentifier(e.identifier),\n status: e.status,\n statusHistory: SharedResource.EncounterStatusHistory(e.statusHistory),\n class: e.class,\n classHistory: SharedResource.EncounterClassHistory(e.classHistory),\n type: e.type,\n subject: e.subject,\n period: e.period,\n length: e.length,\n reasonCode: e.reasonCode,\n reasonReference: e.reasonReference,\n hospitalization: EncounterHospitalization(e.hospitalization),\n partOf: e.partOf\n }\n\ndefine function MedicationResource(medication Medication, profileURLs List<FHIR.canonical>):\n medication m\n return Medication{\n id: FHIR.id {value: 'LCR-' + m.id},\n meta: SharedResource.MetaElement(m, profileURLs),\n extension: m.extension,\n code: m.code,\n status: m.status,\n form: m.form,\n amount: m.amount,\n ingredient: SharedResource.MedicationIngredient(m.ingredient)\n }\n\ndefine function MedicationAdministrationDosage(dosage FHIR.MedicationAdministration.Dosage):\n dosage d\n return FHIR.MedicationAdministration.Dosage{\n text: d.text,\n route: d.route,\n method: d.method,\n dose: d.dose\n }\n\ndefine function MedicationAdministrationResource(medicationAdministration MedicationAdministration, profileURLs List<FHIR.canonical>):\n medicationAdministration m\n return MedicationAdministration{\n id: FHIR.id {value: 'LCR-' + m.id},\n meta: SharedResource.MetaElement(m, profileURLs),\n extension: m.extension,\n instantiates: m.instantiates,\n partOf: m.partOf,\n status: m.status,\n statusReason: m.statusReason,\n category: m.category,\n medication: m.medication,\n subject: m.subject,\n context: m.context,\n supportingInformation: m.supportingInformation,\n effective: m.effective,\n reasonCode: m.reasonCode,\n reasonReference: m.reasonReference,\n request: m.request,\n dosage: MedicationAdministrationDosage(m.dosage),\n eventHistory: m.eventHistory\n }\n\ndefine function MedicationRequestDoseAndRate(doseAndRate List<FHIR.Dosage.DoseAndRate>):\n doseAndRate dR\n return FHIR.Dosage.DoseAndRate{\n type: dR.type,\n dose: dR.dose,\n rate: dR.rate\n }\n\ndefine function MedicationRequestDosageInstruction(dosageInstruction List<FHIR.Dosage>):\n dosageInstruction dI\n return FHIR.Dosage{\n text: dI.text,\n timing: dI.timing,\n asNeeded: dI.asNeeded,\n route: dI.route,\n method: dI.method,\n doseAndRate: MedicationRequestDoseAndRate(dI.doseAndRate)\n }\n\ndefine function MedicationRequestResource(medicationRequest MedicationRequest, profileURLs List<FHIR.canonical>):\n medicationRequest m\n return MedicationRequest{\n id: FHIR.id {value: 'LCR-' + m.id},\n meta: SharedResource.MetaElement(medicationRequest, profileURLs),\n extension: m.extension,\n status: m.status,\n statusReason: m.statusReason,\n intent: m.intent,\n category: m.category,\n priority: m.priority,\n doNotPerform: m.doNotPerform,\n reported: m.reported,\n medication: m.medication,\n subject: m.subject,\n encounter: m.encounter,\n authoredOn: m.authoredOn,\n requester: m.requester,\n recorder: m.recorder,\n reasonCode: m.reasonCode,\n reasonReference: m.reasonReference,\n instantiatesCanonical: m.instantiatesCanonical,\n instantiatesUri: m.instantiatesUri,\n courseOfTherapyType: m.courseOfTherapyType,\n dosageInstruction: MedicationRequestDosageInstruction(m.dosageInstruction)\n }\n\ndefine function ObservationLabCoding(coding List<Coding>):\n coding c\n return Coding{\n id: c.id,\n extension: c.extension,\n system: c.system,\n code: c.code\n }\n\ndefine function ObservationLabCategory(category List<CodeableConcept>):\n category c\n return CodeableConcept{\n coding: ObservationLabCoding(c.coding),\n text: c.text\n }\n\ndefine function ObservationLabResource(observation Observation, profileURLs List<FHIR.canonical>):\n observation o\n return Observation{\n id: FHIR.id {value: 'LCR-' + o.id},\n meta: SharedResource.MetaElement(o, profileURLs),\n extension: o.extension,\n basedOn: o.basedOn,\n partOf: o.partOf,\n status: o.status,\n category: ObservationLabCategory(o.category),\n code: o.code,\n subject: o.subject,\n focus: o.focus,\n encounter: o.encounter,\n effective: o.effective,\n issued: o.issued,\n performer: o.performer,\n value: o.value,\n dataAbsentReason: o.dataAbsentReason,\n interpretation: o.interpretation,\n note: o.note,\n bodySite: o.bodySite,\n method: o.method,\n specimen: o.specimen,\n device: o.device,\n referenceRange: SharedResource.ObservationReferenceRange(o.referenceRange),\n hasMember: o.hasMember,\n derivedFrom: o.derivedFrom,\n component: SharedResource.ObservationComponent(o.component)\n }\n\ndefine function "GetPatientExtensions"(domainResource DomainResource):\n domainResource.extension E\n where E.url.value = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'\n or E.url.value = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'\n or E.url.value = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-tribal-affiliation'\n or E.url.value = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex'\n or E.url.value = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-sex'\n return E\n\ndefine function PatientLink(link List<FHIR.Patient.Link>):\n link l\n return FHIR.Patient.Link{\n id: l.id,\n other: l.other,\n type: l.type\n }\n\ndefine function PatientResource(patient Patient, profileURLs List<FHIR.canonical>):\n patient p\n return Patient{\n id: FHIR.id{value: 'LCR-' + p.id},\n meta: SharedResource.MetaElement(p, profileURLs),\n extension: GetPatientExtensions(p),\n identifier: p.identifier,\n active: p.active,\n name: SharedResource.PatientName(p.name),\n telecom: SharedResource.PatientTelecom(p.telecom),\n gender: p.gender,\n birthDate: p.birthDate,\n deceased: p.deceased,\n address: SharedResource.PatientAddress(p.address),\n maritalStatus: p.maritalStatus,\n multipleBirth: p.multipleBirth,\n photo: p.photo,\n contact: SharedResource.PatientContact(p.contact),\n communication: SharedResource.PatientCommunication(p.communication),\n generalPractitioner: p.generalPractitioner,\n managingOrganization: p.managingOrganization,\n link: PatientLink(p.link)\n }</code></pre></td></tr>\n </table>\n </td>\n </tr>\n \n \n \n </table>\n</div>\n</div>"
},
"contained" : [
{
"resourceType" : "Parameters",
"id" : "options",
"parameter" : [
{
"name" : "translatorVersion",
"valueString" : "3.11.0"
},
{
"name" : "option",
"valueString" : "EnableDateRangeOptimization"
},
{
"name" : "option",
"valueString" : "EnableAnnotations"
},
{
"name" : "option",
"valueString" : "EnableLocators"
},
{
"name" : "option",
"valueString" : "DisableListDemotion"
},
{
"name" : "option",
"valueString" : "DisableListPromotion"
},
{
"name" : "analyzeDataRequirements",
"valueBoolean" : false
},
{
"name" : "collapseDataRequirements",
"valueBoolean" : true
},
{
"name" : "compatibilityLevel",
"valueString" : "1.5"
},
{
"name" : "enableCqlOnly",
"valueBoolean" : false
},
{
"name" : "errorLevel",
"valueString" : "Info"
},
{
"name" : "signatureLevel",
"valueString" : "Overloads"
},
{
"name" : "validateUnits",
"valueBoolean" : true
},
{
"name" : "verifyOnly",
"valueBoolean" : false
}
]
}
],
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-cqlOptions",
"valueReference" : {
"reference" : "#options"
}
},
{
"url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-softwaresystem",
"valueReference" : {
🔗 "reference" : "Device/cqf-tooling"
}
}
],
"url" : "http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/NHSNLongTermCareMonthlyInitialPopulation",
"version" : "2.0.0-cibuild",
"name" : "NHSNLongTermCareMonthlyInitialPopulation",
"status" : "draft",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "logic-library"
}
]
},
"date" : "2025-11-10T16:09:20+00:00",
"publisher" : "CDC National Healthcare Safety Network (NHSN)",
"contact" : [
{
"name" : "CDC National Healthcare Safety Network (NHSN)",
"telecom" : [
{
"system" : "url",
"value" : "http://www.cdc.gov/nhsn"
},
{
"system" : "email",
"value" : "nhsn@cdc.gov"
}
]
}
],
"jurisdiction" : [
{
"coding" : [
{
"system" : "urn:iso:std:iso:3166",
"code" : "US"
}
]
}
],
"relatedArtifact" : [
{
"type" : "depends-on",
"display" : "FHIR model information",
"resource" : "http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1"
},
{
"type" : "depends-on",
"display" : "Library FHIRHelpers",
"resource" : "http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/FHIRHelpers|4.0.2"
},
{
"type" : "depends-on",
"display" : "Library NHSNHelpers",
"resource" : "http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/NHSNHelpers|0.0.002"
},
{
"type" : "depends-on",
"display" : "Library SharedResource",
"resource" : "http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library/SharedResourceCreation|0.1.010"
},
{
"type" : "depends-on",
"display" : "Code system Observation Category",
"resource" : "http://terminology.hl7.org/CodeSystem/observation-category|1.0.1"
}
],
"parameter" : [
{
"name" : "Measurement Period",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "Period"
},
{
"name" : "Patient",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Patient"
},
{
"name" : "Initial Population",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Encounter"
},
{
"name" : "SDE Coverage",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Coverage"
},
{
"name" : "SDE IP Encounters",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Encounter"
},
{
"name" : "SDE Medication Administration",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "MedicationAdministration"
},
{
"name" : "SDE Medication Request",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "MedicationRequest"
},
{
"name" : "SDE Medication",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Medication"
},
{
"name" : "SDE Observation Lab Category",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Observation"
},
{
"name" : "SDE Minimal Patient",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Patient"
},
{
"name" : "SDE Specimen",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Specimen"
}
],
"dataRequirement" : [
{
"type" : "Patient",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Patient"
],
"mustSupport" : [
"id",
"identifier",
"active",
"name",
"telecom",
"gender",
"birthDate",
"deceased",
"address",
"maritalStatus",
"multipleBirth",
"photo",
"contact",
"communication",
"generalPractitioner",
"managingOrganization",
"link"
]
},
{
"type" : "Encounter",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Encounter"
],
"mustSupport" : [
"period",
"id",
"extension",
"identifier",
"status",
"statusHistory",
"class",
"classHistory",
"type",
"subject",
"length",
"reasonCode",
"reasonReference",
"hospitalization",
"partOf"
]
},
{
"type" : "Coverage",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Coverage"
],
"mustSupport" : [
"period",
"id",
"extension",
"status",
"type",
"subscriber"
]
},
{
"type" : "MedicationAdministration",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/MedicationAdministration"
],
"mustSupport" : [
"effective",
"id",
"extension",
"instantiates",
"partOf",
"status",
"statusReason",
"category",
"medication",
"subject",
"context",
"supportingInformation",
"reasonCode",
"reasonReference",
"request",
"dosage",
"eventHistory"
]
},
{
"type" : "MedicationRequest",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
],
"mustSupport" : [
"authoredOn",
"id",
"extension",
"status",
"statusReason",
"intent",
"category",
"priority",
"doNotPerform",
"reported",
"medication",
"subject",
"encounter",
"requester",
"recorder",
"reasonCode",
"reasonReference",
"instantiatesCanonical",
"instantiatesUri",
"courseOfTherapyType",
"dosageInstruction"
]
},
{
"type" : "Medication",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Medication"
],
"mustSupport" : [
"id",
"extension",
"code",
"status",
"form",
"amount",
"ingredient"
]
},
{
"type" : "Observation",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Observation"
],
"mustSupport" : [
"category",
"effective",
"id",
"extension",
"basedOn",
"partOf",
"status",
"code",
"subject",
"focus",
"encounter",
"issued",
"performer",
"value",
"dataAbsentReason",
"interpretation",
"note",
"bodySite",
"method",
"specimen",
"device",
"referenceRange",
"hasMember",
"derivedFrom",
"component"
]
},
{
"type" : "Specimen",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Specimen"
],
"mustSupport" : [
"collection",
"collection.collected",
"id",
"extension",
"identifier",
"accessionIdentifier",
"status",
"type",
"subject",
"receivedTime",
"parent",
"request",
"processing",
"container",
"condition",
"note"
]
}
],
"content" : [
{
"contentType" : "text/cql",
"data" : "bGlicmFyeSBOSFNOTG9uZ1Rlcm1DYXJlTW9udGhseUluaXRpYWxQb3B1bGF0aW9uIHZlcnNpb24gJzIuMC4wLWNpYnVpbGQnCgp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMicgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgTkhTTkhlbHBlcnMgdmVyc2lvbiAnMC4wLjAwMicgY2FsbGVkIE5IU05IZWxwZXJzCmluY2x1ZGUgU2hhcmVkUmVzb3VyY2VDcmVhdGlvbiB2ZXJzaW9uICcwLjEuMDEwJyBjYWxsZWQgU2hhcmVkUmVzb3VyY2UKCmNvZGVzeXN0ZW0gIk9ic2VydmF0aW9uIENhdGVnb3J5IjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vb2JzZXJ2YXRpb24tY2F0ZWdvcnknCgovL2NvZGUgZm9yIE9ic2VydmF0aW9uIENhdGVnb3J5CmNvZGUgImxhYm9yYXRvcnkiOiAnbGFib3JhdG9yeScgZnJvbSAiT2JzZXJ2YXRpb24gQ2F0ZWdvcnkiIGRpc3BsYXkgJ0xhYm9yYXRvcnknCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgCiAgICBkZWZhdWx0IEludGVydmFsW0AyMDI1LTAxLTAxVDAwOjAwOjAwLjAwMFosIEAyMDI1LTAxLTMxVDIzOjU5OjU5LjAwMFopCgpjb250ZXh0IFBhdGllbnQgCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CiAgW0VuY291bnRlcl0gUXVhbGlmeWluZ0VuY291bnRlcnMKICB3aGVyZSBRdWFsaWZ5aW5nRW5jb3VudGVycy5wZXJpb2Qgb3ZlcmxhcHMgIk1lYXN1cmVtZW50IFBlcmlvZCIgCgpkZWZpbmUgIlNERSBDb3ZlcmFnZSI6IAoJW0NvdmVyYWdlXSBDb3ZlcmFnZXMKICB3aGVyZSBleGlzdHMoCiAgICAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJUAogICAgd2hlcmUgQ292ZXJhZ2VzLnBlcmlvZCBvdmVybGFwcyBJUC5wZXJpb2QpCiAgcmV0dXJuIENvdmVyYWdlUmVzb3VyY2UoQ292ZXJhZ2VzLAogIHtGSElSLmNhbm9uaWNhbHt2YWx1ZTogJyd9fSkKCmRlZmluZSAiU0RFIElQIEVuY291bnRlcnMiOgogICJJbml0aWFsIFBvcHVsYXRpb24iIElQCiAgcmV0dXJuIEVuY291bnRlclJlc291cmNlKElQLCAKICB7RkhJUi5jYW5vbmljYWx7dmFsdWU6ICcnfX0pCiAKZGVmaW5lICJTREUgTWVkaWNhdGlvbiBBZG1pbmlzdHJhdGlvbiI6CiAgW01lZGljYXRpb25BZG1pbmlzdHJhdGlvbl0gTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9ucyAKICB3aGVyZSBleGlzdHMoCiAgICAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJUAogICAgd2hlcmUgTkhTTkhlbHBlcnMuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9ucy5lZmZlY3RpdmUpIG92ZXJsYXBzIElQLnBlcmlvZCkKICByZXR1cm4gTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uUmVzb3VyY2UoTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9ucywKICB7RkhJUi5jYW5vbmljYWx7dmFsdWU6ICcnfX0pCiAKZGVmaW5lICJTREUgTWVkaWNhdGlvbiBSZXF1ZXN0IjoKICBbTWVkaWNhdGlvblJlcXVlc3RdIE1lZGljYXRpb25SZXF1ZXN0cyAKICB3aGVyZSBleGlzdHMoCiAgICAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJUAogICAgd2hlcmUgTWVkaWNhdGlvblJlcXVlc3RzLmF1dGhvcmVkT24gZHVyaW5nIElQLnBlcmlvZCkKICByZXR1cm4gTWVkaWNhdGlvblJlcXVlc3RSZXNvdXJjZShNZWRpY2F0aW9uUmVxdWVzdHMsCiAge0ZISVIuY2Fub25pY2Fse3ZhbHVlOiAnJ319KQoKZGVmaW5lICJTREUgTWVkaWNhdGlvbiI6CiAgKCJTREUgTWVkaWNhdGlvbiBSZXF1ZXN0IgogIHVuaW9uICJTREUgTWVkaWNhdGlvbiBBZG1pbmlzdHJhdGlvbiIpIE1lZFJlcU9yQWRtaW4KICB3aGVyZSBNZWRSZXFPckFkbWluLm1lZGljYXRpb24gaXMgRkhJUi5SZWZlcmVuY2UKICBhbmQgZXhpc3RzKCJJbml0aWFsIFBvcHVsYXRpb24iKSAvL05vIGxvbmdlciBuZWVkIHRvIGNoZWNrIGZvciB0aW1pbmcgaGVyZSBiZWNhdXNlIGl0J3MgY2hlY2tlZCBpbiBTREUgTWVkaWNhdGlvbiBSZXF1ZXN0L0FkbWluaXN0cmlhdGlvbgogIHJldHVybiBNZWRpY2F0aW9uUmVzb3VyY2UoR2V0TWVkaWNhdGlvbkZyb20oTWVkUmVxT3JBZG1pbi5tZWRpY2F0aW9uKSwKICB7RkhJUi5jYW5vbmljYWx7dmFsdWU6ICcnfX0pCgpkZWZpbmUgIlNERSBPYnNlcnZhdGlvbiBMYWIgQ2F0ZWdvcnkiOgogIFtPYnNlcnZhdGlvbl0gT2JzZXJ2YXRpb25zIAogIHdoZXJlIChleGlzdHMoT2JzZXJ2YXRpb25zLmNhdGVnb3J5IENhdGVnb3J5IHdoZXJlIENhdGVnb3J5IH4gImxhYm9yYXRvcnkiKSkKICAgIGFuZCBleGlzdHMoCiAgICAgICJJbml0aWFsIFBvcHVsYXRpb24iIElQCiAgICAgIHdoZXJlIE5IU05IZWxwZXJzLiJOb3JtYWxpemUgSW50ZXJ2YWwiKE9ic2VydmF0aW9ucy5lZmZlY3RpdmUpIG92ZXJsYXBzIElQLnBlcmlvZCkKICByZXR1cm4gT2JzZXJ2YXRpb25MYWJSZXNvdXJjZShPYnNlcnZhdGlvbnMsCiAge0ZISVIuY2Fub25pY2Fse3ZhbHVlOiAnJ319KQoKZGVmaW5lICJTREUgTWluaW1hbCBQYXRpZW50IjoKICBQYXRpZW50IHAKICByZXR1cm4gUGF0aWVudFJlc291cmNlKHAsCiAge0ZISVIuY2Fub25pY2Fse3ZhbHVlOiAnJ319KQoKZGVmaW5lICJTREUgU3BlY2ltZW4iOgogIFtTcGVjaW1lbl0gU3BlY2ltZW5zCiAgd2hlcmUgZXhpc3RzKAogICAgIkluaXRpYWwgUG9wdWxhdGlvbiIgSVAKICAgIHdoZXJlIE5IU05IZWxwZXJzLiJOb3JtYWxpemUgSW50ZXJ2YWwiKFNwZWNpbWVucy5jb2xsZWN0aW9uLmNvbGxlY3RlZCkgb3ZlcmxhcHMgSVAucGVyaW9kCiAgKQogIHJldHVybiBTaGFyZWRSZXNvdXJjZS5TcGVjaW1lblJlc291cmNlKFNwZWNpbWVucywKICB7RkhJUi5jYW5vbmljYWx7dmFsdWU6ICcnfX0pCgovLwovL0Z1bmN0aW9ucwovLwpkZWZpbmUgZnVuY3Rpb24gIkdldE1lZGljYXRpb25Gcm9tIihjaG9pY2UgQ2hvaWNlPEZISVIuQ29kZWFibGVDb25jZXB0LCBGSElSLlJlZmVyZW5jZT4pOgogIGNhc2UKICAgIHdoZW4gY2hvaWNlIGlzIEZISVIuUmVmZXJlbmNlIHRoZW4KICAgICAgR2V0TWVkaWNhdGlvbihjaG9pY2UgYXMgRkhJUi5SZWZlcmVuY2UpCiAgICBlbHNlCiAgICAgIG51bGwKICBlbmQKCmRlZmluZSBmdW5jdGlvbiAiR2V0TWVkaWNhdGlvbiIocmVmZXJlbmNlIFJlZmVyZW5jZSk6CiAgc2luZ2xldG9uIGZyb20gKAogICAgW01lZGljYXRpb25dIE1lZGljYXRpb25zCiAgICB3aGVyZSBNZWRpY2F0aW9ucy5pZCA9IE5IU05IZWxwZXJzLkdldElkKHJlZmVyZW5jZS5yZWZlcmVuY2UpCiAgKQoKLy8KLy9NZWFzdXJlIFNwZWNpZmljIFJlc291cmNlIENyZWF0aW9uIEZ1bmN0aW9ucwovLwpkZWZpbmUgZnVuY3Rpb24gQ292ZXJhZ2VSZXNvdXJjZShjb3ZlcmFnZSBDb3ZlcmFnZSwgcHJvZmlsZVVSTHMgTGlzdDxGSElSLmNhbm9uaWNhbD4pOgogIGNvdmVyYWdlIGMKICByZXR1cm4gQ292ZXJhZ2V7CiAgICBpZDogRkhJUi5pZHt2YWx1ZTogJ0xDUi0nICsgYy5pZH0sCiAgICBtZXRhOiBTaGFyZWRSZXNvdXJjZS5NZXRhRWxlbWVudChjLCBwcm9maWxlVVJMcyksCiAgICBleHRlbnNpb246IGMuZXh0ZW5zaW9uLAogICAgc3RhdHVzOiBjLnN0YXR1cywKICAgIHR5cGU6IGMudHlwZSwKICAgIHN1YnNjcmliZXI6IGMuc3Vic2NyaWJlciwKICAgIHBlcmlvZDogYy5wZXJpb2QKICB9CgpkZWZpbmUgZnVuY3Rpb24gRW5jb3VudGVySG9zcGl0YWxpemF0aW9uKGhvc3BpdGFsaXphdGlvbiBGSElSLkVuY291bnRlci5Ib3NwaXRhbGl6YXRpb24pOgogIGhvc3BpdGFsaXphdGlvbiBoCiAgcmV0dXJuIEZISVIuRW5jb3VudGVyLkhvc3BpdGFsaXphdGlvbnsKICAgIG9yaWdpbjogaC5vcmlnaW4sCiAgICBhZG1pdFNvdXJjZTogaC5hZG1pdFNvdXJjZSwKICAgIHJlQWRtaXNzaW9uOiBoLnJlQWRtaXNzaW9uLAogICAgZGlzY2hhcmdlRGlzcG9zaXRpb246IGguZGlzY2hhcmdlRGlzcG9zaXRpb24KICB9CgpkZWZpbmUgZnVuY3Rpb24gRW5jb3VudGVyUmVzb3VyY2UoZW5jb3VudGVyIEVuY291bnRlciwgcHJvZmlsZVVSTHMgTGlzdDxGSElSLmNhbm9uaWNhbD4pOgogIGVuY291bnRlciBlCiAgcmV0dXJuIEVuY291bnRlcnsKICAgIGlkOiBGSElSLmlke3ZhbHVlOiAnTENSLScgKyBlLmlkfSwKICAgIG1ldGE6IFNoYXJlZFJlc291cmNlLk1ldGFFbGVtZW50KGUsIHByb2ZpbGVVUkxzKSwKICAgIGV4dGVuc2lvbjogZS5leHRlbnNpb24sCiAgICBpZGVudGlmaWVyOiBTaGFyZWRSZXNvdXJjZS5FbmNvdW50ZXJJZGVudGlmaWVyKGUuaWRlbnRpZmllciksCiAgICBzdGF0dXM6IGUuc3RhdHVzLAogICAgc3RhdHVzSGlzdG9yeTogU2hhcmVkUmVzb3VyY2UuRW5jb3VudGVyU3RhdHVzSGlzdG9yeShlLnN0YXR1c0hpc3RvcnkpLAogICAgY2xhc3M6IGUuY2xhc3MsCiAgICBjbGFzc0hpc3Rvcnk6IFNoYXJlZFJlc291cmNlLkVuY291bnRlckNsYXNzSGlzdG9yeShlLmNsYXNzSGlzdG9yeSksCiAgICB0eXBlOiBlLnR5cGUsCiAgICBzdWJqZWN0OiBlLnN1YmplY3QsCiAgICBwZXJpb2Q6IGUucGVyaW9kLAogICAgbGVuZ3RoOiBlLmxlbmd0aCwKICAgIHJlYXNvbkNvZGU6IGUucmVhc29uQ29kZSwKICAgIHJlYXNvblJlZmVyZW5jZTogZS5yZWFzb25SZWZlcmVuY2UsCiAgICBob3NwaXRhbGl6YXRpb246IEVuY291bnRlckhvc3BpdGFsaXphdGlvbihlLmhvc3BpdGFsaXphdGlvbiksCiAgICBwYXJ0T2Y6IGUucGFydE9mCiAgfQoKZGVmaW5lIGZ1bmN0aW9uIE1lZGljYXRpb25SZXNvdXJjZShtZWRpY2F0aW9uIE1lZGljYXRpb24sIHByb2ZpbGVVUkxzIExpc3Q8RkhJUi5jYW5vbmljYWw+KToKICBtZWRpY2F0aW9uIG0KICByZXR1cm4gTWVkaWNhdGlvbnsKICAgIGlkOiBGSElSLmlkIHt2YWx1ZTogJ0xDUi0nICsgbS5pZH0sCiAgICBtZXRhOiBTaGFyZWRSZXNvdXJjZS5NZXRhRWxlbWVudChtLCBwcm9maWxlVVJMcyksCiAgICBleHRlbnNpb246IG0uZXh0ZW5zaW9uLAogICAgY29kZTogbS5jb2RlLAogICAgc3RhdHVzOiBtLnN0YXR1cywKICAgIGZvcm06IG0uZm9ybSwKICAgIGFtb3VudDogbS5hbW91bnQsCiAgICBpbmdyZWRpZW50OiBTaGFyZWRSZXNvdXJjZS5NZWRpY2F0aW9uSW5ncmVkaWVudChtLmluZ3JlZGllbnQpCiAgfQoKZGVmaW5lIGZ1bmN0aW9uIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbkRvc2FnZShkb3NhZ2UgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24uRG9zYWdlKToKICBkb3NhZ2UgZAogIHJldHVybiBGSElSLk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5Eb3NhZ2V7CiAgICB0ZXh0OiBkLnRleHQsCiAgICByb3V0ZTogZC5yb3V0ZSwKICAgIG1ldGhvZDogZC5tZXRob2QsCiAgICBkb3NlOiBkLmRvc2UKICB9CgpkZWZpbmUgZnVuY3Rpb24gTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uUmVzb3VyY2UobWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiwgcHJvZmlsZVVSTHMgTGlzdDxGSElSLmNhbm9uaWNhbD4pOgogIG1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiBtCiAgcmV0dXJuIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbnsKICAgIGlkOiBGSElSLmlkIHt2YWx1ZTogJ0xDUi0nICsgbS5pZH0sCiAgICBtZXRhOiBTaGFyZWRSZXNvdXJjZS5NZXRhRWxlbWVudChtLCBwcm9maWxlVVJMcyksCiAgICBleHRlbnNpb246IG0uZXh0ZW5zaW9uLAogICAgaW5zdGFudGlhdGVzOiBtLmluc3RhbnRpYXRlcywKICAgIHBhcnRPZjogbS5wYXJ0T2YsCiAgICBzdGF0dXM6IG0uc3RhdHVzLAogICAgc3RhdHVzUmVhc29uOiBtLnN0YXR1c1JlYXNvbiwKICAgIGNhdGVnb3J5OiBtLmNhdGVnb3J5LAogICAgbWVkaWNhdGlvbjogbS5tZWRpY2F0aW9uLAogICAgc3ViamVjdDogbS5zdWJqZWN0LAogICAgY29udGV4dDogbS5jb250ZXh0LAogICAgc3VwcG9ydGluZ0luZm9ybWF0aW9uOiBtLnN1cHBvcnRpbmdJbmZvcm1hdGlvbiwKICAgIGVmZmVjdGl2ZTogbS5lZmZlY3RpdmUsCiAgICByZWFzb25Db2RlOiBtLnJlYXNvbkNvZGUsCiAgICByZWFzb25SZWZlcmVuY2U6IG0ucmVhc29uUmVmZXJlbmNlLAogICAgcmVxdWVzdDogbS5yZXF1ZXN0LAogICAgZG9zYWdlOiBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25Eb3NhZ2UobS5kb3NhZ2UpLAogICAgZXZlbnRIaXN0b3J5OiBtLmV2ZW50SGlzdG9yeQogIH0KCmRlZmluZSBmdW5jdGlvbiBNZWRpY2F0aW9uUmVxdWVzdERvc2VBbmRSYXRlKGRvc2VBbmRSYXRlIExpc3Q8RkhJUi5Eb3NhZ2UuRG9zZUFuZFJhdGU+KToKICBkb3NlQW5kUmF0ZSBkUgogIHJldHVybiBGSElSLkRvc2FnZS5Eb3NlQW5kUmF0ZXsKICAgIHR5cGU6IGRSLnR5cGUsCiAgICBkb3NlOiBkUi5kb3NlLAogICAgcmF0ZTogZFIucmF0ZQogIH0KCmRlZmluZSBmdW5jdGlvbiBNZWRpY2F0aW9uUmVxdWVzdERvc2FnZUluc3RydWN0aW9uKGRvc2FnZUluc3RydWN0aW9uIExpc3Q8RkhJUi5Eb3NhZ2U+KToKICBkb3NhZ2VJbnN0cnVjdGlvbiBkSQogIHJldHVybiBGSElSLkRvc2FnZXsKICAgIHRleHQ6IGRJLnRleHQsCiAgICB0aW1pbmc6IGRJLnRpbWluZywKICAgIGFzTmVlZGVkOiBkSS5hc05lZWRlZCwKICAgIHJvdXRlOiBkSS5yb3V0ZSwKICAgIG1ldGhvZDogZEkubWV0aG9kLAogICAgZG9zZUFuZFJhdGU6IE1lZGljYXRpb25SZXF1ZXN0RG9zZUFuZFJhdGUoZEkuZG9zZUFuZFJhdGUpCiAgfQoKZGVmaW5lIGZ1bmN0aW9uIE1lZGljYXRpb25SZXF1ZXN0UmVzb3VyY2UobWVkaWNhdGlvblJlcXVlc3QgTWVkaWNhdGlvblJlcXVlc3QsIHByb2ZpbGVVUkxzIExpc3Q8RkhJUi5jYW5vbmljYWw+KToKICBtZWRpY2F0aW9uUmVxdWVzdCBtCiAgcmV0dXJuIE1lZGljYXRpb25SZXF1ZXN0ewogICAgaWQ6IEZISVIuaWQge3ZhbHVlOiAnTENSLScgKyBtLmlkfSwKICAgIG1ldGE6IFNoYXJlZFJlc291cmNlLk1ldGFFbGVtZW50KG1lZGljYXRpb25SZXF1ZXN0LCBwcm9maWxlVVJMcyksCiAgICBleHRlbnNpb246IG0uZXh0ZW5zaW9uLAogICAgc3RhdHVzOiBtLnN0YXR1cywKICAgIHN0YXR1c1JlYXNvbjogbS5zdGF0dXNSZWFzb24sCiAgICBpbnRlbnQ6IG0uaW50ZW50LAogICAgY2F0ZWdvcnk6IG0uY2F0ZWdvcnksCiAgICBwcmlvcml0eTogbS5wcmlvcml0eSwKICAgIGRvTm90UGVyZm9ybTogbS5kb05vdFBlcmZvcm0sCiAgICByZXBvcnRlZDogbS5yZXBvcnRlZCwKICAgIG1lZGljYXRpb246IG0ubWVkaWNhdGlvbiwKICAgIHN1YmplY3Q6IG0uc3ViamVjdCwKICAgIGVuY291bnRlcjogbS5lbmNvdW50ZXIsCiAgICBhdXRob3JlZE9uOiBtLmF1dGhvcmVkT24sCiAgICByZXF1ZXN0ZXI6IG0ucmVxdWVzdGVyLAogICAgcmVjb3JkZXI6IG0ucmVjb3JkZXIsCiAgICByZWFzb25Db2RlOiBtLnJlYXNvbkNvZGUsCiAgICByZWFzb25SZWZlcmVuY2U6IG0ucmVhc29uUmVmZXJlbmNlLAogICAgaW5zdGFudGlhdGVzQ2Fub25pY2FsOiBtLmluc3RhbnRpYXRlc0Nhbm9uaWNhbCwKICAgIGluc3RhbnRpYXRlc1VyaTogbS5pbnN0YW50aWF0ZXNVcmksCiAgICBjb3Vyc2VPZlRoZXJhcHlUeXBlOiBtLmNvdXJzZU9mVGhlcmFweVR5cGUsCiAgICBkb3NhZ2VJbnN0cnVjdGlvbjogTWVkaWNhdGlvblJlcXVlc3REb3NhZ2VJbnN0cnVjdGlvbihtLmRvc2FnZUluc3RydWN0aW9uKQogIH0KCmRlZmluZSBmdW5jdGlvbiBPYnNlcnZhdGlvbkxhYkNvZGluZyhjb2RpbmcgTGlzdDxDb2Rpbmc+KToKICBjb2RpbmcgYwogIHJldHVybiBDb2Rpbmd7CiAgICBpZDogYy5pZCwKICAgIGV4dGVuc2lvbjogYy5leHRlbnNpb24sCiAgICBzeXN0ZW06IGMuc3lzdGVtLAogICAgY29kZTogYy5jb2RlCiAgfQoKZGVmaW5lIGZ1bmN0aW9uIE9ic2VydmF0aW9uTGFiQ2F0ZWdvcnkoY2F0ZWdvcnkgTGlzdDxDb2RlYWJsZUNvbmNlcHQ+KToKICBjYXRlZ29yeSBjCiAgcmV0dXJuIENvZGVhYmxlQ29uY2VwdHsKICAgIGNvZGluZzogT2JzZXJ2YXRpb25MYWJDb2RpbmcoYy5jb2RpbmcpLAogICAgdGV4dDogYy50ZXh0CiAgfQoKZGVmaW5lIGZ1bmN0aW9uIE9ic2VydmF0aW9uTGFiUmVzb3VyY2Uob2JzZXJ2YXRpb24gT2JzZXJ2YXRpb24sIHByb2ZpbGVVUkxzIExpc3Q8RkhJUi5jYW5vbmljYWw+KToKICBvYnNlcnZhdGlvbiBvCiAgcmV0dXJuIE9ic2VydmF0aW9uewogICAgaWQ6IEZISVIuaWQge3ZhbHVlOiAnTENSLScgKyBvLmlkfSwKICAgIG1ldGE6IFNoYXJlZFJlc291cmNlLk1ldGFFbGVtZW50KG8sIHByb2ZpbGVVUkxzKSwKICAgIGV4dGVuc2lvbjogby5leHRlbnNpb24sCiAgICBiYXNlZE9uOiBvLmJhc2VkT24sCiAgICBwYXJ0T2Y6IG8ucGFydE9mLAogICAgc3RhdHVzOiBvLnN0YXR1cywKICAgIGNhdGVnb3J5OiBPYnNlcnZhdGlvbkxhYkNhdGVnb3J5KG8uY2F0ZWdvcnkpLAogICAgY29kZTogby5jb2RlLAogICAgc3ViamVjdDogby5zdWJqZWN0LAogICAgZm9jdXM6IG8uZm9jdXMsCiAgICBlbmNvdW50ZXI6IG8uZW5jb3VudGVyLAogICAgZWZmZWN0aXZlOiBvLmVmZmVjdGl2ZSwKICAgIGlzc3VlZDogby5pc3N1ZWQsCiAgICBwZXJmb3JtZXI6IG8ucGVyZm9ybWVyLAogICAgdmFsdWU6IG8udmFsdWUsCiAgICBkYXRhQWJzZW50UmVhc29uOiBvLmRhdGFBYnNlbnRSZWFzb24sCiAgICBpbnRlcnByZXRhdGlvbjogby5pbnRlcnByZXRhdGlvbiwKICAgIG5vdGU6IG8ubm90ZSwKICAgIGJvZHlTaXRlOiBvLmJvZHlTaXRlLAogICAgbWV0aG9kOiBvLm1ldGhvZCwKICAgIHNwZWNpbWVuOiBvLnNwZWNpbWVuLAogICAgZGV2aWNlOiBvLmRldmljZSwKICAgIHJlZmVyZW5jZVJhbmdlOiBTaGFyZWRSZXNvdXJjZS5PYnNlcnZhdGlvblJlZmVyZW5jZVJhbmdlKG8ucmVmZXJlbmNlUmFuZ2UpLAogICAgaGFzTWVtYmVyOiBvLmhhc01lbWJlciwKICAgIGRlcml2ZWRGcm9tOiBvLmRlcml2ZWRGcm9tLAogICAgY29tcG9uZW50OiBTaGFyZWRSZXNvdXJjZS5PYnNlcnZhdGlvbkNvbXBvbmVudChvLmNvbXBvbmVudCkKICB9CgpkZWZpbmUgZnVuY3Rpb24gIkdldFBhdGllbnRFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSk6CiAgZG9tYWluUmVzb3VyY2UuZXh0ZW5zaW9uIEUKICB3aGVyZSBFLnVybC52YWx1ZSA9ICdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJhY2UnCiAgICBvciBFLnVybC52YWx1ZSA9ICdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWV0aG5pY2l0eScKICAgIG9yIEUudXJsLnZhbHVlID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtdHJpYmFsLWFmZmlsaWF0aW9uJwogICAgb3IgRS51cmwudmFsdWUgPSAnaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1iaXJ0aHNleCcKICAgIG9yIEUudXJsLnZhbHVlID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtc2V4JwogIHJldHVybiBFCgpkZWZpbmUgZnVuY3Rpb24gUGF0aWVudExpbmsobGluayBMaXN0PEZISVIuUGF0aWVudC5MaW5rPik6CiAgbGluayBsCiAgcmV0dXJuIEZISVIuUGF0aWVudC5MaW5rewogICAgaWQ6IGwuaWQsCiAgICBvdGhlcjogbC5vdGhlciwKICAgIHR5cGU6IGwudHlwZQogIH0KCmRlZmluZSBmdW5jdGlvbiBQYXRpZW50UmVzb3VyY2UocGF0aWVudCBQYXRpZW50LCBwcm9maWxlVVJMcyBMaXN0PEZISVIuY2Fub25pY2FsPik6CiAgcGF0aWVudCBwCiAgcmV0dXJuIFBhdGllbnR7CiAgICBpZDogRkhJUi5pZHt2YWx1ZTogJ0xDUi0nICsgcC5pZH0sCiAgICBtZXRhOiBTaGFyZWRSZXNvdXJjZS5NZXRhRWxlbWVudChwLCBwcm9maWxlVVJMcyksCiAgICBleHRlbnNpb246IEdldFBhdGllbnRFeHRlbnNpb25zKHApLAogICAgaWRlbnRpZmllcjogcC5pZGVudGlmaWVyLAogICAgYWN0aXZlOiBwLmFjdGl2ZSwKICAgIG5hbWU6IFNoYXJlZFJlc291cmNlLlBhdGllbnROYW1lKHAubmFtZSksCiAgICB0ZWxlY29tOiBTaGFyZWRSZXNvdXJjZS5QYXRpZW50VGVsZWNvbShwLnRlbGVjb20pLAogICAgZ2VuZGVyOiBwLmdlbmRlciwKICAgIGJpcnRoRGF0ZTogcC5iaXJ0aERhdGUsCiAgICBkZWNlYXNlZDogcC5kZWNlYXNlZCwKICAgIGFkZHJlc3M6IFNoYXJlZFJlc291cmNlLlBhdGllbnRBZGRyZXNzKHAuYWRkcmVzcyksCiAgICBtYXJpdGFsU3RhdHVzOiBwLm1hcml0YWxTdGF0dXMsCiAgICBtdWx0aXBsZUJpcnRoOiBwLm11bHRpcGxlQmlydGgsCiAgICBwaG90bzogcC5waG90bywKICAgIGNvbnRhY3Q6IFNoYXJlZFJlc291cmNlLlBhdGllbnRDb250YWN0KHAuY29udGFjdCksCiAgICBjb21tdW5pY2F0aW9uOiBTaGFyZWRSZXNvdXJjZS5QYXRpZW50Q29tbXVuaWNhdGlvbihwLmNvbW11bmljYXRpb24pLAogICAgZ2VuZXJhbFByYWN0aXRpb25lcjogcC5nZW5lcmFsUHJhY3RpdGlvbmVyLAogICAgbWFuYWdpbmdPcmdhbml6YXRpb246IHAubWFuYWdpbmdPcmdhbml6YXRpb24sCiAgICBsaW5rOiBQYXRpZW50TGluayhwLmxpbmspCiAgfQ==",
"url" : "http://www.cdc.gov/nhsn/fhirportal/dqm/ig/Library-NHSNLongTermCareMonthlyInitialPopulation.cql"
}
]
}