<?xml version="1.0" encoding="UTF-8"?>
<library xmlns="urn:hl7-org:elm:r1" xmlns:t="urn:hl7-org:elm-types:r1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:fhir="http://hl7.org/fhir" xmlns:qdm43="urn:healthit-gov:qdm:v4_3" xmlns:qdm53="urn:healthit-gov:qdm:v5_3" xmlns:a="urn:hl7-org:cql-annotations:r1" localId="0">
   <annotation translatorOptions="EnableAnnotations,EnableLocators,DisableListDemotion,DisableListPromotion" signatureLevel="Overloads" xsi:type="a:CqlToElmInfo"/>
   <annotation message="An operand identifier reference is hiding another identifier of the same name." errorType="semantic" errorSeverity="warning" xsi:type="a:CqlToElmError"/>
   <annotation message="An operand identifier reference is hiding another identifier of the same name." errorType="semantic" errorSeverity="warning" xsi:type="a:CqlToElmError"/>
   <annotation message="An operand identifier reference is hiding another identifier of the same name." errorType="semantic" errorSeverity="warning" xsi:type="a:CqlToElmError"/>
   <annotation xsi:type="a:Annotation">
      <a:s r="231">
         <a:s>library WHOEncounterElements</a:s>
      </a:s>
   </annotation>
   <identifier id="WHOEncounterElements" 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>
      <def localId="210" locator="7:1-7:35" localIdentifier="Concepts" path="http://smart.who.int/immunizations/WHOConcepts">
         <annotation xsi:type="a:Annotation">
            <a:s r="210">
               <a:s>include </a:s>
               <a:s>
                  <a:s>WHOConcepts</a:s>
               </a:s>
               <a:s> called Concepts</a:s>
            </a:s>
         </annotation>
      </def>
      <def localId="212" locator="8:1-8:31" localIdentifier="Common" path="http://smart.who.int/immunizations/WHOCommon">
         <annotation xsi:type="a:Annotation">
            <a:s r="212">
               <a:s>include </a:s>
               <a:s>
                  <a:s>WHOCommon</a:s>
               </a:s>
               <a:s> called Common</a:s>
            </a:s>
         </annotation>
      </def>
      <def localId="214" locator="9:1-9:35" localIdentifier="Elements" path="http://smart.who.int/immunizations/WHOElements">
         <annotation xsi:type="a:Annotation">
            <a:s r="214">
               <a:s>include </a:s>
               <a:s>
                  <a:s>WHOElements</a:s>
               </a:s>
               <a:s> called Elements</a:s>
            </a:s>
         </annotation>
      </def>
   </includes>
   <parameters>
      <def localId="216" locator="11:1-11:35" name="AsOf" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="216">
               <a:s>parameter AsOf </a:s>
               <a:s r="220">
                  <a:s>Date</a:s>
               </a:s>
               <a:s> default </a:s>
               <a:s r="219">
                  <a:s>Today()</a:s>
               </a:s>
            </a:s>
         </annotation>
         <default localId="219" locator="11:29-11:35" xsi:type="Today"/>
         <parameterTypeSpecifier localId="220" locator="11:16-11:19" name="t:Date" xsi:type="NamedTypeSpecifier"/>
      </def>
      <def localId="222" locator="12:1-12:28" name="EncounterId" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="222">
               <a:s>parameter EncounterId </a:s>
               <a:s r="223">
                  <a:s>String</a:s>
               </a:s>
            </a:s>
         </annotation>
         <parameterTypeSpecifier localId="223" locator="12:23-12:28" name="t:String" xsi:type="NamedTypeSpecifier"/>
      </def>
   </parameters>
   <contexts>
      <def localId="228" locator="14:1-14:15" name="Patient"/>
   </contexts>
   <statements>
      <def localId="226" locator="14:1-14:15" name="Patient" context="Patient">
         <expression localId="227" xsi:type="SingletonFrom">
            <operand localId="225" locator="14:1-14:15" dataType="fhir:Patient" templateId="http://hl7.org/fhir/StructureDefinition/Patient" xsi:type="Retrieve"/>
         </expression>
      </def>
      <def localId="231" locator="16:1-19:74" name="Pregnant Observation" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="231">
               <a:s>define &quot;Pregnant Observation&quot;:
  </a:s>
               <a:s r="258">
                  <a:s>
                     <a:s r="232">
                        <a:s r="234">
                           <a:s>
                              <a:s>Elements.&quot;Pregnant Observation&quot;</a:s>
                           </a:s>
                        </a:s>
                        <a:s> O</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="236">
                     <a:s>where </a:s>
                     <a:s r="236">
                        <a:s r="240">
                           <a:s r="238">
                              <a:s r="237">
                                 <a:s>O</a:s>
                              </a:s>
                              <a:s>.</a:s>
                              <a:s r="238">
                                 <a:s>encounter</a:s>
                              </a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="240">
                              <a:s>references(</a:s>
                              <a:s r="239">
                                 <a:s>EncounterId</a:s>
                              </a:s>
                              <a:s>)</a:s>
                           </a:s>
                        </a:s>
                        <a:s>
      or </a:s>
                        <a:s r="252">
                           <a:s r="245">
                              <a:s r="244">
                                 <a:s r="243">
                                    <a:s>O</a:s>
                                 </a:s>
                                 <a:s>.</a:s>
                                 <a:s r="244">
                                    <a:s>effective</a:s>
                                 </a:s>
                              </a:s>
                              <a:s>.</a:s>
                              <a:s r="245">
                                 <a:s>toInterval()</a:s>
                              </a:s>
                           </a:s>
                           <a:s r="252"> starts same day or after </a:s>
                           <a:s r="246">
                              <a:s r="247">
                                 <a:s>AsOf</a:s>
                              </a:s>
                              <a:s> - </a:s>
                              <a:s r="248">
                                 <a:s>9 months</a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="258" locator="17:3-19:74" xsi:type="Query">
            <source localId="232" locator="17:3-17:35" alias="O">
               <expression localId="234" locator="17:3-17:33" name="Pregnant Observation" libraryName="Elements" xsi:type="ExpressionRef"/>
            </source>
            <where localId="236" locator="18:5-19:74" xsi:type="Or">
               <operand localId="240" locator="18:11-18:45" name="references" libraryName="Common" xsi:type="FunctionRef">
                  <signature localId="241" name="fhir:Reference" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="242" name="t:String" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="238" locator="18:11-18:21" path="encounter" scope="O" xsi:type="Property"/>
                  <operand localId="239" locator="18:34-18:44" name="EncounterId" xsi:type="ParameterRef"/>
               </operand>
               <operand localId="252" locator="19:10-19:74" precision="Day" xsi:type="SameOrAfter">
                  <signature localId="256" name="t:DateTime" xsi:type="NamedTypeSpecifier"/>
                  <signature localId="257" name="t:DateTime" xsi:type="NamedTypeSpecifier"/>
                  <operand localId="251" locator="19:35-19:40" xsi:type="Start">
                     <operand localId="245" locator="19:10-19:33" name="toInterval" libraryName="Common" xsi:type="FunctionRef">
                        <operand localId="244" locator="19:10-19:20" path="effective" scope="O" xsi:type="Property"/>
                     </operand>
                  </operand>
                  <operand localId="254" xsi:type="ToDateTime">
                     <signature localId="255" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                     <operand localId="246" locator="19:60-19:74" xsi:type="Subtract">
                        <signature localId="249" name="t:Date" xsi:type="NamedTypeSpecifier"/>
                        <signature localId="250" name="t:Quantity" xsi:type="NamedTypeSpecifier"/>
                        <operand localId="247" locator="19:60-19:63" name="AsOf" xsi:type="ParameterRef"/>
                        <operand localId="248" locator="19:67-19:74" value="9" unit="months" xsi:type="Quantity"/>
                     </operand>
                  </operand>
               </operand>
            </where>
         </expression>
      </def>
   </statements>
</library>
