Clinical Decision Support for Chronic Pain Management and Shared Decision-Making IG
0.1.0 - CI Build International flag

Clinical Decision Support for Chronic Pain Management and Shared Decision-Making IG, published by CQF. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cqframework/cds4cpm/ and changes regularly. See the Directory of published versions

Library:

Official URL: http://fhir.org/guides/cqf/cds4cpm/Library/InitialQualifyingQuerySTU3 Version: 0.1.0
Draft as of 2024-03-22 Computable Name: InitialQualifyingQuerySTU3

Contents

application/elm+xml

<?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">
   <annotation translatorVersion="1.3" translatorOptions="EnableAnnotations,EnableLocators,DisableListDemotion,DisableListPromotion" xsi:type="a:CqlToElmInfo"/>
   <annotation xsi:type="a:Annotation">
      <a:s r="145">
         <a:s>library InitialQualifyingQuerySTU3 version '1.0'</a:s>
      </a:s>
   </annotation>
   <identifier id="InitialQualifyingQuerySTU3" system="http://fhir.org/guides/cqf/cds4cpm" version="1.0"/>
   <schemaIdentifier id="urn:hl7-org:elm" version="r1"/>
   <usings>
      <def localIdentifier="System" uri="urn:hl7-org:elm-types:r1"/>
      <def localId="1" locator="3:1-3:26" localIdentifier="FHIR" uri="http://hl7.org/fhir" version="3.0.0">
         <annotation xsi:type="a:Annotation">
            <a:s r="1">
               <a:s>using </a:s>
               <a:s>
                  <a:s>FHIR</a:s>
               </a:s>
               <a:s> version '3.0.0'</a:s>
            </a:s>
         </annotation>
      </def>
   </usings>
   <includes>
      <def localId="2" locator="5:1-5:54" localIdentifier="FHIRHelpers" path="http://hl7.org/fhir/FHIRHelpers" version="3.0.0">
         <annotation xsi:type="a:Annotation">
            <a:s r="2">
               <a:s>include </a:s>
               <a:s>
                  <a:s>FHIRHelpers</a:s>
               </a:s>
               <a:s> version '3.0.0' called FHIRHelpers</a:s>
            </a:s>
         </annotation>
      </def>
   </includes>
   <codeSystems>
      <def localId="3" locator="7:1-7:48" name="Common Languages" id="urn:ietf:bcp:47" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="3">
               <a:s>codesystem &quot;Common Languages&quot;: 'urn:ietf:bcp:47'</a:s>
            </a:s>
         </annotation>
      </def>
   </codeSystems>
   <valueSets>
      <def localId="4" locator="9:1-9:31" name="Fibromyalgia" id="todo" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="4">
               <a:s>valueset &quot;Fibromyalgia&quot;: 'todo'</a:s>
            </a:s>
         </annotation>
      </def>
      <def localId="5" locator="10:1-10:37" name="Hip Osteoarthritis" id="todo" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="5">
               <a:s>valueset &quot;Hip Osteoarthritis&quot;: 'todo'</a:s>
            </a:s>
         </annotation>
      </def>
      <def localId="6" locator="11:1-11:38" name="Knee Osteoarthritis" id="todo" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="6">
               <a:s>valueset &quot;Knee Osteoarthritis&quot;: 'todo'</a:s>
            </a:s>
         </annotation>
      </def>
      <def localId="7" locator="12:1-12:34" name="Lower Back Pain" id="todo" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="7">
               <a:s>valueset &quot;Lower Back Pain&quot;: 'todo'</a:s>
            </a:s>
         </annotation>
      </def>
      <def localId="8" locator="13:1-13:31" name="Office Visit" id="todo" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="8">
               <a:s>valueset &quot;Office Visit&quot;: 'todo'</a:s>
            </a:s>
         </annotation>
      </def>
   </valueSets>
   <codes>
      <def localId="10" locator="15:1-15:53" name="English Language" id="en" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="10">
               <a:s>code &quot;English Language&quot;: 'en' from </a:s>
               <a:s r="9">
                  <a:s>&quot;Common Languages&quot;</a:s>
               </a:s>
            </a:s>
         </annotation>
         <codeSystem localId="9" locator="15:36-15:53" name="Common Languages"/>
      </def>
   </codes>
   <contexts>
      <def locator="17:1-17:15" name="Patient"/>
   </contexts>
   <statements>
      <def locator="17:1-17:15" name="Patient" context="Patient">
         <expression xsi:type="SingletonFrom">
            <operand locator="17:1-17:15" dataType="fhir:Patient" xsi:type="Retrieve"/>
         </expression>
      </def>
      <def localId="12" locator="22:1-23:22" name="Lookback Date" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="12">
               <a:s r="11">define &quot;Lookback Date&quot;:
  @2019-01-01T00:00:00</a:s>
            </a:s>
         </annotation>
         <expression localId="11" locator="23:3-23:22" xsi:type="DateTime">
            <year valueType="t:Integer" value="2019" xsi:type="Literal"/>
            <month valueType="t:Integer" value="1" xsi:type="Literal"/>
            <day valueType="t:Integer" value="1" xsi:type="Literal"/>
            <hour valueType="t:Integer" value="0" xsi:type="Literal"/>
            <minute valueType="t:Integer" value="0" xsi:type="Literal"/>
            <second valueType="t:Integer" value="0" xsi:type="Literal"/>
         </expression>
      </def>
      <def localId="16" locator="19:1-20:36" name="Timeframe" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="16">
               <a:s>define &quot;Timeframe&quot;:
  </a:s>
               <a:s r="15">
                  <a:s>Interval[</a:s>
                  <a:s r="13">
                     <a:s>&quot;Lookback Date&quot;</a:s>
                  </a:s>
                  <a:s>, </a:s>
                  <a:s r="14">
                     <a:s>Today()</a:s>
                  </a:s>
                  <a:s>]</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="15" locator="20:3-20:36" lowClosed="true" highClosed="true" xsi:type="Interval">
            <low localId="13" locator="20:12-20:26" name="Lookback Date" xsi:type="ExpressionRef"/>
            <high xsi:type="ToDateTime">
               <operand localId="14" locator="20:29-20:35" xsi:type="Today"/>
            </high>
         </expression>
      </def>
      <def localId="35" locator="36:1-43:3" name="English Speaking Patient" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="35">
               <a:s>define &quot;English Speaking Patient&quot;:
  </a:s>
               <a:s r="34">
                  <a:s>exists </a:s>
                  <a:s r="33">
                     <a:s>(
    </a:s>
                     <a:s r="33">
                        <a:s>
                           <a:s r="23">
                              <a:s r="22">
                                 <a:s>
                                    <a:s>Patient.communication</a:s>
                                 </a:s>
                              </a:s>
                              <a:s> Comm</a:s>
                           </a:s>
                        </a:s>
                        <a:s>
      </a:s>
                        <a:s r="32">
                           <a:s>where </a:s>
                           <a:s r="32">
                              <a:s>exists </a:s>
                              <a:s r="31">
                                 <a:s>(
        </a:s>
                                 <a:s r="31">
                                    <a:s>
                                       <a:s r="25">
                                          <a:s r="24">
                                             <a:s>
                                                <a:s>Comm.language.coding</a:s>
                                             </a:s>
                                          </a:s>
                                          <a:s> Language</a:s>
                                       </a:s>
                                    </a:s>
                                    <a:s>
          </a:s>
                                    <a:s r="30">
                                       <a:s>where </a:s>
                                       <a:s r="30">
                                          <a:s r="28">
                                             <a:s r="26">
                                                <a:s>FHIRHelpers</a:s>
                                             </a:s>
                                             <a:s>.</a:s>
                                             <a:s r="28">
                                                <a:s>ToCode( </a:s>
                                                <a:s r="27">
                                                   <a:s>Language</a:s>
                                                </a:s>
                                                <a:s> )</a:s>
                                             </a:s>
                                          </a:s>
                                          <a:s> ~ </a:s>
                                          <a:s r="29">
                                             <a:s>&quot;English Language&quot;</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>
            </a:s>
         </annotation>
         <expression localId="34" locator="37:3-43:3" xsi:type="Exists">
            <operand localId="33" locator="37:10-43:3" xsi:type="Query">
               <source localId="23" locator="38:5-38:30" alias="Comm">
                  <expression localId="22" locator="38:5-38:25" path="communication" xsi:type="Property">
                     <source name="Patient" xsi:type="ExpressionRef"/>
                  </expression>
               </source>
               <where localId="32" locator="39:7-42:7" xsi:type="Exists">
                  <operand localId="31" locator="39:20-42:7" xsi:type="Query">
                     <source localId="25" locator="40:9-40:37" alias="Language">
                        <expression localId="24" locator="40:9-40:28" path="coding" xsi:type="Property">
                           <source path="language" scope="Comm" xsi:type="Property"/>
                        </expression>
                     </source>
                     <where localId="30" locator="41:11-41:67" xsi:type="Equivalent">
                        <operand localId="28" locator="41:17-41:46" name="ToCode" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                           <operand localId="27" locator="41:37-41:44" name="Language" xsi:type="AliasRef"/>
                        </operand>
                        <operand localId="29" locator="41:50-41:67" name="English Language" xsi:type="CodeRef"/>
                     </where>
                  </operand>
               </where>
            </operand>
         </expression>
      </def>
      <def localId="45" locator="89:1-91:47" name="Office Visits During Timeframe" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="45">
               <a:s>define &quot;Office Visits During Timeframe&quot;:
  </a:s>
               <a:s r="44">
                  <a:s>
                     <a:s r="39">
                        <a:s r="38">
                           <a:s r="38">
                              <a:s>[Encounter: </a:s>
                              <a:s>
                                 <a:s>&quot;Office Visit&quot;</a:s>
                              </a:s>
                              <a:s>]</a:s>
                           </a:s>
                        </a:s>
                        <a:s> OfficeVisit</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    </a:s>
                  <a:s r="43">
                     <a:s>where </a:s>
                     <a:s r="43">
                        <a:s r="41">
                           <a:s r="40">
                              <a:s>OfficeVisit</a:s>
                           </a:s>
                           <a:s>.</a:s>
                           <a:s r="41">
                              <a:s>period</a:s>
                           </a:s>
                        </a:s>
                        <a:s r="43"> during </a:s>
                        <a:s r="42">
                           <a:s>&quot;Timeframe&quot;</a:s>
                        </a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="44" locator="90:3-91:47" xsi:type="Query">
            <source localId="39" locator="90:3-90:41" alias="OfficeVisit">
               <expression localId="38" locator="90:3-90:29" dataType="fhir:Encounter" codeProperty="type" codeComparator="in" xsi:type="Retrieve">
                  <codes locator="90:15-90:28" name="Office Visit" xsi:type="ValueSetRef"/>
               </expression>
            </source>
            <where localId="43" locator="91:5-91:47" xsi:type="IncludedIn">
               <operand name="ToInterval" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                  <operand localId="41" locator="91:11-91:28" path="period" scope="OfficeVisit" xsi:type="Property"/>
               </operand>
               <operand localId="42" locator="91:37-91:47" name="Timeframe" xsi:type="ExpressionRef"/>
            </where>
         </expression>
      </def>
      <def localId="50" locator="45:1-46:29" name="Fibromyalgia Diagnosis" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="50">
               <a:s>define &quot;Fibromyalgia Diagnosis&quot;:
  </a:s>
               <a:s r="49">
                  <a:s>[Condition: </a:s>
                  <a:s>
                     <a:s>&quot;Fibromyalgia&quot;</a:s>
                  </a:s>
                  <a:s>]</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="49" locator="46:3-46:29" dataType="fhir:Condition" codeProperty="code" codeComparator="in" xsi:type="Retrieve">
            <codes locator="46:15-46:28" name="Fibromyalgia" xsi:type="ValueSetRef"/>
         </expression>
      </def>
      <def localId="73" locator="99:1-105:9" name="Outpatient Encounter Diagnosis During Timeframe" context="Patient" accessLevel="Public" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="73">
               <a:s>define function &quot;Outpatient Encounter Diagnosis During Timeframe&quot;(conditions </a:s>
               <a:s r="53">
                  <a:s>List&lt;</a:s>
                  <a:s r="52">
                     <a:s>Condition</a:s>
                  </a:s>
                  <a:s>></a:s>
               </a:s>
               <a:s>):
  </a:s>
               <a:s r="72">
                  <a:s r="72">
                     <a:s>
                        <a:s r="55">
                           <a:s r="54">
                              <a:s>
                                 <a:s>conditions</a:s>
                              </a:s>
                           </a:s>
                           <a:s> Diagnosis</a:s>
                        </a:s>
                     </a:s>
                     <a:s>
    </a:s>
                     <a:s r="71">
                        <a:s>with </a:s>
                        <a:s r="57">
                           <a:s r="56">
                              <a:s>
                                 <a:s>&quot;Office Visits During Timeframe&quot;</a:s>
                              </a:s>
                           </a:s>
                           <a:s> OfficeVisit</a:s>
                        </a:s>
                        <a:s>
      such that </a:s>
                        <a:s r="70">
                           <a:s>exists </a:s>
                           <a:s r="69">
                              <a:s>(
          </a:s>
                              <a:s r="69">
                                 <a:s>
                                    <a:s r="59">
                                       <a:s r="58">
                                          <a:s>
                                             <a:s>OfficeVisit.diagnosis</a:s>
                                          </a:s>
                                       </a:s>
                                       <a:s> Diagnosis</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s>
            </a:s>
                                 <a:s r="68">
                                    <a:s>where </a:s>
                                    <a:s r="68">
                                       <a:s r="65">
                                          <a:s>Last( </a:s>
                                          <a:s r="64">
                                             <a:s>Split( </a:s>
                                             <a:s r="62">
                                                <a:s r="61">
                                                   <a:s r="60">
                                                      <a:s>Diagnosis</a:s>
                                                   </a:s>
                                                   <a:s>.</a:s>
                                                   <a:s r="61">
                                                      <a:s>condition</a:s>
                                                   </a:s>
                                                </a:s>
                                                <a:s>.</a:s>
                                                <a:s r="62">
                                                   <a:s>reference</a:s>
                                                </a:s>
                                             </a:s>
                                             <a:s>, </a:s>
                                             <a:s r="63">
                                                <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="67">
                                          <a:s r="66">
                                             <a:s>Diagnosis</a:s>
                                          </a:s>
                                          <a:s>.</a:s>
                                          <a:s r="67">
                                             <a:s>id</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="72" locator="100:3-105:9" xsi:type="Query">
            <source localId="55" locator="100:3-100:22" alias="Diagnosis">
               <expression localId="54" locator="100:3-100:12" name="conditions" xsi:type="OperandRef"/>
            </source>
            <relationship localId="71" locator="101:5-105:9" alias="OfficeVisit" xsi:type="With">
               <expression localId="56" locator="101:10-101:41" name="Office Visits During Timeframe" xsi:type="ExpressionRef"/>
               <suchThat localId="70" locator="102:17-105:9" xsi:type="Exists">
                  <operand localId="69" locator="102:24-105:9" xsi:type="Query">
                     <source localId="59" locator="103:11-103:41" alias="Diagnosis">
                        <expression localId="58" locator="103:11-103:31" path="diagnosis" scope="OfficeVisit" xsi:type="Property"/>
                     </source>
                     <where localId="68" locator="104:13-104:84" xsi:type="Equivalent">
                        <operand localId="65" locator="104:19-104:69" xsi:type="Last">
                           <source localId="64" locator="104:25-104:67" xsi:type="Split">
                              <stringToSplit name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                                 <operand localId="62" locator="104:32-104:60" path="reference" xsi:type="Property">
                                    <source localId="61" locator="104:32-104:50" path="condition" scope="Diagnosis" xsi:type="Property"/>
                                 </operand>
                              </stringToSplit>
                              <separator localId="63" locator="104:63-104:65" valueType="t:String" value="/" xsi:type="Literal"/>
                           </source>
                        </operand>
                        <operand localId="67" locator="104:73-104:84" path="id" scope="Diagnosis" xsi:type="Property"/>
                     </where>
                  </operand>
               </suchThat>
            </relationship>
         </expression>
         <operand name="conditions">
            <operandTypeSpecifier localId="53" locator="99:78-99:92" xsi:type="ListTypeSpecifier">
               <elementType localId="52" locator="99:83-99:91" name="fhir:Condition" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="96" locator="93:1-97:44" name="Active Problem During Timeframe" context="Patient" accessLevel="Public" xsi:type="FunctionDef">
         <annotation xsi:type="a:Annotation">
            <a:s r="96">
               <a:s>define function &quot;Active Problem During Timeframe&quot;(conditions </a:s>
               <a:s r="78">
                  <a:s>List&lt;</a:s>
                  <a:s r="77">
                     <a:s>Condition</a:s>
                  </a:s>
                  <a:s>></a:s>
               </a:s>
               <a:s>):
  </a:s>
               <a:s r="95">
                  <a:s r="95">
                     <a:s>
                        <a:s r="80">
                           <a:s r="79">
                              <a:s>
                                 <a:s>conditions</a:s>
                              </a:s>
                           </a:s>
                           <a:s> Diagnosis</a:s>
                        </a:s>
                     </a:s>
                     <a:s>
    </a:s>
                     <a:s r="94">
                        <a:s>where </a:s>
                        <a:s r="94">
                           <a:s r="89">
                              <a:s r="84">
                                 <a:s r="82">
                                    <a:s r="81">
                                       <a:s>Diagnosis</a:s>
                                    </a:s>
                                    <a:s>.</a:s>
                                    <a:s r="82">
                                       <a:s>clinicalStatus</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s> ~ </a:s>
                                 <a:s r="83">
                                    <a:s>'active'</a:s>
                                 </a:s>
                              </a:s>
                              <a:s>
      and </a:s>
                              <a:s r="88">
                                 <a:s r="86">
                                    <a:s r="85">
                                       <a:s>Diagnosis</a:s>
                                    </a:s>
                                    <a:s>.</a:s>
                                    <a:s r="86">
                                       <a:s>verificationStatus</a:s>
                                    </a:s>
                                 </a:s>
                                 <a:s> ~ </a:s>
                                 <a:s r="87">
                                    <a:s>'confirmed'</a:s>
                                 </a:s>
                              </a:s>
                           </a:s>
                           <a:s>
      and </a:s>
                           <a:s r="93">
                              <a:s r="91">
                                 <a:s r="90">
                                    <a:s>Diagnosis</a:s>
                                 </a:s>
                                 <a:s>.</a:s>
                                 <a:s r="91">
                                    <a:s>onset</a:s>
                                 </a:s>
                              </a:s>
                              <a:s r="93"> during </a:s>
                              <a:s r="92">
                                 <a:s>&quot;Timeframe&quot;</a:s>
                              </a:s>
                           </a:s>
                        </a:s>
                     </a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="95" locator="94:3-97:44" xsi:type="Query">
            <source localId="80" locator="94:3-94:22" alias="Diagnosis">
               <expression localId="79" locator="94:3-94:12" name="conditions" xsi:type="OperandRef"/>
            </source>
            <where localId="94" locator="95:5-97:44" xsi:type="And">
               <operand localId="89" locator="95:11-96:52" xsi:type="And">
                  <operand localId="84" locator="95:11-95:45" xsi:type="Equivalent">
                     <operand name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                        <operand localId="82" locator="95:11-95:34" path="clinicalStatus" scope="Diagnosis" xsi:type="Property"/>
                     </operand>
                     <operand localId="83" locator="95:38-95:45" valueType="t:String" value="active" xsi:type="Literal"/>
                  </operand>
                  <operand localId="88" locator="96:11-96:52" xsi:type="Equivalent">
                     <operand name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                        <operand localId="86" locator="96:11-96:38" path="verificationStatus" scope="Diagnosis" xsi:type="Property"/>
                     </operand>
                     <operand localId="87" locator="96:42-96:52" valueType="t:String" value="confirmed" xsi:type="Literal"/>
                  </operand>
               </operand>
               <operand localId="93" locator="97:11-97:44" xsi:type="IncludedIn">
                  <operand name="ToInterval" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <operand asType="fhir:Period" xsi:type="As">
                        <operand localId="91" locator="97:11-97:25" path="onset" scope="Diagnosis" xsi:type="Property"/>
                     </operand>
                  </operand>
                  <operand localId="92" locator="97:34-97:44" name="Timeframe" xsi:type="ExpressionRef"/>
               </operand>
            </where>
         </expression>
         <operand name="conditions">
            <operandTypeSpecifier localId="78" locator="93:62-93:76" xsi:type="ListTypeSpecifier">
               <elementType localId="77" locator="93:67-93:75" name="fhir:Condition" xsi:type="NamedTypeSpecifier"/>
            </operandTypeSpecifier>
         </operand>
      </def>
      <def localId="100" locator="48:1-54:3" name="Has Qualifying Fibromyalgia Diagnosis" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="100">
               <a:s>define &quot;Has Qualifying Fibromyalgia Diagnosis&quot;:
  </a:s>
               <a:s r="99">
                  <a:s r="75">
                     <a:s>exists </a:s>
                     <a:s r="74">
                        <a:s>(
    </a:s>
                        <a:s r="74">
                           <a:s>&quot;Outpatient Encounter Diagnosis During Timeframe&quot;( </a:s>
                           <a:s r="51">
                              <a:s>&quot;Fibromyalgia Diagnosis&quot;</a:s>
                           </a:s>
                           <a:s> )</a:s>
                        </a:s>
                        <a:s>
  )</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
  or </a:s>
                  <a:s r="98">
                     <a:s>exists </a:s>
                     <a:s r="97">
                        <a:s>(
    </a:s>
                        <a:s r="97">
                           <a:s>&quot;Active Problem During Timeframe&quot;( </a:s>
                           <a:s r="76">
                              <a:s>&quot;Fibromyalgia Diagnosis&quot;</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="99" locator="49:3-54:3" xsi:type="Or">
            <operand localId="75" locator="49:3-51:3" xsi:type="Exists">
               <operand localId="74" locator="49:10-51:3" name="Outpatient Encounter Diagnosis During Timeframe" xsi:type="FunctionRef">
                  <operand localId="51" locator="50:56-50:79" name="Fibromyalgia Diagnosis" xsi:type="ExpressionRef"/>
               </operand>
            </operand>
            <operand localId="98" locator="52:6-54:3" xsi:type="Exists">
               <operand localId="97" locator="52:13-54:3" name="Active Problem During Timeframe" xsi:type="FunctionRef">
                  <operand localId="76" locator="53:40-53:63" name="Fibromyalgia Diagnosis" xsi:type="ExpressionRef"/>
               </operand>
            </operand>
         </expression>
      </def>
      <def localId="103" locator="56:1-57:35" name="Hip Osteoarthritis Diagnosis" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="103">
               <a:s>define &quot;Hip Osteoarthritis Diagnosis&quot;:
  </a:s>
               <a:s r="102">
                  <a:s>[Condition: </a:s>
                  <a:s>
                     <a:s>&quot;Hip Osteoarthritis&quot;</a:s>
                  </a:s>
                  <a:s>]</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="102" locator="57:3-57:35" dataType="fhir:Condition" codeProperty="code" codeComparator="in" xsi:type="Retrieve">
            <codes locator="57:15-57:34" name="Hip Osteoarthritis" xsi:type="ValueSetRef"/>
         </expression>
      </def>
      <def localId="111" locator="59:1-65:3" name="Has Qualifying Hip Osteoarthritis Diagnosis" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="111">
               <a:s>define &quot;Has Qualifying Hip Osteoarthritis Diagnosis&quot;:
  </a:s>
               <a:s r="110">
                  <a:s r="106">
                     <a:s>exists </a:s>
                     <a:s r="105">
                        <a:s>(
    </a:s>
                        <a:s r="105">
                           <a:s>&quot;Outpatient Encounter Diagnosis During Timeframe&quot;( </a:s>
                           <a:s r="104">
                              <a:s>&quot;Hip Osteoarthritis Diagnosis&quot;</a:s>
                           </a:s>
                           <a:s> )</a:s>
                        </a:s>
                        <a:s>
  )</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
  or </a:s>
                  <a:s r="109">
                     <a:s>exists </a:s>
                     <a:s r="108">
                        <a:s>(
    </a:s>
                        <a:s r="108">
                           <a:s>&quot;Active Problem During Timeframe&quot;( </a:s>
                           <a:s r="107">
                              <a:s>&quot;Hip Osteoarthritis Diagnosis&quot;</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="110" locator="60:3-65:3" xsi:type="Or">
            <operand localId="106" locator="60:3-62:3" xsi:type="Exists">
               <operand localId="105" locator="60:10-62:3" name="Outpatient Encounter Diagnosis During Timeframe" xsi:type="FunctionRef">
                  <operand localId="104" locator="61:56-61:85" name="Hip Osteoarthritis Diagnosis" xsi:type="ExpressionRef"/>
               </operand>
            </operand>
            <operand localId="109" locator="63:6-65:3" xsi:type="Exists">
               <operand localId="108" locator="63:13-65:3" name="Active Problem During Timeframe" xsi:type="FunctionRef">
                  <operand localId="107" locator="64:40-64:69" name="Hip Osteoarthritis Diagnosis" xsi:type="ExpressionRef"/>
               </operand>
            </operand>
         </expression>
      </def>
      <def localId="115" locator="67:1-68:36" name="Knee Osteoarthritis Diagnosis" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="115">
               <a:s>define &quot;Knee Osteoarthritis Diagnosis&quot;:
  </a:s>
               <a:s r="114">
                  <a:s>[Condition: </a:s>
                  <a:s>
                     <a:s>&quot;Knee Osteoarthritis&quot;</a:s>
                  </a:s>
                  <a:s>]</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="114" locator="68:3-68:36" dataType="fhir:Condition" codeProperty="code" codeComparator="in" xsi:type="Retrieve">
            <codes locator="68:15-68:35" name="Knee Osteoarthritis" xsi:type="ValueSetRef"/>
         </expression>
      </def>
      <def localId="123" locator="70:1-76:3" name="Has Qualifying Knee Osteoarthritis Diagnosis" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="123">
               <a:s>define &quot;Has Qualifying Knee Osteoarthritis Diagnosis&quot;:
  </a:s>
               <a:s r="122">
                  <a:s r="118">
                     <a:s>exists </a:s>
                     <a:s r="117">
                        <a:s>(
    </a:s>
                        <a:s r="117">
                           <a:s>&quot;Outpatient Encounter Diagnosis During Timeframe&quot;( </a:s>
                           <a:s r="116">
                              <a:s>&quot;Knee Osteoarthritis Diagnosis&quot;</a:s>
                           </a:s>
                           <a:s> )</a:s>
                        </a:s>
                        <a:s>
  )</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
  or </a:s>
                  <a:s r="121">
                     <a:s>exists </a:s>
                     <a:s r="120">
                        <a:s>(
    </a:s>
                        <a:s r="120">
                           <a:s>&quot;Active Problem During Timeframe&quot;( </a:s>
                           <a:s r="119">
                              <a:s>&quot;Knee Osteoarthritis Diagnosis&quot;</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="122" locator="71:3-76:3" xsi:type="Or">
            <operand localId="118" locator="71:3-73:3" xsi:type="Exists">
               <operand localId="117" locator="71:10-73:3" name="Outpatient Encounter Diagnosis During Timeframe" xsi:type="FunctionRef">
                  <operand localId="116" locator="72:56-72:86" name="Knee Osteoarthritis Diagnosis" xsi:type="ExpressionRef"/>
               </operand>
            </operand>
            <operand localId="121" locator="74:6-76:3" xsi:type="Exists">
               <operand localId="120" locator="74:13-76:3" name="Active Problem During Timeframe" xsi:type="FunctionRef">
                  <operand localId="119" locator="75:40-75:70" name="Knee Osteoarthritis Diagnosis" xsi:type="ExpressionRef"/>
               </operand>
            </operand>
         </expression>
      </def>
      <def localId="127" locator="78:1-79:32" name="Lower Back Pain Diagnosis" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="127">
               <a:s>define &quot;Lower Back Pain Diagnosis&quot;:
  </a:s>
               <a:s r="126">
                  <a:s>[Condition: </a:s>
                  <a:s>
                     <a:s>&quot;Lower Back Pain&quot;</a:s>
                  </a:s>
                  <a:s>]</a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="126" locator="79:3-79:32" dataType="fhir:Condition" codeProperty="code" codeComparator="in" xsi:type="Retrieve">
            <codes locator="79:15-79:31" name="Lower Back Pain" xsi:type="ValueSetRef"/>
         </expression>
      </def>
      <def localId="135" locator="81:1-87:3" name="Has Qualifying Lower Back Pain Diagnosis" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="135">
               <a:s>define &quot;Has Qualifying Lower Back Pain Diagnosis&quot;:
  </a:s>
               <a:s r="134">
                  <a:s r="130">
                     <a:s>exists </a:s>
                     <a:s r="129">
                        <a:s>(
    </a:s>
                        <a:s r="129">
                           <a:s>&quot;Outpatient Encounter Diagnosis During Timeframe&quot;( </a:s>
                           <a:s r="128">
                              <a:s>&quot;Lower Back Pain Diagnosis&quot;</a:s>
                           </a:s>
                           <a:s> )</a:s>
                        </a:s>
                        <a:s>
  )</a:s>
                     </a:s>
                  </a:s>
                  <a:s>
  or </a:s>
                  <a:s r="133">
                     <a:s>exists </a:s>
                     <a:s r="132">
                        <a:s>(
    </a:s>
                        <a:s r="132">
                           <a:s>&quot;Active Problem During Timeframe&quot;( </a:s>
                           <a:s r="131">
                              <a:s>&quot;Lower Back Pain Diagnosis&quot;</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="134" locator="82:3-87:3" xsi:type="Or">
            <operand localId="130" locator="82:3-84:3" xsi:type="Exists">
               <operand localId="129" locator="82:10-84:3" name="Outpatient Encounter Diagnosis During Timeframe" xsi:type="FunctionRef">
                  <operand localId="128" locator="83:56-83:82" name="Lower Back Pain Diagnosis" xsi:type="ExpressionRef"/>
               </operand>
            </operand>
            <operand localId="133" locator="85:6-87:3" xsi:type="Exists">
               <operand localId="132" locator="85:13-87:3" name="Active Problem During Timeframe" xsi:type="FunctionRef">
                  <operand localId="131" locator="86:40-86:66" name="Lower Back Pain Diagnosis" xsi:type="ExpressionRef"/>
               </operand>
            </operand>
         </expression>
      </def>
      <def localId="139" locator="25:1-34:5" name="Qualifying Query" context="Patient" accessLevel="Public">
         <annotation xsi:type="a:Annotation">
            <a:s r="139">
               <a:s>define &quot;Qualifying Query&quot;:
  </a:s>
               <a:s r="138">
                  <a:s r="48">
                     <a:s r="37">
                        <a:s r="21">
                           <a:s r="19">
                              <a:s>AgeInYearsAt( </a:s>
                              <a:s r="18">
                                 <a:s>start of </a:s>
                                 <a:s r="17">
                                    <a:s>&quot;Timeframe&quot;</a:s>
                                 </a:s>
                              </a:s>
                              <a:s> )</a:s>
                           </a:s>
                           <a:s r="20"> >= 18</a:s>
                        </a:s>
                        <a:s>
    and </a:s>
                        <a:s r="36">
                           <a:s>&quot;English Speaking Patient&quot;</a:s>
                        </a:s>
                     </a:s>
                     <a:s>
    and </a:s>
                     <a:s r="47">
                        <a:s>exists </a:s>
                        <a:s r="46">
                           <a:s>( </a:s>
                           <a:s r="46">
                              <a:s>&quot;Office Visits During Timeframe&quot;</a:s>
                           </a:s>
                           <a:s> )</a:s>
                        </a:s>
                     </a:s>
                  </a:s>
                  <a:s>
    and </a:s>
                  <a:s r="137">
                     <a:s>(
      </a:s>
                     <a:s r="137">
                        <a:s r="125">
                           <a:s r="113">
                              <a:s r="101">
                                 <a:s>&quot;Has Qualifying Fibromyalgia Diagnosis&quot;</a:s>
                              </a:s>
                              <a:s>
        or </a:s>
                              <a:s r="112">
                                 <a:s>&quot;Has Qualifying Hip Osteoarthritis Diagnosis&quot;</a:s>
                              </a:s>
                           </a:s>
                           <a:s>
        or </a:s>
                           <a:s r="124">
                              <a:s>&quot;Has Qualifying Knee Osteoarthritis Diagnosis&quot;</a:s>
                           </a:s>
                        </a:s>
                        <a:s>
        or </a:s>
                        <a:s r="136">
                           <a:s>&quot;Has Qualifying Lower Back Pain Diagnosis&quot;</a:s>
                        </a:s>
                     </a:s>
                     <a:s>
    )</a:s>
                  </a:s>
               </a:s>
            </a:s>
         </annotation>
         <expression localId="138" locator="26:3-34:5" xsi:type="And">
            <operand localId="48" locator="26:3-28:51" xsi:type="And">
               <operand localId="37" locator="26:3-27:34" xsi:type="And">
                  <operand localId="21" locator="26:3-26:44" xsi:type="GreaterOrEqual">
                     <operand localId="19" locator="26:3-26:38" precision="Year" xsi:type="CalculateAgeAt">
                        <operand xsi:type="ToDateTime">
                           <operand path="birthDate.value" xsi:type="Property">
                              <source name="Patient" xsi:type="ExpressionRef"/>
                           </operand>
                        </operand>
                        <operand localId="18" locator="26:17-26:36" xsi:type="Start">
                           <operand localId="17" locator="26:26-26:36" name="Timeframe" xsi:type="ExpressionRef"/>
                        </operand>
                     </operand>
                     <operand localId="20" locator="26:43-26:44" valueType="t:Integer" value="18" xsi:type="Literal"/>
                  </operand>
                  <operand localId="36" locator="27:9-27:34" name="English Speaking Patient" xsi:type="ExpressionRef"/>
               </operand>
               <operand localId="47" locator="28:9-28:51" xsi:type="Exists">
                  <operand localId="46" locator="28:16-28:51" name="Office Visits During Timeframe" xsi:type="ExpressionRef"/>
               </operand>
            </operand>
            <operand localId="137" locator="29:9-34:5" xsi:type="Or">
               <operand localId="125" locator="30:7-32:57" xsi:type="Or">
                  <operand localId="113" locator="30:7-31:56" xsi:type="Or">
                     <operand localId="101" locator="30:7-30:45" name="Has Qualifying Fibromyalgia Diagnosis" xsi:type="ExpressionRef"/>
                     <operand localId="112" locator="31:12-31:56" name="Has Qualifying Hip Osteoarthritis Diagnosis" xsi:type="ExpressionRef"/>
                  </operand>
                  <operand localId="124" locator="32:12-32:57" name="Has Qualifying Knee Osteoarthritis Diagnosis" xsi:type="ExpressionRef"/>
               </operand>
               <operand localId="136" locator="33:12-33:53" name="Has Qualifying Lower Back Pain Diagnosis" xsi:type="ExpressionRef"/>
            </operand>
         </expression>
      </def>
   </statements>
</library>