Quality Measure Implementation Guide, published by HL7 International / Clinical Quality Information. This guide is not an authorized publication; it is the continuous build for version 2.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-cqm/ and changes regularly. See the Directory of published versions
| Page standards status: Informative |
{
"resourceType" : "Measure",
"id" : "HBPComponent",
"meta" : {
"profile" : [
🔗 "http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-publishablemeasure"🔗 ,
"http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-computablemeasure"🔗 ,
"http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-proportionmeasure"
]
},
"language" : "en",
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n <table class=\"narrative-table\">\n <tbody>\n<tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Metadata</th>\n\n\n</tr>\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Title</th>\n\n\n\n<td class=\"content-container\">Preventive Care and Screening: Screening for High Blood Pressure and Follow-Up Documented</td>\n\n\n</tr>\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Version</th>\n\n\n\n<td class=\"content-container\">0.0.001</td>\n\n\n</tr>\n\n\n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Short Name</th>\n\n\n\n<td class=\"content-container\">High Blood Pressure Screening</td>\n\n\n</tr>\n\n\n\n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">GUID (Version Independent)</th>\n\n\n\n<td class=\"content-container\">http://example.org/fhir/us/cqm/Measure/HBPComponent</td>\n\n\n</tr>\n\n\n\n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">GUID (Version Specific)</th>\n\n\n\n<td class=\"content-container\">http://example.org/fhir/us/cqm/Measure/22v11</td>\n\n\n</tr>\n\n\n\n\n\n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Identifier</th>\n\n\n\n<td class=\"content-container\">urn:oid:2.16.840.1.113883.4.642.40.61.29.11</td>\n\n\n</tr>\n\n\n\n \n \n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Effective Period</th>\n\n\n\n<td class=\"content-container\">2022-01-01 through 2022-12-31</td>\n\n\n</tr>\n\n \n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Experimental</th>\n\n\n\n<td class=\"content-container\">true</td>\n\n\n</tr>\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Use Context</th>\n\n\n\n<td class=\"content-container\">\n Clinical Venue\n\n = \n EC\n\n\n</td>\n\n\n</tr>\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Jurisdiction</th>\n\n\n\n<td class=\"content-container\">\n 001 from <a href=\"http://unstats.un.org/unsd/methods/m49/m49.htm\">http://unstats.un.org/unsd/methods/m49/m49.htm</a> \n\n\n</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Steward (Publisher)</th>\n\n\n\n<td class=\"content-container\">HL7 International / Clinical Quality Information</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Description</th>\n\n\n\n<td class=\"content-container\"><div><p>This is an example only.</p>\n</div></td>\n\n\n</tr>\n\n\n\n\n\n\n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Measure Basis</th>\n\n\n\n<td class=\"content-container\">Encounter</td>\n\n\n</tr>\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Measure Scoring</th>\n\n\n\n<td class=\"content-container\">\n Proportion\n\n\n</td>\n\n\n</tr>\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Improvement Notation</th>\n\n\n\n<td class=\"content-container\">\n increase from <a href=\"http://terminology.hl7.org/7.1.0/CodeSystem-measure-improvement-notation.html\">http://terminology.hl7.org/CodeSystem/measure-improvement-notation</a> \n\n\n</td>\n\n\n</tr>\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Measure Type</th>\n\n\n\n<td class=\"content-container\">\n process from <a href=\"http://terminology.hl7.org/7.1.0/CodeSystem-measure-type.html\">http://terminology.hl7.org/CodeSystem/measure-type</a> \n\n\n</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Measure Group (Rate) (ID: primary)</th>\n\n\n</tr>\n \n \n \n\n\n\n\n\n\n\n\n\n\n\n \n\n \n\n\n\n\n\n\n\n \n \n \n \n \n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">supplemental-data Guidance</th>\n\n\n\n<td class=\"content-container\"><div><p>This guidance provides instructions on how to collect and report supplemental data elements for this measure.</p>\n</div></td>\n\n\n</tr>\n\n \n\n\n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Supplemental Data Elements</th>\n\n\n</tr>\n\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Supplemental Data Element</th>\n\n\n <td class=\"content-container\">\n \n <em>ID</em>: cd02ebb6-a0bf-4196-90f9-80f2a8a79bbf\n \n <br/>\n \n \n \n \n \n <em>Usage Code</em>: <span title=\"Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage supplemental-data}\">Supplemental Data</span>\n \n <br/>\n \n \n \n <em>Description</em>: No description provided\n \n \n \n <br/>\n \n \n <em>Logic Definition</em>: <a href=\"#hbpcomponent-sde-ethnicity\">SDE Ethnicity</a> \n \n \n \n </td>\n</tr>\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Supplemental Data Element</th>\n\n\n <td class=\"content-container\">\n \n <em>ID</em>: a67a3fc7-cedd-4d78-b7b0-4718fa7f3e2b\n \n <br/>\n \n \n \n \n \n <em>Usage Code</em>: <span title=\"Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage supplemental-data}\">Supplemental Data</span>\n \n <br/>\n \n \n \n <em>Description</em>: No description provided\n \n \n \n <br/>\n \n \n <em>Logic Definition</em>: <a href=\"#hbpcomponent-sde-payer\">SDE Payer</a> \n \n \n \n </td>\n</tr>\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Supplemental Data Element</th>\n\n\n <td class=\"content-container\">\n \n <em>ID</em>: 3dc8840d-cc30-44af-a233-3b2b6c602060\n \n <br/>\n \n \n \n \n \n <em>Usage Code</em>: <span title=\"Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage supplemental-data}\">Supplemental Data</span>\n \n <br/>\n \n \n \n <em>Description</em>: No description provided\n \n \n \n <br/>\n \n \n <em>Logic Definition</em>: <a href=\"#hbpcomponent-sde-race\">SDE Race</a> \n \n \n \n </td>\n</tr>\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Supplemental Data Element</th>\n\n\n <td class=\"content-container\">\n \n <em>ID</em>: 5a4e95aa-f8b3-400f-89b3-02555a361251\n \n <br/>\n \n \n \n \n \n <em>Usage Code</em>: <span title=\"Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage supplemental-data}\">Supplemental Data</span>\n \n <br/>\n \n \n \n <em>Description</em>: No description provided\n \n \n \n <br/>\n \n \n <em>Logic Definition</em>: <a href=\"#hbpcomponent-sde-sex\">SDE Sex</a> \n \n \n \n </td>\n</tr>\n\n\n<tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Measure Logic</th>\n\n\n</tr>\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Primary Library</th>\n\n\n\n<td class=\"content-container\"><a href=\"Library-HBPComponent.html\">HBP Component Library</a></td>\n\n\n</tr>\n\n\n\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Contents</th>\n <td class=\"content-container\">\n <em><a href=\"#population-criteria\">Population Criteria</a></em>\n <br/>\n <em><a href=\"#definitions\">Logic Definitions</a></em>\n <br/>\n <em><a href=\"#terminology\">Terminology</a></em>\n <br/>\n <em><a href=\"#dependencies\">Dependencies</a></em>\n <br/>\n <em><a href=\"#data-requirements\">Data Requirements</a></em>\n <br/>\n <em><a href=\"#parameters\">Parameters</a></em>\n <br/>\n </td>\n</tr>\n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"population-criteria\"> </a>Population Criteria</th>\n\n\n</tr>\n \n \n \n\n \n \n \n \n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Measure Group (Rate) (ID: primary)</th>\n\n\n</tr>\n \n \n \n\n \n\n\n \n\n \n \n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"definitions\"> </a>Logic Definitions</th>\n\n\n</tr>\n \n \n \n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> SupplementalDataElements</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"supplementaldataelements-sde-sex\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "SDE Sex":\n case\n when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }\n when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }\n else null\n end</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> SupplementalDataElements</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"supplementaldataelements-sde-payer\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "SDE Payer":\n [Coverage: type in "Payer"] Payer\n return {\n code: Payer.type,\n period: Payer.period\n }</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> SupplementalDataElements</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"supplementaldataelements-sde-ethnicity\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "SDE Ethnicity":\n (flatten (\n Patient.extension Extension\n where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'\n return Extension.extension\n )) E\n where E.url = 'ombCategory'\n or E.url = 'detailed'\n return E.value as Coding</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> SupplementalDataElements</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"supplementaldataelements-sde-race\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "SDE Race":\n (flatten (\n Patient.extension Extension\n where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'\n return Extension.extension\n )) E\n where E.url = 'ombCategory'\n or E.url = 'detailed'\n return E.value as Coding</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> MATGlobalCommonFunctions</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"matglobalcommonfunctions-calendarageinyearsat\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> MATGlobalCommonFunctions</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"matglobalcommonfunctions-todate\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezoneoffset from Value)</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> MATGlobalCommonFunctions</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"matglobalcommonfunctions-prevalence-period\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function "Prevalence Period"(condition Condition):\n Interval[start of "Normalize Interval"(condition.onset), end of "Normalize Abatement"(condition))</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> MATGlobalCommonFunctions</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"matglobalcommonfunctions-normalize-interval\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n*\n* CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instant, FHIR.string, FHIR.Age, FHIR.Range>):\n case\n\t when choice is FHIR.dateTime then\n \tInterval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\t\twhen choice is FHIR.Period then\n \t\tFHIRHelpers.ToInterval(choice as FHIR.Period)\n\t\twhen choice is FHIR.instant then\n\t\t\tInterval[FHIRHelpers.ToDateTime(choice as FHIR.instant), FHIRHelpers.ToDateTime(choice as FHIR.instant)]\n\t\twhen choice is FHIR.Age then\n\t\t Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(choice as FHIR.Age),\n\t\t\t FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(choice as FHIR.Age) + 1 year)\n\t\twhen choice is FHIR.Range then\n\t\t Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).low),\n\t\t\t FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).high) + 1 year)\n\t\twhen choice is FHIR.Timing then\n\t\t Message(null as Interval<DateTime>, true, '1', 'Error', 'Cannot compute a single interval from a Timing type')\n when choice is FHIR.string then\n Message(null as Interval<DateTime>, true, '1', 'Error', 'Cannot compute an interval from a String value')\n\t\telse\n\t\t\tnull as Interval<DateTime>\n\tend</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> MATGlobalCommonFunctions</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"matglobalcommonfunctions-normalize-abatement\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.string then\n Message(null as Interval<DateTime>, true, '1', 'Error', 'Cannot compute an interval from a String value')\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.Range then\n\t Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((condition.abatement as FHIR.Range).low),\n\t\t FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((condition.abatement as FHIR.Range).high) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t Interval[end of "Normalize Interval"(condition.onset), condition.recordedDate)\n\telse null</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n\n \n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-sde-sex\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "SDE Sex":\n SDE."SDE Sex"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-qualifying-encounter-during-measurement-period\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Qualifying Encounter During Measurement Period":\n [Encounter: "Encounter to Screen for Blood Pressure"] ValidEncounter\n where ValidEncounter.period during "Measurement Period"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-encounter-with-normal-blood-pressure-reading\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Encounter with Normal Blood Pressure Reading":\n "Qualifying Encounter During Measurement Period" QualifyingEncounter\n let EncounterLastSystolicBP: Last([Observation: "Systolic blood pressure"] SystolicBP\n where SystolicBP.effective during QualifyingEncounter.period\n sort by effective\n ),\n EncounterLastDiastolicBP: Last([Observation: "Diastolic blood pressure"] DiastolicBP\n where DiastolicBP.effective during QualifyingEncounter.period\n sort by effective\n )\n where EncounterLastSystolicBP.value included in Interval[1 'mm[Hg]', 120 'mm[Hg]' )\n and EncounterLastDiastolicBP.value included in Interval[1 'mm[Hg]', 80 'mm[Hg]' )</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-encounter-with-prehypertensive-blood-pressure-reading\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Encounter with Prehypertensive Blood Pressure Reading":\n "Qualifying Encounter During Measurement Period" QualifyingEncounter\n let EncounterLastSystolicBP: Last([Observation: "Systolic blood pressure"] SystolicBP\n where SystolicBP.effective during QualifyingEncounter.period\n sort by effective\n ),\n EncounterLastDiastolicBP: Last([Observation: "Diastolic blood pressure"] DiastolicBP\n where DiastolicBP.effective during QualifyingEncounter.period\n sort by effective\n )\n where EncounterLastSystolicBP.value included in Interval[1 'mm[Hg]', 140 'mm[Hg]' )\n and EncounterLastDiastolicBP.value included in Interval[1 'mm[Hg]', 90 'mm[Hg]' )\n and ( EncounterLastSystolicBP.value >= 120 'mm[Hg]'\n or EncounterLastDiastolicBP.value >= 80 'mm[Hg]'\n )</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-encounter-with-order-for-intervention-for-hypertension\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Encounter with Order for Intervention for Hypertension":\n "Qualifying Encounter During Measurement Period" QualifyingEncounter\n with ( [ServiceRequest: "Lifestyle Recommendation"]\n union [ServiceRequest: "Weight Reduction Recommended"]\n union [ServiceRequest: "Dietary Recommendations"]\n union [ServiceRequest: "Recommendation to Increase Physical Activity"]\n union [ServiceRequest: "Referral or Counseling for Alcohol Consumption"] ) HighBloodPressureIntervention\n such that HighBloodPressureIntervention.authoredOn same day as start of QualifyingEncounter.period</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-encounter-with-order-for-follow-up-within-one-year\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Encounter with Order for Follow Up Within One Year":\n "Qualifying Encounter During Measurement Period" QualifyingEncounter\n with [ServiceRequest: "Follow Up Within One Year"] FollowupOneYear\n such that FollowupOneYear.authoredOn same day as start of QualifyingEncounter.period</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-encounter-with-referral-to-alternate-provider-for-high-blood-pressure-reading\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Encounter with Referral to Alternate Provider for High Blood Pressure Reading":\n "Qualifying Encounter During Measurement Period" QualifyingEncounter\n with [ServiceRequest: "Referral to Primary Care or Alternate Provider"] Referral\n such that Referral.authoredOn same day as start of QualifyingEncounter.period\n and Referral.reasonCode in "Finding of Elevated Blood Pressure or Hypertension"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-encounter-with-high-blood-pressure-reading\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Encounter with High Blood Pressure Reading":\n "Qualifying Encounter During Measurement Period" QualifyingEncounter\n let EncounterLastSystolicBP: Last([Observation: "Systolic blood pressure"] SystolicBP\n where SystolicBP.effective during QualifyingEncounter.period\n sort by effective\n ),\n EncounterLastDiastolicBP: Last([Observation: "Diastolic blood pressure"] DiastolicBP\n where DiastolicBP.effective during QualifyingEncounter.period\n sort by effective\n )\n where EncounterLastSystolicBP.value > 0 'mm[Hg]'\n and EncounterLastDiastolicBP.value > 0 'mm[Hg]'\n and ( EncounterLastSystolicBP.value >= 140 'mm[Hg]'\n or EncounterLastDiastolicBP.value >= 90 'mm[Hg]'\n )</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-encounter-with-high-blood-pressure-reading-within-year-prior\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Encounter with High Blood Pressure Reading Within Year Prior":\n "Qualifying Encounter During Measurement Period" QualifyingEncounter\n let EncounterLastSystolicBP: Last([Observation: "Systolic blood pressure"] SystolicBP\n where SystolicBP.effective 1 year or less before start of QualifyingEncounter.period\n sort by effective\n ),\n EncounterLastDiastolicBP: Last([Observation: "Diastolic blood pressure"] DiastolicBP\n where DiastolicBP.effective 1 year or less before start of QualifyingEncounter.period\n sort by effective\n )\n where EncounterLastSystolicBP.value > 0 'mm[Hg]'\n and EncounterLastDiastolicBP.value > 0 'mm[Hg]'\n and ( EncounterLastSystolicBP.value >= 140 'mm[Hg]'\n or EncounterLastDiastolicBP.value >= 90 'mm[Hg]'\n )</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-encounter-with-first-hypertensive-reading\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Encounter with First Hypertensive Reading":\n "Encounter with High Blood Pressure Reading"\n except "Encounter with High Blood Pressure Reading Within Year Prior"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-encounter-with-order-for-follow-up-within-4-weeks\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Encounter with Order for Follow Up Within 4 Weeks":\n "Qualifying Encounter During Measurement Period" QualifyingEncounter\n with [ServiceRequest: "Follow Up Within 4 Weeks"] Followup4Weeks\n such that Followup4Weeks.authoredOn same day as start of QualifyingEncounter.period</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-encounter-with-second-hypertensive-reading\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Encounter with Second Hypertensive Reading":\n "Encounter with High Blood Pressure Reading"\n intersect "Encounter with High Blood Pressure Reading Within Year Prior"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-encounter-with-order-for-laboratory-test-for-hypertension\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Encounter with Order for Laboratory Test for Hypertension":\n "Qualifying Encounter During Measurement Period" QualifyingEncounter\n with [ServiceRequest: "Laboratory Tests for Hypertension"] HypertensionLabs\n such that HypertensionLabs.authoredOn same day as start of QualifyingEncounter.period</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-encounter-with-order-for-electrocardiogram-for-hypertension\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Encounter with Order for Electrocardiogram for Hypertension":\n "Qualifying Encounter During Measurement Period" QualifyingEncounter\n with ( [ServiceRequest: "12 lead EKG panel"]\n union [ServiceRequest: "EKG study"] ) ECG\n such that ECG.authoredOn same day as start of QualifyingEncounter.period</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-encounter-with-order-for-hypertension-medication\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Encounter with Order for Hypertension Medication":\n "Qualifying Encounter During Measurement Period" QualifyingEncounter\n with [MedicationRequest: "Pharmacologic Therapy for Hypertension"] AntihypertensiveMedication\n such that AntihypertensiveMedication.authoredOn same day as start of QualifyingEncounter.period</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-numerator\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Numerator":\n "Encounter with Normal Blood Pressure Reading"\n union ( "Encounter with Prehypertensive Blood Pressure Reading"\n intersect ( ( "Encounter with Order for Intervention for Hypertension"\n intersect "Encounter with Order for Follow Up Within One Year"\n )\n union "Encounter with Referral to Alternate Provider for High Blood Pressure Reading"\n )\n )\n union ( "Encounter with First Hypertensive Reading"\n intersect ( ( "Encounter with Order for Intervention for Hypertension"\n intersect "Encounter with Order for Follow Up Within 4 Weeks"\n )\n union "Encounter with Referral to Alternate Provider for High Blood Pressure Reading"\n )\n )\n union ( "Encounter with Second Hypertensive Reading"\n intersect ( ( "Encounter with Order for Intervention for Hypertension"\n intersect ( "Encounter with Order for Laboratory Test for Hypertension"\n union "Encounter with Order for Electrocardiogram for Hypertension"\n union "Encounter with Order for Hypertension Medication"\n )\n )\n union "Encounter with Referral to Alternate Provider for High Blood Pressure Reading"\n )\n )</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-initial-population\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Initial Population":\n "Qualifying Encounter During Measurement Period" QualifyingEncounter\n with [Patient] BirthDate\n such that Global."CalendarAgeInYearsAt" ( FHIRHelpers.ToDate ( BirthDate.birthDate ), start of "Measurement Period" ) >= 18</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-denominator\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Denominator":\n "Initial Population"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-sde-payer\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "SDE Payer":\n SDE."SDE Payer"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-sde-ethnicity\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "SDE Ethnicity":\n SDE."SDE Ethnicity"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-denominator-exclusions\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Denominator Exclusions":\n "Qualifying Encounter During Measurement Period" QualifyingEncounter\n with [Condition: "Diagnosis of Hypertension"] Hypertension\n such that Global."Prevalence Period" ( Hypertension ) overlaps before QualifyingEncounter.period</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-sde-race\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "SDE Race":\n SDE."SDE Race"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-encounter-with-medical-reason-for-not-obtaining-or-patient-declined-blood-pressure-measurement\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Encounter with Medical Reason for Not Obtaining or Patient Declined Blood Pressure Measurement":\n "Qualifying Encounter During Measurement Period" QualifyingEncounter\n with ( [Observation: "Systolic blood pressure"]\n union [Observation: "Diastolic blood pressure"] ) NoBPScreen\n such that ( NoBPScreen.code in "Medical Reason"\n or NoBPScreen.code in "Patient Declined"\n )\n and NoBPScreen.effective same day as start of QualifyingEncounter.period\n and "Not Done"(NoBPScreen)\n and NoBPScreen.status = 'final'</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-encounter-with-order-for-hypertension-follow-up-declined-by-patient\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Encounter with Order for Hypertension Follow Up Declined by Patient":\n "Qualifying Encounter During Measurement Period" QualifyingEncounter\n with ( [ServiceRequest: "12 lead EKG panel"]\n union [ServiceRequest: "EKG study"]\n union [ServiceRequest: "Follow Up Within One Year"]\n union [ServiceRequest: "Follow Up Within 4 Weeks"]\n union [ServiceRequest: "Referral to Primary Care or Alternate Provider"]\n union [ServiceRequest: "Lifestyle Recommendation"]\n union [ServiceRequest: "Weight Reduction Recommended"]\n union [ServiceRequest: "Dietary Recommendations"]\n union [ServiceRequest: "Recommendation to Increase Physical Activity"]\n union [ServiceRequest: "Referral or Counseling for Alcohol Consumption"]\n union [ServiceRequest: "Laboratory Tests for Hypertension"]\n union [MedicationRequest: "Pharmacologic Therapy for Hypertension"] ) NoFollowUpOrdered\n such that NoFollowUpOrdered.doNotPerform is true\n and NoFollowUpOrdered.code in "Patient Declined"\n and NoFollowUpOrdered.authoredOn same day as start of QualifyingEncounter.period</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-denominator-exceptions\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Denominator Exceptions":\n "Encounter with Medical Reason for Not Obtaining or Patient Declined Blood Pressure Measurement"\n union "Encounter with Order for Hypertension Follow Up Declined by Patient"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-not-done\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function "Not Done"(res DomainResource ):\n if ( res R\n where ( "GetModiferExtension"(R, 'http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-notDone').value = true )\n ) is not null then true\n else false</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-getmodiferextension\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function "GetModiferExtension"(res DomainResource, url String ):\n singleton from "GetModifierExtensions"(res, url)</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> HBPComponent</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"hbpcomponent-getmodifierextensions\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function "GetModifierExtensions"(res DomainResource, url String ):\n res.modifierExtension E\n where E.url = ( url )\n return E</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-tostring\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToString(value AdministrativeGender): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-tointerval\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n@description: Converts the given [Period](https://hl7.org/fhir/datatypes.html#Period)\nvalue to a CQL DateTime Interval\n@comment: If the start value of the given period is unspecified, the starting\nboundary of the resulting interval will be open (meaning the start of the interval\nis unknown, as opposed to interpreted as the beginning of time).\n*/\ndefine function ToInterval(period FHIR.Period):\n if period is null then\n null\n else\n if period."start" is null then\n Interval(period."start".value, period."end".value]\n else\n Interval[period."start".value, period."end".value]</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-todatetime\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToDateTime(value dateTime): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-todatetime\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToDateTime(value instant): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-tointerval\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n@description: Converts the given FHIR [Range](https://hl7.org/fhir/datatypes.html#Range) value to a CQL Interval of Quantity\n*/\ndefine function ToInterval(range FHIR.Range):\n if range is null then\n null\n else\n Interval[ToQuantity(range.low), ToQuantity(range.high)]</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-toquantity\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n@description: Converts the given FHIR [Quantity](https://hl7.org/fhir/datatypes.html#Quantity) \nvalue to a CQL Quantity\n@comment: If the given quantity has a comparator specified, a runtime error is raised. If the given quantity\nhas a system other than UCUM (i.e. `http://unitsofmeasure.org`) or CQL calendar units (i.e. `http://hl7.org/fhirpath/CodeSystem/calendar-units`)\nan error is raised. For UCUM to calendar units, the `ToCalendarUnit` function is used.\n@seealso: ToCalendarUnit\n*/\ndefine function ToQuantity(quantity FHIR.Quantity):\n case\n when quantity is null then null\n when quantity.value is null then null\n when quantity.comparator is not null then\n Message(null, true, 'FHIRHelpers.ToQuantity.ComparatorQuantityNotSupported', 'Error', 'FHIR Quantity value has a comparator and cannot be converted to a System.Quantity value.')\n when quantity.system is null or quantity.system.value = 'http://unitsofmeasure.org'\n or quantity.system.value = 'http://hl7.org/fhirpath/CodeSystem/calendar-units' then\n System.Quantity { value: quantity.value.value, unit: ToCalendarUnit(Coalesce(quantity.code.value, quantity.unit.value, '1')) }\n else\n Message(null, true, 'FHIRHelpers.ToQuantity.InvalidFHIRQuantity', 'Error', 'Invalid FHIR Quantity code: ' & quantity.unit.value & ' (' & quantity.system.value & '|' & quantity.code.value & ')')\n end</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-tocalendarunit\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n@description: Converts a UCUM definite duration unit to a CQL calendar duration\nunit using conversions specified in the [quantities](https://cql.hl7.org/02-authorsguide.html#quantities) \ntopic of the CQL specification.\n@comment: Note that for durations above days (or weeks), the conversion is understood to be approximate\n*/\ndefine function ToCalendarUnit(unit System.String):\n case unit\n when 'ms' then 'millisecond'\n when 's' then 'second'\n when 'min' then 'minute'\n when 'h' then 'hour'\n when 'd' then 'day'\n when 'wk' then 'week'\n when 'mo' then 'month'\n when 'a' then 'year'\n else unit\n end</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-toconcept\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n@description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.\n*/\ndefine function ToConcept(concept FHIR.CodeableConcept):\n if concept is null then\n null\n else\n System.Concept {\n codes: concept.coding C return ToCode(C),\n display: concept.text.value\n }</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-tocode\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n@description: Converts the given FHIR [Coding](https://hl7.org/fhir/datatypes.html#Coding) value to a CQL Code.\n*/\ndefine function ToCode(coding FHIR.Coding):\n if coding is null then\n null\n else\n System.Code {\n code: coding.code.value,\n system: coding.system.value,\n version: coding.version.value,\n display: coding.display.value\n }</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-tostring\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToString(value string): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-todate\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToDate(value date): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-tostring\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToString(value uri): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-toboolean\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToBoolean(value boolean): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-tostring\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToString(value ObservationStatus): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n\n\n \n \n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"terminology\"> </a>Terminology</th>\n\n\n</tr>\n \n \n \n\n \n\n \n\n \n\n \n\n\n<tr>\n \n \n \n\n<th scope=\"row\" class=\"row-header\">Code System</th>\n\n\n \n <td class=\"content-container\">\n \n <em>Description</em>: Code system LOINC\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"http://terminology.hl7.org/6.5.0/CodeSystem-v3-loinc.html\">Logical Observation Identifiers, Names and Codes (LOINC)</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://loinc.org</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Encounter to Screen for Blood Pressure\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1920/expansion\">Encounter to Screen for Blood Pressure</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1920</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Lifestyle Recommendation\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1581/expansion\">Lifestyle Recommendation</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1581</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Weight Reduction Recommended\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1510/expansion\">Weight Reduction Recommended</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1510</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Dietary Recommendations\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1515/expansion\">Dietary Recommendations</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1515</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Recommendation to Increase Physical Activity\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1518/expansion\">Recommendation to Increase Physical Activity</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1518</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Referral or Counseling for Alcohol Consumption\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1583/expansion\">Referral or Counseling for Alcohol Consumption</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1583</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Follow Up Within One Year\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1579/expansion\">Follow Up Within One Year</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1579</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Referral to Primary Care or Alternate Provider\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1580/expansion\">Referral to Primary Care or Alternate Provider</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1580</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Finding of Elevated Blood Pressure or Hypertension\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1047.514/expansion\">Finding of Elevated Blood Pressure or Hypertension</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1047.514</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Follow Up Within 4 Weeks\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1578/expansion\">Follow Up Within 4 Weeks</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1578</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Laboratory Tests for Hypertension\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1482/expansion\">Laboratory Tests for Hypertension</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1482</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Pharmacologic Therapy for Hypertension\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.1577/expansion\">Pharmacologic Therapy for Hypertension</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.1577</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Payer\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.114222.4.11.3591/expansion\">Payer Type</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Diagnosis of Hypertension\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.263/expansion\">Diagnosis of Hypertension</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.263</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Medical Reason\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1007/expansion\">Medical Reason</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1007</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Patient Declined\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1582/expansion\">Patient Declined</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1582</tt>\n \n </td>\n</tr>\n \n\n\n \n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: Systolic blood pressure\n <br/>\n \n <em>Code</em>: 8480-6\n <br/>\n <em>System</em>: <tt>http://loinc.org</tt>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: Diastolic blood pressure\n <br/>\n \n <em>Code</em>: 8462-4\n <br/>\n <em>System</em>: <tt>http://loinc.org</tt>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: 12 lead EKG panel\n <br/>\n \n <em>Code</em>: 34534-8\n <br/>\n <em>System</em>: <tt>http://loinc.org</tt>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: EKG study\n <br/>\n \n <em>Code</em>: 11524-6\n <br/>\n <em>System</em>: <tt>http://loinc.org</tt>\n </td>\n </tr>\n\n \n \n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"dependencies\"> </a>Dependencies</th>\n\n\n</tr>\n \n \n \n\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n <td class=\"content-container\">\n \n <em>Description</em>: FHIR model information\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"http://hl7.org/fhir/uv/cql/STU2/Library-FHIR-ModelInfo.html\">http://hl7.org/fhir/uv/cql/Library/FHIR-ModelInfo|4.0.1</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://hl7.org/fhir/uv/cql/Library/FHIR-ModelInfo|4.0.1</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n <td class=\"content-container\">\n \n <em>Description</em>: Library SDE\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"Library-SupplementalDataElements.html\">Supplemental Data Elementsversion: null2.0.000)</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://hl7.org/fhir/uv/cqm/Library/SupplementalDataElements|2.0.000</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n <td class=\"content-container\">\n \n <em>Description</em>: Library FHIRHelpers\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"http://hl7.org/fhir/uv/cql/STU2/Library-FHIRHelpers.html\">http://hl7.org/fhir/uv/cql/Library/FHIRHelpers|4.0.1</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://hl7.org/fhir/uv/cql/Library/FHIRHelpers|4.0.1</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n <td class=\"content-container\">\n \n <em>Description</em>: Library Global\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"Library-MATGlobalCommonFunctions.html\">MAT Global Common Functions FHIR Libraryversion: null5.0.000)</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://hl7.org/fhir/uv/cqm/Library/MATGlobalCommonFunctions|5.0.000</tt>\n \n </td>\n</tr>\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n \n \n\n\n\n\n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"data-requirements\"> </a>Data Requirements</th>\n\n\n</tr>\n \n \n \n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Patient\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/patient.html\">Patient</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: birthDate, url, extension, value\n <br/>\n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Encounter\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/encounter.html\">Encounter</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: type, period\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: type</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1920/expansion\">Encounter to Screen for Blood Pressure</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Observation\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/observation.html\">Observation</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code, effective, status, value\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n \n <span class=\"tab-one\"><em>Code(s)</em>: \n \n \n <a href=\"https://loinc.org/8480-6\">LOINC: 8480-6</a> (Systolic blood pressure)\n \n \n </span>\n <br/>\n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Observation\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/observation.html\">Observation</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code, effective, status, value\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n \n <span class=\"tab-one\"><em>Code(s)</em>: \n \n \n <a href=\"https://loinc.org/8462-4\">LOINC: 8462-4</a> (Diastolic blood pressure)\n \n \n </span>\n <br/>\n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: ServiceRequest\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/servicerequest.html\">ServiceRequest</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code, authoredOn\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n \n <span class=\"tab-one\"><em>Code(s)</em>: \n \n \n <a href=\"https://loinc.org/34534-8\">LOINC: 34534-8</a> (12 lead EKG panel)\n \n \n </span>\n <br/>\n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: ServiceRequest\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/servicerequest.html\">ServiceRequest</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code, authoredOn\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n \n <span class=\"tab-one\"><em>Code(s)</em>: \n \n \n <a href=\"https://loinc.org/11524-6\">LOINC: 11524-6</a> (EKG study)\n \n \n </span>\n <br/>\n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: ServiceRequest\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/servicerequest.html\">ServiceRequest</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code, authoredOn\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1579/expansion\">Follow Up Within One Year</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: ServiceRequest\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/servicerequest.html\">ServiceRequest</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code, authoredOn\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1578/expansion\">Follow Up Within 4 Weeks</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: ServiceRequest\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/servicerequest.html\">ServiceRequest</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code, authoredOn, reasonCode\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1580/expansion\">Referral to Primary Care or Alternate Provider</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: ServiceRequest\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/servicerequest.html\">ServiceRequest</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code, authoredOn\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1581/expansion\">Lifestyle Recommendation</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: ServiceRequest\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/servicerequest.html\">ServiceRequest</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code, authoredOn\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1510/expansion\">Weight Reduction Recommended</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: ServiceRequest\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/servicerequest.html\">ServiceRequest</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code, authoredOn\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1515/expansion\">Dietary Recommendations</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: ServiceRequest\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/servicerequest.html\">ServiceRequest</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code, authoredOn\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1518/expansion\">Recommendation to Increase Physical Activity</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: ServiceRequest\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/servicerequest.html\">ServiceRequest</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code, authoredOn\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1583/expansion\">Referral or Counseling for Alcohol Consumption</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: ServiceRequest\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/servicerequest.html\">ServiceRequest</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code, authoredOn\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1482/expansion\">Laboratory Tests for Hypertension</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: MedicationRequest\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/medicationrequest.html\">MedicationRequest</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: medication, authoredOn\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: medication</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.1577/expansion\">Pharmacologic Therapy for Hypertension</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: MedicationRequest\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/medicationrequest.html\">MedicationRequest</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: medication.reference, authoredOn\n <br/>\n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Medication\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/medication.html\">Medication</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: id, code\n <br/>\n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Coverage\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/coverage.html\">Coverage</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: type, period\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: type</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.114222.4.11.3591/expansion\">Payer Type</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Condition\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/condition.html\">Condition</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.263/expansion\">Diagnosis of Hypertension</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n \n \n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"parameters\"> </a>Parameters</th>\n\n\n</tr>\n \n \n <tr>\n \n\n<th scope=\"row\" class=\"row-header\"/>\n\n\n <td class=\"content-container\">\n <table>\n <thead>\n <tr>\n <td><em>Name</em></td>\n <td><em>Use</em></td>\n <td><em>Card.</em></td>\n <td><em>Type</em></td>\n <td><em>Documentation</em></td>\n </tr>\n </thead>\n <tbody>\n \n <tr>\n <td>Measurement Period</td>\n <td>In</td>\n <td>0..1</td>\n <td>Period</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Sex</td>\n <td>Out</td>\n <td>0..1</td>\n <td>Coding</td>\n <td/>\n </tr>\n \n <tr>\n <td>Numerator</td>\n <td>Out</td>\n <td>0..*</td>\n <td>Encounter</td>\n <td/>\n </tr>\n \n <tr>\n <td>Denominator</td>\n <td>Out</td>\n <td>0..*</td>\n <td>Encounter</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Payer</td>\n <td>Out</td>\n <td>0..*</td>\n <td>Resource</td>\n <td/>\n </tr>\n \n <tr>\n <td>Initial Population</td>\n <td>Out</td>\n <td>0..*</td>\n <td>Encounter</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Ethnicity</td>\n <td>Out</td>\n <td>0..*</td>\n <td>Coding</td>\n <td/>\n </tr>\n \n <tr>\n <td>Denominator Exclusions</td>\n <td>Out</td>\n <td>0..*</td>\n <td>Encounter</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Race</td>\n <td>Out</td>\n <td>0..*</td>\n <td>Coding</td>\n <td/>\n </tr>\n \n <tr>\n <td>Denominator Exceptions</td>\n <td>Out</td>\n <td>0..*</td>\n <td>Encounter</td>\n <td/>\n </tr>\n \n </tbody>\n </table>\n </td>\n</tr>\n\n \n \n\n<tr>\n <th colspan=\"2\" scope=\"row\" class=\"row-header\">Generated using version 0.5.4 of the sample-content-ig Liquid templates</th>\n</tr>\n\n </tbody>\n </table>\n</div>"
},
"contained" : [
{
"resourceType" : "Library",
"id" : "effective-data-requirements",
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "8480-6",
"display" : "Systolic blood pressure"
}
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "8462-4",
"display" : "Diastolic blood pressure"
}
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "34534-8",
"display" : "12 lead EKG panel"
}
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "11524-6",
"display" : "EKG study"
}
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "SupplementalDataElements"
},
{
"url" : "name",
"valueString" : "SDE Sex"
},
{
"url" : "statement",
"valueString" : "define \"SDE Sex\":\n case\n when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }\n when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }\n else null\n end"
},
{
"url" : "displaySequence",
"valueInteger" : 0
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "SDE Sex"
},
{
"url" : "statement",
"valueString" : "define \"SDE Sex\":\n SDE.\"SDE Sex\""
},
{
"url" : "displaySequence",
"valueInteger" : 1
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Qualifying Encounter During Measurement Period"
},
{
"url" : "statement",
"valueString" : "define \"Qualifying Encounter During Measurement Period\":\n [Encounter: \"Encounter to Screen for Blood Pressure\"] ValidEncounter\n where ValidEncounter.period during \"Measurement Period\""
},
{
"url" : "displaySequence",
"valueInteger" : 2
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Encounter with Normal Blood Pressure Reading"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with Normal Blood Pressure Reading\":\n \"Qualifying Encounter During Measurement Period\" QualifyingEncounter\n let EncounterLastSystolicBP: Last([Observation: \"Systolic blood pressure\"] SystolicBP\n where SystolicBP.effective during QualifyingEncounter.period\n sort by effective\n ),\n EncounterLastDiastolicBP: Last([Observation: \"Diastolic blood pressure\"] DiastolicBP\n where DiastolicBP.effective during QualifyingEncounter.period\n sort by effective\n )\n where EncounterLastSystolicBP.value included in Interval[1 'mm[Hg]', 120 'mm[Hg]' )\n and EncounterLastDiastolicBP.value included in Interval[1 'mm[Hg]', 80 'mm[Hg]' )"
},
{
"url" : "displaySequence",
"valueInteger" : 3
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Encounter with Prehypertensive Blood Pressure Reading"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with Prehypertensive Blood Pressure Reading\":\n \"Qualifying Encounter During Measurement Period\" QualifyingEncounter\n let EncounterLastSystolicBP: Last([Observation: \"Systolic blood pressure\"] SystolicBP\n where SystolicBP.effective during QualifyingEncounter.period\n sort by effective\n ),\n EncounterLastDiastolicBP: Last([Observation: \"Diastolic blood pressure\"] DiastolicBP\n where DiastolicBP.effective during QualifyingEncounter.period\n sort by effective\n )\n where EncounterLastSystolicBP.value included in Interval[1 'mm[Hg]', 140 'mm[Hg]' )\n and EncounterLastDiastolicBP.value included in Interval[1 'mm[Hg]', 90 'mm[Hg]' )\n and ( EncounterLastSystolicBP.value >= 120 'mm[Hg]'\n or EncounterLastDiastolicBP.value >= 80 'mm[Hg]'\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 4
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Encounter with Order for Intervention for Hypertension"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with Order for Intervention for Hypertension\":\n \"Qualifying Encounter During Measurement Period\" QualifyingEncounter\n with ( [ServiceRequest: \"Lifestyle Recommendation\"]\n union [ServiceRequest: \"Weight Reduction Recommended\"]\n union [ServiceRequest: \"Dietary Recommendations\"]\n union [ServiceRequest: \"Recommendation to Increase Physical Activity\"]\n union [ServiceRequest: \"Referral or Counseling for Alcohol Consumption\"] ) HighBloodPressureIntervention\n such that HighBloodPressureIntervention.authoredOn same day as start of QualifyingEncounter.period"
},
{
"url" : "displaySequence",
"valueInteger" : 5
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Encounter with Order for Follow Up Within One Year"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with Order for Follow Up Within One Year\":\n \"Qualifying Encounter During Measurement Period\" QualifyingEncounter\n with [ServiceRequest: \"Follow Up Within One Year\"] FollowupOneYear\n such that FollowupOneYear.authoredOn same day as start of QualifyingEncounter.period"
},
{
"url" : "displaySequence",
"valueInteger" : 6
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Encounter with Referral to Alternate Provider for High Blood Pressure Reading"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with Referral to Alternate Provider for High Blood Pressure Reading\":\n \"Qualifying Encounter During Measurement Period\" QualifyingEncounter\n with [ServiceRequest: \"Referral to Primary Care or Alternate Provider\"] Referral\n such that Referral.authoredOn same day as start of QualifyingEncounter.period\n and Referral.reasonCode in \"Finding of Elevated Blood Pressure or Hypertension\""
},
{
"url" : "displaySequence",
"valueInteger" : 7
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Encounter with High Blood Pressure Reading"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with High Blood Pressure Reading\":\n \"Qualifying Encounter During Measurement Period\" QualifyingEncounter\n let EncounterLastSystolicBP: Last([Observation: \"Systolic blood pressure\"] SystolicBP\n where SystolicBP.effective during QualifyingEncounter.period\n sort by effective\n ),\n EncounterLastDiastolicBP: Last([Observation: \"Diastolic blood pressure\"] DiastolicBP\n where DiastolicBP.effective during QualifyingEncounter.period\n sort by effective\n )\n where EncounterLastSystolicBP.value > 0 'mm[Hg]'\n and EncounterLastDiastolicBP.value > 0 'mm[Hg]'\n and ( EncounterLastSystolicBP.value >= 140 'mm[Hg]'\n or EncounterLastDiastolicBP.value >= 90 'mm[Hg]'\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 8
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Encounter with High Blood Pressure Reading Within Year Prior"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with High Blood Pressure Reading Within Year Prior\":\n \"Qualifying Encounter During Measurement Period\" QualifyingEncounter\n let EncounterLastSystolicBP: Last([Observation: \"Systolic blood pressure\"] SystolicBP\n where SystolicBP.effective 1 year or less before start of QualifyingEncounter.period\n sort by effective\n ),\n EncounterLastDiastolicBP: Last([Observation: \"Diastolic blood pressure\"] DiastolicBP\n where DiastolicBP.effective 1 year or less before start of QualifyingEncounter.period\n sort by effective\n )\n where EncounterLastSystolicBP.value > 0 'mm[Hg]'\n and EncounterLastDiastolicBP.value > 0 'mm[Hg]'\n and ( EncounterLastSystolicBP.value >= 140 'mm[Hg]'\n or EncounterLastDiastolicBP.value >= 90 'mm[Hg]'\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 9
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Encounter with First Hypertensive Reading"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with First Hypertensive Reading\":\n \"Encounter with High Blood Pressure Reading\"\n except \"Encounter with High Blood Pressure Reading Within Year Prior\""
},
{
"url" : "displaySequence",
"valueInteger" : 10
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Encounter with Order for Follow Up Within 4 Weeks"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with Order for Follow Up Within 4 Weeks\":\n \"Qualifying Encounter During Measurement Period\" QualifyingEncounter\n with [ServiceRequest: \"Follow Up Within 4 Weeks\"] Followup4Weeks\n such that Followup4Weeks.authoredOn same day as start of QualifyingEncounter.period"
},
{
"url" : "displaySequence",
"valueInteger" : 11
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Encounter with Second Hypertensive Reading"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with Second Hypertensive Reading\":\n \"Encounter with High Blood Pressure Reading\"\n intersect \"Encounter with High Blood Pressure Reading Within Year Prior\""
},
{
"url" : "displaySequence",
"valueInteger" : 12
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Encounter with Order for Laboratory Test for Hypertension"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with Order for Laboratory Test for Hypertension\":\n \"Qualifying Encounter During Measurement Period\" QualifyingEncounter\n with [ServiceRequest: \"Laboratory Tests for Hypertension\"] HypertensionLabs\n such that HypertensionLabs.authoredOn same day as start of QualifyingEncounter.period"
},
{
"url" : "displaySequence",
"valueInteger" : 13
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Encounter with Order for Electrocardiogram for Hypertension"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with Order for Electrocardiogram for Hypertension\":\n \"Qualifying Encounter During Measurement Period\" QualifyingEncounter\n with ( [ServiceRequest: \"12 lead EKG panel\"]\n union [ServiceRequest: \"EKG study\"] ) ECG\n such that ECG.authoredOn same day as start of QualifyingEncounter.period"
},
{
"url" : "displaySequence",
"valueInteger" : 14
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Encounter with Order for Hypertension Medication"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with Order for Hypertension Medication\":\n \"Qualifying Encounter During Measurement Period\" QualifyingEncounter\n with [MedicationRequest: \"Pharmacologic Therapy for Hypertension\"] AntihypertensiveMedication\n such that AntihypertensiveMedication.authoredOn same day as start of QualifyingEncounter.period"
},
{
"url" : "displaySequence",
"valueInteger" : 15
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Numerator"
},
{
"url" : "statement",
"valueString" : "define \"Numerator\":\n \"Encounter with Normal Blood Pressure Reading\"\n union ( \"Encounter with Prehypertensive Blood Pressure Reading\"\n intersect ( ( \"Encounter with Order for Intervention for Hypertension\"\n intersect \"Encounter with Order for Follow Up Within One Year\"\n )\n union \"Encounter with Referral to Alternate Provider for High Blood Pressure Reading\"\n )\n )\n union ( \"Encounter with First Hypertensive Reading\"\n intersect ( ( \"Encounter with Order for Intervention for Hypertension\"\n intersect \"Encounter with Order for Follow Up Within 4 Weeks\"\n )\n union \"Encounter with Referral to Alternate Provider for High Blood Pressure Reading\"\n )\n )\n union ( \"Encounter with Second Hypertensive Reading\"\n intersect ( ( \"Encounter with Order for Intervention for Hypertension\"\n intersect ( \"Encounter with Order for Laboratory Test for Hypertension\"\n union \"Encounter with Order for Electrocardiogram for Hypertension\"\n union \"Encounter with Order for Hypertension Medication\"\n )\n )\n union \"Encounter with Referral to Alternate Provider for High Blood Pressure Reading\"\n )\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 16
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Initial Population"
},
{
"url" : "statement",
"valueString" : "define \"Initial Population\":\n \"Qualifying Encounter During Measurement Period\" QualifyingEncounter\n with [Patient] BirthDate\n such that Global.\"CalendarAgeInYearsAt\" ( FHIRHelpers.ToDate ( BirthDate.birthDate ), start of \"Measurement Period\" ) >= 18"
},
{
"url" : "displaySequence",
"valueInteger" : 17
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Denominator"
},
{
"url" : "statement",
"valueString" : "define \"Denominator\":\n \"Initial Population\""
},
{
"url" : "displaySequence",
"valueInteger" : 18
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "SupplementalDataElements"
},
{
"url" : "name",
"valueString" : "SDE Payer"
},
{
"url" : "statement",
"valueString" : "define \"SDE Payer\":\n [Coverage: type in \"Payer\"] Payer\n return {\n code: Payer.type,\n period: Payer.period\n }"
},
{
"url" : "displaySequence",
"valueInteger" : 19
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "SDE Payer"
},
{
"url" : "statement",
"valueString" : "define \"SDE Payer\":\n SDE.\"SDE Payer\""
},
{
"url" : "displaySequence",
"valueInteger" : 20
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "SupplementalDataElements"
},
{
"url" : "name",
"valueString" : "SDE Ethnicity"
},
{
"url" : "statement",
"valueString" : "define \"SDE Ethnicity\":\n (flatten (\n Patient.extension Extension\n where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'\n return Extension.extension\n )) E\n where E.url = 'ombCategory'\n or E.url = 'detailed'\n return E.value as Coding"
},
{
"url" : "displaySequence",
"valueInteger" : 21
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "SDE Ethnicity"
},
{
"url" : "statement",
"valueString" : "define \"SDE Ethnicity\":\n SDE.\"SDE Ethnicity\""
},
{
"url" : "displaySequence",
"valueInteger" : 22
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Denominator Exclusions"
},
{
"url" : "statement",
"valueString" : "define \"Denominator Exclusions\":\n \"Qualifying Encounter During Measurement Period\" QualifyingEncounter\n with [Condition: \"Diagnosis of Hypertension\"] Hypertension\n such that Global.\"Prevalence Period\" ( Hypertension ) overlaps before QualifyingEncounter.period"
},
{
"url" : "displaySequence",
"valueInteger" : 23
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "SupplementalDataElements"
},
{
"url" : "name",
"valueString" : "SDE Race"
},
{
"url" : "statement",
"valueString" : "define \"SDE Race\":\n (flatten (\n Patient.extension Extension\n where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'\n return Extension.extension\n )) E\n where E.url = 'ombCategory'\n or E.url = 'detailed'\n return E.value as Coding"
},
{
"url" : "displaySequence",
"valueInteger" : 24
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "SDE Race"
},
{
"url" : "statement",
"valueString" : "define \"SDE Race\":\n SDE.\"SDE Race\""
},
{
"url" : "displaySequence",
"valueInteger" : 25
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Encounter with Medical Reason for Not Obtaining or Patient Declined Blood Pressure Measurement"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with Medical Reason for Not Obtaining or Patient Declined Blood Pressure Measurement\":\n \"Qualifying Encounter During Measurement Period\" QualifyingEncounter\n with ( [Observation: \"Systolic blood pressure\"]\n union [Observation: \"Diastolic blood pressure\"] ) NoBPScreen\n such that ( NoBPScreen.code in \"Medical Reason\"\n or NoBPScreen.code in \"Patient Declined\"\n )\n and NoBPScreen.effective same day as start of QualifyingEncounter.period\n and \"Not Done\"(NoBPScreen)\n and NoBPScreen.status = 'final'"
},
{
"url" : "displaySequence",
"valueInteger" : 26
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Encounter with Order for Hypertension Follow Up Declined by Patient"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with Order for Hypertension Follow Up Declined by Patient\":\n \"Qualifying Encounter During Measurement Period\" QualifyingEncounter\n with ( [ServiceRequest: \"12 lead EKG panel\"]\n union [ServiceRequest: \"EKG study\"]\n union [ServiceRequest: \"Follow Up Within One Year\"]\n union [ServiceRequest: \"Follow Up Within 4 Weeks\"]\n union [ServiceRequest: \"Referral to Primary Care or Alternate Provider\"]\n union [ServiceRequest: \"Lifestyle Recommendation\"]\n union [ServiceRequest: \"Weight Reduction Recommended\"]\n union [ServiceRequest: \"Dietary Recommendations\"]\n union [ServiceRequest: \"Recommendation to Increase Physical Activity\"]\n union [ServiceRequest: \"Referral or Counseling for Alcohol Consumption\"]\n union [ServiceRequest: \"Laboratory Tests for Hypertension\"]\n union [MedicationRequest: \"Pharmacologic Therapy for Hypertension\"] ) NoFollowUpOrdered\n such that NoFollowUpOrdered.doNotPerform is true\n and NoFollowUpOrdered.code in \"Patient Declined\"\n and NoFollowUpOrdered.authoredOn same day as start of QualifyingEncounter.period"
},
{
"url" : "displaySequence",
"valueInteger" : 27
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Denominator Exceptions"
},
{
"url" : "statement",
"valueString" : "define \"Denominator Exceptions\":\n \"Encounter with Medical Reason for Not Obtaining or Patient Declined Blood Pressure Measurement\"\n union \"Encounter with Order for Hypertension Follow Up Declined by Patient\""
},
{
"url" : "displaySequence",
"valueInteger" : 28
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value AdministrativeGender): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 29
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToInterval"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Converts the given [Period](https://hl7.org/fhir/datatypes.html#Period)\nvalue to a CQL DateTime Interval\n@comment: If the start value of the given period is unspecified, the starting\nboundary of the resulting interval will be open (meaning the start of the interval\nis unknown, as opposed to interpreted as the beginning of time).\n*/\ndefine function ToInterval(period FHIR.Period):\n if period is null then\n null\n else\n if period.\"start\" is null then\n Interval(period.\"start\".value, period.\"end\".value]\n else\n Interval[period.\"start\".value, period.\"end\".value]"
},
{
"url" : "displaySequence",
"valueInteger" : 30
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToDateTime"
},
{
"url" : "statement",
"valueString" : "define function ToDateTime(value dateTime): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 31
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToDateTime"
},
{
"url" : "statement",
"valueString" : "define function ToDateTime(value instant): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 32
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToInterval"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Converts the given FHIR [Range](https://hl7.org/fhir/datatypes.html#Range) value to a CQL Interval of Quantity\n*/\ndefine function ToInterval(range FHIR.Range):\n if range is null then\n null\n else\n Interval[ToQuantity(range.low), ToQuantity(range.high)]"
},
{
"url" : "displaySequence",
"valueInteger" : 33
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToQuantity"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Converts the given FHIR [Quantity](https://hl7.org/fhir/datatypes.html#Quantity) \nvalue to a CQL Quantity\n@comment: If the given quantity has a comparator specified, a runtime error is raised. If the given quantity\nhas a system other than UCUM (i.e. `http://unitsofmeasure.org`) or CQL calendar units (i.e. `http://hl7.org/fhirpath/CodeSystem/calendar-units`)\nan error is raised. For UCUM to calendar units, the `ToCalendarUnit` function is used.\n@seealso: ToCalendarUnit\n*/\ndefine function ToQuantity(quantity FHIR.Quantity):\n case\n when quantity is null then null\n when quantity.value is null then null\n when quantity.comparator is not null then\n Message(null, true, 'FHIRHelpers.ToQuantity.ComparatorQuantityNotSupported', 'Error', 'FHIR Quantity value has a comparator and cannot be converted to a System.Quantity value.')\n when quantity.system is null or quantity.system.value = 'http://unitsofmeasure.org'\n or quantity.system.value = 'http://hl7.org/fhirpath/CodeSystem/calendar-units' then\n System.Quantity { value: quantity.value.value, unit: ToCalendarUnit(Coalesce(quantity.code.value, quantity.unit.value, '1')) }\n else\n Message(null, true, 'FHIRHelpers.ToQuantity.InvalidFHIRQuantity', 'Error', 'Invalid FHIR Quantity code: ' & quantity.unit.value & ' (' & quantity.system.value & '|' & quantity.code.value & ')')\n end"
},
{
"url" : "displaySequence",
"valueInteger" : 34
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToCalendarUnit"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Converts a UCUM definite duration unit to a CQL calendar duration\nunit using conversions specified in the [quantities](https://cql.hl7.org/02-authorsguide.html#quantities) \ntopic of the CQL specification.\n@comment: Note that for durations above days (or weeks), the conversion is understood to be approximate\n*/\ndefine function ToCalendarUnit(unit System.String):\n case unit\n when 'ms' then 'millisecond'\n when 's' then 'second'\n when 'min' then 'minute'\n when 'h' then 'hour'\n when 'd' then 'day'\n when 'wk' then 'week'\n when 'mo' then 'month'\n when 'a' then 'year'\n else unit\n end"
},
{
"url" : "displaySequence",
"valueInteger" : 35
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToConcept"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.\n*/\ndefine function ToConcept(concept FHIR.CodeableConcept):\n if concept is null then\n null\n else\n System.Concept {\n codes: concept.coding C return ToCode(C),\n display: concept.text.value\n }"
},
{
"url" : "displaySequence",
"valueInteger" : 36
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToCode"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Converts the given FHIR [Coding](https://hl7.org/fhir/datatypes.html#Coding) value to a CQL Code.\n*/\ndefine function ToCode(coding FHIR.Coding):\n if coding is null then\n null\n else\n System.Code {\n code: coding.code.value,\n system: coding.system.value,\n version: coding.version.value,\n display: coding.display.value\n }"
},
{
"url" : "displaySequence",
"valueInteger" : 37
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value string): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 38
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "MATGlobalCommonFunctions"
},
{
"url" : "name",
"valueString" : "CalendarAgeInYearsAt"
},
{
"url" : "statement",
"valueString" : "define function \"CalendarAgeInYearsAt\"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)"
},
{
"url" : "displaySequence",
"valueInteger" : 39
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "MATGlobalCommonFunctions"
},
{
"url" : "name",
"valueString" : "ToDate"
},
{
"url" : "statement",
"valueString" : "define function \"ToDate\"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezoneoffset from Value)"
},
{
"url" : "displaySequence",
"valueInteger" : 40
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToDate"
},
{
"url" : "statement",
"valueString" : "define function ToDate(value date): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 41
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value uri): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 42
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "MATGlobalCommonFunctions"
},
{
"url" : "name",
"valueString" : "Prevalence Period"
},
{
"url" : "statement",
"valueString" : "define function \"Prevalence Period\"(condition Condition):\n Interval[start of \"Normalize Interval\"(condition.onset), end of \"Normalize Abatement\"(condition))"
},
{
"url" : "displaySequence",
"valueInteger" : 43
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "MATGlobalCommonFunctions"
},
{
"url" : "name",
"valueString" : "Normalize Interval"
},
{
"url" : "statement",
"valueString" : "/*\n*\n* CQFMeasures Common Logic\n*\n*/\n\ndefine function \"Normalize Interval\"(choice Choice<FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instant, FHIR.string, FHIR.Age, FHIR.Range>):\n case\n\t when choice is FHIR.dateTime then\n \tInterval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\t\twhen choice is FHIR.Period then\n \t\tFHIRHelpers.ToInterval(choice as FHIR.Period)\n\t\twhen choice is FHIR.instant then\n\t\t\tInterval[FHIRHelpers.ToDateTime(choice as FHIR.instant), FHIRHelpers.ToDateTime(choice as FHIR.instant)]\n\t\twhen choice is FHIR.Age then\n\t\t Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(choice as FHIR.Age),\n\t\t\t FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(choice as FHIR.Age) + 1 year)\n\t\twhen choice is FHIR.Range then\n\t\t Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).low),\n\t\t\t FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).high) + 1 year)\n\t\twhen choice is FHIR.Timing then\n\t\t Message(null as Interval<DateTime>, true, '1', 'Error', 'Cannot compute a single interval from a Timing type')\n when choice is FHIR.string then\n Message(null as Interval<DateTime>, true, '1', 'Error', 'Cannot compute an interval from a String value')\n\t\telse\n\t\t\tnull as Interval<DateTime>\n\tend"
},
{
"url" : "displaySequence",
"valueInteger" : 44
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "MATGlobalCommonFunctions"
},
{
"url" : "name",
"valueString" : "Normalize Abatement"
},
{
"url" : "statement",
"valueString" : "define function \"Normalize Abatement\"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.string then\n Message(null as Interval<DateTime>, true, '1', 'Error', 'Cannot compute an interval from a String value')\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.Range then\n\t Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((condition.abatement as FHIR.Range).low),\n\t\t FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((condition.abatement as FHIR.Range).high) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t Interval[end of \"Normalize Interval\"(condition.onset), condition.recordedDate)\n\telse null"
},
{
"url" : "displaySequence",
"valueInteger" : 45
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "Not Done"
},
{
"url" : "statement",
"valueString" : "define function \"Not Done\"(res DomainResource ):\n if ( res R\n where ( \"GetModiferExtension\"(R, 'http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-notDone').value = true )\n ) is not null then true\n else false"
},
{
"url" : "displaySequence",
"valueInteger" : 46
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToBoolean"
},
{
"url" : "statement",
"valueString" : "define function ToBoolean(value boolean): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 47
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "GetModiferExtension"
},
{
"url" : "statement",
"valueString" : "define function \"GetModiferExtension\"(res DomainResource, url String ):\n singleton from \"GetModifierExtensions\"(res, url)"
},
{
"url" : "displaySequence",
"valueInteger" : 48
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HBPComponent"
},
{
"url" : "name",
"valueString" : "GetModifierExtensions"
},
{
"url" : "statement",
"valueString" : "define function \"GetModifierExtensions\"(res DomainResource, url String ):\n res.modifierExtension E\n where E.url = ( url )\n return E"
},
{
"url" : "displaySequence",
"valueInteger" : 49
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value ObservationStatus): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 50
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
}
],
"name" : "EffectiveDataRequirements",
"status" : "active",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "module-definition"
}
]
},
"relatedArtifact" : [
{
"type" : "depends-on",
"display" : "FHIR model information",
"resource" : "http://hl7.org/fhir/uv/cql/Library/FHIR-ModelInfo|4.0.1"
},
{
"type" : "depends-on",
"display" : "Library SDE",
"resource" : "http://hl7.org/fhir/uv/cqm/Library/SupplementalDataElements|2.0.000"
},
{
"type" : "depends-on",
"display" : "Library FHIRHelpers",
"resource" : "http://hl7.org/fhir/uv/cql/Library/FHIRHelpers|4.0.1"
},
{
"type" : "depends-on",
"display" : "Library Global",
"resource" : "http://hl7.org/fhir/uv/cqm/Library/MATGlobalCommonFunctions|5.0.000"
},
{
"type" : "depends-on",
"display" : "Code system LOINC",
"resource" : "http://loinc.org"
},
{
"type" : "depends-on",
"display" : "Value set Encounter to Screen for Blood Pressure",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1920"
},
{
"type" : "depends-on",
"display" : "Value set Lifestyle Recommendation",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1581"
},
{
"type" : "depends-on",
"display" : "Value set Weight Reduction Recommended",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1510"
},
{
"type" : "depends-on",
"display" : "Value set Dietary Recommendations",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1515"
},
{
"type" : "depends-on",
"display" : "Value set Recommendation to Increase Physical Activity",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1518"
},
{
"type" : "depends-on",
"display" : "Value set Referral or Counseling for Alcohol Consumption",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1583"
},
{
"type" : "depends-on",
"display" : "Value set Follow Up Within One Year",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1579"
},
{
"type" : "depends-on",
"display" : "Value set Referral to Primary Care or Alternate Provider",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1580"
},
{
"type" : "depends-on",
"display" : "Value set Finding of Elevated Blood Pressure or Hypertension",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1047.514"
},
{
"type" : "depends-on",
"display" : "Value set Follow Up Within 4 Weeks",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1578"
},
{
"type" : "depends-on",
"display" : "Value set Laboratory Tests for Hypertension",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1482"
},
{
"type" : "depends-on",
"display" : "Value set Pharmacologic Therapy for Hypertension",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.1577"
},
{
"type" : "depends-on",
"display" : "Value set Payer",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591"
},
{
"type" : "depends-on",
"display" : "Value set Diagnosis of Hypertension",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.263"
},
{
"type" : "depends-on",
"display" : "Value set Medical Reason",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1007"
},
{
"type" : "depends-on",
"display" : "Value set Patient Declined",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1582"
}
],
"parameter" : [
{
"name" : "Measurement Period",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "Period"
},
{
"name" : "SDE Sex",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Coding"
},
{
"name" : "Numerator",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Encounter"
},
{
"name" : "Denominator",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Encounter"
},
{
"name" : "SDE Payer",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Resource"
},
{
"name" : "Initial Population",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Encounter"
},
{
"name" : "SDE Ethnicity",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Coding"
},
{
"name" : "Denominator Exclusions",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Encounter"
},
{
"name" : "SDE Race",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Coding"
},
{
"name" : "Denominator Exceptions",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Encounter"
}
],
"dataRequirement" : [
{
"type" : "Patient",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Patient"
],
"mustSupport" : [
"birthDate",
"url",
"extension",
"value"
]
},
{
"type" : "Encounter",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Encounter"
],
"mustSupport" : [
"type",
"period"
],
"codeFilter" : [
{
"path" : "type",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1920"
}
]
},
{
"type" : "Observation",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Observation"
],
"mustSupport" : [
"code",
"effective",
"status",
"value"
],
"codeFilter" : [
{
"path" : "code",
"code" : [
{
"system" : "http://loinc.org",
"code" : "8480-6",
"display" : "Systolic blood pressure"
}
]
}
]
},
{
"type" : "Observation",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Observation"
],
"mustSupport" : [
"code",
"effective",
"status",
"value"
],
"codeFilter" : [
{
"path" : "code",
"code" : [
{
"system" : "http://loinc.org",
"code" : "8462-4",
"display" : "Diastolic blood pressure"
}
]
}
]
},
{
"type" : "ServiceRequest",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/ServiceRequest"
],
"mustSupport" : [
"code",
"authoredOn"
],
"codeFilter" : [
{
"path" : "code",
"code" : [
{
"system" : "http://loinc.org",
"code" : "34534-8",
"display" : "12 lead EKG panel"
}
]
}
]
},
{
"type" : "ServiceRequest",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/ServiceRequest"
],
"mustSupport" : [
"code",
"authoredOn"
],
"codeFilter" : [
{
"path" : "code",
"code" : [
{
"system" : "http://loinc.org",
"code" : "11524-6",
"display" : "EKG study"
}
]
}
]
},
{
"type" : "ServiceRequest",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/ServiceRequest"
],
"mustSupport" : [
"code",
"authoredOn"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1579"
}
]
},
{
"type" : "ServiceRequest",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/ServiceRequest"
],
"mustSupport" : [
"code",
"authoredOn"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1578"
}
]
},
{
"type" : "ServiceRequest",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/ServiceRequest"
],
"mustSupport" : [
"code",
"authoredOn",
"reasonCode"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1580"
}
]
},
{
"type" : "ServiceRequest",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/ServiceRequest"
],
"mustSupport" : [
"code",
"authoredOn"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1581"
}
]
},
{
"type" : "ServiceRequest",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/ServiceRequest"
],
"mustSupport" : [
"code",
"authoredOn"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1510"
}
]
},
{
"type" : "ServiceRequest",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/ServiceRequest"
],
"mustSupport" : [
"code",
"authoredOn"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1515"
}
]
},
{
"type" : "ServiceRequest",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/ServiceRequest"
],
"mustSupport" : [
"code",
"authoredOn"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1518"
}
]
},
{
"type" : "ServiceRequest",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/ServiceRequest"
],
"mustSupport" : [
"code",
"authoredOn"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1583"
}
]
},
{
"type" : "ServiceRequest",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/ServiceRequest"
],
"mustSupport" : [
"code",
"authoredOn"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1482"
}
]
},
{
"type" : "MedicationRequest",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
],
"mustSupport" : [
"medication",
"authoredOn"
],
"codeFilter" : [
{
"path" : "medication",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.1577"
}
]
},
{
"type" : "MedicationRequest",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
],
"mustSupport" : [
"medication.reference",
"authoredOn"
]
},
{
"type" : "Medication",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Medication"
],
"mustSupport" : [
"id",
"code"
]
},
{
"type" : "Coverage",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Coverage"
],
"mustSupport" : [
"type",
"period"
],
"codeFilter" : [
{
"path" : "type",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591"
}
]
},
{
"type" : "Condition",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Condition"
],
"mustSupport" : [
"code"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.263"
}
]
}
]
}
],
"extension" : [
{
"url" : "http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-populationBasis",
"valueCode" : "Encounter"
},
{
"url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-softwaresystem",
"valueReference" : {
🔗 "reference" : "Device/software-system-example"
}
},
{
"extension" : [
{
"url" : "usage",
"valueCodeableConcept" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-data-usage",
"code" : "supplemental-data"
}
]
}
},
{
"url" : "guidance",
"valueMarkdown" : "This guidance provides instructions on how to collect and report supplemental data elements for this measure."
}
],
"url" : "http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-supplementalDataGuidance"
},
{
"url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements",
"valueCanonical" : "#effective-data-requirements"
}
],
"url" : "http://hl7.org/fhir/uv/cqm/Measure/HBPComponent",
"identifier" : [
{
"use" : "official",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/artifact-identifier-type",
"code" : "version-independent",
"display" : "Version Independent"
}
]
},
"system" : "urn:ietf:rfc:3986",
"value" : "http://example.org/fhir/us/cqm/Measure/HBPComponent"
},
{
"use" : "official",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/artifact-identifier-type",
"code" : "version-specific",
"display" : "Version Specific"
}
]
},
"system" : "urn:ietf:rfc:3986",
"value" : "http://example.org/fhir/us/cqm/Measure/22v11"
},
{
"use" : "usual",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/artifact-identifier-type",
"code" : "short-name",
"display" : "Short Name"
}
]
},
"value" : "High Blood Pressure Screening"
},
{
"system" : "urn:ietf:rfc:3986",
"value" : "urn:oid:2.16.840.1.113883.4.642.40.61.29.11"
}
],
"version" : "0.0.001",
"name" : "HBPComponent",
"title" : "Preventive Care and Screening: Screening for High Blood Pressure and Follow-Up Documented",
"status" : "active",
"experimental" : true,
"date" : "2025-08-13T17:14:51-06:00",
"publisher" : "HL7 International / Clinical Quality Information",
"contact" : [
{
"telecom" : [
{
"system" : "url",
"value" : "http://www.hl7.org/Special/committees/cqi"
}
]
}
],
"description" : "This is an example only.",
"useContext" : [
{
"code" : {
"system" : "http://terminology.hl7.org/CodeSystem/usage-context-type",
"code" : "venue",
"display" : "Clinical Venue"
},
"valueCodeableConcept" : {
"coding" : [
{
"system" : "http://hl7.org/fhir/uv/cqm/CodeSystem/intended-venue-codes",
"code" : "ec",
"display" : "EC"
}
]
}
}
],
"jurisdiction" : [
{
"coding" : [
{
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code" : "001"
}
]
}
],
"effectivePeriod" : {
"start" : "2022-01-01",
"end" : "2022-12-31"
},
"library" : [
🔗 "http://hl7.org/fhir/uv/cqm/Library/HBPComponent"
],
"scoring" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-scoring",
"code" : "proportion",
"display" : "Proportion"
}
]
},
"type" : [
{
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-type",
"code" : "process"
}
]
}
],
"improvementNotation" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-improvement-notation",
"code" : "increase"
}
]
},
"group" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.linkId",
"valueString" : "primary"
}
],
"population" : [
{
"id" : "53248B01-E1CF-4C67-AE39-8483F8114CAE",
"extension" : [
{
"url" : "http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.population.linkId",
"valueString" : "primary-hbpcomponent-initial-population"
}
],
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "initial-population",
"display" : "Initial Population"
}
]
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Initial Population"
}
},
{
"id" : "9D2AB719-A4D5-41D3-8785-7DBE8CA10FD3",
"extension" : [
{
"url" : "http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.population.linkId",
"valueString" : "primary-hbpcomponent-denominator"
}
],
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "denominator",
"display" : "Denominator"
}
]
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Denominator"
}
},
{
"id" : "165DEA75-8DF1-4F2C-9F8A-BBEE1A02A5D6",
"extension" : [
{
"url" : "http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.population.linkId",
"valueString" : "primary-hbpcomponent-denominator-exclusion"
}
],
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "denominator-exclusion",
"display" : "Denominator Exclusion"
}
]
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Denominator Exclusions"
}
},
{
"id" : "BF70F2AC-568C-4587-AF54-E4F54E6FCC83",
"extension" : [
{
"url" : "http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.population.linkId",
"valueString" : "primary-hbpcomponent-denominator-exception"
}
],
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "denominator-exception",
"display" : "Denominator Exception"
}
]
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Denominator Exceptions"
}
},
{
"id" : "7B0319A6-913B-4F39-8D3C-04FA0A6B5C3A",
"extension" : [
{
"url" : "http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.group.population.linkId",
"valueString" : "primary-hbpcomponent-numerator"
}
],
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "numerator",
"display" : "Numerator"
}
]
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Numerator"
}
}
]
}
],
"supplementalData" : [
{
"id" : "cd02ebb6-a0bf-4196-90f9-80f2a8a79bbf",
"extension" : [
{
"url" : "http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.supplementalData.linkId",
"valueString" : "hbpcomponent-sde-ethnicity"
}
],
"usage" : [
{
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-data-usage",
"code" : "supplemental-data"
}
]
}
],
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "SDE Ethnicity"
}
},
{
"id" : "a67a3fc7-cedd-4d78-b7b0-4718fa7f3e2b",
"extension" : [
{
"url" : "http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.supplementalData.linkId",
"valueString" : "hbpcomponent-sde-payer"
}
],
"usage" : [
{
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-data-usage",
"code" : "supplemental-data"
}
]
}
],
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "SDE Payer"
}
},
{
"id" : "3dc8840d-cc30-44af-a233-3b2b6c602060",
"extension" : [
{
"url" : "http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.supplementalData.linkId",
"valueString" : "hbpcomponent-sde-race"
}
],
"usage" : [
{
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-data-usage",
"code" : "supplemental-data"
}
]
}
],
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "SDE Race"
}
},
{
"id" : "5a4e95aa-f8b3-400f-89b3-02555a361251",
"extension" : [
{
"url" : "http://hl7.org/fhir/5.0/StructureDefinition/extension-Measure.supplementalData.linkId",
"valueString" : "ccscomponent-sde-sex"
}
],
"usage" : [
{
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-data-usage",
"code" : "supplemental-data"
}
]
}
],
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "SDE Sex"
}
}
]
}