<?xml version="1.0" encoding="UTF-8"?>

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

        
        <tr>
            <th scope="row"><b>Url: </b></th>
            <td style="padding-left: 4px;"><a href="PlanDefinition-IMMZD18SMeningococcalMonovalentMenCConjugateVaccine.html">IMMZ.D18.S.Meningococcal.Monovalent MenC conjugate vaccine schedule</a></td>
        </tr>
        

        
        <tr>
            <th scope="row"><b>Version: </b></th>
            <td style="padding-left: 4px;">1.0.0</td>
        </tr>
        

        

        
        <tr>
            <th scope="row"><b>Title: </b></th>
            <td style="padding-left: 4px;">IMMZ.D18.S.Meningococcal.Monovalent MenC conjugate vaccine 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.1.0/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-31 13:54:17+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.Meningococcal.Monovalent MenC conjugate vaccine schedule
Monovalent MenC conjugate 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-IMMZD18SMeningococcalMonovalentMenCConjugateVaccineLogic.html">IMMZD18SMeningococcalMonovalentMenCConjugateVaccineLogic</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> Meningococcal dose 1:</b> Provision of the meningococcal dose 1
Trigger event: Child's birth
Trigger pseudo: 
Trigger date: &quot;Date of birth&quot;
Create condition: For monovalent MenC conjugate vaccine, one single intramuscular dose is recommended for children aged ≥ 12 months, teenagers and adults. Children aged 2–11 months require 2 doses administered.
                            
                            <br/>
                            
                            
                            <b>If:</b>
                            
                            <i>Applicability:</i>
                            
                            Meningococcal dose 1
                            
                            <i>(Meningococcal 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>(Meningococcal dose 1 Create)</i>
                            <br/>
                            
                            category.coding: <i>(Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' })</i>
                            <br/>
                            
                            priority: <i>(Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' })</i>
                            <br/>
                            
                            
                            
                            
                        </td>
                    </tr>
                    
                    <tr>
                        <td>
                            
                            <b> Meningococcal dose 2:</b> Provision of the meningococcal dose 2 for clients that start the series when aged ≤ 11 months
Trigger event: First meningococcal dose from the primary series was administered and client started the series when client's age was less than or equal to 11 months
Trigger pseudo: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1 and &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot;) - &quot;Date of birth&quot; ≤ 11 months
Trigger date: &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot;)
Create condition: Children 2–11 months require 2 doses administered at an interval of at least 2 months and a booster about 1 year after.
                            
                            <br/>
                            
                            
                            <b>If:</b>
                            
                            <i>Applicability:</i>
                            
                            Meningococcal dose 2
                            
                            <i>(Meningococcal dose 2)</i>
                            <br/>
                            
                            
                            
                            
                            <b>Then:</b> <i>Definition:</i> <a href="ActivityDefinition-IMMZD2DTCR.html">IMMZ.D2.DT.CR</a><br/>
                            
                            <i>Dynamic Values:</i><br/>
                            
                            status: <i>('active')</i>
                            <br/>
                            
                            payload.contentString: <i>(Meningococcal dose 2 Create)</i>
                            <br/>
                            
                            category.coding: <i>(Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' })</i>
                            <br/>
                            
                            priority: <i>(Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' })</i>
                            <br/>
                            
                            
                            
                            
                        </td>
                    </tr>
                    
                    <tr>
                        <td>
                            
                            <b> Meningococcal booster dose:</b> Provision of the meningococcal booster dose for clients that start the series when aged ≤ 11 months
Trigger event: The primary series has been completed and client started the series when client's age was less than or equal to 11 months
Trigger pseudo: &quot;Completed the primary vaccination series&quot; (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot;) = TRUE and &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot; and &quot;Dose number&quot; = 1) - &quot;Date of birth&quot; ≤ 11 months
Trigger date: Latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot;)
Create condition: Children 2–11 months require 2 doses administered at an interval of at least 2 months and a booster about 1 year after.
                            
                            <br/>
                            
                            
                            <b>If:</b>
                            
                            <i>Applicability:</i>
                            
                            Meningococcal booster dose
                            
                            <i>(Meningococcal booster dose)</i>
                            <br/>
                            
                            
                            
                            
                            <b>Then:</b> <i>Definition:</i> <a href="ActivityDefinition-IMMZD2DTCR.html">IMMZ.D2.DT.CR</a><br/>
                            
                            <i>Dynamic Values:</i><br/>
                            
                            status: <i>('active')</i>
                            <br/>
                            
                            payload.contentString: <i>(Meningococcal booster dose Create)</i>
                            <br/>
                            
                            category.coding: <i>(Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' })</i>
                            <br/>
                            
                            priority: <i>(Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' })</i>
                            <br/>
                            
                            
                            
                            
                        </td>
                    </tr>
                    
                </table>
            </td>
        </tr>
        
    </table>
</div>
</div>
  </text>
  <contained>
    <Library>
      <id value="effective-data-requirements"/>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZElements"/>
        </extension>
        <extension url="name">
          <valueString value="Doses Administered to Patient"/>
        </extension>
        <extension url="statement">
          <valueString value="/**&#xA; * @dataElement All Doses Administered to Patient&#xA; */&#xA;define &quot;Doses Administered to Patient&quot;:&#xA;  [Immunization] I&#xA;    where I.status = 'completed'&#xA;    and I.isSubpotent is not true"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="0"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString value="Doses Administered to Patient"/>
        </extension>
        <extension url="statement">
          <valueString value="/**&#xA; * @dataElement All Doses Administered to Patient&#xA; */&#xA;define &quot;Doses Administered to Patient&quot;:&#xA;  Elements.&quot;Doses Administered to Patient&quot; I&#xA;    where I.occurrence.toInterval() same day or before Today"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="1"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD2DTMeningococcalEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString value="Meningococcal Doses Administered to Patient"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@internal: Meningococcal containing Doses Administered to Patient&#xA;*/&#xA;define &quot;Meningococcal Doses Administered to Patient&quot;:&#xA;  Encounter.&quot;Doses Administered to Patient&quot; I&#xA;  where&#xA;    I.vaccineCode in Concepts.&quot;Meningococcal vaccines&quot;"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="2"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD2DTMeningococcalEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString value="Meningococcal Primary Series Doses Administered to Patient"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@internal: Meningococcal containing Doses Administered to Patient that are in the Primary series&#xA;*/&#xA;define &quot;Meningococcal Primary Series Doses Administered to Patient&quot;:&#xA;  &quot;Meningococcal Doses Administered to Patient&quot;.seriesPrimary()"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="3"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD2DTMeningococcalEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString value="Number of Meningococcal Primary Series Doses Administered"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@internal: Number of Meningococcal Primary Series doses&#xA;*/&#xA;define &quot;Number of Meningococcal Primary Series Doses Administered&quot;:&#xA;  Count(&quot;Meningococcal 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="IMMZD2DTMeningococcalEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString value="One meningococcal primary series dose was administered"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@input: One meningococcal primary series dose was administered&#xA;@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1&#xA;@code: One meningococcal primary series dose was administered-122&#xA;@decision: IMMZ.D2.DT.Meningococcal.MenA conjugate vaccine 1 dose: MenA conjugate vaccine, 1-dose schedule&#xA;@decision: IMMZ.D2.DT.Meningococcal.MenA conjugate vaccine 2 doses: MenA conjugate vaccine, 2-dose schedule (specific context where there is a compelling reason to vaccinate infants aged under 9 months)&#xA;@decision: IMMZ.D2.DT.Meningococcal.Monovalent MenC conjugate vaccine: Monovalent MenC conjugate vaccine schedule&#xA;@decision: IMMZ.D2.DT.Meningococcal.Quadrivalent conjugate vaccines 1 dose: Quadrivalent conjugate vaccines (A,C,W135,Y-CRM), 1-dose schedule&#xA;@decision: IMMZ.D2.DT.Meningococcal.Quadrivalent conjugate vaccines 2 doses: Quadrivalent conjugate vaccines (A,C,W135,Y-D), 2-dose schedule&#xA;@decision: IMMZ.D2.DT.Meningococcal.Polysaccharide vaccines: Polysaccharide vaccines schedule&#xA;(Polysaccharide vaccines can be used to control outbreaks in countries where limited economic resources or insufficient supply restrict the use of meningococcal conjugate vaccines)&#xA;*/&#xA;define &quot;One meningococcal primary series dose was administered&quot;:&#xA;  &quot;Number of Meningococcal 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="IMMZD18SMeningococcalMonovalentMenCConjugateVaccineLogic"/>
        </extension>
        <extension url="name">
          <valueString value="First meningococcal dose from the primary series was administered"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@complete: First meningococcal dose from the primary series was administered&#xA;@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1&#xA;The primary series has been completed for clients that started the series when client's age was more than 11 months&#xA;&quot;Completed the primary vaccination series&quot; (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot;) = TRUE&#xA;*/&#xA;define &quot;First meningococcal dose from the primary series was administered&quot;:&#xA;  Encounter.&quot;One meningococcal 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="IMMZD2DTMeningococcalEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString value="Date of First Primary Series Meningococcal Dose"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@internal: Date of First Primary Series Meningococcal Dose&#xA;*/&#xA;define &quot;Date of First Primary Series Meningococcal Dose&quot;:&#xA;  date from start of &quot;Meningococcal Primary Series Doses Administered to Patient&quot;.earliest().occurrence.toInterval()"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="7"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD2DTMeningococcalEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString value="Client's age was less than or equal to 11 months when the primary series was started"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@input: Client's age was less than or equal to 11 months when the primary series was started&#xA;@pseudocode: &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot;) - &quot;Date of birth&quot; ≤ 11 months&#xA;@code: Client's age was less than or equal to 11 months when the primary series was started-110&#xA;@decision: IMMZ.D2.DT.Meningococcal.Monovalent MenC conjugate vaccine: Monovalent MenC conjugate vaccine schedule&#xA;*/&#xA;define &quot;Client's age was less than or equal to 11 months when the primary series was started&quot;:&#xA;  AgeInMonthsAt(&quot;Date of First Primary Series Meningococcal Dose&quot;) &lt;= 11"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="8"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD2DTMeningococcalEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString value="Two meningococcal primary series doses were administered"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@input: Two meningococcal primary series doses were administered&#xA;@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 2&#xA;@code: Two meningococcal primary series doses were administered-122&#xA;@decision: IMMZ.D2.DT.Meningococcal.MenA conjugate vaccine 2 doses: MenA conjugate vaccine, 2-dose schedule (specific context where there is a compelling reason to vaccinate infants aged under 9 months)&#xA;@decision: IMMZ.D2.DT.Meningococcal.Monovalent MenC conjugate vaccine: Monovalent MenC conjugate vaccine schedule&#xA;@decision: IMMZ.D2.DT.Meningococcal.Quadrivalent conjugate vaccines 2 doses: Quadrivalent conjugate vaccines (A,C,W135,Y-D), 2-dose schedule&#xA;*/&#xA;define &quot;Two meningococcal primary series doses were administered&quot;:&#xA;  &quot;Number of Meningococcal Primary Series Doses Administered&quot; = 2"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="9"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SMeningococcalMonovalentMenCConjugateVaccineLogic"/>
        </extension>
        <extension url="name">
          <valueString value="Second meningococcal dose from the primary series was administered. The primary series has been completed for clients that started the series when client's age was less than or equal to 11 months"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@complete: Second meningococcal dose from the primary series was administered. The primary series has been completed for clients that started the series when client's age was less than or equal to 11 months&#xA;@pseudocode: &quot;Completed the primary vaccination series&quot; (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot;) = TRUE&#xA;*/&#xA;define &quot;Second meningococcal dose from the primary series was administered. The primary series has been completed for clients that started the series when client's age was less than or equal to 11 months&quot;:&#xA;  Encounter.&quot;Two meningococcal primary series doses were administered&quot;"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="10"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SMeningococcalMonovalentMenCConjugateVaccineLogic"/>
        </extension>
        <extension url="name">
          <valueString value="Meningococcal dose 2"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@output: Meningococcal dose 2&#xA;@description: Provision of the meningococcal dose 2 for clients that start the series when aged ≤ 11 months&#xA;@trigger: First meningococcal dose from the primary series was administered and client started the series when client's age was less than or equal to 11 months&#xA;@pseudo: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1 and &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot;) - &quot;Date of birth&quot; ≤ 11 months&#xA;@triggerDate: &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot;)&#xA;*/&#xA;define &quot;Meningococcal dose 2&quot;:&#xA;  &quot;First meningococcal dose from the primary series was administered&quot;&#xA;  and Encounter.&quot;Client's age was less than or equal to 11 months when the primary series was started&quot;&#xA;  and not &quot;Second meningococcal dose from the primary series was administered. The primary series has been completed for clients that started the series when client's age was less than or equal to 11 months&quot;"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="11"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD2DTMeningococcalEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString value="No meningococcal primary series dose was administered"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@input: No meningococcal primary series dose was administered&#xA;@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 0&#xA;@code: No meningococcal primary series dose was administered-122&#xA;@decision: IMMZ.D2.DT.Meningococcal.MenA conjugate vaccine 1 dose: MenA conjugate vaccine, 1-dose schedule&#xA;@decision: IMMZ.D2.DT.Meningococcal.MenA conjugate vaccine 2 doses: MenA conjugate vaccine, 2-dose schedule (specific context where there is a compelling reason to vaccinate infants aged under 9 months)&#xA;@decision: IMMZ.D2.DT.Meningococcal.Monovalent MenC conjugate vaccine: Monovalent MenC conjugate vaccine schedule&#xA;@decision: IMMZ.D2.DT.Meningococcal.Quadrivalent conjugate vaccines 1 dose: Quadrivalent conjugate vaccines (A,C,W135,Y-CRM), 1-dose schedule&#xA;@decision: IMMZ.D2.DT.Meningococcal.Quadrivalent conjugate vaccines 2 doses: Quadrivalent conjugate vaccines (A,C,W135,Y-D), 2-dose schedule&#xA;@decision: IMMZ.D2.DT.Meningococcal.Polysaccharide vaccines: Polysaccharide vaccines schedule&#xA;(Polysaccharide vaccines can be used to control outbreaks in countries where limited economic resources or insufficient supply restrict the use of meningococcal conjugate vaccines)&#xA;*/&#xA;define &quot;No meningococcal primary series dose was administered&quot;:&#xA;  &quot;Number of Meningococcal Primary Series Doses Administered&quot; = 0"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="12"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SMeningococcalMonovalentMenCConjugateVaccineLogic"/>
        </extension>
        <extension url="name">
          <valueString value="Meningococcal dose 1"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@output: Meningococcal dose 1&#xA;@description: Provision of the meningococcal dose 1&#xA;@trigger: Child's birth&#xA;@pseudo: &#xA;@triggerDate: &quot;Date of birth&quot;&#xA;*/&#xA;define &quot;Meningococcal dose 1&quot;:&#xA;  Encounter.&quot;No meningococcal primary series dose was administered&quot;&#xA;  and not &quot;First meningococcal dose from the primary series was administered&quot;"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="13"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SMeningococcalMonovalentMenCConjugateVaccineLogic"/>
        </extension>
        <extension url="name">
          <valueString value="Meningococcal dose 1 Due Date"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@dynamicValue: Meningococcal dose 1 Due Date&#xA;@pseudocode: &quot;Date of birth&quot; + 2 months&#xA;*/&#xA;define &quot;Meningococcal dose 1 Due Date&quot;:&#xA;  if &quot;Meningococcal dose 1&quot; then Patient.birthDate + 2 months&#xA;  else null"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="14"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SMeningococcalMonovalentMenCConjugateVaccineLogic"/>
        </extension>
        <extension url="name">
          <valueString value="Meningococcal dose 1 Create"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@output: Meningococcal dose 1 Create&#xA;@create: For monovalent MenC conjugate vaccine, one single intramuscular dose is recommended for children aged ≥ 12 months, teenagers and adults. Children aged 2–11 months require 2 doses administered.&#xA;*/&#xA;define &quot;Meningococcal dose 1 Create&quot;:&#xA;  if &quot;Meningococcal dose 1&quot;&#xA;  then 'For monovalent MenC conjugate vaccine, one single intramuscular dose is recommended for children aged ≥ 12 months, teenagers and adults. Children aged 2–11 months require 2 doses administered.' + '&#xA;Due Date: ' + ToString(&quot;Meningococcal dose 1 Due Date&quot;)&#xA;  else ''"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="15"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD2DTMeningococcalEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString value="Meningococcal Booster Series Doses Administered to Patient"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@internal: Meningococcal Booster Series Doses Administered to Patient&#xA;*/&#xA;define &quot;Meningococcal Booster Series Doses Administered to Patient&quot;:&#xA;  &quot;Meningococcal Doses Administered to Patient&quot;.seriesBooster()"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="16"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD2DTMeningococcalEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString value="Number of Meningococcal Booster Series Doses Administered"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@internal: Number of Meningococcal Booster Series Doses Administered&#xA;*/&#xA;define &quot;Number of Meningococcal Booster Series Doses Administered&quot;:&#xA;  Count(&quot;Meningococcal Booster Series Doses Administered to Patient&quot;)"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="17"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD2DTMeningococcalEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString value="Meningococcal booster dose was administered"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@input: Meningococcal booster dose was administered&#xA;@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 1&#xA;@code: Meningococcal booster dose was administered-120&#xA;@decision: IMMZ.D2.DT.Meningococcal.Monovalent MenC conjugate vaccine: Monovalent MenC conjugate vaccine schedule&#xA;@decision: IMMZ.D2.DT.Meningococcal.Polysaccharide vaccines: Polysaccharide vaccines schedule&#xA;(Polysaccharide vaccines can be used to control outbreaks in countries where limited economic resources or insufficient supply restrict the use of meningococcal conjugate vaccines)&#xA;*/&#xA;define &quot;Meningococcal booster dose was administered&quot;:&#xA;  &quot;Number of Meningococcal Booster Series Doses Administered&quot; = 1"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="18"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SMeningococcalMonovalentMenCConjugateVaccineLogic"/>
        </extension>
        <extension url="name">
          <valueString value="Meningococcal booster dose was administered for the client that started the series when client's age was less than or equal to 11 months. Immunization schedule has been completed"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@complete: Meningococcal booster dose was administered for the client that started the series when client's age was less than or equal to 11 months. Immunization schedule has been completed&#xA;@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot; AND &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 1&#xA;*/&#xA;define &quot;Meningococcal booster dose was administered for the client that started the series when client's age was less than or equal to 11 months. Immunization schedule has been completed&quot;:&#xA;  Encounter.&quot;Meningococcal booster dose was administered&quot;"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="19"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SMeningococcalMonovalentMenCConjugateVaccineLogic"/>
        </extension>
        <extension url="name">
          <valueString value="Meningococcal booster dose"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@output: Meningococcal booster dose&#xA;@description: Provision of the meningococcal booster dose for clients that start the series when aged ≤ 11 months&#xA;@trigger: The primary series has been completed and client started the series when client's age was less than or equal to 11 months&#xA;@pseudo: &quot;Completed the primary vaccination series&quot; (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot;) = TRUE and &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot; and &quot;Dose number&quot; = 1) - &quot;Date of birth&quot; ≤ 11 months&#xA;@triggerDate: Latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot;)&#xA;*/&#xA;define &quot;Meningococcal booster dose&quot;:&#xA;  &quot;Second meningococcal dose from the primary series was administered. The primary series has been completed for clients that started the series when client's age was less than or equal to 11 months&quot;&#xA;  and not &quot;Meningococcal booster dose was administered for the client that started the series when client's age was less than or equal to 11 months. Immunization schedule has been completed&quot;"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="20"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD2DTMeningococcalEncounterElements"/>
        </extension>
        <extension url="name">
          <valueString value="Date of Latest Primary Meningococcal Dose"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@internal: Date of Latest Primary Meningococcal Dose&#xA;*/&#xA;define &quot;Date of Latest Primary Meningococcal Dose&quot;:&#xA;  date from start of &quot;Meningococcal Primary Series Doses Administered to Patient&quot;.mostRecent().occurrence.toInterval()"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="21"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SMeningococcalMonovalentMenCConjugateVaccineLogic"/>
        </extension>
        <extension url="name">
          <valueString value="Meningococcal booster dose Due Date"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@dynamicValue: Meningococcal booster dose Due Date&#xA;@pseudocode: Latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot;) + 1 year&#xA;*/&#xA;define &quot;Meningococcal booster dose Due Date&quot;:&#xA;  if &quot;Meningococcal booster dose&quot; then Encounter.&quot;Date of Latest Primary Meningococcal Dose&quot; + 1 year&#xA;  else null"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="22"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SMeningococcalMonovalentMenCConjugateVaccineLogic"/>
        </extension>
        <extension url="name">
          <valueString value="Meningococcal booster dose Create"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@output: Meningococcal booster dose Create&#xA;@create: Children 2–11 months require 2 doses administered at an interval of at least 2 months and a booster about 1 year after.&#xA;*/&#xA;define &quot;Meningococcal booster dose Create&quot;:&#xA;  if &quot;Meningococcal booster dose&quot;&#xA;  then 'Children 2–11 months require 2 doses administered at an interval of at least 2 months and a booster about 1 year after.' + '&#xA;Due Date: ' + ToString(&quot;Meningococcal booster dose Due Date&quot;)&#xA;  else ''"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="23"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SMeningococcalMonovalentMenCConjugateVaccineLogic"/>
        </extension>
        <extension url="name">
          <valueString value="Meningococcal dose 2 Due Date"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@dynamicValue: Meningococcal dose 2 Due Date&#xA;@pseudocode: &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot;) + 2 months&#xA;*/&#xA;define &quot;Meningococcal dose 2 Due Date&quot;:&#xA;  if &quot;Meningococcal dose 2&quot; then Encounter.&quot;Date of Latest Primary Meningococcal Dose&quot; + 2 months&#xA;  else null"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="24"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="IMMZD18SMeningococcalMonovalentMenCConjugateVaccineLogic"/>
        </extension>
        <extension url="name">
          <valueString value="Meningococcal dose 2 Create"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;@output: Meningococcal dose 2 Create&#xA;@create: Children 2–11 months require 2 doses administered at an interval of at least 2 months and a booster about 1 year after.&#xA;*/&#xA;define &quot;Meningococcal dose 2 Create&quot;:&#xA;  if &quot;Meningococcal dose 2&quot;&#xA;  then 'Children 2–11 months require 2 doses administered at an interval of at least 2 months and a booster about 1 year after.' + '&#xA;Due Date: ' + ToString(&quot;Meningococcal dose 2 Due Date&quot;)&#xA;  else ''"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="25"/>
        </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="/**&#xA; * @description: Gets the doses from the primary series&#xA; */&#xA;define fluent function seriesPrimary(immunizations List&lt;Immunization&gt;):&#xA;  immunizations I where&#xA;    exists( I.protocolApplied pa where pa.series = 'Primary series' )"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="26"/>
        </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="27"/>
        </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="28"/>
        </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="29"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="WHOCommon"/>
        </extension>
        <extension url="name">
          <valueString value="toInterval"/>
        </extension>
        <extension url="statement">
          <valueString value="/*&#xA;From FHIRCommon 4.1.0:&#xA;*/&#xA;&#xA;/*&#xA;@description: Normalizes a value that is a choice of timing-valued types to an equivalent interval&#xA;@comment: Normalizes a choice type of FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instance, FHIR.string, FHIR.Age, or FHIR.Range types&#xA;to an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible&#xA;representations for timing-valued elements in FHIR, allowing this function to be used across any resource.&#xA;&#xA;The input can be provided as a dateTime, Period, Timing, instant, string, Age, or Range.&#xA;The intent of this function is to provide a clear and concise mechanism to treat single&#xA;elements that have multiple possible representations as intervals so that logic doesn't have to account&#xA;for the variability. More complex calculations (such as medication request period or dispense period&#xA;calculation) need specific guidance and consideration. That guidance may make use of this function, but&#xA;the focus of this function is on single element calculations where the semantics are unambiguous.&#xA;If the input is a dateTime, the result a DateTime Interval beginning and ending on that dateTime.&#xA;If the input is a Period, the result is a DateTime Interval.&#xA;If the input is a Timing, an error is raised indicating a single interval cannot be computed from a Timing.&#xA;If the input is an instant, the result is a DateTime Interval beginning and ending on that instant.&#xA;If the input is a string, an error is raised indicating a single interval cannot be computed from a string.&#xA;If the input is an Age, the result is a DateTime Interval beginning when the patient was the given Age,&#xA;and ending immediately prior to when the patient was the given Age plus one year.&#xA;If the input is a Range, the result is a DateTime Interval beginning when the patient was the Age given&#xA;by the low end of the Range, and ending immediately prior to when the patient was the Age given by the&#xA;high end of the Range plus one year.&#xA;&#xA;NOTE: Due to the&#xA;complexity of determining a single interval from a Timing or String type, this function will throw a run-time exception if it is used&#xA;with a Timing or String.&#xA;*/&#xA;define fluent function toInterval(choice Choice&lt;FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instant, FHIR.string, FHIR.Age, FHIR.Range&gt;):&#xA;  case&#xA;    when choice is FHIR.dateTime then&#xA;      Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]&#xA;    when choice is FHIR.Period then&#xA;      FHIRHelpers.ToInterval(choice as FHIR.Period)&#xA;    when choice is FHIR.instant then&#xA;      Interval[FHIRHelpers.ToDateTime(choice as FHIR.instant), FHIRHelpers.ToDateTime(choice as FHIR.instant)]&#xA;    when choice is FHIR.Age then&#xA;      Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(choice as FHIR.Age),&#xA;        FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(choice as FHIR.Age) + 1 year)&#xA;    when choice is FHIR.Range then&#xA;      Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).low),&#xA;        FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).high) + 1 year)&#xA;    when choice is FHIR.Timing then&#xA;      Message(null as Interval&lt;DateTime&gt;, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a Timing value is not supported')&#xA;    when choice is FHIR.string then&#xA;      Message(null as Interval&lt;DateTime&gt;, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a String value is not supported')&#xA;    else&#xA;      null as Interval&lt;DateTime&gt;&#xA;  end"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="30"/>
        </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="31"/>
        </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):&#xA;    if period is null then&#xA;        null&#xA;    else&#xA;        if period.&quot;start&quot; is null then&#xA;            Interval(period.&quot;start&quot;.value, period.&quot;end&quot;.value]&#xA;        else&#xA;            Interval[period.&quot;start&quot;.value, period.&quot;end&quot;.value]"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="32"/>
        </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 instant): value.value"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="33"/>
        </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="34"/>
        </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):&#xA;    case&#xA;        when quantity is null then null&#xA;        when quantity.value is null then null&#xA;        when quantity.comparator is not null then&#xA;            Message(null, true, 'FHIRHelpers.ToQuantity.ComparatorQuantityNotSupported', 'Error', 'FHIR Quantity value has a comparator and cannot be converted to a System.Quantity value.')&#xA;        when quantity.system is null or quantity.system.value = 'http://unitsofmeasure.org'&#xA;              or quantity.system.value = 'http://hl7.org/fhirpath/CodeSystem/calendar-units' then&#xA;            System.Quantity { value: quantity.value.value, unit: ToCalendarUnit(Coalesce(quantity.code.value, quantity.unit.value, '1')) }&#xA;        else&#xA;            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; ')')&#xA;    end"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="35"/>
        </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):&#xA;    case unit&#xA;        when 'ms' then 'millisecond'&#xA;        when 's' then 'second'&#xA;        when 'min' then 'minute'&#xA;        when 'h' then 'hour'&#xA;        when 'd' then 'day'&#xA;        when 'wk' then 'week'&#xA;        when 'mo' then 'month'&#xA;        when 'a' then 'year'&#xA;        else unit&#xA;    end"/>
        </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="ToConcept"/>
        </extension>
        <extension url="statement">
          <valueString value="define function ToConcept(concept FHIR.CodeableConcept):&#xA;    if concept is null then&#xA;        null&#xA;    else&#xA;        System.Concept {&#xA;            codes: concept.coding C return ToCode(C),&#xA;            display: concept.text.value&#xA;        }"/>
        </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="ToCode"/>
        </extension>
        <extension url="statement">
          <valueString value="define function ToCode(coding FHIR.Coding):&#xA;    if coding is null then&#xA;        null&#xA;    else&#xA;        System.Code {&#xA;          code: coding.code.value,&#xA;          system: coding.system.value,&#xA;          version: coding.version.value,&#xA;          display: coding.display.value&#xA;        }"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="38"/>
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
        <extension url="libraryName">
          <valueString value="WHOCommon"/>
        </extension>
        <extension url="name">
          <valueString value="earliest"/>
        </extension>
        <extension url="statement">
          <valueString value="define fluent function earliest(immunizations List&lt;Immunization&gt;):&#xA;  First(&#xA;    immunizations I&#xA;      sort by start of occurrence.toInterval()&#xA;  )"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="39"/>
        </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="/**&#xA; * @description: Gets the doses from the Booster series&#xA; */&#xA;define fluent function seriesBooster(immunizations List&lt;Immunization&gt;):&#xA;  immunizations I where&#xA;    exists( I.protocolApplied pa where pa.series = 'Booster dose' )"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="40"/>
        </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;):&#xA;  Last(&#xA;    immunizations I&#xA;      sort by start of occurrence.toInterval()&#xA;  )"/>
        </extension>
        <extension url="displaySequence">
          <valueInteger value="41"/>
        </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/IMMZD2DTMeningococcalEncounterElements"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Library Common"/>
        <resource value="http://smart.who.int/immunizations/Library/IMMZCommon"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Library FHIRHelpers"/>
        <resource value="http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Library Encounter"/>
        <resource value="http://smart.who.int/immunizations/Library/IMMZEncounterElements"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Library Elements"/>
        <resource value="http://smart.who.int/immunizations/Library/IMMZElements"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Library WC"/>
        <resource value="http://smart.who.int/immunizations/Library/WHOCommon"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Library Concepts"/>
        <resource value="http://smart.who.int/immunizations/Library/IMMZConcepts"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Value set Meningococcal vaccines"/>
        <resource value="http://smart.who.int/immunizations/ValueSet/IMMZ.Z.DE10"/>
      </relatedArtifact>
      <parameter>
        <name value="Today"/>
        <use value="in"/>
        <min value="0"/>
        <max value="1"/>
        <type value="date"/>
      </parameter>
      <parameter>
        <name value="Meningococcal dose 2"/>
        <use value="out"/>
        <min value="0"/>
        <max value="1"/>
        <type value="boolean"/>
      </parameter>
      <parameter>
        <name value="Meningococcal dose 1"/>
        <use value="out"/>
        <min value="0"/>
        <max value="1"/>
        <type value="boolean"/>
      </parameter>
      <parameter>
        <name value="Meningococcal dose 1 Create"/>
        <use value="out"/>
        <min value="0"/>
        <max value="1"/>
        <type value="string"/>
      </parameter>
      <parameter>
        <name value="Meningococcal booster dose"/>
        <use value="out"/>
        <min value="0"/>
        <max value="1"/>
        <type value="boolean"/>
      </parameter>
      <parameter>
        <name value="Meningococcal booster dose Create"/>
        <use value="out"/>
        <min value="0"/>
        <max value="1"/>
        <type value="string"/>
      </parameter>
      <parameter>
        <name value="Meningococcal dose 2 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"/>
        <mustSupport value="protocolApplied"/>
        <mustSupport value="occurrence"/>
        <codeFilter>
          <path value="status"/>
          <code>
            <code value="completed"/>
          </code>
        </codeFilter>
      </dataRequirement>
      <dataRequirement>
        <type value="Immunization"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
        <mustSupport value="occurrence"/>
        <mustSupport value="protocolApplied"/>
      </dataRequirement>
      <dataRequirement>
        <type value="Immunization"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
        <mustSupport value="status"/>
        <mustSupport value="isSubpotent"/>
        <mustSupport value="occurrence"/>
        <mustSupport value="vaccineCode"/>
        <mustSupport value="protocolApplied"/>
        <codeFilter>
          <path value="status"/>
          <code>
            <code value="completed"/>
          </code>
        </codeFilter>
        <codeFilter>
          <path value="vaccineCode"/>
          <valueSet value="http://smart.who.int/immunizations/ValueSet/IMMZ.Z.DE10"/>
        </codeFilter>
      </dataRequirement>
      <dataRequirement>
        <type value="Patient"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
        <mustSupport value="birthDate"/>
      </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/IMMZD18SMeningococcalMonovalentMenCConjugateVaccine"/>
  <version value="1.0.0"/>
  <name value="IMMZD18SMeningococcalMonovalentMenCConjugateVaccine"/>
  <title value="IMMZ.D18.S.Meningococcal.Monovalent MenC conjugate vaccine 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-31T13:54:17+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.Meningococcal.Monovalent MenC conjugate vaccine schedule&#xA;Monovalent MenC conjugate 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/IMMZD18SMeningococcalMonovalentMenCConjugateVaccineLogic"/>
  <action>
    <title value="Meningococcal dose 1"/>
    <description value="Provision of the meningococcal dose 1&#xA;Trigger event: Child's birth&#xA;Trigger pseudo: &#xA;Trigger date: &quot;Date of birth&quot;&#xA;Create condition: For monovalent MenC conjugate vaccine, one single intramuscular dose is recommended for children aged ≥ 12 months, teenagers and adults. Children aged 2–11 months require 2 doses administered."/>
    <condition>
      <kind value="applicability"/>
      <expression>
        <description value="Meningococcal dose 1"/>
        <language value="text/cql-identifier"/>
        <expression value="Meningococcal 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="Meningococcal dose 1 Create"/>
      </expression>
    </dynamicValue>
    <dynamicValue>
      <path value="category.coding"/>
      <expression>
        <description value="Category of communication"/>
        <language value="text/cql-expression"/>
        <expression value="Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }"/>
      </expression>
    </dynamicValue>
    <dynamicValue>
      <path value="priority"/>
      <expression>
        <description value="Alert priority"/>
        <language value="text/cql-expression"/>
        <expression value="Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' }"/>
      </expression>
    </dynamicValue>
  </action>
  <action>
    <title value="Meningococcal dose 2"/>
    <description value="Provision of the meningococcal dose 2 for clients that start the series when aged ≤ 11 months&#xA;Trigger event: First meningococcal dose from the primary series was administered and client started the series when client's age was less than or equal to 11 months&#xA;Trigger pseudo: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1 and &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot;) - &quot;Date of birth&quot; ≤ 11 months&#xA;Trigger date: &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot;)&#xA;Create condition: Children 2–11 months require 2 doses administered at an interval of at least 2 months and a booster about 1 year after."/>
    <condition>
      <kind value="applicability"/>
      <expression>
        <description value="Meningococcal dose 2"/>
        <language value="text/cql-identifier"/>
        <expression value="Meningococcal dose 2"/>
      </expression>
    </condition>
    <definitionCanonical value="http://smart.who.int/immunizations/ActivityDefinition/IMMZD2DTCR"/>
    <dynamicValue>
      <path value="status"/>
      <expression>
        <language value="text/cql-expression"/>
        <expression value="'active'"/>
      </expression>
    </dynamicValue>
    <dynamicValue>
      <path value="payload.contentString"/>
      <expression>
        <language value="text/cql-identifier"/>
        <expression value="Meningococcal dose 2 Create"/>
      </expression>
    </dynamicValue>
    <dynamicValue>
      <path value="category.coding"/>
      <expression>
        <description value="Category of communication"/>
        <language value="text/cql-expression"/>
        <expression value="Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }"/>
      </expression>
    </dynamicValue>
    <dynamicValue>
      <path value="priority"/>
      <expression>
        <description value="Alert priority"/>
        <language value="text/cql-expression"/>
        <expression value="Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' }"/>
      </expression>
    </dynamicValue>
  </action>
  <action>
    <title value="Meningococcal booster dose"/>
    <description value="Provision of the meningococcal booster dose for clients that start the series when aged ≤ 11 months&#xA;Trigger event: The primary series has been completed and client started the series when client's age was less than or equal to 11 months&#xA;Trigger pseudo: &quot;Completed the primary vaccination series&quot; (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot;) = TRUE and &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot; and &quot;Dose number&quot; = 1) - &quot;Date of birth&quot; ≤ 11 months&#xA;Trigger date: Latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Meningococcal vaccines&quot;)&#xA;Create condition: Children 2–11 months require 2 doses administered at an interval of at least 2 months and a booster about 1 year after."/>
    <condition>
      <kind value="applicability"/>
      <expression>
        <description value="Meningococcal booster dose"/>
        <language value="text/cql-identifier"/>
        <expression value="Meningococcal booster dose"/>
      </expression>
    </condition>
    <definitionCanonical value="http://smart.who.int/immunizations/ActivityDefinition/IMMZD2DTCR"/>
    <dynamicValue>
      <path value="status"/>
      <expression>
        <language value="text/cql-expression"/>
        <expression value="'active'"/>
      </expression>
    </dynamicValue>
    <dynamicValue>
      <path value="payload.contentString"/>
      <expression>
        <language value="text/cql-identifier"/>
        <expression value="Meningococcal booster dose Create"/>
      </expression>
    </dynamicValue>
    <dynamicValue>
      <path value="category.coding"/>
      <expression>
        <description value="Category of communication"/>
        <language value="text/cql-expression"/>
        <expression value="Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }"/>
      </expression>
    </dynamicValue>
    <dynamicValue>
      <path value="priority"/>
      <expression>
        <description value="Alert priority"/>
        <language value="text/cql-expression"/>
        <expression value="Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' }"/>
      </expression>
    </dynamicValue>
  </action>
</PlanDefinition>