<?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="372">
         <a:s>/*
 * Library: IMMZD2DTTyphoidTy21aLogic (IMMZ.D2.DT.Typhoid.Ty21a)
 * Rule: Determine if the client is due for a typhoid vaccination according to the national immunization schedule
 * Decision Table: Live attenuated Ty21a vaccine schedule
 * Trigger: IMMZ.D2 Determine required vaccination(s) if any
 */
library IMMZD2DTTyphoidTy21aLogic</a:s>
      </a:s>
   </annotation>
   <identifier id="IMMZD2DTTyphoidTy21aLogic" 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="233" locator="38:1-39:47" name="Client is not due for Typhoid vaccination Case 1" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is not due for Typhoid vaccination Case 1"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Not due&quot;"/>
            <a:s r="233">
               <a:s>/*
@output: Client is not due for Typhoid vaccination Case 1
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Not due&quot;
*/
define &quot;Client is not due for Typhoid vaccination Case 1&quot;:
  </a:s>
               <a:s r="235">
                  <a:s r="234">
                     <a:s>Encounter</a:s>
                  </a:s>
                  <a:s>.</a:s>
                  <a:s r="235">
                     <a:s>&quot;Client's age is less than 6 years&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="235" locator="39:3-39:47" name="Client's age is less than 6 years" libraryName="Encounter" xsi:type="ExpressionRef"/>
      </def>
      <def localId="239" locator="45:1-48:90" name="Client is not due for Typhoid vaccination Case 2" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is not due for Typhoid vaccination Case 2"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Not due&quot;"/>
            <a:s r="239">
               <a:s>/*
@output: Client is not due for Typhoid vaccination Case 2
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Not due&quot;
*/
define &quot;Client is not due for Typhoid vaccination Case 2&quot;:
  </a:s>
               <a:s r="240">
                  <a:s r="241">
                     <a:s r="243">
                        <a:s r="242">
                           <a:s>Encounter</a:s>
                        </a:s>
                        <a:s>.</a:s>
                        <a:s r="243">
                           <a:s>&quot;Client's age is more than or equal to 6 years&quot;</a:s>
                        </a:s>
                     </a:s>
                     <a:s>
    and </a:s>
                     <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;Primary series is not complete&quot;</a:s>
                        </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;Live vaccine, other than typhoid, was administered in the past 4 weeks&quot;</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="240" locator="46:3-48:90" xsi:type="And">
            <operand localId="241" locator="46:3-47:50" xsi:type="And">
               <operand localId="243" locator="46:3-46:59" name="Client's age is more than or equal to 6 years" libraryName="Encounter" xsi:type="ExpressionRef"/>
               <operand localId="245" locator="47:9-47:50" name="Primary series is not complete" libraryName="Encounter" xsi:type="ExpressionRef"/>
            </operand>
            <operand localId="247" locator="48:9-48:90" name="Live vaccine, other than typhoid, was administered in the past 4 weeks" libraryName="Encounter" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="229" locator="54:1-56:57" 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="230">
                  <a:s r="236">
                     <a:s>&quot;Client is not due for Typhoid vaccination Case 1&quot;</a:s>
                  </a:s>
                  <a:s>
    or </a:s>
                  <a:s r="248">
                     <a:s>&quot;Client is not due for Typhoid vaccination Case 2&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="230" locator="55:3-56:57" xsi:type="Or">
            <operand localId="236" locator="55:3-55:52" name="Client is not due for Typhoid vaccination Case 1" xsi:type="ExpressionRef"/>
            <operand localId="248" locator="56:8-56:57" name="Client is not due for Typhoid vaccination Case 2" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="252" locator="65:1-72:5" 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:s r="252">
               <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 6 years.
Check for any other vaccines due and inform the caregiver of when to come back for the first dose.
@guidance = Should not vaccinate client with typhoid dose as live vaccine was administered in the past 4 weeks.
Check for other vaccines due and inform the caregiver or the client when the next dose should be administered.
*/
define &quot;Client is not due for Typhoid vaccination Guidance&quot;:
  </a:s>
               <a:s r="253">
                  <a:s>case
    </a:s>
                  <a:s r="254">
                     <a:s>when </a:s>
                     <a:s r="255">
                        <a:s>&quot;Client is not due for Typhoid vaccination Case 1&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="256">
                        <a:s>'Should not vaccinate client with typhoid dose as client\'s age is less than 6 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 r="258">
                     <a:s>when </a:s>
                     <a:s r="259">
                        <a:s>&quot;Client is not due for Typhoid vaccination Case 2&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="260">
                        <a:s>'Should not vaccinate client with typhoid dose as live vaccine was administered in the past 4 weeks.
Check for other vaccines due and inform the caregiver or the client when the next dose should be administered.'</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    else </a:s>
                  <a:s r="262">
                     <a:s>''</a:s>
                  </a:s>
                  <a:s>
  end</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="253" locator="66:3-72:5" xsi:type="Case">
            <caseItem localId="254" locator="67:5-67:250">
               <when localId="255" locator="67:10-67:59" name="Client is not due for Typhoid vaccination Case 1" xsi:type="ExpressionRef"/>
               <then localId="256" locator="67:66-67:250" valueType="t:String" value="Should not vaccinate client with typhoid dose as client's age is less than 6 years.&#xa;Check for any other vaccines due and inform the caregiver of when to come back for the first dose." xsi:type="Literal"/>
            </caseItem>
            <caseItem localId="258" locator="69:5-69:277">
               <when localId="259" locator="69:10-69:59" name="Client is not due for Typhoid vaccination Case 2" xsi:type="ExpressionRef"/>
               <then localId="260" locator="69:66-69:277" valueType="t:String" value="Should not vaccinate client with typhoid dose as live vaccine was administered in the past 4 weeks.&#xa;Check for other vaccines due and inform the caregiver or the client when the next dose should be administered." xsi:type="Literal"/>
            </caseItem>
            <else localId="262" locator="71:10-71:11" valueType="t:String" value="" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="268" locator="78:1-81:93" 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="268">
               <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="269">
                  <a:s r="270">
                     <a:s r="272">
                        <a:s r="271">
                           <a:s>Encounter</a:s>
                        </a:s>
                        <a:s>.</a:s>
                        <a:s r="272">
                           <a:s>&quot;Client's age is more than or equal to 6 years&quot;</a:s>
                        </a:s>
                     </a:s>
                     <a:s>
    and </a:s>
                     <a:s r="274">
                        <a:s r="273">
                           <a:s>Encounter</a:s>
                        </a:s>
                        <a:s>.</a:s>
                        <a:s r="274">
                           <a:s>&quot;Primary series is not complete&quot;</a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    and </a:s>
                  <a:s r="276">
                     <a:s r="275">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="276">
                        <a:s>&quot;No live vaccine, other than typhoid, was administered in the past 4 weeks&quot;</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="269" locator="79:3-81:93" xsi:type="And">
            <operand localId="270" locator="79:3-80:50" xsi:type="And">
               <operand localId="272" locator="79:3-79:59" name="Client's age is more than or equal to 6 years" libraryName="Encounter" xsi:type="ExpressionRef"/>
               <operand localId="274" locator="80:9-80:50" name="Primary series is not complete" libraryName="Encounter" xsi:type="ExpressionRef"/>
            </operand>
            <operand localId="276" locator="81:9-81:93" name="No live vaccine, other than typhoid, was administered in the past 4 weeks" libraryName="Encounter" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="280" locator="88:1-89:228" 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="Prescribe the Ty21a primary series (if not done yet). Should vaccinate client with typhoid dose as primary series has not been completed and no live vaccines was administered in the past 4 weeks.&#xa;Check for contraindications."/>
            <a:s r="280">
               <a:s>/*
@output: Client is due for Typhoid vaccination Guidance
@guidance: Prescribe the Ty21a primary series (if not done yet). Should vaccinate client with typhoid dose as primary series has not been completed and no live vaccines was administered in the past 4 weeks.
Check for contraindications.
*/
define &quot;Client is due for Typhoid vaccination Guidance&quot;:
  </a:s>
               <a:s r="281">
                  <a:s>'Prescribe the Ty21a primary series (if not done yet). Should vaccinate client with typhoid dose as primary series has not been completed and no live vaccines was administered in the past 4 weeks.
Check for contraindications.'</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="281" locator="89:3-89:228" valueType="t:String" value="Prescribe the Ty21a primary series (if not done yet). Should vaccinate client with typhoid dose as primary series has not been completed and no live vaccines was administered in the past 4 weeks.&#xa;Check for contraindications." xsi:type="Literal"/>
      </def>
      <def localId="291" locator="96:1-99:82" name="Client is not due for typhoid booster dose Case 1" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is not due for typhoid booster dose Case 1"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Not due&quot;"/>
            <a:s r="291">
               <a:s>/*
@output: Client is not due for typhoid booster dose Case 1
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Not due&quot;
*/
define &quot;Client is not due for typhoid booster dose Case 1&quot;:
  </a:s>
               <a:s r="292">
                  <a:s r="293">
                     <a:s r="295">
                        <a:s r="294">
                           <a:s>Encounter</a:s>
                        </a:s>
                        <a:s>.</a:s>
                        <a:s r="295">
                           <a:s>&quot;Client's age is more than or equal to 6 years&quot;</a:s>
                        </a:s>
                     </a:s>
                     <a:s>
    and </a:s>
                     <a:s r="297">
                        <a:s r="296">
                           <a:s>Encounter</a:s>
                        </a:s>
                        <a:s>.</a:s>
                        <a:s r="297">
                           <a:s>&quot;Primary series is complete&quot;</a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    and </a:s>
                  <a:s r="299">
                     <a:s r="298">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="299">
                        <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="292" locator="97:3-99:82" xsi:type="And">
            <operand localId="293" locator="97:3-98:46" xsi:type="And">
               <operand localId="295" locator="97:3-97:59" name="Client's age is more than or equal to 6 years" libraryName="Encounter" xsi:type="ExpressionRef"/>
               <operand localId="297" locator="98:9-98:46" name="Primary series is complete" libraryName="Encounter" xsi:type="ExpressionRef"/>
            </operand>
            <operand localId="299" locator="99:9-99:82" name="The latest typhoid dose was administered less than 3 years ago" libraryName="Encounter" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="303" locator="105:1-109:90" name="Client is not due for typhoid booster dose Case 2" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is not due for typhoid booster dose Case 2"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Not due&quot;"/>
            <a:s r="303">
               <a:s>/*
@output: Client is not due for typhoid booster dose Case 2
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Not due&quot;
*/
define &quot;Client is not due for typhoid booster dose Case 2&quot;:
  </a:s>
               <a:s r="304">
                  <a:s r="305">
                     <a:s r="306">
                        <a:s r="308">
                           <a:s r="307">
                              <a:s>Encounter</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="308">
                              <a:s>&quot;Client's age is more than or equal to 6 years&quot;</a:s>
                           </a:s>
                        </a:s>
                        <a:s>
    and </a:s>
                        <a:s r="310">
                           <a:s r="309">
                              <a:s>Encounter</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="310">
                              <a:s>&quot;Primary series is complete&quot;</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                     <a:s>
    and </a:s>
                     <a:s r="312">
                        <a:s r="311">
                           <a:s>Encounter</a:s>
                        </a:s>
                        <a:s>.</a:s>
                        <a:s r="312">
                           <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>
    and </a:s>
                  <a:s r="314">
                     <a:s r="313">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="314">
                        <a:s>&quot;Live vaccine, other than typhoid, was administered in the past 4 weeks&quot;</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="304" locator="106:3-109:90" xsi:type="And">
            <operand localId="305" locator="106:3-108:82" xsi:type="And">
               <operand localId="306" locator="106:3-107:46" xsi:type="And">
                  <operand localId="308" locator="106:3-106:59" name="Client's age is more than or equal to 6 years" libraryName="Encounter" xsi:type="ExpressionRef"/>
                  <operand localId="310" locator="107:9-107:46" name="Primary series is complete" libraryName="Encounter" xsi:type="ExpressionRef"/>
               </operand>
               <operand localId="312" locator="108:9-108:82" name="The latest typhoid dose was administered more than 3 years ago" libraryName="Encounter" xsi:type="ExpressionRef"/>
            </operand>
            <operand localId="314" locator="109:9-109:90" name="Live vaccine, other than typhoid, was administered in the past 4 weeks" libraryName="Encounter" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="287" locator="115:1-117:58" name="Client is not due for typhoid booster dose" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="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="287">
               <a:s>/*
@output: Client is not due for typhoid booster dose
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Not due&quot;
*/
define &quot;Client is not due for typhoid booster dose&quot;:
  </a:s>
               <a:s r="288">
                  <a:s r="300">
                     <a:s>&quot;Client is not due for typhoid booster dose Case 1&quot;</a:s>
                  </a:s>
                  <a:s>
    or </a:s>
                  <a:s r="315">
                     <a:s>&quot;Client is not due for typhoid booster dose Case 2&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="288" locator="116:3-117:58" xsi:type="Or">
            <operand localId="300" locator="116:3-116:53" name="Client is not due for typhoid booster dose Case 1" xsi:type="ExpressionRef"/>
            <operand localId="315" locator="117:8-117:58" name="Client is not due for typhoid booster dose Case 2" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="319" locator="126:1-133:5" name="Client is not due for typhoid booster dose Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is not due for typhoid booster dose Guidance"/>
            <a:s r="319">
               <a:s>/*
@output: 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 or the client when the next dose should be administered.
@guidance = Should not vaccinate client with typhoid booster dose as live vaccine was administered in the past 4 weeks.
Check for any other vaccines due and inform the caregiver or the client when the next dose should be administered
*/
define &quot;Client is not due for typhoid booster dose Guidance&quot;:
  </a:s>
               <a:s r="320">
                  <a:s>case
    </a:s>
                  <a:s r="321">
                     <a:s>when </a:s>
                     <a:s r="322">
                        <a:s>&quot;Client is not due for typhoid booster dose Case 1&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="323">
                        <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 or the client when the next dose should be administered.'</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>&quot;Client is not due for typhoid booster dose Case 2&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="327">
                        <a:s>'Should not vaccinate client with typhoid booster dose as live vaccine was administered in the past 4 weeks.
Check for any other vaccines due and inform the caregiver or the client when the next dose should be administered'</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    else </a:s>
                  <a:s r="329">
                     <a:s>''</a:s>
                  </a:s>
                  <a:s>
  end</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="320" locator="127:3-133:5" xsi:type="Case">
            <caseItem localId="321" locator="128:5-128:303">
               <when localId="322" locator="128:10-128:60" name="Client is not due for typhoid booster dose Case 1" xsi:type="ExpressionRef"/>
               <then localId="323" locator="128:67-128:303" 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 or the client when the next dose should be administered." xsi:type="Literal"/>
            </caseItem>
            <caseItem localId="325" locator="130:5-130:289">
               <when localId="326" locator="130:10-130:60" name="Client is not due for typhoid booster dose Case 2" xsi:type="ExpressionRef"/>
               <then localId="327" locator="130:67-130:289" valueType="t:String" value="Should not vaccinate client with typhoid booster dose as live vaccine was administered in the past 4 weeks.&#xa;Check for any other vaccines due and inform the caregiver or the client when the next dose should be administered" xsi:type="Literal"/>
            </caseItem>
            <else localId="329" locator="132:10-132:11" valueType="t:String" value="" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="335" locator="139:1-143:93" name="Client is due for typhoid booster dose" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is due for typhoid booster dose"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Due&quot;"/>
            <a:s r="335">
               <a:s>/*
@output: Client is due for typhoid booster dose
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Due&quot;
*/
define &quot;Client is due for typhoid booster dose&quot;:
  </a:s>
               <a:s r="336">
                  <a:s r="337">
                     <a:s r="338">
                        <a:s r="340">
                           <a:s r="339">
                              <a:s>Encounter</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="340">
                              <a:s>&quot;Client's age is more than or equal to 6 years&quot;</a:s>
                           </a:s>
                        </a:s>
                        <a:s>
    and </a:s>
                        <a:s r="342">
                           <a:s r="341">
                              <a:s>Encounter</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="342">
                              <a:s>&quot;Primary series is complete&quot;</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                     <a:s>
    and </a:s>
                     <a:s r="344">
                        <a:s r="343">
                           <a:s>Encounter</a:s>
                        </a:s>
                        <a:s>.</a:s>
                        <a:s r="344">
                           <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>
    and </a:s>
                  <a:s r="346">
                     <a:s r="345">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="346">
                        <a:s>&quot;No live vaccine, other than typhoid, was administered in the past 4 weeks&quot;</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="336" locator="140:3-143:93" xsi:type="And">
            <operand localId="337" locator="140:3-142:82" xsi:type="And">
               <operand localId="338" locator="140:3-141:46" xsi:type="And">
                  <operand localId="340" locator="140:3-140:59" name="Client's age is more than or equal to 6 years" libraryName="Encounter" xsi:type="ExpressionRef"/>
                  <operand localId="342" locator="141:9-141:46" name="Primary series is complete" libraryName="Encounter" xsi:type="ExpressionRef"/>
               </operand>
               <operand localId="344" locator="142:9-142:82" name="The latest typhoid dose was administered more than 3 years ago" libraryName="Encounter" xsi:type="ExpressionRef"/>
            </operand>
            <operand localId="346" locator="143:9-143:93" name="No live vaccine, other than typhoid, was administered in the past 4 weeks" libraryName="Encounter" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="350" locator="150:1-151:277" name="Client is due for typhoid booster dose Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is due for typhoid booster dose Guidance"/>
            <a:t name="guidance" value="Prescribe the Ty21a booster series. Should vaccinate client with typhoid booster dose as primary series has been completed, the latest typhoid dose was administered more than 3 years ago and no live vaccine was administered in the past 4 weeks.&#xa;Check for contraindications."/>
            <a:s r="350">
               <a:s>/*
@output: Client is due for typhoid booster dose Guidance
@guidance: Prescribe the Ty21a booster series. Should vaccinate client with typhoid booster dose as primary series has been completed, the latest typhoid dose was administered more than 3 years ago and no live vaccine was administered in the past 4 weeks.
Check for contraindications.
*/
define &quot;Client is due for typhoid booster dose Guidance&quot;:
  </a:s>
               <a:s r="351">
                  <a:s>'Prescribe the Ty21a booster series. Should vaccinate client with typhoid booster dose as primary series has been completed, the latest typhoid dose was administered more than 3 years ago and no live vaccine was administered in the past 4 weeks.
Check for contraindications.'</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="351" locator="151:3-151:277" valueType="t:String" value="Prescribe the Ty21a booster series. Should vaccinate client with typhoid booster dose as primary series has been completed, the latest typhoid dose was administered more than 3 years ago and no live vaccine was administered in the past 4 weeks.&#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="249">
                        <a:s>&quot;Client is not due for Typhoid vaccination&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="264">
                        <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="265">
                     <a:s>when </a:s>
                     <a:s r="277">
                        <a:s>&quot;Client is due for Typhoid vaccination&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="283">
                        <a:s>&quot;Client is due for Typhoid vaccination Guidance&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="284">
                     <a:s>when </a:s>
                     <a:s r="316">
                        <a:s>&quot;Client is not due for typhoid booster dose&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="331">
                        <a:s>&quot;Client is not due for typhoid booster dose Guidance&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="332">
                     <a:s>when </a:s>
                     <a:s r="347">
                        <a:s>&quot;Client is due for typhoid booster dose&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="353">
                        <a:s>&quot;Client is due for typhoid booster dose Guidance&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s> 
    else </a:s>
                  <a:s r="354">
                     <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="249" locator="24:10-24:52" name="Client is not due for Typhoid vaccination" xsi:type="ExpressionRef"/>
               <then localId="264" locator="24:59-24:110" name="Client is not due for Typhoid vaccination Guidance" xsi:type="ExpressionRef"/>
            </caseItem>
            <caseItem localId="265" locator="25:5-25:102">
               <when localId="277" locator="25:10-25:48" name="Client is due for Typhoid vaccination" xsi:type="ExpressionRef"/>
               <then localId="283" locator="25:55-25:102" name="Client is due for Typhoid vaccination Guidance" xsi:type="ExpressionRef"/>
            </caseItem>
            <caseItem localId="284" locator="26:5-26:112">
               <when localId="316" locator="26:10-26:53" name="Client is not due for typhoid booster dose" xsi:type="ExpressionRef"/>
               <then localId="331" locator="26:60-26:112" name="Client is not due for typhoid booster dose Guidance" xsi:type="ExpressionRef"/>
            </caseItem>
            <caseItem localId="332" locator="27:5-27:104">
               <when localId="347" locator="27:10-27:49" name="Client is due for typhoid booster dose" xsi:type="ExpressionRef"/>
               <then localId="353" locator="27:56-27:104" name="Client is due for typhoid booster dose Guidance" xsi:type="ExpressionRef"/>
            </caseItem>
            <else localId="354" locator="28:10-28:11" valueType="t:String" value="" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="358" locator="31:1-32:45" name="Has Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="358">
               <a:s>define &quot;Has Guidance&quot;:
  </a:s>
               <a:s r="359">
                  <a:s r="362">
                     <a:s r="360">
                        <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="369">
                     <a:s r="364">
                        <a:s>&quot;Guidance&quot;</a:s>
                     </a:s>
                     <a:s> != </a:s>
                     <a:s r="365">
                        <a:s>''</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="359" locator="32:3-32:45" xsi:type="And">
            <operand localId="362" locator="32:3-32:24" xsi:type="Not">
               <operand localId="361" locator="32:3-32:24" xsi:type="IsNull">
                  <operand localId="360" locator="32:3-32:12" name="Guidance" xsi:type="ExpressionRef"/>
               </operand>
            </operand>
            <operand localId="369" locator="32:30-32:45" xsi:type="Not">
               <operand localId="363" locator="32:30-32:45" xsi:type="Equal">
                  <signature localId="367" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="368" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="364" locator="32:30-32:39" name="Guidance" xsi:type="ExpressionRef"/>
                  <operand localId="365" locator="32:44-32:45" valueType="t:String" value="" xsi:type="Literal"/>
               </operand>
            </operand>
         </expression>
      </def>
      <def localId="372" locator="158:1-173: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="372">
               <a:s>/*
@test: Test expected results based on example patients
*/
define &quot;Test Validation&quot;:
  </a:s>
               <a:s r="373">
                  <a:s>case
    </a:s>
                  <a:s r="374">
                     <a:s>when </a:s>
                     <a:s r="375">
                        <a:s r="377">
                           <a:s r="376">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="377">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="378">
                           <a:s>'Typhoid30.1'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="384">
                        <a:s r="385">
                           <a:s>&quot;Client is not due for Typhoid vaccination Case 1&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="386">
                           <a:s r="387">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="388">
                              <a:s>'Should not vaccinate client with typhoid dose as client\'s age is less than 6 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="392">
                     <a:s>when </a:s>
                     <a:s r="393">
                        <a:s r="395">
                           <a:s r="394">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="395">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="396">
                           <a:s>'Typhoid31.3'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="402">
                        <a:s r="403">
                           <a:s>&quot;Client is due for Typhoid vaccination&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="404">
                           <a:s r="405">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="406">
                              <a:s>'Prescribe the Ty21a primary series (if not done yet). Should vaccinate client with typhoid dose as primary series has not been completed and no live vaccines was administered in the past 4 weeks.
Check for contraindications.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="410">
                     <a:s>when </a:s>
                     <a:s r="411">
                        <a:s r="413">
                           <a:s r="412">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="413">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="414">
                           <a:s>'Typhoid32.3'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="420">
                        <a:s r="421">
                           <a:s>&quot;Client is not due for Typhoid vaccination Case 2&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="422">
                           <a:s r="423">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="424">
                              <a:s>'Should not vaccinate client with typhoid dose as live vaccine was administered in the past 4 weeks.
Check for other vaccines due and inform the caregiver or the client when the next dose should be administered.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="428">
                     <a:s>when </a:s>
                     <a:s r="429">
                        <a:s r="431">
                           <a:s r="430">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="431">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="432">
                           <a:s>'Typhoid33.3'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="438">
                        <a:s r="439">
                           <a:s>&quot;Client is not due for typhoid booster dose Case 1&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="440">
                           <a:s r="441">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="442">
                              <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 or the client when the next dose should be administered.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="446">
                     <a:s>when </a:s>
                     <a:s r="447">
                        <a:s r="449">
                           <a:s r="448">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="449">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="450">
                           <a:s>'Typhoid34.4'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="456">
                        <a:s r="457">
                           <a:s>&quot;Client is due for typhoid booster dose&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="458">
                           <a:s r="459">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="460">
                              <a:s>'Prescribe the Ty21a booster series. Should vaccinate client with typhoid booster dose as primary series has been completed, the latest typhoid dose was administered more than 3 years ago and no live vaccine was administered in the past 4 weeks.
Check for contraindications.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="464">
                     <a:s>when </a:s>
                     <a:s r="465">
                        <a:s r="467">
                           <a:s r="466">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="467">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="468">
                           <a:s>'Typhoid35.4'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="474">
                        <a:s r="475">
                           <a:s>&quot;Client is not due for typhoid booster dose Case 2&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="476">
                           <a:s r="477">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="478">
                              <a:s>'Should not vaccinate client with typhoid booster dose as live vaccine was administered in the past 4 weeks.
Check for any other vaccines due and inform the caregiver or the client when the next dose should be administered'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    else </a:s>
                  <a:s r="482">
                     <a:s>'No test case set'</a:s>
                  </a:s>
                  <a:s>
  end</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="373" locator="159:3-173:5" xsi:type="Case">
            <caseItem localId="374" locator="160:5-160:294">
               <when localId="375" locator="160:10-160:35" xsi:type="Equal">
                  <signature localId="382" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="383" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="380" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="381" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="377" locator="160:10-160:19" path="id" xsi:type="Property">
                        <source localId="376" locator="160:10-160:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="378" locator="160:23-160:35" valueType="t:String" value="Typhoid30.1" xsi:type="Literal"/>
               </when>
               <then localId="484" xsi:type="As">
                  <operand localId="384" locator="160:42-160:294" xsi:type="And">
                     <operand localId="385" locator="160:42-160:91" name="Client is not due for Typhoid vaccination Case 1" xsi:type="ExpressionRef"/>
                     <operand localId="386" locator="160:97-160:294" xsi:type="Equal">
                        <signature localId="390" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="391" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="387" locator="160:97-160:106" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="388" locator="160:110-160:294" valueType="t:String" value="Should not vaccinate client with typhoid dose as client's age is less than 6 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="485" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="486" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="487" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="392" locator="162:5-162:324">
               <when localId="393" locator="162:10-162:35" xsi:type="Equal">
                  <signature localId="400" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="401" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="398" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="399" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="395" locator="162:10-162:19" path="id" xsi:type="Property">
                        <source localId="394" locator="162:10-162:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="396" locator="162:23-162:35" valueType="t:String" value="Typhoid31.3" xsi:type="Literal"/>
               </when>
               <then localId="488" xsi:type="As">
                  <operand localId="402" locator="162:42-162:324" xsi:type="And">
                     <operand localId="403" locator="162:42-162:80" name="Client is due for Typhoid vaccination" xsi:type="ExpressionRef"/>
                     <operand localId="404" locator="162:86-162:324" xsi:type="Equal">
                        <signature localId="408" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="409" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="405" locator="162:86-162:95" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="406" locator="162:99-162:324" valueType="t:String" value="Prescribe the Ty21a primary series (if not done yet). Should vaccinate client with typhoid dose as primary series has not been completed and no live vaccines was administered in the past 4 weeks.&#xa;Check for contraindications." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="489" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="490" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="491" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="410" locator="164:5-164:321">
               <when localId="411" locator="164:10-164:35" xsi:type="Equal">
                  <signature localId="418" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="419" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="416" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="417" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="413" locator="164:10-164:19" path="id" xsi:type="Property">
                        <source localId="412" locator="164:10-164:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="414" locator="164:23-164:35" valueType="t:String" value="Typhoid32.3" xsi:type="Literal"/>
               </when>
               <then localId="492" xsi:type="As">
                  <operand localId="420" locator="164:42-164:321" xsi:type="And">
                     <operand localId="421" locator="164:42-164:91" name="Client is not due for Typhoid vaccination Case 2" xsi:type="ExpressionRef"/>
                     <operand localId="422" locator="164:97-164:321" xsi:type="Equal">
                        <signature localId="426" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="427" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="423" locator="164:97-164:106" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="424" locator="164:110-164:321" valueType="t:String" value="Should not vaccinate client with typhoid dose as live vaccine was administered in the past 4 weeks.&#xa;Check for other vaccines due and inform the caregiver or the client when the next dose should be administered." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="493" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="494" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="495" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="428" locator="166:5-166:347">
               <when localId="429" locator="166:10-166:35" xsi:type="Equal">
                  <signature localId="436" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="437" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="434" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="435" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="431" locator="166:10-166:19" path="id" xsi:type="Property">
                        <source localId="430" locator="166:10-166:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="432" locator="166:23-166:35" valueType="t:String" value="Typhoid33.3" xsi:type="Literal"/>
               </when>
               <then localId="496" xsi:type="As">
                  <operand localId="438" locator="166:42-166:347" xsi:type="And">
                     <operand localId="439" locator="166:42-166:92" name="Client is not due for typhoid booster dose Case 1" xsi:type="ExpressionRef"/>
                     <operand localId="440" locator="166:98-166:347" xsi:type="Equal">
                        <signature localId="444" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="445" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="441" locator="166:98-166:107" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="442" locator="166:111-166:347" 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 or the client when the next dose should be administered." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="497" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="498" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="499" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="446" locator="168:5-168:374">
               <when localId="447" locator="168:10-168:35" xsi:type="Equal">
                  <signature localId="454" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="455" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="452" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="453" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="449" locator="168:10-168:19" path="id" xsi:type="Property">
                        <source localId="448" locator="168:10-168:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="450" locator="168:23-168:35" valueType="t:String" value="Typhoid34.4" xsi:type="Literal"/>
               </when>
               <then localId="500" xsi:type="As">
                  <operand localId="456" locator="168:42-168:374" xsi:type="And">
                     <operand localId="457" locator="168:42-168:81" name="Client is due for typhoid booster dose" xsi:type="ExpressionRef"/>
                     <operand localId="458" locator="168:87-168:374" xsi:type="Equal">
                        <signature localId="462" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="463" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="459" locator="168:87-168:96" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="460" locator="168:100-168:374" valueType="t:String" value="Prescribe the Ty21a booster series. Should vaccinate client with typhoid booster dose as primary series has been completed, the latest typhoid dose was administered more than 3 years ago and no live vaccine was administered in the past 4 weeks.&#xa;Check for contraindications." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="501" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="502" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="503" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="464" locator="170:5-170:333">
               <when localId="465" locator="170:10-170:35" xsi:type="Equal">
                  <signature localId="472" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="473" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="470" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="471" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="467" locator="170:10-170:19" path="id" xsi:type="Property">
                        <source localId="466" locator="170:10-170:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="468" locator="170:23-170:35" valueType="t:String" value="Typhoid35.4" xsi:type="Literal"/>
               </when>
               <then localId="504" xsi:type="As">
                  <operand localId="474" locator="170:42-170:333" xsi:type="And">
                     <operand localId="475" locator="170:42-170:92" name="Client is not due for typhoid booster dose Case 2" xsi:type="ExpressionRef"/>
                     <operand localId="476" locator="170:98-170:333" xsi:type="Equal">
                        <signature localId="480" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="481" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="477" locator="170:98-170:107" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="478" locator="170:111-170:333" valueType="t:String" value="Should not vaccinate client with typhoid booster dose as live vaccine was administered in the past 4 weeks.&#xa;Check for any other vaccines due and inform the caregiver or the client when the next dose should be administered" xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="505" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="506" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="507" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <else localId="508" xsi:type="As">
               <operand localId="482" locator="172:10-172:27" valueType="t:String" value="No test case set" xsi:type="Literal"/>
               <asTypeSpecifier localId="509" xsi:type="ChoiceTypeSpecifier">
                  <choice localId="510" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                  <choice localId="511" name="t:String" xsi:type="NamedTypeSpecifier"/>
               </asTypeSpecifier>
            </else>
         </expression>
      </def>
   </statements>
</library>
