<?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="302">
         <a:s>/*
 * Library: IMMZD2DTTyphoidTCVLogic (IMMZ.D2.DT.Typhoid.TCV)
 * Rule: Determine if the client is due for a typhoid vaccination according to the national immunization schedule
 * Decision Table: Typhoid conjugate vaccine (TCV) schedule
 * Trigger: IMMZ.D2 Determine required vaccination(s) if any
 */
library IMMZD2DTTyphoidTCVLogic</a:s>
      </a:s>
   </annotation>
   <identifier id="IMMZD2DTTyphoidTCVLogic" 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:48" 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 6 months&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="231" locator="39:3-39:48" name="Client's age is less than 6 months" libraryName="Encounter" xsi:type="ExpressionRef"/>
      </def>
      <def localId="235" locator="46:1-47:182" 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 6 months.&#xa;Check for any 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 6 months.
Check for any 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 6 months.
Check for any 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:182" valueType="t:String" value="Should not vaccinate client with typhoid dose as client's age is less than 6 months.&#xa;Check for any 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 between 6 months and 45 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 between 6 months and 45 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="71:1-73:66" name="Clinical judgement is required. Create a clinical note" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Clinical judgement is required. Create a clinical note"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Further evaluation needed&quot;"/>
            <a:s r="258">
               <a:s>/*
@output: Clinical judgement is required. Create a clinical note
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Further evaluation needed&quot;
*/
define &quot;Clinical judgement is required. Create a clinical note&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;No typhoid primary series doses were 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;Client's age is more than or equal to 45 years&quot;</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="259" locator="72:3-73:66" xsi:type="And">
            <operand localId="261" locator="72:3-72:63" name="No typhoid primary series doses were administered" libraryName="Encounter" xsi:type="ExpressionRef"/>
            <operand localId="263" locator="73:9-73:66" name="Client's age is more than or equal to 45 years" libraryName="Encounter" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="267" locator="79:1-80:93" name="Clinical judgement is required. Create a clinical note Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Clinical judgement is required. Create a clinical note Guidance"/>
            <a:t name="guidance" value="Member States should update this action according to the national immunization programme."/>
            <a:s r="267">
               <a:s>/*
@output: Clinical judgement is required. Create a clinical note Guidance
@guidance: Member States should update this action according to the national immunization programme.
*/
define &quot;Clinical judgement is required. Create a clinical note Guidance&quot;:
  </a:s>
               <a:s r="268">
                  <a:s>'Member States should update this action according to the national immunization programme.'</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="268" locator="80:3-80:93" valueType="t:String" value="Member States should update this action according to the national immunization programme." xsi:type="Literal"/>
      </def>
      <def localId="274" locator="87:1-88:62" name="Typhoid immunization schedule is complete" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Typhoid immunization schedule is complete"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Complete&quot;"/>
            <a:s r="274">
               <a:s>/*
@output: Typhoid immunization schedule is complete
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Complete&quot;
&quot;Completed the primary vaccination series&quot; = TRUE (where &quot;Vaccine type&quot; = &quot;Typhoid vaccines&quot;)
*/
define &quot;Typhoid immunization schedule is complete&quot;:
  </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;One typhoid primary series dose was administered&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="276" locator="88:3-88:62" name="One typhoid primary series dose was administered" libraryName="Encounter" xsi:type="ExpressionRef"/>
      </def>
      <def localId="280" locator="95:1-96:130" name="Typhoid immunization schedule is complete Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Typhoid immunization schedule is complete Guidance"/>
            <a:t name="guidance" value="Typhoid immunization schedule is complete. One typhoid primary series dose was administered.&#xa;Check for any other vaccines due."/>
            <a:s r="280">
               <a:s>/*
@output: Typhoid immunization schedule is complete Guidance
@guidance: Typhoid immunization schedule is complete. One typhoid primary series dose was administered.
Check for any other vaccines due.
*/
define &quot;Typhoid immunization schedule is complete Guidance&quot;:
  </a:s>
               <a:s r="281">
                  <a:s>'Typhoid immunization schedule is complete. One typhoid primary series dose was administered.
Check for any other vaccines due.'</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="281" locator="96:3-96:130" valueType="t:String" value="Typhoid immunization schedule is complete. One typhoid primary series dose was administered.&#xa;Check for any other vaccines due." 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;Clinical judgement is required. Create a clinical note&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="270">
                        <a:s>&quot;Clinical judgement is required. Create a clinical note Guidance&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="271">
                     <a:s>when </a:s>
                     <a:s r="277">
                        <a:s>&quot;Typhoid immunization schedule is complete&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="283">
                        <a:s>&quot;Typhoid immunization schedule is complete Guidance&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s> 
    else </a:s>
                  <a:s r="284">
                     <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:136">
               <when localId="264" locator="26:10-26:65" name="Clinical judgement is required. Create a clinical note" xsi:type="ExpressionRef"/>
               <then localId="270" locator="26:72-26:136" name="Clinical judgement is required. Create a clinical note Guidance" xsi:type="ExpressionRef"/>
            </caseItem>
            <caseItem localId="271" locator="27:5-27:110">
               <when localId="277" locator="27:10-27:52" name="Typhoid immunization schedule is complete" xsi:type="ExpressionRef"/>
               <then localId="283" locator="27:59-27:110" name="Typhoid immunization schedule is complete Guidance" xsi:type="ExpressionRef"/>
            </caseItem>
            <else localId="284" locator="28:10-28:11" valueType="t:String" value="" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="288" locator="31:1-32:45" name="Has Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="288">
               <a:s>define &quot;Has Guidance&quot;:
  </a:s>
               <a:s r="289">
                  <a:s r="292">
                     <a:s r="290">
                        <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="299">
                     <a:s r="294">
                        <a:s>&quot;Guidance&quot;</a:s>
                     </a:s>
                     <a:s> != </a:s>
                     <a:s r="295">
                        <a:s>''</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="289" locator="32:3-32:45" xsi:type="And">
            <operand localId="292" locator="32:3-32:24" xsi:type="Not">
               <operand localId="291" locator="32:3-32:24" xsi:type="IsNull">
                  <operand localId="290" locator="32:3-32:12" name="Guidance" xsi:type="ExpressionRef"/>
               </operand>
            </operand>
            <operand localId="299" locator="32:30-32:45" xsi:type="Not">
               <operand localId="293" locator="32:30-32:45" xsi:type="Equal">
                  <signature localId="297" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="298" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="294" locator="32:30-32:39" name="Guidance" xsi:type="ExpressionRef"/>
                  <operand localId="295" locator="32:44-32:45" valueType="t:String" value="" xsi:type="Literal"/>
               </operand>
            </operand>
         </expression>
      </def>
      <def localId="302" locator="103:1-113: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="302">
               <a:s>/*
@test: Test expected results based on example patients
*/
define &quot;Test Validation&quot;:
  </a:s>
               <a:s r="303">
                  <a:s>case
    </a:s>
                  <a:s r="304">
                     <a:s>when </a:s>
                     <a:s r="305">
                        <a:s r="307">
                           <a:s r="306">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="307">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="308">
                           <a:s>'Typhoid08.1'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="314">
                        <a:s r="315">
                           <a:s>&quot;Client is not due for Typhoid vaccination&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="316">
                           <a:s r="317">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="318">
                              <a:s>'Should not vaccinate client with typhoid dose as client\'s age is less than 6 months.
Check for any 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="322">
                     <a:s>when </a:s>
                     <a:s r="323">
                        <a:s r="325">
                           <a:s r="324">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="325">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="326">
                           <a:s>'Typhoid09.2'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="332">
                        <a:s r="333">
                           <a:s>&quot;Client is due for Typhoid vaccination&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="334">
                           <a:s r="335">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="336">
                              <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="340">
                     <a:s>when </a:s>
                     <a:s r="341">
                        <a:s r="343">
                           <a:s r="342">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="343">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="344">
                           <a:s>'Typhoid10.2'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="350">
                        <a:s r="351">
                           <a:s>&quot;Clinical judgement is required. Create a clinical note&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="352">
                           <a:s r="353">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="354">
                              <a:s>'Member States should update this action according to the national immunization programme.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="358">
                     <a:s>when </a:s>
                     <a:s r="359">
                        <a:s r="361">
                           <a:s r="360">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="361">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="362">
                           <a:s>'Typhoid11.1'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="368">
                        <a:s r="369">
                           <a:s>&quot;Typhoid immunization schedule is complete&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="370">
                           <a:s r="371">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="372">
                              <a:s>'Typhoid immunization schedule is complete. One typhoid primary series dose was administered.
Check for any other vaccines due.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    else </a:s>
                  <a:s r="376">
                     <a:s>'No test case set'</a:s>
                  </a:s>
                  <a:s>
  end</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="303" locator="104:3-113:5" xsi:type="Case">
            <caseItem localId="304" locator="105:5-105:282">
               <when localId="305" locator="105:10-105:35" xsi:type="Equal">
                  <signature localId="312" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="313" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="310" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="311" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="307" locator="105:10-105:19" path="id" xsi:type="Property">
                        <source localId="306" locator="105:10-105:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="308" locator="105:23-105:35" valueType="t:String" value="Typhoid08.1" xsi:type="Literal"/>
               </when>
               <then localId="378" xsi:type="As">
                  <operand localId="314" locator="105:42-105:282" xsi:type="And">
                     <operand localId="315" locator="105:42-105:84" name="Client is not due for Typhoid vaccination" xsi:type="ExpressionRef"/>
                     <operand localId="316" locator="105:90-105:282" xsi:type="Equal">
                        <signature localId="320" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="321" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="317" locator="105:90-105:99" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="318" locator="105:103-105:282" valueType="t:String" value="Should not vaccinate client with typhoid dose as client's age is less than 6 months.&#xa;Check for any vaccines due and inform the caregiver of when to come back for the first dose." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="379" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="380" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="381" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="322" locator="107:5-107:252">
               <when localId="323" locator="107:10-107:35" xsi:type="Equal">
                  <signature localId="330" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="331" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="328" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="329" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="325" locator="107:10-107:19" path="id" xsi:type="Property">
                        <source localId="324" locator="107:10-107:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="326" locator="107:23-107:35" valueType="t:String" value="Typhoid09.2" xsi:type="Literal"/>
               </when>
               <then localId="382" xsi:type="As">
                  <operand localId="332" locator="107:42-107:252" xsi:type="And">
                     <operand localId="333" locator="107:42-107:80" name="Client is due for Typhoid vaccination" xsi:type="ExpressionRef"/>
                     <operand localId="334" locator="107:86-107:252" xsi:type="Equal">
                        <signature localId="338" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="339" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="335" locator="107:86-107:95" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="336" locator="107:99-107: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="383" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="384" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="385" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="340" locator="109:5-109:206">
               <when localId="341" locator="109:10-109:35" xsi:type="Equal">
                  <signature localId="348" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="349" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="346" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="347" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="343" locator="109:10-109:19" path="id" xsi:type="Property">
                        <source localId="342" locator="109:10-109:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="344" locator="109:23-109:35" valueType="t:String" value="Typhoid10.2" xsi:type="Literal"/>
               </when>
               <then localId="386" xsi:type="As">
                  <operand localId="350" locator="109:42-109:206" xsi:type="And">
                     <operand localId="351" locator="109:42-109:97" name="Clinical judgement is required. Create a clinical note" xsi:type="ExpressionRef"/>
                     <operand localId="352" locator="109:103-109:206" xsi:type="Equal">
                        <signature localId="356" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="357" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="353" locator="109:103-109:112" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="354" locator="109:116-109:206" valueType="t:String" value="Member States should update this action according to the national immunization programme." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="387" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="388" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="389" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="358" locator="110:5-110:230">
               <when localId="359" locator="110:10-110:35" xsi:type="Equal">
                  <signature localId="366" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="367" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="364" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="365" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="361" locator="110:10-110:19" path="id" xsi:type="Property">
                        <source localId="360" locator="110:10-110:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="362" locator="110:23-110:35" valueType="t:String" value="Typhoid11.1" xsi:type="Literal"/>
               </when>
               <then localId="390" xsi:type="As">
                  <operand localId="368" locator="110:42-110:230" xsi:type="And">
                     <operand localId="369" locator="110:42-110:84" name="Typhoid immunization schedule is complete" xsi:type="ExpressionRef"/>
                     <operand localId="370" locator="110:90-110:230" xsi:type="Equal">
                        <signature localId="374" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="375" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="371" locator="110:90-110:99" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="372" locator="110:103-110:230" valueType="t:String" value="Typhoid immunization schedule is complete. One typhoid primary series dose was administered.&#xa;Check for any other vaccines due." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="391" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="392" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="393" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <else localId="394" xsi:type="As">
               <operand localId="376" locator="112:10-112:27" valueType="t:String" value="No test case set" xsi:type="Literal"/>
               <asTypeSpecifier localId="395" xsi:type="ChoiceTypeSpecifier">
                  <choice localId="396" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                  <choice localId="397" name="t:String" xsi:type="NamedTypeSpecifier"/>
               </asTypeSpecifier>
            </else>
         </expression>
      </def>
   </statements>
</library>
