<?xml version="1.0" encoding="UTF-8"?>
<library xmlns="urn:hl7-org:elm:r1" xmlns:t="urn:hl7-org:elm-types:r1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:fhir="http://hl7.org/fhir" xmlns:qdm43="urn:healthit-gov:qdm:v4_3" xmlns:qdm53="urn:healthit-gov:qdm:v5_3" xmlns:a="urn:hl7-org:cql-annotations:r1" localId="0">
   <annotation translatorOptions="EnableAnnotations,EnableLocators,DisableListDemotion,DisableListPromotion" signatureLevel="Overloads" xsi:type="a:CqlToElmInfo"/>
   <annotation message="An operand identifier reference is hiding another identifier of the same name." errorType="semantic" errorSeverity="warning" xsi:type="a:CqlToElmError"/>
   <annotation message="An operand identifier reference is hiding another identifier of the same name." errorType="semantic" errorSeverity="warning" xsi:type="a:CqlToElmError"/>
   <annotation message="An operand identifier reference is hiding another identifier of the same name." errorType="semantic" errorSeverity="warning" xsi:type="a:CqlToElmError"/>
   <annotation xsi:type="a:Annotation">
      <a:s r="296">
         <a:s>/*
 * Library: IMMZD2DTPolioBirthDoseLogic (IMMZ.D2.DT.Polio.Birth dose)
 * Rule: Determine if the client is due for a poliovirus vaccination according to the national immunization schedule
 * Decision Table: Birth dose administration as part of &quot;bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)&quot; schedule (in countries that are poliomyelitis (polio)-endemic countries or at high risk of importation and subsequent spread of polio that follow the combined bOPV–IPV schedule)
 * Trigger: IMMZ.D2 Determine required vaccination(s) if any
 */
library IMMZD2DTPolioBirthDoseLogic</a:s>
      </a:s>
   </annotation>
   <identifier id="IMMZD2DTPolioBirthDoseLogic" system="http://smart.who.int/immunizations"/>
   <schemaIdentifier id="urn:hl7-org:elm" version="r1"/>
   <usings>
      <def localId="1" localIdentifier="System" uri="urn:hl7-org:elm-types:r1" version="1.0.0"/>
      <def localId="206" locator="9:1-9:26" localIdentifier="FHIR" uri="http://hl7.org/fhir" version="4.0.1">
         <annotation xsi:type="a:Annotation">
            <a:s r="206">
               <a:s>using </a:s>
               <a:s>
                  <a:s>FHIR</a:s>
               </a:s>
               <a:s> version '4.0.1'</a:s>
            </a:s>
         </annotation>
      </def>
   </usings>
   <includes>
      <def localId="208" locator="10:1-10:35" localIdentifier="FHIRHelpers" path="http://hl7.org/fhir/FHIRHelpers" version="4.0.1">
         <annotation xsi:type="a:Annotation">
            <a:s r="208">
               <a:s>include </a:s>
               <a:s>
                  <a:s>FHIRHelpers</a:s>
               </a:s>
               <a:s> version '4.0.1'</a:s>
            </a:s>
         </annotation>
      </def>
      <def localId="210" locator="12:1-12:55" localIdentifier="Encounter" path="http://smart.who.int/immunizations/IMMZD2DTPolioEncounterElements">
         <annotation xsi:type="a:Annotation">
            <a:s r="210">
               <a:s>include </a:s>
               <a:s>
                  <a:s>IMMZD2DTPolioEncounterElements</a:s>
               </a:s>
               <a:s> called Encounter</a:s>
            </a:s>
         </annotation>
      </def>
   </includes>
   <parameters>
      <def localId="212" locator="14:1-14:36" name="Today" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="212">
               <a:s>parameter Today </a:s>
               <a:s r="216">
                  <a:s>Date</a:s>
               </a:s>
               <a:s> default </a:s>
               <a:s r="215">
                  <a:s>Today()</a:s>
               </a:s>
            </a:s>
         </annotation>
         <default localId="215" locator="14:30-14:36" xsi:type="Today"/>
         <parameterTypeSpecifier localId="216" locator="14:17-14:20" name="t:Date" xsi:type="NamedTypeSpecifier"/>
      </def>
   </parameters>
   <contexts>
      <def localId="221" locator="16:1-16:15" name="Patient"/>
   </contexts>
   <statements>
      <def localId="219" locator="16:1-16:15" name="Patient" context="Patient">
         <expression localId="220" xsi:type="SingletonFrom">
            <operand localId="218" locator="16:1-16:15" dataType="fhir:Patient" templateId="http://hl7.org/fhir/StructureDefinition/Patient" xsi:type="Retrieve"/>
         </expression>
      </def>
      <def localId="229" locator="36:1-38:52" name="Client is due for the bOPV birth dose" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is due for the bOPV birth dose"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Due&quot; (where &quot;Type of poliovirus dose&quot; = &quot;bOPV&quot;)"/>
            <a:s r="229">
               <a:s>/*
@output: Client is due for the bOPV birth dose
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Due&quot; (where &quot;Type of poliovirus dose&quot; = &quot;bOPV&quot;)
*/
define &quot;Client is due for the bOPV birth dose&quot;:
  </a:s>
               <a:s r="230">
                  <a:s r="232">
                     <a:s r="231">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="232">
                        <a:s>&quot;bOPV birth dose (a zero dose) was not administered&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    and </a:s>
                  <a:s r="234">
                     <a:s r="233">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="234">
                        <a:s>&quot;Client's age is less than 1 week&quot;</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="230" locator="37:3-38:52" xsi:type="And">
            <operand localId="232" locator="37:3-37:64" name="bOPV birth dose (a zero dose) was not administered" libraryName="Encounter" xsi:type="ExpressionRef"/>
            <operand localId="234" locator="38:9-38:52" name="Client's age is less than 1 week" libraryName="Encounter" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="238" locator="44:1-45:176" name="Client is due for the bOPV birth dose Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is due for the bOPV birth dose Guidance"/>
            <a:t name="guidance" value="Should vaccinate client with bOPV birth dose (a zero dose) as poliovirus birth dose was not administered and client's age is less than 1 week. Check for contraindications."/>
            <a:s r="238">
               <a:s>/*
@output: Client is due for the bOPV birth dose Guidance
@guidance: Should vaccinate client with bOPV birth dose (a zero dose) as poliovirus birth dose was not administered and client's age is less than 1 week. Check for contraindications.
*/
define &quot;Client is due for the bOPV birth dose Guidance&quot;:
  </a:s>
               <a:s r="239">
                  <a:s>'Should vaccinate client with bOPV birth dose (a zero dose) as poliovirus birth dose was not administered and client\'s age is less than 1 week. Check for contraindications.'</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="239" locator="45:3-45:176" valueType="t:String" value="Should vaccinate client with bOPV birth dose (a zero dose) as poliovirus birth dose was not administered and client's age is less than 1 week. Check for contraindications." xsi:type="Literal"/>
      </def>
      <def localId="249" locator="51:1-53:64" name="Client is not due for the bOPV birth dose Case 1" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is not due for the bOPV birth dose Case 1"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Not due&quot;"/>
            <a:s r="249">
               <a:s>/*
@output: Client is not due for the bOPV birth dose Case 1
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Not due&quot;
*/
define &quot;Client is not due for the bOPV birth dose Case 1&quot;:
  </a:s>
               <a:s r="250">
                  <a:s r="252">
                     <a:s r="251">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="252">
                        <a:s>&quot;bOPV birth dose (a zero dose) was not administered&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    and </a:s>
                  <a:s r="254">
                     <a:s r="253">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="254">
                        <a:s>&quot;Client's age is more than or equal to 1 week&quot;</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="250" locator="52:3-53:64" xsi:type="And">
            <operand localId="252" locator="52:3-52:64" name="bOPV birth dose (a zero dose) was not administered" libraryName="Encounter" xsi:type="ExpressionRef"/>
            <operand localId="254" locator="53:9-53:64" name="Client's age is more than or equal to 1 week" libraryName="Encounter" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="258" locator="59:1-60:60" name="Client is not due for the bOPV birth dose Case 2" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is not due for the bOPV birth dose Case 2"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Not due&quot;"/>
            <a:s r="258">
               <a:s>/*
@output: Client is not due for the bOPV birth dose Case 2
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Not due&quot;
*/
define &quot;Client is not due for the bOPV birth dose Case 2&quot;:
  </a:s>
               <a:s r="260">
                  <a:s r="259">
                     <a:s>Encounter</a:s>
                  </a:s>
                  <a:s>.</a:s>
                  <a:s r="260">
                     <a:s>&quot;bOPV birth dose (a zero dose) was administered&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="260" locator="60:3-60:60" name="bOPV birth dose (a zero dose) was administered" libraryName="Encounter" xsi:type="ExpressionRef"/>
      </def>
      <def localId="245" locator="66:1-68:57" name="Client is not due for the bOPV birth dose" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is not due for the bOPV birth dose"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Not due&quot;"/>
            <a:s r="245">
               <a:s>/*
@output: Client is not due for the bOPV birth dose
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Not due&quot;
*/
define &quot;Client is not due for the bOPV birth dose&quot;:
  </a:s>
               <a:s r="246">
                  <a:s r="255">
                     <a:s>&quot;Client is not due for the bOPV birth dose Case 1&quot;</a:s>
                  </a:s>
                  <a:s>
    or </a:s>
                  <a:s r="261">
                     <a:s>&quot;Client is not due for the bOPV birth dose Case 2&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="246" locator="67:3-68:57" xsi:type="Or">
            <operand localId="255" locator="67:3-67:52" name="Client is not due for the bOPV birth dose Case 1" xsi:type="ExpressionRef"/>
            <operand localId="261" locator="68:8-68:57" name="Client is not due for the bOPV birth dose Case 2" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="265" locator="75:1-80:5" name="Client is not due for the bOPV birth dose Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is not due for the bOPV birth dose Guidance"/>
            <a:s r="265">
               <a:s>/*
@output: Client is not due for the bOPV birth dose Guidance
@guidance = Should not vaccinate client with bOPV birth dose (a zero dose) as client's age is more than or equal to 1 week. Check for any other vaccines due and inform the caregiver of when to come back for the next dose.
@guidance = Poliovirus birth dose was already administered. Check poliovirus immunization schedule.
*/
define &quot;Client is not due for the bOPV birth dose Guidance&quot;:
  </a:s>
               <a:s r="266">
                  <a:s>case
    </a:s>
                  <a:s r="267">
                     <a:s>when </a:s>
                     <a:s r="268">
                        <a:s>&quot;Client is not due for the bOPV birth dose Case 1&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="269">
                        <a:s>'Should not vaccinate client with bOPV birth dose (a zero dose) as client\'s age is more than or equal to 1 week. Check for any other vaccines due and inform the caregiver of when to come back for the next dose.'</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="271">
                     <a:s>when </a:s>
                     <a:s r="272">
                        <a:s>&quot;Client is not due for the bOPV birth dose Case 2&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="273">
                        <a:s>'Poliovirus birth dose was already administered. Check poliovirus immunization schedule.'</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    else </a:s>
                  <a:s r="275">
                     <a:s>''</a:s>
                  </a:s>
                  <a:s>
  end</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="266" locator="76:3-80:5" xsi:type="Case">
            <caseItem localId="267" locator="77:5-77:277">
               <when localId="268" locator="77:10-77:59" name="Client is not due for the bOPV birth dose Case 1" xsi:type="ExpressionRef"/>
               <then localId="269" locator="77:66-77:277" valueType="t:String" value="Should not vaccinate client with bOPV birth dose (a zero dose) as client's age is more than or equal to 1 week. Check for any other vaccines due and inform the caregiver of when to come back for the next dose." xsi:type="Literal"/>
            </caseItem>
            <caseItem localId="271" locator="78:5-78:154">
               <when localId="272" locator="78:10-78:59" name="Client is not due for the bOPV birth dose Case 2" xsi:type="ExpressionRef"/>
               <then localId="273" locator="78:66-78:154" valueType="t:String" value="Poliovirus birth dose was already administered. Check poliovirus immunization schedule." xsi:type="Literal"/>
            </caseItem>
            <else localId="275" locator="79:10-79:11" valueType="t:String" value="" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="224" locator="22:1-27:5" name="Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="dynamicValue" value="Guidance"/>
            <a:s r="224">
               <a:s>/*
@dynamicValue: Guidance
*/
define &quot;Guidance&quot;:
  </a:s>
               <a:s r="225">
                  <a:s>case 
    </a:s>
                  <a:s r="226">
                     <a:s>when </a:s>
                     <a:s r="235">
                        <a:s>&quot;Client is due for the bOPV birth dose&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="241">
                        <a:s>&quot;Client is due for the bOPV birth dose Guidance&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="242">
                     <a:s>when </a:s>
                     <a:s r="262">
                        <a:s>&quot;Client is not due for the bOPV birth dose&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="277">
                        <a:s>&quot;Client is not due for the bOPV birth dose Guidance&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s> 
    else </a:s>
                  <a:s r="278">
                     <a:s>''</a:s>
                  </a:s>
                  <a:s>
  end</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="225" locator="23:3-27:5" xsi:type="Case">
            <caseItem localId="226" locator="24:5-24:102">
               <when localId="235" locator="24:10-24:48" name="Client is due for the bOPV birth dose" xsi:type="ExpressionRef"/>
               <then localId="241" locator="24:55-24:102" name="Client is due for the bOPV birth dose Guidance" xsi:type="ExpressionRef"/>
            </caseItem>
            <caseItem localId="242" locator="25:5-25:110">
               <when localId="262" locator="25:10-25:52" name="Client is not due for the bOPV birth dose" xsi:type="ExpressionRef"/>
               <then localId="277" locator="25:59-25:110" name="Client is not due for the bOPV birth dose Guidance" xsi:type="ExpressionRef"/>
            </caseItem>
            <else localId="278" locator="26:10-26:11" valueType="t:String" value="" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="282" locator="29:1-30:45" name="Has Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="282">
               <a:s>define &quot;Has Guidance&quot;:
  </a:s>
               <a:s r="283">
                  <a:s r="286">
                     <a:s r="284">
                        <a:s>&quot;Guidance&quot;</a:s>
                     </a:s>
                     <a:s> is not null</a:s>
                  </a:s>
                  <a:s> and </a:s>
                  <a:s r="293">
                     <a:s r="288">
                        <a:s>&quot;Guidance&quot;</a:s>
                     </a:s>
                     <a:s> != </a:s>
                     <a:s r="289">
                        <a:s>''</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="283" locator="30:3-30:45" xsi:type="And">
            <operand localId="286" locator="30:3-30:24" xsi:type="Not">
               <operand localId="285" locator="30:3-30:24" xsi:type="IsNull">
                  <operand localId="284" locator="30:3-30:12" name="Guidance" xsi:type="ExpressionRef"/>
               </operand>
            </operand>
            <operand localId="293" locator="30:30-30:45" xsi:type="Not">
               <operand localId="287" locator="30:30-30:45" xsi:type="Equal">
                  <signature localId="291" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="292" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="288" locator="30:30-30:39" name="Guidance" xsi:type="ExpressionRef"/>
                  <operand localId="289" locator="30:44-30:45" valueType="t:String" value="" xsi:type="Literal"/>
               </operand>
            </operand>
         </expression>
      </def>
      <def localId="296" locator="86:1-92:5" name="Test Validation" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="test" value="Test expected results based on example patients"/>
            <a:s r="296">
               <a:s>/*
@test: Test expected results based on example patients
*/
define &quot;Test Validation&quot;:
  </a:s>
               <a:s r="297">
                  <a:s>case
    </a:s>
                  <a:s r="298">
                     <a:s>when </a:s>
                     <a:s r="299">
                        <a:s r="301">
                           <a:s r="300">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="301">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="302">
                           <a:s>'Polio08.2'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="308">
                        <a:s r="309">
                           <a:s>&quot;Client is due for the bOPV birth dose&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="310">
                           <a:s r="311">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="312">
                              <a:s>'Should vaccinate client with bOPV birth dose (a zero dose) as poliovirus birth dose was not administered and client\'s age is less than 1 week. Check for contraindications.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="316">
                     <a:s>when </a:s>
                     <a:s r="317">
                        <a:s r="319">
                           <a:s r="318">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="319">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="320">
                           <a:s>'Polio09.2'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="326">
                        <a:s r="327">
                           <a:s>&quot;Client is not due for the bOPV birth dose Case 1&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="328">
                           <a:s r="329">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="330">
                              <a:s>'Should not vaccinate client with bOPV birth dose (a zero dose) as client\'s age is more than or equal to 1 week. Check for any other vaccines due and inform the caregiver of when to come back for the next dose.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="334">
                     <a:s>when </a:s>
                     <a:s r="335">
                        <a:s r="337">
                           <a:s r="336">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="337">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="338">
                           <a:s>'Polio10.1'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="344">
                        <a:s r="345">
                           <a:s>&quot;Client is not due for the bOPV birth dose Case 2&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="346">
                           <a:s r="347">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="348">
                              <a:s>'Poliovirus birth dose was already administered. Check poliovirus immunization schedule.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    else </a:s>
                  <a:s r="352">
                     <a:s>'No test case set'</a:s>
                  </a:s>
                  <a:s>
  end</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="297" locator="87:3-92:5" xsi:type="Case">
            <caseItem localId="298" locator="88:5-88:270">
               <when localId="299" locator="88:10-88:33" xsi:type="Equal">
                  <signature localId="306" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="307" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="304" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="305" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="301" locator="88:10-88:19" path="id" xsi:type="Property">
                        <source localId="300" locator="88:10-88:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="302" locator="88:23-88:33" valueType="t:String" value="Polio08.2" xsi:type="Literal"/>
               </when>
               <then localId="354" xsi:type="As">
                  <operand localId="308" locator="88:40-88:270" xsi:type="And">
                     <operand localId="309" locator="88:40-88:78" name="Client is due for the bOPV birth dose" xsi:type="ExpressionRef"/>
                     <operand localId="310" locator="88:84-88:270" xsi:type="Equal">
                        <signature localId="314" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="315" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="311" locator="88:84-88:93" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="312" locator="88:97-88:270" valueType="t:String" value="Should vaccinate client with bOPV birth dose (a zero dose) as poliovirus birth dose was not administered and client's age is less than 1 week. Check for contraindications." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="355" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="356" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="357" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="316" locator="89:5-89:319">
               <when localId="317" locator="89:10-89:33" xsi:type="Equal">
                  <signature localId="324" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="325" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="322" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="323" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="319" locator="89:10-89:19" path="id" xsi:type="Property">
                        <source localId="318" locator="89:10-89:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="320" locator="89:23-89:33" valueType="t:String" value="Polio09.2" xsi:type="Literal"/>
               </when>
               <then localId="358" xsi:type="As">
                  <operand localId="326" locator="89:40-89:319" xsi:type="And">
                     <operand localId="327" locator="89:40-89:89" name="Client is not due for the bOPV birth dose Case 1" xsi:type="ExpressionRef"/>
                     <operand localId="328" locator="89:95-89:319" xsi:type="Equal">
                        <signature localId="332" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="333" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="329" locator="89:95-89:104" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="330" locator="89:108-89:319" valueType="t:String" value="Should not vaccinate client with bOPV birth dose (a zero dose) as client's age is more than or equal to 1 week. Check for any other vaccines due and inform the caregiver of when to come back for the next dose." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="359" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="360" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="361" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="334" locator="90:5-90:196">
               <when localId="335" locator="90:10-90:33" xsi:type="Equal">
                  <signature localId="342" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="343" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="340" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="341" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="337" locator="90:10-90:19" path="id" xsi:type="Property">
                        <source localId="336" locator="90:10-90:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="338" locator="90:23-90:33" valueType="t:String" value="Polio10.1" xsi:type="Literal"/>
               </when>
               <then localId="362" xsi:type="As">
                  <operand localId="344" locator="90:40-90:196" xsi:type="And">
                     <operand localId="345" locator="90:40-90:89" name="Client is not due for the bOPV birth dose Case 2" xsi:type="ExpressionRef"/>
                     <operand localId="346" locator="90:95-90:196" xsi:type="Equal">
                        <signature localId="350" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="351" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="347" locator="90:95-90:104" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="348" locator="90:108-90:196" valueType="t:String" value="Poliovirus birth dose was already administered. Check poliovirus immunization schedule." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="363" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="364" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="365" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <else localId="366" xsi:type="As">
               <operand localId="352" locator="91:10-91:27" valueType="t:String" value="No test case set" xsi:type="Literal"/>
               <asTypeSpecifier localId="367" xsi:type="ChoiceTypeSpecifier">
                  <choice localId="368" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                  <choice localId="369" name="t:String" xsi:type="NamedTypeSpecifier"/>
               </asTypeSpecifier>
            </else>
         </expression>
      </def>
   </statements>
</library>
