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="IMMZD18SDTPDelayedOrInterruptedSeries"/>
<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;">IMMZD18SDTPDelayedOrInterruptedSeries</td>
</tr>
<tr>
<th scope="row"><b>Url: </b></th>
<td style="padding-left: 4px;"><a href="PlanDefinition-IMMZD18SDTPDelayedOrInterruptedSeries.html">IMMZ.D18.S.DTP.Delayed or interrupted 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.DTP.Delayed or interrupted 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.DTP.Delayed or interrupted schedule
Diphtheria–tetanus–pertussis (DTP) vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age</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-IMMZD18SDTPDelayedOrInterruptedSeriesLogic.html">IMMZD18SDTPDelayedOrInterruptedSeriesLogic</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> DTP dose 1 (delayed start):</b> Provision of DTP dose 1 with a delayed start
Trigger event: No DTP doses were administered and client's age is more than 1 year
Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines") = 0 AND Today's date − "Date of birth" > 1 year
Trigger date: Date of birth
Create condition: For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule.
If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection.
Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood.
<br/>
<b>If:</b>
<i>Applicability:</i>
DTP dose 1 (delayed start)
<i>(DTP dose 1 (delayed start))</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>(DTP dose 1 (delayed start) 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> DTP dose 2 (delayed start):</b> Provision of DTP dose 2 with a delayed start
Trigger event: First DTP dose from the primary series was administered
Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 1
Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines"
Create condition: For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule.
If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection.
Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood.
<br/>
<b>If:</b>
<i>Applicability:</i>
DTP dose 2 (delayed start)
<i>(DTP dose 2 (delayed start))</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>(DTP dose 2 (delayed start) 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> DTP dose 3 (delayed start):</b> Provision of DTP dose 3 with a delayed start
Trigger event: Second DTP dose from the primary series was administered
Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 2
Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines"
Create condition: For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule.
If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection.
Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood.
<br/>
<b>If:</b>
<i>Applicability:</i>
DTP dose 3 (delayed start)
<i>(DTP dose 3 (delayed start))</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>(DTP dose 3 (delayed start) 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> Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start):</b> Provision of tetanus and diphtheria booster dose 1
Trigger event: The primary DTP series has been completed
Trigger pseudo: "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "DTP-containing vaccines")
Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines"
Create condition: Two subsequent booster doses using tetanus toxoid with reduced diphteria toxoid (Td) or Td with acellular pertussis (TdaP) combination vaccines are needed with an interval of at least 1 year between doses.
<br/>
<b>If:</b>
<i>Applicability:</i>
Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start)
<i>(Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start))</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>(Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start) 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> Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start):</b> Provision of tetanus and diphtheria booster dose 2
Trigger event: First tetanus and diphtheria booster dose was administered
Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines" and "Type of dose" = "Booster dose") = 1
Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines")
Create condition: Two subsequent booster doses using tetanus toxoid with reduced diphteria toxoid (Td) or Td with acellular pertussis (TdaP) combination vaccines are needed with an interval of at least 1 year between doses.
<br/>
<b>If:</b>
<i>Applicability:</i>
Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start)
<i>(Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start))</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>(Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start) 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> Pertussis-containing vaccine booster dose 1 (delayed start):</b> Provision of the pertussis-containing booster dose 1
Trigger event: The primary DTP series has been completed and client's age is between 1 year and 6 years
Trigger pseudo: "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "DTP-containing vaccines") AND 1 year ≤ Today's date − "Date of birth" ≤ 6 years
Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines")
Create condition: A booster dose is recommended for children aged 1–6 years, preferably during the second year of life (≥ 6 months after last primary dose).
<br/>
<b>If:</b>
<i>Applicability:</i>
Pertussis-containing vaccine booster dose 1 (delayed start)
<i>(Pertussis-containing vaccine booster dose 1 (delayed start))</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>(Pertussis-containing vaccine booster dose 1 (delayed start) 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="IMMZD2DTDTPElements"/>
</extension>
<extension url="name">
<valueString value="DTP Doses Administered to Patient"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: DTP containing Doses Administered to Patient
*/
define "DTP Doses Administered to Patient":
Elements."Doses Administered to Patient" I
where
I.vaccineCode in Concepts."DTP-containing vaccines""/>
</extension>
<extension url="displaySequence">
<valueInteger value="1"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPElements"/>
</extension>
<extension url="name">
<valueString
value="DTP Primary Series Doses Administered to Patient"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: DTP containing Doses Administered to Patient that are in the Primary series
*/
define "DTP Primary Series Doses Administered to Patient":
"DTP Doses Administered to Patient".seriesPrimary()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="2"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="DTP Primary Series Doses Administered to Patient"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: DTP containing Doses Administered to Patient that are in the Primary series
*/
define "DTP Primary Series Doses Administered to Patient":
DTPElements."DTP Primary Series Doses Administered to Patient".onOrBefore(Today)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="3"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Number of DTP Primary Series Doses Administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Number of DTP Primary Series doses
*/
define "Number of DTP Primary Series Doses Administered":
Count("DTP 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="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Three DTP primary series doses were administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Three DTP primary series doses were administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 3
@code: Three DTP primary series doses were administered-123
@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)
@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age
@decision: IMMZ.D2.DT.DTP.Pregnancy: Determine whether DTP-containing vaccines are needed for pregnant women
@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 3 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses
@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 4 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood DTP doses
*/
define "Three DTP primary series doses were administered":
"Number of DTP Primary Series Doses Administered" = 3"/>
</extension>
<extension url="displaySequence">
<valueInteger value="5"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString
value="Third DTP dose from the primary series was administered. The primary DTP series has been completed"/>
</extension>
<extension url="statement">
<valueString
value="/*
@complete: Third DTP dose from the primary series was administered. The primary DTP series has been completed
@pseudocode: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 3
"Completed the primary vaccination series" = TRUE (where "Vaccine type" = "DTP-containing vaccines")
*/
define "Third DTP dose from the primary series was administered. The primary DTP series has been completed":
Encounter."Three DTP primary series doses were administered""/>
</extension>
<extension url="displaySequence">
<valueInteger value="6"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPElements"/>
</extension>
<extension url="name">
<valueString value="Td Doses Administered to Patient"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Td Doses Administered to Patient
*/
define "Td Doses Administered to Patient":
Elements."Doses Administered to Patient" I
where
I.vaccineCode in Concepts."Tetanus and diphtheria-containing vaccines""/>
</extension>
<extension url="displaySequence">
<valueInteger value="7"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPElements"/>
</extension>
<extension url="name">
<valueString
value="Td Booster Series Doses Administered to Patient"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Td Booster Series Doses Administered to Patient
*/
define "Td Booster Series Doses Administered to Patient":
"Td Doses Administered to Patient".seriesBooster()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="8"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Td Booster Series Doses Administered to Patient"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Td Booster Series Doses Administered to Patient
*/
define "Td Booster Series Doses Administered to Patient":
DTPElements."Td Booster Series Doses Administered to Patient".onOrBefore(Today)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="9"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Number of Td Booster Series Doses Administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Number of Td Booster Series Doses Administered
*/
define "Number of Td Booster Series Doses Administered":
Count("Td Booster Series Doses Administered to Patient")"/>
</extension>
<extension url="displaySequence">
<valueInteger value="10"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="No tetanus and diphtheria booster doses were administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: No tetanus and diphtheria booster doses were administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines" and "Type of dose" = "Booster dose") = 0
@code: No tetanus and diphtheria booster doses were administered-140
@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)
@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age
@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 3 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses
*/
define "No tetanus and diphtheria booster doses were administered":
"Number of Td Booster Series Doses Administered" = 0"/>
</extension>
<extension url="displaySequence">
<valueInteger value="11"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString
value="Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start)"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start)
@description: Provision of tetanus and diphtheria booster dose 1
@trigger: The primary DTP series has been completed
@pseudo: "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "DTP-containing vaccines")
@triggerDate: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines"
*/
define "Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start)":
"Third DTP dose from the primary series was administered. The primary DTP series has been completed" and
Encounter."No tetanus and diphtheria booster doses were administered""/>
</extension>
<extension url="displaySequence">
<valueInteger value="12"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString value="DTP Doses Administered to Patient"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: DTP containing Doses Administered to Patient
*/
define "DTP Doses Administered to Patient":
DTPElements."DTP Doses Administered to Patient".onOrBefore(Today)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="13"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Date of Latest DTP Dose"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Date of Latest DTP Dose
*/
define "Date of Latest DTP Dose":
date from start of "DTP 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="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString
value="Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start) Due Date"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dynamicValue: Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start) Due Date
@pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") + 1 year
*/
define "Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start) Due Date":
if "Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start)" then Encounter."Date of Latest DTP Dose" + 1 year
else null"/>
</extension>
<extension url="displaySequence">
<valueInteger value="15"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString
value="Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start) Create"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start) Create
@create: Two subsequent booster doses using tetanus toxoid with reduced diphteria toxoid (Td) or Td with acellular pertussis (TdaP) combination vaccines are needed with an interval of at least 1 year between doses.
*/
define "Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start) Create":
if "Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start)"
then 'Two subsequent booster doses using tetanus toxoid with reduced diphteria toxoid (Td) or Td with acellular pertussis (TdaP) combination vaccines are needed with an interval of at least 1 year between doses.' + '
Due Date: ' + ToString("Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start) Due Date")
else ''"/>
</extension>
<extension url="displaySequence">
<valueInteger value="16"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="One tetanus and diphtheria booster dose was administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: One tetanus and diphtheria booster dose was administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines" and "Type of dose" = "Booster dose") = 1
@code: One tetanus and diphtheria booster dose was administered-140
@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)
@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age
@decision: IMMZ.D2.DT.DTP.Pregnancy: Determine whether DTP-containing vaccines are needed for pregnant women
@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 4 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood DTP doses
*/
define "One tetanus and diphtheria booster dose was administered":
"Number of Td Booster Series Doses Administered" = 1"/>
</extension>
<extension url="displaySequence">
<valueInteger value="17"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString
value="First tetanus and diphtheria booster dose was administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@complete: First tetanus and diphtheria booster dose was administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines" and "Type of dose" = "Booster dose") = 1
*/
define "First tetanus and diphtheria booster dose was administered":
Encounter."One tetanus and diphtheria booster dose was administered""/>
</extension>
<extension url="displaySequence">
<valueInteger value="18"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Two tetanus and diphtheria booster doses were administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Two tetanus and diphtheria booster doses were administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines" and "Type of dose" = "Booster dose") = 2
@code: Two tetanus and diphtheria booster doses were administered-140
@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)
@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age
@decision: IMMZ.D2.DT.DTP.Pregnancy: Determine whether DTP-containing vaccines are needed for pregnant women
@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 3 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses
@decision: IMMZ.D2.DT.DTP.Pregnancy starting with 4 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood DTP doses
*/
define "Two tetanus and diphtheria booster doses were administered":
"Number of Td Booster Series Doses Administered" = 2"/>
</extension>
<extension url="displaySequence">
<valueInteger value="19"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString
value="Second tetanus and diphtheria booster dose was administered. Tetanus and diphtheria immunization schedule has been completed"/>
</extension>
<extension url="statement">
<valueString
value="/*
@complete: Second tetanus and diphtheria booster dose was administered. Tetanus and diphtheria immunization schedule has been completed
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines" and "Type of dose" = "Booster dose") = 2
"Immunization recommendation status" = "Complete" (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines")
*/
define "Second tetanus and diphtheria booster dose was administered. Tetanus and diphtheria immunization schedule has been completed":
Encounter."Two tetanus and diphtheria booster doses were administered""/>
</extension>
<extension url="displaySequence">
<valueInteger value="20"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString
value="Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start)"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start)
@description: Provision of tetanus and diphtheria booster dose 2
@trigger: First tetanus and diphtheria booster dose was administered
@pseudo: Count of vaccines administered (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines" and "Type of dose" = "Booster dose") = 1
@triggerDate: Latest "Date and time of vaccination" (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines")
*/
define "Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start)":
"First tetanus and diphtheria booster dose was administered" and
not "Second tetanus and diphtheria booster dose was administered. Tetanus and diphtheria immunization schedule has been completed""/>
</extension>
<extension url="displaySequence">
<valueInteger value="21"/>
</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="22"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Client's age is between 1 year and 6 years"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Client's age is between 1 year and 6 years
@pseudocode: 1 year ≤ Today's date − "Date of birth" ≤ 6 years
@code: Client's age is between 1 year and 6 years-49
@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)
@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age
*/
define "Client's age is between 1 year and 6 years":
1 <= Encounter."Current Patient Age In Years"
and Encounter."Current Patient Age In Years" <= 6"/>
</extension>
<extension url="displaySequence">
<valueInteger value="23"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString
value="Pertussis-containing vaccine booster dose 1 (delayed start) Expiration"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dynamicValue: Pertussis-containing vaccine booster dose 1 (delayed start) Expiration
@pseudocode: "Date of birth" + 7 years
*/
define "Pertussis-containing vaccine booster dose 1 (delayed start) Expiration":
Patient.birthDate + 7 years"/>
</extension>
<extension url="displaySequence">
<valueInteger value="24"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPElements"/>
</extension>
<extension url="name">
<valueString value="Pertussis Doses Administered to Patient"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Pertussis Doses Administered to Patient
*/
define "Pertussis Doses Administered to Patient":
Elements."Doses Administered to Patient" I
where
I.vaccineCode in Concepts."Pertussis-containing vaccines""/>
</extension>
<extension url="displaySequence">
<valueInteger value="25"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPElements"/>
</extension>
<extension url="name">
<valueString
value="Pertussis Booster Series Doses Administered to Patient"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Pertussis Booster Series Doses Administered to Patient
*/
define "Pertussis Booster Series Doses Administered to Patient":
"Pertussis Doses Administered to Patient".seriesBooster()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="26"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Pertussis Booster Series Doses Administered to Patient"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Pertussis Booster Series Doses Administered to Patient
*/
define "Pertussis Booster Series Doses Administered to Patient":
DTPElements."Pertussis Booster Series Doses Administered to Patient".onOrBefore(Today)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="27"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Number of Pertussis Booster Series Doses Administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Number of Pertussis Booster Series Doses Administered
*/
define "Number of Pertussis Booster Series Doses Administered":
Count("Pertussis Booster Series Doses Administered to Patient")"/>
</extension>
<extension url="displaySequence">
<valueInteger value="28"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString value="One pertussis booster dose was administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: One pertussis booster dose was administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Pertussis-containing vaccines" and "Type of dose" = "Booster dose") = 1
@code: One pertussis booster dose was administered-127
@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)
@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age
*/
define "One pertussis booster dose was administered":
"Number of Pertussis Booster Series Doses Administered" = 1"/>
</extension>
<extension url="displaySequence">
<valueInteger value="29"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString
value="Pertussis-containing booster dose was administered. Pertussis immunization schedule has been completed"/>
</extension>
<extension url="statement">
<valueString
value="/*
@complete: Pertussis-containing booster dose was administered. Pertussis immunization schedule has been completed
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Pertussis-containing vaccines" and "Type of dose" = "Booster dose") = 1
"Immunization recommendation status" = "Complete" (where "Vaccine type" = "Pertussis-containing vaccines")
*/
define "Pertussis-containing booster dose was administered. Pertussis immunization schedule has been completed":
Encounter."One pertussis booster dose was administered""/>
</extension>
<extension url="displaySequence">
<valueInteger value="30"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString
value="Pertussis-containing vaccine booster dose 1 (delayed start)"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Pertussis-containing vaccine booster dose 1 (delayed start)
@description: Provision of the pertussis-containing booster dose 1
@trigger: The primary DTP series has been completed and client's age is between 1 year and 6 years
@pseudo: "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "DTP-containing vaccines") AND 1 year ≤ Today's date − "Date of birth" ≤ 6 years
@triggerDate: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines")
*/
define "Pertussis-containing vaccine booster dose 1 (delayed start)":
"Third DTP dose from the primary series was administered. The primary DTP series has been completed" and
Encounter."Client's age is between 1 year and 6 years" and
"Pertussis-containing vaccine booster dose 1 (delayed start) Expiration" after day of Today and
not "Pertussis-containing booster dose was administered. Pertussis immunization schedule has been completed""/>
</extension>
<extension url="displaySequence">
<valueInteger value="31"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Pertussis Doses Administered to Patient"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Pertussis Doses Administered to Patient
*/
define "Pertussis Doses Administered to Patient":
DTPElements."Pertussis Doses Administered to Patient".onOrBefore(Today)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="32"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Date of Latest Pertussis Dose"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Date of Latest Pertussis Dose
*/
define "Date of Latest Pertussis Dose":
date from start of "Pertussis Doses Administered to Patient".mostRecent().occurrence.toInterval()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="33"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString
value="Pertussis-containing vaccine booster dose 1 (delayed start) Due Date"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dynamicValue: Pertussis-containing vaccine booster dose 1 (delayed start) Due Date
@pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "Pertussis-containing vaccines") + 6 months
*/
define "Pertussis-containing vaccine booster dose 1 (delayed start) Due Date":
if "Pertussis-containing vaccine booster dose 1 (delayed start)" then Encounter."Date of Latest Pertussis Dose" + 6 months
else null"/>
</extension>
<extension url="displaySequence">
<valueInteger value="34"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString
value="Pertussis-containing vaccine booster dose 1 (delayed start) Overdue"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dynamicValue: Pertussis-containing vaccine booster dose 1 (delayed start) Overdue
@pseudocode: "Date of birth" + 7 years
*/
define "Pertussis-containing vaccine booster dose 1 (delayed start) Overdue":
if "Pertussis-containing vaccine booster dose 1 (delayed start)" then Patient.birthDate + 7 years
else null"/>
</extension>
<extension url="displaySequence">
<valueInteger value="35"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString
value="Pertussis-containing vaccine booster dose 1 (delayed start) Create"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Pertussis-containing vaccine booster dose 1 (delayed start) Create
@create: A booster dose is recommended for children aged 1–6 years, preferably during the second year of life (≥ 6 months after last primary dose).
*/
define "Pertussis-containing vaccine booster dose 1 (delayed start) Create":
if "Pertussis-containing vaccine booster dose 1 (delayed start)"
then 'A booster dose is recommended for children aged 1–6 years, preferably during the second year of life (≥ 6 months after last primary dose).' + '
Due Date: ' + ToString("Pertussis-containing vaccine booster dose 1 (delayed start) Due Date") + '
Overdue: ' + ToString("Pertussis-containing vaccine booster dose 1 (delayed start) Overdue") + '
Expiration: ' + ToString("Pertussis-containing vaccine booster dose 1 (delayed start) Expiration")
else ''"/>
</extension>
<extension url="displaySequence">
<valueInteger value="36"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString
value="Two DTP primary series doses were administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Two DTP primary series doses were administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 2
@code: Two DTP primary series doses were administered-123
@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)
@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age
*/
define "Two DTP primary series doses were administered":
"Number of DTP Primary Series Doses Administered" = 2"/>
</extension>
<extension url="displaySequence">
<valueInteger value="37"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString
value="Second DTP dose from the primary series was administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@complete: Second DTP dose from the primary series was administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 2
*/
define "Second DTP dose from the primary series was administered":
Encounter."Two DTP primary series doses were administered""/>
</extension>
<extension url="displaySequence">
<valueInteger value="38"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString value="DTP dose 3 (delayed start)"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: DTP dose 3 (delayed start)
@description: Provision of DTP dose 3 with a delayed start
@trigger: Second DTP dose from the primary series was administered
@pseudo: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 2
@triggerDate: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines"
*/
define "DTP dose 3 (delayed start)":
"Second DTP dose from the primary series was administered" and
not "Third DTP dose from the primary series was administered. The primary DTP series has been completed""/>
</extension>
<extension url="displaySequence">
<valueInteger value="39"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString value="DTP dose 3 (delayed start) Due Date"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dynamicValue: DTP dose 3 (delayed start) Due Date
@pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") + 6 months
*/
define "DTP dose 3 (delayed start) Due Date":
if "DTP dose 3 (delayed start)" then Encounter."Date of Latest DTP Dose" + 6 months
else null"/>
</extension>
<extension url="displaySequence">
<valueInteger value="40"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString value="DTP dose 3 (delayed start) Create"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: DTP dose 3 (delayed start) Create
@create: For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule.
If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection.
Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood.
*/
define "DTP dose 3 (delayed start) Create":
if "DTP dose 3 (delayed start)"
then 'For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule.
If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection.
Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood.' + '
Due Date: ' + ToString("DTP dose 3 (delayed start) Due Date")
else ''"/>
</extension>
<extension url="displaySequence">
<valueInteger value="41"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString value="No DTP primary series doses were administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: No DTP primary series doses were administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 0
@code: No DTP primary series doses were administered-123
@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)
@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age
@decision: IMMZ.D2.DT.DTP.Pregnancy: Determine whether DTP-containing vaccines are needed for pregnant women
*/
define "No DTP primary series doses were administered":
"Number of DTP Primary Series Doses Administered" = 0"/>
</extension>
<extension url="displaySequence">
<valueInteger value="42"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Client's age is more than 1 year"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: Client's age is more than 1 year
@pseudocode: Today's date − "Date of birth" > 1 year
@code: Client's age is more than 1 year-39
@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age
*/
define "Client's age is more than 1 year":
Encounter."Current Patient Age In Years" >= 1"/>
</extension>
<extension url="displaySequence">
<valueInteger value="43"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString value="DTP dose 1 (delayed start)"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: DTP dose 1 (delayed start)
@description: Provision of DTP dose 1 with a delayed start
@trigger: No DTP doses were administered and client's age is more than 1 year
@pseudo: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines") = 0 AND Today's date − "Date of birth" > 1 year
@triggerDate: Date of birth
*/
define "DTP dose 1 (delayed start)":
Encounter."No DTP primary series doses were administered"
and Encounter."Client's age is more than 1 year""/>
</extension>
<extension url="displaySequence">
<valueInteger value="44"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString value="DTP dose 1 (delayed start) Due Date"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dynamicValue: DTP dose 1 (delayed start) Due Date
@pseudocode: As soon as possible
*/
define "DTP dose 1 (delayed start) Due Date":
if "DTP dose 1 (delayed start)" then Patient.birthDate + 1 year
else null"/>
</extension>
<extension url="displaySequence">
<valueInteger value="45"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString value="DTP dose 1 (delayed start) Create"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: DTP dose 1 (delayed start) Create
@create: For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule.
If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection.
Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood.
*/
define "DTP dose 1 (delayed start) Create":
if "DTP dose 1 (delayed start)"
then 'For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule.
If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection.
Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood.' + '
Due Date: ' + ToString("DTP dose 1 (delayed start) Due Date")
else ''"/>
</extension>
<extension url="displaySequence">
<valueInteger value="46"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString value="One DTP primary series dose was administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@input: One DTP primary series dose was administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 1
@code: One DTP primary series dose was administered-123
@decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age)
@decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age
*/
define "One DTP primary series dose was administered":
"Number of DTP Primary Series Doses Administered" = 1"/>
</extension>
<extension url="displaySequence">
<valueInteger value="47"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString
value="First DTP dose from the primary series was administered"/>
</extension>
<extension url="statement">
<valueString
value="/*
@complete: First DTP dose from the primary series was administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 1
*/
define "First DTP dose from the primary series was administered":
Encounter."One DTP primary series dose was administered""/>
</extension>
<extension url="displaySequence">
<valueInteger value="48"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString value="DTP dose 2 (delayed start)"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: DTP dose 2 (delayed start)
@description: Provision of DTP dose 2 with a delayed start
@trigger: First DTP dose from the primary series was administered
@pseudo: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 1
@triggerDate: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines"
*/
define "DTP dose 2 (delayed start)":
"First DTP dose from the primary series was administered" and
not "Second DTP dose from the primary series was administered""/>
</extension>
<extension url="displaySequence">
<valueInteger value="49"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString value="DTP dose 2 (delayed start) Due Date"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dynamicValue: DTP dose 2 (delayed start) Due Date
@pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") + 4 weeks
*/
define "DTP dose 2 (delayed start) Due Date":
if "DTP dose 2 (delayed start)" then Encounter."Date of Latest DTP Dose" + 4 weeks
else null"/>
</extension>
<extension url="displaySequence">
<valueInteger value="50"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString value="DTP dose 2 (delayed start) Create"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: DTP dose 2 (delayed start) Create
@create: For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule.
If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection.
Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood.
*/
define "DTP dose 2 (delayed start) Create":
if "DTP dose 2 (delayed start)"
then 'For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule.
If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection.
Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood.' + '
Due Date: ' + ToString("DTP dose 2 (delayed start) Due Date")
else ''"/>
</extension>
<extension url="displaySequence">
<valueInteger value="51"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Td Doses Administered to Patient"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Td Doses Administered to Patient
*/
define "Td Doses Administered to Patient":
DTPElements."Td Doses Administered to Patient".onOrBefore(Today)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="52"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD2DTDTPEncounterElements"/>
</extension>
<extension url="name">
<valueString value="Date of Latest Td Dose"/>
</extension>
<extension url="statement">
<valueString
value="/*
@internal: Date of Latest Td Dose
*/
define "Date of Latest Td Dose":
date from start of "Td Doses Administered to Patient".mostRecent().occurrence.toInterval()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="53"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString
value="Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start) Due Date"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dynamicValue: Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start) Due Date
@pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines") + 1 year
*/
define "Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start) Due Date":
if "Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start)" then Encounter."Date of Latest Td Dose" + 1 year
else null"/>
</extension>
<extension url="displaySequence">
<valueInteger value="54"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
</extension>
<extension url="name">
<valueString
value="Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start) Create"/>
</extension>
<extension url="statement">
<valueString
value="/*
@output: Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start) Create
@create: Two subsequent booster doses using tetanus toxoid with reduced diphteria toxoid (Td) or Td with acellular pertussis (TdaP) combination vaccines are needed with an interval of at least 1 year between doses.
*/
define "Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start) Create":
if "Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start)"
then 'Two subsequent booster doses using tetanus toxoid with reduced diphteria toxoid (Td) or Td with acellular pertussis (TdaP) combination vaccines are needed with an interval of at least 1 year between doses.' + '
Due Date: ' + ToString("Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start) Due Date")
else ''"/>
</extension>
<extension url="displaySequence">
<valueInteger value="55"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="IMMZCommon"/>
</extension>
<extension url="name">
<valueString value="onOrBefore"/>
</extension>
<extension url="statement">
<valueString
value="/**
* @description: Gets immunizations on or before a date
*/
define fluent function onOrBefore(immunizations List<Immunization>, beforeDate Date):
immunizations I where
I.occurrence.toInterval() same day or before beforeDate"/>
</extension>
<extension url="displaySequence">
<valueInteger value="56"/>
</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="57"/>
</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="58"/>
</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="59"/>
</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="60"/>
</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="61"/>
</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="62"/>
</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="63"/>
</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="64"/>
</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="65"/>
</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/IMMZD2DTDTPEncounterElements"/>
</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 DTPElements"/>
<resource
value="http://smart.who.int/immunizations/Library/IMMZD2DTDTPElements"/>
</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 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 Encounter"/>
<resource
value="http://smart.who.int/immunizations/Library/IMMZEncounterElements"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set DTP-containing vaccines"/>
<resource
value="http://smart.who.int/immunizations/ValueSet/IMMZ.Z.DE24"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Tetanus and diphtheria-containing vaccines"/>
<resource
value="http://smart.who.int/immunizations/ValueSet/IMMZ.Z.DE28"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Pertussis-containing vaccines"/>
<resource
value="http://smart.who.int/immunizations/ValueSet/IMMZ.Z.DE12"/>
</relatedArtifact>
<parameter>
<name value="Today"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="date"/>
</parameter>
<parameter>
<name
value="Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start) Create"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name
value="Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start)"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="Pertussis-containing vaccine booster dose 1 (delayed start) Create"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="DTP dose 3 (delayed start) Create"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="DTP dose 1 (delayed start) Create"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="DTP dose 2 (delayed start)"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="DTP dose 2 (delayed start) Create"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name
value="Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start)"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="DTP dose 3 (delayed start)"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="Pertussis-containing vaccine booster dose 1 (delayed start)"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="DTP dose 1 (delayed start)"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start) 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="vaccineCode"/>
</dataRequirement>
<dataRequirement>
<type value="Immunization"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
<mustSupport value="status"/>
<mustSupport value="isSubpotent"/>
<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="Immunization"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
<mustSupport value="status"/>
<mustSupport value="isSubpotent"/>
<mustSupport value="vaccineCode"/>
</dataRequirement>
<dataRequirement>
<type value="Immunization"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
<mustSupport value="status"/>
<mustSupport value="isSubpotent"/>
<mustSupport value="vaccineCode"/>
</dataRequirement>
<dataRequirement>
<type value="Immunization"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
<mustSupport value="status"/>
<mustSupport value="isSubpotent"/>
<mustSupport value="vaccineCode"/>
</dataRequirement>
<dataRequirement>
<type value="Immunization"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
<mustSupport value="status"/>
<mustSupport value="isSubpotent"/>
<mustSupport value="vaccineCode"/>
</dataRequirement>
<dataRequirement>
<type value="Immunization"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
<mustSupport value="status"/>
<mustSupport value="isSubpotent"/>
<mustSupport value="vaccineCode"/>
</dataRequirement>
<dataRequirement>
<type value="Immunization"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
<mustSupport value="status"/>
<mustSupport value="isSubpotent"/>
<mustSupport value="vaccineCode"/>
</dataRequirement>
<dataRequirement>
<type value="Immunization"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
<mustSupport value="status"/>
<mustSupport value="isSubpotent"/>
<mustSupport value="vaccineCode"/>
</dataRequirement>
<dataRequirement>
<type value="Immunization"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
<mustSupport value="status"/>
<mustSupport value="isSubpotent"/>
<mustSupport value="vaccineCode"/>
</dataRequirement>
<dataRequirement>
<type value="Immunization"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
<mustSupport value="status"/>
<mustSupport value="isSubpotent"/>
<mustSupport value="vaccineCode"/>
</dataRequirement>
<dataRequirement>
<type value="Immunization"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
<mustSupport value="status"/>
<mustSupport value="isSubpotent"/>
<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/IMMZD18SDTPDelayedOrInterruptedSeries"/>
<version value="0.2.0"/>
<name value="IMMZD18SDTPDelayedOrInterruptedSeries"/>
<title value="IMMZ.D18.S.DTP.Delayed or interrupted 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.DTP.Delayed or interrupted schedule
Diphtheria–tetanus–pertussis (DTP) vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age"/>
<relatedArtifact>
<type value="citation"/>
<citation
value="WHO recommendations for routine immunization - summary tables (January 2025)"/>
</relatedArtifact>
<library
value="http://smart.who.int/immunizations/Library/IMMZD18SDTPDelayedOrInterruptedSeriesLogic"/>
<action>
<title value="DTP dose 1 (delayed start)"/>
<description
value="Provision of DTP dose 1 with a delayed start
Trigger event: No DTP doses were administered and client's age is more than 1 year
Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines") = 0 AND Today's date − "Date of birth" > 1 year
Trigger date: Date of birth
Create condition: For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule.
If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection.
Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood."/>
<condition>
<kind value="applicability"/>
<expression>
<description value="DTP dose 1 (delayed start)"/>
<language value="text/cql-identifier"/>
<expression value="DTP dose 1 (delayed start)"/>
</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="DTP dose 1 (delayed start) 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="DTP dose 2 (delayed start)"/>
<description
value="Provision of DTP dose 2 with a delayed start
Trigger event: First DTP dose from the primary series was administered
Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 1
Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines"
Create condition: For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule.
If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection.
Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood."/>
<condition>
<kind value="applicability"/>
<expression>
<description value="DTP dose 2 (delayed start)"/>
<language value="text/cql-identifier"/>
<expression value="DTP dose 2 (delayed start)"/>
</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="DTP dose 2 (delayed start) 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="DTP dose 3 (delayed start)"/>
<description
value="Provision of DTP dose 3 with a delayed start
Trigger event: Second DTP dose from the primary series was administered
Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 2
Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines"
Create condition: For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule.
If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection.
Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood."/>
<condition>
<kind value="applicability"/>
<expression>
<description value="DTP dose 3 (delayed start)"/>
<language value="text/cql-identifier"/>
<expression value="DTP dose 3 (delayed start)"/>
</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="DTP dose 3 (delayed start) 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="Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start)"/>
<description
value="Provision of tetanus and diphtheria booster dose 1
Trigger event: The primary DTP series has been completed
Trigger pseudo: "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "DTP-containing vaccines")
Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines"
Create condition: Two subsequent booster doses using tetanus toxoid with reduced diphteria toxoid (Td) or Td with acellular pertussis (TdaP) combination vaccines are needed with an interval of at least 1 year between doses."/>
<condition>
<kind value="applicability"/>
<expression>
<description
value="Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start)"/>
<language value="text/cql-identifier"/>
<expression
value="Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start)"/>
</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="Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start) 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="Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start)"/>
<description
value="Provision of tetanus and diphtheria booster dose 2
Trigger event: First tetanus and diphtheria booster dose was administered
Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines" and "Type of dose" = "Booster dose") = 1
Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines")
Create condition: Two subsequent booster doses using tetanus toxoid with reduced diphteria toxoid (Td) or Td with acellular pertussis (TdaP) combination vaccines are needed with an interval of at least 1 year between doses."/>
<condition>
<kind value="applicability"/>
<expression>
<description
value="Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start)"/>
<language value="text/cql-identifier"/>
<expression
value="Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start)"/>
</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="Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start) 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="Pertussis-containing vaccine booster dose 1 (delayed start)"/>
<description
value="Provision of the pertussis-containing booster dose 1
Trigger event: The primary DTP series has been completed and client's age is between 1 year and 6 years
Trigger pseudo: "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "DTP-containing vaccines") AND 1 year ≤ Today's date − "Date of birth" ≤ 6 years
Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines")
Create condition: A booster dose is recommended for children aged 1–6 years, preferably during the second year of life (≥ 6 months after last primary dose)."/>
<condition>
<kind value="applicability"/>
<expression>
<description
value="Pertussis-containing vaccine booster dose 1 (delayed start)"/>
<language value="text/cql-identifier"/>
<expression
value="Pertussis-containing vaccine booster dose 1 (delayed start)"/>
</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="Pertussis-containing vaccine booster dose 1 (delayed start) 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>