Clinical Decision Support for Chronic Pain Management and Shared Decision-Making IG
0.1.0 - CI Build
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
Official URL: http://fhir.org/guides/cqf/cds4cpm/Library/InitialQualifyingQuerySTU3 | Version: 0.1.0 | |||
Draft as of 2024-03-22 | Computable Name: InitialQualifyingQuerySTU3 |
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 "Common Languages": '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 "Fibromyalgia": '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 "Hip Osteoarthritis": '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 "Knee Osteoarthritis": '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 "Lower Back Pain": '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 "Office Visit": '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 "English Language": 'en' from </a:s>
<a:s r="9">
<a:s>"Common Languages"</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 "Lookback Date":
@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 "Timeframe":
</a:s>
<a:s r="15">
<a:s>Interval[</a:s>
<a:s r="13">
<a:s>"Lookback Date"</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 "English Speaking Patient":
</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>"English Language"</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 "Office Visits During Timeframe":
</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>"Office Visit"</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>"Timeframe"</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 "Fibromyalgia Diagnosis":
</a:s>
<a:s r="49">
<a:s>[Condition: </a:s>
<a:s>
<a:s>"Fibromyalgia"</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 "Outpatient Encounter Diagnosis During Timeframe"(conditions </a:s>
<a:s r="53">
<a:s>List<</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>"Office Visits During Timeframe"</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 "Active Problem During Timeframe"(conditions </a:s>
<a:s r="78">
<a:s>List<</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>"Timeframe"</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 "Has Qualifying Fibromyalgia Diagnosis":
</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>"Outpatient Encounter Diagnosis During Timeframe"( </a:s>
<a:s r="51">
<a:s>"Fibromyalgia Diagnosis"</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>"Active Problem During Timeframe"( </a:s>
<a:s r="76">
<a:s>"Fibromyalgia Diagnosis"</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 "Hip Osteoarthritis Diagnosis":
</a:s>
<a:s r="102">
<a:s>[Condition: </a:s>
<a:s>
<a:s>"Hip Osteoarthritis"</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 "Has Qualifying Hip Osteoarthritis Diagnosis":
</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>"Outpatient Encounter Diagnosis During Timeframe"( </a:s>
<a:s r="104">
<a:s>"Hip Osteoarthritis Diagnosis"</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>"Active Problem During Timeframe"( </a:s>
<a:s r="107">
<a:s>"Hip Osteoarthritis Diagnosis"</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 "Knee Osteoarthritis Diagnosis":
</a:s>
<a:s r="114">
<a:s>[Condition: </a:s>
<a:s>
<a:s>"Knee Osteoarthritis"</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 "Has Qualifying Knee Osteoarthritis Diagnosis":
</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>"Outpatient Encounter Diagnosis During Timeframe"( </a:s>
<a:s r="116">
<a:s>"Knee Osteoarthritis Diagnosis"</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>"Active Problem During Timeframe"( </a:s>
<a:s r="119">
<a:s>"Knee Osteoarthritis Diagnosis"</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 "Lower Back Pain Diagnosis":
</a:s>
<a:s r="126">
<a:s>[Condition: </a:s>
<a:s>
<a:s>"Lower Back Pain"</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 "Has Qualifying Lower Back Pain Diagnosis":
</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>"Outpatient Encounter Diagnosis During Timeframe"( </a:s>
<a:s r="128">
<a:s>"Lower Back Pain Diagnosis"</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>"Active Problem During Timeframe"( </a:s>
<a:s r="131">
<a:s>"Lower Back Pain Diagnosis"</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 "Qualifying Query":
</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>"Timeframe"</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>"English Speaking Patient"</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>"Office Visits During Timeframe"</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>"Has Qualifying Fibromyalgia Diagnosis"</a:s>
</a:s>
<a:s>
or </a:s>
<a:s r="112">
<a:s>"Has Qualifying Hip Osteoarthritis Diagnosis"</a:s>
</a:s>
</a:s>
<a:s>
or </a:s>
<a:s r="124">
<a:s>"Has Qualifying Knee Osteoarthritis Diagnosis"</a:s>
</a:s>
</a:s>
<a:s>
or </a:s>
<a:s r="136">
<a:s>"Has Qualifying Lower Back Pain Diagnosis"</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>