<?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 librarySystem="http://smart.who.int/immunizations" libraryId="WHOCommon" startLine="20" startChar="47" endLine="20" endChar="56" message="String literal 'official' matches the identifier official. Consider whether the identifier was intended instead." errorType="semantic" errorSeverity="warning" xsi:type="a:CqlToElmError"/>
   <annotation librarySystem="http://smart.who.int/immunizations" libraryId="WHOCommon" startLine="23" startChar="45" endLine="23" endChar="54" message="String literal 'official' matches the identifier official. Consider whether the identifier was intended instead." errorType="semantic" errorSeverity="warning" xsi:type="a:CqlToElmError"/>
   <annotation librarySystem="http://smart.who.int/immunizations" libraryId="WHOCommon" startLine="26" startChar="41" endLine="26" endChar="50" message="String literal 'official' matches the identifier official. Consider whether the identifier was intended instead." errorType="semantic" errorSeverity="warning" xsi:type="a:CqlToElmError"/>
   <annotation librarySystem="http://smart.who.int/immunizations" libraryId="WHOCommon" startLine="29" startChar="49" endLine="29" endChar="56" message="String literal 'mobile' matches the identifier mobile. Consider whether the identifier was intended instead." errorType="semantic" errorSeverity="warning" xsi:type="a:CqlToElmError"/>
   <annotation message="An operand identifier references is hiding another identifier of the same name." errorType="semantic" errorSeverity="warning" xsi:type="a:CqlToElmError"/>
   <annotation message="An operand identifier references is hiding another identifier of the same name." errorType="semantic" errorSeverity="warning" xsi:type="a:CqlToElmError"/>
   <annotation xsi:type="a:Annotation">
      <a:s r="1423">
         <a:s>library WHOCommon</a:s>
      </a:s>
   </annotation>
   <identifier id="WHOCommon" 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="3:1-3: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="5:1-5: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>
   </includes>
   <codeSystems>
      <def localId="210" locator="7:1-7:101" name="ConditionClinicalStatusCodes" id="http://terminology.hl7.org/CodeSystem/condition-clinical" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="210">
               <a:s>codesystem &quot;ConditionClinicalStatusCodes&quot;: 'http://terminology.hl7.org/CodeSystem/condition-clinical'</a:s>
            </a:s>
         </annotation>
      </def>
   </codeSystems>
   <codes>
      <def localId="212" locator="10:1-10:59" name="active" id="active" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="212">
               <a:s>// Condition Clinical Status Codes - Consider value sets for these
code &quot;active&quot;: 'active' from </a:s>
               <a:s r="213">
                  <a:s>&quot;ConditionClinicalStatusCodes&quot;</a:s>
               </a:s>
            </a:s>
         </annotation>
         <codeSystem localId="213" locator="10:30-10:59" name="ConditionClinicalStatusCodes"/>
      </def>
      <def localId="215" locator="11:1-11:67" name="recurrence" id="recurrence" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="215">
               <a:s>code &quot;recurrence&quot;: 'recurrence' from </a:s>
               <a:s r="216">
                  <a:s>&quot;ConditionClinicalStatusCodes&quot;</a:s>
               </a:s>
            </a:s>
         </annotation>
         <codeSystem localId="216" locator="11:38-11:67" name="ConditionClinicalStatusCodes"/>
      </def>
      <def localId="218" locator="12:1-12:61" name="relapse" id="relapse" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="218">
               <a:s>code &quot;relapse&quot;: 'relapse' from </a:s>
               <a:s r="219">
                  <a:s>&quot;ConditionClinicalStatusCodes&quot;</a:s>
               </a:s>
            </a:s>
         </annotation>
         <codeSystem localId="219" locator="12:32-12:61" name="ConditionClinicalStatusCodes"/>
      </def>
      <def localId="221" locator="13:1-13:63" name="inactive" id="inactive" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="221">
               <a:s>code &quot;inactive&quot;: 'inactive' from </a:s>
               <a:s r="222">
                  <a:s>&quot;ConditionClinicalStatusCodes&quot;</a:s>
               </a:s>
            </a:s>
         </annotation>
         <codeSystem localId="222" locator="13:34-13:63" name="ConditionClinicalStatusCodes"/>
      </def>
      <def localId="224" locator="14:1-14:65" name="remission" id="remission" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="224">
               <a:s>code &quot;remission&quot;: 'remission' from </a:s>
               <a:s r="225">
                  <a:s>&quot;ConditionClinicalStatusCodes&quot;</a:s>
               </a:s>
            </a:s>
         </annotation>
         <codeSystem localId="225" locator="14:36-14:65" name="ConditionClinicalStatusCodes"/>
      </def>
      <def localId="227" locator="15:1-15:63" name="resolved" id="resolved" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="227">
               <a:s>code &quot;resolved&quot;: 'resolved' from </a:s>
               <a:s r="228">
                  <a:s>&quot;ConditionClinicalStatusCodes&quot;</a:s>
               </a:s>
            </a:s>
         </annotation>
         <codeSystem localId="228" locator="15:34-15:63" name="ConditionClinicalStatusCodes"/>
      </def>
   </codes>
   <contexts>
      <def localId="233" locator="17:1-17:15" name="Patient"/>
   </contexts>
   <statements>
      <def localId="231" locator="17:1-17:15" name="Patient" context="Patient">
         <expression localId="232" xsi:type="SingletonFrom">
            <operand localId="230" locator="17:1-17:15" dataType="fhir:Patient" templateId="http://hl7.org/fhir/StructureDefinition/Patient" xsi:type="Retrieve"/>
         </expression>
      </def>
      <def localId="234" locator="19:1-20:57" name="official" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="234">
               <a:s>define fluent function official(identifiers List&lt;Identifier>):
  </a:s>
               <a:s r="240">
                  <a:s r="240">
                     <a:s>singleton from </a:s>
                     <a:s r="253">
                        <a:s>(</a:s>
                        <a:s r="253">
                           <a:s>
                              <a:s r="241">
                                 <a:s r="242">
                                    <a:s>
                                       <a:s>identifiers</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s> I</a:s>
                              </a:s>
                           </a:s>
                           <a:s> </a:s>
                           <a:s r="244">
                              <a:s>where </a:s>
                              <a:s r="244">
                                 <a:s r="246">
                                    <a:s r="245">
                                       <a:s>I</a:s>
                                    </a:s>
                                    <a:s>.</a:s>
                                    <a:s r="246">
                                       <a:s>use</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s> = </a:s>
                                 <a:s r="247">
                                    <a:s>'official'</a:s>
                                 </a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                        <a:s>)</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="240" locator="20:3-20:57" xsi:type="SingletonFrom">
            <operand localId="253" locator="20:18-20:57" xsi:type="Query">
               <source localId="241" locator="20:19-20:31" alias="I">
                  <expression localId="242" locator="20:19-20:29" name="identifiers" xsi:type="OperandRef"/>
               </source>
               <where localId="244" locator="20:33-20:56" xsi:type="Equal">
                  <signature localId="251" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="252" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="249" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="250" name="fhir:IdentifierUse" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="246" locator="20:39-20:43" path="use" scope="I" xsi:type="Property"/>
                  </operand>
                  <operand localId="247" locator="20:47-20:56" valueType="t:String" value="official" xsi:type="Literal"/>
               </where>
            </operand>
         </expression>
         <operand localId="237" name="identifiers">
            <operandTypeSpecifier localId="235" locator="19:45-19:60" xsi:type="ListTypeSpecifier">
               <elementType localId="236" locator="19:50-19:59" name="fhir:Identifier" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="254" locator="22:1-23:55" name="official" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="254">
               <a:s>define fluent function official(addresses List&lt;Address>):
  </a:s>
               <a:s r="260">
                  <a:s r="260">
                     <a:s>singleton from </a:s>
                     <a:s r="273">
                        <a:s>(</a:s>
                        <a:s r="273">
                           <a:s>
                              <a:s r="261">
                                 <a:s r="262">
                                    <a:s>
                                       <a:s>addresses</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s> A</a:s>
                              </a:s>
                           </a:s>
                           <a:s> </a:s>
                           <a:s r="264">
                              <a:s>where </a:s>
                              <a:s r="264">
                                 <a:s r="266">
                                    <a:s r="265">
                                       <a:s>A</a:s>
                                    </a:s>
                                    <a:s>.</a:s>
                                    <a:s r="266">
                                       <a:s>use</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s> = </a:s>
                                 <a:s r="267">
                                    <a:s>'official'</a:s>
                                 </a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                        <a:s>)</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="260" locator="23:3-23:55" xsi:type="SingletonFrom">
            <signature localId="274" xsi:type="ListTypeSpecifier">
               <elementType localId="275" name="fhir:Address" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <operand localId="273" locator="23:18-23:55" xsi:type="Query">
               <source localId="261" locator="23:19-23:29" alias="A">
                  <expression localId="262" locator="23:19-23:27" name="addresses" xsi:type="OperandRef"/>
               </source>
               <where localId="264" locator="23:31-23:54" xsi:type="Equal">
                  <signature localId="271" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="272" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="269" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="270" name="fhir:AddressUse" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="266" locator="23:37-23:41" path="use" scope="A" xsi:type="Property"/>
                  </operand>
                  <operand localId="267" locator="23:45-23:54" valueType="t:String" value="official" xsi:type="Literal"/>
               </where>
            </operand>
         </expression>
         <operand localId="257" name="addresses">
            <operandTypeSpecifier localId="255" locator="22:43-22:55" xsi:type="ListTypeSpecifier">
               <elementType localId="256" locator="22:48-22:54" name="fhir:Address" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="276" locator="25:1-26:51" name="official" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="276">
               <a:s>define fluent function official(names List&lt;HumanName>):
  </a:s>
               <a:s r="282">
                  <a:s r="282">
                     <a:s>singleton from </a:s>
                     <a:s r="295">
                        <a:s>(</a:s>
                        <a:s r="295">
                           <a:s>
                              <a:s r="283">
                                 <a:s r="284">
                                    <a:s>
                                       <a:s>names</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s> N</a:s>
                              </a:s>
                           </a:s>
                           <a:s> </a:s>
                           <a:s r="286">
                              <a:s>where </a:s>
                              <a:s r="286">
                                 <a:s r="288">
                                    <a:s r="287">
                                       <a:s>N</a:s>
                                    </a:s>
                                    <a:s>.</a:s>
                                    <a:s r="288">
                                       <a:s>use</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s> = </a:s>
                                 <a:s r="289">
                                    <a:s>'official'</a:s>
                                 </a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                        <a:s>)</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="282" locator="26:3-26:51" xsi:type="SingletonFrom">
            <signature localId="296" xsi:type="ListTypeSpecifier">
               <elementType localId="297" name="fhir:HumanName" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <operand localId="295" locator="26:18-26:51" xsi:type="Query">
               <source localId="283" locator="26:19-26:25" alias="N">
                  <expression localId="284" locator="26:19-26:23" name="names" xsi:type="OperandRef"/>
               </source>
               <where localId="286" locator="26:27-26:50" xsi:type="Equal">
                  <signature localId="293" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="294" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="291" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="292" name="fhir:NameUse" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="288" locator="26:33-26:37" path="use" scope="N" xsi:type="Property"/>
                  </operand>
                  <operand localId="289" locator="26:41-26:50" valueType="t:String" value="official" xsi:type="Literal"/>
               </where>
            </operand>
         </expression>
         <operand localId="279" name="names">
            <operandTypeSpecifier localId="277" locator="25:39-25:53" xsi:type="ListTypeSpecifier">
               <elementType localId="278" locator="25:44-25:52" name="fhir:HumanName" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="298" locator="28:1-29:57" name="mobile" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="298">
               <a:s>define fluent function mobile(contactPoints List&lt;ContactPoint>):
  </a:s>
               <a:s r="304">
                  <a:s r="304">
                     <a:s>singleton from </a:s>
                     <a:s r="317">
                        <a:s>(</a:s>
                        <a:s r="317">
                           <a:s>
                              <a:s r="305">
                                 <a:s r="306">
                                    <a:s>
                                       <a:s>contactPoints</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s> P</a:s>
                              </a:s>
                           </a:s>
                           <a:s> </a:s>
                           <a:s r="308">
                              <a:s>where </a:s>
                              <a:s r="308">
                                 <a:s r="310">
                                    <a:s r="309">
                                       <a:s>P</a:s>
                                    </a:s>
                                    <a:s>.</a:s>
                                    <a:s r="310">
                                       <a:s>use</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s> = </a:s>
                                 <a:s r="311">
                                    <a:s>'mobile'</a:s>
                                 </a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                        <a:s>)</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="304" locator="29:3-29:57" xsi:type="SingletonFrom">
            <signature localId="318" xsi:type="ListTypeSpecifier">
               <elementType localId="319" name="fhir:ContactPoint" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <operand localId="317" locator="29:18-29:57" xsi:type="Query">
               <source localId="305" locator="29:19-29:33" alias="P">
                  <expression localId="306" locator="29:19-29:31" name="contactPoints" xsi:type="OperandRef"/>
               </source>
               <where localId="308" locator="29:35-29:56" xsi:type="Equal">
                  <signature localId="315" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="316" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="313" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="314" name="fhir:ContactPointUse" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="310" locator="29:41-29:45" path="use" scope="P" xsi:type="Property"/>
                  </operand>
                  <operand localId="311" locator="29:49-29:56" valueType="t:String" value="mobile" xsi:type="Literal"/>
               </where>
            </operand>
         </expression>
         <operand localId="301" name="contactPoints">
            <operandTypeSpecifier localId="299" locator="28:45-28:62" xsi:type="ListTypeSpecifier">
               <elementType localId="300" locator="28:50-28:61" name="fhir:ContactPoint" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="320" locator="31:1-32:26" name="only" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="320">
               <a:s>define fluent function only(allergies List&lt;AllergyIntolerance>):
  </a:s>
               <a:s r="326">
                  <a:s r="326">
                     <a:s>singleton from </a:s>
                     <a:s r="327">
                        <a:s>allergies</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="326" locator="32:3-32:26" xsi:type="SingletonFrom">
            <signature localId="328" xsi:type="ListTypeSpecifier">
               <elementType localId="329" name="fhir:AllergyIntolerance" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <operand localId="327" locator="32:18-32:26" name="allergies" xsi:type="OperandRef"/>
         </expression>
         <operand localId="323" name="allergies">
            <operandTypeSpecifier localId="321" locator="31:39-31:62" xsi:type="ListTypeSpecifier">
               <elementType localId="322" locator="31:44-31:61" name="fhir:AllergyIntolerance" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="330" locator="34:1-35:29" name="only" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="330">
               <a:s>define fluent function only(appointments List&lt;Appointment>):
  </a:s>
               <a:s r="336">
                  <a:s r="336">
                     <a:s>singleton from </a:s>
                     <a:s r="337">
                        <a:s>appointments</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="336" locator="35:3-35:29" xsi:type="SingletonFrom">
            <signature localId="338" xsi:type="ListTypeSpecifier">
               <elementType localId="339" name="fhir:Appointment" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <operand localId="337" locator="35:18-35:29" name="appointments" xsi:type="OperandRef"/>
         </expression>
         <operand localId="333" name="appointments">
            <operandTypeSpecifier localId="331" locator="34:42-34:58" xsi:type="ListTypeSpecifier">
               <elementType localId="332" locator="34:47-34:57" name="fhir:Appointment" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="340" locator="37:1-38:26" name="only" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="340">
               <a:s>define fluent function only(careplans List&lt;CarePlan>):
  </a:s>
               <a:s r="346">
                  <a:s r="346">
                     <a:s>singleton from </a:s>
                     <a:s r="347">
                        <a:s>careplans</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="346" locator="38:3-38:26" xsi:type="SingletonFrom">
            <signature localId="348" xsi:type="ListTypeSpecifier">
               <elementType localId="349" name="fhir:CarePlan" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <operand localId="347" locator="38:18-38:26" name="careplans" xsi:type="OperandRef"/>
         </expression>
         <operand localId="343" name="careplans">
            <operandTypeSpecifier localId="341" locator="37:39-37:52" xsi:type="ListTypeSpecifier">
               <elementType localId="342" locator="37:44-37:51" name="fhir:CarePlan" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="350" locator="40:1-41:27" name="only" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="350">
               <a:s>define fluent function only(conditions List&lt;Condition>):
  </a:s>
               <a:s r="356">
                  <a:s r="356">
                     <a:s>singleton from </a:s>
                     <a:s r="357">
                        <a:s>conditions</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="356" locator="41:3-41:27" xsi:type="SingletonFrom">
            <signature localId="358" xsi:type="ListTypeSpecifier">
               <elementType localId="359" name="fhir:Condition" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <operand localId="357" locator="41:18-41:27" name="conditions" xsi:type="OperandRef"/>
         </expression>
         <operand localId="353" name="conditions">
            <operandTypeSpecifier localId="351" locator="40:40-40:54" xsi:type="ListTypeSpecifier">
               <elementType localId="352" locator="40:45-40:53" name="fhir:Condition" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="360" locator="43:1-44:27" name="only" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="360">
               <a:s>define fluent function only(encounters List&lt;Encounter>):
  </a:s>
               <a:s r="366">
                  <a:s r="366">
                     <a:s>singleton from </a:s>
                     <a:s r="367">
                        <a:s>encounters</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="366" locator="44:3-44:27" xsi:type="SingletonFrom">
            <signature localId="368" xsi:type="ListTypeSpecifier">
               <elementType localId="369" name="fhir:Encounter" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <operand localId="367" locator="44:18-44:27" name="encounters" xsi:type="OperandRef"/>
         </expression>
         <operand localId="363" name="encounters">
            <operandTypeSpecifier localId="361" locator="43:40-43:54" xsi:type="ListTypeSpecifier">
               <elementType localId="362" locator="43:45-43:53" name="fhir:Encounter" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="370" locator="46:1-47:30" name="only" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="370">
               <a:s>define fluent function only(immunizations List&lt;Immunization>):
  </a:s>
               <a:s r="376">
                  <a:s r="376">
                     <a:s>singleton from </a:s>
                     <a:s r="377">
                        <a:s>immunizations</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="376" locator="47:3-47:30" xsi:type="SingletonFrom">
            <signature localId="378" xsi:type="ListTypeSpecifier">
               <elementType localId="379" name="fhir:Immunization" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <operand localId="377" locator="47:18-47:30" name="immunizations" xsi:type="OperandRef"/>
         </expression>
         <operand localId="373" name="immunizations">
            <operandTypeSpecifier localId="371" locator="46:43-46:60" xsi:type="ListTypeSpecifier">
               <elementType localId="372" locator="46:48-46:59" name="fhir:Immunization" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="380" locator="49:1-50:26" name="only" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="380">
               <a:s>define fluent function only(locations List&lt;Location>):
  </a:s>
               <a:s r="386">
                  <a:s r="386">
                     <a:s>singleton from </a:s>
                     <a:s r="387">
                        <a:s>locations</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="386" locator="50:3-50:26" xsi:type="SingletonFrom">
            <signature localId="388" xsi:type="ListTypeSpecifier">
               <elementType localId="389" name="fhir:Location" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <operand localId="387" locator="50:18-50:26" name="locations" xsi:type="OperandRef"/>
         </expression>
         <operand localId="383" name="locations">
            <operandTypeSpecifier localId="381" locator="49:39-49:52" xsi:type="ListTypeSpecifier">
               <elementType localId="382" locator="49:44-49:51" name="fhir:Location" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="390" locator="52:1-53:35" name="only" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="390">
               <a:s>define fluent function only(medicationrequests List&lt;MedicationRequest>):
  </a:s>
               <a:s r="396">
                  <a:s r="396">
                     <a:s>singleton from </a:s>
                     <a:s r="397">
                        <a:s>medicationrequests</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="396" locator="53:3-53:35" xsi:type="SingletonFrom">
            <signature localId="398" xsi:type="ListTypeSpecifier">
               <elementType localId="399" name="fhir:MedicationRequest" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <operand localId="397" locator="53:18-53:35" name="medicationrequests" xsi:type="OperandRef"/>
         </expression>
         <operand localId="393" name="medicationrequests">
            <operandTypeSpecifier localId="391" locator="52:48-52:70" xsi:type="ListTypeSpecifier">
               <elementType localId="392" locator="52:53-52:69" name="fhir:MedicationRequest" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="400" locator="55:1-56:29" name="only" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="400">
               <a:s>define fluent function only(observations List&lt;Observation>):
  </a:s>
               <a:s r="406">
                  <a:s r="406">
                     <a:s>singleton from </a:s>
                     <a:s r="407">
                        <a:s>observations</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="406" locator="56:3-56:29" xsi:type="SingletonFrom">
            <signature localId="408" xsi:type="ListTypeSpecifier">
               <elementType localId="409" name="fhir:Observation" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <operand localId="407" locator="56:18-56:29" name="observations" xsi:type="OperandRef"/>
         </expression>
         <operand localId="403" name="observations">
            <operandTypeSpecifier localId="401" locator="55:42-55:58" xsi:type="ListTypeSpecifier">
               <elementType localId="402" locator="55:47-55:57" name="fhir:Observation" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="410" locator="58:1-59:27" name="only" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="410">
               <a:s>define fluent function only(procedures List&lt;Procedure>):
  </a:s>
               <a:s r="416">
                  <a:s r="416">
                     <a:s>singleton from </a:s>
                     <a:s r="417">
                        <a:s>procedures</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="416" locator="59:3-59:27" xsi:type="SingletonFrom">
            <signature localId="418" xsi:type="ListTypeSpecifier">
               <elementType localId="419" name="fhir:Procedure" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <operand localId="417" locator="59:18-59:27" name="procedures" xsi:type="OperandRef"/>
         </expression>
         <operand localId="413" name="procedures">
            <operandTypeSpecifier localId="411" locator="58:40-58:54" xsi:type="ListTypeSpecifier">
               <elementType localId="412" locator="58:45-58:53" name="fhir:Procedure" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="420" locator="61:1-62:32" name="only" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="420">
               <a:s>define fluent function only(serviceRequests List&lt;ServiceRequest>):
  </a:s>
               <a:s r="426">
                  <a:s r="426">
                     <a:s>singleton from </a:s>
                     <a:s r="427">
                        <a:s>serviceRequests</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="426" locator="62:3-62:32" xsi:type="SingletonFrom">
            <signature localId="428" xsi:type="ListTypeSpecifier">
               <elementType localId="429" name="fhir:ServiceRequest" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <operand localId="427" locator="62:18-62:32" name="serviceRequests" xsi:type="OperandRef"/>
         </expression>
         <operand localId="423" name="serviceRequests">
            <operandTypeSpecifier localId="421" locator="61:45-61:64" xsi:type="ListTypeSpecifier">
               <elementType localId="422" locator="61:50-61:63" name="fhir:ServiceRequest" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="430" locator="64:1-65:24" name="only" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="430">
               <a:s>define fluent function only(dosages List&lt;Dosage>):
  </a:s>
               <a:s r="436">
                  <a:s r="436">
                     <a:s>singleton from </a:s>
                     <a:s r="437">
                        <a:s>dosages</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="436" locator="65:3-65:24" xsi:type="SingletonFrom">
            <signature localId="438" xsi:type="ListTypeSpecifier">
               <elementType localId="439" name="fhir:Dosage" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <operand localId="437" locator="65:18-65:24" name="dosages" xsi:type="OperandRef"/>
         </expression>
         <operand localId="433" name="dosages">
            <operandTypeSpecifier localId="431" locator="64:37-64:48" xsi:type="ListTypeSpecifier">
               <elementType localId="432" locator="64:42-64:47" name="fhir:Dosage" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="440" locator="67:1-68:22" name="only" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="440">
               <a:s>define fluent function only(doses List&lt;FHIR.Dosage.DoseAndRate>):
  </a:s>
               <a:s r="446">
                  <a:s r="446">
                     <a:s>singleton from </a:s>
                     <a:s r="447">
                        <a:s>doses</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="446" locator="68:3-68:22" xsi:type="SingletonFrom">
            <signature localId="448" xsi:type="ListTypeSpecifier">
               <elementType localId="449" name="fhir:Dosage.DoseAndRate" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <operand localId="447" locator="68:18-68:22" name="doses" xsi:type="OperandRef"/>
         </expression>
         <operand localId="443" name="doses">
            <operandTypeSpecifier localId="441" locator="67:35-67:63" xsi:type="ListTypeSpecifier">
               <elementType localId="442" locator="67:40-67:62" name="fhir:Dosage.DoseAndRate" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="450" locator="70:1-74:3" name="earliest" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="450">
               <a:s>define fluent function earliest(observations List&lt;Observation>):
  </a:s>
               <a:s r="474">
                  <a:s r="474">
                     <a:s>First(
    </a:s>
                     <a:s r="471">
                        <a:s>
                           <a:s r="456">
                              <a:s r="457">
                                 <a:s>
                                    <a:s>observations</a:s>
                                 </a:s>
                              </a:s>
                              <a:s> O</a:s>
                           </a:s>
                        </a:s>
                        <a:s>
      </a:s>
                        <a:s r="461">
                           <a:s>sort by </a:s>
                           <a:s r="460">
                              <a:s r="459">
                                 <a:s>issued</a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                     <a:s>
  )</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="474" locator="71:3-74:3" xsi:type="First">
            <source localId="471" locator="72:5-73:20" xsi:type="Query">
               <source localId="456" locator="72:5-72:18" alias="O">
                  <expression localId="457" locator="72:5-72:16" name="observations" xsi:type="OperandRef"/>
               </source>
               <sort localId="461" locator="73:7-73:20">
                  <by localId="460" locator="73:15-73:20" direction="asc" path="issued" xsi:type="ByColumn"/>
               </sort>
            </source>
         </expression>
         <operand localId="453" name="observations">
            <operandTypeSpecifier localId="451" locator="70:46-70:62" xsi:type="ListTypeSpecifier">
               <elementType localId="452" locator="70:51-70:61" name="fhir:Observation" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="475" locator="76:1-80:3" name="earliest" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="475">
               <a:s>define fluent function earliest(immunizations List&lt;Immunization>):
  </a:s>
               <a:s r="686">
                  <a:s r="686">
                     <a:s>First(
    </a:s>
                     <a:s r="681">
                        <a:s>
                           <a:s r="481">
                              <a:s r="482">
                                 <a:s>
                                    <a:s>immunizations</a:s>
                                 </a:s>
                              </a:s>
                              <a:s> I</a:s>
                           </a:s>
                        </a:s>
                        <a:s>
      </a:s>
                        <a:s r="675">
                           <a:s>sort by </a:s>
                           <a:s r="674">
                              <a:s r="484">
                                 <a:s>start of </a:s>
                                 <a:s r="496">
                                    <a:s r="485">
                                       <a:s>occurrence</a:s>
                                    </a:s>
                                    <a:s>.</a:s>
                                    <a:s r="496">
                                       <a:s>toInterval()</a:s>
                                    </a:s>
                                 </a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                     <a:s>
  )</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="686" locator="77:3-80:3" xsi:type="First">
            <signature localId="687" xsi:type="ListTypeSpecifier">
               <elementType localId="688" name="fhir:Immunization" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <source localId="681" locator="78:5-79:46" xsi:type="Query">
               <source localId="481" locator="78:5-78:19" alias="I">
                  <expression localId="482" locator="78:5-78:17" name="immunizations" xsi:type="OperandRef"/>
               </source>
               <sort localId="675" locator="79:7-79:46">
                  <by localId="674" locator="79:15-79:46" direction="asc" xsi:type="ByExpression">
                     <expression localId="484" locator="79:15-79:46" xsi:type="Start">
                        <operand localId="496" locator="79:24-79:46" name="toInterval" xsi:type="FunctionRef">
                           <operand localId="485" locator="79:24-79:33" name="occurrence" xsi:type="IdentifierRef"/>
                        </operand>
                     </expression>
                  </by>
               </sort>
            </source>
         </expression>
         <operand localId="478" name="immunizations">
            <operandTypeSpecifier localId="476" locator="76:47-76:64" xsi:type="ListTypeSpecifier">
               <elementType localId="477" locator="76:52-76:63" name="fhir:Immunization" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="486" locator="165:1-185:5" name="toInterval" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:t name="description" value="Normalizes a value that is a choice of timing-valued types to an equivalent interval"/>
            <a:t name="comment" value="Normalizes a choice type of FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instance, FHIR.string, FHIR.Age, or FHIR.Range types&#xa;to an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible&#xa;representations for timing-valued elements in FHIR, allowing this function to be used across any resource.&#xa;&#xa;The input can be provided as a dateTime, Period, Timing, instant, string, Age, or Range.&#xa;The intent of this function is to provide a clear and concise mechanism to treat single&#xa;elements that have multiple possible representations as intervals so that logic doesn't have to account&#xa;for the variability. More complex calculations (such as medication request period or dispense period&#xa;calculation) need specific guidance and consideration. That guidance may make use of this function, but&#xa;the focus of this function is on single element calculations where the semantics are unambiguous.&#xa;If the input is a dateTime, the result a DateTime Interval beginning and ending on that dateTime.&#xa;If the input is a Period, the result is a DateTime Interval.&#xa;If the input is a Timing, an error is raised indicating a single interval cannot be computed from a Timing.&#xa;If the input is an instant, the result is a DateTime Interval beginning and ending on that instant.&#xa;If the input is a string, an error is raised indicating a single interval cannot be computed from a string.&#xa;If the input is an Age, the result is a DateTime Interval beginning when the patient was the given Age,&#xa;and ending immediately prior to when the patient was the given Age plus one year.&#xa;If the input is a Range, the result is a DateTime Interval beginning when the patient was the Age given&#xa;by the low end of the Range, and ending immediately prior to when the patient was the Age given by the&#xa;high end of the Range plus one year.&#xa;&#xa;NOTE: Due to the&#xa;complexity of determining a single interval from a Timing or String type, this function will throw a run-time exception if it is used&#xa;with a Timing or String."/>
            <a:s r="486">
               <a:s>/*
From FHIRCommon 4.1.0:
*/

/*
@description: Normalizes a value that is a choice of timing-valued types to an equivalent interval
@comment: Normalizes a choice type of FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instance, FHIR.string, FHIR.Age, or FHIR.Range types
to an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible
representations for timing-valued elements in FHIR, allowing this function to be used across any resource.

The input can be provided as a dateTime, Period, Timing, instant, string, Age, or Range.
The intent of this function is to provide a clear and concise mechanism to treat single
elements that have multiple possible representations as intervals so that logic doesn't have to account
for the variability. More complex calculations (such as medication request period or dispense period
calculation) need specific guidance and consideration. That guidance may make use of this function, but
the focus of this function is on single element calculations where the semantics are unambiguous.
If the input is a dateTime, the result a DateTime Interval beginning and ending on that dateTime.
If the input is a Period, the result is a DateTime Interval.
If the input is a Timing, an error is raised indicating a single interval cannot be computed from a Timing.
If the input is an instant, the result is a DateTime Interval beginning and ending on that instant.
If the input is a string, an error is raised indicating a single interval cannot be computed from a string.
If the input is an Age, the result is a DateTime Interval beginning when the patient was the given Age,
and ending immediately prior to when the patient was the given Age plus one year.
If the input is a Range, the result is a DateTime Interval beginning when the patient was the Age given
by the low end of the Range, and ending immediately prior to when the patient was the Age given by the
high end of the Range plus one year.

NOTE: Due to the
complexity of determining a single interval from a Timing or String type, this function will throw a run-time exception if it is used
with a Timing or String.
*/
define fluent function toInterval(choice Choice&lt;FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instant, FHIR.string, FHIR.Age, FHIR.Range>):
  </a:s>
               <a:s r="932">
                  <a:s r="932">
                     <a:s>case
    </a:s>
                     <a:s r="933">
                        <a:s>when </a:s>
                        <a:s r="934">
                           <a:s r="935">
                              <a:s>choice</a:s>
                           </a:s>
                           <a:s> is </a:s>
                           <a:s r="936">
                              <a:s>FHIR.dateTime</a:s>
                           </a:s>
                        </a:s>
                        <a:s> then
      </a:s>
                        <a:s r="949">
                           <a:s>Interval[</a:s>
                           <a:s r="941">
                              <a:s r="937">
                                 <a:s>FHIRHelpers</a:s>
                              </a:s>
                              <a:s>.</a:s>
                              <a:s r="941">
                                 <a:s>ToDateTime(</a:s>
                                 <a:s r="938">
                                    <a:s r="939">
                                       <a:s>choice</a:s>
                                    </a:s>
                                    <a:s> as </a:s>
                                    <a:s r="940">
                                       <a:s>FHIR.dateTime</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s>)</a:s>
                              </a:s>
                           </a:s>
                           <a:s>, </a:s>
                           <a:s r="947">
                              <a:s r="943">
                                 <a:s>FHIRHelpers</a:s>
                              </a:s>
                              <a:s>.</a:s>
                              <a:s r="947">
                                 <a:s>ToDateTime(</a:s>
                                 <a:s r="944">
                                    <a:s r="945">
                                       <a:s>choice</a:s>
                                    </a:s>
                                    <a:s> as </a:s>
                                    <a:s r="946">
                                       <a:s>FHIR.dateTime</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s>)</a:s>
                              </a:s>
                           </a:s>
                           <a:s>]</a:s>
                        </a:s>
                     </a:s>
                     <a:s>
    </a:s>
                     <a:s r="950">
                        <a:s>when </a:s>
                        <a:s r="951">
                           <a:s r="952">
                              <a:s>choice</a:s>
                           </a:s>
                           <a:s> is </a:s>
                           <a:s r="953">
                              <a:s>FHIR.Period</a:s>
                           </a:s>
                        </a:s>
                        <a:s> then
      </a:s>
                        <a:s r="958">
                           <a:s r="954">
                              <a:s>FHIRHelpers</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="958">
                              <a:s>ToInterval(</a:s>
                              <a:s r="955">
                                 <a:s r="956">
                                    <a:s>choice</a:s>
                                 </a:s>
                                 <a:s> as </a:s>
                                 <a:s r="957">
                                    <a:s>FHIR.Period</a:s>
                                 </a:s>
                              </a:s>
                              <a:s>)</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                     <a:s>
    </a:s>
                     <a:s r="960">
                        <a:s>when </a:s>
                        <a:s r="961">
                           <a:s r="962">
                              <a:s>choice</a:s>
                           </a:s>
                           <a:s> is </a:s>
                           <a:s r="963">
                              <a:s>FHIR.instant</a:s>
                           </a:s>
                        </a:s>
                        <a:s> then
      </a:s>
                        <a:s r="976">
                           <a:s>Interval[</a:s>
                           <a:s r="968">
                              <a:s r="964">
                                 <a:s>FHIRHelpers</a:s>
                              </a:s>
                              <a:s>.</a:s>
                              <a:s r="968">
                                 <a:s>ToDateTime(</a:s>
                                 <a:s r="965">
                                    <a:s r="966">
                                       <a:s>choice</a:s>
                                    </a:s>
                                    <a:s> as </a:s>
                                    <a:s r="967">
                                       <a:s>FHIR.instant</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s>)</a:s>
                              </a:s>
                           </a:s>
                           <a:s>, </a:s>
                           <a:s r="974">
                              <a:s r="970">
                                 <a:s>FHIRHelpers</a:s>
                              </a:s>
                              <a:s>.</a:s>
                              <a:s r="974">
                                 <a:s>ToDateTime(</a:s>
                                 <a:s r="971">
                                    <a:s r="972">
                                       <a:s>choice</a:s>
                                    </a:s>
                                    <a:s> as </a:s>
                                    <a:s r="973">
                                       <a:s>FHIR.instant</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s>)</a:s>
                              </a:s>
                           </a:s>
                           <a:s>]</a:s>
                        </a:s>
                     </a:s>
                     <a:s>
    </a:s>
                     <a:s r="977">
                        <a:s>when </a:s>
                        <a:s r="978">
                           <a:s r="979">
                              <a:s>choice</a:s>
                           </a:s>
                           <a:s> is </a:s>
                           <a:s r="980">
                              <a:s>FHIR.Age</a:s>
                           </a:s>
                        </a:s>
                        <a:s> then
      </a:s>
                        <a:s r="1009">
                           <a:s>Interval[</a:s>
                           <a:s r="981">
                              <a:s r="985">
                                 <a:s r="982">
                                    <a:s>FHIRHelpers</a:s>
                                 </a:s>
                                 <a:s>.</a:s>
                                 <a:s r="985">
                                    <a:s>ToDate(</a:s>
                                    <a:s r="984">
                                       <a:s r="983">
                                          <a:s>Patient</a:s>
                                       </a:s>
                                       <a:s>.</a:s>
                                       <a:s r="984">
                                          <a:s>birthDate</a:s>
                                       </a:s>
                                    </a:s>
                                    <a:s>)</a:s>
                                 </a:s>
                              </a:s>
                              <a:s> + </a:s>
                              <a:s r="990">
                                 <a:s r="986">
                                    <a:s>FHIRHelpers</a:s>
                                 </a:s>
                                 <a:s>.</a:s>
                                 <a:s r="990">
                                    <a:s>ToQuantity(</a:s>
                                    <a:s r="987">
                                       <a:s r="988">
                                          <a:s>choice</a:s>
                                       </a:s>
                                       <a:s> as </a:s>
                                       <a:s r="989">
                                          <a:s>FHIR.Age</a:s>
                                       </a:s>
                                    </a:s>
                                    <a:s>)</a:s>
                                 </a:s>
                              </a:s>
                           </a:s>
                           <a:s>,
        </a:s>
                           <a:s r="993">
                              <a:s r="994">
                                 <a:s r="998">
                                    <a:s r="995">
                                       <a:s>FHIRHelpers</a:s>
                                    </a:s>
                                    <a:s>.</a:s>
                                    <a:s r="998">
                                       <a:s>ToDate(</a:s>
                                       <a:s r="997">
                                          <a:s r="996">
                                             <a:s>Patient</a:s>
                                          </a:s>
                                          <a:s>.</a:s>
                                          <a:s r="997">
                                             <a:s>birthDate</a:s>
                                          </a:s>
                                       </a:s>
                                       <a:s>)</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s> + </a:s>
                                 <a:s r="1003">
                                    <a:s r="999">
                                       <a:s>FHIRHelpers</a:s>
                                    </a:s>
                                    <a:s>.</a:s>
                                    <a:s r="1003">
                                       <a:s>ToQuantity(</a:s>
                                       <a:s r="1000">
                                          <a:s r="1001">
                                             <a:s>choice</a:s>
                                          </a:s>
                                          <a:s> as </a:s>
                                          <a:s r="1002">
                                             <a:s>FHIR.Age</a:s>
                                          </a:s>
                                       </a:s>
                                       <a:s>)</a:s>
                                    </a:s>
                                 </a:s>
                              </a:s>
                              <a:s> + </a:s>
                              <a:s r="1006">
                                 <a:s>1 year</a:s>
                              </a:s>
                           </a:s>
                           <a:s>)</a:s>
                        </a:s>
                     </a:s>
                     <a:s>
    </a:s>
                     <a:s r="1010">
                        <a:s>when </a:s>
                        <a:s r="1011">
                           <a:s r="1012">
                              <a:s>choice</a:s>
                           </a:s>
                           <a:s> is </a:s>
                           <a:s r="1013">
                              <a:s>FHIR.Range</a:s>
                           </a:s>
                        </a:s>
                        <a:s> then
      </a:s>
                        <a:s r="1044">
                           <a:s>Interval[</a:s>
                           <a:s r="1014">
                              <a:s r="1018">
                                 <a:s r="1015">
                                    <a:s>FHIRHelpers</a:s>
                                 </a:s>
                                 <a:s>.</a:s>
                                 <a:s r="1018">
                                    <a:s>ToDate(</a:s>
                                    <a:s r="1017">
                                       <a:s r="1016">
                                          <a:s>Patient</a:s>
                                       </a:s>
                                       <a:s>.</a:s>
                                       <a:s r="1017">
                                          <a:s>birthDate</a:s>
                                       </a:s>
                                    </a:s>
                                    <a:s>)</a:s>
                                 </a:s>
                              </a:s>
                              <a:s> + </a:s>
                              <a:s r="1024">
                                 <a:s r="1019">
                                    <a:s>FHIRHelpers</a:s>
                                 </a:s>
                                 <a:s>.</a:s>
                                 <a:s r="1024">
                                    <a:s>ToQuantity(</a:s>
                                    <a:s r="1023">
                                       <a:s r="1020">
                                          <a:s>(</a:s>
                                          <a:s r="1020">
                                             <a:s r="1021">
                                                <a:s>choice</a:s>
                                             </a:s>
                                             <a:s> as </a:s>
                                             <a:s r="1022">
                                                <a:s>FHIR.Range</a:s>
                                             </a:s>
                                          </a:s>
                                          <a:s>)</a:s>
                                       </a:s>
                                       <a:s>.</a:s>
                                       <a:s r="1023">
                                          <a:s>low</a:s>
                                       </a:s>
                                    </a:s>
                                    <a:s>)</a:s>
                                 </a:s>
                              </a:s>
                           </a:s>
                           <a:s>,
        </a:s>
                           <a:s r="1027">
                              <a:s r="1028">
                                 <a:s r="1032">
                                    <a:s r="1029">
                                       <a:s>FHIRHelpers</a:s>
                                    </a:s>
                                    <a:s>.</a:s>
                                    <a:s r="1032">
                                       <a:s>ToDate(</a:s>
                                       <a:s r="1031">
                                          <a:s r="1030">
                                             <a:s>Patient</a:s>
                                          </a:s>
                                          <a:s>.</a:s>
                                          <a:s r="1031">
                                             <a:s>birthDate</a:s>
                                          </a:s>
                                       </a:s>
                                       <a:s>)</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s> + </a:s>
                                 <a:s r="1038">
                                    <a:s r="1033">
                                       <a:s>FHIRHelpers</a:s>
                                    </a:s>
                                    <a:s>.</a:s>
                                    <a:s r="1038">
                                       <a:s>ToQuantity(</a:s>
                                       <a:s r="1037">
                                          <a:s r="1034">
                                             <a:s>(</a:s>
                                             <a:s r="1034">
                                                <a:s r="1035">
                                                   <a:s>choice</a:s>
                                                </a:s>
                                                <a:s> as </a:s>
                                                <a:s r="1036">
                                                   <a:s>FHIR.Range</a:s>
                                                </a:s>
                                             </a:s>
                                             <a:s>)</a:s>
                                          </a:s>
                                          <a:s>.</a:s>
                                          <a:s r="1037">
                                             <a:s>high</a:s>
                                          </a:s>
                                       </a:s>
                                       <a:s>)</a:s>
                                    </a:s>
                                 </a:s>
                              </a:s>
                              <a:s> + </a:s>
                              <a:s r="1041">
                                 <a:s>1 year</a:s>
                              </a:s>
                           </a:s>
                           <a:s>)</a:s>
                        </a:s>
                     </a:s>
                     <a:s>
    </a:s>
                     <a:s r="1045">
                        <a:s>when </a:s>
                        <a:s r="1046">
                           <a:s r="1047">
                              <a:s>choice</a:s>
                           </a:s>
                           <a:s> is </a:s>
                           <a:s r="1048">
                              <a:s>FHIR.Timing</a:s>
                           </a:s>
                        </a:s>
                        <a:s> then
      </a:s>
                        <a:s r="1062">
                           <a:s>Message(</a:s>
                           <a:s r="1049">
                              <a:s r="1050">null as </a:s>
                              <a:s r="1051">
                                 <a:s>Interval&lt;</a:s>
                                 <a:s r="1052">
                                    <a:s>DateTime</a:s>
                                 </a:s>
                                 <a:s>></a:s>
                              </a:s>
                           </a:s>
                           <a:s r="1053">, true, </a:s>
                           <a:s r="1054">
                              <a:s>'NOT_IMPLEMENTED'</a:s>
                           </a:s>
                           <a:s>, </a:s>
                           <a:s r="1056">
                              <a:s>'Error'</a:s>
                           </a:s>
                           <a:s>, </a:s>
                           <a:s r="1058">
                              <a:s>'Calculation of an interval from a Timing value is not supported'</a:s>
                           </a:s>
                           <a:s>)</a:s>
                        </a:s>
                     </a:s>
                     <a:s>
    </a:s>
                     <a:s r="1063">
                        <a:s>when </a:s>
                        <a:s r="1064">
                           <a:s r="1065">
                              <a:s>choice</a:s>
                           </a:s>
                           <a:s> is </a:s>
                           <a:s r="1066">
                              <a:s>FHIR.string</a:s>
                           </a:s>
                        </a:s>
                        <a:s> then
      </a:s>
                        <a:s r="1080">
                           <a:s>Message(</a:s>
                           <a:s r="1067">
                              <a:s r="1068">null as </a:s>
                              <a:s r="1069">
                                 <a:s>Interval&lt;</a:s>
                                 <a:s r="1070">
                                    <a:s>DateTime</a:s>
                                 </a:s>
                                 <a:s>></a:s>
                              </a:s>
                           </a:s>
                           <a:s r="1071">, true, </a:s>
                           <a:s r="1072">
                              <a:s>'NOT_IMPLEMENTED'</a:s>
                           </a:s>
                           <a:s>, </a:s>
                           <a:s r="1074">
                              <a:s>'Error'</a:s>
                           </a:s>
                           <a:s>, </a:s>
                           <a:s r="1076">
                              <a:s>'Calculation of an interval from a String value is not supported'</a:s>
                           </a:s>
                           <a:s>)</a:s>
                        </a:s>
                     </a:s>
                     <a:s>
    else
      </a:s>
                     <a:s r="1081">
                        <a:s r="1082">null as </a:s>
                        <a:s r="1083">
                           <a:s>Interval&lt;</a:s>
                           <a:s r="1084">
                              <a:s>DateTime</a:s>
                           </a:s>
                           <a:s>></a:s>
                        </a:s>
                     </a:s>
                     <a:s>
  end</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="932" locator="166:3-185:5" xsi:type="Case">
            <caseItem localId="933" locator="167:5-168:112">
               <when localId="934" locator="167:10-167:32" xsi:type="Is">
                  <operand localId="935" locator="167:10-167:15" name="choice" xsi:type="OperandRef"/>
                  <isTypeSpecifier localId="936" locator="167:20-167:32" name="fhir:dateTime" xsi:type="NamedTypeSpecifier"/>
               </when>
               <then localId="949" locator="168:7-168:112" lowClosed="true" highClosed="true" xsi:type="Interval">
                  <low localId="941" locator="168:16-168:62" name="ToDateTime" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="942" name="fhir:dateTime" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="938" locator="168:39-168:61" strict="false" xsi:type="As">
                        <operand localId="939" locator="168:39-168:44" name="choice" xsi:type="OperandRef"/>
                        <asTypeSpecifier localId="940" locator="168:49-168:61" name="fhir:dateTime" xsi:type="NamedTypeSpecifier"/>
                     </operand>
                  </low>
                  <high localId="947" locator="168:65-168:111" name="ToDateTime" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="948" name="fhir:dateTime" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="944" locator="168:88-168:110" strict="false" xsi:type="As">
                        <operand localId="945" locator="168:88-168:93" name="choice" xsi:type="OperandRef"/>
                        <asTypeSpecifier localId="946" locator="168:98-168:110" name="fhir:dateTime" xsi:type="NamedTypeSpecifier"/>
                     </operand>
                  </high>
               </then>
            </caseItem>
            <caseItem localId="950" locator="169:5-170:51">
               <when localId="951" locator="169:10-169:30" xsi:type="Is">
                  <operand localId="952" locator="169:10-169:15" name="choice" xsi:type="OperandRef"/>
                  <isTypeSpecifier localId="953" locator="169:20-169:30" name="fhir:Period" xsi:type="NamedTypeSpecifier"/>
               </when>
               <then localId="958" locator="170:7-170:51" name="ToInterval" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                  <signature localId="959" name="fhir:Period" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="955" locator="170:30-170:50" strict="false" xsi:type="As">
                     <operand localId="956" locator="170:30-170:35" name="choice" xsi:type="OperandRef"/>
                     <asTypeSpecifier localId="957" locator="170:40-170:50" name="fhir:Period" xsi:type="NamedTypeSpecifier"/>
                  </operand>
               </then>
            </caseItem>
            <caseItem localId="960" locator="171:5-172:110">
               <when localId="961" locator="171:10-171:31" xsi:type="Is">
                  <operand localId="962" locator="171:10-171:15" name="choice" xsi:type="OperandRef"/>
                  <isTypeSpecifier localId="963" locator="171:20-171:31" name="fhir:instant" xsi:type="NamedTypeSpecifier"/>
               </when>
               <then localId="976" locator="172:7-172:110" lowClosed="true" highClosed="true" xsi:type="Interval">
                  <low localId="968" locator="172:16-172:61" name="ToDateTime" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="969" name="fhir:instant" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="965" locator="172:39-172:60" strict="false" xsi:type="As">
                        <operand localId="966" locator="172:39-172:44" name="choice" xsi:type="OperandRef"/>
                        <asTypeSpecifier localId="967" locator="172:49-172:60" name="fhir:instant" xsi:type="NamedTypeSpecifier"/>
                     </operand>
                  </low>
                  <high localId="974" locator="172:64-172:109" name="ToDateTime" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="975" name="fhir:instant" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="971" locator="172:87-172:108" strict="false" xsi:type="As">
                        <operand localId="972" locator="172:87-172:92" name="choice" xsi:type="OperandRef"/>
                        <asTypeSpecifier localId="973" locator="172:97-172:108" name="fhir:instant" xsi:type="NamedTypeSpecifier"/>
                     </operand>
                  </high>
               </then>
            </caseItem>
            <caseItem localId="977" locator="173:5-175:100">
               <when localId="978" locator="173:10-173:27" xsi:type="Is">
                  <operand localId="979" locator="173:10-173:15" name="choice" xsi:type="OperandRef"/>
                  <isTypeSpecifier localId="980" locator="173:20-173:27" name="fhir:Age" xsi:type="NamedTypeSpecifier"/>
               </when>
               <then localId="1085" xsi:type="Interval">
                  <low localId="1088" xsi:type="ToDateTime">
                     <signature localId="1089" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="1086" path="low" xsi:type="Property">
                        <source localId="1009" locator="174:7-175:100" lowClosed="true" highClosed="false" xsi:type="Interval">
                           <low localId="981" locator="174:16-174:97" xsi:type="Add">
                              <signature localId="991" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                              <signature localId="992" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                              <operand localId="985" locator="174:16-174:52" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                 <operand localId="984" locator="174:35-174:51" path="birthDate" xsi:type="Property">
                                    <source localId="983" locator="174:35-174:41" name="Patient" xsi:type="ExpressionRef"/>
                                 </operand>
                              </operand>
                              <operand localId="990" locator="174:56-174:97" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                 <operand localId="987" locator="174:79-174:96" strict="false" xsi:type="As">
                                    <operand localId="988" locator="174:79-174:84" name="choice" xsi:type="OperandRef"/>
                                    <asTypeSpecifier localId="989" locator="174:89-174:96" name="fhir:Age" xsi:type="NamedTypeSpecifier"/>
                                 </operand>
                              </operand>
                           </low>
                           <high localId="993" locator="175:9-175:99" xsi:type="Add">
                              <signature localId="1007" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                              <signature localId="1008" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                              <operand localId="994" locator="175:9-175:90" xsi:type="Add">
                                 <signature localId="1004" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                 <signature localId="1005" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                 <operand localId="998" locator="175:9-175:45" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                    <operand localId="997" locator="175:28-175:44" path="birthDate" xsi:type="Property">
                                       <source localId="996" locator="175:28-175:34" name="Patient" xsi:type="ExpressionRef"/>
                                    </operand>
                                 </operand>
                                 <operand localId="1003" locator="175:49-175:90" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                    <operand localId="1000" locator="175:72-175:89" strict="false" xsi:type="As">
                                       <operand localId="1001" locator="175:72-175:77" name="choice" xsi:type="OperandRef"/>
                                       <asTypeSpecifier localId="1002" locator="175:82-175:89" name="fhir:Age" xsi:type="NamedTypeSpecifier"/>
                                    </operand>
                                 </operand>
                              </operand>
                              <operand localId="1006" locator="175:94-175:99" value="1" unit="year" xsi:type="Quantity"/>
                           </high>
                        </source>
                     </operand>
                  </low>
                  <lowClosedExpression localId="1090" path="lowClosed" xsi:type="Property">
                     <source localId="1009" locator="174:7-175:100" lowClosed="true" highClosed="false" xsi:type="Interval">
                        <low localId="981" locator="174:16-174:97" xsi:type="Add">
                           <signature localId="991" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                           <signature localId="992" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                           <operand localId="985" locator="174:16-174:52" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                              <operand localId="984" locator="174:35-174:51" path="birthDate" xsi:type="Property">
                                 <source localId="983" locator="174:35-174:41" name="Patient" xsi:type="ExpressionRef"/>
                              </operand>
                           </operand>
                           <operand localId="990" locator="174:56-174:97" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                              <operand localId="987" locator="174:79-174:96" strict="false" xsi:type="As">
                                 <operand localId="988" locator="174:79-174:84" name="choice" xsi:type="OperandRef"/>
                                 <asTypeSpecifier localId="989" locator="174:89-174:96" name="fhir:Age" xsi:type="NamedTypeSpecifier"/>
                              </operand>
                           </operand>
                        </low>
                        <high localId="993" locator="175:9-175:99" xsi:type="Add">
                           <signature localId="1007" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                           <signature localId="1008" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                           <operand localId="994" locator="175:9-175:90" xsi:type="Add">
                              <signature localId="1004" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                              <signature localId="1005" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                              <operand localId="998" locator="175:9-175:45" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                 <operand localId="997" locator="175:28-175:44" path="birthDate" xsi:type="Property">
                                    <source localId="996" locator="175:28-175:34" name="Patient" xsi:type="ExpressionRef"/>
                                 </operand>
                              </operand>
                              <operand localId="1003" locator="175:49-175:90" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                 <operand localId="1000" locator="175:72-175:89" strict="false" xsi:type="As">
                                    <operand localId="1001" locator="175:72-175:77" name="choice" xsi:type="OperandRef"/>
                                    <asTypeSpecifier localId="1002" locator="175:82-175:89" name="fhir:Age" xsi:type="NamedTypeSpecifier"/>
                                 </operand>
                              </operand>
                           </operand>
                           <operand localId="1006" locator="175:94-175:99" value="1" unit="year" xsi:type="Quantity"/>
                        </high>
                     </source>
                  </lowClosedExpression>
                  <high localId="1093" xsi:type="ToDateTime">
                     <signature localId="1094" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="1091" path="high" xsi:type="Property">
                        <source localId="1009" locator="174:7-175:100" lowClosed="true" highClosed="false" xsi:type="Interval">
                           <low localId="981" locator="174:16-174:97" xsi:type="Add">
                              <signature localId="991" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                              <signature localId="992" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                              <operand localId="985" locator="174:16-174:52" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                 <operand localId="984" locator="174:35-174:51" path="birthDate" xsi:type="Property">
                                    <source localId="983" locator="174:35-174:41" name="Patient" xsi:type="ExpressionRef"/>
                                 </operand>
                              </operand>
                              <operand localId="990" locator="174:56-174:97" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                 <operand localId="987" locator="174:79-174:96" strict="false" xsi:type="As">
                                    <operand localId="988" locator="174:79-174:84" name="choice" xsi:type="OperandRef"/>
                                    <asTypeSpecifier localId="989" locator="174:89-174:96" name="fhir:Age" xsi:type="NamedTypeSpecifier"/>
                                 </operand>
                              </operand>
                           </low>
                           <high localId="993" locator="175:9-175:99" xsi:type="Add">
                              <signature localId="1007" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                              <signature localId="1008" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                              <operand localId="994" locator="175:9-175:90" xsi:type="Add">
                                 <signature localId="1004" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                 <signature localId="1005" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                 <operand localId="998" locator="175:9-175:45" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                    <operand localId="997" locator="175:28-175:44" path="birthDate" xsi:type="Property">
                                       <source localId="996" locator="175:28-175:34" name="Patient" xsi:type="ExpressionRef"/>
                                    </operand>
                                 </operand>
                                 <operand localId="1003" locator="175:49-175:90" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                    <operand localId="1000" locator="175:72-175:89" strict="false" xsi:type="As">
                                       <operand localId="1001" locator="175:72-175:77" name="choice" xsi:type="OperandRef"/>
                                       <asTypeSpecifier localId="1002" locator="175:82-175:89" name="fhir:Age" xsi:type="NamedTypeSpecifier"/>
                                    </operand>
                                 </operand>
                              </operand>
                              <operand localId="1006" locator="175:94-175:99" value="1" unit="year" xsi:type="Quantity"/>
                           </high>
                        </source>
                     </operand>
                  </high>
                  <highClosedExpression localId="1095" path="highClosed" xsi:type="Property">
                     <source localId="1009" locator="174:7-175:100" lowClosed="true" highClosed="false" xsi:type="Interval">
                        <low localId="981" locator="174:16-174:97" xsi:type="Add">
                           <signature localId="991" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                           <signature localId="992" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                           <operand localId="985" locator="174:16-174:52" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                              <operand localId="984" locator="174:35-174:51" path="birthDate" xsi:type="Property">
                                 <source localId="983" locator="174:35-174:41" name="Patient" xsi:type="ExpressionRef"/>
                              </operand>
                           </operand>
                           <operand localId="990" locator="174:56-174:97" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                              <operand localId="987" locator="174:79-174:96" strict="false" xsi:type="As">
                                 <operand localId="988" locator="174:79-174:84" name="choice" xsi:type="OperandRef"/>
                                 <asTypeSpecifier localId="989" locator="174:89-174:96" name="fhir:Age" xsi:type="NamedTypeSpecifier"/>
                              </operand>
                           </operand>
                        </low>
                        <high localId="993" locator="175:9-175:99" xsi:type="Add">
                           <signature localId="1007" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                           <signature localId="1008" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                           <operand localId="994" locator="175:9-175:90" xsi:type="Add">
                              <signature localId="1004" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                              <signature localId="1005" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                              <operand localId="998" locator="175:9-175:45" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                 <operand localId="997" locator="175:28-175:44" path="birthDate" xsi:type="Property">
                                    <source localId="996" locator="175:28-175:34" name="Patient" xsi:type="ExpressionRef"/>
                                 </operand>
                              </operand>
                              <operand localId="1003" locator="175:49-175:90" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                 <operand localId="1000" locator="175:72-175:89" strict="false" xsi:type="As">
                                    <operand localId="1001" locator="175:72-175:77" name="choice" xsi:type="OperandRef"/>
                                    <asTypeSpecifier localId="1002" locator="175:82-175:89" name="fhir:Age" xsi:type="NamedTypeSpecifier"/>
                                 </operand>
                              </operand>
                           </operand>
                           <operand localId="1006" locator="175:94-175:99" value="1" unit="year" xsi:type="Quantity"/>
                        </high>
                     </source>
                  </highClosedExpression>
               </then>
            </caseItem>
            <caseItem localId="1010" locator="176:5-178:109">
               <when localId="1011" locator="176:10-176:29" xsi:type="Is">
                  <operand localId="1012" locator="176:10-176:15" name="choice" xsi:type="OperandRef"/>
                  <isTypeSpecifier localId="1013" locator="176:20-176:29" name="fhir:Range" xsi:type="NamedTypeSpecifier"/>
               </when>
               <then localId="1096" xsi:type="Interval">
                  <low localId="1099" xsi:type="ToDateTime">
                     <signature localId="1100" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="1097" path="low" xsi:type="Property">
                        <source localId="1044" locator="177:7-178:109" lowClosed="true" highClosed="false" xsi:type="Interval">
                           <low localId="1014" locator="177:16-177:105" xsi:type="Add">
                              <signature localId="1025" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                              <signature localId="1026" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                              <operand localId="1018" locator="177:16-177:52" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                 <operand localId="1017" locator="177:35-177:51" path="birthDate" xsi:type="Property">
                                    <source localId="1016" locator="177:35-177:41" name="Patient" xsi:type="ExpressionRef"/>
                                 </operand>
                              </operand>
                              <operand localId="1024" locator="177:56-177:105" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                 <operand localId="1023" locator="177:79-177:104" path="low" xsi:type="Property">
                                    <source localId="1020" locator="177:79-177:100" strict="false" xsi:type="As">
                                       <operand localId="1021" locator="177:80-177:85" name="choice" xsi:type="OperandRef"/>
                                       <asTypeSpecifier localId="1022" locator="177:90-177:99" name="fhir:Range" xsi:type="NamedTypeSpecifier"/>
                                    </source>
                                 </operand>
                              </operand>
                           </low>
                           <high localId="1027" locator="178:9-178:108" xsi:type="Add">
                              <signature localId="1042" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                              <signature localId="1043" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                              <operand localId="1028" locator="178:9-178:99" xsi:type="Add">
                                 <signature localId="1039" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                 <signature localId="1040" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                 <operand localId="1032" locator="178:9-178:45" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                    <operand localId="1031" locator="178:28-178:44" path="birthDate" xsi:type="Property">
                                       <source localId="1030" locator="178:28-178:34" name="Patient" xsi:type="ExpressionRef"/>
                                    </operand>
                                 </operand>
                                 <operand localId="1038" locator="178:49-178:99" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                    <operand localId="1037" locator="178:72-178:98" path="high" xsi:type="Property">
                                       <source localId="1034" locator="178:72-178:93" strict="false" xsi:type="As">
                                          <operand localId="1035" locator="178:73-178:78" name="choice" xsi:type="OperandRef"/>
                                          <asTypeSpecifier localId="1036" locator="178:83-178:92" name="fhir:Range" xsi:type="NamedTypeSpecifier"/>
                                       </source>
                                    </operand>
                                 </operand>
                              </operand>
                              <operand localId="1041" locator="178:103-178:108" value="1" unit="year" xsi:type="Quantity"/>
                           </high>
                        </source>
                     </operand>
                  </low>
                  <lowClosedExpression localId="1101" path="lowClosed" xsi:type="Property">
                     <source localId="1044" locator="177:7-178:109" lowClosed="true" highClosed="false" xsi:type="Interval">
                        <low localId="1014" locator="177:16-177:105" xsi:type="Add">
                           <signature localId="1025" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                           <signature localId="1026" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                           <operand localId="1018" locator="177:16-177:52" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                              <operand localId="1017" locator="177:35-177:51" path="birthDate" xsi:type="Property">
                                 <source localId="1016" locator="177:35-177:41" name="Patient" xsi:type="ExpressionRef"/>
                              </operand>
                           </operand>
                           <operand localId="1024" locator="177:56-177:105" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                              <operand localId="1023" locator="177:79-177:104" path="low" xsi:type="Property">
                                 <source localId="1020" locator="177:79-177:100" strict="false" xsi:type="As">
                                    <operand localId="1021" locator="177:80-177:85" name="choice" xsi:type="OperandRef"/>
                                    <asTypeSpecifier localId="1022" locator="177:90-177:99" name="fhir:Range" xsi:type="NamedTypeSpecifier"/>
                                 </source>
                              </operand>
                           </operand>
                        </low>
                        <high localId="1027" locator="178:9-178:108" xsi:type="Add">
                           <signature localId="1042" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                           <signature localId="1043" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                           <operand localId="1028" locator="178:9-178:99" xsi:type="Add">
                              <signature localId="1039" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                              <signature localId="1040" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                              <operand localId="1032" locator="178:9-178:45" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                 <operand localId="1031" locator="178:28-178:44" path="birthDate" xsi:type="Property">
                                    <source localId="1030" locator="178:28-178:34" name="Patient" xsi:type="ExpressionRef"/>
                                 </operand>
                              </operand>
                              <operand localId="1038" locator="178:49-178:99" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                 <operand localId="1037" locator="178:72-178:98" path="high" xsi:type="Property">
                                    <source localId="1034" locator="178:72-178:93" strict="false" xsi:type="As">
                                       <operand localId="1035" locator="178:73-178:78" name="choice" xsi:type="OperandRef"/>
                                       <asTypeSpecifier localId="1036" locator="178:83-178:92" name="fhir:Range" xsi:type="NamedTypeSpecifier"/>
                                    </source>
                                 </operand>
                              </operand>
                           </operand>
                           <operand localId="1041" locator="178:103-178:108" value="1" unit="year" xsi:type="Quantity"/>
                        </high>
                     </source>
                  </lowClosedExpression>
                  <high localId="1104" xsi:type="ToDateTime">
                     <signature localId="1105" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="1102" path="high" xsi:type="Property">
                        <source localId="1044" locator="177:7-178:109" lowClosed="true" highClosed="false" xsi:type="Interval">
                           <low localId="1014" locator="177:16-177:105" xsi:type="Add">
                              <signature localId="1025" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                              <signature localId="1026" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                              <operand localId="1018" locator="177:16-177:52" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                 <operand localId="1017" locator="177:35-177:51" path="birthDate" xsi:type="Property">
                                    <source localId="1016" locator="177:35-177:41" name="Patient" xsi:type="ExpressionRef"/>
                                 </operand>
                              </operand>
                              <operand localId="1024" locator="177:56-177:105" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                 <operand localId="1023" locator="177:79-177:104" path="low" xsi:type="Property">
                                    <source localId="1020" locator="177:79-177:100" strict="false" xsi:type="As">
                                       <operand localId="1021" locator="177:80-177:85" name="choice" xsi:type="OperandRef"/>
                                       <asTypeSpecifier localId="1022" locator="177:90-177:99" name="fhir:Range" xsi:type="NamedTypeSpecifier"/>
                                    </source>
                                 </operand>
                              </operand>
                           </low>
                           <high localId="1027" locator="178:9-178:108" xsi:type="Add">
                              <signature localId="1042" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                              <signature localId="1043" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                              <operand localId="1028" locator="178:9-178:99" xsi:type="Add">
                                 <signature localId="1039" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                 <signature localId="1040" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                 <operand localId="1032" locator="178:9-178:45" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                    <operand localId="1031" locator="178:28-178:44" path="birthDate" xsi:type="Property">
                                       <source localId="1030" locator="178:28-178:34" name="Patient" xsi:type="ExpressionRef"/>
                                    </operand>
                                 </operand>
                                 <operand localId="1038" locator="178:49-178:99" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                    <operand localId="1037" locator="178:72-178:98" path="high" xsi:type="Property">
                                       <source localId="1034" locator="178:72-178:93" strict="false" xsi:type="As">
                                          <operand localId="1035" locator="178:73-178:78" name="choice" xsi:type="OperandRef"/>
                                          <asTypeSpecifier localId="1036" locator="178:83-178:92" name="fhir:Range" xsi:type="NamedTypeSpecifier"/>
                                       </source>
                                    </operand>
                                 </operand>
                              </operand>
                              <operand localId="1041" locator="178:103-178:108" value="1" unit="year" xsi:type="Quantity"/>
                           </high>
                        </source>
                     </operand>
                  </high>
                  <highClosedExpression localId="1106" path="highClosed" xsi:type="Property">
                     <source localId="1044" locator="177:7-178:109" lowClosed="true" highClosed="false" xsi:type="Interval">
                        <low localId="1014" locator="177:16-177:105" xsi:type="Add">
                           <signature localId="1025" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                           <signature localId="1026" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                           <operand localId="1018" locator="177:16-177:52" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                              <operand localId="1017" locator="177:35-177:51" path="birthDate" xsi:type="Property">
                                 <source localId="1016" locator="177:35-177:41" name="Patient" xsi:type="ExpressionRef"/>
                              </operand>
                           </operand>
                           <operand localId="1024" locator="177:56-177:105" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                              <operand localId="1023" locator="177:79-177:104" path="low" xsi:type="Property">
                                 <source localId="1020" locator="177:79-177:100" strict="false" xsi:type="As">
                                    <operand localId="1021" locator="177:80-177:85" name="choice" xsi:type="OperandRef"/>
                                    <asTypeSpecifier localId="1022" locator="177:90-177:99" name="fhir:Range" xsi:type="NamedTypeSpecifier"/>
                                 </source>
                              </operand>
                           </operand>
                        </low>
                        <high localId="1027" locator="178:9-178:108" xsi:type="Add">
                           <signature localId="1042" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                           <signature localId="1043" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                           <operand localId="1028" locator="178:9-178:99" xsi:type="Add">
                              <signature localId="1039" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                              <signature localId="1040" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                              <operand localId="1032" locator="178:9-178:45" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                 <operand localId="1031" locator="178:28-178:44" path="birthDate" xsi:type="Property">
                                    <source localId="1030" locator="178:28-178:34" name="Patient" xsi:type="ExpressionRef"/>
                                 </operand>
                              </operand>
                              <operand localId="1038" locator="178:49-178:99" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                 <operand localId="1037" locator="178:72-178:98" path="high" xsi:type="Property">
                                    <source localId="1034" locator="178:72-178:93" strict="false" xsi:type="As">
                                       <operand localId="1035" locator="178:73-178:78" name="choice" xsi:type="OperandRef"/>
                                       <asTypeSpecifier localId="1036" locator="178:83-178:92" name="fhir:Range" xsi:type="NamedTypeSpecifier"/>
                                    </source>
                                 </operand>
                              </operand>
                           </operand>
                           <operand localId="1041" locator="178:103-178:108" value="1" unit="year" xsi:type="Quantity"/>
                        </high>
                     </source>
                  </highClosedExpression>
               </then>
            </caseItem>
            <caseItem localId="1045" locator="179:5-180:142">
               <when localId="1046" locator="179:10-179:30" xsi:type="Is">
                  <operand localId="1047" locator="179:10-179:15" name="choice" xsi:type="OperandRef"/>
                  <isTypeSpecifier localId="1048" locator="179:20-179:30" name="fhir:Timing" xsi:type="NamedTypeSpecifier"/>
               </when>
               <then localId="1062" locator="180:7-180:142" xsi:type="Message">
                  <source localId="1049" locator="180:15-180:40" strict="false" xsi:type="As">
                     <operand localId="1050" locator="180:15-180:18" xsi:type="Null"/>
                     <asTypeSpecifier localId="1051" locator="180:23-180:40" xsi:type="IntervalTypeSpecifier">
                        <pointType localId="1052" locator="180:32-180:39" name="t:DateTime" xsi:type="NamedTypeSpecifier"/>
                     </asTypeSpecifier>
                  </source>
                  <condition localId="1053" locator="180:43-180:46" valueType="t:Boolean" value="true" xsi:type="Literal"/>
                  <code localId="1054" locator="180:49-180:65" valueType="t:String" value="NOT_IMPLEMENTED" xsi:type="Literal"/>
                  <severity localId="1056" locator="180:68-180:74" valueType="t:String" value="Error" xsi:type="Literal"/>
                  <message localId="1058" locator="180:77-180:141" valueType="t:String" value="Calculation of an interval from a Timing value is not supported" xsi:type="Literal"/>
               </then>
            </caseItem>
            <caseItem localId="1063" locator="181:5-182:142">
               <when localId="1064" locator="181:10-181:30" xsi:type="Is">
                  <operand localId="1065" locator="181:10-181:15" name="choice" xsi:type="OperandRef"/>
                  <isTypeSpecifier localId="1066" locator="181:20-181:30" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
               </when>
               <then localId="1080" locator="182:7-182:142" xsi:type="Message">
                  <source localId="1067" locator="182:15-182:40" strict="false" xsi:type="As">
                     <operand localId="1068" locator="182:15-182:18" xsi:type="Null"/>
                     <asTypeSpecifier localId="1069" locator="182:23-182:40" xsi:type="IntervalTypeSpecifier">
                        <pointType localId="1070" locator="182:32-182:39" name="t:DateTime" xsi:type="NamedTypeSpecifier"/>
                     </asTypeSpecifier>
                  </source>
                  <condition localId="1071" locator="182:43-182:46" valueType="t:Boolean" value="true" xsi:type="Literal"/>
                  <code localId="1072" locator="182:49-182:65" valueType="t:String" value="NOT_IMPLEMENTED" xsi:type="Literal"/>
                  <severity localId="1074" locator="182:68-182:74" valueType="t:String" value="Error" xsi:type="Literal"/>
                  <message localId="1076" locator="182:77-182:141" valueType="t:String" value="Calculation of an interval from a String value is not supported" xsi:type="Literal"/>
               </then>
            </caseItem>
            <else localId="1081" locator="184:7-184:32" strict="false" xsi:type="As">
               <operand localId="1082" locator="184:7-184:10" xsi:type="Null"/>
               <asTypeSpecifier localId="1083" locator="184:15-184:32" xsi:type="IntervalTypeSpecifier">
                  <pointType localId="1084" locator="184:24-184:31" name="t:DateTime" xsi:type="NamedTypeSpecifier"/>
               </asTypeSpecifier>
            </else>
         </expression>
         <operand localId="495" name="choice">
            <operandTypeSpecifier localId="494" locator="165:42-165:137" xsi:type="ChoiceTypeSpecifier">
               <choice localId="487" locator="165:49-165:61" name="fhir:dateTime" xsi:type="NamedTypeSpecifier"/>
               <choice localId="488" locator="165:64-165:74" name="fhir:Period" xsi:type="NamedTypeSpecifier"/>
               <choice localId="489" locator="165:77-165:87" name="fhir:Timing" xsi:type="NamedTypeSpecifier"/>
               <choice localId="490" locator="165:90-165:101" name="fhir:instant" xsi:type="NamedTypeSpecifier"/>
               <choice localId="491" locator="165:104-165:114" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
               <choice localId="492" locator="165:117-165:124" name="fhir:Age" xsi:type="NamedTypeSpecifier"/>
               <choice localId="493" locator="165:127-165:136" name="fhir:Range" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="689" locator="83:1-87:3" name="latest" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="689">
               <a:s>define fluent function latest(observations List&lt;Observation>):
  </a:s>
               <a:s r="713">
                  <a:s r="713">
                     <a:s>Last(
    </a:s>
                     <a:s r="710">
                        <a:s>
                           <a:s r="695">
                              <a:s r="696">
                                 <a:s>
                                    <a:s>observations</a:s>
                                 </a:s>
                              </a:s>
                              <a:s> O</a:s>
                           </a:s>
                        </a:s>
                        <a:s>
      </a:s>
                        <a:s r="700">
                           <a:s>sort by </a:s>
                           <a:s r="699">
                              <a:s r="698">
                                 <a:s>issued</a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                     <a:s>
  )</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="713" locator="84:3-87:3" xsi:type="Last">
            <source localId="710" locator="85:5-86:20" xsi:type="Query">
               <source localId="695" locator="85:5-85:18" alias="O">
                  <expression localId="696" locator="85:5-85:16" name="observations" xsi:type="OperandRef"/>
               </source>
               <sort localId="700" locator="86:7-86:20">
                  <by localId="699" locator="86:15-86:20" direction="asc" path="issued" xsi:type="ByColumn"/>
               </sort>
            </source>
         </expression>
         <operand localId="692" name="observations">
            <operandTypeSpecifier localId="690" locator="83:44-83:60" xsi:type="ListTypeSpecifier">
               <elementType localId="691" locator="83:49-83:59" name="fhir:Observation" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="714" locator="89:1-93:3" name="mostRecent" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="714">
               <a:s>define fluent function mostRecent(observations List&lt;Observation>):
  </a:s>
               <a:s r="738">
                  <a:s r="738">
                     <a:s>Last(
    </a:s>
                     <a:s r="735">
                        <a:s>
                           <a:s r="720">
                              <a:s r="721">
                                 <a:s>
                                    <a:s>observations</a:s>
                                 </a:s>
                              </a:s>
                              <a:s> O</a:s>
                           </a:s>
                        </a:s>
                        <a:s>
      </a:s>
                        <a:s r="725">
                           <a:s>sort by </a:s>
                           <a:s r="724">
                              <a:s r="723">
                                 <a:s>issued</a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                     <a:s>
  )</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="738" locator="90:3-93:3" xsi:type="Last">
            <source localId="735" locator="91:5-92:20" xsi:type="Query">
               <source localId="720" locator="91:5-91:18" alias="O">
                  <expression localId="721" locator="91:5-91:16" name="observations" xsi:type="OperandRef"/>
               </source>
               <sort localId="725" locator="92:7-92:20">
                  <by localId="724" locator="92:15-92:20" direction="asc" path="issued" xsi:type="ByColumn"/>
               </sort>
            </source>
         </expression>
         <operand localId="717" name="observations">
            <operandTypeSpecifier localId="715" locator="89:48-89:64" xsi:type="ListTypeSpecifier">
               <elementType localId="716" locator="89:53-89:63" name="fhir:Observation" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="739" locator="95:1-99:3" name="mostRecent" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="739">
               <a:s>define fluent function mostRecent(procedures List&lt;Procedure>):
  </a:s>
               <a:s r="763">
                  <a:s r="763">
                     <a:s>Last(
    </a:s>
                     <a:s r="758">
                        <a:s>
                           <a:s r="745">
                              <a:s r="746">
                                 <a:s>
                                    <a:s>procedures</a:s>
                                 </a:s>
                              </a:s>
                              <a:s> P</a:s>
                           </a:s>
                        </a:s>
                        <a:s>
      </a:s>
                        <a:s r="752">
                           <a:s>sort by </a:s>
                           <a:s r="751">
                              <a:s r="748">
                                 <a:s>start of </a:s>
                                 <a:s r="750">
                                    <a:s r="749">
                                       <a:s>performed</a:s>
                                    </a:s>
                                    <a:s>.</a:s>
                                    <a:s r="750">
                                       <a:s>toInterval()</a:s>
                                    </a:s>
                                 </a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                     <a:s>
  )</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="763" locator="96:3-99:3" xsi:type="Last">
            <signature localId="764" xsi:type="ListTypeSpecifier">
               <elementType localId="765" name="fhir:Procedure" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <source localId="758" locator="97:5-98:45" xsi:type="Query">
               <source localId="745" locator="97:5-97:16" alias="P">
                  <expression localId="746" locator="97:5-97:14" name="procedures" xsi:type="OperandRef"/>
               </source>
               <sort localId="752" locator="98:7-98:45">
                  <by localId="751" locator="98:15-98:45" direction="asc" xsi:type="ByExpression">
                     <expression localId="748" locator="98:15-98:45" xsi:type="Start">
                        <operand localId="750" locator="98:24-98:45" name="toInterval" xsi:type="FunctionRef">
                           <operand localId="749" locator="98:24-98:32" name="performed" xsi:type="IdentifierRef"/>
                        </operand>
                     </expression>
                  </by>
               </sort>
            </source>
         </expression>
         <operand localId="742" name="procedures">
            <operandTypeSpecifier localId="740" locator="95:46-95:60" xsi:type="ListTypeSpecifier">
               <elementType localId="741" locator="95:51-95:59" name="fhir:Procedure" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="766" locator="101:1-105:3" name="mostRecent" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="766">
               <a:s>define fluent function mostRecent(immunizations List&lt;Immunization>):
  </a:s>
               <a:s r="790">
                  <a:s r="790">
                     <a:s>Last(
    </a:s>
                     <a:s r="785">
                        <a:s>
                           <a:s r="772">
                              <a:s r="773">
                                 <a:s>
                                    <a:s>immunizations</a:s>
                                 </a:s>
                              </a:s>
                              <a:s> I</a:s>
                           </a:s>
                        </a:s>
                        <a:s>
      </a:s>
                        <a:s r="779">
                           <a:s>sort by </a:s>
                           <a:s r="778">
                              <a:s r="775">
                                 <a:s>start of </a:s>
                                 <a:s r="777">
                                    <a:s r="776">
                                       <a:s>occurrence</a:s>
                                    </a:s>
                                    <a:s>.</a:s>
                                    <a:s r="777">
                                       <a:s>toInterval()</a:s>
                                    </a:s>
                                 </a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                     <a:s>
  )</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="790" locator="102:3-105:3" xsi:type="Last">
            <signature localId="791" xsi:type="ListTypeSpecifier">
               <elementType localId="792" name="fhir:Immunization" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <source localId="785" locator="103:5-104:46" xsi:type="Query">
               <source localId="772" locator="103:5-103:19" alias="I">
                  <expression localId="773" locator="103:5-103:17" name="immunizations" xsi:type="OperandRef"/>
               </source>
               <sort localId="779" locator="104:7-104:46">
                  <by localId="778" locator="104:15-104:46" direction="asc" xsi:type="ByExpression">
                     <expression localId="775" locator="104:15-104:46" xsi:type="Start">
                        <operand localId="777" locator="104:24-104:46" name="toInterval" xsi:type="FunctionRef">
                           <operand localId="776" locator="104:24-104:33" name="occurrence" xsi:type="IdentifierRef"/>
                        </operand>
                     </expression>
                  </by>
               </sort>
            </source>
         </expression>
         <operand localId="769" name="immunizations">
            <operandTypeSpecifier localId="767" locator="101:49-101:66" xsi:type="ListTypeSpecifier">
               <elementType localId="768" locator="101:54-101:65" name="fhir:Immunization" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="793" locator="107:1-111:3" name="mostRecent" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="793">
               <a:s>define fluent function mostRecent(medicationRequests List&lt;MedicationRequest>):
  </a:s>
               <a:s r="819">
                  <a:s r="819">
                     <a:s>Last(
    </a:s>
                     <a:s r="814">
                        <a:s>
                           <a:s r="799">
                              <a:s r="800">
                                 <a:s>
                                    <a:s>medicationRequests</a:s>
                                 </a:s>
                              </a:s>
                              <a:s> MR</a:s>
                           </a:s>
                        </a:s>
                        <a:s>
      </a:s>
                        <a:s r="804">
                           <a:s>sort by </a:s>
                           <a:s r="803">
                              <a:s r="802">
                                 <a:s>authoredOn</a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                     <a:s>
  )</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="819" locator="108:3-111:3" xsi:type="Last">
            <signature localId="820" xsi:type="ListTypeSpecifier">
               <elementType localId="821" name="fhir:MedicationRequest" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <source localId="814" locator="109:5-110:24" xsi:type="Query">
               <source localId="799" locator="109:5-109:25" alias="MR">
                  <expression localId="800" locator="109:5-109:22" name="medicationRequests" xsi:type="OperandRef"/>
               </source>
               <sort localId="804" locator="110:7-110:24">
                  <by localId="803" locator="110:15-110:24" direction="asc" path="authoredOn" xsi:type="ByColumn"/>
               </sort>
            </source>
         </expression>
         <operand localId="796" name="medicationRequests">
            <operandTypeSpecifier localId="794" locator="107:54-107:76" xsi:type="ListTypeSpecifier">
               <elementType localId="795" locator="107:59-107:75" name="fhir:MedicationRequest" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="822" locator="113:1-117:3" name="lowest" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="822">
               <a:s>define fluent function lowest(observations List&lt;Observation>):
  </a:s>
               <a:s r="848">
                  <a:s r="848">
                     <a:s>First(
    </a:s>
                     <a:s r="843">
                        <a:s>
                           <a:s r="828">
                              <a:s r="829">
                                 <a:s>
                                    <a:s>observations</a:s>
                                 </a:s>
                              </a:s>
                              <a:s> O</a:s>
                           </a:s>
                        </a:s>
                        <a:s>
      </a:s>
                        <a:s r="837">
                           <a:s>sort by </a:s>
                           <a:s r="836">
                              <a:s r="835">
                                 <a:s r="831">
                                    <a:s>FHIRHelpers</a:s>
                                 </a:s>
                                 <a:s>.</a:s>
                                 <a:s r="835">
                                    <a:s>ToQuantity(</a:s>
                                    <a:s r="832">
                                       <a:s r="833">
                                          <a:s>value</a:s>
                                       </a:s>
                                       <a:s> as </a:s>
                                       <a:s r="834">
                                          <a:s>FHIR.Quantity</a:s>
                                       </a:s>
                                    </a:s>
                                    <a:s>)</a:s>
                                 </a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                     <a:s>
  )</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="848" locator="114:3-117:3" xsi:type="First">
            <signature localId="849" xsi:type="ListTypeSpecifier">
               <elementType localId="850" name="fhir:Observation" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <source localId="843" locator="115:5-116:60" xsi:type="Query">
               <source localId="828" locator="115:5-115:18" alias="O">
                  <expression localId="829" locator="115:5-115:16" name="observations" xsi:type="OperandRef"/>
               </source>
               <sort localId="837" locator="116:7-116:60">
                  <by localId="836" locator="116:15-116:60" direction="asc" xsi:type="ByExpression">
                     <expression localId="835" locator="116:15-116:60" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                        <operand localId="832" locator="116:38-116:59" strict="false" xsi:type="As">
                           <operand localId="833" locator="116:38-116:42" name="value" xsi:type="IdentifierRef"/>
                           <asTypeSpecifier localId="834" locator="116:47-116:59" name="fhir:Quantity" xsi:type="NamedTypeSpecifier"/>
                        </operand>
                     </expression>
                  </by>
               </sort>
            </source>
         </expression>
         <operand localId="825" name="observations">
            <operandTypeSpecifier localId="823" locator="113:44-113:60" xsi:type="ListTypeSpecifier">
               <elementType localId="824" locator="113:49-113:59" name="fhir:Observation" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="851" locator="119:1-123:3" name="highest" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="851">
               <a:s>define fluent function highest(observations List&lt;Observation>):
  </a:s>
               <a:s r="877">
                  <a:s r="877">
                     <a:s>Last(
    </a:s>
                     <a:s r="872">
                        <a:s>
                           <a:s r="857">
                              <a:s r="858">
                                 <a:s>
                                    <a:s>observations</a:s>
                                 </a:s>
                              </a:s>
                              <a:s> O</a:s>
                           </a:s>
                        </a:s>
                        <a:s>
      </a:s>
                        <a:s r="866">
                           <a:s>sort by </a:s>
                           <a:s r="865">
                              <a:s r="864">
                                 <a:s r="860">
                                    <a:s>FHIRHelpers</a:s>
                                 </a:s>
                                 <a:s>.</a:s>
                                 <a:s r="864">
                                    <a:s>ToQuantity(</a:s>
                                    <a:s r="861">
                                       <a:s r="862">
                                          <a:s>value</a:s>
                                       </a:s>
                                       <a:s> as </a:s>
                                       <a:s r="863">
                                          <a:s>FHIR.Quantity</a:s>
                                       </a:s>
                                    </a:s>
                                    <a:s>)</a:s>
                                 </a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                     <a:s>
  )</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="877" locator="120:3-123:3" xsi:type="Last">
            <signature localId="878" xsi:type="ListTypeSpecifier">
               <elementType localId="879" name="fhir:Observation" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <source localId="872" locator="121:5-122:60" xsi:type="Query">
               <source localId="857" locator="121:5-121:18" alias="O">
                  <expression localId="858" locator="121:5-121:16" name="observations" xsi:type="OperandRef"/>
               </source>
               <sort localId="866" locator="122:7-122:60">
                  <by localId="865" locator="122:15-122:60" direction="asc" xsi:type="ByExpression">
                     <expression localId="864" locator="122:15-122:60" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                        <operand localId="861" locator="122:38-122:59" strict="false" xsi:type="As">
                           <operand localId="862" locator="122:38-122:42" name="value" xsi:type="IdentifierRef"/>
                           <asTypeSpecifier localId="863" locator="122:47-122:59" name="fhir:Quantity" xsi:type="NamedTypeSpecifier"/>
                        </operand>
                     </expression>
                  </by>
               </sort>
            </source>
         </expression>
         <operand localId="854" name="observations">
            <operandTypeSpecifier localId="852" locator="119:45-119:61" xsi:type="ListTypeSpecifier">
               <elementType localId="853" locator="119:50-119:60" name="fhir:Observation" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="880" locator="125:1-126:70" name="complete" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="880">
               <a:s>define fluent function complete(observations List&lt;Observation>):
  </a:s>
               <a:s r="901">
                  <a:s r="901">
                     <a:s>
                        <a:s r="886">
                           <a:s r="887">
                              <a:s>
                                 <a:s>observations</a:s>
                              </a:s>
                           </a:s>
                           <a:s> O</a:s>
                        </a:s>
                     </a:s>
                     <a:s> </a:s>
                     <a:s r="898">
                        <a:s>where </a:s>
                        <a:s r="898">
                           <a:s r="890">
                              <a:s r="889">
                                 <a:s>O</a:s>
                              </a:s>
                              <a:s>.</a:s>
                              <a:s r="890">
                                 <a:s>status</a:s>
                              </a:s>
                           </a:s>
                           <a:s> in </a:s>
                           <a:s r="891">
                              <a:s>{ </a:s>
                              <a:s r="892">
                                 <a:s>'final'</a:s>
                              </a:s>
                              <a:s>, </a:s>
                              <a:s r="894">
                                 <a:s>'amended'</a:s>
                              </a:s>
                              <a:s>, </a:s>
                              <a:s r="896">
                                 <a:s>'corrected'</a:s>
                              </a:s>
                              <a:s> }</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="901" locator="126:3-126:70" xsi:type="Query">
            <source localId="886" locator="126:3-126:16" alias="O">
               <expression localId="887" locator="126:3-126:14" name="observations" xsi:type="OperandRef"/>
            </source>
            <where localId="898" locator="126:18-126:70" xsi:type="In">
               <operand localId="899" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                  <signature localId="900" name="fhir:ObservationStatus" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="890" locator="126:24-126:31" path="status" scope="O" xsi:type="Property"/>
               </operand>
               <operand localId="891" locator="126:36-126:70" xsi:type="List">
                  <element localId="892" locator="126:38-126:44" valueType="t:String" value="final" xsi:type="Literal"/>
                  <element localId="894" locator="126:47-126:55" valueType="t:String" value="amended" xsi:type="Literal"/>
                  <element localId="896" locator="126:58-126:68" valueType="t:String" value="corrected" xsi:type="Literal"/>
               </operand>
            </where>
         </expression>
         <operand localId="883" name="observations">
            <operandTypeSpecifier localId="881" locator="125:46-125:62" xsi:type="ListTypeSpecifier">
               <elementType localId="882" locator="125:51-125:61" name="fhir:Observation" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="902" locator="128:1-129:12" name="EarliestOf" context="Patient" accessLevel="Public" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="902">
               <a:s>define function EarliestOf(dates List&lt;Date>):
  </a:s>
               <a:s r="913">
                  <a:s r="913">
                     <a:s>Min(</a:s>
                     <a:s r="908">
                        <a:s>dates</a:s>
                     </a:s>
                     <a:s>)</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="913" locator="129:3-129:12" xsi:type="Min">
            <signature localId="914" xsi:type="ListTypeSpecifier">
               <elementType localId="915" name="t:Date" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <source localId="908" locator="129:7-129:11" name="dates" xsi:type="OperandRef"/>
         </expression>
         <operand localId="905" name="dates">
            <operandTypeSpecifier localId="903" locator="128:34-128:43" xsi:type="ListTypeSpecifier">
               <elementType localId="904" locator="128:39-128:42" name="t:Date" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="916" locator="131:1-132:12" name="LatestOf" context="Patient" accessLevel="Public" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="916">
               <a:s>define function LatestOf(dates List&lt;Date>):
  </a:s>
               <a:s r="927">
                  <a:s r="927">
                     <a:s>Max(</a:s>
                     <a:s r="922">
                        <a:s>dates</a:s>
                     </a:s>
                     <a:s>)</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="927" locator="132:3-132:12" xsi:type="Max">
            <signature localId="928" xsi:type="ListTypeSpecifier">
               <elementType localId="929" name="t:Date" xsi:type="NamedTypeSpecifier"/>
            </signature>
            <source localId="922" locator="132:7-132:11" name="dates" xsi:type="OperandRef"/>
         </expression>
         <operand localId="919" name="dates">
            <operandTypeSpecifier localId="917" locator="131:32-131:41" xsi:type="ListTypeSpecifier">
               <elementType localId="918" locator="131:37-131:40" name="t:Date" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="1107" locator="195:1-211:8" name="abatementInterval" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:t name="description" value="Returns an interval representing the normalized Abatement of a given Condition resource."/>
            <a:t name="comment" value="NOTE: Due to the complexity of determining an interval from a String, this function will throw&#xa;a run-time exception if used with a Condition instance that has a String as the abatement value."/>
            <a:s r="1107">
               <a:s>// Was getting error on this for this particular choice set not being found


/*
@description: Returns an interval representing the normalized Abatement of a given Condition resource.
@comment: NOTE: Due to the complexity of determining an interval from a String, this function will throw
a run-time exception if used with a Condition instance that has a String as the abatement value.
*/
define fluent function abatementInterval(condition Condition):
  </a:s>
               <a:s r="1112">
                  <a:s r="1112">
                     <a:s>if </a:s>
                     <a:s r="1113">
                        <a:s r="1115">
                           <a:s r="1114">
                              <a:s>condition</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="1115">
                              <a:s>abatement</a:s>
                           </a:s>
                        </a:s>
                        <a:s> is </a:s>
                        <a:s r="1116">
                           <a:s>FHIR.dateTime</a:s>
                        </a:s>
                     </a:s>
                     <a:s> then
    </a:s>
                     <a:s r="1131">
                        <a:s>Interval[</a:s>
                        <a:s r="1122">
                           <a:s r="1117">
                              <a:s>FHIRHelpers</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="1122">
                              <a:s>ToDateTime(</a:s>
                              <a:s r="1118">
                                 <a:s r="1120">
                                    <a:s r="1119">
                                       <a:s>condition</a:s>
                                    </a:s>
                                    <a:s>.</a:s>
                                    <a:s r="1120">
                                       <a:s>abatement</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s> as </a:s>
                                 <a:s r="1121">
                                    <a:s>FHIR.dateTime</a:s>
                                 </a:s>
                              </a:s>
                              <a:s>)</a:s>
                           </a:s>
                        </a:s>
                        <a:s>, </a:s>
                        <a:s r="1129">
                           <a:s r="1124">
                              <a:s>FHIRHelpers</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="1129">
                              <a:s>ToDateTime(</a:s>
                              <a:s r="1125">
                                 <a:s r="1127">
                                    <a:s r="1126">
                                       <a:s>condition</a:s>
                                    </a:s>
                                    <a:s>.</a:s>
                                    <a:s r="1127">
                                       <a:s>abatement</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s> as </a:s>
                                 <a:s r="1128">
                                    <a:s>FHIR.dateTime</a:s>
                                 </a:s>
                              </a:s>
                              <a:s>)</a:s>
                           </a:s>
                        </a:s>
                        <a:s>]</a:s>
                     </a:s>
                     <a:s>
  else </a:s>
                     <a:s r="1132">
                        <a:s>if </a:s>
                        <a:s r="1133">
                           <a:s r="1135">
                              <a:s r="1134">
                                 <a:s>condition</a:s>
                              </a:s>
                              <a:s>.</a:s>
                              <a:s r="1135">
                                 <a:s>abatement</a:s>
                              </a:s>
                           </a:s>
                           <a:s> is </a:s>
                           <a:s r="1136">
                              <a:s>FHIR.Period</a:s>
                           </a:s>
                        </a:s>
                        <a:s> then
    </a:s>
                        <a:s r="1142">
                           <a:s r="1137">
                              <a:s>FHIRHelpers</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="1142">
                              <a:s>ToInterval(</a:s>
                              <a:s r="1138">
                                 <a:s r="1140">
                                    <a:s r="1139">
                                       <a:s>condition</a:s>
                                    </a:s>
                                    <a:s>.</a:s>
                                    <a:s r="1140">
                                       <a:s>abatement</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s> as </a:s>
                                 <a:s r="1141">
                                    <a:s>FHIR.Period</a:s>
                                 </a:s>
                              </a:s>
                              <a:s>)</a:s>
                           </a:s>
                        </a:s>
                        <a:s>
  else </a:s>
                        <a:s r="1144">
                           <a:s>if </a:s>
                           <a:s r="1145">
                              <a:s r="1147">
                                 <a:s r="1146">
                                    <a:s>condition</a:s>
                                 </a:s>
                                 <a:s>.</a:s>
                                 <a:s r="1147">
                                    <a:s>abatement</a:s>
                                 </a:s>
                              </a:s>
                              <a:s> is </a:s>
                              <a:s r="1148">
                                 <a:s>FHIR.string</a:s>
                              </a:s>
                           </a:s>
                           <a:s> then
    </a:s>
                           <a:s r="1162">
                              <a:s>Message(</a:s>
                              <a:s r="1149">
                                 <a:s r="1150">null as </a:s>
                                 <a:s r="1151">
                                    <a:s>Interval&lt;</a:s>
                                    <a:s r="1152">
                                       <a:s>DateTime</a:s>
                                    </a:s>
                                    <a:s>></a:s>
                                 </a:s>
                              </a:s>
                              <a:s r="1153">, true, </a:s>
                              <a:s r="1154">
                                 <a:s>'NOT_IMPLEMENTED'</a:s>
                              </a:s>
                              <a:s>, </a:s>
                              <a:s r="1156">
                                 <a:s>'Error'</a:s>
                              </a:s>
                              <a:s>, </a:s>
                              <a:s r="1158">
                                 <a:s>'Calculation of an interval from a String value is not supported'</a:s>
                              </a:s>
                              <a:s>)</a:s>
                           </a:s>
                           <a:s>
  else </a:s>
                           <a:s r="1163">
                              <a:s>if </a:s>
                              <a:s r="1164">
                                 <a:s r="1166">
                                    <a:s r="1165">
                                       <a:s>condition</a:s>
                                    </a:s>
                                    <a:s>.</a:s>
                                    <a:s r="1166">
                                       <a:s>abatement</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s> is </a:s>
                                 <a:s r="1167">
                                    <a:s>FHIR.Age</a:s>
                                 </a:s>
                              </a:s>
                              <a:s> then
    </a:s>
                              <a:s r="1198">
                                 <a:s>Interval[</a:s>
                                 <a:s r="1168">
                                    <a:s r="1172">
                                       <a:s r="1169">
                                          <a:s>FHIRHelpers</a:s>
                                       </a:s>
                                       <a:s>.</a:s>
                                       <a:s r="1172">
                                          <a:s>ToDate(</a:s>
                                          <a:s r="1171">
                                             <a:s r="1170">
                                                <a:s>Patient</a:s>
                                             </a:s>
                                             <a:s>.</a:s>
                                             <a:s r="1171">
                                                <a:s>birthDate</a:s>
                                             </a:s>
                                          </a:s>
                                          <a:s>)</a:s>
                                       </a:s>
                                    </a:s>
                                    <a:s> + </a:s>
                                    <a:s r="1178">
                                       <a:s r="1173">
                                          <a:s>FHIRHelpers</a:s>
                                       </a:s>
                                       <a:s>.</a:s>
                                       <a:s r="1178">
                                          <a:s>ToQuantity(</a:s>
                                          <a:s r="1174">
                                             <a:s r="1176">
                                                <a:s r="1175">
                                                   <a:s>condition</a:s>
                                                </a:s>
                                                <a:s>.</a:s>
                                                <a:s r="1176">
                                                   <a:s>abatement</a:s>
                                                </a:s>
                                             </a:s>
                                             <a:s> as </a:s>
                                             <a:s r="1177">
                                                <a:s>FHIR.Age</a:s>
                                             </a:s>
                                          </a:s>
                                          <a:s>)</a:s>
                                       </a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s>,
      </a:s>
                                 <a:s r="1181">
                                    <a:s r="1182">
                                       <a:s r="1186">
                                          <a:s r="1183">
                                             <a:s>FHIRHelpers</a:s>
                                          </a:s>
                                          <a:s>.</a:s>
                                          <a:s r="1186">
                                             <a:s>ToDate(</a:s>
                                             <a:s r="1185">
                                                <a:s r="1184">
                                                   <a:s>Patient</a:s>
                                                </a:s>
                                                <a:s>.</a:s>
                                                <a:s r="1185">
                                                   <a:s>birthDate</a:s>
                                                </a:s>
                                             </a:s>
                                             <a:s>)</a:s>
                                          </a:s>
                                       </a:s>
                                       <a:s> + </a:s>
                                       <a:s r="1192">
                                          <a:s r="1187">
                                             <a:s>FHIRHelpers</a:s>
                                          </a:s>
                                          <a:s>.</a:s>
                                          <a:s r="1192">
                                             <a:s>ToQuantity(</a:s>
                                             <a:s r="1188">
                                                <a:s r="1190">
                                                   <a:s r="1189">
                                                      <a:s>condition</a:s>
                                                   </a:s>
                                                   <a:s>.</a:s>
                                                   <a:s r="1190">
                                                      <a:s>abatement</a:s>
                                                   </a:s>
                                                </a:s>
                                                <a:s> as </a:s>
                                                <a:s r="1191">
                                                   <a:s>FHIR.Age</a:s>
                                                </a:s>
                                             </a:s>
                                             <a:s>)</a:s>
                                          </a:s>
                                       </a:s>
                                    </a:s>
                                    <a:s> + </a:s>
                                    <a:s r="1195">
                                       <a:s>1 year</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s>)</a:s>
                              </a:s>
                              <a:s>
  else </a:s>
                              <a:s r="1199">
                                 <a:s>if </a:s>
                                 <a:s r="1200">
                                    <a:s r="1202">
                                       <a:s r="1201">
                                          <a:s>condition</a:s>
                                       </a:s>
                                       <a:s>.</a:s>
                                       <a:s r="1202">
                                          <a:s>abatement</a:s>
                                       </a:s>
                                    </a:s>
                                    <a:s> is </a:s>
                                    <a:s r="1203">
                                       <a:s>FHIR.Range</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s> then
    </a:s>
                                 <a:s r="1236">
                                    <a:s>Interval[</a:s>
                                    <a:s r="1204">
                                       <a:s r="1208">
                                          <a:s r="1205">
                                             <a:s>FHIRHelpers</a:s>
                                          </a:s>
                                          <a:s>.</a:s>
                                          <a:s r="1208">
                                             <a:s>ToDate(</a:s>
                                             <a:s r="1207">
                                                <a:s r="1206">
                                                   <a:s>Patient</a:s>
                                                </a:s>
                                                <a:s>.</a:s>
                                                <a:s r="1207">
                                                   <a:s>birthDate</a:s>
                                                </a:s>
                                             </a:s>
                                             <a:s>)</a:s>
                                          </a:s>
                                       </a:s>
                                       <a:s> + </a:s>
                                       <a:s r="1215">
                                          <a:s r="1209">
                                             <a:s>FHIRHelpers</a:s>
                                          </a:s>
                                          <a:s>.</a:s>
                                          <a:s r="1215">
                                             <a:s>ToQuantity(</a:s>
                                             <a:s r="1214">
                                                <a:s r="1210">
                                                   <a:s>(</a:s>
                                                   <a:s r="1210">
                                                      <a:s r="1212">
                                                         <a:s r="1211">
                                                            <a:s>condition</a:s>
                                                         </a:s>
                                                         <a:s>.</a:s>
                                                         <a:s r="1212">
                                                            <a:s>abatement</a:s>
                                                         </a:s>
                                                      </a:s>
                                                      <a:s> as </a:s>
                                                      <a:s r="1213">
                                                         <a:s>FHIR.Range</a:s>
                                                      </a:s>
                                                   </a:s>
                                                   <a:s>)</a:s>
                                                </a:s>
                                                <a:s>.</a:s>
                                                <a:s r="1214">
                                                   <a:s>low</a:s>
                                                </a:s>
                                             </a:s>
                                             <a:s>)</a:s>
                                          </a:s>
                                       </a:s>
                                    </a:s>
                                    <a:s>,
      </a:s>
                                    <a:s r="1218">
                                       <a:s r="1219">
                                          <a:s r="1223">
                                             <a:s r="1220">
                                                <a:s>FHIRHelpers</a:s>
                                             </a:s>
                                             <a:s>.</a:s>
                                             <a:s r="1223">
                                                <a:s>ToDate(</a:s>
                                                <a:s r="1222">
                                                   <a:s r="1221">
                                                      <a:s>Patient</a:s>
                                                   </a:s>
                                                   <a:s>.</a:s>
                                                   <a:s r="1222">
                                                      <a:s>birthDate</a:s>
                                                   </a:s>
                                                </a:s>
                                                <a:s>)</a:s>
                                             </a:s>
                                          </a:s>
                                          <a:s> + </a:s>
                                          <a:s r="1230">
                                             <a:s r="1224">
                                                <a:s>FHIRHelpers</a:s>
                                             </a:s>
                                             <a:s>.</a:s>
                                             <a:s r="1230">
                                                <a:s>ToQuantity(</a:s>
                                                <a:s r="1229">
                                                   <a:s r="1225">
                                                      <a:s>(</a:s>
                                                      <a:s r="1225">
                                                         <a:s r="1227">
                                                            <a:s r="1226">
                                                               <a:s>condition</a:s>
                                                            </a:s>
                                                            <a:s>.</a:s>
                                                            <a:s r="1227">
                                                               <a:s>abatement</a:s>
                                                            </a:s>
                                                         </a:s>
                                                         <a:s> as </a:s>
                                                         <a:s r="1228">
                                                            <a:s>FHIR.Range</a:s>
                                                         </a:s>
                                                      </a:s>
                                                      <a:s>)</a:s>
                                                   </a:s>
                                                   <a:s>.</a:s>
                                                   <a:s r="1229">
                                                      <a:s>high</a:s>
                                                   </a:s>
                                                </a:s>
                                                <a:s>)</a:s>
                                             </a:s>
                                          </a:s>
                                       </a:s>
                                       <a:s> + </a:s>
                                       <a:s r="1233">
                                          <a:s>1 year</a:s>
                                       </a:s>
                                    </a:s>
                                    <a:s>)</a:s>
                                 </a:s>
                                 <a:s>
  else </a:s>
                                 <a:s r="1237">
                                    <a:s>if </a:s>
                                    <a:s r="1238">
                                       <a:s r="1240">
                                          <a:s r="1239">
                                             <a:s>condition</a:s>
                                          </a:s>
                                          <a:s>.</a:s>
                                          <a:s r="1240">
                                             <a:s>abatement</a:s>
                                          </a:s>
                                       </a:s>
                                       <a:s> is </a:s>
                                       <a:s r="1241">
                                          <a:s>FHIR.boolean</a:s>
                                       </a:s>
                                    </a:s>
                                    <a:s> then
    </a:s>
                                    <a:s r="1248">
                                       <a:s>Interval[</a:s>
                                       <a:s r="1242">
                                          <a:s>end of </a:s>
                                          <a:s r="1245">
                                             <a:s r="1244">
                                                <a:s r="1243">
                                                   <a:s>condition</a:s>
                                                </a:s>
                                                <a:s>.</a:s>
                                                <a:s r="1244">
                                                   <a:s>onset</a:s>
                                                </a:s>
                                             </a:s>
                                             <a:s>.</a:s>
                                             <a:s r="1245">
                                                <a:s>toInterval()</a:s>
                                             </a:s>
                                          </a:s>
                                       </a:s>
                                       <a:s>, </a:s>
                                       <a:s r="1247">
                                          <a:s r="1246">
                                             <a:s>condition</a:s>
                                          </a:s>
                                          <a:s>.</a:s>
                                          <a:s r="1247">
                                             <a:s>recordedDate</a:s>
                                          </a:s>
                                       </a:s>
                                       <a:s>)</a:s>
                                    </a:s>
                                    <a:s r="1251">
  else 
    null</a:s>
                                 </a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="1112" locator="196:3-211:8" xsi:type="If">
            <condition localId="1113" locator="196:6-196:41" xsi:type="Is">
               <operand localId="1115" locator="196:6-196:24" path="abatement" xsi:type="Property">
                  <source localId="1114" locator="196:6-196:14" name="condition" xsi:type="OperandRef"/>
               </operand>
               <isTypeSpecifier localId="1116" locator="196:29-196:41" name="fhir:dateTime" xsi:type="NamedTypeSpecifier"/>
            </condition>
            <then localId="1131" locator="197:5-197:136" lowClosed="true" highClosed="true" xsi:type="Interval">
               <low localId="1122" locator="197:14-197:73" name="ToDateTime" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                  <signature localId="1123" name="fhir:dateTime" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="1118" locator="197:37-197:72" strict="false" xsi:type="As">
                     <operand localId="1120" locator="197:37-197:55" path="abatement" xsi:type="Property">
                        <source localId="1119" locator="197:37-197:45" name="condition" xsi:type="OperandRef"/>
                     </operand>
                     <asTypeSpecifier localId="1121" locator="197:60-197:72" name="fhir:dateTime" xsi:type="NamedTypeSpecifier"/>
                  </operand>
               </low>
               <high localId="1129" locator="197:76-197:135" name="ToDateTime" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                  <signature localId="1130" name="fhir:dateTime" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="1125" locator="197:99-197:134" strict="false" xsi:type="As">
                     <operand localId="1127" locator="197:99-197:117" path="abatement" xsi:type="Property">
                        <source localId="1126" locator="197:99-197:107" name="condition" xsi:type="OperandRef"/>
                     </operand>
                     <asTypeSpecifier localId="1128" locator="197:122-197:134" name="fhir:dateTime" xsi:type="NamedTypeSpecifier"/>
                  </operand>
               </high>
            </then>
            <else localId="1132" locator="198:8-211:8" xsi:type="If">
               <condition localId="1133" locator="198:11-198:44" xsi:type="Is">
                  <operand localId="1135" locator="198:11-198:29" path="abatement" xsi:type="Property">
                     <source localId="1134" locator="198:11-198:19" name="condition" xsi:type="OperandRef"/>
                  </operand>
                  <isTypeSpecifier localId="1136" locator="198:34-198:44" name="fhir:Period" xsi:type="NamedTypeSpecifier"/>
               </condition>
               <then localId="1142" locator="199:5-199:62" name="ToInterval" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                  <signature localId="1143" name="fhir:Period" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="1138" locator="199:28-199:61" strict="false" xsi:type="As">
                     <operand localId="1140" locator="199:28-199:46" path="abatement" xsi:type="Property">
                        <source localId="1139" locator="199:28-199:36" name="condition" xsi:type="OperandRef"/>
                     </operand>
                     <asTypeSpecifier localId="1141" locator="199:51-199:61" name="fhir:Period" xsi:type="NamedTypeSpecifier"/>
                  </operand>
               </then>
               <else localId="1144" locator="200:8-211:8" xsi:type="If">
                  <condition localId="1145" locator="200:11-200:44" xsi:type="Is">
                     <operand localId="1147" locator="200:11-200:29" path="abatement" xsi:type="Property">
                        <source localId="1146" locator="200:11-200:19" name="condition" xsi:type="OperandRef"/>
                     </operand>
                     <isTypeSpecifier localId="1148" locator="200:34-200:44" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                  </condition>
                  <then localId="1162" locator="201:5-201:140" xsi:type="Message">
                     <source localId="1149" locator="201:13-201:38" strict="false" xsi:type="As">
                        <operand localId="1150" locator="201:13-201:16" xsi:type="Null"/>
                        <asTypeSpecifier localId="1151" locator="201:21-201:38" xsi:type="IntervalTypeSpecifier">
                           <pointType localId="1152" locator="201:30-201:37" name="t:DateTime" xsi:type="NamedTypeSpecifier"/>
                        </asTypeSpecifier>
                     </source>
                     <condition localId="1153" locator="201:41-201:44" valueType="t:Boolean" value="true" xsi:type="Literal"/>
                     <code localId="1154" locator="201:47-201:63" valueType="t:String" value="NOT_IMPLEMENTED" xsi:type="Literal"/>
                     <severity localId="1156" locator="201:66-201:72" valueType="t:String" value="Error" xsi:type="Literal"/>
                     <message localId="1158" locator="201:75-201:139" valueType="t:String" value="Calculation of an interval from a String value is not supported" xsi:type="Literal"/>
                  </then>
                  <else localId="1163" locator="202:8-211:8" xsi:type="If">
                     <condition localId="1164" locator="202:11-202:41" xsi:type="Is">
                        <operand localId="1166" locator="202:11-202:29" path="abatement" xsi:type="Property">
                           <source localId="1165" locator="202:11-202:19" name="condition" xsi:type="OperandRef"/>
                        </operand>
                        <isTypeSpecifier localId="1167" locator="202:34-202:41" name="fhir:Age" xsi:type="NamedTypeSpecifier"/>
                     </condition>
                     <then localId="1266" xsi:type="Interval">
                        <low localId="1269" xsi:type="ToDateTime">
                           <signature localId="1270" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                           <operand localId="1267" path="low" xsi:type="Property">
                              <source localId="1198" locator="203:5-204:111" lowClosed="true" highClosed="false" xsi:type="Interval">
                                 <low localId="1168" locator="203:14-203:108" xsi:type="Add">
                                    <signature localId="1179" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                    <signature localId="1180" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                    <operand localId="1172" locator="203:14-203:50" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                       <operand localId="1171" locator="203:33-203:49" path="birthDate" xsi:type="Property">
                                          <source localId="1170" locator="203:33-203:39" name="Patient" xsi:type="ExpressionRef"/>
                                       </operand>
                                    </operand>
                                    <operand localId="1178" locator="203:54-203:108" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                       <operand localId="1174" locator="203:77-203:107" strict="false" xsi:type="As">
                                          <operand localId="1176" locator="203:77-203:95" path="abatement" xsi:type="Property">
                                             <source localId="1175" locator="203:77-203:85" name="condition" xsi:type="OperandRef"/>
                                          </operand>
                                          <asTypeSpecifier localId="1177" locator="203:100-203:107" name="fhir:Age" xsi:type="NamedTypeSpecifier"/>
                                       </operand>
                                    </operand>
                                 </low>
                                 <high localId="1181" locator="204:7-204:110" xsi:type="Add">
                                    <signature localId="1196" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                    <signature localId="1197" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                    <operand localId="1182" locator="204:7-204:101" xsi:type="Add">
                                       <signature localId="1193" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                       <signature localId="1194" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                       <operand localId="1186" locator="204:7-204:43" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                          <operand localId="1185" locator="204:26-204:42" path="birthDate" xsi:type="Property">
                                             <source localId="1184" locator="204:26-204:32" name="Patient" xsi:type="ExpressionRef"/>
                                          </operand>
                                       </operand>
                                       <operand localId="1192" locator="204:47-204:101" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                          <operand localId="1188" locator="204:70-204:100" strict="false" xsi:type="As">
                                             <operand localId="1190" locator="204:70-204:88" path="abatement" xsi:type="Property">
                                                <source localId="1189" locator="204:70-204:78" name="condition" xsi:type="OperandRef"/>
                                             </operand>
                                             <asTypeSpecifier localId="1191" locator="204:93-204:100" name="fhir:Age" xsi:type="NamedTypeSpecifier"/>
                                          </operand>
                                       </operand>
                                    </operand>
                                    <operand localId="1195" locator="204:105-204:110" value="1" unit="year" xsi:type="Quantity"/>
                                 </high>
                              </source>
                           </operand>
                        </low>
                        <lowClosedExpression localId="1271" path="lowClosed" xsi:type="Property">
                           <source localId="1198" locator="203:5-204:111" lowClosed="true" highClosed="false" xsi:type="Interval">
                              <low localId="1168" locator="203:14-203:108" xsi:type="Add">
                                 <signature localId="1179" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                 <signature localId="1180" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                 <operand localId="1172" locator="203:14-203:50" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                    <operand localId="1171" locator="203:33-203:49" path="birthDate" xsi:type="Property">
                                       <source localId="1170" locator="203:33-203:39" name="Patient" xsi:type="ExpressionRef"/>
                                    </operand>
                                 </operand>
                                 <operand localId="1178" locator="203:54-203:108" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                    <operand localId="1174" locator="203:77-203:107" strict="false" xsi:type="As">
                                       <operand localId="1176" locator="203:77-203:95" path="abatement" xsi:type="Property">
                                          <source localId="1175" locator="203:77-203:85" name="condition" xsi:type="OperandRef"/>
                                       </operand>
                                       <asTypeSpecifier localId="1177" locator="203:100-203:107" name="fhir:Age" xsi:type="NamedTypeSpecifier"/>
                                    </operand>
                                 </operand>
                              </low>
                              <high localId="1181" locator="204:7-204:110" xsi:type="Add">
                                 <signature localId="1196" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                 <signature localId="1197" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                 <operand localId="1182" locator="204:7-204:101" xsi:type="Add">
                                    <signature localId="1193" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                    <signature localId="1194" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                    <operand localId="1186" locator="204:7-204:43" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                       <operand localId="1185" locator="204:26-204:42" path="birthDate" xsi:type="Property">
                                          <source localId="1184" locator="204:26-204:32" name="Patient" xsi:type="ExpressionRef"/>
                                       </operand>
                                    </operand>
                                    <operand localId="1192" locator="204:47-204:101" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                       <operand localId="1188" locator="204:70-204:100" strict="false" xsi:type="As">
                                          <operand localId="1190" locator="204:70-204:88" path="abatement" xsi:type="Property">
                                             <source localId="1189" locator="204:70-204:78" name="condition" xsi:type="OperandRef"/>
                                          </operand>
                                          <asTypeSpecifier localId="1191" locator="204:93-204:100" name="fhir:Age" xsi:type="NamedTypeSpecifier"/>
                                       </operand>
                                    </operand>
                                 </operand>
                                 <operand localId="1195" locator="204:105-204:110" value="1" unit="year" xsi:type="Quantity"/>
                              </high>
                           </source>
                        </lowClosedExpression>
                        <high localId="1274" xsi:type="ToDateTime">
                           <signature localId="1275" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                           <operand localId="1272" path="high" xsi:type="Property">
                              <source localId="1198" locator="203:5-204:111" lowClosed="true" highClosed="false" xsi:type="Interval">
                                 <low localId="1168" locator="203:14-203:108" xsi:type="Add">
                                    <signature localId="1179" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                    <signature localId="1180" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                    <operand localId="1172" locator="203:14-203:50" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                       <operand localId="1171" locator="203:33-203:49" path="birthDate" xsi:type="Property">
                                          <source localId="1170" locator="203:33-203:39" name="Patient" xsi:type="ExpressionRef"/>
                                       </operand>
                                    </operand>
                                    <operand localId="1178" locator="203:54-203:108" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                       <operand localId="1174" locator="203:77-203:107" strict="false" xsi:type="As">
                                          <operand localId="1176" locator="203:77-203:95" path="abatement" xsi:type="Property">
                                             <source localId="1175" locator="203:77-203:85" name="condition" xsi:type="OperandRef"/>
                                          </operand>
                                          <asTypeSpecifier localId="1177" locator="203:100-203:107" name="fhir:Age" xsi:type="NamedTypeSpecifier"/>
                                       </operand>
                                    </operand>
                                 </low>
                                 <high localId="1181" locator="204:7-204:110" xsi:type="Add">
                                    <signature localId="1196" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                    <signature localId="1197" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                    <operand localId="1182" locator="204:7-204:101" xsi:type="Add">
                                       <signature localId="1193" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                       <signature localId="1194" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                       <operand localId="1186" locator="204:7-204:43" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                          <operand localId="1185" locator="204:26-204:42" path="birthDate" xsi:type="Property">
                                             <source localId="1184" locator="204:26-204:32" name="Patient" xsi:type="ExpressionRef"/>
                                          </operand>
                                       </operand>
                                       <operand localId="1192" locator="204:47-204:101" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                          <operand localId="1188" locator="204:70-204:100" strict="false" xsi:type="As">
                                             <operand localId="1190" locator="204:70-204:88" path="abatement" xsi:type="Property">
                                                <source localId="1189" locator="204:70-204:78" name="condition" xsi:type="OperandRef"/>
                                             </operand>
                                             <asTypeSpecifier localId="1191" locator="204:93-204:100" name="fhir:Age" xsi:type="NamedTypeSpecifier"/>
                                          </operand>
                                       </operand>
                                    </operand>
                                    <operand localId="1195" locator="204:105-204:110" value="1" unit="year" xsi:type="Quantity"/>
                                 </high>
                              </source>
                           </operand>
                        </high>
                        <highClosedExpression localId="1276" path="highClosed" xsi:type="Property">
                           <source localId="1198" locator="203:5-204:111" lowClosed="true" highClosed="false" xsi:type="Interval">
                              <low localId="1168" locator="203:14-203:108" xsi:type="Add">
                                 <signature localId="1179" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                 <signature localId="1180" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                 <operand localId="1172" locator="203:14-203:50" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                    <operand localId="1171" locator="203:33-203:49" path="birthDate" xsi:type="Property">
                                       <source localId="1170" locator="203:33-203:39" name="Patient" xsi:type="ExpressionRef"/>
                                    </operand>
                                 </operand>
                                 <operand localId="1178" locator="203:54-203:108" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                    <operand localId="1174" locator="203:77-203:107" strict="false" xsi:type="As">
                                       <operand localId="1176" locator="203:77-203:95" path="abatement" xsi:type="Property">
                                          <source localId="1175" locator="203:77-203:85" name="condition" xsi:type="OperandRef"/>
                                       </operand>
                                       <asTypeSpecifier localId="1177" locator="203:100-203:107" name="fhir:Age" xsi:type="NamedTypeSpecifier"/>
                                    </operand>
                                 </operand>
                              </low>
                              <high localId="1181" locator="204:7-204:110" xsi:type="Add">
                                 <signature localId="1196" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                 <signature localId="1197" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                 <operand localId="1182" locator="204:7-204:101" xsi:type="Add">
                                    <signature localId="1193" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                    <signature localId="1194" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                    <operand localId="1186" locator="204:7-204:43" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                       <operand localId="1185" locator="204:26-204:42" path="birthDate" xsi:type="Property">
                                          <source localId="1184" locator="204:26-204:32" name="Patient" xsi:type="ExpressionRef"/>
                                       </operand>
                                    </operand>
                                    <operand localId="1192" locator="204:47-204:101" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                       <operand localId="1188" locator="204:70-204:100" strict="false" xsi:type="As">
                                          <operand localId="1190" locator="204:70-204:88" path="abatement" xsi:type="Property">
                                             <source localId="1189" locator="204:70-204:78" name="condition" xsi:type="OperandRef"/>
                                          </operand>
                                          <asTypeSpecifier localId="1191" locator="204:93-204:100" name="fhir:Age" xsi:type="NamedTypeSpecifier"/>
                                       </operand>
                                    </operand>
                                 </operand>
                                 <operand localId="1195" locator="204:105-204:110" value="1" unit="year" xsi:type="Quantity"/>
                              </high>
                           </source>
                        </highClosedExpression>
                     </then>
                     <else localId="1199" locator="205:8-211:8" xsi:type="If">
                        <condition localId="1200" locator="205:11-205:43" xsi:type="Is">
                           <operand localId="1202" locator="205:11-205:29" path="abatement" xsi:type="Property">
                              <source localId="1201" locator="205:11-205:19" name="condition" xsi:type="OperandRef"/>
                           </operand>
                           <isTypeSpecifier localId="1203" locator="205:34-205:43" name="fhir:Range" xsi:type="NamedTypeSpecifier"/>
                        </condition>
                        <then localId="1255" xsi:type="Interval">
                           <low localId="1258" xsi:type="ToDateTime">
                              <signature localId="1259" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                              <operand localId="1256" path="low" xsi:type="Property">
                                 <source localId="1236" locator="206:5-207:120" lowClosed="true" highClosed="false" xsi:type="Interval">
                                    <low localId="1204" locator="206:14-206:116" xsi:type="Add">
                                       <signature localId="1216" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                       <signature localId="1217" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                       <operand localId="1208" locator="206:14-206:50" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                          <operand localId="1207" locator="206:33-206:49" path="birthDate" xsi:type="Property">
                                             <source localId="1206" locator="206:33-206:39" name="Patient" xsi:type="ExpressionRef"/>
                                          </operand>
                                       </operand>
                                       <operand localId="1215" locator="206:54-206:116" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                          <operand localId="1214" locator="206:77-206:115" path="low" xsi:type="Property">
                                             <source localId="1210" locator="206:77-206:111" strict="false" xsi:type="As">
                                                <operand localId="1212" locator="206:78-206:96" path="abatement" xsi:type="Property">
                                                   <source localId="1211" locator="206:78-206:86" name="condition" xsi:type="OperandRef"/>
                                                </operand>
                                                <asTypeSpecifier localId="1213" locator="206:101-206:110" name="fhir:Range" xsi:type="NamedTypeSpecifier"/>
                                             </source>
                                          </operand>
                                       </operand>
                                    </low>
                                    <high localId="1218" locator="207:7-207:119" xsi:type="Add">
                                       <signature localId="1234" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                       <signature localId="1235" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                       <operand localId="1219" locator="207:7-207:110" xsi:type="Add">
                                          <signature localId="1231" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                          <signature localId="1232" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                          <operand localId="1223" locator="207:7-207:43" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                             <operand localId="1222" locator="207:26-207:42" path="birthDate" xsi:type="Property">
                                                <source localId="1221" locator="207:26-207:32" name="Patient" xsi:type="ExpressionRef"/>
                                             </operand>
                                          </operand>
                                          <operand localId="1230" locator="207:47-207:110" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                             <operand localId="1229" locator="207:70-207:109" path="high" xsi:type="Property">
                                                <source localId="1225" locator="207:70-207:104" strict="false" xsi:type="As">
                                                   <operand localId="1227" locator="207:71-207:89" path="abatement" xsi:type="Property">
                                                      <source localId="1226" locator="207:71-207:79" name="condition" xsi:type="OperandRef"/>
                                                   </operand>
                                                   <asTypeSpecifier localId="1228" locator="207:94-207:103" name="fhir:Range" xsi:type="NamedTypeSpecifier"/>
                                                </source>
                                             </operand>
                                          </operand>
                                       </operand>
                                       <operand localId="1233" locator="207:114-207:119" value="1" unit="year" xsi:type="Quantity"/>
                                    </high>
                                 </source>
                              </operand>
                           </low>
                           <lowClosedExpression localId="1260" path="lowClosed" xsi:type="Property">
                              <source localId="1236" locator="206:5-207:120" lowClosed="true" highClosed="false" xsi:type="Interval">
                                 <low localId="1204" locator="206:14-206:116" xsi:type="Add">
                                    <signature localId="1216" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                    <signature localId="1217" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                    <operand localId="1208" locator="206:14-206:50" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                       <operand localId="1207" locator="206:33-206:49" path="birthDate" xsi:type="Property">
                                          <source localId="1206" locator="206:33-206:39" name="Patient" xsi:type="ExpressionRef"/>
                                       </operand>
                                    </operand>
                                    <operand localId="1215" locator="206:54-206:116" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                       <operand localId="1214" locator="206:77-206:115" path="low" xsi:type="Property">
                                          <source localId="1210" locator="206:77-206:111" strict="false" xsi:type="As">
                                             <operand localId="1212" locator="206:78-206:96" path="abatement" xsi:type="Property">
                                                <source localId="1211" locator="206:78-206:86" name="condition" xsi:type="OperandRef"/>
                                             </operand>
                                             <asTypeSpecifier localId="1213" locator="206:101-206:110" name="fhir:Range" xsi:type="NamedTypeSpecifier"/>
                                          </source>
                                       </operand>
                                    </operand>
                                 </low>
                                 <high localId="1218" locator="207:7-207:119" xsi:type="Add">
                                    <signature localId="1234" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                    <signature localId="1235" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                    <operand localId="1219" locator="207:7-207:110" xsi:type="Add">
                                       <signature localId="1231" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                       <signature localId="1232" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                       <operand localId="1223" locator="207:7-207:43" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                          <operand localId="1222" locator="207:26-207:42" path="birthDate" xsi:type="Property">
                                             <source localId="1221" locator="207:26-207:32" name="Patient" xsi:type="ExpressionRef"/>
                                          </operand>
                                       </operand>
                                       <operand localId="1230" locator="207:47-207:110" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                          <operand localId="1229" locator="207:70-207:109" path="high" xsi:type="Property">
                                             <source localId="1225" locator="207:70-207:104" strict="false" xsi:type="As">
                                                <operand localId="1227" locator="207:71-207:89" path="abatement" xsi:type="Property">
                                                   <source localId="1226" locator="207:71-207:79" name="condition" xsi:type="OperandRef"/>
                                                </operand>
                                                <asTypeSpecifier localId="1228" locator="207:94-207:103" name="fhir:Range" xsi:type="NamedTypeSpecifier"/>
                                             </source>
                                          </operand>
                                       </operand>
                                    </operand>
                                    <operand localId="1233" locator="207:114-207:119" value="1" unit="year" xsi:type="Quantity"/>
                                 </high>
                              </source>
                           </lowClosedExpression>
                           <high localId="1263" xsi:type="ToDateTime">
                              <signature localId="1264" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                              <operand localId="1261" path="high" xsi:type="Property">
                                 <source localId="1236" locator="206:5-207:120" lowClosed="true" highClosed="false" xsi:type="Interval">
                                    <low localId="1204" locator="206:14-206:116" xsi:type="Add">
                                       <signature localId="1216" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                       <signature localId="1217" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                       <operand localId="1208" locator="206:14-206:50" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                          <operand localId="1207" locator="206:33-206:49" path="birthDate" xsi:type="Property">
                                             <source localId="1206" locator="206:33-206:39" name="Patient" xsi:type="ExpressionRef"/>
                                          </operand>
                                       </operand>
                                       <operand localId="1215" locator="206:54-206:116" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                          <operand localId="1214" locator="206:77-206:115" path="low" xsi:type="Property">
                                             <source localId="1210" locator="206:77-206:111" strict="false" xsi:type="As">
                                                <operand localId="1212" locator="206:78-206:96" path="abatement" xsi:type="Property">
                                                   <source localId="1211" locator="206:78-206:86" name="condition" xsi:type="OperandRef"/>
                                                </operand>
                                                <asTypeSpecifier localId="1213" locator="206:101-206:110" name="fhir:Range" xsi:type="NamedTypeSpecifier"/>
                                             </source>
                                          </operand>
                                       </operand>
                                    </low>
                                    <high localId="1218" locator="207:7-207:119" xsi:type="Add">
                                       <signature localId="1234" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                       <signature localId="1235" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                       <operand localId="1219" locator="207:7-207:110" xsi:type="Add">
                                          <signature localId="1231" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                          <signature localId="1232" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                          <operand localId="1223" locator="207:7-207:43" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                             <operand localId="1222" locator="207:26-207:42" path="birthDate" xsi:type="Property">
                                                <source localId="1221" locator="207:26-207:32" name="Patient" xsi:type="ExpressionRef"/>
                                             </operand>
                                          </operand>
                                          <operand localId="1230" locator="207:47-207:110" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                             <operand localId="1229" locator="207:70-207:109" path="high" xsi:type="Property">
                                                <source localId="1225" locator="207:70-207:104" strict="false" xsi:type="As">
                                                   <operand localId="1227" locator="207:71-207:89" path="abatement" xsi:type="Property">
                                                      <source localId="1226" locator="207:71-207:79" name="condition" xsi:type="OperandRef"/>
                                                   </operand>
                                                   <asTypeSpecifier localId="1228" locator="207:94-207:103" name="fhir:Range" xsi:type="NamedTypeSpecifier"/>
                                                </source>
                                             </operand>
                                          </operand>
                                       </operand>
                                       <operand localId="1233" locator="207:114-207:119" value="1" unit="year" xsi:type="Quantity"/>
                                    </high>
                                 </source>
                              </operand>
                           </high>
                           <highClosedExpression localId="1265" path="highClosed" xsi:type="Property">
                              <source localId="1236" locator="206:5-207:120" lowClosed="true" highClosed="false" xsi:type="Interval">
                                 <low localId="1204" locator="206:14-206:116" xsi:type="Add">
                                    <signature localId="1216" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                    <signature localId="1217" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                    <operand localId="1208" locator="206:14-206:50" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                       <operand localId="1207" locator="206:33-206:49" path="birthDate" xsi:type="Property">
                                          <source localId="1206" locator="206:33-206:39" name="Patient" xsi:type="ExpressionRef"/>
                                       </operand>
                                    </operand>
                                    <operand localId="1215" locator="206:54-206:116" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                       <operand localId="1214" locator="206:77-206:115" path="low" xsi:type="Property">
                                          <source localId="1210" locator="206:77-206:111" strict="false" xsi:type="As">
                                             <operand localId="1212" locator="206:78-206:96" path="abatement" xsi:type="Property">
                                                <source localId="1211" locator="206:78-206:86" name="condition" xsi:type="OperandRef"/>
                                             </operand>
                                             <asTypeSpecifier localId="1213" locator="206:101-206:110" name="fhir:Range" xsi:type="NamedTypeSpecifier"/>
                                          </source>
                                       </operand>
                                    </operand>
                                 </low>
                                 <high localId="1218" locator="207:7-207:119" xsi:type="Add">
                                    <signature localId="1234" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                    <signature localId="1235" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                    <operand localId="1219" locator="207:7-207:110" xsi:type="Add">
                                       <signature localId="1231" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                                       <signature localId="1232" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                                       <operand localId="1223" locator="207:7-207:43" name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                          <operand localId="1222" locator="207:26-207:42" path="birthDate" xsi:type="Property">
                                             <source localId="1221" locator="207:26-207:32" name="Patient" xsi:type="ExpressionRef"/>
                                          </operand>
                                       </operand>
                                       <operand localId="1230" locator="207:47-207:110" name="ToQuantity" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                          <operand localId="1229" locator="207:70-207:109" path="high" xsi:type="Property">
                                             <source localId="1225" locator="207:70-207:104" strict="false" xsi:type="As">
                                                <operand localId="1227" locator="207:71-207:89" path="abatement" xsi:type="Property">
                                                   <source localId="1226" locator="207:71-207:79" name="condition" xsi:type="OperandRef"/>
                                                </operand>
                                                <asTypeSpecifier localId="1228" locator="207:94-207:103" name="fhir:Range" xsi:type="NamedTypeSpecifier"/>
                                             </source>
                                          </operand>
                                       </operand>
                                    </operand>
                                    <operand localId="1233" locator="207:114-207:119" value="1" unit="year" xsi:type="Quantity"/>
                                 </high>
                              </source>
                           </highClosedExpression>
                        </then>
                        <else localId="1237" locator="208:8-211:8" xsi:type="If">
                           <condition localId="1238" locator="208:11-208:45" xsi:type="Is">
                              <operand localId="1240" locator="208:11-208:29" path="abatement" xsi:type="Property">
                                 <source localId="1239" locator="208:11-208:19" name="condition" xsi:type="OperandRef"/>
                              </operand>
                              <isTypeSpecifier localId="1241" locator="208:34-208:45" name="fhir:boolean" xsi:type="NamedTypeSpecifier"/>
                           </condition>
                           <then localId="1248" locator="209:5-209:73" lowClosed="true" highClosed="false" xsi:type="Interval">
                              <low localId="1242" locator="209:14-209:48" xsi:type="End">
                                 <operand localId="1245" locator="209:21-209:48" name="toInterval" xsi:type="FunctionRef">
                                    <operand localId="1244" locator="209:21-209:35" path="onset" xsi:type="Property">
                                       <source localId="1243" locator="209:21-209:29" name="condition" xsi:type="OperandRef"/>
                                    </operand>
                                 </operand>
                              </low>
                              <high localId="1249" name="ToDateTime" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                 <signature localId="1250" name="fhir:dateTime" xsi:type="NamedTypeSpecifier"/>
                                 <operand localId="1247" locator="209:51-209:72" path="recordedDate" xsi:type="Property">
                                    <source localId="1246" locator="209:51-209:59" name="condition" xsi:type="OperandRef"/>
                                 </operand>
                              </high>
                           </then>
                           <else localId="1252" xsi:type="As">
                              <operand localId="1251" locator="211:5-211:8" xsi:type="Null"/>
                              <asTypeSpecifier localId="1253" xsi:type="IntervalTypeSpecifier">
                                 <pointType localId="1254" name="t:DateTime" xsi:type="NamedTypeSpecifier"/>
                              </asTypeSpecifier>
                           </else>
                        </else>
                     </else>
                  </else>
               </else>
            </else>
         </expression>
         <operand localId="1109" name="condition">
            <operandTypeSpecifier localId="1108" locator="195:52-195:60" name="fhir:Condition" xsi:type="NamedTypeSpecifier"/>
         </operand>
      </def>
      <def localId="1277" locator="218:1-229:70" name="prevalenceInterval" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:t name="description" value="Returns an interval representing the normalized prevalence period of a given Condition resource."/>
            <a:t name="comment" value="Uses the toInterval and toAbatementInterval functions to determine the widest potential interval from&#xa;onset to abatement as specified in the given Condition."/>
            <a:s r="1277">
               <a:s>/*
@description: Returns an interval representing the normalized prevalence period of a given Condition resource.
@comment: Uses the toInterval and toAbatementInterval functions to determine the widest potential interval from
onset to abatement as specified in the given Condition.
*/
define fluent function prevalenceInterval(condition Condition):
</a:s>
               <a:s r="1282">
                  <a:s r="1282">
                     <a:s>if </a:s>
                     <a:s r="1283">
                        <a:s r="1284">
                           <a:s r="1285">
                              <a:s r="1287">
                                 <a:s r="1286">
                                    <a:s>condition</a:s>
                                 </a:s>
                                 <a:s>.</a:s>
                                 <a:s r="1287">
                                    <a:s>clinicalStatus</a:s>
                                 </a:s>
                              </a:s>
                              <a:s> ~ </a:s>
                              <a:s r="1288">
                                 <a:s>&quot;active&quot;</a:s>
                              </a:s>
                           </a:s>
                           <a:s>
  or </a:s>
                           <a:s r="1295">
                              <a:s r="1297">
                                 <a:s r="1296">
                                    <a:s>condition</a:s>
                                 </a:s>
                                 <a:s>.</a:s>
                                 <a:s r="1297">
                                    <a:s>clinicalStatus</a:s>
                                 </a:s>
                              </a:s>
                              <a:s> ~ </a:s>
                              <a:s r="1298">
                                 <a:s>&quot;recurrence&quot;</a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                        <a:s>
  or </a:s>
                        <a:s r="1305">
                           <a:s r="1307">
                              <a:s r="1306">
                                 <a:s>condition</a:s>
                              </a:s>
                              <a:s>.</a:s>
                              <a:s r="1307">
                                 <a:s>clinicalStatus</a:s>
                              </a:s>
                           </a:s>
                           <a:s> ~ </a:s>
                           <a:s r="1308">
                              <a:s>&quot;relapse&quot;</a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                     <a:s> then
  </a:s>
                     <a:s r="1322">
                        <a:s>Interval[</a:s>
                        <a:s r="1315">
                           <a:s>start of </a:s>
                           <a:s r="1318">
                              <a:s r="1317">
                                 <a:s r="1316">
                                    <a:s>condition</a:s>
                                 </a:s>
                                 <a:s>.</a:s>
                                 <a:s r="1317">
                                    <a:s>onset</a:s>
                                 </a:s>
                              </a:s>
                              <a:s>.</a:s>
                              <a:s r="1318">
                                 <a:s>toInterval()</a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                        <a:s>, </a:s>
                        <a:s r="1319">
                           <a:s>end of </a:s>
                           <a:s r="1321">
                              <a:s r="1320">
                                 <a:s>condition</a:s>
                              </a:s>
                              <a:s>.</a:s>
                              <a:s r="1321">
                                 <a:s>abatementInterval()</a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                        <a:s>]</a:s>
                     </a:s>
                     <a:s>
else
  </a:s>
                     <a:s r="1344">
                        <a:s>
                           <a:s r="1323">
                              <a:s r="1324">
                                 <a:s>(</a:s>
                                 <a:s r="1324">
                                    <a:s>end of </a:s>
                                    <a:s r="1326">
                                       <a:s r="1325">
                                          <a:s>condition</a:s>
                                       </a:s>
                                       <a:s>.</a:s>
                                       <a:s r="1326">
                                          <a:s>abatementInterval()</a:s>
                                       </a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s>)</a:s>
                              </a:s>
                              <a:s> abatementDate</a:s>
                           </a:s>
                        </a:s>
                        <a:s>
    </a:s>
                        <a:s r="1328">
                           <a:s>return 
	  </a:s>
                           <a:s r="1329">
                              <a:s>if </a:s>
                              <a:s r="1331">
                                 <a:s r="1330">
                                    <a:s>abatementDate</a:s>
                                 </a:s>
                                 <a:s> is null</a:s>
                              </a:s>
                              <a:s> then
        </a:s>
                              <a:s r="1337">
                                 <a:s>Interval[</a:s>
                                 <a:s r="1332">
                                    <a:s>start of </a:s>
                                    <a:s r="1335">
                                       <a:s r="1334">
                                          <a:s r="1333">
                                             <a:s>condition</a:s>
                                          </a:s>
                                          <a:s>.</a:s>
                                          <a:s r="1334">
                                             <a:s>onset</a:s>
                                          </a:s>
                                       </a:s>
                                       <a:s>.</a:s>
                                       <a:s r="1335">
                                          <a:s>toInterval()</a:s>
                                       </a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s>, </a:s>
                                 <a:s r="1336">
                                    <a:s>abatementDate</a:s>
                                 </a:s>
                                 <a:s>)</a:s>
                              </a:s>
                              <a:s>
      else
        </a:s>
                              <a:s r="1343">
                                 <a:s>Interval[</a:s>
                                 <a:s r="1338">
                                    <a:s>start of </a:s>
                                    <a:s r="1341">
                                       <a:s r="1340">
                                          <a:s r="1339">
                                             <a:s>condition</a:s>
                                          </a:s>
                                          <a:s>.</a:s>
                                          <a:s r="1340">
                                             <a:s>onset</a:s>
                                          </a:s>
                                       </a:s>
                                       <a:s>.</a:s>
                                       <a:s r="1341">
                                          <a:s>toInterval()</a:s>
                                       </a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s>, </a:s>
                                 <a:s r="1342">
                                    <a:s>abatementDate</a:s>
                                 </a:s>
                                 <a:s>]</a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="1282" locator="219:1-229:70" xsi:type="If">
            <condition localId="1283" locator="219:4-221:41" xsi:type="Or">
               <operand localId="1284" locator="219:4-220:44" xsi:type="Or">
                  <operand localId="1285" locator="219:4-219:38" xsi:type="Equivalent">
                     <signature localId="1293" name="t:Concept" xsi:type="NamedTypeSpecifier"/>
                     <signature localId="1294" name="t:Concept" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="1289" name="ToConcept" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                        <operand localId="1287" locator="219:4-219:27" path="clinicalStatus" xsi:type="Property">
                           <source localId="1286" locator="219:4-219:12" name="condition" xsi:type="OperandRef"/>
                        </operand>
                     </operand>
                     <operand localId="1291" xsi:type="ToConcept">
                        <signature localId="1292" name="t:Code" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="1288" locator="219:31-219:38" name="active" xsi:type="CodeRef"/>
                     </operand>
                  </operand>
                  <operand localId="1295" locator="220:6-220:44" xsi:type="Equivalent">
                     <signature localId="1303" name="t:Concept" xsi:type="NamedTypeSpecifier"/>
                     <signature localId="1304" name="t:Concept" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="1299" name="ToConcept" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                        <operand localId="1297" locator="220:6-220:29" path="clinicalStatus" xsi:type="Property">
                           <source localId="1296" locator="220:6-220:14" name="condition" xsi:type="OperandRef"/>
                        </operand>
                     </operand>
                     <operand localId="1301" xsi:type="ToConcept">
                        <signature localId="1302" name="t:Code" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="1298" locator="220:33-220:44" name="recurrence" xsi:type="CodeRef"/>
                     </operand>
                  </operand>
               </operand>
               <operand localId="1305" locator="221:6-221:41" xsi:type="Equivalent">
                  <signature localId="1313" name="t:Concept" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="1314" name="t:Concept" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="1309" name="ToConcept" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <operand localId="1307" locator="221:6-221:29" path="clinicalStatus" xsi:type="Property">
                        <source localId="1306" locator="221:6-221:14" name="condition" xsi:type="OperandRef"/>
                     </operand>
                  </operand>
                  <operand localId="1311" xsi:type="ToConcept">
                     <signature localId="1312" name="t:Code" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="1308" locator="221:33-221:41" name="relapse" xsi:type="CodeRef"/>
                  </operand>
               </operand>
            </condition>
            <then localId="1322" locator="222:3-222:87" lowClosed="true" highClosed="true" xsi:type="Interval">
               <low localId="1315" locator="222:12-222:48" xsi:type="Start">
                  <operand localId="1318" locator="222:21-222:48" name="toInterval" xsi:type="FunctionRef">
                     <operand localId="1317" locator="222:21-222:35" path="onset" xsi:type="Property">
                        <source localId="1316" locator="222:21-222:29" name="condition" xsi:type="OperandRef"/>
                     </operand>
                  </operand>
               </low>
               <high localId="1319" locator="222:51-222:86" xsi:type="End">
                  <operand localId="1321" locator="222:58-222:86" name="abatementInterval" xsi:type="FunctionRef">
                     <operand localId="1320" locator="222:58-222:66" name="condition" xsi:type="OperandRef"/>
                  </operand>
               </high>
            </then>
            <else localId="1344" locator="224:3-229:70" xsi:type="Query">
               <source localId="1323" locator="224:3-224:54" alias="abatementDate">
                  <expression localId="1324" locator="224:3-224:40" xsi:type="End">
                     <operand localId="1326" locator="224:11-224:39" name="abatementInterval" xsi:type="FunctionRef">
                        <operand localId="1325" locator="224:11-224:19" name="condition" xsi:type="OperandRef"/>
                     </operand>
                  </expression>
               </source>
               <return localId="1328" locator="225:5-229:70">
                  <expression localId="1329" locator="226:4-229:70" xsi:type="If">
                     <condition localId="1331" locator="226:7-226:27" xsi:type="IsNull">
                        <operand localId="1330" locator="226:7-226:19" name="abatementDate" xsi:type="AliasRef"/>
                     </condition>
                     <then localId="1337" locator="227:9-227:70" lowClosed="true" highClosed="false" xsi:type="Interval">
                        <low localId="1332" locator="227:18-227:54" xsi:type="Start">
                           <operand localId="1335" locator="227:27-227:54" name="toInterval" xsi:type="FunctionRef">
                              <operand localId="1334" locator="227:27-227:41" path="onset" xsi:type="Property">
                                 <source localId="1333" locator="227:27-227:35" name="condition" xsi:type="OperandRef"/>
                              </operand>
                           </operand>
                        </low>
                        <high localId="1336" locator="227:57-227:69" name="abatementDate" xsi:type="AliasRef"/>
                     </then>
                     <else localId="1343" locator="229:9-229:70" lowClosed="true" highClosed="true" xsi:type="Interval">
                        <low localId="1338" locator="229:18-229:54" xsi:type="Start">
                           <operand localId="1341" locator="229:27-229:54" name="toInterval" xsi:type="FunctionRef">
                              <operand localId="1340" locator="229:27-229:41" path="onset" xsi:type="Property">
                                 <source localId="1339" locator="229:27-229:35" name="condition" xsi:type="OperandRef"/>
                              </operand>
                           </operand>
                        </low>
                        <high localId="1342" locator="229:57-229:69" name="abatementDate" xsi:type="AliasRef"/>
                     </else>
                  </expression>
               </return>
            </else>
         </expression>
         <operand localId="1279" name="condition">
            <operandTypeSpecifier localId="1278" locator="218:53-218:61" name="fhir:Condition" xsi:type="NamedTypeSpecifier"/>
         </operand>
      </def>
      <def localId="1345" locator="236:1-237:53" name="references" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:t name="description" value="Returns true if the given reference is to the given resource"/>
            <a:t name="comment" value="Returns true if the `id` element of the given resource exactly equals the tail of the given reference.&#xa;NOTE: This function assumes resources from the same source server."/>
            <a:s r="1345">
               <a:s>/*
@description: Returns true if the given reference is to the given resource
@comment: Returns true if the `id` element of the given resource exactly equals the tail of the given reference.
NOTE: This function assumes resources from the same source server.
*/
define fluent function references(reference FHIR.Reference, resource FHIR.Resource):
  </a:s>
               <a:s r="1353">
                  <a:s r="1353">
                     <a:s r="1355">
                        <a:s r="1354">
                           <a:s>resource</a:s>
                        </a:s>
                        <a:s>.</a:s>
                        <a:s r="1355">
                           <a:s>id</a:s>
                        </a:s>
                     </a:s>
                     <a:s> = </a:s>
                     <a:s r="1371">
                        <a:s>Last(</a:s>
                        <a:s r="1364">
                           <a:s>Split(</a:s>
                           <a:s r="1357">
                              <a:s r="1356">
                                 <a:s>reference</a:s>
                              </a:s>
                              <a:s>.</a:s>
                              <a:s r="1357">
                                 <a:s>reference</a:s>
                              </a:s>
                           </a:s>
                           <a:s>, </a:s>
                           <a:s r="1358">
                              <a:s>'/'</a:s>
                           </a:s>
                           <a:s>)</a:s>
                        </a:s>
                        <a:s>)</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="1353" locator="237:3-237:53" xsi:type="Equal">
            <signature localId="1376" name="t:String" xsi:type="NamedTypeSpecifier"/>
            <signature localId="1377" name="t:String" xsi:type="NamedTypeSpecifier"/>
            <operand localId="1374" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
               <signature localId="1375" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
               <operand localId="1355" locator="237:3-237:13" path="id" xsi:type="Property">
                  <source localId="1354" locator="237:3-237:10" name="resource" xsi:type="OperandRef"/>
               </operand>
            </operand>
            <operand localId="1371" locator="237:17-237:53" xsi:type="Last">
               <signature localId="1372" xsi:type="ListTypeSpecifier">
                  <elementType localId="1373" name="t:String" xsi:type="NamedTypeSpecifier"/>
               </signature>
               <source localId="1364" locator="237:22-237:52" xsi:type="Split">
                  <stringToSplit localId="1365" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="1366" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="1357" locator="237:28-237:46" path="reference" xsi:type="Property">
                        <source localId="1356" locator="237:28-237:36" name="reference" xsi:type="OperandRef"/>
                     </operand>
                  </stringToSplit>
                  <separator localId="1358" locator="237:49-237:51" valueType="t:String" value="/" xsi:type="Literal"/>
               </source>
            </operand>
         </expression>
         <operand localId="1347" name="reference">
            <operandTypeSpecifier localId="1346" locator="236:45-236:58" name="fhir:Reference" xsi:type="NamedTypeSpecifier"/>
         </operand>
         <operand localId="1349" name="resource">
            <operandTypeSpecifier localId="1348" locator="236:70-236:82" name="fhir:Resource" xsi:type="NamedTypeSpecifier"/>
         </operand>
      </def>
      <def localId="1378" locator="244:1-245:52" name="references" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:t name="description" value="Returns true if the given reference is to the given resourceId"/>
            <a:t name="comment" value="Returns true if the `resourceId` parameter exactly equals the tail of the given reference.&#xa;NOTE: This function assumes resources from the same source server."/>
            <a:s r="1378">
               <a:s>/*
@description: Returns true if the given reference is to the given resourceId
@comment: Returns true if the `resourceId` parameter exactly equals the tail of the given reference.
NOTE: This function assumes resources from the same source server.
*/
define fluent function references(reference FHIR.Reference, resourceId String):
  </a:s>
               <a:s r="1386">
                  <a:s r="1386">
                     <a:s r="1387">
                        <a:s>resourceId</a:s>
                     </a:s>
                     <a:s> = </a:s>
                     <a:s r="1403">
                        <a:s>Last(</a:s>
                        <a:s r="1396">
                           <a:s>Split(</a:s>
                           <a:s r="1389">
                              <a:s r="1388">
                                 <a:s>reference</a:s>
                              </a:s>
                              <a:s>.</a:s>
                              <a:s r="1389">
                                 <a:s>reference</a:s>
                              </a:s>
                           </a:s>
                           <a:s>, </a:s>
                           <a:s r="1390">
                              <a:s>'/'</a:s>
                           </a:s>
                           <a:s>)</a:s>
                        </a:s>
                        <a:s>)</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="1386" locator="245:3-245:52" xsi:type="Equal">
            <signature localId="1406" name="t:String" xsi:type="NamedTypeSpecifier"/>
            <signature localId="1407" name="t:String" xsi:type="NamedTypeSpecifier"/>
            <operand localId="1387" locator="245:3-245:12" name="resourceId" xsi:type="OperandRef"/>
            <operand localId="1403" locator="245:16-245:52" xsi:type="Last">
               <signature localId="1404" xsi:type="ListTypeSpecifier">
                  <elementType localId="1405" name="t:String" xsi:type="NamedTypeSpecifier"/>
               </signature>
               <source localId="1396" locator="245:21-245:51" xsi:type="Split">
                  <stringToSplit localId="1397" name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <signature localId="1398" name="fhir:string" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="1389" locator="245:27-245:45" path="reference" xsi:type="Property">
                        <source localId="1388" locator="245:27-245:35" name="reference" xsi:type="OperandRef"/>
                     </operand>
                  </stringToSplit>
                  <separator localId="1390" locator="245:48-245:50" valueType="t:String" value="/" xsi:type="Literal"/>
               </source>
            </operand>
         </expression>
         <operand localId="1380" name="reference">
            <operandTypeSpecifier localId="1379" locator="244:45-244:58" name="fhir:Reference" xsi:type="NamedTypeSpecifier"/>
         </operand>
         <operand localId="1382" name="resourceId">
            <operandTypeSpecifier localId="1381" locator="244:72-244:77" name="t:String" xsi:type="NamedTypeSpecifier"/>
         </operand>
      </def>
      <def localId="1408" locator="252:1-253:52" name="references" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:t name="description" value="Returns true if any of the given references are to the given resource"/>
            <a:t name="comment" value="Returns true if the `id` element of the given resource exactly equals the tail of any of the given references.&#xa;NOTE: This function assumes resources from the same source server."/>
            <a:s r="1408">
               <a:s>/*
@description: Returns true if any of the given references are to the given resource
@comment: Returns true if the `id` element of the given resource exactly equals the tail of any of the given references.
NOTE: This function assumes resources from the same source server.
*/
define fluent function references(references List&lt;FHIR.Reference>, resource FHIR.Resource):
  </a:s>
               <a:s r="1417">
                  <a:s r="1417">
                     <a:s>exists </a:s>
                     <a:s r="1432">
                        <a:s>(</a:s>
                        <a:s r="1432">
                           <a:s>
                              <a:s r="1418">
                                 <a:s r="1419">
                                    <a:s>
                                       <a:s>references</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s> R</a:s>
                              </a:s>
                           </a:s>
                           <a:s> </a:s>
                           <a:s r="1429">
                              <a:s>where </a:s>
                              <a:s r="1429">
                                 <a:s r="1421">
                                    <a:s>R</a:s>
                                 </a:s>
                                 <a:s>.</a:s>
                                 <a:s r="1429">
                                    <a:s>references(</a:s>
                                    <a:s r="1422">
                                       <a:s>resource</a:s>
                                    </a:s>
                                    <a:s>)</a:s>
                                 </a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                        <a:s>)</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="1417" locator="253:3-253:52" xsi:type="Exists">
            <operand localId="1432" locator="253:10-253:52" xsi:type="Query">
               <source localId="1418" locator="253:11-253:22" alias="R">
                  <expression localId="1419" locator="253:11-253:20" name="references" xsi:type="OperandRef"/>
               </source>
               <where localId="1429" locator="253:24-253:51" name="references" xsi:type="FunctionRef">
                  <signature localId="1430" name="fhir:Reference" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="1431" name="fhir:Resource" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="1421" locator="253:30" name="R" xsi:type="AliasRef"/>
                  <operand localId="1422" locator="253:43-253:50" name="resource" xsi:type="OperandRef"/>
               </where>
            </operand>
         </expression>
         <operand localId="1411" name="references">
            <operandTypeSpecifier localId="1409" locator="252:46-252:65" xsi:type="ListTypeSpecifier">
               <elementType localId="1410" locator="252:51-252:64" name="fhir:Reference" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
         <operand localId="1413" name="resource">
            <operandTypeSpecifier localId="1412" locator="252:77-252:89" name="fhir:Resource" xsi:type="NamedTypeSpecifier"/>
         </operand>
      </def>
      <def localId="1423" locator="260:1-261:54" name="references" context="Patient" accessLevel="Public" fluent="true" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:t name="description" value="Returns true if any of the given references are to the given resourceId"/>
            <a:t name="comment" value="Returns true if the `resourceId` parameter exactly equals the tail of any of the given references.&#xa;NOTE: This function assumes resources from the same source server."/>
            <a:s r="1423">
               <a:s>/*
@description: Returns true if any of the given references are to the given resourceId
@comment: Returns true if the `resourceId` parameter exactly equals the tail of any of the given references.
NOTE: This function assumes resources from the same source server.
*/
define fluent function references(references List&lt;FHIR.Reference>, resourceId String):
  </a:s>
               <a:s r="1436">
                  <a:s r="1436">
                     <a:s>exists </a:s>
                     <a:s r="1445">
                        <a:s>(</a:s>
                        <a:s r="1445">
                           <a:s>
                              <a:s r="1437">
                                 <a:s r="1438">
                                    <a:s>
                                       <a:s>references</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s> R</a:s>
                              </a:s>
                           </a:s>
                           <a:s> </a:s>
                           <a:s r="1442">
                              <a:s>where </a:s>
                              <a:s r="1442">
                                 <a:s r="1440">
                                    <a:s>R</a:s>
                                 </a:s>
                                 <a:s>.</a:s>
                                 <a:s r="1442">
                                    <a:s>references(</a:s>
                                    <a:s r="1441">
                                       <a:s>resourceId</a:s>
                                    </a:s>
                                    <a:s>)</a:s>
                                 </a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                        <a:s>)</a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="1436" locator="261:3-261:54" xsi:type="Exists">
            <operand localId="1445" locator="261:10-261:54" xsi:type="Query">
               <source localId="1437" locator="261:11-261:22" alias="R">
                  <expression localId="1438" locator="261:11-261:20" name="references" xsi:type="OperandRef"/>
               </source>
               <where localId="1442" locator="261:24-261:53" name="references" xsi:type="FunctionRef">
                  <signature localId="1443" name="fhir:Reference" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="1444" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="1440" locator="261:30" name="R" xsi:type="AliasRef"/>
                  <operand localId="1441" locator="261:43-261:52" name="resourceId" xsi:type="OperandRef"/>
               </where>
            </operand>
         </expression>
         <operand localId="1426" name="references">
            <operandTypeSpecifier localId="1424" locator="260:46-260:65" xsi:type="ListTypeSpecifier">
               <elementType localId="1425" locator="260:51-260:64" name="fhir:Reference" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
         <operand localId="1428" name="resourceId">
            <operandTypeSpecifier localId="1427" locator="260:79-260:84" name="t:String" xsi:type="NamedTypeSpecifier"/>
         </operand>
      </def>
   </statements>
</library>
