<?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="402">
         <a:s>/*
 * Library: IMMZD18SMumpsLogic (IMMZ.D18.S.Mumps schedule)
 * Schedule Table: 2-dose schedule
 */
library IMMZD18SMumpsLogic</a:s>
      </a:s>
   </annotation>
   <identifier id="IMMZD18SMumpsLogic" 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:55" localIdentifier="Encounter" path="http://smart.who.int/immunizations/IMMZD2DTMumpsEncounterElements">
         <annotation xsi:type="a:Annotation">
            <a:s r="218">
               <a:s>include </a:s>
               <a:s>
                  <a:s>IMMZD2DTMumpsEncounterElements</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="239" locator="78:1-79:60" name="First mumps dose from the primary series was administered" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="complete" value="First mumps dose from the primary series was administered"/>
            <a:t name="pseudocode" value="&quot;Vaccine type&quot; = &quot;Mumps-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1"/>
            <a:s r="239">
               <a:s>/*
@complete: First mumps dose from the primary series was administered
@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Mumps-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1
*/
define &quot;First mumps dose from the primary series was administered&quot;:
  </a:s>
               <a:s r="241">
                  <a:s r="240">
                     <a:s>Encounter</a:s>
                  </a:s>
                  <a:s>.</a:s>
                  <a:s r="241">
                     <a:s>&quot;One mumps primary series dose was administered&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="241" locator="79:3-79:60" name="One mumps primary series dose was administered" libraryName="Encounter" xsi:type="ExpressionRef"/>
      </def>
      <def localId="232" locator="31:1-33:69" name="Mumps dose 1" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Mumps dose 1"/>
            <a:t name="description" value="Provision of the mumps dose 1"/>
            <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: Mumps dose 1
@description: Provision of the mumps dose 1
@trigger: Child's birth
@pseudo: 
@triggerDate: &quot;Date of birth&quot;
*/
define &quot;Mumps dose 1&quot;:
  </a:s>
               <a:s r="233">
                  <a:s r="235">
                     <a:s r="234">
                        <a:s>Encounter</a:s>
                     </a:s>
                     <a:s>.</a:s>
                     <a:s r="235">
                        <a:s>&quot;No mumps primary series doses were administered&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
  and </a:s>
                  <a:s r="236">
                     <a:s>not </a:s>
                     <a:s r="242">
                        <a:s>&quot;First mumps dose from the primary series was administered&quot;</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="233" locator="32:3-33:69" xsi:type="And">
            <operand localId="235" locator="32:3-32:61" name="No mumps primary series doses were administered" libraryName="Encounter" xsi:type="ExpressionRef"/>
            <operand localId="236" locator="33:7-33:69" xsi:type="Not">
               <operand localId="242" locator="33:11-33:69" name="First mumps dose from the primary series was administered" xsi:type="ExpressionRef"/>
            </operand>
         </expression>
      </def>
      <def localId="261" locator="52:1-54:11" name="Mumps dose 1 Due Date" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="dynamicValue" value="Mumps dose 1 Due Date"/>
            <a:t name="pseudocode" value="&quot;Date of birth&quot; + 12 months"/>
            <a:s r="261">
               <a:s>/*
@dynamicValue: Mumps dose 1 Due Date
@pseudocode: &quot;Date of birth&quot; + 12 months
*/
define &quot;Mumps dose 1 Due Date&quot;:
  </a:s>
               <a:s r="262">
                  <a:s>if </a:s>
                  <a:s r="263">
                     <a:s>&quot;Mumps dose 1&quot;</a:s>
                  </a:s>
                  <a:s> then </a:s>
                  <a:s r="264">
                     <a:s r="266">
                        <a:s r="265">
                           <a:s>Patient</a:s>
                        </a:s>
                        <a:s>.</a:s>
                        <a:s r="266">
                           <a:s>birthDate</a:s>
                        </a:s>
                     </a:s>
                     <a:s> + </a:s>
                     <a:s r="267">
                        <a:s>12 months</a:s>
                     </a:s>
                  </a:s>
                  <a:s r="271">
  else null</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="262" locator="53:3-54:11" xsi:type="If">
            <condition localId="263" locator="53:6-53:19" name="Mumps dose 1" xsi:type="ExpressionRef"/>
            <then localId="264" locator="53:26-53:54" xsi:type="Add">
               <signature localId="269" name="t:Date" xsi:type="NamedTypeSpecifier"/>
               <signature localId="270" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
               <operand localId="268" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                  <operand localId="266" locator="53:26-53:42" path="birthDate" xsi:type="Property">
                     <source localId="265" locator="53:26-53:32" name="Patient" xsi:type="ExpressionRef"/>
                  </operand>
               </operand>
               <operand localId="267" locator="53:46-53:54" value="12" unit="months" xsi:type="Quantity"/>
            </then>
            <else localId="272" asType="t:Date" xsi:type="As">
               <operand localId="271" locator="54:8-54:11" xsi:type="Null"/>
            </else>
         </expression>
      </def>
      <def localId="289" locator="61:1-63:11" name="Mumps dose 1 Overdue" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="dynamicValue" value="Mumps dose 1 Overdue"/>
            <a:t name="pseudocode" value="&quot;Date of birth&quot; + 18 months"/>
            <a:s r="289">
               <a:s>/*
@dynamicValue: Mumps dose 1 Overdue
@pseudocode: &quot;Date of birth&quot; + 18 months
*/
define &quot;Mumps dose 1 Overdue&quot;:
  </a:s>
               <a:s r="290">
                  <a:s>if </a:s>
                  <a:s r="291">
                     <a:s>&quot;Mumps dose 1&quot;</a:s>
                  </a:s>
                  <a:s> then </a:s>
                  <a:s r="292">
                     <a:s r="294">
                        <a:s r="293">
                           <a:s>Patient</a:s>
                        </a:s>
                        <a:s>.</a:s>
                        <a:s r="294">
                           <a:s>birthDate</a:s>
                        </a:s>
                     </a:s>
                     <a:s> + </a:s>
                     <a:s r="295">
                        <a:s>18 months</a:s>
                     </a:s>
                  </a:s>
                  <a:s r="299">
  else null</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="290" locator="62:3-63:11" xsi:type="If">
            <condition localId="291" locator="62:6-62:19" name="Mumps dose 1" xsi:type="ExpressionRef"/>
            <then localId="292" locator="62:26-62:54" xsi:type="Add">
               <signature localId="297" name="t:Date" xsi:type="NamedTypeSpecifier"/>
               <signature localId="298" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
               <operand localId="296" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                  <operand localId="294" locator="62:26-62:42" path="birthDate" xsi:type="Property">
                     <source localId="293" locator="62:26-62:32" name="Patient" xsi:type="ExpressionRef"/>
                  </operand>
               </operand>
               <operand localId="295" locator="62:46-62:54" value="18" unit="months" xsi:type="Quantity"/>
            </then>
            <else localId="300" asType="t:Date" xsi:type="As">
               <operand localId="299" locator="63:8-63:11" xsi:type="Null"/>
            </else>
         </expression>
      </def>
      <def localId="245" locator="40:1-45:9" name="Mumps dose 1 Create" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Mumps dose 1 Create"/>
            <a:t name="create" value="The first dose of the mumps-containing vaccine (monovalent or MMR [measles, mumps and rubella]) should be given at 12–18 months of age."/>
            <a:s r="245">
               <a:s>/*
@output: Mumps dose 1 Create
@create: The first dose of the mumps-containing vaccine (monovalent or MMR [measles, mumps and rubella]) should be given at 12–18 months of age.
*/
define &quot;Mumps dose 1 Create&quot;:
  </a:s>
               <a:s r="246">
                  <a:s>if </a:s>
                  <a:s r="247">
                     <a:s>&quot;Mumps dose 1&quot;</a:s>
                  </a:s>
                  <a:s>
  then </a:s>
                  <a:s r="309">
                     <a:s r="286">
                        <a:s r="281">
                           <a:s r="258">
                              <a:s r="252">
                                 <a:s>'The first dose of the mumps-containing vaccine (monovalent or MMR [measles, mumps and rubella]) should be given at 12–18 months of age.'</a:s>
                              </a:s>
                              <a:s> + </a:s>
                              <a:s r="254">
                                 <a:s>'
Due Date: '</a:s>
                              </a:s>
                           </a:s>
                           <a:s> + </a:s>
                           <a:s r="277">
                              <a:s>ToString(</a:s>
                              <a:s r="273">
                                 <a:s>&quot;Mumps dose 1 Due Date&quot;</a:s>
                              </a:s>
                              <a:s>)</a:s>
                           </a:s>
                        </a:s>
                        <a:s> + </a:s>
                        <a:s r="282">
                           <a:s>'
Overdue: '</a:s>
                        </a:s>
                     </a:s>
                     <a:s> + </a:s>
                     <a:s r="305">
                        <a:s>ToString(</a:s>
                        <a:s r="301">
                           <a:s>&quot;Mumps dose 1 Overdue&quot;</a:s>
                        </a:s>
                        <a:s>)</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
  else </a:s>
                  <a:s r="310">
                     <a:s>''</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="246" locator="41:3-45:9" xsi:type="If">
            <condition localId="247" locator="41:6-41:19" name="Mumps dose 1" xsi:type="ExpressionRef"/>
            <then localId="309" locator="42:8-44:45" xsi:type="Concatenate">
               <operand localId="286" locator="42:8-43:62" xsi:type="Concatenate">
                  <operand localId="281" locator="42:8-43:47" xsi:type="Concatenate">
                     <operand localId="258" locator="42:8-42:160" xsi:type="Concatenate">
                        <operand localId="252" locator="42:8-42:144" valueType="t:String" value="The first dose of the mumps-containing vaccine (monovalent or MMR [measles, mumps and rubella]) should be given at 12–18 months of age." xsi:type="Literal"/>
                        <operand localId="254" locator="42:148-42:160" valueType="t:String" value="&#xa;Due Date: " xsi:type="Literal"/>
                     </operand>
                     <operand localId="277" locator="43:15-43:47" xsi:type="ToString">
                        <signature localId="278" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="273" locator="43:24-43:46" name="Mumps dose 1 Due Date" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="282" locator="43:51-43:62" valueType="t:String" value="&#xa;Overdue: " xsi:type="Literal"/>
               </operand>
               <operand localId="305" locator="44:14-44:45" xsi:type="ToString">
                  <signature localId="306" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="301" locator="44:23-44:44" name="Mumps dose 1 Overdue" xsi:type="ExpressionRef"/>
               </operand>
            </then>
            <else localId="310" locator="45:8-45:9" valueType="t:String" value="" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="314" locator="70:1-71:6" name="Mumps dose 1 Expiration" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="dynamicValue" value="Mumps dose 1 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="314">
               <a:s r="315">/*
@dynamicValue: Mumps dose 1 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;Mumps dose 1 Expiration&quot;:
  null</a:s>
            </a:s>
         </annotation>
         <expression localId="315" locator="71:3-71:6" xsi:type="Null"/>
      </def>
      <def localId="324" locator="137:1-138:62" name="Second mumps dose from the primary series was administered. The primary series has been completed" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="complete" value="Second mumps dose from the primary series 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;Mumps-containing vaccines&quot;)&quot;"/>
            <a:s r="324">
               <a:s>/*
@complete: Second mumps dose from the primary series was administered. The primary series has been completed
@pseudocode: &quot;Completed the primary vaccination series&quot; = TRUE (where &quot;Vaccine type&quot; = &quot;Mumps-containing vaccines&quot;)&quot;
*/
define &quot;Second mumps dose from the primary series was administered. The primary series has been completed&quot;:
  </a:s>
               <a:s r="326">
                  <a:s r="325">
                     <a:s>Encounter</a:s>
                  </a:s>
                  <a:s>.</a:s>
                  <a:s r="326">
                     <a:s>&quot;Two mumps primary series doses were administered&quot;</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="326" locator="138:3-138:62" name="Two mumps primary series doses were administered" libraryName="Encounter" xsi:type="ExpressionRef"/>
      </def>
      <def localId="318" locator="90:1-92:109" name="Mumps dose 2" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Mumps dose 2"/>
            <a:t name="description" value="Provision of the mumps dose 2"/>
            <a:t name="trigger" value="First mumps dose from the primary series was administered"/>
            <a:t name="pseudo" value="&quot;Vaccine type&quot; = &quot;Mumps-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1"/>
            <a:t name="triggerDate" value="&quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Mumps-containing vaccines&quot;)"/>
            <a:s r="318">
               <a:s>/*
@output: Mumps dose 2
@description: Provision of the mumps dose 2
@trigger: First mumps dose from the primary series was administered
@pseudo: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Mumps-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1
@triggerDate: &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Mumps-containing vaccines&quot;)
*/
define &quot;Mumps dose 2&quot;:
  </a:s>
               <a:s r="319">
                  <a:s r="320">
                     <a:s>&quot;First mumps dose from the primary series was administered&quot;</a:s>
                  </a:s>
                  <a:s>
  and </a:s>
                  <a:s r="321">
                     <a:s>not </a:s>
                     <a:s r="327">
                        <a:s>&quot;Second mumps dose from the primary series was administered. The primary series has been completed&quot;</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="319" locator="91:3-92:109" xsi:type="And">
            <operand localId="320" locator="91:3-91:61" name="First mumps dose from the primary series was administered" xsi:type="ExpressionRef"/>
            <operand localId="321" locator="92:7-92:109" xsi:type="Not">
               <operand localId="327" locator="92:11-92:109" name="Second mumps dose from the primary series was administered. The primary series has been completed" xsi:type="ExpressionRef"/>
            </operand>
         </expression>
      </def>
      <def localId="346" locator="111:1-113:11" name="Mumps dose 2 Due Date" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="dynamicValue" value="Mumps dose 2 Due Date"/>
            <a:t name="pseudocode" value="&quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Mumps-containing vaccines&quot;) + 1 month"/>
            <a:s r="346">
               <a:s>/*
@dynamicValue: Mumps dose 2 Due Date
@pseudocode: &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Mumps-containing vaccines&quot;) + 1 month
*/
define &quot;Mumps dose 2 Due Date&quot;:
  </a:s>
               <a:s r="347">
                  <a:s>if </a:s>
                  <a:s r="348">
                     <a:s>&quot;Mumps dose 2&quot;</a:s>
                  </a:s>
                  <a:s> then </a:s>
                  <a:s r="349">
                     <a:s r="351">
                        <a:s r="350">
                           <a:s>Encounter</a:s>
                        </a:s>
                        <a:s>.</a:s>
                        <a:s r="351">
                           <a:s>&quot;Date of Latest Mumps Dose&quot;</a:s>
                        </a:s>
                     </a:s>
                     <a:s> + </a:s>
                     <a:s r="352">
                        <a:s>1 month</a:s>
                     </a:s>
                  </a:s>
                  <a:s r="355">
  else null</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="347" locator="112:3-113:11" xsi:type="If">
            <condition localId="348" locator="112:6-112:19" name="Mumps dose 2" xsi:type="ExpressionRef"/>
            <then localId="349" locator="112:26-112:72" xsi:type="Add">
               <signature localId="353" name="t:Date" xsi:type="NamedTypeSpecifier"/>
               <signature localId="354" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
               <operand localId="351" locator="112:26-112:62" name="Date of Latest Mumps Dose" libraryName="Encounter" xsi:type="ExpressionRef"/>
               <operand localId="352" locator="112:66-112:72" value="1" unit="month" xsi:type="Quantity"/>
            </then>
            <else localId="356" asType="t:Date" xsi:type="As">
               <operand localId="355" locator="113:8-113:11" xsi:type="Null"/>
            </else>
         </expression>
      </def>
      <def localId="373" locator="120:1-122:11" name="Mumps dose 2 Overdue" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="dynamicValue" value="Mumps dose 2 Overdue"/>
            <a:t name="pseudocode" value="&quot;Date of birth&quot; + 6 years"/>
            <a:s r="373">
               <a:s>/*
@dynamicValue: Mumps dose 2 Overdue
@pseudocode: &quot;Date of birth&quot; + 6 years
*/
define &quot;Mumps dose 2 Overdue&quot;:
  </a:s>
               <a:s r="374">
                  <a:s>if </a:s>
                  <a:s r="375">
                     <a:s>&quot;Mumps dose 2&quot;</a:s>
                  </a:s>
                  <a:s> then </a:s>
                  <a:s r="376">
                     <a:s r="378">
                        <a:s r="377">
                           <a:s>Patient</a:s>
                        </a:s>
                        <a:s>.</a:s>
                        <a:s r="378">
                           <a:s>birthDate</a:s>
                        </a:s>
                     </a:s>
                     <a:s> + </a:s>
                     <a:s r="379">
                        <a:s>6 years</a:s>
                     </a:s>
                  </a:s>
                  <a:s r="383">
  else null</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="374" locator="121:3-122:11" xsi:type="If">
            <condition localId="375" locator="121:6-121:19" name="Mumps dose 2" xsi:type="ExpressionRef"/>
            <then localId="376" locator="121:26-121:52" xsi:type="Add">
               <signature localId="381" name="t:Date" xsi:type="NamedTypeSpecifier"/>
               <signature localId="382" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
               <operand localId="380" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                  <operand localId="378" locator="121:26-121:42" path="birthDate" xsi:type="Property">
                     <source localId="377" locator="121:26-121:32" name="Patient" xsi:type="ExpressionRef"/>
                  </operand>
               </operand>
               <operand localId="379" locator="121:46-121:52" value="6" unit="years" xsi:type="Quantity"/>
            </then>
            <else localId="384" asType="t:Date" xsi:type="As">
               <operand localId="383" locator="122:8-122:11" xsi:type="Null"/>
            </else>
         </expression>
      </def>
      <def localId="330" locator="99:1-104:9" name="Mumps dose 2 Create" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="output" value="Mumps dose 2 Create"/>
            <a:t name="create" value="The age of administration of the second dose may range from the second year of life to age at school entry (about 6 years of age). The minimum interval between the first and the second doses is 1 month."/>
            <a:s r="330">
               <a:s>/*
@output: Mumps dose 2 Create
@create: The age of administration of the second dose may range from the second year of life to age at school entry (about 6 years of age). The minimum interval between the first and the second doses is 1 month.
*/
define &quot;Mumps dose 2 Create&quot;:
  </a:s>
               <a:s r="331">
                  <a:s>if </a:s>
                  <a:s r="332">
                     <a:s>&quot;Mumps dose 2&quot;</a:s>
                  </a:s>
                  <a:s>
  then </a:s>
                  <a:s r="393">
                     <a:s r="370">
                        <a:s r="365">
                           <a:s r="343">
                              <a:s r="337">
                                 <a:s>'The age of administration of the second dose may range from the second year of life to age at school entry (about 6 years of age). The minimum interval between the first and the second doses is 1 month.'</a:s>
                              </a:s>
                              <a:s> + </a:s>
                              <a:s r="339">
                                 <a:s>'
Due Date: '</a:s>
                              </a:s>
                           </a:s>
                           <a:s> + </a:s>
                           <a:s r="361">
                              <a:s>ToString(</a:s>
                              <a:s r="357">
                                 <a:s>&quot;Mumps dose 2 Due Date&quot;</a:s>
                              </a:s>
                              <a:s>)</a:s>
                           </a:s>
                        </a:s>
                        <a:s> + </a:s>
                        <a:s r="366">
                           <a:s>'
Overdue: '</a:s>
                        </a:s>
                     </a:s>
                     <a:s> + </a:s>
                     <a:s r="389">
                        <a:s>ToString(</a:s>
                        <a:s r="385">
                           <a:s>&quot;Mumps dose 2 Overdue&quot;</a:s>
                        </a:s>
                        <a:s>)</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
  else </a:s>
                  <a:s r="394">
                     <a:s>''</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="331" locator="100:3-104:9" xsi:type="If">
            <condition localId="332" locator="100:6-100:19" name="Mumps dose 2" xsi:type="ExpressionRef"/>
            <then localId="393" locator="101:8-103:45" xsi:type="Concatenate">
               <operand localId="370" locator="101:8-102:62" xsi:type="Concatenate">
                  <operand localId="365" locator="101:8-102:47" xsi:type="Concatenate">
                     <operand localId="343" locator="101:8-101:227" xsi:type="Concatenate">
                        <operand localId="337" locator="101:8-101:211" valueType="t:String" value="The age of administration of the second dose may range from the second year of life to age at school entry (about 6 years of age). The minimum interval between the first and the second doses is 1 month." xsi:type="Literal"/>
                        <operand localId="339" locator="101:215-101:227" valueType="t:String" value="&#xa;Due Date: " xsi:type="Literal"/>
                     </operand>
                     <operand localId="361" locator="102:15-102:47" xsi:type="ToString">
                        <signature localId="362" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="357" locator="102:24-102:46" name="Mumps dose 2 Due Date" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="366" locator="102:51-102:62" valueType="t:String" value="&#xa;Overdue: " xsi:type="Literal"/>
               </operand>
               <operand localId="389" locator="103:14-103:45" xsi:type="ToString">
                  <signature localId="390" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="385" locator="103:23-103:44" name="Mumps dose 2 Overdue" xsi:type="ExpressionRef"/>
               </operand>
            </then>
            <else localId="394" locator="104:8-104:9" valueType="t:String" value="" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="398" locator="129:1-130:6" name="Mumps dose 2 Expiration" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:t name="dynamicValue" value="Mumps dose 2 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="398">
               <a:s r="399">/*
@dynamicValue: Mumps dose 2 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;Mumps dose 2 Expiration&quot;:
  null</a:s>
            </a:s>
         </annotation>
         <expression localId="399" locator="130:3-130:6" xsi:type="Null"/>
      </def>
      <def localId="402" locator="145:1-155: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="402">
               <a:s>/*
@test: Test expected results based on example patients
*/
define &quot;Test Validation&quot;:
  </a:s>
               <a:s r="403">
                  <a:s>case
    </a:s>
                  <a:s r="404">
                     <a:s>when </a:s>
                     <a:s r="405">
                        <a:s r="407">
                           <a:s r="406">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="407">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="408">
                           <a:s>'Mumps08.1'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="414">
                        <a:s>&quot;Mumps dose 1&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="415">
                     <a:s>when </a:s>
                     <a:s r="416">
                        <a:s r="418">
                           <a:s r="417">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="418">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="419">
                           <a:s>'Mumps09.3'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="425">
                        <a:s>&quot;Mumps dose 1&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="426">
                     <a:s>when </a:s>
                     <a:s r="427">
                        <a:s r="429">
                           <a:s r="428">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="429">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="430">
                           <a:s>'Mumps10.3'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="436">
                        <a:s>&quot;Mumps dose 1&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="437">
                     <a:s>when </a:s>
                     <a:s r="438">
                        <a:s r="440">
                           <a:s r="439">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="440">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="441">
                           <a:s>'Mumps11.2'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="447">
                        <a:s>&quot;Mumps dose 2&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="448">
                     <a:s>when </a:s>
                     <a:s r="449">
                        <a:s r="451">
                           <a:s r="450">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="451">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="452">
                           <a:s>'Mumps12.3'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="458">
                        <a:s>&quot;Mumps dose 2&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="459">
                     <a:s>when </a:s>
                     <a:s r="460">
                        <a:s r="462">
                           <a:s r="461">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="462">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="463">
                           <a:s>'Mumps13.3'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="469">
                        <a:s>&quot;Mumps dose 2&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="470">
                     <a:s>when </a:s>
                     <a:s r="471">
                        <a:s r="473">
                           <a:s r="472">
                              <a:s>Patient</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="473">
                              <a:s>id</a:s>
                           </a:s>
                        </a:s>
                        <a:s> = </a:s>
                        <a:s r="474">
                           <a:s>'Mumps14.1'</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then </a:s>
                     <a:s r="480">
                        <a:s>&quot;Second mumps dose from the primary series was administered. The primary series has been completed&quot;</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    else </a:s>
                  <a:s r="481">
                     <a:s>'No test case set'</a:s>
                  </a:s>
                  <a:s>
  end</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="403" locator="146:3-155:5" xsi:type="Case">
            <caseItem localId="404" locator="147:5-147:53">
               <when localId="405" locator="147:10-147:33" xsi:type="Equal">
                  <signature localId="412" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="413" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="410" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="411" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="407" locator="147:10-147:19" path="id" xsi:type="Property">
                        <source localId="406" locator="147:10-147:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="408" locator="147:23-147:33" valueType="t:String" value="Mumps08.1" xsi:type="Literal"/>
               </when>
               <then localId="483" xsi:type="As">
                  <operand localId="414" locator="147:40-147:53" name="Mumps dose 1" xsi:type="ExpressionRef"/>
                  <asTypeSpecifier localId="484" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="485" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="486" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="415" locator="148:5-148:53">
               <when localId="416" locator="148:10-148:33" xsi:type="Equal">
                  <signature localId="423" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="424" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="421" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="422" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="418" locator="148:10-148:19" path="id" xsi:type="Property">
                        <source localId="417" locator="148:10-148:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="419" locator="148:23-148:33" valueType="t:String" value="Mumps09.3" xsi:type="Literal"/>
               </when>
               <then localId="487" xsi:type="As">
                  <operand localId="425" locator="148:40-148:53" name="Mumps dose 1" xsi:type="ExpressionRef"/>
                  <asTypeSpecifier localId="488" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="489" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="490" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="426" locator="149:5-149:53">
               <when localId="427" locator="149:10-149:33" xsi:type="Equal">
                  <signature localId="434" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="435" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="432" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="433" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="429" locator="149:10-149:19" path="id" xsi:type="Property">
                        <source localId="428" locator="149:10-149:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="430" locator="149:23-149:33" valueType="t:String" value="Mumps10.3" xsi:type="Literal"/>
               </when>
               <then localId="491" xsi:type="As">
                  <operand localId="436" locator="149:40-149:53" name="Mumps dose 1" xsi:type="ExpressionRef"/>
                  <asTypeSpecifier localId="492" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="493" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="494" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="437" locator="150:5-150:53">
               <when localId="438" locator="150:10-150:33" xsi:type="Equal">
                  <signature localId="445" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="446" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="443" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="444" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="440" locator="150:10-150:19" path="id" xsi:type="Property">
                        <source localId="439" locator="150:10-150:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="441" locator="150:23-150:33" valueType="t:String" value="Mumps11.2" xsi:type="Literal"/>
               </when>
               <then localId="495" xsi:type="As">
                  <operand localId="447" locator="150:40-150:53" name="Mumps dose 2" xsi:type="ExpressionRef"/>
                  <asTypeSpecifier localId="496" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="497" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="498" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="448" locator="151:5-151:53">
               <when localId="449" locator="151:10-151:33" xsi:type="Equal">
                  <signature localId="456" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="457" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="454" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="455" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="451" locator="151:10-151:19" path="id" xsi:type="Property">
                        <source localId="450" locator="151:10-151:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="452" locator="151:23-151:33" valueType="t:String" value="Mumps12.3" xsi:type="Literal"/>
               </when>
               <then localId="499" xsi:type="As">
                  <operand localId="458" locator="151:40-151:53" name="Mumps dose 2" xsi:type="ExpressionRef"/>
                  <asTypeSpecifier localId="500" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="501" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="502" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="459" locator="152:5-152:53">
               <when localId="460" locator="152:10-152:33" xsi:type="Equal">
                  <signature localId="467" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="468" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="465" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="466" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="462" locator="152:10-152:19" path="id" xsi:type="Property">
                        <source localId="461" locator="152:10-152:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="463" locator="152:23-152:33" valueType="t:String" value="Mumps13.3" xsi:type="Literal"/>
               </when>
               <then localId="503" xsi:type="As">
                  <operand localId="469" locator="152:40-152:53" name="Mumps dose 2" xsi:type="ExpressionRef"/>
                  <asTypeSpecifier localId="504" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="505" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="506" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <caseItem localId="470" locator="153:5-153:138">
               <when localId="471" locator="153:10-153:33" xsi:type="Equal">
                  <signature localId="478" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="479" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="476" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="477" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="473" locator="153:10-153:19" path="id" xsi:type="Property">
                        <source localId="472" locator="153:10-153:16" name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand localId="474" locator="153:23-153:33" valueType="t:String" value="Mumps14.1" xsi:type="Literal"/>
               </when>
               <then localId="507" xsi:type="As">
                  <operand localId="480" locator="153:40-153:138" name="Second mumps dose from the primary series was administered. The primary series has been completed" xsi:type="ExpressionRef"/>
                  <asTypeSpecifier localId="508" xsi:type="ChoiceTypeSpecifier">
                     <choice localId="509" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                     <choice localId="510" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  </asTypeSpecifier>
               </then>
            </caseItem>
            <else localId="511" xsi:type="As">
               <operand localId="481" locator="154:10-154:27" valueType="t:String" value="No test case set" xsi:type="Literal"/>
               <asTypeSpecifier localId="512" xsi:type="ChoiceTypeSpecifier">
                  <choice localId="513" name="t:Boolean" xsi:type="NamedTypeSpecifier"/>
                  <choice localId="514" name="t:String" xsi:type="NamedTypeSpecifier"/>
               </asTypeSpecifier>
            </else>
         </expression>
      </def>
   </statements>
</library>
