<?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="426">
         <a:s>/*
  * Library: IMMZD2DTHepatitisBEncounterElements
  */
library IMMZD2DTHepatitisBEncounterElements</a:s>
      </a:s>
   </annotation>
   <identifier id="IMMZD2DTHepatitisBEncounterElements" 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="7:1-7: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="8:1-8: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="10:1-10:19" localIdentifier="WHOConcepts" path="http://smart.who.int/immunizations/WHOConcepts">
         <annotation xsi:type="a:Annotation">
            <a:s r="210">
               <a:s>include </a:s>
               <a:s>
                  <a:s>WHOConcepts</a:s>
               </a:s>
            </a:s>
         </annotation>
      </def>
      <def localId="212" locator="11:1-11:27" localIdentifier="WC" path="http://smart.who.int/immunizations/WHOCommon">
         <annotation xsi:type="a:Annotation">
            <a:s r="212">
               <a:s>include </a:s>
               <a:s>
                  <a:s>WHOCommon</a:s>
               </a:s>
               <a:s> called WC</a:s>
            </a:s>
         </annotation>
      </def>
      <def localId="214" locator="12:1-12:29" localIdentifier="WE" path="http://smart.who.int/immunizations/WHOElements">
         <annotation xsi:type="a:Annotation">
            <a:s r="214">
               <a:s>include </a:s>
               <a:s>
                  <a:s>WHOElements</a:s>
               </a:s>
               <a:s> called WE</a:s>
            </a:s>
         </annotation>
      </def>
      <def localId="216" locator="14:1-14:32" localIdentifier="Common" path="http://smart.who.int/immunizations/IMMZCommon">
         <annotation xsi:type="a:Annotation">
            <a:s r="216">
               <a:s>include </a:s>
               <a:s>
                  <a:s>IMMZCommon</a:s>
               </a:s>
               <a:s> called Common</a:s>
            </a:s>
         </annotation>
      </def>
      <def localId="218" locator="15:1-15:36" localIdentifier="Concepts" path="http://smart.who.int/immunizations/IMMZConcepts">
         <annotation xsi:type="a:Annotation">
            <a:s r="218">
               <a:s>include </a:s>
               <a:s>
                  <a:s>IMMZConcepts</a:s>
               </a:s>
               <a:s> called Concepts</a:s>
            </a:s>
         </annotation>
      </def>
      <def localId="220" locator="16:1-16:46" localIdentifier="Encounter" path="http://smart.who.int/immunizations/IMMZEncounterElements">
         <annotation xsi:type="a:Annotation">
            <a:s r="220">
               <a:s>include </a:s>
               <a:s>
                  <a:s>IMMZEncounterElements</a:s>
               </a:s>
               <a:s> called Encounter</a:s>
            </a:s>
         </annotation>
      </def>
      <def localId="222" locator="18:1-18:60" localIdentifier="HepatitisBElements" path="http://smart.who.int/immunizations/IMMZD2DTHepatitisBElements">
         <annotation xsi:type="a:Annotation">
            <a:s r="222">
               <a:s>include </a:s>
               <a:s>
                  <a:s>IMMZD2DTHepatitisBElements</a:s>
               </a:s>
               <a:s> called HepatitisBElements</a:s>
            </a:s>
         </annotation>
      </def>
   </includes>
   <parameters>
      <def localId="224" locator="20:1-20:36" name="Today" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="224">
               <a:s>parameter Today </a:s>
               <a:s r="228">
                  <a:s>Date</a:s>
               </a:s>
               <a:s> default </a:s>
               <a:s r="227">
                  <a:s>Today()</a:s>
               </a:s>
            </a:s>
         </annotation>
         <default localId="227" locator="20:30-20:36" xsi:type="Today"/>
         <parameterTypeSpecifier localId="228" locator="20:17-20:20" name="t:Date" xsi:type="NamedTypeSpecifier"/>
      </def>
      <def localId="230" locator="21:1-21:28" name="EncounterId" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="230">
               <a:s>parameter EncounterId </a:s>
               <a:s r="231">
                  <a:s>String</a:s>
               </a:s>
            </a:s>
         </annotation>
         <parameterTypeSpecifier localId="231" locator="21:23-21:28" name="t:String" xsi:type="NamedTypeSpecifier"/>
      </def>
      <def localId="233" locator="22:1-22:53" name="HepBBirthDoseAgeLimitDays" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="233">
               <a:s>parameter HepBBirthDoseAgeLimitDays </a:s>
               <a:s r="235">
                  <a:s>Integer</a:s>
               </a:s>
               <a:s r="234"> default 1</a:s>
            </a:s>
         </annotation>
         <default localId="234" locator="22:53" valueType="t:Integer" value="1" xsi:type="Literal"/>
         <parameterTypeSpecifier localId="235" locator="22:37-22:43" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
      </def>
      <def localId="237" locator="23:1-23:47" name="HepBLowerLimitWeeks" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="237">
               <a:s>parameter HepBLowerLimitWeeks </a:s>
               <a:s r="239">
                  <a:s>Integer</a:s>
               </a:s>
               <a:s r="238"> default 4</a:s>
            </a:s>
         </annotation>
         <default localId="238" locator="23:47" valueType="t:Integer" value="4" xsi:type="Literal"/>
         <parameterTypeSpecifier localId="239" locator="23:31-23:37" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
      </def>
   </parameters>
   <contexts>
      <def localId="244" locator="25:1-25:15" name="Patient"/>
   </contexts>
   <statements>
      <def localId="242" locator="25:1-25:15" name="Patient" context="Patient">
         <expression localId="243" xsi:type="SingletonFrom">
            <operand localId="241" locator="25:1-25:15" dataType="fhir:Patient" templateId="http://hl7.org/fhir/StructureDefinition/Patient" xsi:type="Retrieve"/>
         </expression>
      </def>
      <def localId="247" locator="30:1-31:82" name="Hepatitis B Doses Administered to Patient" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="internal" value="Hepatitis B containing Doses Administered to Patient"/>
            <a:s r="247">
               <a:s>/*
@internal: Hepatitis B containing Doses Administered to Patient
*/
define &quot;Hepatitis B Doses Administered to Patient&quot;:
  </a:s>
               <a:s r="251">
                  <a:s r="249">
                     <a:s r="248">
                        <a:s>HepatitisBElements</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="249">
                        <a:s>&quot;Hepatitis B Doses Administered to Patient&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>.</a:s>
                  <a:s r="251">
                     <a:s>onOrBefore(</a:s>
                     <a:s r="250">
                        <a:s>Today</a:s>
                     </a:s>
                     <a:s>)</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="251" locator="31:3-31:82" name="onOrBefore" libraryName="Common" xsi:type="FunctionRef">
            <operand localId="249" locator="31:3-31:64" name="Hepatitis B Doses Administered to Patient" libraryName="HepatitisBElements" xsi:type="ExpressionRef"/>
            <operand localId="250" locator="31:77-31:81" name="Today" xsi:type="ParameterRef"/>
         </expression>
      </def>
      <def localId="254" locator="36:1-37:97" name="Hepatitis B Primary Series Doses Administered to Patient" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="internal" value="Hepatitis B containing Doses Administered to Patient that are in the Primary series"/>
            <a:s r="254">
               <a:s>/*
@internal: Hepatitis B containing Doses Administered to Patient that are in the Primary series
*/
define &quot;Hepatitis B Primary Series Doses Administered to Patient&quot;:
  </a:s>
               <a:s r="258">
                  <a:s r="256">
                     <a:s r="255">
                        <a:s>HepatitisBElements</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="256">
                        <a:s>&quot;Hepatitis B Primary Series Doses Administered to Patient&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>.</a:s>
                  <a:s r="258">
                     <a:s>onOrBefore(</a:s>
                     <a:s r="257">
                        <a:s>Today</a:s>
                     </a:s>
                     <a:s>)</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="258" locator="37:3-37:97" name="onOrBefore" libraryName="Common" xsi:type="FunctionRef">
            <operand localId="256" locator="37:3-37:79" name="Hepatitis B Primary Series Doses Administered to Patient" libraryName="HepatitisBElements" xsi:type="ExpressionRef"/>
            <operand localId="257" locator="37:92-37:96" name="Today" xsi:type="ParameterRef"/>
         </expression>
      </def>
      <def localId="261" locator="42:1-43:67" name="Number of Hepatitis B Primary Series Doses Administered" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="internal" value="Number of Hepatitis B Primary Series doses"/>
            <a:s r="261">
               <a:s>/*
@internal: Number of Hepatitis B Primary Series doses
*/
define &quot;Number of Hepatitis B Primary Series Doses Administered&quot;:
  </a:s>
               <a:s r="265">
                  <a:s>Count(</a:s>
                  <a:s r="262">
                     <a:s>&quot;Hepatitis B Primary Series Doses Administered to Patient&quot;</a:s>
                  </a:s>
                  <a:s>)</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="265" locator="43:3-43:67" xsi:type="Count">
            <source localId="262" locator="43:9-43:66" name="Hepatitis B Primary Series Doses Administered to Patient" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="275" locator="287:1-288:89" name="Hepatitis B Dose 0 Doses Administered to Patient" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="internal" value="Hepatitis B Dose 0 Doses Administered to Patient"/>
            <a:s r="275">
               <a:s>/*
@internal: Hepatitis B Dose 0 Doses Administered to Patient
*/
define &quot;Hepatitis B Dose 0 Doses Administered to Patient&quot;:
  </a:s>
               <a:s r="279">
                  <a:s r="277">
                     <a:s r="276">
                        <a:s>HepatitisBElements</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="277">
                        <a:s>&quot;Hepatitis B Dose 0 Doses Administered to Patient&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>.</a:s>
                  <a:s r="279">
                     <a:s>onOrBefore(</a:s>
                     <a:s r="278">
                        <a:s>Today</a:s>
                     </a:s>
                     <a:s>)</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="279" locator="288:3-288:89" name="onOrBefore" libraryName="Common" xsi:type="FunctionRef">
            <operand localId="277" locator="288:3-288:71" name="Hepatitis B Dose 0 Doses Administered to Patient" libraryName="HepatitisBElements" xsi:type="ExpressionRef"/>
            <operand localId="278" locator="288:84-288:88" name="Today" xsi:type="ParameterRef"/>
         </expression>
      </def>
      <def localId="272" locator="293:1-294:59" name="Number of Hepatitis B Dose 0 Doses Administered" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="internal" value="Number of Hepatitis B Dose 0 Doses Administered"/>
            <a:s r="272">
               <a:s>/*
@internal: Number of Hepatitis B Dose 0 Doses Administered
*/
define &quot;Number of Hepatitis B Dose 0 Doses Administered&quot;:
  </a:s>
               <a:s r="283">
                  <a:s>Count(</a:s>
                  <a:s r="280">
                     <a:s>&quot;Hepatitis B Dose 0 Doses Administered to Patient&quot;</a:s>
                  </a:s>
                  <a:s>)</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="283" locator="294:3-294:59" xsi:type="Count">
            <source localId="280" locator="294:9-294:58" name="Hepatitis B Dose 0 Doses Administered to Patient" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="268" locator="51:1-52:55" name="Hepatitis B birth dose was not administered" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="Hepatitis B birth dose was not administered"/>
            <a:t name="pseudocode" value="&quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot; and &quot;Birth dose&quot; = TRUE) = 0"/>
            <a:t name="code" value="Hepatitis B birth dose was not administered-117"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.Birth dose: Birth dose administration"/>
            <a:s r="268">
               <a:s>/*
@input: Hepatitis B birth dose was not administered
@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot; and &quot;Birth dose&quot; = TRUE) = 0
@code: Hepatitis B birth dose was not administered-117
@decision: IMMZ.D2.DT.Hepatitis B.Birth dose: Birth dose administration
*/
define &quot;Hepatitis B birth dose was not administered&quot;:
  </a:s>
               <a:s r="269">
                  <a:s r="284">
                     <a:s>&quot;Number of Hepatitis B Dose 0 Doses Administered&quot;</a:s>
                  </a:s>
                  <a:s r="285"> = 0</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="269" locator="52:3-52:55" xsi:type="Equal">
            <signature localId="286" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <signature localId="287" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <operand localId="284" locator="52:3-52:51" name="Number of Hepatitis B Dose 0 Doses Administered" xsi:type="ExpressionRef"/>
            <operand localId="285" locator="52:55" valueType="t:Integer" value="0" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="290" locator="60:1-61:69" name="Client's age is less than {Member States defined upper limit}" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="Client's age is less than {Member States defined upper limit}"/>
            <a:t name="pseudocode" value="&quot;Date of birth&quot; &lt; Member States defined upper limit"/>
            <a:t name="code" value="Client's age is less than {Member States defined upper limit}-66"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.Birth dose: Birth dose administration"/>
            <a:s r="290">
               <a:s>/*
@input: Client's age is less than {Member States defined upper limit}
@pseudocode: Today's date − &quot;Date of birth&quot; &lt; Member States defined upper limit
@code: Client's age is less than {Member States defined upper limit}-66
@decision: IMMZ.D2.DT.Hepatitis B.Birth dose: Birth dose administration
*/
define &quot;Client's age is less than {Member States defined upper limit}&quot;:
  </a:s>
               <a:s r="291">
                  <a:s r="293">
                     <a:s r="292">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="293">
                        <a:s>&quot;Current Patient Age In Days&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s> &lt; </a:s>
                  <a:s r="294">
                     <a:s>HepBBirthDoseAgeLimitDays</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="291" locator="61:3-61:69" xsi:type="Less">
            <signature localId="295" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <signature localId="296" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <operand localId="293" locator="61:3-61:41" name="Current Patient Age In Days" libraryName="Encounter" xsi:type="ExpressionRef"/>
            <operand localId="294" locator="61:45-61:69" name="HepBBirthDoseAgeLimitDays" xsi:type="ParameterRef"/>
         </expression>
      </def>
      <def localId="299" locator="69:1-70:70" name="Client's age is more than {Member States defined upper limit}" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="Client's age is more than {Member States defined upper limit}"/>
            <a:t name="pseudocode" value="&quot;Date of birth&quot; > Member States defined upper limit"/>
            <a:t name="code" value="Client's age is more than {Member States defined upper limit}-66"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.Birth dose: Birth dose administration"/>
            <a:s r="299">
               <a:s>/*
@input: Client's age is more than {Member States defined upper limit}
@pseudocode: Today's date - &quot;Date of birth&quot; > Member States defined upper limit
@code: Client's age is more than {Member States defined upper limit}-66
@decision: IMMZ.D2.DT.Hepatitis B.Birth dose: Birth dose administration
*/
define &quot;Client's age is more than {Member States defined upper limit}&quot;:
  </a:s>
               <a:s r="300">
                  <a:s r="302">
                     <a:s r="301">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="302">
                        <a:s>&quot;Current Patient Age In Days&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s> >= </a:s>
                  <a:s r="303">
                     <a:s>HepBBirthDoseAgeLimitDays</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="300" locator="70:3-70:70" xsi:type="GreaterOrEqual">
            <signature localId="304" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <signature localId="305" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <operand localId="302" locator="70:3-70:41" name="Current Patient Age In Days" libraryName="Encounter" xsi:type="ExpressionRef"/>
            <operand localId="303" locator="70:46-70:70" name="HepBBirthDoseAgeLimitDays" xsi:type="ParameterRef"/>
         </expression>
      </def>
      <def localId="308" locator="78:1-79:55" name="Hepatitis B birth dose was administered" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="Hepatitis B birth dose was administered"/>
            <a:t name="pseudocode" value="&quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot; and &quot;Birth dose&quot; = TRUE) = 1"/>
            <a:t name="code" value="Hepatitis B birth dose was administered-117"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.Birth dose: Birth dose administration"/>
            <a:s r="308">
               <a:s>/*
@input: Hepatitis B birth dose was administered
@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot; and &quot;Birth dose&quot; = TRUE) = 1
@code: Hepatitis B birth dose was administered-117
@decision: IMMZ.D2.DT.Hepatitis B.Birth dose: Birth dose administration
*/
define &quot;Hepatitis B birth dose was administered&quot;:
  </a:s>
               <a:s r="309">
                  <a:s r="310">
                     <a:s>&quot;Number of Hepatitis B Dose 0 Doses Administered&quot;</a:s>
                  </a:s>
                  <a:s r="311"> = 1</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="309" locator="79:3-79:55" xsi:type="Equal">
            <signature localId="312" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <signature localId="313" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <operand localId="310" locator="79:3-79:51" name="Number of Hepatitis B Dose 0 Doses Administered" xsi:type="ExpressionRef"/>
            <operand localId="311" locator="79:55" valueType="t:Integer" value="1" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="316" locator="88:1-89:63" name="No hepatitis B primary series doses were administered" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="No hepatitis B primary series doses were administered"/>
            <a:t name="pseudocode" value="&quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot;and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 0"/>
            <a:t name="code" value="No hepatitis B primary series doses were administered-130"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.4 doses: 4-dose schedule (birth dose + 3 primary series doses), on-time start"/>
            <a:s r="316">
               <a:s>/*
@input: No hepatitis B primary series doses were administered
@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot;and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 0
@code: No hepatitis B primary series doses were administered-130
@decision: IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start
@decision: IMMZ.D2.DT.Hepatitis B.4 doses: 4-dose schedule (birth dose + 3 primary series doses), on-time start
*/
define &quot;No hepatitis B primary series doses were administered&quot;:
  </a:s>
               <a:s r="317">
                  <a:s r="318">
                     <a:s>&quot;Number of Hepatitis B Primary Series Doses Administered&quot;</a:s>
                  </a:s>
                  <a:s r="319"> = 0</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="317" locator="89:3-89:63" xsi:type="Equal">
            <signature localId="320" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <signature localId="321" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <operand localId="318" locator="89:3-89:59" name="Number of Hepatitis B Primary Series Doses Administered" xsi:type="ExpressionRef"/>
            <operand localId="319" locator="89:63" valueType="t:Integer" value="0" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="324" locator="98:1-99:64" name="Client's age is less than {Member States defined lower limit}" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="Client's age is less than {Member States defined lower limit}"/>
            <a:t name="pseudocode" value="&quot;Date of birth&quot; &lt; Member States defined lower limit"/>
            <a:t name="code" value="Client's age is less than {Member States defined lower limit}-66"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.4 doses: 4-dose schedule (birth dose + 3 primary series doses), on-time start"/>
            <a:s r="324">
               <a:s>/*
@input: Client's age is less than {Member States defined lower limit}
@pseudocode: Today's date − &quot;Date of birth&quot; &lt; Member States defined lower limit
@code: Client's age is less than {Member States defined lower limit}-66
@decision: IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start
@decision: IMMZ.D2.DT.Hepatitis B.4 doses: 4-dose schedule (birth dose + 3 primary series doses), on-time start
*/
define &quot;Client's age is less than {Member States defined lower limit}&quot;:
  </a:s>
               <a:s r="325">
                  <a:s r="327">
                     <a:s r="326">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="327">
                        <a:s>&quot;Current Patient Age In Weeks&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s> &lt; </a:s>
                  <a:s r="328">
                     <a:s>HepBLowerLimitWeeks</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="325" locator="99:3-99:64" xsi:type="Less">
            <signature localId="329" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <signature localId="330" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <operand localId="327" locator="99:3-99:42" name="Current Patient Age In Weeks" libraryName="Encounter" xsi:type="ExpressionRef"/>
            <operand localId="328" locator="99:46-99:64" name="HepBLowerLimitWeeks" xsi:type="ParameterRef"/>
         </expression>
      </def>
      <def localId="333" locator="108:1-109:65" name="Client's age is more than or equal to {Member States defined lower limit}" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="Client's age is more than or equal to {Member States defined lower limit}"/>
            <a:t name="pseudocode" value="&quot;Date of birth&quot; ≥ Member States defined lower limit"/>
            <a:t name="code" value="Client's age is more than or equal to {Member States defined lower limit}-66"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.4 doses: 4-dose schedule (birth dose + 3 primary series doses), on-time start"/>
            <a:s r="333">
               <a:s>/*
@input: Client's age is more than or equal to {Member States defined lower limit}
@pseudocode: Today's date − &quot;Date of birth&quot; ≥ Member States defined lower limit
@code: Client's age is more than or equal to {Member States defined lower limit}-66
@decision: IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start
@decision: IMMZ.D2.DT.Hepatitis B.4 doses: 4-dose schedule (birth dose + 3 primary series doses), on-time start
*/
define &quot;Client's age is more than or equal to {Member States defined lower limit}&quot;:
  </a:s>
               <a:s r="334">
                  <a:s r="336">
                     <a:s r="335">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="336">
                        <a:s>&quot;Current Patient Age In Weeks&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s> >= </a:s>
                  <a:s r="337">
                     <a:s>HepBLowerLimitWeeks</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="334" locator="109:3-109:65" xsi:type="GreaterOrEqual">
            <signature localId="338" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <signature localId="339" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <operand localId="336" locator="109:3-109:42" name="Current Patient Age In Weeks" libraryName="Encounter" xsi:type="ExpressionRef"/>
            <operand localId="337" locator="109:47-109:65" name="HepBLowerLimitWeeks" xsi:type="ParameterRef"/>
         </expression>
      </def>
      <def localId="342" locator="117:1-118:63" name="One hepatitis B primary series dose was administered" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="One hepatitis B primary series dose was administered"/>
            <a:t name="pseudocode" value="&quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1"/>
            <a:t name="code" value="One hepatitis B primary series dose was administered-131"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start"/>
            <a:s r="342">
               <a:s>/*
@input: One hepatitis B primary series dose was administered
@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1
@code: One hepatitis B primary series dose was administered-131
@decision: IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start
*/
define &quot;One hepatitis B primary series dose was administered&quot;:
  </a:s>
               <a:s r="343">
                  <a:s r="344">
                     <a:s>&quot;Number of Hepatitis B Primary Series Doses Administered&quot;</a:s>
                  </a:s>
                  <a:s r="345"> = 1</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="343" locator="118:3-118:63" xsi:type="Equal">
            <signature localId="346" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <signature localId="347" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <operand localId="344" locator="118:3-118:59" name="Number of Hepatitis B Primary Series Doses Administered" xsi:type="ExpressionRef"/>
            <operand localId="345" locator="118:63" valueType="t:Integer" value="1" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="354" locator="275:1-276:101" name="Date of Latest Hepatitis B Dose" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="internal" value="Date of Latest Hepatitis B Dose"/>
            <a:s r="354">
               <a:s>/*
@internal: Date of Latest Hepatitis B Dose
*/
define &quot;Date of Latest Hepatitis B Dose&quot;:
  </a:s>
               <a:s r="355">
                  <a:s>date from </a:s>
                  <a:s r="356">
                     <a:s>start of </a:s>
                     <a:s r="362">
                        <a:s r="361">
                           <a:s r="358">
                              <a:s r="357">
                                 <a:s>&quot;Hepatitis B Doses Administered to Patient&quot;</a:s>
                              </a:s>
                              <a:s>.</a:s>
                              <a:s r="358">
                                 <a:s>mostRecent()</a:s>
                              </a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="361">
                              <a:s>occurrence</a:s>
                           </a:s>
                        </a:s>
                        <a:s>.</a:s>
                        <a:s r="362">
                           <a:s>toInterval()</a:s>
                        </a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="355" locator="276:3-276:101" xsi:type="DateFrom">
            <operand localId="356" locator="276:13-276:101" xsi:type="Start">
               <operand localId="362" locator="276:22-276:101" name="toInterval" libraryName="WC" xsi:type="FunctionRef">
                  <operand localId="361" locator="276:22-276:88" path="occurrence" xsi:type="Property">
                     <source localId="358" locator="276:22-276:77" name="mostRecent" libraryName="WC" xsi:type="FunctionRef">
                        <signature localId="359" xsi:type="ListTypeSpecifier">
                           <elementType localId="360" name="fhir:Immunization" xsi:type="NamedTypeSpecifier"/>
                        </signature>
                        <operand localId="357" locator="276:22-276:64" name="Hepatitis B Doses Administered to Patient" xsi:type="ExpressionRef"/>
                     </source>
                  </operand>
               </operand>
            </operand>
         </expression>
      </def>
      <def localId="350" locator="128:1-130:81" name="The latest hepatitis B dose was administered less than 4 weeks ago" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="The latest hepatitis B dose was administered less than 4 weeks ago"/>
            <a:t name="pseudocode" value="&quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot;) &lt; 4 weeks"/>
            <a:t name="code" value="The latest hepatitis B dose was administered less than 4 weeks ago-121"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.4 doses: 4-dose schedule (birth dose + 3 primary series doses), on-time start"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.Delayed start: 3-dose schedule (no birth dose + 3 doses), delayed start"/>
            <a:s r="350">
               <a:s>/*
@input: The latest hepatitis B dose was administered less than 4 weeks ago
@pseudocode: Today's date − latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot;) &lt; 4 weeks
@code: The latest hepatitis B dose was administered less than 4 weeks ago-121
@decision: IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start
@decision: IMMZ.D2.DT.Hepatitis B.4 doses: 4-dose schedule (birth dose + 3 primary series doses), on-time start
@decision: IMMZ.D2.DT.Hepatitis B.Delayed start: 3-dose schedule (no birth dose + 3 doses), delayed start
*/
define &quot;The latest hepatitis B dose was administered less than 4 weeks ago&quot;:
  </a:s>
               <a:s r="351">
                  <a:s r="365">
                     <a:s r="363">
                        <a:s>&quot;Date of Latest Hepatitis B Dose&quot;</a:s>
                     </a:s>
                     <a:s> is not null</a:s>
                  </a:s>
                  <a:s>
    and </a:s>
                  <a:s r="366">
                     <a:s r="367">
                        <a:s>duration in weeks between </a:s>
                        <a:s r="368">
                           <a:s>&quot;Date of Latest Hepatitis B Dose&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="369">
                           <a:s>Today</a:s>
                        </a:s>
                     </a:s>
                     <a:s r="372"> &lt; 4</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="351" locator="129:3-130:81" xsi:type="And">
            <operand localId="365" locator="129:3-129:47" xsi:type="Not">
               <operand localId="364" locator="129:3-129:47" xsi:type="IsNull">
                  <operand localId="363" locator="129:3-129:35" name="Date of Latest Hepatitis B Dose" xsi:type="ExpressionRef"/>
               </operand>
            </operand>
            <operand localId="366" locator="130:9-130:81" xsi:type="Less">
               <signature localId="373" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
               <signature localId="374" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
               <operand localId="367" locator="130:9-130:77" precision="Week" xsi:type="DurationBetween">
                  <signature localId="370" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="371" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="368" locator="130:35-130:67" name="Date of Latest Hepatitis B Dose" xsi:type="ExpressionRef"/>
                  <operand localId="369" locator="130:73-130:77" name="Today" xsi:type="ParameterRef"/>
               </operand>
               <operand localId="372" locator="130:81" valueType="t:Integer" value="4" xsi:type="Literal"/>
            </operand>
         </expression>
      </def>
      <def localId="377" locator="140:1-141:75" name="The latest hepatitis B dose was administered more than 4 weeks ago" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="The latest hepatitis B dose was administered more than 4 weeks ago"/>
            <a:t name="pseudocode" value="&quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot;) ≥ 4 weeks"/>
            <a:t name="code" value="The latest hepatitis B dose was administered more than 4 weeks ago-121"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.4 doses: 4-dose schedule (birth dose + 3 primary series doses), on-time start"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.Delayed start: 3-dose schedule (no birth dose + 3 doses), delayed start"/>
            <a:s r="377">
               <a:s>/*
@input: The latest hepatitis B dose was administered more than 4 weeks ago
@pseudocode: Today's date − latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot;) ≥ 4 weeks
@code: The latest hepatitis B dose was administered more than 4 weeks ago-121
@decision: IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start
@decision: IMMZ.D2.DT.Hepatitis B.4 doses: 4-dose schedule (birth dose + 3 primary series doses), on-time start
@decision: IMMZ.D2.DT.Hepatitis B.Delayed start: 3-dose schedule (no birth dose + 3 doses), delayed start
*/
define &quot;The latest hepatitis B dose was administered more than 4 weeks ago&quot;:
  </a:s>
               <a:s r="378">
                  <a:s>not</a:s>
                  <a:s r="379">
                     <a:s>(</a:s>
                     <a:s r="379">
                        <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>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="378" locator="141:3-141:75" xsi:type="Not">
            <operand localId="379" locator="141:6-141:75" name="The latest hepatitis B dose was administered less than 4 weeks ago" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="382" locator="150:1-151:63" name="Two hepatitis B primary series doses were administered" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="Two hepatitis B primary series doses were administered"/>
            <a:t name="pseudocode" value="&quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 2"/>
            <a:t name="code" value="Two hepatitis B primary series doses were administered-131"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.4 doses: 4-dose schedule (birth dose + 3 primary series doses), on-time start"/>
            <a:s r="382">
               <a:s>/*
@input: Two hepatitis B primary series doses were administered
@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 2
@code: Two hepatitis B primary series doses were administered-131
@decision: IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start
@decision: IMMZ.D2.DT.Hepatitis B.4 doses: 4-dose schedule (birth dose + 3 primary series doses), on-time start
*/
define &quot;Two hepatitis B primary series doses were administered&quot;:
  </a:s>
               <a:s r="383">
                  <a:s r="384">
                     <a:s>&quot;Number of Hepatitis B Primary Series Doses Administered&quot;</a:s>
                  </a:s>
                  <a:s r="385"> = 2</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="383" locator="151:3-151:63" xsi:type="Equal">
            <signature localId="386" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <signature localId="387" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <operand localId="384" locator="151:3-151:59" name="Number of Hepatitis B Primary Series Doses Administered" xsi:type="ExpressionRef"/>
            <operand localId="385" locator="151:63" valueType="t:Integer" value="2" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="390" locator="159:1-160:54" name="Client's weight at birth was over 2000 g" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="Client's weight at birth was over 2000 g"/>
            <a:t name="pseudocode" value="&quot;Birth weight in grams&quot; ≥ 2000"/>
            <a:t name="code" value="Client's weight at birth was over 2000 g-30"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start"/>
            <a:s r="390">
               <a:s>/*
@input: Client's weight at birth was over 2000 g
@pseudocode: &quot;Birth weight in grams&quot; ≥ 2000
@code: Client's weight at birth was over 2000 g-30
@decision: IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start
*/
define &quot;Client's weight at birth was over 2000 g&quot;:
  </a:s>
               <a:s r="392">
                  <a:s r="391">
                     <a:s>Encounter</a:s>
                  </a:s>
                  <a:s>.</a:s>
                  <a:s r="392">
                     <a:s>&quot;Client's weight at birth was over 2000 g&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="392" locator="160:3-160:54" name="Client's weight at birth was over 2000 g" libraryName="Encounter" xsi:type="ExpressionRef"/>
      </def>
      <def localId="395" locator="168:1-169:56" name="Client was not a premature infant at birth" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="Client was not a premature infant at birth"/>
            <a:t name="pseudocode" value="&quot;Preterm birth&quot; ≠ TRUE"/>
            <a:t name="code" value="Client was not a premature infant at birth-22"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start"/>
            <a:s r="395">
               <a:s>/*
@input: Client was not a premature infant at birth
@pseudocode: &quot;Preterm birth&quot; ≠ TRUE
@code: Client was not a premature infant at birth-22
@decision: IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start
*/
define &quot;Client was not a premature infant at birth&quot;:
  </a:s>
               <a:s r="397">
                  <a:s r="396">
                     <a:s>Encounter</a:s>
                  </a:s>
                  <a:s>.</a:s>
                  <a:s r="397">
                     <a:s>&quot;Client was not a premature infant at birth&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="397" locator="169:3-169:56" name="Client was not a premature infant at birth" libraryName="Encounter" xsi:type="ExpressionRef"/>
      </def>
      <def localId="400" locator="177:1-178:55" name="Client's weight at birth was below 2000 g" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="Client's weight at birth was below 2000 g"/>
            <a:t name="pseudocode" value="&quot;Birth weight in grams&quot; &lt; 2000"/>
            <a:t name="code" value="Client's weight at birth was below 2000 g-30"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start"/>
            <a:s r="400">
               <a:s>/*
@input: Client's weight at birth was below 2000 g
@pseudocode: &quot;Birth weight in grams&quot; &lt; 2000
@code: Client's weight at birth was below 2000 g-30
@decision: IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start
*/
define &quot;Client's weight at birth was below 2000 g&quot;:
  </a:s>
               <a:s r="402">
                  <a:s r="401">
                     <a:s>Encounter</a:s>
                  </a:s>
                  <a:s>.</a:s>
                  <a:s r="402">
                     <a:s>&quot;Client's weight at birth was below 2000 g&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="402" locator="178:3-178:55" name="Client's weight at birth was below 2000 g" libraryName="Encounter" xsi:type="ExpressionRef"/>
      </def>
      <def localId="405" locator="186:1-187:52" name="Client was a premature infant at birth" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="Client was a premature infant at birth"/>
            <a:t name="pseudocode" value="&quot;Preterm birth&quot; = TRUE"/>
            <a:t name="code" value="Client was a premature infant at birth-22"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start"/>
            <a:s r="405">
               <a:s>/*
@input: Client was a premature infant at birth
@pseudocode: &quot;Preterm birth&quot; = TRUE
@code: Client was a premature infant at birth-22
@decision: IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start
*/
define &quot;Client was a premature infant at birth&quot;:
  </a:s>
               <a:s r="407">
                  <a:s r="406">
                     <a:s>Encounter</a:s>
                  </a:s>
                  <a:s>.</a:s>
                  <a:s r="407">
                     <a:s>&quot;Client was a premature infant at birth&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="407" locator="187:3-187:52" name="Client was a premature infant at birth" libraryName="Encounter" xsi:type="ExpressionRef"/>
      </def>
      <def localId="410" locator="196:1-197:63" name="Three hepatitis B primary series doses were administered" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="Three hepatitis B primary series doses were administered"/>
            <a:t name="pseudocode" value="&quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 3"/>
            <a:t name="code" value="Three hepatitis B primary series doses were administered-131"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.4 doses: 4-dose schedule (birth dose + 3 primary series doses), on-time start"/>
            <a:s r="410">
               <a:s>/*
@input: Three hepatitis B primary series doses were administered
@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 3
@code: Three hepatitis B primary series doses were administered-131
@decision: IMMZ.D2.DT.Hepatitis B.3 doses: 3-dose schedule (birth dose + 2 primary series doses), on-time start
@decision: IMMZ.D2.DT.Hepatitis B.4 doses: 4-dose schedule (birth dose + 3 primary series doses), on-time start
*/
define &quot;Three hepatitis B primary series doses were administered&quot;:
  </a:s>
               <a:s r="411">
                  <a:s r="412">
                     <a:s>&quot;Number of Hepatitis B Primary Series Doses Administered&quot;</a:s>
                  </a:s>
                  <a:s r="413"> = 3</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="411" locator="197:3-197:63" xsi:type="Equal">
            <signature localId="414" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <signature localId="415" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <operand localId="412" locator="197:3-197:59" name="Number of Hepatitis B Primary Series Doses Administered" xsi:type="ExpressionRef"/>
            <operand localId="413" locator="197:63" valueType="t:Integer" value="3" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="418" locator="205:1-206:56" name="One hepatitis B primary series doses were administered" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="One hepatitis B primary series doses were administered"/>
            <a:t name="pseudocode" value="&quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1"/>
            <a:t name="code" value="One hepatitis B primary series doses were administered-131"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.4 doses: 4-dose schedule (birth dose + 3 primary series doses), on-time start"/>
            <a:s r="418">
               <a:s>/*
@input: One hepatitis B primary series doses were administered
@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1
@code: One hepatitis B primary series doses were administered-131
@decision: IMMZ.D2.DT.Hepatitis B.4 doses: 4-dose schedule (birth dose + 3 primary series doses), on-time start
*/
define &quot;One hepatitis B primary series doses were administered&quot;:
  </a:s>
               <a:s r="419">
                  <a:s>&quot;One hepatitis B primary series dose was administered&quot;</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="419" locator="206:3-206:56" name="One hepatitis B primary series dose was administered" xsi:type="ExpressionRef"/>
      </def>
      <def localId="426" locator="299:1-300:52" name="Number of Hepatitis B Doses Administered" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="internal" value="Number of Hepatitis B Doses Administered"/>
            <a:s r="426">
               <a:s>/*
@internal: Number of Hepatitis B Doses Administered
*/
define &quot;Number of Hepatitis B Doses Administered&quot;:
  </a:s>
               <a:s r="430">
                  <a:s>Count(</a:s>
                  <a:s r="427">
                     <a:s>&quot;Hepatitis B Doses Administered to Patient&quot;</a:s>
                  </a:s>
                  <a:s>)</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="430" locator="300:3-300:52" xsi:type="Count">
            <source localId="427" locator="300:9-300:51" name="Hepatitis B Doses Administered to Patient" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="422" locator="214:1-215:48" name="No hepatitis B doses were administered" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="No hepatitis B doses were administered"/>
            <a:t name="pseudocode" value="&quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot;) = 0"/>
            <a:t name="code" value="No hepatitis B doses were administered-93"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.Delayed start: 3-dose schedule (no birth dose + 3 doses), delayed start"/>
            <a:s r="422">
               <a:s>/*
@input: No hepatitis B doses were administered
@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot;) = 0
@code: No hepatitis B doses were administered-93
@decision: IMMZ.D2.DT.Hepatitis B.Delayed start: 3-dose schedule (no birth dose + 3 doses), delayed start
*/
define &quot;No hepatitis B doses were administered&quot;:
  </a:s>
               <a:s r="423">
                  <a:s r="431">
                     <a:s>&quot;Number of Hepatitis B Doses Administered&quot;</a:s>
                  </a:s>
                  <a:s r="432"> = 0</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="423" locator="215:3-215:48" xsi:type="Equal">
            <signature localId="433" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <signature localId="434" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <operand localId="431" locator="215:3-215:44" name="Number of Hepatitis B Doses Administered" xsi:type="ExpressionRef"/>
            <operand localId="432" locator="215:48" valueType="t:Integer" value="0" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="437" locator="223:1-224:70" name="Client's age is more than {Member States defined lower limit}" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="Client's age is more than {Member States defined lower limit}"/>
            <a:t name="pseudocode" value="&quot;Date of birth&quot; > Member States defined lower limit"/>
            <a:t name="code" value="Client's age is more than {Member States defined lower limit}-66"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.Delayed start: 3-dose schedule (no birth dose + 3 doses), delayed start"/>
            <a:s r="437">
               <a:s>/*
@input: Client's age is more than {Member States defined lower limit}
@pseudocode: Today's date − &quot;Date of birth&quot; > Member States defined lower limit
@code: Client's age is more than {Member States defined lower limit}-66
@decision: IMMZ.D2.DT.Hepatitis B.Delayed start: 3-dose schedule (no birth dose + 3 doses), delayed start
*/
define &quot;Client's age is more than {Member States defined lower limit}&quot;:
  </a:s>
               <a:s r="438">
                  <a:s r="440">
                     <a:s r="439">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="440">
                        <a:s>&quot;Current Patient Age In Days&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s> >= </a:s>
                  <a:s r="441">
                     <a:s>HepBBirthDoseAgeLimitDays</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="438" locator="224:3-224:70" xsi:type="GreaterOrEqual">
            <signature localId="442" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <signature localId="443" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <operand localId="440" locator="224:3-224:41" name="Current Patient Age In Days" libraryName="Encounter" xsi:type="ExpressionRef"/>
            <operand localId="441" locator="224:46-224:70" name="HepBBirthDoseAgeLimitDays" xsi:type="ParameterRef"/>
         </expression>
      </def>
      <def localId="446" locator="232:1-233:48" name="One hepatitis B dose was administered" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="One hepatitis B dose was administered"/>
            <a:t name="pseudocode" value="&quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot;) = 1"/>
            <a:t name="code" value="One hepatitis B dose was administered-93"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.Delayed start: 3-dose schedule (no birth dose + 3 doses), delayed start"/>
            <a:s r="446">
               <a:s>/*
@input: One hepatitis B dose was administered
@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot;) = 1
@code: One hepatitis B dose was administered-93
@decision: IMMZ.D2.DT.Hepatitis B.Delayed start: 3-dose schedule (no birth dose + 3 doses), delayed start
*/
define &quot;One hepatitis B dose was administered&quot;:
  </a:s>
               <a:s r="447">
                  <a:s r="448">
                     <a:s>&quot;Number of Hepatitis B Doses Administered&quot;</a:s>
                  </a:s>
                  <a:s r="449"> = 1</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="447" locator="233:3-233:48" xsi:type="Equal">
            <signature localId="450" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <signature localId="451" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <operand localId="448" locator="233:3-233:44" name="Number of Hepatitis B Doses Administered" xsi:type="ExpressionRef"/>
            <operand localId="449" locator="233:48" valueType="t:Integer" value="1" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="454" locator="241:1-242:48" name="Two hepatitis B doses were administered" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="Two hepatitis B doses were administered"/>
            <a:t name="pseudocode" value="&quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot;) = 2"/>
            <a:t name="code" value="Two hepatitis B doses were administered-93"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.Delayed start: 3-dose schedule (no birth dose + 3 doses), delayed start"/>
            <a:s r="454">
               <a:s>/*
@input: Two hepatitis B doses were administered
@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot;) = 2
@code: Two hepatitis B doses were administered-93
@decision: IMMZ.D2.DT.Hepatitis B.Delayed start: 3-dose schedule (no birth dose + 3 doses), delayed start
*/
define &quot;Two hepatitis B doses were administered&quot;:
  </a:s>
               <a:s r="455">
                  <a:s r="456">
                     <a:s>&quot;Number of Hepatitis B Doses Administered&quot;</a:s>
                  </a:s>
                  <a:s r="457"> = 2</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="455" locator="242:3-242:48" xsi:type="Equal">
            <signature localId="458" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <signature localId="459" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <operand localId="456" locator="242:3-242:44" name="Number of Hepatitis B Doses Administered" xsi:type="ExpressionRef"/>
            <operand localId="457" locator="242:48" valueType="t:Integer" value="2" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="466" locator="281:1-282:99" name="Date of First Hepatitis B Dose" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="internal" value="Date of First Hepatitis B Dose"/>
            <a:s r="466">
               <a:s>/*
@internal: Date of First Hepatitis B Dose
*/
define &quot;Date of First Hepatitis B Dose&quot;:
  </a:s>
               <a:s r="467">
                  <a:s>date from </a:s>
                  <a:s r="468">
                     <a:s>start of </a:s>
                     <a:s r="474">
                        <a:s r="473">
                           <a:s r="470">
                              <a:s r="469">
                                 <a:s>&quot;Hepatitis B Doses Administered to Patient&quot;</a:s>
                              </a:s>
                              <a:s>.</a:s>
                              <a:s r="470">
                                 <a:s>earliest()</a:s>
                              </a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="473">
                              <a:s>occurrence</a:s>
                           </a:s>
                        </a:s>
                        <a:s>.</a:s>
                        <a:s r="474">
                           <a:s>toInterval()</a:s>
                        </a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="467" locator="282:3-282:99" xsi:type="DateFrom">
            <operand localId="468" locator="282:13-282:99" xsi:type="Start">
               <operand localId="474" locator="282:22-282:99" name="toInterval" libraryName="WC" xsi:type="FunctionRef">
                  <operand localId="473" locator="282:22-282:86" path="occurrence" xsi:type="Property">
                     <source localId="470" locator="282:22-282:75" name="earliest" libraryName="WC" xsi:type="FunctionRef">
                        <signature localId="471" xsi:type="ListTypeSpecifier">
                           <elementType localId="472" name="fhir:Immunization" xsi:type="NamedTypeSpecifier"/>
                        </signature>
                        <operand localId="469" locator="282:22-282:64" name="Hepatitis B Doses Administered to Patient" xsi:type="ExpressionRef"/>
                     </source>
                  </operand>
               </operand>
            </operand>
         </expression>
      </def>
      <def localId="462" locator="250:1-252:81" name="The first hepatitis B dose was administered less than 6 months ago" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="The first hepatitis B dose was administered less than 6 months ago"/>
            <a:t name="pseudocode" value="&quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot; and &quot;Dose number&quot; = 1) &lt; 6 months"/>
            <a:t name="code" value="The first hepatitis B dose was administered less than 6 months ago-137"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.Delayed start: 3-dose schedule (no birth dose + 3 doses), delayed start"/>
            <a:s r="462">
               <a:s>/*
@input: The first hepatitis B dose was administered less than 6 months ago
@pseudocode: Today's date − &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot; and &quot;Dose number&quot; = 1) &lt; 6 months
@code: The first hepatitis B dose was administered less than 6 months ago-137
@decision: IMMZ.D2.DT.Hepatitis B.Delayed start: 3-dose schedule (no birth dose + 3 doses), delayed start
*/
define &quot;The first hepatitis B dose was administered less than 6 months ago&quot;:
  </a:s>
               <a:s r="463">
                  <a:s r="477">
                     <a:s r="475">
                        <a:s>&quot;Date of First Hepatitis B Dose&quot;</a:s>
                     </a:s>
                     <a:s> is not null</a:s>
                  </a:s>
                  <a:s>
    and </a:s>
                  <a:s r="478">
                     <a:s r="479">
                        <a:s>duration in months between </a:s>
                        <a:s r="480">
                           <a:s>&quot;Date of First Hepatitis B Dose&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="481">
                           <a:s>Today</a:s>
                        </a:s>
                     </a:s>
                     <a:s r="484"> &lt; 6</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="463" locator="251:3-252:81" xsi:type="And">
            <operand localId="477" locator="251:3-251:46" xsi:type="Not">
               <operand localId="476" locator="251:3-251:46" xsi:type="IsNull">
                  <operand localId="475" locator="251:3-251:34" name="Date of First Hepatitis B Dose" xsi:type="ExpressionRef"/>
               </operand>
            </operand>
            <operand localId="478" locator="252:9-252:81" xsi:type="Less">
               <signature localId="485" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
               <signature localId="486" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
               <operand localId="479" locator="252:9-252:77" precision="Month" xsi:type="DurationBetween">
                  <signature localId="482" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="483" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="480" locator="252:36-252:67" name="Date of First Hepatitis B Dose" xsi:type="ExpressionRef"/>
                  <operand localId="481" locator="252:73-252:77" name="Today" xsi:type="ParameterRef"/>
               </operand>
               <operand localId="484" locator="252:81" valueType="t:Integer" value="6" xsi:type="Literal"/>
            </operand>
         </expression>
      </def>
      <def localId="489" locator="260:1-261:75" name="The first hepatitis B dose was administered more than 6 months ago" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="The first hepatitis B dose was administered more than 6 months ago"/>
            <a:t name="pseudocode" value="&quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot; and &quot;Dose number&quot; = 1) ≥ 6 months"/>
            <a:t name="code" value="The first hepatitis B dose was administered more than 6 months ago-137"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.Delayed start: 3-dose schedule (no birth dose + 3 doses), delayed start"/>
            <a:s r="489">
               <a:s>/*
@input: The first hepatitis B dose was administered more than 6 months ago
@pseudocode: Today's date − &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot; and &quot;Dose number&quot; = 1) ≥ 6 months
@code: The first hepatitis B dose was administered more than 6 months ago-137
@decision: IMMZ.D2.DT.Hepatitis B.Delayed start: 3-dose schedule (no birth dose + 3 doses), delayed start
*/
define &quot;The first hepatitis B dose was administered more than 6 months ago&quot;:
  </a:s>
               <a:s r="490">
                  <a:s>not</a:s>
                  <a:s r="491">
                     <a:s>(</a:s>
                     <a:s r="491">
                        <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>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="490" locator="261:3-261:75" xsi:type="Not">
            <operand localId="491" locator="261:6-261:75" name="The first hepatitis B dose was administered less than 6 months ago" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="494" locator="269:1-270:48" name="Three hepatitis B doses were administered" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="input" value="Three hepatitis B doses were administered"/>
            <a:t name="pseudocode" value="&quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot;) = 3"/>
            <a:t name="code" value="Three hepatitis B doses were administered-93"/>
            <a:t name="decision" value="IMMZ.D2.DT.Hepatitis B.Delayed start: 3-dose schedule (no birth dose + 3 doses), delayed start"/>
            <a:s r="494">
               <a:s>/*
@input: Three hepatitis B doses were administered
@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Hepatitis B-containing vaccines&quot;) = 3
@code: Three hepatitis B doses were administered-93
@decision: IMMZ.D2.DT.Hepatitis B.Delayed start: 3-dose schedule (no birth dose + 3 doses), delayed start
*/
define &quot;Three hepatitis B doses were administered&quot;:
  </a:s>
               <a:s r="495">
                  <a:s r="496">
                     <a:s>&quot;Number of Hepatitis B Doses Administered&quot;</a:s>
                  </a:s>
                  <a:s r="497"> = 3</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="495" locator="270:3-270:48" xsi:type="Equal">
            <signature localId="498" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <signature localId="499" name="t:Integer" xsi:type="NamedTypeSpecifier"/>
            <operand localId="496" locator="270:3-270:44" name="Number of Hepatitis B Doses Administered" xsi:type="ExpressionRef"/>
            <operand localId="497" locator="270:48" valueType="t:Integer" value="3" xsi:type="Literal"/>
         </expression>
      </def>
   </statements>
</library>
