<?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="371">
         <a:s>/*
 * Library: IMMZD2DTHepatitisBDelayedStartLogic (IMMZ.D2.DT.Hepatitis B.Delayed start)
 * Rule: Determine if the client is due for a hepatitis B vaccination according to the national immunization schedule
 * Decision Table: 3-dose schedule (no birth dose + 3 doses), delayed start
 * Trigger: IMMZ.D2 Determine required vaccination(s) if any
 */
library IMMZD2DTHepatitisBDelayedStartLogic</a:s>
      </a:s>
   </annotation>
   <identifier id="IMMZD2DTHepatitisBDelayedStartLogic" 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:60" localIdentifier="Encounter" path="http://smart.who.int/immunizations/IMMZD2DTHepatitisBEncounterElements">
         <annotation xsi:type="a:Annotation">
            <a:s r="210">
               <a:s>include </a:s>
               <a:s>
                  <a:s>IMMZD2DTHepatitisBEncounterElements</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-40:81" name="Client is due for hepatitis B vaccination" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is due for hepatitis B vaccination"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Due&quot;"/>
            <a:s r="229">
               <a:s>/*
@output: Client is due for hepatitis B vaccination
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Due&quot;
*/
define &quot;Client is due for hepatitis B vaccination&quot;:
  </a:s>
               <a:s r="230">
                  <a:s r="232">
                     <a:s r="231">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="232">
                        <a:s>&quot;No hepatitis B doses were administered&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    and </a:s>
                  <a:s r="234">
                     <a:s r="233">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="234">
                        <a:s>&quot;Client's age is more than {Member States defined lower limit}&quot;</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="230" locator="39:3-40:81" xsi:type="And">
            <operand localId="232" locator="39:3-39:52" name="No hepatitis B doses were administered" libraryName="Encounter" xsi:type="ExpressionRef"/>
            <operand localId="234" locator="40:9-40:81" name="Client's age is more than {Member States defined lower limit}" libraryName="Encounter" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="238" locator="47:1-48:204" name="Client is due for hepatitis B vaccination Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is due for hepatitis B vaccination Guidance"/>
            <a:t name="guidance" value="Should vaccinate client with first hepatitis B dose as hepatitis B birth dose was not administered. The first hepatitis B dose should be administered as soon as possible. &#xa;Check for contraindications."/>
            <a:s r="238">
               <a:s>/*
@output: Client is due for hepatitis B vaccination Guidance
@guidance: Should vaccinate client with first hepatitis B dose as hepatitis B birth dose was not administered. The first hepatitis B dose should be administered as soon as possible. 
Check for contraindications.
*/
define &quot;Client is due for hepatitis B vaccination Guidance&quot;:
  </a:s>
               <a:s r="239">
                  <a:s>'Should vaccinate client with first hepatitis B dose as hepatitis B birth dose was not administered. The first hepatitis B dose should be administered as soon as possible. 
Check for contraindications.'</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="239" locator="48:3-48:204" valueType="t:String" value="Should vaccinate client with first hepatitis B dose as hepatitis B birth dose was not administered. The first hepatitis B dose should be administered as soon as possible. &#xa;Check for contraindications." xsi:type="Literal"/>
      </def>
      <def localId="250" locator="55:1-57:86" name="Client is not due for a hepatitis B vaccination Case 1" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is not due for a hepatitis B vaccination Case 1"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Not due&quot;"/>
            <a:s r="250">
               <a:s>/*
@output: Client is not due for a hepatitis B vaccination Case 1
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Not due&quot;
*/
define &quot;Client is not due for a hepatitis B vaccination Case 1&quot;:
  </a:s>
               <a:s r="251">
                  <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;One hepatitis B dose was administered&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    and </a:s>
                  <a:s r="255">
                     <a:s r="254">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="255">
                        <a:s>&quot;The latest hepatitis B dose was administered less than 4 weeks ago&quot;</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="251" locator="56:3-57:86" xsi:type="And">
            <operand localId="253" locator="56:3-56:51" name="One hepatitis B dose was administered" libraryName="Encounter" xsi:type="ExpressionRef"/>
            <operand localId="255" locator="57:9-57:86" name="The latest hepatitis B dose was administered less than 4 weeks ago" libraryName="Encounter" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="259" locator="63:1-65:86" name="Client is not due for a hepatitis B vaccination Case 2" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is not due for a hepatitis B vaccination Case 2"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Not due&quot;"/>
            <a:s r="259">
               <a:s>/*
@output: Client is not due for a hepatitis B vaccination Case 2
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Not due&quot;
*/
define &quot;Client is not due for a hepatitis B vaccination Case 2&quot;:
  </a:s>
               <a:s r="260">
                  <a:s r="262">
                     <a:s r="261">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="262">
                        <a:s>&quot;Two hepatitis B doses were administered&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    and </a:s>
                  <a:s r="264">
                     <a:s r="263">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="264">
                        <a:s>&quot;The latest hepatitis B dose was administered less than 4 weeks ago&quot;</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="260" locator="64:3-65:86" xsi:type="And">
            <operand localId="262" locator="64:3-64:53" name="Two hepatitis B doses were administered" libraryName="Encounter" xsi:type="ExpressionRef"/>
            <operand localId="264" locator="65:9-65:86" name="The latest hepatitis B dose was administered less than 4 weeks ago" libraryName="Encounter" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="268" locator="71:1-74:86" name="Client is not due for a hepatitis B vaccination Case 3" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is not due for a hepatitis B vaccination Case 3"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Not due&quot;"/>
            <a:s r="268">
               <a:s>/*
@output: Client is not due for a hepatitis B vaccination Case 3
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Not due&quot;
*/
define &quot;Client is not due for a hepatitis B vaccination Case 3&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;Two hepatitis B doses were administered&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;The latest hepatitis B dose was administered more than 4 weeks ago&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;The first hepatitis B dose was administered less than 6 months ago&quot;</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="269" locator="72:3-74:86" xsi:type="And">
            <operand localId="270" locator="72:3-73:86" xsi:type="And">
               <operand localId="272" locator="72:3-72:53" name="Two hepatitis B doses were administered" libraryName="Encounter" xsi:type="ExpressionRef"/>
               <operand localId="274" locator="73:9-73:86" name="The latest hepatitis B dose was administered more than 4 weeks ago" libraryName="Encounter" xsi:type="ExpressionRef"/>
            </operand>
            <operand localId="276" locator="74:9-74:86" name="The first hepatitis B dose was administered less than 6 months ago" libraryName="Encounter" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="245" locator="80:1-83:63" name="Client is not due for a hepatitis B vaccination" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is not due for a hepatitis B vaccination"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Not due&quot;"/>
            <a:s r="245">
               <a:s>/*
@output: Client is not due for a hepatitis B vaccination
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Not due&quot;
*/
define &quot;Client is not due for a hepatitis B vaccination&quot;:
  </a:s>
               <a:s r="246">
                  <a:s r="247">
                     <a:s r="256">
                        <a:s>&quot;Client is not due for a hepatitis B vaccination Case 1&quot;</a:s>
                     </a:s>
                     <a:s>
    or </a:s>
                     <a:s r="265">
                        <a:s>&quot;Client is not due for a hepatitis B vaccination Case 2&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    or </a:s>
                  <a:s r="277">
                     <a:s>&quot;Client is not due for a hepatitis B vaccination Case 3&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="246" locator="81:3-83:63" xsi:type="Or">
            <operand localId="247" locator="81:3-82:63" xsi:type="Or">
               <operand localId="256" locator="81:3-81:58" name="Client is not due for a hepatitis B vaccination Case 1" xsi:type="ExpressionRef"/>
               <operand localId="265" locator="82:8-82:63" name="Client is not due for a hepatitis B vaccination Case 2" xsi:type="ExpressionRef"/>
            </operand>
            <operand localId="277" locator="83:8-83:63" name="Client is not due for a hepatitis B vaccination Case 3" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="281" locator="94:1-103:5" name="Client is not due for a hepatitis B vaccination Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is not due for a hepatitis B vaccination Guidance"/>
            <a:s r="281">
               <a:s>/*
@output: Client is not due for a hepatitis B vaccination Guidance
@guidance = Should not vaccinate client with second hepatitis B dose as the latest hepatitis B dose was administered less than 4 weeks ago. 
Check for any other vaccines due, and inform the caregiver of when to come back for the next dose.
@guidance = Should not vaccinate client with second hepatitis B dose as the latest hepatitis B dose was administered less than 4 weeks ago. Two hepatitis B doses have been administered to the client. 
Check for any other vaccines due, and inform the caregiver of when to come back for the next dose.
@guidance = Should not vaccinate client with third hepatitis B dose as the first hepatitis B dose was administered less than 6 months ago. 
Check for any other vaccines due, and inform the caregiver of when to come back for the next dose.
*/
define &quot;Client is not due for a hepatitis B vaccination Guidance&quot;:
  </a:s>
               <a:s r="282">
                  <a:s>case
    </a:s>
                  <a:s r="283">
                     <a:s>when </a:s>
                     <a:s r="284">
                        <a:s>&quot;Client is not due for a hepatitis B vaccination Case 1&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="285">
                        <a:s>'Should not vaccinate client with second hepatitis B dose as the latest hepatitis B dose was administered less than 4 weeks ago. 
Check for any other vaccines due, and inform the caregiver of when to come back for the next dose.'</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="287">
                     <a:s>when </a:s>
                     <a:s r="288">
                        <a:s>&quot;Client is not due for a hepatitis B vaccination Case 2&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="289">
                        <a:s>'Should not vaccinate client with second hepatitis B dose as the latest hepatitis B dose was administered less than 4 weeks ago. Two hepatitis B doses have been administered to the client. 
Check for any other vaccines due, and inform the caregiver of when to come back for the next dose.'</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="291">
                     <a:s>when </a:s>
                     <a:s r="292">
                        <a:s>&quot;Client is not due for a hepatitis B vaccination Case 3&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="293">
                        <a:s>'Should not vaccinate client with third hepatitis B dose as the first hepatitis B dose was administered less than 6 months ago. 
Check for any other vaccines due, and inform the caregiver of when to come back for the next dose.'</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    else </a:s>
                  <a:s r="295">
                     <a:s>''</a:s>
                  </a:s>
                  <a:s>
  end</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="282" locator="95:3-103:5" xsi:type="Case">
            <caseItem localId="283" locator="96:5-96:300">
               <when localId="284" locator="96:10-96:65" name="Client is not due for a hepatitis B vaccination Case 1" xsi:type="ExpressionRef"/>
               <then localId="285" locator="96:72-96:300" valueType="t:String" value="Should not vaccinate client with second hepatitis B dose as the latest hepatitis B dose was administered less than 4 weeks ago. &#xa;Check for any other vaccines due, and inform the caregiver of when to come back for the next dose." xsi:type="Literal"/>
            </caseItem>
            <caseItem localId="287" locator="98:5-98:360">
               <when localId="288" locator="98:10-98:65" name="Client is not due for a hepatitis B vaccination Case 2" xsi:type="ExpressionRef"/>
               <then localId="289" locator="98:72-98:360" valueType="t:String" value="Should not vaccinate client with second hepatitis B dose as the latest hepatitis B dose was administered less than 4 weeks ago. Two hepatitis B doses have been administered to the client. &#xa;Check for any other vaccines due, and inform the caregiver of when to come back for the next dose." xsi:type="Literal"/>
            </caseItem>
            <caseItem localId="291" locator="100:5-100:299">
               <when localId="292" locator="100:10-100:65" name="Client is not due for a hepatitis B vaccination Case 3" xsi:type="ExpressionRef"/>
               <then localId="293" locator="100:72-100:299" valueType="t:String" value="Should not vaccinate client with third hepatitis B dose as the first hepatitis B dose was administered less than 6 months ago. &#xa;Check for any other vaccines due, and inform the caregiver of when to come back for the next dose." xsi:type="Literal"/>
            </caseItem>
            <else localId="295" locator="102:10-102:11" valueType="t:String" value="" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="305" locator="109:1-111:86" name="Client is due for a hepatitis B vaccination Case 1" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is due for a hepatitis B vaccination Case 1"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Due&quot;"/>
            <a:s r="305">
               <a:s>/*
@output: Client is due for a hepatitis B vaccination Case 1
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Due&quot;
*/
define &quot;Client is due for a hepatitis B vaccination Case 1&quot;:
  </a:s>
               <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;One hepatitis B dose was administered&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;The latest hepatitis B dose was administered more than 4 weeks ago&quot;</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="306" locator="110:3-111:86" xsi:type="And">
            <operand localId="308" locator="110:3-110:51" name="One hepatitis B dose was administered" libraryName="Encounter" xsi:type="ExpressionRef"/>
            <operand localId="310" locator="111:9-111:86" name="The latest hepatitis B dose was administered more than 4 weeks ago" libraryName="Encounter" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="314" locator="117:1-120:86" name="Client is due for a hepatitis B vaccination Case 2" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is due for a hepatitis B vaccination Case 2"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Due&quot;"/>
            <a:s r="314">
               <a:s>/*
@output: Client is due for a hepatitis B vaccination Case 2
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Due&quot;
*/
define &quot;Client is due for a hepatitis B vaccination Case 2&quot;:
  </a:s>
               <a:s r="315">
                  <a:s r="316">
                     <a:s r="318">
                        <a:s r="317">
                           <a:s>Encounter</a:s>
                        </a:s>
                        <a:s>.</a:s>
                        <a:s r="318">
                           <a:s>&quot;Two hepatitis B doses were administered&quot;</a:s>
                        </a:s>
                     </a:s>
                     <a:s>
    and </a:s>
                     <a:s r="320">
                        <a:s r="319">
                           <a:s>Encounter</a:s>
                        </a:s>
                        <a:s>.</a:s>
                        <a:s r="320">
                           <a:s>&quot;The latest hepatitis B dose was administered more than 4 weeks ago&quot;</a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    and </a:s>
                  <a:s r="322">
                     <a:s r="321">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="322">
                        <a:s>&quot;The first hepatitis B dose was administered more than 6 months ago&quot;</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="315" locator="118:3-120:86" xsi:type="And">
            <operand localId="316" locator="118:3-119:86" xsi:type="And">
               <operand localId="318" locator="118:3-118:53" name="Two hepatitis B doses were administered" libraryName="Encounter" xsi:type="ExpressionRef"/>
               <operand localId="320" locator="119:9-119:86" name="The latest hepatitis B dose was administered more than 4 weeks ago" libraryName="Encounter" xsi:type="ExpressionRef"/>
            </operand>
            <operand localId="322" locator="120:9-120:86" name="The first hepatitis B dose was administered more than 6 months ago" libraryName="Encounter" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="301" locator="126:1-128:59" name="Client is due for a hepatitis B vaccination" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is due for a hepatitis B vaccination"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Due&quot;"/>
            <a:s r="301">
               <a:s>/*
@output: Client is due for a hepatitis B vaccination
@pseudocode: &quot;Immunization recommendation status&quot; = &quot;Due&quot;
*/
define &quot;Client is due for a hepatitis B vaccination&quot;:
  </a:s>
               <a:s r="302">
                  <a:s r="311">
                     <a:s>&quot;Client is due for a hepatitis B vaccination Case 1&quot;</a:s>
                  </a:s>
                  <a:s>
    or </a:s>
                  <a:s r="323">
                     <a:s>&quot;Client is due for a hepatitis B vaccination Case 2&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="302" locator="127:3-128:59" xsi:type="Or">
            <operand localId="311" locator="127:3-127:54" name="Client is due for a hepatitis B vaccination Case 1" xsi:type="ExpressionRef"/>
            <operand localId="323" locator="128:8-128:59" name="Client is due for a hepatitis B vaccination Case 2" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="327" locator="137:1-144:5" name="Client is due for a hepatitis B vaccination Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Client is due for a hepatitis B vaccination Guidance"/>
            <a:s r="327">
               <a:s>/*
@output: Client is due for a hepatitis B vaccination Guidance
@guidance = Should vaccinate client with second hepatitis B dose as the latest hepatitis B dose was administered less than 4 weeks ago. 
Check for contraindications.
@guidance = Should vaccinate client with third hepatitis B dose as the first hepatitis B dose was administered more than 6 months ago and the latest hepatitis B dose was administered more than 4 weeks ago. 
Check for contraindications.
*/
define &quot;Client is due for a hepatitis B vaccination Guidance&quot;:
  </a:s>
               <a:s r="328">
                  <a:s>case
    </a:s>
                  <a:s r="329">
                     <a:s>when </a:s>
                     <a:s r="330">
                        <a:s>&quot;Client is due for a hepatitis B vaccination Case 1&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="331">
                        <a:s>'Should vaccinate client with second hepatitis B dose as the latest hepatitis B dose was administered less than 4 weeks ago. 
Check for contraindications.'</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="333">
                     <a:s>when </a:s>
                     <a:s r="334">
                        <a:s>&quot;Client is due for a hepatitis B vaccination Case 2&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="335">
                        <a:s>'Should vaccinate client with third hepatitis B dose as the first hepatitis B dose was administered more than 6 months ago and the latest hepatitis B dose was administered more than 4 weeks ago. 
Check for contraindications.'</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    else </a:s>
                  <a:s r="337">
                     <a:s>''</a:s>
                  </a:s>
                  <a:s>
  end</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="328" locator="138:3-144:5" xsi:type="Case">
            <caseItem localId="329" locator="139:5-139:222">
               <when localId="330" locator="139:10-139:61" name="Client is due for a hepatitis B vaccination Case 1" xsi:type="ExpressionRef"/>
               <then localId="331" locator="139:68-139:222" valueType="t:String" value="Should vaccinate client with second hepatitis B dose as the latest hepatitis B dose was administered less than 4 weeks ago. &#xa;Check for contraindications." xsi:type="Literal"/>
            </caseItem>
            <caseItem localId="333" locator="141:5-141:292">
               <when localId="334" locator="141:10-141:61" name="Client is due for a hepatitis B vaccination Case 2" xsi:type="ExpressionRef"/>
               <then localId="335" locator="141:68-141:292" valueType="t:String" value="Should vaccinate client with third hepatitis B dose as the first hepatitis B dose was administered more than 6 months ago and the latest hepatitis B dose was administered more than 4 weeks ago. &#xa;Check for contraindications." xsi:type="Literal"/>
            </caseItem>
            <else localId="337" locator="143:10-143:11" valueType="t:String" value="" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="343" locator="151:1-152:55" name="Hepatitis B immunization schedule is complete" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Hepatitis B immunization schedule is complete"/>
            <a:t name="pseudocode" value="&quot;Immunization recommendation status&quot; = &quot;Complete&quot;"/>
            <a:s r="343">
               <a:s>/*
@output: Hepatitis B 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;Hepatitis B-containing vaccines&quot;)
*/
define &quot;Hepatitis B immunization schedule is complete&quot;:
  </a:s>
               <a:s r="345">
                  <a:s r="344">
                     <a:s>Encounter</a:s>
                  </a:s>
                  <a:s>.</a:s>
                  <a:s r="345">
                     <a:s>&quot;Three hepatitis B doses were administered&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="345" locator="152:3-152:55" name="Three hepatitis B doses were administered" libraryName="Encounter" xsi:type="ExpressionRef"/>
      </def>
      <def localId="349" locator="159:1-160:143" name="Hepatitis B immunization schedule is complete Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Hepatitis B immunization schedule is complete Guidance"/>
            <a:t name="guidance" value="Hepatitis B immunization schedule is complete. Three hepatitis B primary series doses were administered. &#xa;Check for any other vaccines due."/>
            <a:s r="349">
               <a:s>/*
@output: Hepatitis B immunization schedule is complete Guidance
@guidance: Hepatitis B immunization schedule is complete. Three hepatitis B primary series doses were administered. 
Check for any other vaccines due.
*/
define &quot;Hepatitis B immunization schedule is complete Guidance&quot;:
  </a:s>
               <a:s r="350">
                  <a:s>'Hepatitis B immunization schedule is complete. Three hepatitis B primary series doses were administered. 
Check for any other vaccines due.'</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="350" locator="160:3-160:143" valueType="t:String" value="Hepatitis B immunization schedule is complete. Three hepatitis B primary series doses were 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="235">
                        <a:s>&quot;Client is due for hepatitis B vaccination&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="241">
                        <a:s>&quot;Client is due for hepatitis B vaccination Guidance&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="242">
                     <a:s>when </a:s>
                     <a:s r="278">
                        <a:s>&quot;Client is not due for a hepatitis B vaccination&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="297">
                        <a:s>&quot;Client is not due for a hepatitis B vaccination Guidance&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="298">
                     <a:s>when </a:s>
                     <a:s r="324">
                        <a:s>&quot;Client is due for a hepatitis B vaccination&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="339">
                        <a:s>&quot;Client is due for a hepatitis B vaccination Guidance&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="340">
                     <a:s>when </a:s>
                     <a:s r="346">
                        <a:s>&quot;Hepatitis B immunization schedule is complete&quot;</a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="352">
                        <a:s>&quot;Hepatitis B immunization schedule is complete Guidance&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s> 
    else </a:s>
                  <a:s r="353">
                     <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="235" locator="24:10-24:52" name="Client is due for hepatitis B vaccination" xsi:type="ExpressionRef"/>
               <then localId="241" locator="24:59-24:110" name="Client is due for hepatitis B vaccination Guidance" xsi:type="ExpressionRef"/>
            </caseItem>
            <caseItem localId="242" locator="25:5-25:122">
               <when localId="278" locator="25:10-25:58" name="Client is not due for a hepatitis B vaccination" xsi:type="ExpressionRef"/>
               <then localId="297" locator="25:65-25:122" name="Client is not due for a hepatitis B vaccination Guidance" xsi:type="ExpressionRef"/>
            </caseItem>
            <caseItem localId="298" locator="26:5-26:114">
               <when localId="324" locator="26:10-26:54" name="Client is due for a hepatitis B vaccination" xsi:type="ExpressionRef"/>
               <then localId="339" locator="26:61-26:114" name="Client is due for a hepatitis B vaccination Guidance" xsi:type="ExpressionRef"/>
            </caseItem>
            <caseItem localId="340" locator="27:5-27:118">
               <when localId="346" locator="27:10-27:56" name="Hepatitis B immunization schedule is complete" xsi:type="ExpressionRef"/>
               <then localId="352" locator="27:63-27:118" name="Hepatitis B immunization schedule is complete Guidance" xsi:type="ExpressionRef"/>
            </caseItem>
            <else localId="353" locator="28:10-28:11" valueType="t:String" value="" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="357" locator="31:1-32:45" name="Has Guidance" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="357">
               <a:s>define &quot;Has Guidance&quot;:
  </a:s>
               <a:s r="358">
                  <a:s r="361">
                     <a:s r="359">
                        <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="368">
                     <a:s r="363">
                        <a:s>&quot;Guidance&quot;</a:s>
                     </a:s>
                     <a:s> != </a:s>
                     <a:s r="364">
                        <a:s>''</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="358" locator="32:3-32:45" xsi:type="And">
            <operand localId="361" locator="32:3-32:24" xsi:type="Not">
               <operand localId="360" locator="32:3-32:24" xsi:type="IsNull">
                  <operand localId="359" locator="32:3-32:12" name="Guidance" xsi:type="ExpressionRef"/>
               </operand>
            </operand>
            <operand localId="368" locator="32:30-32:45" xsi:type="Not">
               <operand localId="362" locator="32:30-32:45" xsi:type="Equal">
                  <signature localId="366" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="367" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="363" locator="32:30-32:39" name="Guidance" xsi:type="ExpressionRef"/>
                  <operand localId="364" locator="32:44-32:45" valueType="t:String" value="" xsi:type="Literal"/>
               </operand>
            </operand>
         </expression>
      </def>
      <def localId="371" locator="167:1-184: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="371">
               <a:s>/*
@test: Test expected results based on example patients
*/
define &quot;Test Validation&quot;:
  </a:s>
               <a:s r="372">
                  <a:s>case
    </a:s>
                  <a:s r="373">
                     <a:s>when </a:s>
                     <a:s r="374">
                        <a:s r="376">
                           <a:s r="375">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="376">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="377">
                           <a:s>'HepatitisB50.2'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="383">
                        <a:s r="384">
                           <a:s>&quot;Client is due for hepatitis B vaccination&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="385">
                           <a:s r="386">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="387">
                              <a:s>'Should vaccinate client with first hepatitis B dose as hepatitis B birth dose was not administered. The first hepatitis B dose should be administered as soon as possible. 
Check for contraindications.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="391">
                     <a:s>when </a:s>
                     <a:s r="392">
                        <a:s r="394">
                           <a:s r="393">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="394">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="395">
                           <a:s>'HepatitisB51.2'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="401">
                        <a:s r="402">
                           <a:s>&quot;Client is not due for a hepatitis B vaccination Case 1&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="403">
                           <a:s r="404">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="405">
                              <a:s>'Should not vaccinate client with second hepatitis B dose as the latest hepatitis B dose was administered less than 4 weeks ago. 
Check for any other vaccines due, and inform the caregiver of when to come back for the next dose.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="409">
                     <a:s>when </a:s>
                     <a:s r="410">
                        <a:s r="412">
                           <a:s r="411">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="412">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="413">
                           <a:s>'HepatitisB52.2'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="419">
                        <a:s r="420">
                           <a:s>&quot;Client is due for a hepatitis B vaccination Case 1&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="421">
                           <a:s r="422">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="423">
                              <a:s>'Should vaccinate client with second hepatitis B dose as the latest hepatitis B dose was administered less than 4 weeks ago. 
Check for contraindications.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="427">
                     <a:s>when </a:s>
                     <a:s r="428">
                        <a:s r="430">
                           <a:s r="429">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="430">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="431">
                           <a:s>'HepatitisB53.2'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="437">
                        <a:s r="438">
                           <a:s>&quot;Client is not due for a hepatitis B vaccination Case 2&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="439">
                           <a:s r="440">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="441">
                              <a:s>'Should not vaccinate client with second hepatitis B dose as the latest hepatitis B dose was administered less than 4 weeks ago. Two hepatitis B doses have been administered to the client. 
Check for any other vaccines due, and inform the caregiver of when to come back for the next dose.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="445">
                     <a:s>when </a:s>
                     <a:s r="446">
                        <a:s r="448">
                           <a:s r="447">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="448">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="449">
                           <a:s>'HepatitisB54.3'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="455">
                        <a:s r="456">
                           <a:s>&quot;Client is not due for a hepatitis B vaccination Case 3&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="457">
                           <a:s r="458">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="459">
                              <a:s>'Should not vaccinate client with third hepatitis B dose as the first hepatitis B dose was administered less than 6 months ago. 
Check for any other vaccines due, and inform the caregiver of when to come back for the next dose.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="463">
                     <a:s>when </a:s>
                     <a:s r="464">
                        <a:s r="466">
                           <a:s r="465">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="466">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="467">
                           <a:s>'HepatitisB55.3'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="473">
                        <a:s r="474">
                           <a:s>&quot;Client is due for a hepatitis B vaccination Case 2&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="475">
                           <a:s r="476">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="477">
                              <a:s>'Should vaccinate client with third hepatitis B dose as the first hepatitis B dose was administered more than 6 months ago and the latest hepatitis B dose was administered more than 4 weeks ago. 
Check for contraindications.'</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="481">
                     <a:s>when </a:s>
                     <a:s r="482">
                        <a:s r="484">
                           <a:s r="483">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="484">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="485">
                           <a:s>'HepatitisB56.1'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="491">
                        <a:s r="492">
                           <a:s>&quot;Hepatitis B immunization schedule is complete&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="493">
                           <a:s r="494">
                              <a:s>&quot;Guidance&quot;</a:s>
                           </a:s>
                           <a:s> = </a:s>
                           <a:s r="495">
                              <a:s>'Hepatitis B immunization schedule is complete. Three hepatitis B primary series doses were 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="499">
                     <a:s>'No test case set'</a:s>
                  </a:s>
                  <a:s>
  end</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="372" locator="168:3-184:5" xsi:type="Case">
            <caseItem localId="373" locator="169:5-169:307">
               <when localId="374" locator="169:10-169:38" xsi:type="Equal">
                  <signature localId="381" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="382" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="379" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="380" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="376" locator="169:10-169:19" path="id" xsi:type="Property">
                        <source localId="375" locator="169:10-169:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="377" locator="169:23-169:38" valueType="t:String" value="HepatitisB50.2" xsi:type="Literal"/>
               </when>
               <then localId="501" xsi:type="As">
                  <operand localId="383" locator="169:45-169:307" xsi:type="And">
                     <operand localId="384" locator="169:45-169:87" name="Client is due for hepatitis B vaccination" xsi:type="ExpressionRef"/>
                     <operand localId="385" locator="169:93-169:307" xsi:type="Equal">
                        <signature localId="389" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="390" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="386" locator="169:93-169:102" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="387" locator="169:106-169:307" valueType="t:String" value="Should vaccinate client with first hepatitis B dose as hepatitis B birth dose was not administered. The first hepatitis B dose should be administered as soon as possible. &#xa;Check for contraindications." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="502" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="503" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="504" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="391" locator="171:5-171:347">
               <when localId="392" locator="171:10-171:38" xsi:type="Equal">
                  <signature localId="399" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="400" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="397" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="398" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="394" locator="171:10-171:19" path="id" xsi:type="Property">
                        <source localId="393" locator="171:10-171:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="395" locator="171:23-171:38" valueType="t:String" value="HepatitisB51.2" xsi:type="Literal"/>
               </when>
               <then localId="505" xsi:type="As">
                  <operand localId="401" locator="171:45-171:347" xsi:type="And">
                     <operand localId="402" locator="171:45-171:100" name="Client is not due for a hepatitis B vaccination Case 1" xsi:type="ExpressionRef"/>
                     <operand localId="403" locator="171:106-171:347" xsi:type="Equal">
                        <signature localId="407" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="408" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="404" locator="171:106-171:115" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="405" locator="171:119-171:347" valueType="t:String" value="Should not vaccinate client with second hepatitis B dose as the latest hepatitis B dose was administered less than 4 weeks ago. &#xa;Check for any other vaccines due, and inform the caregiver of when to come back for the next dose." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="506" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="507" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="508" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="409" locator="173:5-173:269">
               <when localId="410" locator="173:10-173:38" xsi:type="Equal">
                  <signature localId="417" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="418" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="415" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="416" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="412" locator="173:10-173:19" path="id" xsi:type="Property">
                        <source localId="411" locator="173:10-173:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="413" locator="173:23-173:38" valueType="t:String" value="HepatitisB52.2" xsi:type="Literal"/>
               </when>
               <then localId="509" xsi:type="As">
                  <operand localId="419" locator="173:45-173:269" xsi:type="And">
                     <operand localId="420" locator="173:45-173:96" name="Client is due for a hepatitis B vaccination Case 1" xsi:type="ExpressionRef"/>
                     <operand localId="421" locator="173:102-173:269" xsi:type="Equal">
                        <signature localId="425" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="426" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="422" locator="173:102-173:111" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="423" locator="173:115-173:269" valueType="t:String" value="Should vaccinate client with second hepatitis B dose as the latest hepatitis B dose was administered less than 4 weeks ago. &#xa;Check for contraindications." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="510" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="511" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="512" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="427" locator="175:5-175:407">
               <when localId="428" locator="175:10-175:38" xsi:type="Equal">
                  <signature localId="435" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="436" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="433" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="434" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="430" locator="175:10-175:19" path="id" xsi:type="Property">
                        <source localId="429" locator="175:10-175:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="431" locator="175:23-175:38" valueType="t:String" value="HepatitisB53.2" xsi:type="Literal"/>
               </when>
               <then localId="513" xsi:type="As">
                  <operand localId="437" locator="175:45-175:407" xsi:type="And">
                     <operand localId="438" locator="175:45-175:100" name="Client is not due for a hepatitis B vaccination Case 2" xsi:type="ExpressionRef"/>
                     <operand localId="439" locator="175:106-175:407" xsi:type="Equal">
                        <signature localId="443" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="444" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="440" locator="175:106-175:115" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="441" locator="175:119-175:407" valueType="t:String" value="Should not vaccinate client with second hepatitis B dose as the latest hepatitis B dose was administered less than 4 weeks ago. Two hepatitis B doses have been administered to the client. &#xa;Check for any other vaccines due, and inform the caregiver of when to come back for the next dose." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="514" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="515" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="516" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="445" locator="177:5-177:346">
               <when localId="446" locator="177:10-177:38" xsi:type="Equal">
                  <signature localId="453" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="454" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="451" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="452" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="448" locator="177:10-177:19" path="id" xsi:type="Property">
                        <source localId="447" locator="177:10-177:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="449" locator="177:23-177:38" valueType="t:String" value="HepatitisB54.3" xsi:type="Literal"/>
               </when>
               <then localId="517" xsi:type="As">
                  <operand localId="455" locator="177:45-177:346" xsi:type="And">
                     <operand localId="456" locator="177:45-177:100" name="Client is not due for a hepatitis B vaccination Case 3" xsi:type="ExpressionRef"/>
                     <operand localId="457" locator="177:106-177:346" xsi:type="Equal">
                        <signature localId="461" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="462" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="458" locator="177:106-177:115" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="459" locator="177:119-177:346" valueType="t:String" value="Should not vaccinate client with third hepatitis B dose as the first hepatitis B dose was administered less than 6 months ago. &#xa;Check for any other vaccines due, and inform the caregiver of when to come back for the next dose." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="518" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="519" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="520" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="463" locator="179:5-179:339">
               <when localId="464" locator="179:10-179:38" xsi:type="Equal">
                  <signature localId="471" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="472" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="469" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="470" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="466" locator="179:10-179:19" path="id" xsi:type="Property">
                        <source localId="465" locator="179:10-179:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="467" locator="179:23-179:38" valueType="t:String" value="HepatitisB55.3" xsi:type="Literal"/>
               </when>
               <then localId="521" xsi:type="As">
                  <operand localId="473" locator="179:45-179:339" xsi:type="And">
                     <operand localId="474" locator="179:45-179:96" name="Client is due for a hepatitis B vaccination Case 2" xsi:type="ExpressionRef"/>
                     <operand localId="475" locator="179:102-179:339" xsi:type="Equal">
                        <signature localId="479" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="480" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="476" locator="179:102-179:111" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="477" locator="179:115-179:339" valueType="t:String" value="Should vaccinate client with third hepatitis B dose as the first hepatitis B dose was administered more than 6 months ago and the latest hepatitis B dose was administered more than 4 weeks ago. &#xa;Check for contraindications." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="522" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="523" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="524" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="481" locator="181:5-181:250">
               <when localId="482" locator="181:10-181:38" xsi:type="Equal">
                  <signature localId="489" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="490" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="487" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="488" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="484" locator="181:10-181:19" path="id" xsi:type="Property">
                        <source localId="483" locator="181:10-181:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="485" locator="181:23-181:38" valueType="t:String" value="HepatitisB56.1" xsi:type="Literal"/>
               </when>
               <then localId="525" xsi:type="As">
                  <operand localId="491" locator="181:45-181:250" xsi:type="And">
                     <operand localId="492" locator="181:45-181:91" name="Hepatitis B immunization schedule is complete" xsi:type="ExpressionRef"/>
                     <operand localId="493" locator="181:97-181:250" xsi:type="Equal">
                        <signature localId="497" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="498" name="t:String" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="494" locator="181:97-181:106" name="Guidance" xsi:type="ExpressionRef"/>
                        <operand localId="495" locator="181:110-181:250" valueType="t:String" value="Hepatitis B immunization schedule is complete. Three hepatitis B primary series doses were administered. &#xa;Check for any other vaccines due." xsi:type="Literal"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="526" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="527" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="528" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <else localId="529" xsi:type="As">
               <operand localId="499" locator="183:10-183:27" valueType="t:String" value="No test case set" xsi:type="Literal"/>
               <asTypeSpecifier localId="530" xsi:type="ChoiceTypeSpecifier">
                  <choice localId="531" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                  <choice localId="532" name="t:String" xsi:type="NamedTypeSpecifier"/>
               </asTypeSpecifier>
            </else>
         </expression>
      </def>
   </statements>
</library>
