<?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="315">
         <a:s>/*
 * Library: IMMZD5DTTyphoidContraindicationsLogic (IMMZ.D5.DT.Typhoid contraindications)
 * Rule: Check for contraindications before administering the vaccine(s) due
 * Decision Table: IMMZ.D5.DT.Typhoid contraindications
 * Trigger: IMMZ.D5 Determine vaccine(s) to be administered based on contraindications
 */
library IMMZD5DTTyphoidContraindicationsLogic</a:s>
      </a:s>
   </annotation>
   <identifier id="IMMZD5DTTyphoidContraindicationsLogic" 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/IMMZD5DTTyphoidEncounterElements">
         <annotation xsi:type="a:Annotation">
            <a:s r="210">
               <a:s>include </a:s>
               <a:s>
                  <a:s>IMMZD5DTTyphoidEncounterElements</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="224" locator="21:3-22:67" name="Draft Medication Request ID for Typhoid dose" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="dynamicValue" value="Draft Medication Request ID for Typhoid dose"/>
            <a:s r="224">
               <a:s>/*
  @dynamicValue: Draft Medication Request ID for Typhoid dose
  */
  define &quot;Draft Medication Request ID for Typhoid dose&quot;:
    </a:s>
               <a:s r="230">
                  <a:s r="229">
                     <a:s>First(</a:s>
                     <a:s r="226">
                        <a:s r="225">
                           <a:s>Encounter</a:s>
                        </a:s>
                        <a:s>.</a:s>
                        <a:s r="226">
                           <a:s>&quot;Draft Medication Request for Typhoid dose&quot;</a:s>
                        </a:s>
                     </a:s>
                     <a:s>)</a:s>
                  </a:s>
                  <a:s>.</a:s>
                  <a:s r="230">
                     <a:s>id</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="230" locator="22:5-22:67" path="id" xsi:type="Property">
            <source localId="229" locator="22:5-22:64" xsi:type="First">
               <source localId="226" locator="22:11-22:63" name="Draft Medication Request for Typhoid dose" libraryName="Encounter" xsi:type="ExpressionRef"/>
            </source>
         </expression>
      </def>
      <def localId="238" locator="43:1-44:77" name="Typhoid vaccination could be contraindicated. Clinical judgement is required. Create a clinical note." context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Typhoid vaccination could be contraindicated. 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="238">
               <a:s>/*
@output: Typhoid vaccination could be contraindicated. Clinical judgement is required. Create a clinical note.
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Further evaluation needed&quot;
*/
define &quot;Typhoid vaccination could be contraindicated. Clinical judgement is required. Create a clinical note.&quot;:
  </a:s>
               <a:s r="240">
                  <a:s r="239">
                     <a:s>Encounter</a:s>
                  </a:s>
                  <a:s>.</a:s>
                  <a:s r="240">
                     <a:s>&quot;The client has hypersensitivity to any component of the vaccine&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="240" locator="44:3-44:77" name="The client has hypersensitivity to any component of the vaccine" libraryName="Encounter" xsi:type="ExpressionRef"/>
      </def>
      <def localId="244" locator="50:1-51:110" name="Typhoid vaccination could be contraindicated. Clinical judgement is required. Create a clinical note. Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Typhoid vaccination could be contraindicated. Clinical judgement is required. Create a clinical note. Guidance"/>
            <a:t name="guidance" value="Do not vaccinate client with typhoid if client has known hypersensitivity to any component of the vaccine."/>
            <a:s r="244">
               <a:s>/*
@output: Typhoid vaccination could be contraindicated. Clinical judgement is required. Create a clinical note. Guidance
@guidance: Do not vaccinate client with typhoid if client has known hypersensitivity to any component of the vaccine.
*/
define &quot;Typhoid vaccination could be contraindicated. Clinical judgement is required. Create a clinical note. Guidance&quot;:
  </a:s>
               <a:s r="245">
                  <a:s>'Do not vaccinate client with typhoid if client has known hypersensitivity to any component of the vaccine.'</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="245" locator="51:3-51:110" valueType="t:String" value="Do not vaccinate client with typhoid if client has known hypersensitivity to any component of the vaccine." xsi:type="Literal"/>
      </def>
      <def localId="251" locator="57:1-58:46" name="Typhoid vaccination is contraindicated for Ty21a vaccine. Clinical judgement is required for Typbar-TCV or ViPS vaccine. Create a clinical note" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Typhoid vaccination is contraindicated for Ty21a vaccine. Clinical judgement is required for Typbar-TCV or ViPS vaccine. Create a clinical note"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Contraindicated&quot; (where &quot;Type of typhoid dose&quot; = &quot;Ty21a&quot;) AND &quot;Immunization recommendation status&quot; = &quot;Further evaluation needed&quot; (where &quot;Type of typhoid dose&quot; = &quot;Typbar-TCV&quot; OR &quot;ViPS&quot;)"/>
            <a:s r="251">
               <a:s>/*
@output: Typhoid vaccination is contraindicated for Ty21a vaccine. Clinical judgement is required for Typbar-TCV or ViPS vaccine. Create a clinical note
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Contraindicated&quot; (where &quot;Type of typhoid dose&quot; = &quot;Ty21a&quot;) AND &quot;Immunization recommendation status&quot; = &quot;Further evaluation needed&quot; (where &quot;Type of typhoid dose&quot; = &quot;Typbar-TCV&quot; OR &quot;ViPS&quot;)
*/
define &quot;Typhoid vaccination is contraindicated for Ty21a vaccine. Clinical judgement is required for Typbar-TCV or ViPS vaccine. Create a clinical note&quot;:
  </a:s>
               <a:s r="253">
                  <a:s r="252">
                     <a:s>Encounter</a:s>
                  </a:s>
                  <a:s>.</a:s>
                  <a:s r="253">
                     <a:s>&quot;The client is currently pregnant&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="253" locator="58:3-58:46" name="The client is currently pregnant" libraryName="Encounter" xsi:type="ExpressionRef"/>
      </def>
      <def localId="257" locator="64:1-65:284" name="Typhoid vaccination is contraindicated for Ty21a vaccine. Clinical judgement is required for Typbar-TCV or ViPS vaccine. Create a clinical note Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Typhoid vaccination is contraindicated for Ty21a vaccine. Clinical judgement is required for Typbar-TCV or ViPS vaccine. Create a clinical note Guidance"/>
            <a:t name="guidance" value="Do not vaccinate client with Ty21a vaccine as live attenuated Ty21a vaccine is contraindicated for pregnant clients. For Typbar-TCV or ViPS vaccine, check if an alternative typhoid vaccine is appropriate for the client, consider risks of vaccination and make a clinical judgement."/>
            <a:s r="257">
               <a:s>/*
@output: Typhoid vaccination is contraindicated for Ty21a vaccine. Clinical judgement is required for Typbar-TCV or ViPS vaccine. Create a clinical note Guidance
@guidance: Do not vaccinate client with Ty21a vaccine as live attenuated Ty21a vaccine is contraindicated for pregnant clients. For Typbar-TCV or ViPS vaccine, check if an alternative typhoid vaccine is appropriate for the client, consider risks of vaccination and make a clinical judgement.
*/
define &quot;Typhoid vaccination is contraindicated for Ty21a vaccine. Clinical judgement is required for Typbar-TCV or ViPS vaccine. Create a clinical note Guidance&quot;:
  </a:s>
               <a:s r="258">
                  <a:s>'Do not vaccinate client with Ty21a vaccine as live attenuated Ty21a vaccine is contraindicated for pregnant clients. For Typbar-TCV or ViPS vaccine, check if an alternative typhoid vaccine is appropriate for the client, consider risks of vaccination and make a clinical judgement.'</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="258" locator="65:3-65:284" valueType="t:String" value="Do not vaccinate client with Ty21a vaccine as live attenuated Ty21a vaccine is contraindicated for pregnant clients. For Typbar-TCV or ViPS vaccine, check if an alternative typhoid vaccine is appropriate for the client, consider risks of vaccination and make a clinical judgement." xsi:type="Literal"/>
      </def>
      <def localId="268" locator="71:1-72:56" name="Typhoid vaccination is contraindicated for Ty21a vaccine. Case 1" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Typhoid vaccination is contraindicated for Ty21a vaccine. Case 1"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Contraindicated&quot; (where &quot;Type of typhoid dose&quot; = &quot;Ty21a&quot;)"/>
            <a:s r="268">
               <a:s>/*
@output: Typhoid vaccination is contraindicated for Ty21a vaccine. Case 1
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Contraindicated&quot; (where &quot;Type of typhoid dose&quot; = &quot;Ty21a&quot;)
*/
define &quot;Typhoid vaccination is contraindicated for Ty21a vaccine. Case 1&quot;:
  </a:s>
               <a:s r="270">
                  <a:s r="269">
                     <a:s>Encounter</a:s>
                  </a:s>
                  <a:s>.</a:s>
                  <a:s r="270">
                     <a:s>&quot;The client is currently taking antibiotics&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="270" locator="72:3-72:56" name="The client is currently taking antibiotics" libraryName="Encounter" xsi:type="ExpressionRef"/>
      </def>
      <def localId="274" locator="78:1-80:60" name="Typhoid vaccination is contraindicated for Ty21a vaccine. Case 2" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Typhoid vaccination is contraindicated for Ty21a vaccine. Case 2"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Contraindicated&quot; (where &quot;Type of typhoid dose&quot; = &quot;Ty21a&quot;)"/>
            <a:s r="274">
               <a:s>/*
@output: Typhoid vaccination is contraindicated for Ty21a vaccine. Case 2
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Contraindicated&quot; (where &quot;Type of typhoid dose&quot; = &quot;Ty21a&quot;)
*/
define &quot;Typhoid vaccination is contraindicated for Ty21a vaccine. Case 2&quot;:
  </a:s>
               <a:s r="275">
                  <a:s r="277">
                     <a:s r="276">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="277">
                        <a:s>&quot;The client's HIV status is positive&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    and </a:s>
                  <a:s r="279">
                     <a:s r="278">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="279">
                        <a:s>&quot;The client is not immunologically stable&quot;</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="275" locator="79:3-80:60" xsi:type="And">
            <operand localId="277" locator="79:3-79:49" name="The client's HIV status is positive" libraryName="Encounter" xsi:type="ExpressionRef"/>
            <operand localId="279" locator="80:9-80:60" name="The client is not immunologically stable" libraryName="Encounter" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="264" locator="86:1-88:73" name="Typhoid vaccination is contraindicated for Ty21a vaccine." context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Typhoid vaccination is contraindicated for Ty21a vaccine."/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Contraindicated&quot; (where &quot;Type of typhoid dose&quot; = &quot;Ty21a&quot;)"/>
            <a:s r="264">
               <a:s>/*
@output: Typhoid vaccination is contraindicated for Ty21a vaccine.
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Contraindicated&quot; (where &quot;Type of typhoid dose&quot; = &quot;Ty21a&quot;)
*/
define &quot;Typhoid vaccination is contraindicated for Ty21a vaccine.&quot;:
  </a:s>
               <a:s r="265">
                  <a:s r="271">
                     <a:s>&quot;Typhoid vaccination is contraindicated for Ty21a vaccine. Case 1&quot;</a:s>
                  </a:s>
                  <a:s>
    or </a:s>
                  <a:s r="280">
                     <a:s>&quot;Typhoid vaccination is contraindicated for Ty21a vaccine. Case 2&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="265" locator="87:3-88:73" xsi:type="Or">
            <operand localId="271" locator="87:3-87:68" name="Typhoid vaccination is contraindicated for Ty21a vaccine. Case 1" xsi:type="ExpressionRef"/>
            <operand localId="280" locator="88:8-88:73" name="Typhoid vaccination is contraindicated for Ty21a vaccine. Case 2" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="284" locator="95:1-100:5" name="Typhoid vaccination is contraindicated for Ty21a vaccine. Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Typhoid vaccination is contraindicated for Ty21a vaccine. Guidance"/>
            <a:s r="284">
               <a:s>/*
@output: Typhoid vaccination is contraindicated for Ty21a vaccine. Guidance
@guidance = Do not vaccinate client with Ty21a vaccine as Ty21a vaccine is contraindicated for clients who are taking antibiotics. Evaluate if other types of typhoid vacccines can be administered.
@guidance = Do not vaccinate client with Ty21a vaccine as Ty21a vaccine is contraindicated for HIV-infected client who are not immunologically stable.
*/
define &quot;Typhoid vaccination is contraindicated for Ty21a vaccine. Guidance&quot;:
  </a:s>
               <a:s r="285">
                  <a:s>case
    </a:s>
                  <a:s r="286">
                     <a:s>when </a:s>
                     <a:s r="287">
                        <a:s>&quot;Typhoid vaccination is contraindicated for Ty21a vaccine. Case 1&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="288">
                        <a:s>'Do not vaccinate client with Ty21a vaccine as Ty21a vaccine is contraindicated for clients who are taking antibiotics. Evaluate if other types of typhoid vacccines can be administered.'</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="290">
                     <a:s>when </a:s>
                     <a:s r="291">
                        <a:s>&quot;Typhoid vaccination is contraindicated for Ty21a vaccine. Case 2&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="292">
                        <a:s>'Do not vaccinate client with Ty21a vaccine as Ty21a vaccine is contraindicated for HIV-infected client who are not immunologically stable.'</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    else </a:s>
                  <a:s r="294">
                     <a:s>''</a:s>
                  </a:s>
                  <a:s>
  end</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="285" locator="96:3-100:5" xsi:type="Case">
            <caseItem localId="286" locator="97:5-97:267">
               <when localId="287" locator="97:10-97:75" name="Typhoid vaccination is contraindicated for Ty21a vaccine. Case 1" xsi:type="ExpressionRef"/>
               <then localId="288" locator="97:82-97:267" valueType="t:String" value="Do not vaccinate client with Ty21a vaccine as Ty21a vaccine is contraindicated for clients who are taking antibiotics. Evaluate if other types of typhoid vacccines can be administered." xsi:type="Literal"/>
            </caseItem>
            <caseItem localId="290" locator="98:5-98:221">
               <when localId="291" locator="98:10-98:75" name="Typhoid vaccination is contraindicated for Ty21a vaccine. Case 2" xsi:type="ExpressionRef"/>
               <then localId="292" locator="98:82-98:221" valueType="t:String" value="Do not vaccinate client with Ty21a vaccine as Ty21a vaccine is contraindicated for HIV-infected client who are not immunologically stable." xsi:type="Literal"/>
            </caseItem>
            <else localId="294" locator="99:10-99:11" valueType="t:String" value="" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="233" locator="28:1-34:5" name="Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="dynamicValue" value="Guidance"/>
            <a:s r="233">
               <a:s>/*
@dynamicValue: Guidance
*/
define &quot;Guidance&quot;:
  </a:s>
               <a:s r="234">
                  <a:s>case 
    </a:s>
                  <a:s r="235">
                     <a:s>when </a:s>
                     <a:s r="241">
                        <a:s>&quot;Typhoid vaccination could be contraindicated. Clinical judgement is required. Create a clinical note.&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="247">
                        <a:s>&quot;Typhoid vaccination could be contraindicated. Clinical judgement is required. Create a clinical note. Guidance&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="248">
                     <a:s>when </a:s>
                     <a:s r="254">
                        <a:s>&quot;Typhoid vaccination is contraindicated for Ty21a vaccine. Clinical judgement is required for Typbar-TCV or ViPS vaccine. Create a clinical note&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="260">
                        <a:s>&quot;Typhoid vaccination is contraindicated for Ty21a vaccine. Clinical judgement is required for Typbar-TCV or ViPS vaccine. Create a clinical note Guidance&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="261">
                     <a:s>when </a:s>
                     <a:s r="281">
                        <a:s>&quot;Typhoid vaccination is contraindicated for Ty21a vaccine.&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="296">
                        <a:s>&quot;Typhoid vaccination is contraindicated for Ty21a vaccine. Guidance&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s> 
    else </a:s>
                  <a:s r="297">
                     <a:s>''</a:s>
                  </a:s>
                  <a:s>
  end</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="234" locator="29:3-34:5" xsi:type="Case">
            <caseItem localId="235" locator="30:5-30:230">
               <when localId="241" locator="30:10-30:112" name="Typhoid vaccination could be contraindicated. Clinical judgement is required. Create a clinical note." xsi:type="ExpressionRef"/>
               <then localId="247" locator="30:119-30:230" name="Typhoid vaccination could be contraindicated. Clinical judgement is required. Create a clinical note. Guidance" xsi:type="ExpressionRef"/>
            </caseItem>
            <caseItem localId="248" locator="31:5-31:314">
               <when localId="254" locator="31:10-31:154" name="Typhoid vaccination is contraindicated for Ty21a vaccine. Clinical judgement is required for Typbar-TCV or ViPS vaccine. Create a clinical note" xsi:type="ExpressionRef"/>
               <then localId="260" locator="31:161-31:314" name="Typhoid vaccination is contraindicated for Ty21a vaccine. Clinical judgement is required for Typbar-TCV or ViPS vaccine. Create a clinical note Guidance" xsi:type="ExpressionRef"/>
            </caseItem>
            <caseItem localId="261" locator="32:5-32:142">
               <when localId="281" locator="32:10-32:68" name="Typhoid vaccination is contraindicated for Ty21a vaccine." xsi:type="ExpressionRef"/>
               <then localId="296" locator="32:75-32:142" name="Typhoid vaccination is contraindicated for Ty21a vaccine. Guidance" xsi:type="ExpressionRef"/>
            </caseItem>
            <else localId="297" locator="33:10-33:11" valueType="t:String" value="" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="301" locator="36:1-37:45" name="Has Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="301">
               <a:s>define &quot;Has Guidance&quot;:
  </a:s>
               <a:s r="302">
                  <a:s r="305">
                     <a:s r="303">
                        <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="312">
                     <a:s r="307">
                        <a:s>&quot;Guidance&quot;</a:s>
                     </a:s>
                     <a:s> != </a:s>
                     <a:s r="308">
                        <a:s>''</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="302" locator="37:3-37:45" xsi:type="And">
            <operand localId="305" locator="37:3-37:24" xsi:type="Not">
               <operand localId="304" locator="37:3-37:24" xsi:type="IsNull">
                  <operand localId="303" locator="37:3-37:12" name="Guidance" xsi:type="ExpressionRef"/>
               </operand>
            </operand>
            <operand localId="312" locator="37:30-37:45" xsi:type="Not">
               <operand localId="306" locator="37:30-37:45" xsi:type="Equal">
                  <signature localId="310" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="311" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="307" locator="37:30-37:39" name="Guidance" xsi:type="ExpressionRef"/>
                  <operand localId="308" locator="37:44-37:45" valueType="t:String" value="" xsi:type="Literal"/>
               </operand>
            </operand>
         </expression>
      </def>
      <def localId="315" locator="106: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="315">
               <a:s>/*
@test: Test expected results based on example patients
*/
define &quot;Test Validation&quot;:
  </a:s>
               <a:s r="316">
                  <a:s>case
    </a:s>
                  <a:s r="317">
                     <a:s>when </a:s>
                     <a:s r="318">
                        <a:s r="320">
                           <a:s r="319">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="320">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="321">
                           <a:s>'Typhoid41.1'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="327">
                        <a:s r="328">
                           <a:s>&quot;Typhoid vaccination could be contraindicated. Clinical judgement is required. Create a clinical note.&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="329">
                           <a:s r="330">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="331">
                              <a:s>'Do not vaccinate client with typhoid if client has known hypersensitivity to any component of the vaccine.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="335">
                     <a:s>when </a:s>
                     <a:s r="336">
                        <a:s r="338">
                           <a:s r="337">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="338">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="339">
                           <a:s>'Typhoid42.1'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="345">
                        <a:s r="346">
                           <a:s>&quot;Typhoid vaccination is contraindicated for Ty21a vaccine. Clinical judgement is required for Typbar-TCV or ViPS vaccine. Create a clinical note&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="347">
                           <a:s r="348">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="349">
                              <a:s>'Do not vaccinate client with Ty21a vaccine as live attenuated Ty21a vaccine is contraindicated for pregnant clients. For Typbar-TCV or ViPS vaccine, check if an alternative typhoid vaccine is appropriate for the client, consider risks of vaccination and make a clinical judgement.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="353">
                     <a:s>when </a:s>
                     <a:s r="354">
                        <a:s r="356">
                           <a:s r="355">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="356">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="357">
                           <a:s>'Typhoid43.1'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="363">
                        <a:s r="364">
                           <a:s>&quot;Typhoid vaccination is contraindicated for Ty21a vaccine. Case 1&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="365">
                           <a:s r="366">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="367">
                              <a:s>'Do not vaccinate client with Ty21a vaccine as Ty21a vaccine is contraindicated for clients who are taking antibiotics. Evaluate if other types of typhoid vacccines can be administered.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="371">
                     <a:s>when </a:s>
                     <a:s r="372">
                        <a:s r="374">
                           <a:s r="373">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="374">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="375">
                           <a:s>'Typhoid44.2'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="381">
                        <a:s r="382">
                           <a:s>&quot;Typhoid vaccination is contraindicated for Ty21a vaccine. Case 2&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="383">
                           <a:s r="384">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="385">
                              <a:s>'Do not vaccinate client with Ty21a vaccine as Ty21a vaccine is contraindicated for HIV-infected client who are not immunologically stable.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    else </a:s>
                  <a:s r="389">
                     <a:s>'No test case set'</a:s>
                  </a:s>
                  <a:s>
  end</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="316" locator="107:3-113:5" xsi:type="Case">
            <caseItem localId="317" locator="108:5-108:270">
               <when localId="318" locator="108:10-108:35" xsi:type="Equal">
                  <signature localId="325" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="326" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="323" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="324" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="320" locator="108:10-108:19" path="id" xsi:type="Property">
                        <source localId="319" locator="108:10-108:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="321" locator="108:23-108:35" valueType="t:String" value="Typhoid41.1" xsi:type="Literal"/>
               </when>
               <then localId="391" xsi:type="As">
                  <operand localId="327" locator="108:42-108:270" xsi:type="And">
                     <operand localId="328" locator="108:42-108:144" name="Typhoid vaccination could be contraindicated. Clinical judgement is required. Create a clinical note." xsi:type="ExpressionRef"/>
                     <operand localId="329" locator="108:150-108:270" xsi:type="Equal">
                        <signature localId="333" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="334" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="330" locator="108:150-108:159" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="331" locator="108:163-108:270" valueType="t:String" value="Do not vaccinate client with typhoid if client has known hypersensitivity to any component of the vaccine." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="392" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="393" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="394" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="335" locator="109:5-109:486">
               <when localId="336" locator="109:10-109:35" xsi:type="Equal">
                  <signature localId="343" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="344" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="341" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="342" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="338" locator="109:10-109:19" path="id" xsi:type="Property">
                        <source localId="337" locator="109:10-109:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="339" locator="109:23-109:35" valueType="t:String" value="Typhoid42.1" xsi:type="Literal"/>
               </when>
               <then localId="395" xsi:type="As">
                  <operand localId="345" locator="109:42-109:486" xsi:type="And">
                     <operand localId="346" locator="109:42-109:186" name="Typhoid vaccination is contraindicated for Ty21a vaccine. Clinical judgement is required for Typbar-TCV or ViPS vaccine. Create a clinical note" xsi:type="ExpressionRef"/>
                     <operand localId="347" locator="109:192-109:486" xsi:type="Equal">
                        <signature localId="351" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="352" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="348" locator="109:192-109:201" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="349" locator="109:205-109:486" valueType="t:String" value="Do not vaccinate client with Ty21a vaccine as live attenuated Ty21a vaccine is contraindicated for pregnant clients. For Typbar-TCV or ViPS vaccine, check if an alternative typhoid vaccine is appropriate for the client, consider risks of vaccination and make a clinical judgement." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="396" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="397" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="398" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="353" locator="110:5-110:311">
               <when localId="354" locator="110:10-110:35" xsi:type="Equal">
                  <signature localId="361" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="362" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="359" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="360" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="356" locator="110:10-110:19" path="id" xsi:type="Property">
                        <source localId="355" locator="110:10-110:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="357" locator="110:23-110:35" valueType="t:String" value="Typhoid43.1" xsi:type="Literal"/>
               </when>
               <then localId="399" xsi:type="As">
                  <operand localId="363" locator="110:42-110:311" xsi:type="And">
                     <operand localId="364" locator="110:42-110:107" name="Typhoid vaccination is contraindicated for Ty21a vaccine. Case 1" xsi:type="ExpressionRef"/>
                     <operand localId="365" locator="110:113-110:311" xsi:type="Equal">
                        <signature localId="369" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="370" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="366" locator="110:113-110:122" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="367" locator="110:126-110:311" valueType="t:String" value="Do not vaccinate client with Ty21a vaccine as Ty21a vaccine is contraindicated for clients who are taking antibiotics. Evaluate if other types of typhoid vacccines can be administered." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="400" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="401" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="402" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="371" locator="111:5-111:265">
               <when localId="372" locator="111:10-111:35" xsi:type="Equal">
                  <signature localId="379" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="380" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="377" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="378" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="374" locator="111:10-111:19" path="id" xsi:type="Property">
                        <source localId="373" locator="111:10-111:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="375" locator="111:23-111:35" valueType="t:String" value="Typhoid44.2" xsi:type="Literal"/>
               </when>
               <then localId="403" xsi:type="As">
                  <operand localId="381" locator="111:42-111:265" xsi:type="And">
                     <operand localId="382" locator="111:42-111:107" name="Typhoid vaccination is contraindicated for Ty21a vaccine. Case 2" xsi:type="ExpressionRef"/>
                     <operand localId="383" locator="111:113-111:265" xsi:type="Equal">
                        <signature localId="387" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="388" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="384" locator="111:113-111:122" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="385" locator="111:126-111:265" valueType="t:String" value="Do not vaccinate client with Ty21a vaccine as Ty21a vaccine is contraindicated for HIV-infected client who are not immunologically stable." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="404" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="405" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="406" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <else localId="407" xsi:type="As">
               <operand localId="389" locator="112:10-112:27" valueType="t:String" value="No test case set" xsi:type="Literal"/>
               <asTypeSpecifier localId="408" xsi:type="ChoiceTypeSpecifier">
                  <choice localId="409" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                  <choice localId="410" name="t:String" xsi:type="NamedTypeSpecifier"/>
               </asTypeSpecifier>
            </else>
         </expression>
      </def>
   </statements>
</library>
