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

: IMMZ.D18.S.DTP.Pregnancy starting with 4 doses schedule - XML Representation

Draft as of 2026-03-03

Raw xml | Download


<PlanDefinition xmlns="http://hl7.org/fhir">
  <id value="IMMZD18SDTPPregnancyStartingWith4Doses"/>
  <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;">IMMZD18SDTPPregnancyStartingWith4Doses</td>
        </tr>
        

        
        <tr>
            <th scope="row"><b>Url: </b></th>
            <td style="padding-left: 4px;"><a href="PlanDefinition-IMMZD18SDTPPregnancyStartingWith4Doses.html">IMMZ.D18.S.DTP.Pregnancy starting with 4 doses 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.Pregnancy starting with 4 doses 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.Pregnancy starting with 4 doses schedule
Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood diphtheria–tetanus–pertussis (DTP) doses</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-IMMZD18SDTPPregnancyStartingWith4DosesLogic.html">IMMZD18SDTPPregnancyStartingWith4DosesLogic</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> Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy):</b> Provision of tetanus and diphtheria booster dose 2 for pregnant women who received 4 tetanus-containing vaccines doses during childhood or pre-adulthood
Trigger event: The primary DTP series has been completed, first tetanus and diphtheria booster dose was administered and client is currently pregnant
Trigger pseudo: &quot;Completed the primary vaccination series&quot; = TRUE (where &quot;Vaccine type&quot; = &quot;DTP-containing vaccines&quot;) AND Count of vaccines administered where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 1 AND &quot;Currently pregnant&quot; = TRUE
Trigger date: First ANC contact date
&quot;Contact date&quot; WHEN &quot;ANC contact number&quot; = 1
Create condition: Women who received 4 tetanus-containing vaccine doses during childhood or pre-adulthood need only 1 booster dose, which should be given at the first opportunity.
                            
                            <br/>
                            
                            
                            <b>If:</b>
                            
                            <i>Applicability:</i>
                            
                            Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy)
                            
                            <i>(Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy))</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 (during pregnancy) 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 3:</b> Provision of tetanus and diphtheria booster dose 3 for pregnant women who received 4 tetanus-containing vaccines doses during childhood or pre-adulthood
Trigger event: Second tetanus and diphtheria booster dose was administered
Trigger pseudo: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 2
Trigger date: Latest &quot;Date and time of vaccination&quot; where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot;
Create condition: To provide lifelong protection for tetanus, a sixth dose should be provided at least 1 year after the fifth dose, or in next pregnancy.
                            
                            <br/>
                            
                            
                            <b>If:</b>
                            
                            <i>Applicability:</i>
                            
                            Tetanus and diphtheria-containing vaccine booster dose 3
                            
                            <i>(Tetanus and diphtheria-containing vaccine booster dose 3)</i>
                            <br/>
                            
                            
                            
                            
                            <b>Then:</b> <i>Definition:</i> <a href="ActivityDefinition-IMMZD2DTCR.html">IMMZ.D2.DT.CR</a><br/>
                            
                            <i>Dynamic Values:</i><br/>
                            
                            status: <i>('active')</i>
                            <br/>
                            
                            payload.contentString: <i>(Tetanus and diphtheria-containing vaccine booster dose 3 Create)</i>
                            <br/>
                            
                            category.coding: <i>(Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' })</i>
                            <br/>
                            
                            priority: <i>(Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' })</i>
                            <br/>
                            
                            
                            
                            
                        </td>
                    </tr>
                    
                </table>
            </td>
        </tr>
        
    </table>
</div>
</div>
  </text>
  <contained>
    <Library>
      <id value="effective-data-requirements"/>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
        <valueCoding>
          <system
                  value="http://smart.who.int/immunizations/CodeSystem/IMMZ.D"/>
          <code value="DE161"/>
          <display value="Potential contraindications"/>
        </valueCoding>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
        <valueCoding>
          <system
                  value="http://smart.who.int/immunizations/CodeSystem/IMMZ.D"/>
          <code value="DE162"/>
          <display value="Currently pregnant"/>
        </valueCoding>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
        <valueCoding>
          <system
                  value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
          <code value="active"/>
        </valueCoding>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
        <valueCoding>
          <system
                  value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
          <code value="recurrence"/>
        </valueCoding>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
        <valueCoding>
          <system
                  value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
          <code value="relapse"/>
        </valueCoding>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
        <valueCoding>
          <system value="http://loinc.org"/>
          <code value="82810-3"/>
          <display value="Pregnancy status"/>
        </valueCoding>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
        <valueCoding>
          <system value="http://loinc.org"/>
          <code value="LA15173-0"/>
          <display value="Pregnant"/>
        </valueCoding>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZElements"/>
        </extension>
        <extension url="name">
          <valueString value="Doses Administered to Patient"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/**
 * @dataElement All Doses Administered to Patient
 */
define &quot;Doses Administered to Patient&quot;:
  [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="Td Doses Administered to Patient"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@internal: Td Doses Administered to Patient
*/
define &quot;Td Doses Administered to Patient&quot;:
  Elements.&quot;Doses Administered to Patient&quot; I
  where
    I.vaccineCode in Concepts.&quot;Tetanus and diphtheria-containing vaccines&quot;"/>
        </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="Td Booster Series Doses Administered to Patient"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@internal: Td Booster Series Doses Administered to Patient
*/
define &quot;Td Booster Series Doses Administered to Patient&quot;:
  &quot;Td Doses Administered to Patient&quot;.seriesBooster()"/>
        </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="Td Booster Series Doses Administered to Patient"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@internal: Td Booster Series Doses Administered to Patient
*/
define &quot;Td Booster Series Doses Administered to Patient&quot;:
  DTPElements.&quot;Td Booster Series Doses Administered to Patient&quot;.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 Td Booster Series Doses Administered"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@internal: Number of Td Booster Series Doses Administered
*/
define &quot;Number of Td Booster Series Doses Administered&quot;:
  Count(&quot;Td Booster Series Doses Administered to Patient&quot;)"/>
        </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="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 &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 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 &quot;Two tetanus and diphtheria booster doses were administered&quot;:
  &quot;Number of Td Booster Series Doses Administered&quot; = 2"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="5"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SDTPPregnancyStartingWith4DosesLogic"/>
        </extension>
        <extension url="name">
          <valueString
                       value="Second tetanus and diphtheria booster dose was administered"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@complete: Second tetanus and diphtheria booster dose was administered
@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 2
*/
define &quot;Second tetanus and diphtheria booster dose was administered&quot;:
  Encounter.&quot;Two tetanus and diphtheria booster doses were administered&quot;"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="6"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD2DTDTPEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString
                       value="Three tetanus and diphtheria booster doses were administered"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@input: Three tetanus and diphtheria booster doses were administered
@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 3
@code: Three 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.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 &quot;Three tetanus and diphtheria booster doses were administered&quot;:
  &quot;Number of Td Booster Series Doses Administered&quot; = 3"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="7"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SDTPPregnancyStartingWith4DosesLogic"/>
        </extension>
        <extension url="name">
          <valueString
                       value="Third tetanus and diphtheria-containing booster dose was administered. Tetanus and diphtheria immunization schedule has been completed."/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@complete: Third tetanus and diphtheria-containing booster dose was administered. Tetanus and diphtheria immunization schedule has been completed.
@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 3
&quot;Immunization recommendation status&quot; = &quot;Complete&quot; (where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot;)
*/
define &quot;Third tetanus and diphtheria-containing booster dose was administered. Tetanus and diphtheria immunization schedule has been completed.&quot;:
  Encounter.&quot;Three tetanus and diphtheria booster doses were administered&quot;"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="8"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SDTPPregnancyStartingWith4DosesLogic"/>
        </extension>
        <extension url="name">
          <valueString
                       value="Tetanus and diphtheria-containing vaccine booster dose 3"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@output: Tetanus and diphtheria-containing vaccine booster dose 3
@description: Provision of tetanus and diphtheria booster dose 3 for pregnant women who received 4 tetanus-containing vaccines doses during childhood or pre-adulthood
@trigger: Second tetanus and diphtheria booster dose was administered
@pseudo: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 2
@triggerDate: Latest &quot;Date and time of vaccination&quot; where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot;
*/
define &quot;Tetanus and diphtheria-containing vaccine booster dose 3&quot;:
  &quot;Second tetanus and diphtheria booster dose was administered&quot; and
  not &quot;Third tetanus and diphtheria-containing booster dose was administered. Tetanus and diphtheria immunization schedule has been completed.&quot;"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="9"/>
        </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 &quot;DTP Doses Administered to Patient&quot;:
  Elements.&quot;Doses Administered to Patient&quot; I
  where
    I.vaccineCode in Concepts.&quot;DTP-containing vaccines&quot;"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="10"/>
        </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 &quot;DTP Primary Series Doses Administered to Patient&quot;:
  &quot;DTP Doses Administered to Patient&quot;.seriesPrimary()"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="11"/>
        </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 &quot;DTP Primary Series Doses Administered to Patient&quot;:
  DTPElements.&quot;DTP Primary Series Doses Administered to Patient&quot;.onOrBefore(Today)"/>
        </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="Number of DTP Primary Series Doses Administered"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@internal: Number of DTP Primary Series doses
*/
define &quot;Number of DTP Primary Series Doses Administered&quot;:
  Count(&quot;DTP Primary Series Doses Administered to Patient&quot;)"/>
        </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="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 &quot;Vaccine type&quot; = &quot;DTP-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 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 &quot;Three DTP primary series doses were administered&quot;:
  &quot;Number of DTP Primary Series Doses Administered&quot; = 3"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="14"/>
        </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 &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 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 &quot;One tetanus and diphtheria booster dose was administered&quot;:
  &quot;Number of Td Booster Series Doses Administered&quot; = 1"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="15"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZElements"/>
        </extension>
        <extension url="name">
          <valueString value="Potential contraindications"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@internal: Potential contraindications observations
*/
define &quot;Potential contraindications&quot;:
  ([Observation: Concepts.&quot;Potential contraindications&quot;]).complete()"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="16"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZElements"/>
        </extension>
        <extension url="name">
          <valueString value="CI Currently pregnant Observation"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@internal: Observation for currently pregnant
*/
define &quot;CI Currently pregnant Observation&quot;:
  &quot;Potential contraindications&quot; O
    where O.value ~ Concepts.&quot;CI-Currently pregnant&quot;"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="17"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString value="CI Currently pregnant Observation"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@internal: Observation for currently pregnant
*/
define &quot;CI Currently pregnant Observation&quot;:
  Elements.&quot;CI Currently pregnant Observation&quot; O
    where O.encounter.references(EncounterId)
      or O.effective.toInterval() starts same day or after Today - 9 months"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="18"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZElements"/>
        </extension>
        <extension url="name">
          <valueString value="CI Currently pregnant Condition"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@internal: Condition for currently pregnant
*/
define &quot;CI Currently pregnant Condition&quot;:
  [Condition: Concepts.&quot;CI-Currently pregnant&quot;]"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="19"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString value="CI Currently pregnant Condition"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@internal: Condition for currently pregnant
*/
define &quot;CI Currently pregnant Condition&quot;:
  Elements.&quot;CI Currently pregnant Condition&quot; C
    where C.prevalenceInterval() includes Today"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="20"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="WHOElements"/>
        </extension>
        <extension url="name">
          <valueString value="Pregnancy Status Observation"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="define &quot;Pregnancy Status Observation&quot;:
  [Observation: Concepts.&quot;Pregnancy status&quot;] O
    where O.status in { 'final', 'amended', 'corrected' }"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="21"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="WHOElements"/>
        </extension>
        <extension url="name">
          <valueString value="Pregnant Observation"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="define &quot;Pregnant Observation&quot;:
  &quot;Pregnancy Status Observation&quot; O
    where O.value ~ Concepts.&quot;Pregnant&quot;"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="22"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="WHOEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString value="Pregnant Observation"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="define &quot;Pregnant Observation&quot;:
  Elements.&quot;Pregnant Observation&quot; O
    where O.encounter.references(EncounterId)
      or O.effective.toInterval() starts same day or after AsOf - 9 months"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="23"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString value="The client is pregnant"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@input: The client is pregnant
@pseudocode: &quot;Potential contraindications&quot; = &quot;Currently pregnant&quot;
*/
define &quot;The client is pregnant&quot;:
  exists &quot;CI Currently pregnant Observation&quot;
  or exists &quot;CI Currently pregnant Condition&quot;
  or exists WE.&quot;Pregnant Observation&quot;"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="24"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD2DTDTPEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString value="Client is currently pregnant"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@input: Client is currently pregnant
@pseudocode: &quot;Currently pregnant&quot; = TRUE
@code: Client is currently pregnant-27
@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 &quot;Client is currently pregnant&quot;:
  Encounter.&quot;The client is pregnant&quot;"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="25"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SDTPPregnancyStartingWith4DosesLogic"/>
        </extension>
        <extension url="name">
          <valueString
                       value="Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy)"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@output: Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy)
@description: Provision of tetanus and diphtheria booster dose 2 for pregnant women who received 4 tetanus-containing vaccines doses during childhood or pre-adulthood
@trigger: The primary DTP series has been completed, first tetanus and diphtheria booster dose was administered and client is currently pregnant
@pseudo: &quot;Completed the primary vaccination series&quot; = TRUE (where &quot;Vaccine type&quot; = &quot;DTP-containing vaccines&quot;) AND Count of vaccines administered where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 1 AND &quot;Currently pregnant&quot; = TRUE
@triggerDate: First ANC contact date
&quot;Contact date&quot; WHEN &quot;ANC contact number&quot; = 1
*/
define &quot;Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy)&quot;:
  Encounter.&quot;Three DTP primary series doses were administered&quot; and
  Encounter.&quot;One tetanus and diphtheria booster dose was administered&quot; and
  Encounter.&quot;Client is currently pregnant&quot; and
  not &quot;Second tetanus and diphtheria booster dose was administered&quot;"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="26"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SDTPPregnancyStartingWith4DosesLogic"/>
        </extension>
        <extension url="name">
          <valueString
                       value="Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy) Due Date"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@dynamicValue: Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy) Due Date
@pseudocode: &quot;Contact date&quot; WHEN &quot;ANC contact number&quot; = 1
*/
define &quot;Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy) Due Date&quot;:
  if &quot;Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy)&quot; then Today
  else null"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="27"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SDTPPregnancyStartingWith4DosesLogic"/>
        </extension>
        <extension url="name">
          <valueString
                       value="Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy) Overdue"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@dynamicValue: Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy) Overdue
@pseudocode: Every subsequent contact until 38 weeks
*/
define &quot;Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy) Overdue&quot;:
  if &quot;Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy)&quot; then Today
  else null"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="28"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SDTPPregnancyStartingWith4DosesLogic"/>
        </extension>
        <extension url="name">
          <valueString
                       value="Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy) Expiration"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@dynamicValue: Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy) Expiration
@pseudocode: Two weeks before birth for the pregnancy; however individuals remain eligible to be vaccinated
&quot;Gestational age&quot; &lt; 38 weeks
*/
define &quot;Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy) Expiration&quot;:
  if &quot;Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy)&quot; then 'Two weeks before birth'
  else null"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="29"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SDTPPregnancyStartingWith4DosesLogic"/>
        </extension>
        <extension url="name">
          <valueString
                       value="Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy) Create"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@output: Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy) Create
@create: Women who received 4 tetanus-containing vaccine doses during childhood or pre-adulthood need only 1 booster dose, which should be given at the first opportunity.
*/
define &quot;Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy) Create&quot;:
  if &quot;Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy)&quot;
  then 'Women who received 4 tetanus-containing vaccine doses during childhood or pre-adulthood need only 1 booster dose, which should be given at the first opportunity.' + '
Due Date: ' + ToString(&quot;Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy) Due Date&quot;) + '
Overdue: ' + ToString(&quot;Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy) Overdue&quot;) + '
Expiration: ' + &quot;Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy) Expiration&quot;
  else ''"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="30"/>
        </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 &quot;Td Doses Administered to Patient&quot;:
  DTPElements.&quot;Td Doses Administered to Patient&quot;.onOrBefore(Today)"/>
        </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="Date of Latest Td Dose"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@internal: Date of Latest Td Dose
*/
define &quot;Date of Latest Td Dose&quot;:
  date from start of &quot;Td Doses Administered to Patient&quot;.mostRecent().occurrence.toInterval()"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="32"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SDTPPregnancyStartingWith4DosesLogic"/>
        </extension>
        <extension url="name">
          <valueString
                       value="Tetanus and diphtheria-containing vaccine booster dose 3 Due Date"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@dynamicValue: Tetanus and diphtheria-containing vaccine booster dose 3 Due Date
@pseudocode: Latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot;) + 1 year or during next pregnancy
*/
define &quot;Tetanus and diphtheria-containing vaccine booster dose 3 Due Date&quot;:
  if &quot;Tetanus and diphtheria-containing vaccine booster dose 3&quot; then Encounter.&quot;Date of Latest Td Dose&quot; + 1 year
  else null"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="33"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SDTPPregnancyStartingWith4DosesLogic"/>
        </extension>
        <extension url="name">
          <valueString
                       value="Tetanus and diphtheria-containing vaccine booster dose 3 Create"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@output: Tetanus and diphtheria-containing vaccine booster dose 3 Create
@create: To provide lifelong protection for tetanus, a sixth dose should be provided at least 1 year after the fifth dose, or in next pregnancy.
*/
define &quot;Tetanus and diphtheria-containing vaccine booster dose 3 Create&quot;:
  if &quot;Tetanus and diphtheria-containing vaccine booster dose 3&quot;
  then 'To provide lifelong protection for tetanus, a sixth dose should be provided at least 1 year after the fifth dose, or in next pregnancy.' + '
Due Date: ' + ToString(&quot;Tetanus and diphtheria-containing vaccine booster dose 3 Due Date&quot;)
  else ''"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="34"/>
        </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&lt;Immunization&gt;, beforeDate Date):
  immunizations I where
    I.occurrence.toInterval() same day or before beforeDate"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="35"/>
        </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&lt;Immunization&gt;):
  immunizations I where
    exists( I.protocolApplied pa where pa.series = 'Booster dose' )"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="36"/>
        </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="37"/>
        </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="38"/>
        </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="39"/>
        </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="40"/>
        </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="41"/>
        </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&lt;Immunization&gt;):
  immunizations I where
    exists( I.protocolApplied pa where pa.series = 'Primary series' )"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="42"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="WHOCommon"/>
        </extension>
        <extension url="name">
          <valueString value="complete"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="define fluent function complete(observations List&lt;Observation&gt;):
  observations O where O.status in { 'final', 'amended', 'corrected' }"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="43"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="FHIRHelpers"/>
        </extension>
        <extension url="name">
          <valueString value="ToString"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="define function ToString(value ObservationStatus): value.value"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="44"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="WHOCommon"/>
        </extension>
        <extension url="name">
          <valueString value="references"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@description: Returns true if the given reference is to the given resourceId
@comment: Returns true if the `resourceId` parameter exactly equals the tail of the given reference.
NOTE: This function assumes resources from the same source server.
*/
define fluent function references(reference FHIR.Reference, resourceId String):
  resourceId = Last(Split(reference.reference, '/'))"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="45"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="WHOCommon"/>
        </extension>
        <extension url="name">
          <valueString value="prevalenceInterval"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@description: Returns an interval representing the normalized prevalence period of a given Condition resource.
@comment: Uses the toInterval and toAbatementInterval functions to determine the widest potential interval from
onset to abatement as specified in the given Condition.
*/
define fluent function prevalenceInterval(condition Condition):
if condition.clinicalStatus ~ &quot;active&quot;
  or condition.clinicalStatus ~ &quot;recurrence&quot;
  or condition.clinicalStatus ~ &quot;relapse&quot; then
  Interval[start of condition.onset.toInterval(), end of condition.abatementInterval()]
else
  (end of condition.abatementInterval()) abatementDate
    return 
	  if abatementDate is null then
        Interval[start of condition.onset.toInterval(), abatementDate)
      else
        Interval[start of condition.onset.toInterval(), abatementDate]"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="46"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="WHOCommon"/>
        </extension>
        <extension url="name">
          <valueString value="abatementInterval"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="// Was getting error on this for this particular choice set not being found


/*
@description: Returns an interval representing the normalized Abatement of a given Condition resource.
@comment: NOTE: Due to the complexity of determining an interval from a String, this function will throw
a run-time exception if used with a Condition instance that has a String as the abatement value.
*/
define fluent function abatementInterval(condition Condition):
  if condition.abatement is FHIR.dateTime then
    Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]
  else if condition.abatement is FHIR.Period then
    FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)
  else if condition.abatement is FHIR.string then
    Message(null as Interval&lt;DateTime&gt;, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a String value is not supported')
  else if condition.abatement is FHIR.Age then
    Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),
      FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)
  else if condition.abatement is FHIR.Range then
    Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((condition.abatement as FHIR.Range).low),
      FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((condition.abatement as FHIR.Range).high) + 1 year)
  else if condition.abatement is FHIR.boolean then
    Interval[end of condition.onset.toInterval(), condition.recordedDate)
  else 
    null"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="47"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="FHIRHelpers"/>
        </extension>
        <extension url="name">
          <valueString value="ToDateTime"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="define function ToDateTime(value dateTime): value.value"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="48"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="FHIRHelpers"/>
        </extension>
        <extension url="name">
          <valueString value="ToInterval"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="define function ToInterval(period FHIR.Period):
    if period is null then
        null
    else
        if period.&quot;start&quot; is null then
            Interval(period.&quot;start&quot;.value, period.&quot;end&quot;.value]
        else
            Interval[period.&quot;start&quot;.value, period.&quot;end&quot;.value]"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="49"/>
        </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="50"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="FHIRHelpers"/>
        </extension>
        <extension url="name">
          <valueString value="ToQuantity"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="define function ToQuantity(quantity FHIR.Quantity):
    case
        when quantity is null then null
        when quantity.value is null then null
        when quantity.comparator is not null then
            Message(null, true, 'FHIRHelpers.ToQuantity.ComparatorQuantityNotSupported', 'Error', 'FHIR Quantity value has a comparator and cannot be converted to a System.Quantity value.')
        when quantity.system is null or quantity.system.value = 'http://unitsofmeasure.org'
              or quantity.system.value = 'http://hl7.org/fhirpath/CodeSystem/calendar-units' then
            System.Quantity { value: quantity.value.value, unit: ToCalendarUnit(Coalesce(quantity.code.value, quantity.unit.value, '1')) }
        else
            Message(null, true, 'FHIRHelpers.ToQuantity.InvalidFHIRQuantity', 'Error', 'Invalid FHIR Quantity code: ' &amp; quantity.unit.value &amp; ' (' &amp; quantity.system.value &amp; '|' &amp; quantity.code.value &amp; ')')
    end"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="51"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="FHIRHelpers"/>
        </extension>
        <extension url="name">
          <valueString value="ToCalendarUnit"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="define function ToCalendarUnit(unit System.String):
    case unit
        when 'ms' then 'millisecond'
        when 's' then 'second'
        when 'min' then 'minute'
        when 'h' then 'hour'
        when 'd' then 'day'
        when 'wk' then 'week'
        when 'mo' then 'month'
        when 'a' then 'year'
        else unit
    end"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="52"/>
        </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&lt;Immunization&gt;):
  Last(
    immunizations I
      sort by start of occurrence.toInterval()
  )"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="53"/>
        </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 Encounter"/>
        <resource
                  value="http://smart.who.int/immunizations/Library/IMMZEncounterElements"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Library Elements"/>
        <resource
                  value="http://smart.who.int/immunizations/Library/IMMZElements"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Library WC"/>
        <resource
                  value="http://smart.who.int/immunizations/Library/WHOCommon"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Library Concepts"/>
        <resource
                  value="http://smart.who.int/immunizations/Library/IMMZConcepts"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Library WE"/>
        <resource
                  value="http://smart.who.int/immunizations/Library/WHOEncounterElements"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Library Elements"/>
        <resource
                  value="http://smart.who.int/immunizations/Library/WHOElements"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Library Concepts"/>
        <resource
                  value="http://smart.who.int/immunizations/Library/WHOConcepts"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Library Common"/>
        <resource
                  value="http://smart.who.int/immunizations/Library/WHOCommon"/>
      </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="Code system IMMZD"/>
        <resource
                  value="http://smart.who.int/immunizations/CodeSystem/IMMZ.D"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Code system ConditionClinicalStatusCodes"/>
        <resource
                  value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Code system LOINC"/>
        <resource value="http://loinc.org"/>
      </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 DTP-containing vaccines"/>
        <resource
                  value="http://smart.who.int/immunizations/ValueSet/IMMZ.Z.DE24"/>
      </relatedArtifact>
      <parameter>
        <name value="Today"/>
        <use value="in"/>
        <min value="0"/>
        <max value="1"/>
        <type value="date"/>
      </parameter>
      <parameter>
        <name value="EncounterId"/>
        <use value="in"/>
        <min value="0"/>
        <max value="1"/>
        <type value="string"/>
      </parameter>
      <parameter>
        <name value="AsOf"/>
        <use value="in"/>
        <min value="0"/>
        <max value="1"/>
        <type value="date"/>
      </parameter>
      <parameter>
        <name
              value="Tetanus and diphtheria-containing vaccine booster dose 3"/>
        <use value="out"/>
        <min value="0"/>
        <max value="1"/>
        <type value="boolean"/>
      </parameter>
      <parameter>
        <name
              value="Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy) Create"/>
        <use value="out"/>
        <min value="0"/>
        <max value="1"/>
        <type value="string"/>
      </parameter>
      <parameter>
        <name
              value="Tetanus and diphtheria-containing vaccine booster dose 3 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 (during pregnancy)"/>
        <use value="out"/>
        <min value="0"/>
        <max value="1"/>
        <type value="boolean"/>
      </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="Observation"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
        <mustSupport value="code"/>
        <codeFilter>
          <path value="code"/>
          <code>
            <system
                    value="http://smart.who.int/immunizations/CodeSystem/IMMZ.D"/>
            <code value="DE161"/>
            <display value="Potential contraindications"/>
          </code>
        </codeFilter>
      </dataRequirement>
      <dataRequirement>
        <type value="Observation"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
        <mustSupport value="code"/>
        <mustSupport value="value"/>
        <codeFilter>
          <path value="code"/>
          <code>
            <system
                    value="http://smart.who.int/immunizations/CodeSystem/IMMZ.D"/>
            <code value="DE161"/>
            <display value="Potential contraindications"/>
          </code>
        </codeFilter>
      </dataRequirement>
      <dataRequirement>
        <type value="Observation"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
        <mustSupport value="code"/>
        <mustSupport value="value"/>
        <mustSupport value="encounter"/>
        <mustSupport value="effective"/>
        <codeFilter>
          <path value="code"/>
          <code>
            <system
                    value="http://smart.who.int/immunizations/CodeSystem/IMMZ.D"/>
            <code value="DE161"/>
            <display value="Potential contraindications"/>
          </code>
        </codeFilter>
      </dataRequirement>
      <dataRequirement>
        <type value="Condition"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Condition"/>
        <mustSupport value="code"/>
        <codeFilter>
          <path value="code"/>
          <code>
            <system
                    value="http://smart.who.int/immunizations/CodeSystem/IMMZ.D"/>
            <code value="DE162"/>
            <display value="Currently pregnant"/>
          </code>
        </codeFilter>
      </dataRequirement>
      <dataRequirement>
        <type value="Patient"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
      </dataRequirement>
      <dataRequirement>
        <type value="Condition"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Condition"/>
        <mustSupport value="code"/>
        <codeFilter>
          <path value="code"/>
          <code>
            <system
                    value="http://smart.who.int/immunizations/CodeSystem/IMMZ.D"/>
            <code value="DE162"/>
            <display value="Currently pregnant"/>
          </code>
        </codeFilter>
      </dataRequirement>
      <dataRequirement>
        <type value="Observation"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
        <mustSupport value="code"/>
        <mustSupport value="status"/>
        <codeFilter>
          <path value="code"/>
          <code>
            <system value="http://loinc.org"/>
            <code value="82810-3"/>
            <display value="Pregnancy status"/>
          </code>
        </codeFilter>
      </dataRequirement>
      <dataRequirement>
        <type value="Observation"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
        <mustSupport value="code"/>
        <mustSupport value="status"/>
        <mustSupport value="value"/>
        <codeFilter>
          <path value="code"/>
          <code>
            <system value="http://loinc.org"/>
            <code value="82810-3"/>
            <display value="Pregnancy status"/>
          </code>
        </codeFilter>
      </dataRequirement>
      <dataRequirement>
        <type value="Observation"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
        <mustSupport value="code"/>
        <mustSupport value="status"/>
        <mustSupport value="value"/>
        <mustSupport value="encounter"/>
        <mustSupport value="effective"/>
        <codeFilter>
          <path value="code"/>
          <code>
            <system value="http://loinc.org"/>
            <code value="82810-3"/>
            <display value="Pregnancy status"/>
          </code>
        </codeFilter>
      </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/IMMZD18SDTPPregnancyStartingWith4Doses"/>
  <version value="0.2.0"/>
  <name value="IMMZD18SDTPPregnancyStartingWith4Doses"/>
  <title value="IMMZ.D18.S.DTP.Pregnancy starting with 4 doses 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.Pregnancy starting with 4 doses schedule
Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood diphtheria–tetanus–pertussis (DTP) doses"/>
  <relatedArtifact>
    <type value="citation"/>
    <citation
              value="WHO recommendations for routine immunization - summary tables (January 2025)"/>
  </relatedArtifact>
  <library
           value="http://smart.who.int/immunizations/Library/IMMZD18SDTPPregnancyStartingWith4DosesLogic"/>
  <action>
    <title
           value="Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy)"/>
    <description
                 value="Provision of tetanus and diphtheria booster dose 2 for pregnant women who received 4 tetanus-containing vaccines doses during childhood or pre-adulthood
Trigger event: The primary DTP series has been completed, first tetanus and diphtheria booster dose was administered and client is currently pregnant
Trigger pseudo: &quot;Completed the primary vaccination series&quot; = TRUE (where &quot;Vaccine type&quot; = &quot;DTP-containing vaccines&quot;) AND Count of vaccines administered where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 1 AND &quot;Currently pregnant&quot; = TRUE
Trigger date: First ANC contact date
&quot;Contact date&quot; WHEN &quot;ANC contact number&quot; = 1
Create condition: Women who received 4 tetanus-containing vaccine doses during childhood or pre-adulthood need only 1 booster dose, which should be given at the first opportunity."/>
    <condition>
      <kind value="applicability"/>
      <expression>
        <description
                     value="Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy)"/>
        <language value="text/cql-identifier"/>
        <expression
                    value="Tetanus and diphtheria-containing vaccine booster dose 2 (during pregnancy)"/>
      </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 (during pregnancy) 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 3"/>
    <description
                 value="Provision of tetanus and diphtheria booster dose 3 for pregnant women who received 4 tetanus-containing vaccines doses during childhood or pre-adulthood
Trigger event: Second tetanus and diphtheria booster dose was administered
Trigger pseudo: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 2
Trigger date: Latest &quot;Date and time of vaccination&quot; where &quot;Vaccine type&quot; = &quot;Tetanus and diphtheria-containing vaccines&quot;
Create condition: To provide lifelong protection for tetanus, a sixth dose should be provided at least 1 year after the fifth dose, or in next pregnancy."/>
    <condition>
      <kind value="applicability"/>
      <expression>
        <description
                     value="Tetanus and diphtheria-containing vaccine booster dose 3"/>
        <language value="text/cql-identifier"/>
        <expression
                    value="Tetanus and diphtheria-containing vaccine booster dose 3"/>
      </expression>
    </condition>
    <definitionCanonical
                         value="http://smart.who.int/immunizations/ActivityDefinition/IMMZD2DTCR"/>
    <dynamicValue>
      <path value="status"/>
      <expression>
        <language value="text/cql-expression"/>
        <expression value="'active'"/>
      </expression>
    </dynamicValue>
    <dynamicValue>
      <path value="payload.contentString"/>
      <expression>
        <language value="text/cql-identifier"/>
        <expression
                    value="Tetanus and diphtheria-containing vaccine booster dose 3 Create"/>
      </expression>
    </dynamicValue>
    <dynamicValue>
      <path value="category.coding"/>
      <expression>
        <description value="Category of communication"/>
        <language value="text/cql-expression"/>
        <expression
                    value="Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }"/>
      </expression>
    </dynamicValue>
    <dynamicValue>
      <path value="priority"/>
      <expression>
        <description value="Alert priority"/>
        <language value="text/cql-expression"/>
        <expression
                    value="Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' }"/>
      </expression>
    </dynamicValue>
  </action>
</PlanDefinition>