WHO Immunization Implementation Guide
0.2.0 - ci-build
WHO Immunization Implementation Guide, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-immunizations/tree/123/merge and changes regularly. See the Directory of published versions
| Draft as of 2026-03-03 |
<PlanDefinition xmlns="http://hl7.org/fhir">
<id value="IMMZD2DTPneumococcal3Doses"/>
<meta>
<profile
value="http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-recommendationdefinition"/>
<profile
value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareableplandefinition"/>
<profile
value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishableplandefinition"/>
</meta>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<div>
<table class="grid dict">
<tr>
<th scope="row"><b>Id: </b></th>
<td style="padding-left: 4px;">IMMZD2DTPneumococcal3Doses</td>
</tr>
<tr>
<th scope="row"><b>Url: </b></th>
<td style="padding-left: 4px;"><a href="PlanDefinition-IMMZD2DTPneumococcal3Doses.html">IMMZ.D2.DT.Pneumococcal.3 doses</a></td>
</tr>
<tr>
<th scope="row"><b>Version: </b></th>
<td style="padding-left: 4px;">0.2.0</td>
</tr>
<tr>
<th scope="row"><b>Title: </b></th>
<td style="padding-left: 4px;">IMMZ.D2.DT.Pneumococcal.3 doses</td>
</tr>
<tr>
<th scope="row"><b>Status: </b></th>
<td style="padding-left: 4px;">draft</td>
</tr>
<tr>
<th scope="row"><b>Type: </b></th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<b>system: </b> <span><a href="http://terminology.hl7.org/7.0.1/CodeSystem-plan-definition-type.html">http://terminology.hl7.org/CodeSystem/plan-definition-type</a></span>
</p>
<p style="margin-bottom: 5px;">
<b>code: </b> <span>eca-rule</span>
</p>
</td>
</tr>
<tr>
<th scope="row"><b>Date: </b></th>
<td style="padding-left: 4px;">2026-03-03 13:07:11+0000</td>
</tr>
<tr>
<th scope="row"><b>Publisher: </b></th>
<td style="padding-left: 4px;">WHO</td>
</tr>
<tr>
<th scope="row"><b>Description: </b></th>
<td style="padding-left: 4px;"><div><p>IMMZ.D2.DT.Pneumococcal.3 doses
3 primary doses (3p+0)</p>
</div></td>
</tr>
<tr>
<th scope="row"><b>Knowledge Capability: </b></th>
<td style="padding-left: 4px;">
computable
</td>
</tr>
<tr>
<th scope="row"><b>Related Artifacts: </b></th>
<td style="padding-left: 4px;">
<p><b>References</b></p>
<ul>
<li><div><p>WHO recommendations for routine immunization - summary tables (January 2025)</p>
</div><br/><a href="null"/></li>
</ul>
</td>
</tr>
<tr>
<th scope="row"><b>Libraries: </b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr>
<td><a href="Library-IMMZD2DTPneumococcal3DosesLogic.html">IMMZD2DTPneumococcal3DosesLogic</a></td>
</tr>
</table>
</td>
</tr>
<tr>
<th scope="row"><b>Actions: </b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr>
<td>
<b> Determine if the client is due for BCG.:</b> Determine if the client is due for BCG vaccine according to the national immunization protocol.
3 primary doses (3p+0)
<br/>
<b>If:</b>
<i>Applicability:</i>
Client is due for pneumococcal vaccination
<i>(Client is due for pneumococcal vaccination)</i>
<br/>
<b>Then:</b> <i>Definition:</i> <a href="ActivityDefinition-IMMZD2DTMR.html">IMMZD2DTMR</a><br/>
<i>Dynamic Values:</i><br/>
status: <i>('draft')</i>
<br/>
intent: <i>('proposal')</i>
<br/>
medication: <i>(Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE13', display: 'Pneumococcal vaccines' } }, display: 'Pneumococcal vaccines' })</i>
<br/>
</td>
</tr>
<tr>
<td>
<b> Determine if the client is due for BCG.:</b> Determine if the client is due for BCG vaccine according to the national immunization protocol.
3 primary doses (3p+0)
<br/>
<b>If:</b>
<i>Applicability:</i>
Client is due for pneumococcal booster dose
<i>(Client is due for pneumococcal booster dose)</i>
<br/>
<b>Then:</b> <i>Definition:</i> <a href="ActivityDefinition-IMMZD2DTMR.html">IMMZD2DTMR</a><br/>
<i>Dynamic Values:</i><br/>
status: <i>('draft')</i>
<br/>
intent: <i>('proposal')</i>
<br/>
medication: <i>(Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE13', display: 'Pneumococcal vaccines' } }, display: 'Pneumococcal vaccines' })</i>
<br/>
</td>
</tr>
<tr>
<td>
<b> Check for Guidance for the patient regarding IMMZ.D2.DT.Pneumococcal.3 doses.:</b> Show Guidance for the patient regarding IMMZ.D2.DT.Pneumococcal.3 doses.
<br/>
<b>If:</b>
<i>Applicability:</i>
Has Guidance
<i>(Has Guidance)</i>
<br/>
<b>Then:</b> <i>Definition:</i> <a href="ActivityDefinition-IMMZD2DTCR.html">IMMZ.D2.DT.CR</a><br/>
<i>Dynamic Values:</i><br/>
status: <i>('active')</i>
<br/>
payload.contentString: <i>(Guidance)</i>
<br/>
category.coding: <i>(Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' })</i>
<br/>
priority: <i>(Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' })</i>
<br/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</div>
</text>
<contained>
<Library>
<id value="effective-data-requirements"/>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://smart.who.int/immunizations/CodeSystem/IMMZ.D"/>
<code value="DE251"/>
<display value="At high risk for pneumococcal infection"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://smart.who.int/immunizations/CodeSystem/IMMZ.D"/>
<code value="DE204"/>
<display value="HIV status"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://smart.who.int/immunizations/CodeSystem/IMMZ.D"/>
<code value="DE205"/>
<display value="HIV-positive"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://smart.who.int/immunizations/CodeSystem/IMMZ.D"/>
<code value="DE208"/>
<display value="Preterm birth"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Current Patient Age In Weeks"/>
</extension>
<extension url="statement">
<valueString
value="/**
* @dataElement Patient age in weeks
*/
define "Current Patient Age In Weeks":
AgeInWeeksAt(Today)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="0"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString value="The client's age is less than 6 weeks"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: The client's age is less than 6 weeks
@pseudocode: Today's date − "Date of birth" < 6 weeks
@code: The client's age is less than 6 weeks-40
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "The client's age is less than 6 weeks":
Encounter."Current Patient Age In Weeks" < 6"/>
</extension>
<extension url="displaySequence">
<valueInteger value="1"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is not due for pneumococcal vaccination Case 1"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is not due for pneumococcal vaccination Case 1
@pseudocode: "Immunization recommendation status" = "Not due"
*/
define "Client is not due for pneumococcal vaccination Case 1":
Encounter."The client's age is less than 6 weeks""/>
</extension>
<extension url="displaySequence">
<valueInteger value="2"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZElements"/>
</extension>
<extension url="name">
<valueString value="Doses Administered to Patient"/>
</extension>
<extension url="statement">
<valueString
value="/**
* @dataElement All Doses Administered to Patient
*/
define "Doses Administered to Patient":
[Immunization] I
where I.status = 'completed'
and I.isSubpotent is not true"/>
</extension>
<extension url="displaySequence">
<valueInteger value="3"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Doses Administered to Patient"/>
</extension>
<extension url="statement">
<valueString
value="/**
* @dataElement All Doses Administered to Patient
*/
define "Doses Administered to Patient":
Elements."Doses Administered to Patient" I
where I.occurrence.toInterval() same day or before Today"/>
</extension>
<extension url="displaySequence">
<valueInteger value="4"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Pneumococcal Doses Administered to Patient"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Pneumococcal containing Doses Administered to Patient
*/
define "Pneumococcal Doses Administered to Patient":
Encounter."Doses Administered to Patient" I
where
I.vaccineCode in Concepts."Pneumococcal vaccines""/>
</extension>
<extension url="displaySequence">
<valueInteger value="5"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Pneumococcal Primary Series Doses Administered to Patient"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Pneumococcal containing Doses Administered to Patient that are in the Primary series
*/
define "Pneumococcal Primary Series Doses Administered to Patient":
"Pneumococcal Doses Administered to Patient".seriesPrimary()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="6"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Number of Pneumococcal Primary Series Doses Administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Number of Pneumococcal Primary Series doses
*/
define "Number of Pneumococcal Primary Series Doses Administered":
Count("Pneumococcal Primary Series Doses Administered to Patient")"/>
</extension>
<extension url="displaySequence">
<valueInteger value="7"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="One pneumococcal primary series dose was administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: One pneumococcal primary series dose was administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Pneumococcal vaccines" and "Type of dose" = "Primary series") = 1
@code: One pneumococcal primary series dose was administered-121
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "One pneumococcal primary series dose was administered":
"Number of Pneumococcal Primary Series Doses Administered" = 1"/>
</extension>
<extension url="displaySequence">
<valueInteger value="8"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Current Patient Age In Years"/>
</extension>
<extension url="statement">
<valueString
value="/**
* @dataElement Patient age in years
*/
define "Current Patient Age In Years":
AgeInYearsAt(Today)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="9"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="The client's age is less than or equal to 5 years"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: The client's age is less than or equal to 5 years
@pseudocode: 'Today's date − "Date of birth" ≤ 5 years
@code: The client's age is less than or equal to 5 years-41
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
*/
define "The client's age is less than or equal to 5 years":
Encounter."Current Patient Age In Years" <= 5"/>
</extension>
<extension url="displaySequence">
<valueInteger value="10"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="The client's age is less than or equal to five years"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: The client's age is less than or equal to five years
@pseudocode: Today's date − "Date of birth" ≤ 5 years
@code: The client's age is less than or equal to five years-40
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "The client's age is less than or equal to five years":
"The client's age is less than or equal to 5 years""/>
</extension>
<extension url="displaySequence">
<valueInteger value="11"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Date of First Pneumococcal Dose"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Date of First Pneumococcal Dose
*/
define "Date of First Pneumococcal Dose":
date from start of "Pneumococcal Doses Administered to Patient".earliest().occurrence.toInterval()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="12"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="The first pneumococcal dose was administered within 12 months post birth"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: The first pneumococcal dose was administered within 12 months post birth
@pseudocode: "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines" AND "Dose number" = 1) − "Date of birth" < 12 months
@code: The first pneumococcal dose was administered within 12 months post birth-131
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "The first pneumococcal dose was administered within 12 months post birth":
AgeInMonthsAt("Date of First Pneumococcal Dose") < 12"/>
</extension>
<extension url="displaySequence">
<valueInteger value="13"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Date of Latest Pneumococcal Dose"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Date of Latest Pneumococcal Dose
*/
define "Date of Latest Pneumococcal Dose":
date from start of "Pneumococcal Doses Administered to Patient".mostRecent().occurrence.toInterval()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="14"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="The latest pneumococcal dose was administered less than 4 weeks ago"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: The latest pneumococcal dose was administered less than 4 weeks ago
@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") < 4 weeks
@code: The latest pneumococcal dose was administered less than 4 weeks ago-104
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "The latest pneumococcal dose was administered less than 4 weeks ago":
"Date of Latest Pneumococcal Dose" is not null
and duration in weeks between "Date of Latest Pneumococcal Dose" and Today < 4"/>
</extension>
<extension url="displaySequence">
<valueInteger value="15"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is not due for pneumococcal vaccination Case 2"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is not due for pneumococcal vaccination Case 2
@pseudocode: "Immunization recommendation status" = "Not due"
*/
define "Client is not due for pneumococcal vaccination Case 2":
Encounter."One pneumococcal primary series dose was administered"
and Encounter."The client's age is less than or equal to five years"
and Encounter."The first pneumococcal dose was administered within 12 months post birth"
and Encounter."The latest pneumococcal dose was administered less than 4 weeks ago""/>
</extension>
<extension url="displaySequence">
<valueInteger value="16"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="The first pneumococcal dose was administered at 12–24 months post birth"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: The first pneumococcal dose was administered at 12–24 months post birth
@pseudocode: 12 months ≤ "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") − "Date of birth" < 24 months
@code: The first pneumococcal dose was administered at 12–24 months post birth-121
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "The first pneumococcal dose was administered at 12–24 months post birth":
AgeInMonthsAt("Date of First Pneumococcal Dose") >= 12
and AgeInMonthsAt("Date of First Pneumococcal Dose") < 24"/>
</extension>
<extension url="displaySequence">
<valueInteger value="17"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZElements"/>
</extension>
<extension url="name">
<valueString
value="At high risk for pneumococcal infection Observation"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: At high risk for pneumococcal infection Observation
*/
define "At high risk for pneumococcal infection Observation":
([Observation: Concepts."At high risk for pneumococcal infection"]).complete()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="18"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="At high risk for pneumococcal infection Observation"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: At high risk for pneumococcal infection Observation
*/
define "At high risk for pneumococcal infection Observation":
Elements."At high risk for pneumococcal infection Observation".encounterOrOnBefore(EncounterId, Today)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="19"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Client is not at high risk for pneumococcal infection"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Client is not at high risk for pneumococcal infection
@pseudocode: "At high risk for pneumococcal infection" = FALSE
*/
define "Client is not at high risk for pneumococcal infection":
exists( "At high risk for pneumococcal infection Observation" O where O.value = false )"/>
</extension>
<extension url="displaySequence">
<valueInteger value="20"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Client is not at high risk for pneumococcal infection"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Client is not at high risk for pneumococcal infection
@pseudocode: "At high risk for pneumococcal infection" = FALSE
@code: Client is not at high risk for pneumococcal infection-49
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "Client is not at high risk for pneumococcal infection":
Encounter."Client is not at high risk for pneumococcal infection""/>
</extension>
<extension url="displaySequence">
<valueInteger value="21"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is not due for pneumococcal vaccination Case 3"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is not due for pneumococcal vaccination Case 3
@pseudocode: "Immunization recommendation status" = "Not due"
*/
define "Client is not due for pneumococcal vaccination Case 3":
Encounter."One pneumococcal primary series dose was administered"
and Encounter."The client's age is less than or equal to five years"
and Encounter."The first pneumococcal dose was administered at 12–24 months post birth"
and Encounter."The latest pneumococcal dose was administered less than 4 weeks ago"
and Encounter."Client is not at high risk for pneumococcal infection""/>
</extension>
<extension url="displaySequence">
<valueInteger value="22"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="The latest pneumococcal dose was administered less than 8 weeks ago"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: The latest pneumococcal dose was administered less than 8 weeks ago
@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") < 8 weeks
@code: The latest pneumococcal dose was administered less than 8 weeks ago-104
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "The latest pneumococcal dose was administered less than 8 weeks ago":
"Date of Latest Pneumococcal Dose" is not null
and duration in weeks between "Date of Latest Pneumococcal Dose" and Today < 8"/>
</extension>
<extension url="displaySequence">
<valueInteger value="23"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Client is at high risk for pneumococcal infection"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Client is at high risk for pneumococcal infection
@pseudocode: "At high risk for pneumococcal infection" = TRUE
*/
define "Client is at high risk for pneumococcal infection":
exists( "At high risk for pneumococcal infection Observation" O where O.value = true )"/>
</extension>
<extension url="displaySequence">
<valueInteger value="24"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Client is at high risk for pneumococcal infection"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Client is at high risk for pneumococcal infection
@pseudocode: "At high risk for pneumococcal infection" = TRUE
@code: Client is at high risk for pneumococcal infection-48
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "Client is at high risk for pneumococcal infection":
Encounter."Client is at high risk for pneumococcal infection""/>
</extension>
<extension url="displaySequence">
<valueInteger value="25"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is not due for pneumococcal vaccination Case 4"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is not due for pneumococcal vaccination Case 4
@pseudocode: "Immunization recommendation status" = "Not due"
*/
define "Client is not due for pneumococcal vaccination Case 4":
Encounter."One pneumococcal primary series dose was administered"
and Encounter."The client's age is less than or equal to five years"
and Encounter."The first pneumococcal dose was administered at 12–24 months post birth"
and Encounter."The latest pneumococcal dose was administered less than 8 weeks ago"
and Encounter."Client is at high risk for pneumococcal infection""/>
</extension>
<extension url="displaySequence">
<valueInteger value="26"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="The first pneumococcal dose was administered after 24 months post birth"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: The first pneumococcal dose was administered after 24 months post birth
@pseudocode: "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") − "Date of birth" ≥ 24 months
@code: The first pneumococcal dose was administered after 24 months post birth-109
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "The first pneumococcal dose was administered after 24 months post birth":
AgeInMonthsAt("Date of First Pneumococcal Dose") >= 24"/>
</extension>
<extension url="displaySequence">
<valueInteger value="27"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is not due for pneumococcal vaccination Case 5"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is not due for pneumococcal vaccination Case 5
@pseudocode: "Immunization recommendation status" = "Not due"
*/
define "Client is not due for pneumococcal vaccination Case 5":
Encounter."One pneumococcal primary series dose was administered"
and Encounter."The client's age is less than or equal to five years"
and Encounter."The first pneumococcal dose was administered after 24 months post birth"
and Encounter."The latest pneumococcal dose was administered less than 8 weeks ago"
and Encounter."Client is at high risk for pneumococcal infection""/>
</extension>
<extension url="displaySequence">
<valueInteger value="28"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Two pneumococcal primary series doses were administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Two pneumococcal primary series doses were administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Pneumococcal vaccines" and "Type of dose" = "Primary series") = 2
@code: Two pneumococcal primary series doses were administered-121
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "Two pneumococcal primary series doses were administered":
"Number of Pneumococcal Primary Series Doses Administered" = 2"/>
</extension>
<extension url="displaySequence">
<valueInteger value="29"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is not due for pneumococcal vaccination Case 6"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is not due for pneumococcal vaccination Case 6
@pseudocode: "Immunization recommendation status" = "Not due"
*/
define "Client is not due for pneumococcal vaccination Case 6":
Encounter."Two pneumococcal primary series doses were administered"
and Encounter."The client's age is less than or equal to five years"
and Encounter."The first pneumococcal dose was administered within 12 months post birth"
and Encounter."The latest pneumococcal dose was administered less than 4 weeks ago""/>
</extension>
<extension url="displaySequence">
<valueInteger value="30"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is not due for pneumococcal vaccination"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is not due for pneumococcal vaccination
@pseudocode: "Immunization recommendation status" = "Not due"
*/
define "Client is not due for pneumococcal vaccination":
"Client is not due for pneumococcal vaccination Case 1"
or "Client is not due for pneumococcal vaccination Case 2"
or "Client is not due for pneumococcal vaccination Case 3"
or "Client is not due for pneumococcal vaccination Case 4"
or "Client is not due for pneumococcal vaccination Case 5"
or "Client is not due for pneumococcal vaccination Case 6""/>
</extension>
<extension url="displaySequence">
<valueInteger value="31"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is not due for pneumococcal vaccination Guidance"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is not due for pneumococcal vaccination Guidance
@guidance = Should not vaccinate client with first pneumococcal dose as client's age is less than 6 weeks.
Check for any other vaccines due and inform the caregiver of when to come back for the next dose.
@guidance = Should not vaccinate client with second pneumococcal dose as the latest pneumococcal dose was administered less than 4 weeks ago.
Check for any other vaccines due and inform the caregiver of when to come back for the next dose.
@guidance = Should not vaccinate client with second pneumococcal dose as the latest pneumococcal dose was administered less than 4 weeks ago. Check for any other vaccines due and inform the caregiver of when to come back for the next dose.
@guidance = Should not vaccinate client with second pneumococcal dose as the latest pneumococcal dose was administered less than 8 weeks ago and client is at high risk for pneumococcal infection.
Check for any other vaccines due and inform the caregiver of when to come back for the next dose.
@guidance = Should not vaccinate client with second pneumococcal dose as the latest pneumococcal dose was administered less than 8 weeks ago and client is at high risk for pneumococcal infection.
Check for any other vaccines due and inform the caregiver of when to come back for the next dose.
@guidance = Should not vaccinate client with third pneumococcal dose as client's age is less than 5 years and latest pneumococcal dose was administered less than 4 weeks ago.
Check for any vaccines due and inform the caregiver of when to come back for the next dose
*/
define "Client is not due for pneumococcal vaccination Guidance":
case
when "Client is not due for pneumococcal vaccination Case 1" then 'Should not vaccinate client with first pneumococcal dose as client\'s age is less than 6 weeks.
Check for any other vaccines due and inform the caregiver of when to come back for the next dose.'
when "Client is not due for pneumococcal vaccination Case 2" then 'Should not vaccinate client with second pneumococcal dose as the latest pneumococcal dose was administered less than 4 weeks ago.
Check for any other vaccines due and inform the caregiver of when to come back for the next dose.'
when "Client is not due for pneumococcal vaccination Case 3" then 'Should not vaccinate client with second pneumococcal dose as the latest pneumococcal dose was administered less than 4 weeks ago. Check for any other vaccines due and inform the caregiver of when to come back for the next dose.'
when "Client is not due for pneumococcal vaccination Case 4" then 'Should not vaccinate client with second pneumococcal dose as the latest pneumococcal dose was administered less than 8 weeks ago and client is at high risk for pneumococcal infection.
Check for any other vaccines due and inform the caregiver of when to come back for the next dose.'
when "Client is not due for pneumococcal vaccination Case 5" then 'Should not vaccinate client with second pneumococcal dose as the latest pneumococcal dose was administered less than 8 weeks ago and client is at high risk for pneumococcal infection.
Check for any other vaccines due and inform the caregiver of when to come back for the next dose.'
when "Client is not due for pneumococcal vaccination Case 6" then 'Should not vaccinate client with third pneumococcal dose as client\'s age is less than 5 years and latest pneumococcal dose was administered less than 4 weeks ago.
Check for any vaccines due and inform the caregiver of when to come back for the next dose'
else ''
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="32"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="No pneumococcal primary series doses were administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: No pneumococcal primary series doses were administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Pneumococcal vaccines" and "Type of dose" = "Primary series") = 0
@code: No pneumococcal primary series doses were administered-121
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "No pneumococcal primary series doses were administered":
"Number of Pneumococcal Primary Series Doses Administered" = 0"/>
</extension>
<extension url="displaySequence">
<valueInteger value="33"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="The client's age is between 6 weeks and 5 years"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: The client's age is between 6 weeks and 5 years
@pseudocode: 6 weeks ≤ Today's date − "Date of birth" ≤ 5 years
@code: The client's age is between 6 weeks and 5 years-50
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "The client's age is between 6 weeks and 5 years":
6 <= Encounter."Current Patient Age In Weeks"
and Encounter."Current Patient Age In Years" <= 5"/>
</extension>
<extension url="displaySequence">
<valueInteger value="34"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is due for pneumococcal vaccination Case 1"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is due for pneumococcal vaccination Case 1
@pseudocode: "Immunization recommendation status" = "Due"
*/
define "Client is due for pneumococcal vaccination Case 1":
Encounter."No pneumococcal primary series doses were administered"
and Encounter."The client's age is between 6 weeks and 5 years""/>
</extension>
<extension url="displaySequence">
<valueInteger value="35"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="The latest pneumococcal dose was administered more than 4 weeks ago"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: The latest pneumococcal dose was administered more than 4 weeks ago
@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") ≥ 4 weeks
@code: The latest pneumococcal dose was administered more than 4 weeks ago-104
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "The latest pneumococcal dose was administered more than 4 weeks ago":
not "The latest pneumococcal dose was administered less than 4 weeks ago""/>
</extension>
<extension url="displaySequence">
<valueInteger value="36"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is due for pneumococcal vaccination Case 2"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is due for pneumococcal vaccination Case 2
@pseudocode: "Immunization recommendation status" = "Due"
*/
define "Client is due for pneumococcal vaccination Case 2":
Encounter."One pneumococcal primary series dose was administered"
and Encounter."The client's age is less than or equal to five years"
and Encounter."The first pneumococcal dose was administered within 12 months post birth"
and Encounter."The latest pneumococcal dose was administered more than 4 weeks ago""/>
</extension>
<extension url="displaySequence">
<valueInteger value="37"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is due for pneumococcal vaccination Case 3"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is due for pneumococcal vaccination Case 3
@pseudocode: "Immunization recommendation status" = "Due"
*/
define "Client is due for pneumococcal vaccination Case 3":
Encounter."One pneumococcal primary series dose was administered"
and Encounter."The client's age is less than or equal to five years"
and Encounter."The first pneumococcal dose was administered at 12–24 months post birth"
and Encounter."The latest pneumococcal dose was administered more than 4 weeks ago"
and Encounter."Client is not at high risk for pneumococcal infection""/>
</extension>
<extension url="displaySequence">
<valueInteger value="38"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="The latest pneumococcal dose was administered more than 8 weeks ago"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: The latest pneumococcal dose was administered more than 8 weeks ago
@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") ≥ 8 weeks
@code: The latest pneumococcal dose was administered more than 8 weeks ago-104
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "The latest pneumococcal dose was administered more than 8 weeks ago":
not "The latest pneumococcal dose was administered less than 8 weeks ago""/>
</extension>
<extension url="displaySequence">
<valueInteger value="39"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is due for pneumococcal vaccination Case 4"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is due for pneumococcal vaccination Case 4
@pseudocode: "Immunization recommendation status" = "Due"
*/
define "Client is due for pneumococcal vaccination Case 4":
Encounter."One pneumococcal primary series dose was administered"
and Encounter."The client's age is less than or equal to five years"
and Encounter."The first pneumococcal dose was administered at 12–24 months post birth"
and Encounter."The latest pneumococcal dose was administered more than 8 weeks ago"
and Encounter."Client is at high risk for pneumococcal infection""/>
</extension>
<extension url="displaySequence">
<valueInteger value="40"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is due for pneumococcal vaccination Case 5"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is due for pneumococcal vaccination Case 5
@pseudocode: "Immunization recommendation status" = "Due"
*/
define "Client is due for pneumococcal vaccination Case 5":
Encounter."One pneumococcal primary series dose was administered"
and Encounter."The client's age is less than or equal to five years"
and Encounter."The first pneumococcal dose was administered after 24 months post birth"
and Encounter."The latest pneumococcal dose was administered more than 8 weeks ago"
and Encounter."Client is at high risk for pneumococcal infection""/>
</extension>
<extension url="displaySequence">
<valueInteger value="41"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is due for pneumococcal vaccination Case 6"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is due for pneumococcal vaccination Case 6
@pseudocode: "Immunization recommendation status" = "Due"
*/
define "Client is due for pneumococcal vaccination Case 6":
Encounter."Two pneumococcal primary series doses were administered"
and Encounter."The client's age is less than or equal to five years"
and Encounter."The first pneumococcal dose was administered within 12 months post birth"
and Encounter."The latest pneumococcal dose was administered more than 4 weeks ago""/>
</extension>
<extension url="displaySequence">
<valueInteger value="42"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString value="Client is due for pneumococcal vaccination"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is due for pneumococcal vaccination
@pseudocode: "Immunization recommendation status" = "Due"
*/
define "Client is due for pneumococcal vaccination":
"Client is due for pneumococcal vaccination Case 1"
or "Client is due for pneumococcal vaccination Case 2"
or "Client is due for pneumococcal vaccination Case 3"
or "Client is due for pneumococcal vaccination Case 4"
or "Client is due for pneumococcal vaccination Case 5"
or "Client is due for pneumococcal vaccination Case 6""/>
</extension>
<extension url="displaySequence">
<valueInteger value="43"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is due for pneumococcal vaccination Guidance"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is due for pneumococcal vaccination Guidance
@guidance = Should vaccinate client with first pneumococcal dose as no pneumococcal doses were administered and client is within the appropriate age range.
Check for contraindications.
@guidance = Should vaccinate client with second pneumococcal dose as first dose was administered within 12 months post birth and latest pneumococcal dose was administered more than 4 weeks ago.
Check for contraindications.
@guidance = Should vaccinate client with second pneumococcal dose as the latest pneumococcal dose was administered more than 4 weeks ago and client is not at high risk for pneumococcal infection.
Check for contraindications.
@guidance = Should vaccinate client with second pneumococcal dose as the latest pneumococcal dose was administered more than 8 weeks ago and client is at high risk for pneumococcal infection.
Check for contraindications.
@guidance = Should vaccinate client with second pneumococcal dose as first dose was administered 24 months post birth, latest pneumococcal dose was administered more than 8 weeks ago and client is at high risk for pneumococcal infection.
Check for contraindications.
@guidance = Should vaccinate client with third pneumococcal dose as client's age is less than 5 yers and latest pneumococcal dose was administered more than 4 weeks ago.
Check for contraindications.
*/
define "Client is due for pneumococcal vaccination Guidance":
case
when "Client is due for pneumococcal vaccination Case 1" then 'Should vaccinate client with first pneumococcal dose as no pneumococcal doses were administered and client is within the appropriate age range.
Check for contraindications.'
when "Client is due for pneumococcal vaccination Case 2" then 'Should vaccinate client with second pneumococcal dose as first dose was administered within 12 months post birth and latest pneumococcal dose was administered more than 4 weeks ago.
Check for contraindications.'
when "Client is due for pneumococcal vaccination Case 3" then 'Should vaccinate client with second pneumococcal dose as the latest pneumococcal dose was administered more than 4 weeks ago and client is not at high risk for pneumococcal infection.
Check for contraindications.'
when "Client is due for pneumococcal vaccination Case 4" then 'Should vaccinate client with second pneumococcal dose as the latest pneumococcal dose was administered more than 8 weeks ago and client is at high risk for pneumococcal infection.
Check for contraindications.'
when "Client is due for pneumococcal vaccination Case 5" then 'Should vaccinate client with second pneumococcal dose as first dose was administered 24 months post birth, latest pneumococcal dose was administered more than 8 weeks ago and client is at high risk for pneumococcal infection.
Check for contraindications.'
when "Client is due for pneumococcal vaccination Case 6" then 'Should vaccinate client with third pneumococcal dose as client\'s age is less than 5 yers and latest pneumococcal dose was administered more than 4 weeks ago.
Check for contraindications.'
else ''
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="44"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Pneumococcal immunization schedule is complete Case 1"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Pneumococcal immunization schedule is complete Case 1
@pseudocode: "Immunization recommendation status" = "Complete"
"Completed the primary vaccination series" = TRUE (where "Vaccine type" = "Pneumococcal vaccines")
*/
define "Pneumococcal immunization schedule is complete Case 1":
Encounter."One pneumococcal primary series dose was administered"
and Encounter."The client's age is less than or equal to five years"
and Encounter."The first pneumococcal dose was administered after 24 months post birth"
and Encounter."Client is not at high risk for pneumococcal infection""/>
</extension>
<extension url="displaySequence">
<valueInteger value="45"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="The first pneumococcal dose was administered after 12 months post birth"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: The first pneumococcal dose was administered after 12 months post birth
@pseudocode: "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines" AND "Dose number" = 1) − "Date of birth" ≥ 12 months
@code: The first pneumococcal dose was administered after 12 months post birth-131
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "The first pneumococcal dose was administered after 12 months post birth":
AgeInMonthsAt("Date of First Pneumococcal Dose") >= 12"/>
</extension>
<extension url="displaySequence">
<valueInteger value="46"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Pneumococcal immunization schedule is complete Case 2"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Pneumococcal immunization schedule is complete Case 2
@pseudocode: "Immunization recommendation status" = "Complete"
"Completed the primary vaccination series" = TRUE (where "Vaccine type" = "Pneumococcal vaccines")
*/
define "Pneumococcal immunization schedule is complete Case 2":
Encounter."Two pneumococcal primary series doses were administered"
and Encounter."The client's age is less than or equal to five years"
and Encounter."The first pneumococcal dose was administered after 12 months post birth""/>
</extension>
<extension url="displaySequence">
<valueInteger value="47"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Three pneumococcal primary series doses were administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Three pneumococcal primary series doses were administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Pneumococcal vaccines" and "Type of dose" = "Primary series") = 3
@code: Three pneumococcal primary series doses were administered-121
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "Three pneumococcal primary series doses were administered":
"Number of Pneumococcal Primary Series Doses Administered" = 3"/>
</extension>
<extension url="displaySequence">
<valueInteger value="48"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Pneumococcal Booster Series Doses Administered to Patient"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Pneumococcal Booster Series Doses Administered to Patient
*/
define "Pneumococcal Booster Series Doses Administered to Patient":
"Pneumococcal Doses Administered to Patient".seriesBooster()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="49"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Number of Pneumococcal Booster Series Doses Administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Number of Pneumococcal Booster Series Doses Administered
*/
define "Number of Pneumococcal Booster Series Doses Administered":
Count("Pneumococcal Booster Series Doses Administered to Patient")"/>
</extension>
<extension url="displaySequence">
<valueInteger value="50"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString value="No pneumococcal booster dose was administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: No pneumococcal booster dose was administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Pneumococcal vaccines" and "Type of dose" = "Booster dose") = 0
@code: No pneumococcal booster dose was administered-119
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "No pneumococcal booster dose was administered":
"Number of Pneumococcal Booster Series Doses Administered" = 0"/>
</extension>
<extension url="displaySequence">
<valueInteger value="51"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Current Patient Age In Months"/>
</extension>
<extension url="statement">
<valueString
value="/**
* @dataElement Patient age in months
*/
define "Current Patient Age In Months":
AgeInMonthsAt(Today)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="52"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString value="The client's age is less than 24 months"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: The client's age is less than 24 months
@pseudocode: Today's date − "Date of birth" < 24 months
@code: The client's age is less than 24 months-42
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "The client's age is less than 24 months":
Encounter."Current Patient Age In Months" < 24"/>
</extension>
<extension url="displaySequence">
<valueInteger value="53"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="The latest pneumococcal dose was administered after 12 months post birth"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: The latest pneumococcal dose was administered after 12 months post birth
@pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") − "Date of birth" ≥ 12 months
@code: The latest pneumococcal dose was administered after 12 months post birth-116
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "The latest pneumococcal dose was administered after 12 months post birth":
AgeInMonthsAt("Date of Latest Pneumococcal Dose") >= 12"/>
</extension>
<extension url="displaySequence">
<valueInteger value="54"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Pneumococcal immunization schedule is complete Case 3"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Pneumococcal immunization schedule is complete Case 3
@pseudocode: "Immunization recommendation status" = "Complete"
"Completed the primary vaccination series" = TRUE (where "Vaccine type" = "Pneumococcal vaccines")
*/
define "Pneumococcal immunization schedule is complete Case 3":
Encounter."Three pneumococcal primary series doses were administered"
and Encounter."No pneumococcal booster dose was administered"
and Encounter."The client's age is less than 24 months"
and Encounter."The latest pneumococcal dose was administered after 12 months post birth""/>
</extension>
<extension url="displaySequence">
<valueInteger value="55"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZElements"/>
</extension>
<extension url="name">
<valueString value="HIV status Observation"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: HIV Status Observation
*/
define "HIV status Observation":
([Observation: Concepts."HIV status"]).complete()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="56"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Client's HIV status is positive"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Client's HIV status is positive
@pseudocode: "HIV status" = "HIV-positive"
*/
define "Client's HIV status is positive":
exists( (Elements."HIV status Observation".encounterOrOnBefore(EncounterId, Today)) O
where O.value ~ Concepts."HIV-positive" )"/>
</extension>
<extension url="displaySequence">
<valueInteger value="57"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Client's HIV status is negative or unknown"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Client's HIV status is negative or unknown
@pseudocode: "HIV status" ≠ "HIV-positive"
*/
define "Client's HIV status is negative or unknown":
not "Client's HIV status is positive""/>
</extension>
<extension url="displaySequence">
<valueInteger value="58"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Client's HIV status is negative or unknown"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Client's HIV status is negative or unknown
@pseudocode: "HIV status" ≠ "HIV-positive"
@code: Client's HIV status is negative or unknown-29
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "Client's HIV status is negative or unknown":
Encounter."Client's HIV status is negative or unknown""/>
</extension>
<extension url="displaySequence">
<valueInteger value="59"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZElements"/>
</extension>
<extension url="name">
<valueString value="Preterm birth Observation"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Preterm birth Observation
*/
define "Preterm birth Observation":
([Observation: Concepts."Preterm birth"]).complete()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="60"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Preterm birth Observation"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Preterm birth Observation
*/
define "Preterm birth Observation":
Elements."Preterm birth Observation".encounterOrOnBefore(EncounterId, Today)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="61"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Client was a premature infant at birth"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Client was a premature infant at birth
@pseudocode: "Preterm birth" = TRUE
*/
define "Client was a premature infant at birth":
exists( "Preterm birth Observation" O where O.value = true )"/>
</extension>
<extension url="displaySequence">
<valueInteger value="62"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Client was not a premature infant at birth"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Client was not a premature infant at birth
@pseudocode: "Preterm birth" ≠ TRUE
*/
define "Client was not a premature infant at birth":
not("Client was a premature infant at birth")"/>
</extension>
<extension url="displaySequence">
<valueInteger value="63"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Client did not have preterm birth"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Client did not have preterm birth
@pseudocode: "Preterm birth" ≠ TRUE
@code: Client did not have preterm birth-22
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "Client did not have preterm birth":
Encounter."Client was not a premature infant at birth""/>
</extension>
<extension url="displaySequence">
<valueInteger value="64"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Pneumococcal immunization schedule is complete Case 4"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Pneumococcal immunization schedule is complete Case 4
@pseudocode: "Immunization recommendation status" = "Complete"
"Completed the primary vaccination series" = TRUE (where "Vaccine type" = "Pneumococcal vaccines")
*/
define "Pneumococcal immunization schedule is complete Case 4":
Encounter."Three pneumococcal primary series doses were administered"
and Encounter."No pneumococcal booster dose was administered"
and Encounter."The client's age is less than 24 months"
and Encounter."Client's HIV status is negative or unknown"
and Encounter."Client did not have preterm birth""/>
</extension>
<extension url="displaySequence">
<valueInteger value="65"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="The client's age is more than or equal to 24 months"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: The client's age is more than or equal to 24 months
@pseudocode: Today's date − "Date of birth" ≥ 24 months
@code: The client's age is more than or equal to 24 months-42
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "The client's age is more than or equal to 24 months":
Encounter."Current Patient Age In Months" >= 24"/>
</extension>
<extension url="displaySequence">
<valueInteger value="66"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Pneumococcal immunization schedule is complete Case 5"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Pneumococcal immunization schedule is complete Case 5
@pseudocode: "Immunization recommendation status" = "Complete"
"Completed the primary vaccination series" = TRUE (where "Vaccine type" = "Pneumococcal vaccines")
*/
define "Pneumococcal immunization schedule is complete Case 5":
Encounter."Three pneumococcal primary series doses were administered"
and Encounter."No pneumococcal booster dose was administered"
and Encounter."The client's age is more than or equal to 24 months""/>
</extension>
<extension url="displaySequence">
<valueInteger value="67"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="One pneumococcal booster dose was administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: One pneumococcal booster dose was administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Pneumococcal vaccines" and "Type of dose" = "Booster dose") = 1
@code: One pneumococcal booster dose was administered-119
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "One pneumococcal booster dose was administered":
"Number of Pneumococcal Booster Series Doses Administered" = 1"/>
</extension>
<extension url="displaySequence">
<valueInteger value="68"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Pneumococcal immunization schedule is complete Case 6"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Pneumococcal immunization schedule is complete Case 6
@pseudocode: "Immunization recommendation status" = "Complete"
*/
define "Pneumococcal immunization schedule is complete Case 6":
Encounter."Three pneumococcal primary series doses were administered"
and Encounter."One pneumococcal booster dose was administered""/>
</extension>
<extension url="displaySequence">
<valueInteger value="69"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Pneumococcal immunization schedule is complete"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Pneumococcal immunization schedule is complete
@pseudocode: "Immunization recommendation status" = "Complete"
"Completed the primary vaccination series" = TRUE (where "Vaccine type" = "Pneumococcal vaccines")
*/
define "Pneumococcal immunization schedule is complete":
"Pneumococcal immunization schedule is complete Case 1"
or "Pneumococcal immunization schedule is complete Case 2"
or "Pneumococcal immunization schedule is complete Case 3"
or "Pneumococcal immunization schedule is complete Case 4"
or "Pneumococcal immunization schedule is complete Case 5"
or "Pneumococcal immunization schedule is complete Case 6""/>
</extension>
<extension url="displaySequence">
<valueInteger value="70"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Pneumococcal immunization schedule is complete Guidance"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Pneumococcal immunization schedule is complete Guidance
@guidance = Pneumococcal immunization schedule is complete. One pneumococcal dose was administered.
Check for any other vaccines due.
@guidance = Pneumococcal immunization schedule is complete. Two pneumococcal pneumococcal doses were administered.
Check for any other vaccines due.
@guidance = Pneumococcal immunization schedule is complete. Three pneumococcal primary serie doses were administered.
Check for any other vaccines due.
@guidance = Pneumococcal immunization schedule is complete. Three pneumococcal primary series doses were administered.
Check for any other vaccines due.
@guidance = Pneumococcal immunization schedule is complete. Three pneumococcal primary series doses were administered.
Check for any other vaccines due.
@guidance = Pneumococcal immunization schedule is complete. Three pneumococcal primary series doses and one booster dose were administered.
Check for any other vaccines due.
*/
define "Pneumococcal immunization schedule is complete Guidance":
case
when "Pneumococcal immunization schedule is complete Case 1" then 'Pneumococcal immunization schedule is complete. One pneumococcal dose was administered.
Check for any other vaccines due.'
when "Pneumococcal immunization schedule is complete Case 2" then 'Pneumococcal immunization schedule is complete. Two pneumococcal pneumococcal doses were administered.
Check for any other vaccines due.'
when "Pneumococcal immunization schedule is complete Case 3" then 'Pneumococcal immunization schedule is complete. Three pneumococcal primary serie doses were administered.
Check for any other vaccines due.'
when "Pneumococcal immunization schedule is complete Case 4" then 'Pneumococcal immunization schedule is complete. Three pneumococcal primary series doses were administered.
Check for any other vaccines due.'
when "Pneumococcal immunization schedule is complete Case 5" then 'Pneumococcal immunization schedule is complete. Three pneumococcal primary series doses were administered.
Check for any other vaccines due.'
when "Pneumococcal immunization schedule is complete Case 6" then 'Pneumococcal immunization schedule is complete. Three pneumococcal primary series doses and one booster dose were administered.
Check for any other vaccines due.'
else ''
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="71"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="The latest pneumococcal dose was administered within 12 months post birth"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: The latest pneumococcal dose was administered within 12 months post birth
@pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") − "Date of birth" < 12 months
@code: The latest pneumococcal dose was administered within 12 months post birth-116
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "The latest pneumococcal dose was administered within 12 months post birth":
AgeInMonthsAt("Date of Latest Pneumococcal Dose") < 12"/>
</extension>
<extension url="displaySequence">
<valueInteger value="72"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Client's HIV status is positive"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Client's HIV status is positive
@pseudocode: "HIV status" = "HIV-positive"
@code: Client's HIV status is positive-29
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "Client's HIV status is positive":
Encounter."Client's HIV status is positive""/>
</extension>
<extension url="displaySequence">
<valueInteger value="73"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is not due for pneumococcal booster dose Case 1"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is not due for pneumococcal booster dose Case 1
@pseudocode: "Immunization recommendation status" = "Not due"
*/
define "Client is not due for pneumococcal booster dose Case 1":
Encounter."Three pneumococcal primary series doses were administered"
and Encounter."No pneumococcal booster dose was administered"
and Encounter."The client's age is less than 24 months"
and Encounter."The latest pneumococcal dose was administered within 12 months post birth"
and Encounter."The latest pneumococcal dose was administered less than 8 weeks ago"
and Encounter."Client's HIV status is positive""/>
</extension>
<extension url="displaySequence">
<valueInteger value="74"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Client had preterm birth"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Client had preterm birth
@pseudocode: "Preterm birth" = TRUE
@code: Client had preterm birth-22
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "Client had preterm birth":
Encounter."Client was a premature infant at birth""/>
</extension>
<extension url="displaySequence">
<valueInteger value="75"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is not due for pneumococcal booster dose Case 2"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is not due for pneumococcal booster dose Case 2
@pseudocode: "Immunization recommendation status" = "Not due"
*/
define "Client is not due for pneumococcal booster dose Case 2":
Encounter."Three pneumococcal primary series doses were administered"
and Encounter."No pneumococcal booster dose was administered"
and Encounter."The client's age is less than 24 months"
and Encounter."The latest pneumococcal dose was administered within 12 months post birth"
and Encounter."The latest pneumococcal dose was administered less than 8 weeks ago"
and Encounter."Client had preterm birth""/>
</extension>
<extension url="displaySequence">
<valueInteger value="76"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is not due for pneumococcal booster dose"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is not due for pneumococcal booster dose
@pseudocode: "Immunization recommendation status" = "Not due"
*/
define "Client is not due for pneumococcal booster dose":
"Client is not due for pneumococcal booster dose Case 1"
or "Client is not due for pneumococcal booster dose Case 2""/>
</extension>
<extension url="displaySequence">
<valueInteger value="77"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is not due for pneumococcal booster dose Guidance"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is not due for pneumococcal booster dose Guidance
@guidance = Should not vaccinate client with pneumococcal booster dose as latest pneumococcal dose was administered within 12 months post birth and administered less than 8 weeks ago.
Check for any other vaccines due and inform the caregiver of when to come back for the next dose.
@guidance = Should not vaccinate client with pneumococcal booster dose as latest pneumococcal dose was administered within 12 months post birth and administered less than 8 weeks ago.
Check for any other vaccines due and inform the caregiver of when to come back for the next dose.
*/
define "Client is not due for pneumococcal booster dose Guidance":
case
when "Client is not due for pneumococcal booster dose Case 1" then 'Should not vaccinate client with pneumococcal booster dose as latest pneumococcal dose was administered within 12 months post birth and administered less than 8 weeks ago.
Check for any other vaccines due and inform the caregiver of when to come back for the next dose.'
when "Client is not due for pneumococcal booster dose Case 2" then 'Should not vaccinate client with pneumococcal booster dose as latest pneumococcal dose was administered within 12 months post birth and administered less than 8 weeks ago.
Check for any other vaccines due and inform the caregiver of when to come back for the next dose.'
else ''
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="78"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is due for pneumococcal booster dose Case 1"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is due for pneumococcal booster dose Case 1
@pseudocode: "Immunization recommendation status" = "Due"
*/
define "Client is due for pneumococcal booster dose Case 1":
Encounter."Three pneumococcal primary series doses were administered"
and Encounter."No pneumococcal booster dose was administered"
and Encounter."The client's age is less than 24 months"
and Encounter."The latest pneumococcal dose was administered within 12 months post birth"
and Encounter."The latest pneumococcal dose was administered more than 8 weeks ago"
and Encounter."Client's HIV status is positive""/>
</extension>
<extension url="displaySequence">
<valueInteger value="79"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is due for pneumococcal booster dose Case 2"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is due for pneumococcal booster dose Case 2
@pseudocode: "Immunization recommendation status" = "Due"
*/
define "Client is due for pneumococcal booster dose Case 2":
Encounter."Three pneumococcal primary series doses were administered"
and Encounter."No pneumococcal booster dose was administered"
and Encounter."The client's age is less than 24 months"
and Encounter."The latest pneumococcal dose was administered within 12 months post birth"
and Encounter."The latest pneumococcal dose was administered more than 8 weeks ago"
and Encounter."Client had preterm birth""/>
</extension>
<extension url="displaySequence">
<valueInteger value="80"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString value="Client is due for pneumococcal booster dose"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is due for pneumococcal booster dose
@pseudocode: "Immunization recommendation status" = "Due"
*/
define "Client is due for pneumococcal booster dose":
"Client is due for pneumococcal booster dose Case 1"
or "Client is due for pneumococcal booster dose Case 2""/>
</extension>
<extension url="displaySequence">
<valueInteger value="81"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Client is due for pneumococcal booster dose Guidance"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Client is due for pneumococcal booster dose Guidance
@guidance = Should vaccinate client with pneumococcal booster dose as client is HIV positive and latest pneumococcal dose was administered within 12 months post birth and administered more than 8 weeks ago .
Check for contraindications.
@guidance = Should vaccinate client with pneumococcal booster dose as client had preterm birth and latest pneumococcal dose was administered within 12 months post birth and administered more than 8 weeks ago.
Check for contraindications.
*/
define "Client is due for pneumococcal booster dose Guidance":
case
when "Client is due for pneumococcal booster dose Case 1" then 'Should vaccinate client with pneumococcal booster dose as client is HIV positive and latest pneumococcal dose was administered within 12 months post birth and administered more than 8 weeks ago .
Check for contraindications.'
when "Client is due for pneumococcal booster dose Case 2" then 'Should vaccinate client with pneumococcal booster dose as client had preterm birth and latest pneumococcal dose was administered within 12 months post birth and administered more than 8 weeks ago.
Check for contraindications.'
else ''
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="82"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcalEncounterElements"/>
</extension>
<extension url="name">
<valueString value="The client's age is more than 5 years"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: The client's age is more than 5 years
@pseudocode: Today's date − "Date of birth" > 5 years
@code: The client's age is more than 5 years-40
@decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
@decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0)
*/
define "The client's age is more than 5 years":
Encounter."Current Patient Age In Months" > 5"/>
</extension>
<extension url="displaySequence">
<valueInteger value="83"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Clinical judgement is required. Create a clinical note."/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Clinical judgement is required. Create a clinical note.
@pseudocode: "Immunization recommendation status" = "Further evaluation needed"
*/
define "Clinical judgement is required. Create a clinical note.":
Encounter."The client's age is more than 5 years""/>
</extension>
<extension url="displaySequence">
<valueInteger value="84"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString
value="Clinical judgement is required. Create a clinical note. Guidance"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Clinical judgement is required. Create a clinical note. Guidance
@guidance: Members States should update this action according to the national immunization programme
*/
define "Clinical judgement is required. Create a clinical note. Guidance":
'Members States should update this action according to the national immunization programme'"/>
</extension>
<extension url="displaySequence">
<valueInteger value="85"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString value="Guidance"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dynamicValue: Guidance
*/
define "Guidance":
case
when "Client is not due for pneumococcal vaccination" then "Client is not due for pneumococcal vaccination Guidance"
when "Client is due for pneumococcal vaccination" then "Client is due for pneumococcal vaccination Guidance"
when "Pneumococcal immunization schedule is complete" then "Pneumococcal immunization schedule is complete Guidance"
when "Client is not due for pneumococcal booster dose" then "Client is not due for pneumococcal booster dose Guidance"
when "Client is due for pneumococcal booster dose" then "Client is due for pneumococcal booster dose Guidance"
when "Clinical judgement is required. Create a clinical note." then "Clinical judgement is required. Create a clinical note. Guidance"
else ''
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="86"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTPneumococcal3DosesLogic"/>
</extension>
<extension url="name">
<valueString value="Has Guidance"/>
</extension>
<extension url="statement">
<valueString
value="define "Has Guidance":
"Guidance" is not null and "Guidance" != ''"/>
</extension>
<extension url="displaySequence">
<valueInteger value="87"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZCommon"/>
</extension>
<extension url="name">
<valueString value="seriesPrimary"/>
</extension>
<extension url="statement">
<valueString
value="/**
* @description: Gets the doses from the primary series
*/
define fluent function seriesPrimary(immunizations List<Immunization>):
immunizations I where
exists( I.protocolApplied pa where pa.series = 'Primary series' )"/>
</extension>
<extension url="displaySequence">
<valueInteger value="88"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value string): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="89"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value ImmunizationStatus): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="90"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToBoolean"/>
</extension>
<extension url="statement">
<valueString
value="define function ToBoolean(value boolean): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="91"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToConcept"/>
</extension>
<extension url="statement">
<valueString
value="define function ToConcept(concept FHIR.CodeableConcept):
if concept is null then
null
else
System.Concept {
codes: concept.coding C return ToCode(C),
display: concept.text.value
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="92"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToCode"/>
</extension>
<extension url="statement">
<valueString
value="define function ToCode(coding FHIR.Coding):
if coding is null then
null
else
System.Code {
code: coding.code.value,
system: coding.system.value,
version: coding.version.value,
display: coding.display.value
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="93"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="WHOCommon"/>
</extension>
<extension url="name">
<valueString value="earliest"/>
</extension>
<extension url="statement">
<valueString
value="define fluent function earliest(immunizations List<Immunization>):
First(
immunizations I
sort by start of occurrence.toInterval()
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="94"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="WHOCommon"/>
</extension>
<extension url="name">
<valueString value="mostRecent"/>
</extension>
<extension url="statement">
<valueString
value="define fluent function mostRecent(immunizations List<Immunization>):
Last(
immunizations I
sort by start of occurrence.toInterval()
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="95"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZCommon"/>
</extension>
<extension url="name">
<valueString value="encounterOrOnBefore"/>
</extension>
<extension url="statement">
<valueString
value="/**
* @description: Gets observation from an encounter or on or before a date
*/
define fluent function encounterOrOnBefore(observations List<Observation>, EncounterId String, beforeDate Date):
observations O where
(O.encounter.references(EncounterId)
or O.effective.toInterval() starts same day or before beforeDate)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="96"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="WHOCommon"/>
</extension>
<extension url="name">
<valueString value="references"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns true if the given reference is to the given resourceId
@comment: Returns true if the `resourceId` parameter exactly equals the tail of the given reference.
NOTE: This function assumes resources from the same source server.
*/
define fluent function references(reference FHIR.Reference, resourceId String):
resourceId = Last(Split(reference.reference, '/'))"/>
</extension>
<extension url="displaySequence">
<valueInteger value="97"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="WHOCommon"/>
</extension>
<extension url="name">
<valueString value="complete"/>
</extension>
<extension url="statement">
<valueString
value="define fluent function complete(observations List<Observation>):
observations O where O.status in { 'final', 'amended', 'corrected' }"/>
</extension>
<extension url="displaySequence">
<valueInteger value="98"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value ObservationStatus): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="99"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZCommon"/>
</extension>
<extension url="name">
<valueString value="seriesBooster"/>
</extension>
<extension url="statement">
<valueString
value="/**
* @description: Gets the doses from the Booster series
*/
define fluent function seriesBooster(immunizations List<Immunization>):
immunizations I where
exists( I.protocolApplied pa where pa.series = 'Booster dose' )"/>
</extension>
<extension url="displaySequence">
<valueInteger value="100"/>
</extension>
</extension>
<name value="EffectiveDataRequirements"/>
<status value="active"/>
<type>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/library-type"/>
<code value="module-definition"/>
</coding>
</type>
<relatedArtifact>
<type value="depends-on"/>
<display value="FHIR model information"/>
<resource
value="http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Encounter"/>
<resource
value="http://smart.who.int/immunizations/Library/IMMZD2DTPneumococcalEncounterElements"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Encounter"/>
<resource
value="http://smart.who.int/immunizations/Library/IMMZEncounterElements"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Common"/>
<resource
value="http://smart.who.int/immunizations/Library/IMMZCommon"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library FHIRHelpers"/>
<resource
value="http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Elements"/>
<resource
value="http://smart.who.int/immunizations/Library/IMMZElements"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library WC"/>
<resource
value="http://smart.who.int/immunizations/Library/WHOCommon"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library FHIRHelpers"/>
<resource
value="http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Concepts"/>
<resource
value="http://smart.who.int/immunizations/Library/IMMZConcepts"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library WC"/>
<resource
value="http://smart.who.int/immunizations/Library/WHOCommon"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Common"/>
<resource
value="http://smart.who.int/immunizations/Library/IMMZCommon"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library WC"/>
<resource
value="http://smart.who.int/immunizations/Library/WHOCommon"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Concepts"/>
<resource
value="http://smart.who.int/immunizations/Library/IMMZConcepts"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system IMMZD"/>
<resource
value="http://smart.who.int/immunizations/CodeSystem/IMMZ.D"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Pneumococcal vaccines"/>
<resource
value="http://smart.who.int/immunizations/ValueSet/IMMZ.Z.DE13"/>
</relatedArtifact>
<parameter>
<name value="Today"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="date"/>
</parameter>
<parameter>
<name value="EncounterId"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="Guidance"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="Client is due for pneumococcal vaccination"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Has Guidance"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Client is due for pneumococcal booster dose"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<dataRequirement>
<type value="Patient"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
</dataRequirement>
<dataRequirement>
<type value="Immunization"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
<mustSupport value="status"/>
<mustSupport value="isSubpotent"/>
</dataRequirement>
<dataRequirement>
<type value="Immunization"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
<mustSupport value="status"/>
<mustSupport value="isSubpotent"/>
<mustSupport value="occurrence"/>
</dataRequirement>
<dataRequirement>
<type value="Immunization"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
<mustSupport value="status"/>
<mustSupport value="isSubpotent"/>
<mustSupport value="occurrence"/>
<mustSupport value="vaccineCode"/>
</dataRequirement>
<dataRequirement>
<type value="Patient"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mustSupport value="code"/>
<codeFilter>
<path value="code"/>
<code>
<system
value="http://smart.who.int/immunizations/CodeSystem/IMMZ.D"/>
<code value="DE251"/>
<display value="At high risk for pneumococcal infection"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mustSupport value="code"/>
<codeFilter>
<path value="code"/>
<code>
<system
value="http://smart.who.int/immunizations/CodeSystem/IMMZ.D"/>
<code value="DE204"/>
<display value="HIV status"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mustSupport value="code"/>
<codeFilter>
<path value="code"/>
<code>
<system
value="http://smart.who.int/immunizations/CodeSystem/IMMZ.D"/>
<code value="DE208"/>
<display value="Preterm birth"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Immunization"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
<mustSupport value="status"/>
<mustSupport value="isSubpotent"/>
<mustSupport value="occurrence"/>
<mustSupport value="vaccineCode"/>
</dataRequirement>
<dataRequirement>
<type value="Immunization"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
<mustSupport value="status"/>
<mustSupport value="isSubpotent"/>
<mustSupport value="occurrence"/>
<mustSupport value="vaccineCode"/>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mustSupport value="code"/>
<codeFilter>
<path value="code"/>
<code>
<system
value="http://smart.who.int/immunizations/CodeSystem/IMMZ.D"/>
<code value="DE251"/>
<display value="At high risk for pneumococcal infection"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Immunization"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
<mustSupport value="status"/>
<mustSupport value="isSubpotent"/>
<mustSupport value="occurrence"/>
<mustSupport value="vaccineCode"/>
</dataRequirement>
<dataRequirement>
<type value="Immunization"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
<mustSupport value="status"/>
<mustSupport value="isSubpotent"/>
<mustSupport value="occurrence"/>
<mustSupport value="vaccineCode"/>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mustSupport value="code"/>
<codeFilter>
<path value="code"/>
<code>
<system
value="http://smart.who.int/immunizations/CodeSystem/IMMZ.D"/>
<code value="DE208"/>
<display value="Preterm birth"/>
</code>
</codeFilter>
</dataRequirement>
</Library>
</contained>
<extension
url="http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability">
<valueCode value="computable"/>
</extension>
<extension
url="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements">
<valueCanonical value="#effective-data-requirements"/>
</extension>
<url
value="http://smart.who.int/immunizations/PlanDefinition/IMMZD2DTPneumococcal3Doses"/>
<version value="0.2.0"/>
<name value="IMMZD2DTPneumococcal3Doses"/>
<title value="IMMZ.D2.DT.Pneumococcal.3 doses"/>
<type>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/plan-definition-type"/>
<code value="eca-rule"/>
</coding>
</type>
<status value="draft"/>
<experimental value="false"/>
<date value="2026-03-03T13:07:11+00:00"/>
<publisher value="WHO"/>
<contact>
<name value="WHO"/>
<telecom>
<system value="url"/>
<value value="http://who.int"/>
</telecom>
</contact>
<description
value="IMMZ.D2.DT.Pneumococcal.3 doses
3 primary doses (3p+0)"/>
<relatedArtifact>
<type value="citation"/>
<citation
value="WHO recommendations for routine immunization - summary tables (January 2025)"/>
</relatedArtifact>
<library
value="http://smart.who.int/immunizations/Library/IMMZD2DTPneumococcal3DosesLogic"/>
<action>
<extension
url="http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-rationale">
<valueMarkdown
value="For administration of pneumococcal vaccine to infants, WHO recommends a 3-dose schedule
administered either as 2p+1 or as 3p+0, starting as early as 6 weeks of age."/>
</extension>
<title value="Determine if the client is due for BCG."/>
<description
value="Determine if the client is due for BCG vaccine according to the national immunization protocol.
3 primary doses (3p+0)"/>
<condition>
<kind value="applicability"/>
<expression>
<description value="Client is due for pneumococcal vaccination"/>
<language value="text/cql-identifier"/>
<expression value="Client is due for pneumococcal vaccination"/>
</expression>
</condition>
<definitionCanonical
value="http://smart.who.int/immunizations/ActivityDefinition/IMMZD2DTMR"/>
<dynamicValue>
<path value="status"/>
<expression>
<language value="text/cql-expression"/>
<expression value="'draft'"/>
</expression>
</dynamicValue>
<dynamicValue>
<path value="intent"/>
<expression>
<language value="text/cql-expression"/>
<expression value="'proposal'"/>
</expression>
</dynamicValue>
<dynamicValue>
<path value="medication"/>
<expression>
<language value="text/cql-expression"/>
<expression
value="Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE13', display: 'Pneumococcal vaccines' } }, display: 'Pneumococcal vaccines' }"/>
</expression>
</dynamicValue>
</action>
<action>
<extension
url="http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-rationale">
<valueMarkdown
value="HIV-positive infants and preterm neonates who have received their 3 primary vaccine doses
before 12 months of age may benefit from a booster dose in the second year of life."/>
</extension>
<title value="Determine if the client is due for BCG."/>
<description
value="Determine if the client is due for BCG vaccine according to the national immunization protocol.
3 primary doses (3p+0)"/>
<condition>
<kind value="applicability"/>
<expression>
<description value="Client is due for pneumococcal booster dose"/>
<language value="text/cql-identifier"/>
<expression value="Client is due for pneumococcal booster dose"/>
</expression>
</condition>
<definitionCanonical
value="http://smart.who.int/immunizations/ActivityDefinition/IMMZD2DTMR"/>
<dynamicValue>
<path value="status"/>
<expression>
<language value="text/cql-expression"/>
<expression value="'draft'"/>
</expression>
</dynamicValue>
<dynamicValue>
<path value="intent"/>
<expression>
<language value="text/cql-expression"/>
<expression value="'proposal'"/>
</expression>
</dynamicValue>
<dynamicValue>
<path value="medication"/>
<expression>
<language value="text/cql-expression"/>
<expression
value="Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE13', display: 'Pneumococcal vaccines' } }, display: 'Pneumococcal vaccines' }"/>
</expression>
</dynamicValue>
</action>
<action>
<title
value="Check for Guidance for the patient regarding IMMZ.D2.DT.Pneumococcal.3 doses."/>
<description
value="Show Guidance for the patient regarding IMMZ.D2.DT.Pneumococcal.3 doses."/>
<condition>
<kind value="applicability"/>
<expression>
<description value="Has Guidance"/>
<language value="text/cql-identifier"/>
<expression value="Has Guidance"/>
</expression>
</condition>
<definitionCanonical
value="http://smart.who.int/immunizations/ActivityDefinition/IMMZD2DTCR"/>
<dynamicValue>
<path value="status"/>
<expression>
<language value="text/cql-expression"/>
<expression value="'active'"/>
</expression>
</dynamicValue>
<dynamicValue>
<path value="payload.contentString"/>
<expression>
<language value="text/cql-identifier"/>
<expression value="Guidance"/>
</expression>
</dynamicValue>
<dynamicValue>
<path value="category.coding"/>
<expression>
<description value="Category of communication"/>
<language value="text/cql-expression"/>
<expression
value="Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }"/>
</expression>
</dynamicValue>
<dynamicValue>
<path value="priority"/>
<expression>
<description value="Alert priority"/>
<language value="text/cql-expression"/>
<expression
value="Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' }"/>
</expression>
</dynamicValue>
</action>
</PlanDefinition>