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.BCG schedule - XML Representation

Draft as of 2026-03-03

Raw xml | Download


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

        
        <tr>
            <th scope="row"><b>Url: </b></th>
            <td style="padding-left: 4px;"><a href="PlanDefinition-IMMZD18SBCG.html">IMMZ.D18.S.BCG 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.BCG 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.BCG schedule
IMMZ.D18.S.BCG schedule</p>
</div></td>
        </tr>
        

        
        <tr>
            <th scope="row"><b>Knowledge Capability: </b></th>
            <td style="padding-left: 4px;">
                
                computable 
            </td>
        </tr>
        

        

        

        

        

        

        

        

        

        

        
        <tr>
            <th scope="row"><b>Related Artifacts: </b></th>
            <td style="padding-left: 4px;">
                
                
                <p><b>References</b></p>
                <ul>
                    
                    <li><div><p>WHO recommendations for routine immunization - summary tables (January 2025)</p>
</div><br/><a href="null"/></li>
                    
                </ul>
                
                
                
                
                
                
            </td>
        </tr>
        

        
        <tr>
            <th scope="row"><b>Libraries: </b></th>
            <td style="padding-left: 4px;">
                <table class="grid-dict">
                    
                    <tr>
                        <td><a href="Library-IMMZD18SBCGLogic.html">IMMZD18SBCGLogic</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> Bacille Calmette–Guérin (BCG) dose 1:</b> Provision of the BCG dose
Trigger event: Child's birth
Trigger pseudo: 
Trigger date: &quot;Date of birth&quot;
Create condition: BCG dose should be provided if the client has not received any BCG doses and is in a high incidence of tuberculosis (TB) and/or high leprosy burden. It should also be provided after a negative test result for tuberculin skin test (TST) or interferon-gamma release assay (IGRA) tests. The client should also receive vaccination if they are infected with HIV, on antiretroviral therapy (ART) and clinically well and immunologically stable. This dose also applies to neonates born to women with an unknown HIV status, as well as neonates with an unknown HIV status who were born to women infected with HIV.
                            
                            <br/>
                            
                            
                            <b>If:</b>
                            
                            <i>Applicability:</i>
                            
                            Bacille Calmette–Guérin (BCG) dose 1
                            
                            <i>(Bacille Calmette–Guérin (BCG) dose 1)</i>
                            <br/>
                            
                            
                            
                            
                            <b>Then:</b> <i>Definition:</i> <a href="ActivityDefinition-IMMZD2DTCR.html">IMMZ.D2.DT.CR</a><br/>
                            
                            <i>Dynamic Values:</i><br/>
                            
                            status: <i>('active')</i>
                            <br/>
                            
                            payload.contentString: <i>(Bacille Calmette–Guérin (BCG) dose 1 Create)</i>
                            <br/>
                            
                            category.coding: <i>(Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' })</i>
                            <br/>
                            
                            priority: <i>(Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' })</i>
                            <br/>
                            
                            
                            
                            
                        </td>
                    </tr>
                    
                </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 &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="IMMZD2DTBCGElements"/>
        </extension>
        <extension url="name">
          <valueString value="BCG Doses Administered to Patient"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@internal: BCG containing Doses Administered to Patient
*/
define &quot;BCG Doses Administered to Patient&quot;:
  Elements.&quot;Doses Administered to Patient&quot; I
  where
    I.vaccineCode in Concepts.&quot;BCG 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="IMMZD2DTBCGElements"/>
        </extension>
        <extension url="name">
          <valueString
                       value="BCG Primary Series Doses Administered to Patient"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@internal: BCG containing Doses Administered to Patient that are in the Primary series
*/
define &quot;BCG Primary Series Doses Administered to Patient&quot;:
  &quot;BCG Doses Administered to Patient&quot;.seriesPrimary()"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="2"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD2DTBCGEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString
                       value="BCG Primary Series Doses Administered to Patient"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@internal: BCG containing Doses Administered to Patient that are in the Primary series
*/
define &quot;BCG Primary Series Doses Administered to Patient&quot;:
  BCGElements.&quot;BCG Primary 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="IMMZD2DTBCGEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString
                       value="Number of BCG Primary Series Doses Administered"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@internal: Number of BCG Primary Series doses
*/
define &quot;Number of BCG Primary Series Doses Administered&quot;:
  Count(&quot;BCG Primary 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="IMMZD2DTBCGEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString value="One BCG primary series dose was administered"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@input: One BCG primary series dose was administered
@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;BCG vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1
@code: One BCG primary series dose was administered-112
@decision: IMMZ.D2.DT.BCG
*/
define &quot;One BCG primary series dose was administered&quot;:
  &quot;Number of BCG Primary Series Doses Administered&quot; = 1"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="5"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SBCGLogic"/>
        </extension>
        <extension url="name">
          <valueString
                       value="One BCG dose from the primary series was administered. The primary series has been completed"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@complete: One BCG dose from the primary series was administered. The primary series has been completed
@pseudocode: &quot;Completed the primary vaccination series&quot; = TRUE (where &quot;Vaccine type&quot; = &quot;BCG vaccines&quot;)
*/
define &quot;One BCG dose from the primary series was administered. The primary series has been completed&quot;:
  Encounter.&quot;One BCG primary series dose was 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="IMMZD18SBCGLogic"/>
        </extension>
        <extension url="name">
          <valueString value="Bacille Calmette–Guérin (BCG) dose 1"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@output: Bacille Calmette–Guérin (BCG) dose 1
@description: Provision of the BCG dose
@trigger: Child's birth
@pseudo: 
@triggerDate: &quot;Date of birth&quot;
*/
define &quot;Bacille Calmette–Guérin (BCG) dose 1&quot;:
  not &quot;One BCG dose from the primary series was administered. The primary series has been completed&quot;"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="7"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SBCGLogic"/>
        </extension>
        <extension url="name">
          <valueString value="Bacille Calmette–Guérin (BCG) dose 1 Due Date"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@dynamicValue: Bacille Calmette–Guérin (BCG) dose 1 Due Date
@pseudocode: &quot;Date of birth&quot;
*/
define &quot;Bacille Calmette–Guérin (BCG) dose 1 Due Date&quot;:
  Patient.birthDate"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="8"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SBCGLogic"/>
        </extension>
        <extension url="name">
          <valueString value="Bacille Calmette–Guérin (BCG) dose 1 Create"/>
        </extension>
        <extension url="statement">
          <valueString
                       value="/*
@output: Bacille Calmette–Guérin (BCG) dose 1 Create
@create: BCG dose should be provided if the client has not received any BCG doses and is in a high incidence of tuberculosis (TB) and/or high leprosy burden. It should also be provided after a negative test result for tuberculin skin test (TST) or interferon-gamma release assay (IGRA) tests. The client should also receive vaccination if they are infected with HIV, on antiretroviral therapy (ART) and clinically well and immunologically stable. This dose also applies to neonates born to women with an unknown HIV status, as well as neonates with an unknown HIV status who were born to women infected with HIV.
*/
define &quot;Bacille Calmette–Guérin (BCG) dose 1 Create&quot;:
  if &quot;Bacille Calmette–Guérin (BCG) dose 1&quot;
  then 'BCG dose should be provided if the client has not received any BCG doses and is in a high incidence of tuberculosis (TB) and/or high leprosy burden. It should also be provided after a negative test result for tuberculin skin test (TST) or interferon-gamma release assay (IGRA) tests. The client should also receive vaccination if they are infected with HIV, on antiretroviral therapy (ART) and clinically well and immunologically stable. This dose also applies to neonates born to women with an unknown HIV status, as well as neonates with an unknown HIV status who were born to women infected with HIV.' + '
Due Date: ' + ToString(&quot;Bacille Calmette–Guérin (BCG) dose 1 Due Date&quot;)
  else ''"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="9"/>
        </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="10"/>
        </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="11"/>
        </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="12"/>
        </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="13"/>
        </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="14"/>
        </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="15"/>
        </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="16"/>
        </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="17"/>
        </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/IMMZD2DTBCGEncounterElements"/>
      </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 BCGElements"/>
        <resource
                  value="http://smart.who.int/immunizations/Library/IMMZD2DTBCGElements"/>
      </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="Value set BCG vaccines"/>
        <resource
                  value="http://smart.who.int/immunizations/ValueSet/IMMZ.Z.DE1"/>
      </relatedArtifact>
      <parameter>
        <name value="Today"/>
        <use value="in"/>
        <min value="0"/>
        <max value="1"/>
        <type value="date"/>
      </parameter>
      <parameter>
        <name value="Bacille Calmette–Guérin (BCG) dose 1"/>
        <use value="out"/>
        <min value="0"/>
        <max value="1"/>
        <type value="boolean"/>
      </parameter>
      <parameter>
        <name value="Bacille Calmette–Guérin (BCG) dose 1 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="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="Patient"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
      </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/IMMZD18SBCG"/>
  <version value="0.2.0"/>
  <name value="IMMZD18SBCG"/>
  <title value="IMMZ.D18.S.BCG 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.BCG schedule
IMMZ.D18.S.BCG schedule"/>
  <relatedArtifact>
    <type value="citation"/>
    <citation
              value="WHO recommendations for routine immunization - summary tables (January 2025)"/>
  </relatedArtifact>
  <library
           value="http://smart.who.int/immunizations/Library/IMMZD18SBCGLogic"/>
  <action>
    <title value="Bacille Calmette–Guérin (BCG) dose 1"/>
    <description
                 value="Provision of the BCG dose
Trigger event: Child's birth
Trigger pseudo: 
Trigger date: &quot;Date of birth&quot;
Create condition: BCG dose should be provided if the client has not received any BCG doses and is in a high incidence of tuberculosis (TB) and/or high leprosy burden. It should also be provided after a negative test result for tuberculin skin test (TST) or interferon-gamma release assay (IGRA) tests. The client should also receive vaccination if they are infected with HIV, on antiretroviral therapy (ART) and clinically well and immunologically stable. This dose also applies to neonates born to women with an unknown HIV status, as well as neonates with an unknown HIV status who were born to women infected with HIV."/>
    <condition>
      <kind value="applicability"/>
      <expression>
        <description value="Bacille Calmette–Guérin (BCG) dose 1"/>
        <language value="text/cql-identifier"/>
        <expression value="Bacille Calmette–Guérin (BCG) dose 1"/>
      </expression>
    </condition>
    <definitionCanonical
                         value="http://smart.who.int/immunizations/ActivityDefinition/IMMZD2DTCR"/>
    <dynamicValue>
      <path value="status"/>
      <expression>
        <language value="text/cql-expression"/>
        <expression value="'active'"/>
      </expression>
    </dynamicValue>
    <dynamicValue>
      <path value="payload.contentString"/>
      <expression>
        <language value="text/cql-identifier"/>
        <expression value="Bacille Calmette–Guérin (BCG) dose 1 Create"/>
      </expression>
    </dynamicValue>
    <dynamicValue>
      <path value="category.coding"/>
      <expression>
        <description value="Category of communication"/>
        <language value="text/cql-expression"/>
        <expression
                    value="Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }"/>
      </expression>
    </dynamicValue>
    <dynamicValue>
      <path value="priority"/>
      <expression>
        <description value="Alert priority"/>
        <language value="text/cql-expression"/>
        <expression
                    value="Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' }"/>
      </expression>
    </dynamicValue>
  </action>
</PlanDefinition>