<?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="305">
         <a:s>/*
 * Library: IMMZD2DTTyphoidViPSLogic (IMMZ.D2.DT.Typhoid.ViPS)
 * Rule: Determine if the client is due for a typhoid vaccination according to the national immunization schedule
 * Decision Table: Unconjugated Vi polysaccharide (ViPS) schedule
 * Trigger: IMMZ.D2 Determine required vaccination(s) if any
 */
library IMMZD2DTTyphoidViPSLogic</a:s>
      </a:s>
   </annotation>
   <identifier id="IMMZD2DTTyphoidViPSLogic" 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:57" localIdentifier="Encounter" path="http://smart.who.int/immunizations/IMMZD2DTTyphoidEncounterElements">
         <annotation xsi:type="a:Annotation">
            <a:s r="210">
               <a:s>include </a:s>
               <a:s>
                  <a:s>IMMZD2DTTyphoidEncounterElements</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="38:1-39:47" name="Client is not due for Typhoid vaccination" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is not due for Typhoid vaccination"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Not due&quot;"/>
            <a:s r="229">
               <a:s>/*
@output: Client is not due for Typhoid vaccination
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Not due&quot;
*/
define &quot;Client is not due for Typhoid vaccination&quot;:
  </a:s>
               <a:s r="231">
                  <a:s r="230">
                     <a:s>Encounter</a:s>
                  </a:s>
                  <a:s>.</a:s>
                  <a:s r="231">
                     <a:s>&quot;Client's age is less than 2 years&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="231" locator="39:3-39:47" name="Client's age is less than 2 years" libraryName="Encounter" xsi:type="ExpressionRef"/>
      </def>
      <def localId="235" locator="46:1-47:187" name="Client is not due for Typhoid vaccination Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is not due for Typhoid vaccination Guidance"/>
            <a:t name="guidance" value="Should not vaccinate client with typhoid dose as client's age is less than 2 years.&#xa;Check for any other vaccines due and inform the caregiver of when to come back for the first dose."/>
            <a:s r="235">
               <a:s>/*
@output: Client is not due for Typhoid vaccination Guidance
@guidance: Should not vaccinate client with typhoid dose as client's age is less than 2 years.
Check for any other vaccines due and inform the caregiver of when to come back for the first dose.
*/
define &quot;Client is not due for Typhoid vaccination Guidance&quot;:
  </a:s>
               <a:s r="236">
                  <a:s>'Should not vaccinate client with typhoid dose as client\'s age is less than 2 years.
Check for any other vaccines due and inform the caregiver of when to come back for the first dose.'</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="236" locator="47:3-47:187" valueType="t:String" value="Should not vaccinate client with typhoid dose as client's age is less than 2 years.&#xa;Check for any other vaccines due and inform the caregiver of when to come back for the first dose." xsi:type="Literal"/>
      </def>
      <def localId="242" locator="54:1-56:65" name="Client is due for Typhoid vaccination" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is due for Typhoid vaccination"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Due&quot;"/>
            <a:s r="242">
               <a:s>/*
@output: Client is due for Typhoid vaccination
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Due&quot;
*/
define &quot;Client is due for Typhoid vaccination&quot;:
  </a:s>
               <a:s r="243">
                  <a:s r="245">
                     <a:s r="244">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="245">
                        <a:s>&quot;No typhoid primary series doses were administered&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    and </a:s>
                  <a:s r="247">
                     <a:s r="246">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="247">
                        <a:s>&quot;Client's age is more than or equal to 2 years&quot;</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="243" locator="55:3-56:65" xsi:type="And">
            <operand localId="245" locator="55:3-55:63" name="No typhoid primary series doses were administered" libraryName="Encounter" xsi:type="ExpressionRef"/>
            <operand localId="247" locator="56:9-56:65" name="Client's age is more than or equal to 2 years" libraryName="Encounter" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="251" locator="63:1-64:156" name="Client is due for Typhoid vaccination Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is due for Typhoid vaccination Guidance"/>
            <a:t name="guidance" value="Should vaccinate client with typhoid dose as no typhoid doses were administered and client is within appropriate age range.&#xa;Check for contraindications."/>
            <a:s r="251">
               <a:s>/*
@output: Client is due for Typhoid vaccination Guidance
@guidance: Should vaccinate client with typhoid dose as no typhoid doses were administered and client is within appropriate age range.
Check for contraindications.
*/
define &quot;Client is due for Typhoid vaccination Guidance&quot;:
  </a:s>
               <a:s r="252">
                  <a:s>'Should vaccinate client with typhoid dose as no typhoid doses were administered and client is within appropriate age range.
Check for contraindications.'</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="252" locator="64:3-64:156" valueType="t:String" value="Should vaccinate client with typhoid dose as no typhoid doses were administered and client is within appropriate age range.&#xa;Check for contraindications." xsi:type="Literal"/>
      </def>
      <def localId="258" locator="72:1-74:82" name="Primary series is complete. Client is not due for typhoid booster dose" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Primary series is complete. Client is not due for typhoid booster dose"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Not due&quot;"/>
            <a:s r="258">
               <a:s>/*
@output: Primary series is complete. Client is not due for typhoid booster dose
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Not due&quot;
&quot;Completed the primary vaccination series&quot; (where &quot;Vaccine type&quot; = &quot;Typhoid vaccines&quot;) = TRUE
*/
define &quot;Primary series is complete. Client is not due for typhoid booster dose&quot;:
  </a:s>
               <a:s r="259">
                  <a:s r="261">
                     <a:s r="260">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="261">
                        <a:s>&quot;One typhoid primary series dose was administered&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    and </a:s>
                  <a:s r="263">
                     <a:s r="262">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="263">
                        <a:s>&quot;The latest typhoid dose was administered less than 3 years ago&quot;</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="259" locator="73:3-74:82" xsi:type="And">
            <operand localId="261" locator="73:3-73:62" name="One typhoid primary series dose was administered" libraryName="Encounter" xsi:type="ExpressionRef"/>
            <operand localId="263" locator="74:9-74:82" name="The latest typhoid dose was administered less than 3 years ago" libraryName="Encounter" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="267" locator="81:1-82:222" name="Primary series is complete. Client is not due for typhoid booster dose Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Primary series is complete. Client is not due for typhoid booster dose Guidance"/>
            <a:t name="guidance" value="Should not vaccinate client with typhoid booster dose as the latest typhoid dose was administered less than 3 years ago.&#xa;Check for any other vaccines due and inform the caregiver of when to come back for the next dose."/>
            <a:s r="267">
               <a:s>/*
@output: Primary series is complete. Client is not due for typhoid booster dose Guidance
@guidance: Should not vaccinate client with typhoid booster dose as the latest typhoid dose was administered less than 3 years ago.
Check for any other vaccines due and inform the caregiver of when to come back for the next dose.
*/
define &quot;Primary series is complete. Client is not due for typhoid booster dose Guidance&quot;:
  </a:s>
               <a:s r="268">
                  <a:s>'Should not vaccinate client with typhoid booster dose as the latest typhoid dose was administered less than 3 years ago.
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>
         </annotation>
         <expression localId="268" locator="82:3-82:222" valueType="t:String" value="Should not vaccinate client with typhoid booster dose as the latest typhoid dose was administered less than 3 years ago.&#xa;Check for any other vaccines due and inform the caregiver of when to come back for the next dose." xsi:type="Literal"/>
      </def>
      <def localId="274" locator="90:1-92:82" name="Primary series is complete. Client is due for typhoid booster dose" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Primary series is complete. Client is due for typhoid booster dose"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Due&quot;"/>
            <a:s r="274">
               <a:s>/*
@output: Primary series is complete. Client is due for typhoid booster dose
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Due&quot;
&quot;Completed the primary vaccination series&quot; (where &quot;Vaccine type&quot; = &quot;Typhoid vaccines&quot;) = TRUE
*/
define &quot;Primary series is complete. Client is due for typhoid booster dose&quot;:
  </a:s>
               <a:s r="275">
                  <a:s r="277">
                     <a:s r="276">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="277">
                        <a:s>&quot;One typhoid primary series dose was administered&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    and </a:s>
                  <a:s r="279">
                     <a:s r="278">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="279">
                        <a:s>&quot;The latest typhoid dose was administered more than 3 years ago&quot;</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="275" locator="91:3-92:82" xsi:type="And">
            <operand localId="277" locator="91:3-91:62" name="One typhoid primary series dose was administered" libraryName="Encounter" xsi:type="ExpressionRef"/>
            <operand localId="279" locator="92:9-92:82" name="The latest typhoid dose was administered more than 3 years ago" libraryName="Encounter" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="283" locator="99:1-100:141" name="Primary series is complete. Client is due for typhoid booster dose Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Primary series is complete. Client is due for typhoid booster dose Guidance"/>
            <a:t name="guidance" value="Should vaccinate client with typhoid booster dose as the latest dose was administered more than 3 years ago.&#xa;Check for contraindications."/>
            <a:s r="283">
               <a:s>/*
@output: Primary series is complete. Client is due for typhoid booster dose Guidance
@guidance: Should vaccinate client with typhoid booster dose as the latest dose was administered more than 3 years ago.
Check for contraindications.
*/
define &quot;Primary series is complete. Client is due for typhoid booster dose Guidance&quot;:
  </a:s>
               <a:s r="284">
                  <a:s>'Should vaccinate client with typhoid booster dose as the latest dose was administered more than 3 years ago.
Check for contraindications.'</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="284" locator="100:3-100:141" valueType="t:String" value="Should vaccinate client with typhoid booster dose as the latest dose was administered more than 3 years ago.&#xa;Check for contraindications." xsi:type="Literal"/>
      </def>
      <def localId="224" locator="22:1-29: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="232">
                        <a:s>&quot;Client is not due for Typhoid vaccination&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="238">
                        <a:s>&quot;Client is not due for Typhoid vaccination Guidance&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="239">
                     <a:s>when </a:s>
                     <a:s r="248">
                        <a:s>&quot;Client is due for Typhoid vaccination&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="254">
                        <a:s>&quot;Client is due for Typhoid vaccination Guidance&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="255">
                     <a:s>when </a:s>
                     <a:s r="264">
                        <a:s>&quot;Primary series is complete. Client is not due for typhoid booster dose&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="270">
                        <a:s>&quot;Primary series is complete. Client is not due for typhoid booster dose Guidance&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="271">
                     <a:s>when </a:s>
                     <a:s r="280">
                        <a:s>&quot;Primary series is complete. Client is due for typhoid booster dose&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="286">
                        <a:s>&quot;Primary series is complete. Client is due for typhoid booster dose Guidance&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s> 
    else </a:s>
                  <a:s r="287">
                     <a:s>''</a:s>
                  </a:s>
                  <a:s>
  end</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="225" locator="23:3-29:5" xsi:type="Case">
            <caseItem localId="226" locator="24:5-24:110">
               <when localId="232" locator="24:10-24:52" name="Client is not due for Typhoid vaccination" xsi:type="ExpressionRef"/>
               <then localId="238" locator="24:59-24:110" name="Client is not due for Typhoid vaccination Guidance" xsi:type="ExpressionRef"/>
            </caseItem>
            <caseItem localId="239" locator="25:5-25:102">
               <when localId="248" locator="25:10-25:48" name="Client is due for Typhoid vaccination" xsi:type="ExpressionRef"/>
               <then localId="254" locator="25:55-25:102" name="Client is due for Typhoid vaccination Guidance" xsi:type="ExpressionRef"/>
            </caseItem>
            <caseItem localId="255" locator="26:5-26:168">
               <when localId="264" locator="26:10-26:81" name="Primary series is complete. Client is not due for typhoid booster dose" xsi:type="ExpressionRef"/>
               <then localId="270" locator="26:88-26:168" name="Primary series is complete. Client is not due for typhoid booster dose Guidance" xsi:type="ExpressionRef"/>
            </caseItem>
            <caseItem localId="271" locator="27:5-27:160">
               <when localId="280" locator="27:10-27:77" name="Primary series is complete. Client is due for typhoid booster dose" xsi:type="ExpressionRef"/>
               <then localId="286" locator="27:84-27:160" name="Primary series is complete. Client is due for typhoid booster dose Guidance" xsi:type="ExpressionRef"/>
            </caseItem>
            <else localId="287" locator="28:10-28:11" valueType="t:String" value="" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="291" locator="31:1-32:45" name="Has Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="291">
               <a:s>define &quot;Has Guidance&quot;:
  </a:s>
               <a:s r="292">
                  <a:s r="295">
                     <a:s r="293">
                        <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="302">
                     <a:s r="297">
                        <a:s>&quot;Guidance&quot;</a:s>
                     </a:s>
                     <a:s> != </a:s>
                     <a:s r="298">
                        <a:s>''</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="292" locator="32:3-32:45" xsi:type="And">
            <operand localId="295" locator="32:3-32:24" xsi:type="Not">
               <operand localId="294" locator="32:3-32:24" xsi:type="IsNull">
                  <operand localId="293" locator="32:3-32:12" name="Guidance" xsi:type="ExpressionRef"/>
               </operand>
            </operand>
            <operand localId="302" locator="32:30-32:45" xsi:type="Not">
               <operand localId="296" locator="32:30-32:45" xsi:type="Equal">
                  <signature localId="300" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="301" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="297" locator="32:30-32:39" name="Guidance" xsi:type="ExpressionRef"/>
                  <operand localId="298" locator="32:44-32:45" valueType="t:String" value="" xsi:type="Literal"/>
               </operand>
            </operand>
         </expression>
      </def>
      <def localId="305" locator="107:1-118: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="305">
               <a:s>/*
@test: Test expected results based on example patients
*/
define &quot;Test Validation&quot;:
  </a:s>
               <a:s r="306">
                  <a:s>case
    </a:s>
                  <a:s r="307">
                     <a:s>when </a:s>
                     <a:s r="308">
                        <a:s r="310">
                           <a:s r="309">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="310">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="311">
                           <a:s>'Typhoid19.1'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="317">
                        <a:s r="318">
                           <a:s>&quot;Client is not due for Typhoid vaccination&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="319">
                           <a:s r="320">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="321">
                              <a:s>'Should not vaccinate client with typhoid dose as client\'s age is less than 2 years.
Check for any other vaccines due and inform the caregiver of when to come back for the first dose.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="325">
                     <a:s>when </a:s>
                     <a:s r="326">
                        <a:s r="328">
                           <a:s r="327">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="328">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="329">
                           <a:s>'Typhoid20.2'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="335">
                        <a:s r="336">
                           <a:s>&quot;Client is due for Typhoid vaccination&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="337">
                           <a:s r="338">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="339">
                              <a:s>'Should vaccinate client with typhoid dose as no typhoid doses were administered and client is within appropriate age range.
Check for contraindications.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="343">
                     <a:s>when </a:s>
                     <a:s r="344">
                        <a:s r="346">
                           <a:s r="345">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="346">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="347">
                           <a:s>'Typhoid21.2'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="353">
                        <a:s r="354">
                           <a:s>&quot;Primary series is complete. Client is not due for typhoid booster dose&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="355">
                           <a:s r="356">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="357">
                              <a:s>'Should not vaccinate client with typhoid booster dose as the latest typhoid dose was administered less than 3 years ago.
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="361">
                     <a:s>when </a:s>
                     <a:s r="362">
                        <a:s r="364">
                           <a:s r="363">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="364">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="365">
                           <a:s>'Typhoid22.2'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="371">
                        <a:s r="372">
                           <a:s>&quot;Primary series is complete. Client is due for typhoid booster dose&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="373">
                           <a:s r="374">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="375">
                              <a:s>'Should vaccinate client with typhoid booster dose as the latest dose was administered more than 3 years ago.
Check for contraindications.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    else </a:s>
                  <a:s r="379">
                     <a:s>'No test case set'</a:s>
                  </a:s>
                  <a:s>
  end</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="306" locator="108:3-118:5" xsi:type="Case">
            <caseItem localId="307" locator="109:5-109:287">
               <when localId="308" locator="109:10-109:35" xsi:type="Equal">
                  <signature localId="315" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="316" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="313" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="314" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="310" locator="109:10-109:19" path="id" xsi:type="Property">
                        <source localId="309" locator="109:10-109:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="311" locator="109:23-109:35" valueType="t:String" value="Typhoid19.1" xsi:type="Literal"/>
               </when>
               <then localId="381" xsi:type="As">
                  <operand localId="317" locator="109:42-109:287" xsi:type="And">
                     <operand localId="318" locator="109:42-109:84" name="Client is not due for Typhoid vaccination" xsi:type="ExpressionRef"/>
                     <operand localId="319" locator="109:90-109:287" xsi:type="Equal">
                        <signature localId="323" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="324" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="320" locator="109:90-109:99" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="321" locator="109:103-109:287" valueType="t:String" value="Should not vaccinate client with typhoid dose as client's age is less than 2 years.&#xa;Check for any other vaccines due and inform the caregiver of when to come back for the first dose." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="382" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="383" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="384" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="325" locator="111:5-111:252">
               <when localId="326" locator="111:10-111:35" xsi:type="Equal">
                  <signature localId="333" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="334" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="331" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="332" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="328" locator="111:10-111:19" path="id" xsi:type="Property">
                        <source localId="327" locator="111:10-111:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="329" locator="111:23-111:35" valueType="t:String" value="Typhoid20.2" xsi:type="Literal"/>
               </when>
               <then localId="385" xsi:type="As">
                  <operand localId="335" locator="111:42-111:252" xsi:type="And">
                     <operand localId="336" locator="111:42-111:80" name="Client is due for Typhoid vaccination" xsi:type="ExpressionRef"/>
                     <operand localId="337" locator="111:86-111:252" xsi:type="Equal">
                        <signature localId="341" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="342" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="338" locator="111:86-111:95" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="339" locator="111:99-111:252" valueType="t:String" value="Should vaccinate client with typhoid dose as no typhoid doses were administered and client is within appropriate age range.&#xa;Check for contraindications." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="386" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="387" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="388" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="343" locator="113:5-113:351">
               <when localId="344" locator="113:10-113:35" xsi:type="Equal">
                  <signature localId="351" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="352" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="349" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="350" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="346" locator="113:10-113:19" path="id" xsi:type="Property">
                        <source localId="345" locator="113:10-113:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="347" locator="113:23-113:35" valueType="t:String" value="Typhoid21.2" xsi:type="Literal"/>
               </when>
               <then localId="389" xsi:type="As">
                  <operand localId="353" locator="113:42-113:351" xsi:type="And">
                     <operand localId="354" locator="113:42-113:113" name="Primary series is complete. Client is not due for typhoid booster dose" xsi:type="ExpressionRef"/>
                     <operand localId="355" locator="113:119-113:351" xsi:type="Equal">
                        <signature localId="359" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="360" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="356" locator="113:119-113:128" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="357" locator="113:132-113:351" valueType="t:String" value="Should not vaccinate client with typhoid booster dose as the latest typhoid dose was administered less than 3 years ago.&#xa;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="390" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="391" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="392" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="361" locator="115:5-115:266">
               <when localId="362" locator="115:10-115:35" xsi:type="Equal">
                  <signature localId="369" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="370" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="367" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="368" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="364" locator="115:10-115:19" path="id" xsi:type="Property">
                        <source localId="363" locator="115:10-115:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="365" locator="115:23-115:35" valueType="t:String" value="Typhoid22.2" xsi:type="Literal"/>
               </when>
               <then localId="393" xsi:type="As">
                  <operand localId="371" locator="115:42-115:266" xsi:type="And">
                     <operand localId="372" locator="115:42-115:109" name="Primary series is complete. Client is due for typhoid booster dose" xsi:type="ExpressionRef"/>
                     <operand localId="373" locator="115:115-115:266" xsi:type="Equal">
                        <signature localId="377" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="378" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="374" locator="115:115-115:124" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="375" locator="115:128-115:266" valueType="t:String" value="Should vaccinate client with typhoid booster dose as the latest dose was administered more than 3 years ago.&#xa;Check for contraindications." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="394" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="395" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="396" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <else localId="397" xsi:type="As">
               <operand localId="379" locator="117:10-117:27" valueType="t:String" value="No test case set" xsi:type="Literal"/>
               <asTypeSpecifier localId="398" xsi:type="ChoiceTypeSpecifier">
                  <choice localId="399" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                  <choice localId="400" name="t:String" xsi:type="NamedTypeSpecifier"/>
               </asTypeSpecifier>
            </else>
         </expression>
      </def>
   </statements>
</library>
