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="IMMZD18SHib3DosesWithBoosterDose"/>
<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;">IMMZD18SHib3DosesWithBoosterDose</td>
</tr>
<tr>
<th scope="row"><b>Url: </b></th>
<td style="padding-left: 4px;"><a href="PlanDefinition-IMMZD18SHib3DosesWithBoosterDose.html">IMMZ.D18.S.Hib.3 doses with booster dose schedule</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.D18.S.Hib.3 doses with booster dose schedule</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.D18.S.Hib.3 doses with booster dose schedule
3 primary doses with a booster dose (3p+1) schedule</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-IMMZD18SHib3DosesWithBoosterDoseLogic.html">IMMZD18SHib3DosesWithBoosterDoseLogic</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> Haemophilus influenzae type b (Hib) dose 1:</b> Provision of the Hib dose 1
Trigger event: Child's birth
Trigger pseudo:
Trigger date: "Date of birth"
Create condition: Immunization should start from 6 weeks of age, or as early as possible thereafter. Hib-containing vaccine is not required for healthy children aged over 5 years.
<br/>
<b>If:</b>
<i>Applicability:</i>
Haemophilus influenzae type b (Hib) dose 1
<i>(Haemophilus influenzae type b (Hib) dose 1)</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>(Haemophilus influenzae type b (Hib) dose 1 Create)</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>
<tr>
<td>
<b> Hib dose 2:</b> Provision of the Hib dose 2
Trigger event: First Hib dose from the primary series was administered to the client within 1 year of age. Client's age is less than 5 years
Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "Hib-containing vaccines" and "Type of dose" = "Primary series") = 1 AND "Date and time of vaccination" (where "Vaccine type"= "Hib-containing vaccines" and "Dose number" = 1) − "Date of birth" < 1 year AND Today's date − "Date of birth" ≤ 5 years
Trigger date: "Date and time of vaccination" (where "Vaccine type" = "Hib-containing vaccines")
Create condition: Hib dose 2 should be provided if the client was given the previous dose more than 4 weeks ago and the first Hib dose was received by the time the child turned 1 year old
<br/>
<b>If:</b>
<i>Applicability:</i>
Hib dose 2
<i>(Hib dose 2)</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>(Hib dose 2 Create)</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>
<tr>
<td>
<b> Hib dose 3:</b> Provision of the Hib dose 3
Trigger event: Second Hib dose from the primary series was administered. Client's age is less than 5 years
Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "Hib-containing vaccines" and "Type of dose"= "Primary series") = 2 AND Today's date − "Date of birth" ≤ 5 years
Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "Hib-containing vaccines")
Create condition: Hib dose 3 should be provided if the client was given the previous dose more than 4 weeks ago and the first Hib dose was received by the time the child turned 1 year old
<br/>
<b>If:</b>
<i>Applicability:</i>
Hib dose 3
<i>(Hib dose 3)</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>(Hib dose 3 Create)</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>
<tr>
<td>
<b> Hib booster dose:</b> Provision of the Hib booster dose
Trigger event: Third Hib dose from the primary series was administered. Child's age is less than 5 years
Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "Hib-containing vaccines" and "Type of dose"= "Primary series") = 3 AND Today's date − "Date of birth" ≤ 5 years
Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "Hib-containing vaccines")
Create condition: Hib booster dose should be provided if the client was given the previous dose more than 6 months ago and the first Hib dose was received by the time the child turned 1 year old
<br/>
<b>If:</b>
<i>Applicability:</i>
Hib booster dose
<i>(Hib booster dose)</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>(Hib booster dose Create)</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-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="0"/>
</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="1"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTHibEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Hib Doses Administered to Patient"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Hib containing Doses Administered to Patient
*/
define "Hib Doses Administered to Patient":
Encounter."Doses Administered to Patient" I
where
I.vaccineCode in Concepts."Hib-containing vaccines""/>
</extension>
<extension url="displaySequence">
<valueInteger value="2"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTHibEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Hib Primary Series Doses Administered to Patient"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Hib containing Doses Administered to Patient that are in the Primary series
*/
define "Hib Primary Series Doses Administered to Patient":
"Hib Doses Administered to Patient".seriesPrimary()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="3"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTHibEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Number of Hib Primary Series Doses Administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Number of Hib Primary Series doses
*/
define "Number of Hib Primary Series Doses Administered":
Count("Hib Primary Series Doses Administered to Patient")"/>
</extension>
<extension url="displaySequence">
<valueInteger value="4"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTHibEncounterElements"/>
</extension>
<extension url="name">
<valueString value="One Hib primary series dose was administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: One Hib primary series dose was administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Hib-containing vaccines" and "Type of dose"= "Primary series") = 1
@code: One Hib primary series dose was administered-122
@decision: IMMZ.D2.DT.Hib.3 doses: 3 primary doses without a booster dose (3p)
@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)
*/
define "One Hib primary series dose was administered":
"Number of Hib Primary Series Doses Administered" = 1"/>
</extension>
<extension url="displaySequence">
<valueInteger value="5"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SHib3DosesWithBoosterDoseLogic"/>
</extension>
<extension url="name">
<valueString
value="First Hib dose from the primary series was administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@complete: First Hib dose from the primary series was administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Hib-containing vaccines" and "Type of dose"= "Primary series") = 1
The primary series has been completed for delayed start
"Completed the primary vaccination series" = TRUE (where "Vaccine type" = "Hib-containing vaccines")
*/
define "First Hib dose from the primary series was administered":
Encounter."One Hib primary series dose was administered""/>
</extension>
<extension url="displaySequence">
<valueInteger value="6"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTHibEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Date of First Hib Dose"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Date of First Hib Dose
*/
define "Date of First Hib Dose":
date from start of "Hib Doses Administered to Patient".earliest().occurrence.toInterval()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="7"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTHibEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Client's age was less than 1 year when first Hib dose was administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Client's age was less than 1 year when first Hib dose was administered
@pseudocode: "Date and time of vaccination" (where "Vaccine type"= "Hib-containing vaccines" and "Dose number" = 1) − "Date of birth" < 1 year
@code: Client's age was less than 1 year when first Hib dose was administered-129
@decision: IMMZ.D2.DT.Hib.3 doses: 3 primary doses without a booster dose (3p)
@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)
@decision: IMMZ.D2.DT.Hib.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
*/
define "Client's age was less than 1 year when first Hib dose was administered":
AgeInYearsAt("Date of First Hib Dose") < 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 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="9"/>
</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="10"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTHibEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Client's age is between 6 weeks and 5 years"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Client's age is between 6 weeks and 5 years
@pseudocode: 6 weeks ≤ Today's date − "Date of birth" ≤ 5 years
@code: Client's age is between 6 weeks and 5 years-50
@decision: IMMZ.D2.DT.Hib.3 doses: 3 primary doses without a booster dose (3p)
@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)
@decision: IMMZ.D2.DT.Hib.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
*/
define "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="11"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTHibEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Two Hib primary series doses were administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Two Hib primary series doses were administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Hib-containing vaccines" and "Type of dose" = "Primary series" ) = 2
@code: Two Hib primary series doses were administered-124
@decision: IMMZ.D2.DT.Hib.3 doses: 3 primary doses without a booster dose (3p)
@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)
@decision: IMMZ.D2.DT.Hib.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
*/
define "Two Hib primary series doses were administered":
"Number of Hib Primary Series Doses Administered" = 2"/>
</extension>
<extension url="displaySequence">
<valueInteger value="12"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SHib3DosesWithBoosterDoseLogic"/>
</extension>
<extension url="name">
<valueString
value="Second Hib dose from the primary series was administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@complete: Second Hib dose from the primary series was administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Hib-containing vaccines" and "Type of dose"= "Primary series") = 2
*/
define "Second Hib dose from the primary series was administered":
Encounter."Two Hib primary series doses were administered""/>
</extension>
<extension url="displaySequence">
<valueInteger value="13"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SHib3DosesWithBoosterDoseLogic"/>
</extension>
<extension url="name">
<valueString value="Hib dose 2 Expiration"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dynamicValue: Hib dose 2 Expiration
@pseudocode: "Date of birth" + 6 years
*/
define "Hib dose 2 Expiration":
Patient.birthDate + 6 years"/>
</extension>
<extension url="displaySequence">
<valueInteger value="14"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SHib3DosesWithBoosterDoseLogic"/>
</extension>
<extension url="name">
<valueString value="Hib dose 2"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Hib dose 2
@description: Provision of the Hib dose 2
@trigger: First Hib dose from the primary series was administered to the client within 1 year of age. Client's age is less than 5 years
@pseudo: Count of vaccines administered (where "Vaccine type" = "Hib-containing vaccines" and "Type of dose" = "Primary series") = 1 AND "Date and time of vaccination" (where "Vaccine type"= "Hib-containing vaccines" and "Dose number" = 1) − "Date of birth" < 1 year AND Today's date − "Date of birth" ≤ 5 years
@triggerDate: "Date and time of vaccination" (where "Vaccine type" = "Hib-containing vaccines")
*/
define "Hib dose 2":
"First Hib dose from the primary series was administered"
and Encounter."Client's age was less than 1 year when first Hib dose was administered"
and Encounter."Client's age is between 6 weeks and 5 years"
and not "Second Hib dose from the primary series was administered"
and "Hib dose 2 Expiration" after day of Today"/>
</extension>
<extension url="displaySequence">
<valueInteger value="15"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTHibEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Three Hib primary series doses were administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Three Hib primary series doses were administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Hib-containing vaccines" and "Type of dose"= "Primary series") = 3
@code: Three Hib primary series doses were administered-122
@decision: IMMZ.D2.DT.Hib.3 doses: 3 primary doses without a booster dose (3p)
@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)
*/
define "Three Hib primary series doses were administered":
"Number of Hib Primary Series Doses Administered" = 3"/>
</extension>
<extension url="displaySequence">
<valueInteger value="16"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SHib3DosesWithBoosterDoseLogic"/>
</extension>
<extension url="name">
<valueString
value="Third Hib dose from the primary series was administered. The primary series has been completed"/>
</extension>
<extension url="statement">
<valueString
value="/*
@complete: Third Hib dose from the primary series was administered. The primary series has been completed
@pseudocode: "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "Hib-containing vaccines")
*/
define "Third Hib dose from the primary series was administered. The primary series has been completed":
Encounter."Three Hib primary series doses were administered""/>
</extension>
<extension url="displaySequence">
<valueInteger value="17"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SHib3DosesWithBoosterDoseLogic"/>
</extension>
<extension url="name">
<valueString value="Hib dose 3 Expiration"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dynamicValue: Hib dose 3 Expiration
@pseudocode: "Date of birth" + 6 years
*/
define "Hib dose 3 Expiration":
Patient.birthDate + 6 years"/>
</extension>
<extension url="displaySequence">
<valueInteger value="18"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SHib3DosesWithBoosterDoseLogic"/>
</extension>
<extension url="name">
<valueString value="Hib dose 3"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Hib dose 3
@description: Provision of the Hib dose 3
@trigger: Second Hib dose from the primary series was administered. Client's age is less than 5 years
@pseudo: Count of vaccines administered (where "Vaccine type" = "Hib-containing vaccines" and "Type of dose"= "Primary series") = 2 AND Today's date − "Date of birth" ≤ 5 years
@triggerDate: Latest "Date and time of vaccination" (where "Vaccine type" = "Hib-containing vaccines")
*/
define "Hib dose 3":
"Second Hib dose from the primary series was administered"
and Encounter."Client's age is between 6 weeks and 5 years"
and not "Third Hib dose from the primary series was administered. The primary series has been completed"
and "Hib dose 3 Expiration" after day of Today"/>
</extension>
<extension url="displaySequence">
<valueInteger value="19"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTHibEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Date of Latest Hib Dose"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Date of Latest Hib Dose
*/
define "Date of Latest Hib Dose":
date from start of "Hib Doses Administered to Patient".mostRecent().occurrence.toInterval()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="20"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SHib3DosesWithBoosterDoseLogic"/>
</extension>
<extension url="name">
<valueString value="Hib dose 3 Due Date"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dynamicValue: Hib dose 3 Due Date
@pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "Hib-containing vaccines") + 4 weeks
*/
define "Hib dose 3 Due Date":
if "Hib dose 3" then Encounter."Date of Latest Hib Dose" + 4 weeks
else null"/>
</extension>
<extension url="displaySequence">
<valueInteger value="21"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SHib3DosesWithBoosterDoseLogic"/>
</extension>
<extension url="name">
<valueString value="Hib dose 3 Create"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Hib dose 3 Create
@create: Hib dose 3 should be provided if the client was given the previous dose more than 4 weeks ago and the first Hib dose was received by the time the child turned 1 year old
*/
define "Hib dose 3 Create":
if "Hib dose 3"
then 'Hib dose 3 should be provided if the client was given the previous dose more than 4 weeks ago and the first Hib dose was received by the time the child turned 1 year old' + '
Due Date: ' + ToString("Hib dose 3 Due Date") + '
Expiration: ' + ToString("Hib dose 3 Expiration")
else ''"/>
</extension>
<extension url="displaySequence">
<valueInteger value="22"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SHib3DosesWithBoosterDoseLogic"/>
</extension>
<extension url="name">
<valueString value="Hib dose 2 Due Date"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dynamicValue: Hib dose 2 Due Date
@pseudocode: "Date and time of vaccination" (where "Vaccine type" = "Hib-containing vaccines") + 4 weeks
*/
define "Hib dose 2 Due Date":
if "Hib dose 2" then Encounter."Date of Latest Hib Dose" + 4 weeks
else null"/>
</extension>
<extension url="displaySequence">
<valueInteger value="23"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SHib3DosesWithBoosterDoseLogic"/>
</extension>
<extension url="name">
<valueString value="Hib dose 2 Create"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Hib dose 2 Create
@create: Hib dose 2 should be provided if the client was given the previous dose more than 4 weeks ago and the first Hib dose was received by the time the child turned 1 year old
*/
define "Hib dose 2 Create":
if "Hib dose 2"
then 'Hib dose 2 should be provided if the client was given the previous dose more than 4 weeks ago and the first Hib dose was received by the time the child turned 1 year old' + '
Due Date: ' + ToString("Hib dose 2 Due Date") + '
Expiration: ' + ToString("Hib dose 2 Expiration")
else ''"/>
</extension>
<extension url="displaySequence">
<valueInteger value="24"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTHibEncounterElements"/>
</extension>
<extension url="name">
<valueString value="No Hib primary series doses were administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: No Hib primary series doses were administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Hib-containing vaccines" and "Type of dose" = "Primary series") = 0
@code: No Hib primary series doses were administered-123
@decision: IMMZ.D2.DT.Hib.3 doses: 3 primary doses without a booster dose (3p)
@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)
@decision: IMMZ.D2.DT.Hib.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
*/
define "No Hib primary series doses were administered":
"Number of Hib Primary Series Doses Administered" = 0"/>
</extension>
<extension url="displaySequence">
<valueInteger value="25"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SHib3DosesWithBoosterDoseLogic"/>
</extension>
<extension url="name">
<valueString
value="Haemophilus influenzae type b (Hib) dose 1 Expiration"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dynamicValue: Haemophilus influenzae type b (Hib) dose 1 Expiration
@pseudocode: "Date of birth" + 6 years
*/
define "Haemophilus influenzae type b (Hib) dose 1 Expiration":
Patient.birthDate + 6 years"/>
</extension>
<extension url="displaySequence">
<valueInteger value="26"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SHib3DosesWithBoosterDoseLogic"/>
</extension>
<extension url="name">
<valueString value="Haemophilus influenzae type b (Hib) dose 1"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Haemophilus influenzae type b (Hib) dose 1
@description: Provision of the Hib dose 1
@trigger: Child's birth
@pseudo:
@triggerDate: "Date of birth"
*/
define "Haemophilus influenzae type b (Hib) dose 1":
Encounter."No Hib primary series doses were administered"
and "Haemophilus influenzae type b (Hib) dose 1 Expiration" after day of Today"/>
</extension>
<extension url="displaySequence">
<valueInteger value="27"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SHib3DosesWithBoosterDoseLogic"/>
</extension>
<extension url="name">
<valueString
value="Haemophilus influenzae type b (Hib) dose 1 Due Date"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dynamicValue: Haemophilus influenzae type b (Hib) dose 1 Due Date
@pseudocode: "Date of birth" + 6 weeks
*/
define "Haemophilus influenzae type b (Hib) dose 1 Due Date":
if "Haemophilus influenzae type b (Hib) dose 1" then Patient.birthDate + 6 weeks
else null"/>
</extension>
<extension url="displaySequence">
<valueInteger value="28"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SHib3DosesWithBoosterDoseLogic"/>
</extension>
<extension url="name">
<valueString
value="Haemophilus influenzae type b (Hib) dose 1 Create"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Haemophilus influenzae type b (Hib) dose 1 Create
@create: Immunization should start from 6 weeks of age, or as early as possible thereafter. Hib-containing vaccine is not required for healthy children aged over 5 years.
*/
define "Haemophilus influenzae type b (Hib) dose 1 Create":
if "Haemophilus influenzae type b (Hib) dose 1"
then 'Immunization should start from 6 weeks of age, or as early as possible thereafter. Hib-containing vaccine is not required for healthy children aged over 5 years.' + '
Due Date: ' + ToString("Haemophilus influenzae type b (Hib) dose 1 Due Date") + '
Expiration: ' + ToString("Haemophilus influenzae type b (Hib) dose 1 Expiration")
else ''"/>
</extension>
<extension url="displaySequence">
<valueInteger value="29"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTHibEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Hib Booster Series Doses Administered to Patient"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Hib Booster Series Doses Administered to Patient
*/
define "Hib Booster Series Doses Administered to Patient":
"Hib Doses Administered to Patient".seriesBooster()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="30"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTHibEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Number of Hib Booster Series Doses Administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Number of Hib Booster Series Doses Administered
*/
define "Number of Hib Booster Series Doses Administered":
Count("Hib Booster Series Doses Administered to Patient")"/>
</extension>
<extension url="displaySequence">
<valueInteger value="31"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTHibEncounterElements"/>
</extension>
<extension url="name">
<valueString value="One Hib booster dose was administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: One Hib booster dose was administered
@pseudocode: Count of vaccines administered where "Vaccine type" = "Hib-containing vaccines" and "Type of dose" = "Booster dose") = 1
@code: One Hib booster dose was administered-120
@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)
@decision: IMMZ.D2.DT.Hib.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)
*/
define "One Hib booster dose was administered":
"Number of Hib Booster Series Doses Administered" = 1"/>
</extension>
<extension url="displaySequence">
<valueInteger value="32"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SHib3DosesWithBoosterDoseLogic"/>
</extension>
<extension url="name">
<valueString
value="One Hib booster dose was administered. Hib immunization schedule has been completed"/>
</extension>
<extension url="statement">
<valueString
value="/*
@complete: One Hib booster dose was administered. Hib immunization schedule has been completed
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Hib-containing vaccines" and "Type of dose"= "Booster dose") = 1
*/
define "One Hib booster dose was administered. Hib immunization schedule has been completed":
Encounter."One Hib booster dose was administered""/>
</extension>
<extension url="displaySequence">
<valueInteger value="33"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SHib3DosesWithBoosterDoseLogic"/>
</extension>
<extension url="name">
<valueString value="Hib booster dose Expiration"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dynamicValue: Hib booster dose Expiration
@pseudocode: "Date of birth" + 6 years
*/
define "Hib booster dose Expiration":
Patient.birthDate + 6 years"/>
</extension>
<extension url="displaySequence">
<valueInteger value="34"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SHib3DosesWithBoosterDoseLogic"/>
</extension>
<extension url="name">
<valueString value="Hib booster dose"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Hib booster dose
@description: Provision of the Hib booster dose
@trigger: Third Hib dose from the primary series was administered. Child's age is less than 5 years
@pseudo: Count of vaccines administered (where "Vaccine type" = "Hib-containing vaccines" and "Type of dose"= "Primary series") = 3 AND Today's date − "Date of birth" ≤ 5 years
@triggerDate: Latest "Date and time of vaccination" (where "Vaccine type" = "Hib-containing vaccines")
*/
define "Hib booster dose":
"Third Hib dose from the primary series was administered. The primary series has been completed"
and Encounter."Client's age is between 6 weeks and 5 years"
and not "One Hib booster dose was administered. Hib immunization schedule has been completed"
and "Hib booster dose Expiration" after day of Today"/>
</extension>
<extension url="displaySequence">
<valueInteger value="35"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SHib3DosesWithBoosterDoseLogic"/>
</extension>
<extension url="name">
<valueString value="Hib booster dose Due Date"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dynamicValue: Hib booster dose Due Date
@pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "Hib-containing vaccines") + 6 months
*/
define "Hib booster dose Due Date":
if "Hib booster dose" then Encounter."Date of Latest Hib Dose" + 6 months
else null"/>
</extension>
<extension url="displaySequence">
<valueInteger value="36"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SHib3DosesWithBoosterDoseLogic"/>
</extension>
<extension url="name">
<valueString value="Hib booster dose Create"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Hib booster dose Create
@create: Hib booster dose should be provided if the client was given the previous dose more than 6 months ago and the first Hib dose was received by the time the child turned 1 year old
*/
define "Hib booster dose Create":
if "Hib booster dose"
then 'Hib booster dose should be provided if the client was given the previous dose more than 6 months ago and the first Hib dose was received by the time the child turned 1 year old' + '
Due Date: ' + ToString("Hib booster dose Due Date") + '
Expiration: ' + ToString("Hib booster dose Expiration")
else ''"/>
</extension>
<extension url="displaySequence">
<valueInteger value="37"/>
</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="38"/>
</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="39"/>
</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="40"/>
</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="41"/>
</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="42"/>
</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="43"/>
</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="44"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToDate"/>
</extension>
<extension url="statement">
<valueString
value="define function ToDate(value date): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="45"/>
</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="46"/>
</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="47"/>
</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/IMMZD2DTHibEncounterElements"/>
</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 Encounter"/>
<resource
value="http://smart.who.int/immunizations/Library/IMMZEncounterElements"/>
</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="Value set Hib-containing vaccines"/>
<resource
value="http://smart.who.int/immunizations/ValueSet/IMMZ.Z.DE4"/>
</relatedArtifact>
<parameter>
<name value="Today"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="date"/>
</parameter>
<parameter>
<name value="Hib dose 2"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Hib dose 3 Create"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="Hib dose 3"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Hib dose 2 Create"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="Haemophilus influenzae type b (Hib) dose 1 Create"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="Hib booster dose"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Haemophilus influenzae type b (Hib) dose 1"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Hib booster dose Create"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<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="Patient"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
</dataRequirement>
<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"/>
<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="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>
</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/IMMZD18SHib3DosesWithBoosterDose"/>
<version value="0.2.0"/>
<name value="IMMZD18SHib3DosesWithBoosterDose"/>
<title value="IMMZ.D18.S.Hib.3 doses with booster dose schedule"/>
<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.D18.S.Hib.3 doses with booster dose schedule
3 primary doses with a booster dose (3p+1) schedule"/>
<relatedArtifact>
<type value="citation"/>
<citation
value="WHO recommendations for routine immunization - summary tables (January 2025)"/>
</relatedArtifact>
<library
value="http://smart.who.int/immunizations/Library/IMMZD18SHib3DosesWithBoosterDoseLogic"/>
<action>
<title value="Haemophilus influenzae type b (Hib) dose 1"/>
<description
value="Provision of the Hib dose 1
Trigger event: Child's birth
Trigger pseudo:
Trigger date: "Date of birth"
Create condition: Immunization should start from 6 weeks of age, or as early as possible thereafter. Hib-containing vaccine is not required for healthy children aged over 5 years."/>
<condition>
<kind value="applicability"/>
<expression>
<description value="Haemophilus influenzae type b (Hib) dose 1"/>
<language value="text/cql-identifier"/>
<expression value="Haemophilus influenzae type b (Hib) dose 1"/>
</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="Haemophilus influenzae type b (Hib) dose 1 Create"/>
</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>
<action>
<title value="Hib dose 2"/>
<description
value="Provision of the Hib dose 2
Trigger event: First Hib dose from the primary series was administered to the client within 1 year of age. Client's age is less than 5 years
Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "Hib-containing vaccines" and "Type of dose" = "Primary series") = 1 AND "Date and time of vaccination" (where "Vaccine type"= "Hib-containing vaccines" and "Dose number" = 1) − "Date of birth" < 1 year AND Today's date − "Date of birth" ≤ 5 years
Trigger date: "Date and time of vaccination" (where "Vaccine type" = "Hib-containing vaccines")
Create condition: Hib dose 2 should be provided if the client was given the previous dose more than 4 weeks ago and the first Hib dose was received by the time the child turned 1 year old"/>
<condition>
<kind value="applicability"/>
<expression>
<description value="Hib dose 2"/>
<language value="text/cql-identifier"/>
<expression value="Hib dose 2"/>
</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="Hib dose 2 Create"/>
</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>
<action>
<title value="Hib dose 3"/>
<description
value="Provision of the Hib dose 3
Trigger event: Second Hib dose from the primary series was administered. Client's age is less than 5 years
Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "Hib-containing vaccines" and "Type of dose"= "Primary series") = 2 AND Today's date − "Date of birth" ≤ 5 years
Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "Hib-containing vaccines")
Create condition: Hib dose 3 should be provided if the client was given the previous dose more than 4 weeks ago and the first Hib dose was received by the time the child turned 1 year old"/>
<condition>
<kind value="applicability"/>
<expression>
<description value="Hib dose 3"/>
<language value="text/cql-identifier"/>
<expression value="Hib dose 3"/>
</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="Hib dose 3 Create"/>
</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>
<action>
<title value="Hib booster dose"/>
<description
value="Provision of the Hib booster dose
Trigger event: Third Hib dose from the primary series was administered. Child's age is less than 5 years
Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "Hib-containing vaccines" and "Type of dose"= "Primary series") = 3 AND Today's date − "Date of birth" ≤ 5 years
Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "Hib-containing vaccines")
Create condition: Hib booster dose should be provided if the client was given the previous dose more than 6 months ago and the first Hib dose was received by the time the child turned 1 year old"/>
<condition>
<kind value="applicability"/>
<expression>
<description value="Hib booster dose"/>
<language value="text/cql-identifier"/>
<expression value="Hib booster dose"/>
</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="Hib booster dose Create"/>
</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>