<?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="346">
         <a:s>/*
 * Library: IMMZD18SMeaslesLowTransmissionLogic (IMMZ.D18.S.Measles.Low transmission schedule)
 * Schedule Table: Schedule for countries with low levels of measles transmission (countries that provide first dose of measles-containing vaccine (MCV) at 12 months and second dose of MCV at 15 months)
 */
library IMMZD18SMeaslesLowTransmissionLogic</a:s>
      </a:s>
   </annotation>
   <identifier id="IMMZD18SMeaslesLowTransmissionLogic" 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:27" localIdentifier="WC" path="http://smart.who.int/immunizations/WHOCommon">
         <annotation xsi:type="a:Annotation">
            <a:s r="210">
               <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="212" locator="12:1-12:32" localIdentifier="Common" path="http://smart.who.int/immunizations/IMMZCommon">
         <annotation xsi:type="a:Annotation">
            <a:s r="212">
               <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="214" locator="13:1-13:36" localIdentifier="Concepts" path="http://smart.who.int/immunizations/IMMZConcepts">
         <annotation xsi:type="a:Annotation">
            <a:s r="214">
               <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="216" locator="15:1-15:39" localIdentifier="IE" path="http://smart.who.int/immunizations/IMMZEncounterElements">
         <annotation xsi:type="a:Annotation">
            <a:s r="216">
               <a:s>include </a:s>
               <a:s>
                  <a:s>IMMZEncounterElements</a:s>
               </a:s>
               <a:s> called IE</a:s>
            </a:s>
         </annotation>
      </def>
      <def localId="218" locator="16:1-16:57" localIdentifier="Encounter" path="http://smart.who.int/immunizations/IMMZD2DTMeaslesEncounterElements">
         <annotation xsi:type="a:Annotation">
            <a:s r="218">
               <a:s>include </a:s>
               <a:s>
                  <a:s>IMMZD2DTMeaslesEncounterElements</a:s>
               </a:s>
               <a:s> called Encounter</a:s>
            </a:s>
         </annotation>
      </def>
   </includes>
   <parameters>
      <def localId="220" locator="18:1-18:36" name="Today" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="220">
               <a:s>parameter Today </a:s>
               <a:s r="224">
                  <a:s>Date</a:s>
               </a:s>
               <a:s> default </a:s>
               <a:s r="223">
                  <a:s>Today()</a:s>
               </a:s>
            </a:s>
         </annotation>
         <default localId="223" locator="18:30-18:36" xsi:type="Today"/>
         <parameterTypeSpecifier localId="224" locator="18:17-18:20" name="t:Date" xsi:type="NamedTypeSpecifier"/>
      </def>
   </parameters>
   <contexts>
      <def localId="229" locator="21:1-21:15" name="Patient"/>
   </contexts>
   <statements>
      <def localId="227" locator="21:1-21:15" name="Patient" context="Patient">
         <expression localId="228" xsi:type="SingletonFrom">
            <operand localId="226" locator="21:1-21:15" dataType="fhir:Patient" templateId="http://hl7.org/fhir/StructureDefinition/Patient" xsi:type="Retrieve"/>
         </expression>
      </def>
      <def localId="232" locator="31:1-32:63" name="MCV dose 1 (MCV1)" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="MCV dose 1 (MCV1)"/>
            <a:t name="description" value="Provision of MCV1 from the primary series"/>
            <a:t name="trigger" value="Child's birth"/>
            <a:t name="pseudo"/>
            <a:t name="triggerDate" value="&quot;Date of birth&quot;"/>
            <a:s r="232">
               <a:s>/*
@output: MCV dose 1 (MCV1)
@description: Provision of MCV1 from the primary series
@trigger: Child's birth
@pseudo: 
@triggerDate: &quot;Date of birth&quot;
*/
define &quot;MCV dose 1 (MCV1)&quot;:
  </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;No measles primary series doses were administered&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="234" locator="32:3-32:63" name="No measles primary series doses were administered" libraryName="Encounter" xsi:type="ExpressionRef"/>
      </def>
      <def localId="251" locator="50:1-52:11" name="MCV dose 1 (MCV1) Due Date" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="dynamicValue" value="MCV dose 1 (MCV1) Due Date"/>
            <a:t name="pseudocode" value="&quot;Date of birth&quot; + 12 months"/>
            <a:s r="251">
               <a:s>/*
@dynamicValue: MCV dose 1 (MCV1) Due Date
@pseudocode: &quot;Date of birth&quot; + 12 months
*/
define &quot;MCV dose 1 (MCV1) Due Date&quot;:
  </a:s>
               <a:s r="252">
                  <a:s>if </a:s>
                  <a:s r="253">
                     <a:s>&quot;MCV dose 1 (MCV1)&quot;</a:s>
                  </a:s>
                  <a:s> then </a:s>
                  <a:s r="254">
                     <a:s r="256">
                        <a:s r="255">
                           <a:s>Patient</a:s>
                        </a:s>
                        <a:s>.</a:s>
                        <a:s r="256">
                           <a:s>birthDate</a:s>
                        </a:s>
                     </a:s>
                     <a:s> + </a:s>
                     <a:s r="257">
                        <a:s>12 months</a:s>
                     </a:s>
                  </a:s>
                  <a:s r="261">
  else null</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="252" locator="51:3-52:11" xsi:type="If">
            <condition localId="253" locator="51:6-51:24" name="MCV dose 1 (MCV1)" xsi:type="ExpressionRef"/>
            <then localId="254" locator="51:31-51:59" xsi:type="Add">
               <signature localId="259" name="t:Date" xsi:type="NamedTypeSpecifier"/>
               <signature localId="260" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
               <operand localId="258" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                  <operand localId="256" locator="51:31-51:47" path="birthDate" xsi:type="Property">
                     <source localId="255" locator="51:31-51:37" name="Patient" xsi:type="ExpressionRef"/>
                  </operand>
               </operand>
               <operand localId="257" locator="51:51-51:59" value="12" unit="months" xsi:type="Quantity"/>
            </then>
            <else localId="262" asType="t:Date" xsi:type="As">
               <operand localId="261" locator="52:8-52:11" xsi:type="Null"/>
            </else>
         </expression>
      </def>
      <def localId="237" locator="39:1-43:9" name="MCV dose 1 (MCV1) Create" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="MCV dose 1 (MCV1) Create"/>
            <a:t name="create" value="The client is due for MCV1 if the client is at least 12 months"/>
            <a:s r="237">
               <a:s>/*
@output: MCV dose 1 (MCV1) Create
@create: The client is due for MCV1 if the client is at least 12 months
*/
define &quot;MCV dose 1 (MCV1) Create&quot;:
  </a:s>
               <a:s r="238">
                  <a:s>if </a:s>
                  <a:s r="239">
                     <a:s>&quot;MCV dose 1 (MCV1)&quot;</a:s>
                  </a:s>
                  <a:s>
  then </a:s>
                  <a:s r="271">
                     <a:s r="248">
                        <a:s r="242">
                           <a:s>'The client is due for MCV1 if the client is at least 12 months'</a:s>
                        </a:s>
                        <a:s> + </a:s>
                        <a:s r="244">
                           <a:s>'
Due Date: '</a:s>
                        </a:s>
                     </a:s>
                     <a:s> + </a:s>
                     <a:s r="267">
                        <a:s>ToString(</a:s>
                        <a:s r="263">
                           <a:s>&quot;MCV dose 1 (MCV1) Due Date&quot;</a:s>
                        </a:s>
                        <a:s>)</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
  else </a:s>
                  <a:s r="272">
                     <a:s>''</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="238" locator="40:3-43:9" xsi:type="If">
            <condition localId="239" locator="40:6-40:24" name="MCV dose 1 (MCV1)" xsi:type="ExpressionRef"/>
            <then localId="271" locator="41:8-42:52" xsi:type="Concatenate">
               <operand localId="248" locator="41:8-41:87" xsi:type="Concatenate">
                  <operand localId="242" locator="41:8-41:71" valueType="t:String" value="The client is due for MCV1 if the client is at least 12 months" xsi:type="Literal"/>
                  <operand localId="244" locator="41:75-41:87" valueType="t:String" value="&#xa;Due Date: " xsi:type="Literal"/>
               </operand>
               <operand localId="267" locator="42:15-42:52" xsi:type="ToString">
                  <signature localId="268" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="263" locator="42:24-42:51" name="MCV dose 1 (MCV1) Due Date" xsi:type="ExpressionRef"/>
               </operand>
            </then>
            <else localId="272" locator="43:8-43:9" valueType="t:String" value="" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="276" locator="59:1-60:6" name="MCV dose 1 (MCV1) Overdue" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="dynamicValue" value="MCV dose 1 (MCV1) Overdue"/>
            <a:t name="pseudocode" value="To be determined by Member States; however, there is no recommended overdue date and individuals are always eligible to be vaccinated."/>
            <a:s r="276">
               <a:s r="277">/*
@dynamicValue: MCV dose 1 (MCV1) Overdue
@pseudocode: To be determined by Member States; however, there is no recommended overdue date and individuals are always eligible to be vaccinated.
*/
define &quot;MCV dose 1 (MCV1) Overdue&quot;:
  null</a:s>
            </a:s>
         </annotation>
         <expression localId="277" locator="60:3-60:6" xsi:type="Null"/>
      </def>
      <def localId="280" locator="67:1-68:6" name="MCV dose 1 (MCV1) Expiration" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="dynamicValue" value="MCV dose 1 (MCV1) Expiration"/>
            <a:t name="pseudocode" value="To be determined by Member States; however, there is no recommended expiration date and individuals are always eligible to be vaccinated."/>
            <a:s r="280">
               <a:s r="281">/*
@dynamicValue: MCV dose 1 (MCV1) Expiration
@pseudocode: To be determined by Member States; however, there is no recommended expiration date and individuals are always eligible to be vaccinated.
*/
define &quot;MCV dose 1 (MCV1) Expiration&quot;:
  null</a:s>
            </a:s>
         </annotation>
         <expression localId="281" locator="68:3-68:6" xsi:type="Null"/>
      </def>
      <def localId="284" locator="75:1-76:36" name="MCV1 was administered" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="complete" value="MCV1 was administered"/>
            <a:t name="pseudocode" value="&quot;Vaccine type&quot; = &quot;Measles-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1"/>
            <a:s r="284">
               <a:s>/*
@complete: MCV1 was administered
@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Measles-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1
*/
define &quot;MCV1 was administered&quot;:
   </a:s>
               <a:s r="286">
                  <a:s r="285">
                     <a:s>Encounter</a:s>
                  </a:s>
                  <a:s>.</a:s>
                  <a:s r="286">
                     <a:s>&quot;MCV1 was administered&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="286" locator="76:4-76:36" name="MCV1 was administered" libraryName="Encounter" xsi:type="ExpressionRef"/>
      </def>
      <def localId="293" locator="131:1-132:35" name="MCV2 was administered. The primary series has been completed" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="complete" value="MCV2 was administered. The primary series has been completed"/>
            <a:t name="pseudocode" value="&quot;Completed the primary vaccination series&quot; = TRUE (where &quot;Vaccine type&quot; = &quot;Measles-containing vaccines&quot;)"/>
            <a:s r="293">
               <a:s>/*
@complete: MCV2 was administered. The primary series has been completed
@pseudocode: &quot;Completed the primary vaccination series&quot; = TRUE (where &quot;Vaccine type&quot; = &quot;Measles-containing vaccines&quot;)
*/
define &quot;MCV2 was administered. The primary series has been completed&quot;:
  </a:s>
               <a:s r="295">
                  <a:s r="294">
                     <a:s>Encounter</a:s>
                  </a:s>
                  <a:s>.</a:s>
                  <a:s r="295">
                     <a:s>&quot;MCV2 was administered&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="295" locator="132:3-132:35" name="MCV2 was administered" libraryName="Encounter" xsi:type="ExpressionRef"/>
      </def>
      <def localId="289" locator="87:1-88:68" name="MCV2" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="MCV2"/>
            <a:t name="description" value="Provision of MCV2 from the primary series"/>
            <a:t name="trigger" value="MCV1 was administered"/>
            <a:t name="pseudo" value="&quot;Vaccine type&quot; = &quot;Measles-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1"/>
            <a:t name="triggerDate" value="&quot;Date of birth&quot;"/>
            <a:s r="289">
               <a:s>/*
@output: MCV2
@description: Provision of MCV2 from the primary series
@trigger: MCV1 was administered
@pseudo: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Measles-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1
@triggerDate: &quot;Date of birth&quot;
*/
define &quot;MCV2&quot;:
  </a:s>
               <a:s r="290">
                  <a:s>not </a:s>
                  <a:s r="296">
                     <a:s>&quot;MCV2 was administered. The primary series has been completed&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="290" locator="88:3-88:68" xsi:type="Not">
            <operand localId="296" locator="88:7-88:68" name="MCV2 was administered. The primary series has been completed" xsi:type="ExpressionRef"/>
         </expression>
      </def>
      <def localId="313" locator="106:1-108:11" name="MCV2 Due Date" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="dynamicValue" value="MCV2 Due Date"/>
            <a:t name="pseudocode" value="&quot;Date of birth&quot; + 15 months"/>
            <a:s r="313">
               <a:s>/*
@dynamicValue: MCV2 Due Date
@pseudocode: &quot;Date of birth&quot; + 15 months
*/
define &quot;MCV2 Due Date&quot;:
  </a:s>
               <a:s r="314">
                  <a:s>if </a:s>
                  <a:s r="315">
                     <a:s>&quot;MCV2&quot;</a:s>
                  </a:s>
                  <a:s> then </a:s>
                  <a:s r="316">
                     <a:s r="318">
                        <a:s r="317">
                           <a:s>Patient</a:s>
                        </a:s>
                        <a:s>.</a:s>
                        <a:s r="318">
                           <a:s>birthDate</a:s>
                        </a:s>
                     </a:s>
                     <a:s> + </a:s>
                     <a:s r="319">
                        <a:s>15 months</a:s>
                     </a:s>
                  </a:s>
                  <a:s r="323">
  else null</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="314" locator="107:3-108:11" xsi:type="If">
            <condition localId="315" locator="107:6-107:11" name="MCV2" xsi:type="ExpressionRef"/>
            <then localId="316" locator="107:18-107:46" xsi:type="Add">
               <signature localId="321" name="t:Date" xsi:type="NamedTypeSpecifier"/>
               <signature localId="322" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
               <operand localId="320" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                  <operand localId="318" locator="107:18-107:34" path="birthDate" xsi:type="Property">
                     <source localId="317" locator="107:18-107:24" name="Patient" xsi:type="ExpressionRef"/>
                  </operand>
               </operand>
               <operand localId="319" locator="107:38-107:46" value="15" unit="months" xsi:type="Quantity"/>
            </then>
            <else localId="324" asType="t:Date" xsi:type="As">
               <operand localId="323" locator="108:8-108:11" xsi:type="Null"/>
            </else>
         </expression>
      </def>
      <def localId="299" locator="95:1-99:9" name="MCV2 Create" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="MCV2 Create"/>
            <a:t name="create" value="The client is due for MCV2 if the client is at least 15 months."/>
            <a:s r="299">
               <a:s>/*
@output: MCV2 Create
@create: The client is due for MCV2 if the client is at least 15 months.
*/
define &quot;MCV2 Create&quot;:
  </a:s>
               <a:s r="300">
                  <a:s>if </a:s>
                  <a:s r="301">
                     <a:s>&quot;MCV2&quot;</a:s>
                  </a:s>
                  <a:s>
  then </a:s>
                  <a:s r="333">
                     <a:s r="310">
                        <a:s r="304">
                           <a:s>'The client is due for MCV2 if the client is at least 15 months.'</a:s>
                        </a:s>
                        <a:s> + </a:s>
                        <a:s r="306">
                           <a:s>'
Due Date: '</a:s>
                        </a:s>
                     </a:s>
                     <a:s> + </a:s>
                     <a:s r="329">
                        <a:s>ToString(</a:s>
                        <a:s r="325">
                           <a:s>&quot;MCV2 Due Date&quot;</a:s>
                        </a:s>
                        <a:s>)</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
  else </a:s>
                  <a:s r="334">
                     <a:s>''</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="300" locator="96:3-99:9" xsi:type="If">
            <condition localId="301" locator="96:6-96:11" name="MCV2" xsi:type="ExpressionRef"/>
            <then localId="333" locator="97:8-98:39" xsi:type="Concatenate">
               <operand localId="310" locator="97:8-97:88" xsi:type="Concatenate">
                  <operand localId="304" locator="97:8-97:72" valueType="t:String" value="The client is due for MCV2 if the client is at least 15 months." xsi:type="Literal"/>
                  <operand localId="306" locator="97:76-97:88" valueType="t:String" value="&#xa;Due Date: " xsi:type="Literal"/>
               </operand>
               <operand localId="329" locator="98:15-98:39" xsi:type="ToString">
                  <signature localId="330" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="325" locator="98:24-98:38" name="MCV2 Due Date" xsi:type="ExpressionRef"/>
               </operand>
            </then>
            <else localId="334" locator="99:8-99:9" valueType="t:String" value="" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="338" locator="115:1-116:6" name="MCV2 Overdue" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="dynamicValue" value="MCV2 Overdue"/>
            <a:t name="pseudocode" value="To be determined by Member States; however, there is no recommended overdue date and individuals are always eligible to be vaccinated."/>
            <a:s r="338">
               <a:s r="339">/*
@dynamicValue: MCV2 Overdue
@pseudocode: To be determined by Member States; however, there is no recommended overdue date and individuals are always eligible to be vaccinated.
*/
define &quot;MCV2 Overdue&quot;:
  null</a:s>
            </a:s>
         </annotation>
         <expression localId="339" locator="116:3-116:6" xsi:type="Null"/>
      </def>
      <def localId="342" locator="123:1-124:6" name="MCV2 Expiration" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="dynamicValue" value="MCV2 Expiration"/>
            <a:t name="pseudocode" value="To be determined by Member States; however, there is no recommended expiration date and individuals are always eligible to be vaccinated."/>
            <a:s r="342">
               <a:s r="343">/*
@dynamicValue: MCV2 Expiration
@pseudocode: To be determined by Member States; however, there is no recommended expiration date and individuals are always eligible to be vaccinated.
*/
define &quot;MCV2 Expiration&quot;:
  null</a:s>
            </a:s>
         </annotation>
         <expression localId="343" locator="124:3-124:6" xsi:type="Null"/>
      </def>
      <def localId="346" locator="139:1-149: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="346">
               <a:s>/*
@test: Test expected results based on example patients
*/
define &quot;Test Validation&quot;:
  </a:s>
               <a:s r="347">
                  <a:s>case
    </a:s>
                  <a:s r="348">
                     <a:s>when </a:s>
                     <a:s r="349">
                        <a:s r="351">
                           <a:s r="350">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="351">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="352">
                           <a:s>'Measles22.1'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="358">
                        <a:s>&quot;MCV dose 1 (MCV1)&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="359">
                     <a:s>when </a:s>
                     <a:s r="360">
                        <a:s r="362">
                           <a:s r="361">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="362">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="363">
                           <a:s>'Measles23.3'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="369">
                        <a:s>&quot;MCV dose 1 (MCV1)&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s> 
    </a:s>
                  <a:s r="370">
                     <a:s>when </a:s>
                     <a:s r="371">
                        <a:s r="373">
                           <a:s r="372">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="373">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="374">
                           <a:s>'Measles24.3'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="380">
                        <a:s>&quot;MCV dose 1 (MCV1)&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s> 
    </a:s>
                  <a:s r="381">
                     <a:s>when </a:s>
                     <a:s r="382">
                        <a:s r="384">
                           <a:s r="383">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="384">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="385">
                           <a:s>'Measles25.2'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="391">
                        <a:s>&quot;MCV2&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s> 
    </a:s>
                  <a:s r="392">
                     <a:s>when </a:s>
                     <a:s r="393">
                        <a:s r="395">
                           <a:s r="394">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="395">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="396">
                           <a:s>'Measles26.3'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="402">
                        <a:s>&quot;MCV2&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s> 
    </a:s>
                  <a:s r="403">
                     <a:s>when </a:s>
                     <a:s r="404">
                        <a:s r="406">
                           <a:s r="405">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="406">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="407">
                           <a:s>'Measles27.3'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="413">
                        <a:s>&quot;MCV2&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s> 
    </a:s>
                  <a:s r="414">
                     <a:s>when </a:s>
                     <a:s r="415">
                        <a:s r="417">
                           <a:s r="416">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="417">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="418">
                           <a:s>'Measles28.1'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="424">
                        <a:s r="425">
                           <a:s>&quot;MCV2 was administered. The primary series has been completed&quot;</a:s>
                        </a:s>
                        <a:s> and </a:s>
                        <a:s r="426">
                           <a:s>not </a:s>
                           <a:s r="427">
                              <a:s>&quot;MCV2&quot;</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    else </a:s>
                  <a:s r="428">
                     <a:s>'No test case set'</a:s>
                  </a:s>
                  <a:s>
  end</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="347" locator="140:3-149:5" xsi:type="Case">
            <caseItem localId="348" locator="141:5-141:60">
               <when localId="349" locator="141:10-141:35" xsi:type="Equal">
                  <signature localId="356" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="357" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="354" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="355" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="351" locator="141:10-141:19" path="id" xsi:type="Property">
                        <source localId="350" locator="141:10-141:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="352" locator="141:23-141:35" valueType="t:String" value="Measles22.1" xsi:type="Literal"/>
               </when>
               <then localId="430" xsi:type="As">
                  <operand localId="358" locator="141:42-141:60" name="MCV dose 1 (MCV1)" xsi:type="ExpressionRef"/>
                  <asTypeSpecifier localId="431" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="432" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="433" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="359" locator="142:5-142:60">
               <when localId="360" locator="142:10-142:35" xsi:type="Equal">
                  <signature localId="367" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="368" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="365" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="366" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="362" locator="142:10-142:19" path="id" xsi:type="Property">
                        <source localId="361" locator="142:10-142:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="363" locator="142:23-142:35" valueType="t:String" value="Measles23.3" xsi:type="Literal"/>
               </when>
               <then localId="434" xsi:type="As">
                  <operand localId="369" locator="142:42-142:60" name="MCV dose 1 (MCV1)" xsi:type="ExpressionRef"/>
                  <asTypeSpecifier localId="435" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="436" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="437" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="370" locator="143:5-143:60">
               <when localId="371" locator="143:10-143:35" xsi:type="Equal">
                  <signature localId="378" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="379" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="376" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="377" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="373" locator="143:10-143:19" path="id" xsi:type="Property">
                        <source localId="372" locator="143:10-143:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="374" locator="143:23-143:35" valueType="t:String" value="Measles24.3" xsi:type="Literal"/>
               </when>
               <then localId="438" xsi:type="As">
                  <operand localId="380" locator="143:42-143:60" name="MCV dose 1 (MCV1)" xsi:type="ExpressionRef"/>
                  <asTypeSpecifier localId="439" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="440" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="441" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="381" locator="144:5-144:47">
               <when localId="382" locator="144:10-144:35" xsi:type="Equal">
                  <signature localId="389" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="390" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="387" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="388" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="384" locator="144:10-144:19" path="id" xsi:type="Property">
                        <source localId="383" locator="144:10-144:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="385" locator="144:23-144:35" valueType="t:String" value="Measles25.2" xsi:type="Literal"/>
               </when>
               <then localId="442" xsi:type="As">
                  <operand localId="391" locator="144:42-144:47" name="MCV2" xsi:type="ExpressionRef"/>
                  <asTypeSpecifier localId="443" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="444" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="445" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="392" locator="145:5-145:47">
               <when localId="393" locator="145:10-145:35" xsi:type="Equal">
                  <signature localId="400" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="401" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="398" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="399" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="395" locator="145:10-145:19" path="id" xsi:type="Property">
                        <source localId="394" locator="145:10-145:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="396" locator="145:23-145:35" valueType="t:String" value="Measles26.3" xsi:type="Literal"/>
               </when>
               <then localId="446" xsi:type="As">
                  <operand localId="402" locator="145:42-145:47" name="MCV2" xsi:type="ExpressionRef"/>
                  <asTypeSpecifier localId="447" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="448" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="449" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="403" locator="146:5-146:47">
               <when localId="404" locator="146:10-146:35" xsi:type="Equal">
                  <signature localId="411" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="412" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="409" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="410" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="406" locator="146:10-146:19" path="id" xsi:type="Property">
                        <source localId="405" locator="146:10-146:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="407" locator="146:23-146:35" valueType="t:String" value="Measles27.3" xsi:type="Literal"/>
               </when>
               <then localId="450" xsi:type="As">
                  <operand localId="413" locator="146:42-146:47" name="MCV2" xsi:type="ExpressionRef"/>
                  <asTypeSpecifier localId="451" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="452" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="453" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="414" locator="147:5-147:118">
               <when localId="415" locator="147:10-147:35" xsi:type="Equal">
                  <signature localId="422" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="423" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="420" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="421" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="417" locator="147:10-147:19" path="id" xsi:type="Property">
                        <source localId="416" locator="147:10-147:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="418" locator="147:23-147:35" valueType="t:String" value="Measles28.1" xsi:type="Literal"/>
               </when>
               <then localId="454" xsi:type="As">
                  <operand localId="424" locator="147:42-147:118" xsi:type="And">
                     <operand localId="425" locator="147:42-147:103" name="MCV2 was administered. The primary series has been completed" xsi:type="ExpressionRef"/>
                     <operand localId="426" locator="147:109-147:118" xsi:type="Not">
                        <operand localId="427" locator="147:113-147:118" name="MCV2" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <asTypeSpecifier localId="455" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="456" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="457" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <else localId="458" xsi:type="As">
               <operand localId="428" locator="148:10-148:27" valueType="t:String" value="No test case set" xsi:type="Literal"/>
               <asTypeSpecifier localId="459" xsi:type="ChoiceTypeSpecifier">
                  <choice localId="460" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                  <choice localId="461" name="t:String" xsi:type="NamedTypeSpecifier"/>
               </asTypeSpecifier>
            </else>
         </expression>
      </def>
   </statements>
</library>
