Atrius India Core FHIR Implementation Guide
0.1.0 - ci-build
Atrius India Core FHIR Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Draft as of 2026-09-21 |
<Measure xmlns="http://hl7.org/fhir">
<id value="AtriusCMS122DiabetesAssessGT9Pct"/>
<meta>
<profile
value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablemeasure|2.0.0"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/computable-measure-cqfm|4.0.0"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/publishable-measure-cqfm|4.0.0"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/executable-measure-cqfm|4.0.0"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cql-measure-cqfm|4.0.0"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/elm-measure-cqfm|4.0.0"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm|4.0.0"/>
</meta>
<language value="en"/>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<table class="narrative-table">
<tbody>
<tr>
<th colspan="2" scope="row" class="row-header">Metadata</th>
</tr>
<tr>
<th scope="row" class="row-header">Title</th>
<td class="content-container">Diabetes: HbA1c Poor Control >9% (Atrius CMS122)</td>
</tr>
<tr>
<th scope="row" class="row-header">Version</th>
<td class="content-container">0.1.0</td>
</tr>
<tr>
<th scope="row" class="row-header">Short Name</th>
<td class="content-container">CMS122</td>
</tr>
<tr>
<th scope="row" class="row-header">GUID (Version Independent)</th>
<td class="content-container">urn:uuid:babcc365-49df-5b17-988c-656c11cde8f9</td>
</tr>
<tr>
<th scope="row" class="row-header">GUID (Version Specific)</th>
<td class="content-container">urn:uuid:655fe76d-924c-5ad6-8be8-a4b15f90990b</td>
</tr>
<tr>
<th scope="row" class="row-header">Identifier</th>
<td class="content-container">AtriusCMS122DiabetesAssessGT9Pct</td>
</tr>
<tr>
<th scope="row" class="row-header">Identifier</th>
<td class="content-container">urn:oid:1.3.6.1.4.1.66219.1.29.3</td>
</tr>
<tr>
<th scope="row" class="row-header">Status</th>
<td class="content-container">Draft</td>
</tr>
<tr>
<th scope="row" class="row-header">Experimental</th>
<td class="content-container">true</td>
</tr>
<tr>
<th scope="row" class="row-header">Steward (Publisher)</th>
<td class="content-container">Atrius</td>
</tr>
<tr>
<th scope="row" class="row-header">Steward Contact</th>
<td class="content-container">Atrius</td>
</tr>
<tr>
<th scope="row" class="row-header">Description</th>
<td class="content-container"><div><p>Proportion measure: adults 18–75 with diabetes and a qualifying outpatient encounter whose most recent glycemic status is >9%, missing, or unresulted. CMS labels this intermediate-outcome; THO measure-type 3.0.1 has no such code, so type is outcome. Improvement is decrease.</p>
</div></td>
</tr>
<tr>
<th scope="row" class="row-header">Measure Basis</th>
<td class="content-container">boolean</td>
</tr>
<tr>
<th scope="row" class="row-header">Measure Scoring</th>
<td class="content-container">
proportion from <a href="http://terminology.hl7.org/7.2.0/CodeSystem-measure-scoring.html">http://terminology.hl7.org/CodeSystem/measure-scoring</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Improvement Notation</th>
<td class="content-container">
decrease from <a href="http://terminology.hl7.org/7.2.0/CodeSystem-measure-improvement-notation.html">http://terminology.hl7.org/CodeSystem/measure-improvement-notation</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Measure Type</th>
<td class="content-container">
outcome from <a href="http://terminology.hl7.org/7.2.0/CodeSystem-measure-type.html">http://terminology.hl7.org/CodeSystem/measure-type</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Atrius CMS122 CQL Library
<br/>
<em>Resource</em>: <a href="Library-AtriusCMS122DiabetesAssessGT9Pct.html">Atrius CMS122 Diabetes HbA1c Poor Control CQL</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/Library/AtriusCMS122DiabetesAssessGT9Pct|0.1.0</tt>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header">Measure Group (Rate) (ID: group-1)</th>
</tr>
<tr>
<th scope="row" class="row-header"/>
<td class="content-container"><div><p>SDE Sex uses Patient.gender mapped to the same SNOMED Male/Female findings as CMS. SDE Payer uses AtriusIn coverage payer type (PM-JAY, ESIS, private, public, self-pay). SDE Residence (state/district) and SDE Urban Rural replace US Core race and ethnicity and are not US-comparable. Direct CPT/HCPCS nutrition-therapy encounter codes are omitted; Nutrition Services ValueSet carries that intent.</p>
</div></td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header">Measure Logic</th>
</tr>
<tr>
<th scope="row" class="row-header">Primary Library</th>
<td class="content-container"><a href="Library-AtriusCMS122DiabetesAssessGT9Pct.html">Atrius CMS122 Diabetes HbA1c Poor Control CQL</a> version: 0.1.0</td>
</tr>
<tr>
<th scope="row" class="row-header">Contents</th>
<td class="content-container">
<em><a href="#population-criteria">Population Criteria</a></em>
<br/>
<em><a href="#definitions">Logic Definitions</a></em>
<br/>
<em><a href="#terminology">Terminology</a></em>
<br/>
<em><a href="#dependencies">Dependencies</a></em>
<br/>
<em><a href="#data-requirements">Data Requirements</a></em>
<br/>
<em><a href="#parameters">Parameters</a></em>
<br/>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header"><a name="population-criteria"> </a>Population Criteria</th>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header">Measure Group (Rate) (ID: group-1)</th>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header"><a name="definitions"> </a>Logic Definitions</th>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusHospice</td>
</tr>
<tr>
<td>
<a name="atriushospice-has-hospice-services"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Has Hospice Services":
exists ( ( ( [Encounter: "Encounter Inpatient"] ).isEncounterPerformed() ) InpatientEncounter
where FHIRHelpers.ToConcept(InpatientEncounter.hospitalization.dischargeDisposition) ~ "Hospice (HL7 discharge)"
and FHIRHelpers.ToInterval(InpatientEncounter.period as FHIR.Period) ends during day of "Measurement Period"
)
or exists ( ( ( [Encounter: "Hospice Encounter"] ).isEncounterPerformed() ) HospiceEncounter
where FHIRHelpers.ToInterval(HospiceEncounter.period as FHIR.Period) overlaps day of "Measurement Period"
)
or exists ( ( ( [ObservationGeneralAssessment: "Hospice care [Minimum Data Set]"] ).isAssessmentPerformed() ) HospiceAssessment
where FHIRHelpers.ToConcept(HospiceAssessment.value as FHIR.CodeableConcept) ~ "Yes (qualifier value)"
and HospiceAssessment.effective.toObservationEffectiveInterval() overlaps day of "Measurement Period"
)
or exists ( ( ( [ServiceRequest: "Hospice Care Ambulatory"] ).isInterventionOrder() ) HospiceOrder
where FHIRHelpers.ToDateTime(HospiceOrder.authoredOn) during day of "Measurement Period"
)
or exists ( ( ( [Procedure: "Hospice Care Ambulatory"] ).isInterventionPerformed() ) HospicePerformed
where HospicePerformed.performed.toPerformedInterval() overlaps day of "Measurement Period"
)
or exists ( ( (
[ConditionProblemsHealthConcerns: "Hospice Diagnosis"]
union [ConditionEncounterDiagnosis: "Hospice Diagnosis"]
).verified() ) HospiceCareDiagnosis
where HospiceCareDiagnosis.prevalenceInterval() overlaps day of "Measurement Period"
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusAdvancedIllnessAndFrailty</td>
</tr>
<tr>
<td>
<a name="atriusadvancedillnessandfrailty-is-age-66-or-older-living-long-term-in-a-nursing-home"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Is Age 66 or Older Living Long Term in a Nursing Home":
AgeInYearsAt(date from end of "Measurement Period") >= 66
and (
(
Last(
[Observation: "Housing status"] HousingStatus
where HousingStatus.status in { 'final', 'amended', 'corrected' }
and end of HousingStatus.observationEffectiveInterval() on or before day of end of "Measurement Period"
sort by end of observationEffectiveInterval() asc
)
) LastHousingStatus
where LastHousingStatus.value is FHIR.CodeableConcept
and FHIRHelpers.ToConcept(LastHousingStatus.value as FHIR.CodeableConcept) ~ "Lives in nursing home (finding)"
) is not null</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusAdvancedIllnessAndFrailty</td>
</tr>
<tr>
<td>
<a name="atriusadvancedillnessandfrailty-has-frailty-device-order"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Has Frailty Device Order":
exists (
[DeviceRequest: "Frailty Device"] FrailtyDeviceOrder
where FrailtyDeviceOrder.status in { 'active', 'completed' }
and FrailtyDeviceOrder.intent in {
'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order'
}
and Interval[
FHIRHelpers.ToDateTime(FrailtyDeviceOrder.authoredOn),
FHIRHelpers.ToDateTime(FrailtyDeviceOrder.authoredOn)
] during day of "Measurement Period"
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusAdvancedIllnessAndFrailty</td>
</tr>
<tr>
<td>
<a name="atriusadvancedillnessandfrailty-has-frailty-equipment-observation"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Has Frailty Equipment Observation":
exists (
[Observation: "Medical equipment used"] EquipmentUsed
where EquipmentUsed.status in { 'final', 'amended', 'corrected' }
and EquipmentUsed.value is FHIR.CodeableConcept
and FHIRHelpers.ToConcept(EquipmentUsed.value as FHIR.CodeableConcept) in "Frailty Device"
and end of EquipmentUsed.observationEffectiveInterval() during day of "Measurement Period"
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusAdvancedIllnessAndFrailty</td>
</tr>
<tr>
<td>
<a name="atriusadvancedillnessandfrailty-has-frailty-diagnosis"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Has Frailty Diagnosis":
exists (
[ConditionProblemsHealthConcerns: "Frailty Diagnosis"] FrailtyProblem
where (
FrailtyProblem.verificationStatus is null
or FHIRHelpers.ToConcept(FrailtyProblem.verificationStatus) ~ "confirmed"
or FHIRHelpers.ToConcept(FrailtyProblem.verificationStatus) ~ "unconfirmed"
or FHIRHelpers.ToConcept(FrailtyProblem.verificationStatus) ~ "provisional"
or FHIRHelpers.ToConcept(FrailtyProblem.verificationStatus) ~ "differential"
)
and FrailtyProblem.prevalenceInterval() overlaps day of "Measurement Period"
)
or exists (
[ConditionEncounterDiagnosis: "Frailty Diagnosis"] FrailtyEncounterDiagnosis
where (
FrailtyEncounterDiagnosis.verificationStatus is null
or FHIRHelpers.ToConcept(FrailtyEncounterDiagnosis.verificationStatus) ~ "confirmed"
or FHIRHelpers.ToConcept(FrailtyEncounterDiagnosis.verificationStatus) ~ "unconfirmed"
or FHIRHelpers.ToConcept(FrailtyEncounterDiagnosis.verificationStatus) ~ "provisional"
or FHIRHelpers.ToConcept(FrailtyEncounterDiagnosis.verificationStatus) ~ "differential"
)
and FrailtyEncounterDiagnosis.prevalenceInterval() overlaps day of "Measurement Period"
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusAdvancedIllnessAndFrailty</td>
</tr>
<tr>
<td>
<a name="atriusadvancedillnessandfrailty-has-frailty-encounter"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Has Frailty Encounter":
exists (
[Encounter: "Frailty Encounter"] FrailtyEncounter
where FrailtyEncounter.status = 'finished'
and FHIRHelpers.ToInterval(FrailtyEncounter.period as FHIR.Period) overlaps day of "Measurement Period"
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusAdvancedIllnessAndFrailty</td>
</tr>
<tr>
<td>
<a name="atriusadvancedillnessandfrailty-has-frailty-symptom-observation"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Has Frailty Symptom Observation":
exists (
[Observation: "Frailty Symptom"] FrailtySymptom
where FrailtySymptom.status in { 'preliminary', 'final', 'amended', 'corrected' }
and FrailtySymptom.observationEffectiveInterval() overlaps day of "Measurement Period"
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusAdvancedIllnessAndFrailty</td>
</tr>
<tr>
<td>
<a name="atriusadvancedillnessandfrailty-has-criteria-indicating-frailty"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Has Criteria Indicating Frailty":
"Has Frailty Device Order"
or "Has Frailty Equipment Observation"
or "Has Frailty Diagnosis"
or "Has Frailty Encounter"
or "Has Frailty Symptom Observation"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusAdvancedIllnessAndFrailty</td>
</tr>
<tr>
<td>
<a name="atriusadvancedillnessandfrailty-has-advanced-illness-in-year-before-or-during-measurement-period"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Has Advanced Illness in Year Before or During Measurement Period":
exists (
[ConditionProblemsHealthConcerns: "Advanced Illness"] AdvancedIllnessProblem
where (
AdvancedIllnessProblem.verificationStatus is null
or FHIRHelpers.ToConcept(AdvancedIllnessProblem.verificationStatus) ~ "confirmed"
or FHIRHelpers.ToConcept(AdvancedIllnessProblem.verificationStatus) ~ "unconfirmed"
or FHIRHelpers.ToConcept(AdvancedIllnessProblem.verificationStatus) ~ "provisional"
or FHIRHelpers.ToConcept(AdvancedIllnessProblem.verificationStatus) ~ "differential"
)
and start of AdvancedIllnessProblem.prevalenceInterval() during day of Interval[
start of "Measurement Period" - 1 year,
end of "Measurement Period"
]
)
or exists (
[ConditionEncounterDiagnosis: "Advanced Illness"] AdvancedIllnessEncounterDiagnosis
where (
AdvancedIllnessEncounterDiagnosis.verificationStatus is null
or FHIRHelpers.ToConcept(AdvancedIllnessEncounterDiagnosis.verificationStatus) ~ "confirmed"
or FHIRHelpers.ToConcept(AdvancedIllnessEncounterDiagnosis.verificationStatus) ~ "unconfirmed"
or FHIRHelpers.ToConcept(AdvancedIllnessEncounterDiagnosis.verificationStatus) ~ "provisional"
or FHIRHelpers.ToConcept(AdvancedIllnessEncounterDiagnosis.verificationStatus) ~ "differential"
)
and start of AdvancedIllnessEncounterDiagnosis.prevalenceInterval() during day of Interval[
start of "Measurement Period" - 1 year,
end of "Measurement Period"
]
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusAdvancedIllnessAndFrailty</td>
</tr>
<tr>
<td>
<a name="atriusadvancedillnessandfrailty-has-dementia-medications-in-year-before-or-during-measurement-period"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Has Dementia Medications in Year Before or During Measurement Period":
exists (
[MedicationRequest: "Dementia Medications"] DementiaMedication
where DementiaMedication.status = 'active'
and DementiaMedication.intent in {
'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order'
}
and DementiaMedication.medicationRequestPeriod() overlaps day of Interval[
start of "Measurement Period" - 1 year,
end of "Measurement Period"
]
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusAdvancedIllnessAndFrailty</td>
</tr>
<tr>
<td>
<a name="atriusadvancedillnessandfrailty-is-age-66-or-older-with-advanced-illness-and-frailty"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Is Age 66 or Older with Advanced Illness and Frailty":
AgeInYearsAt(date from end of "Measurement Period") >= 66
and "Has Criteria Indicating Frailty"
and (
"Has Advanced Illness in Year Before or During Measurement Period"
or "Has Dementia Medications in Year Before or During Measurement Period"
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusPalliativeCare</td>
</tr>
<tr>
<td>
<a name="atriuspalliativecare-has-palliative-care-in-the-measurement-period"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Has Palliative Care in the Measurement Period":
exists (
[ObservationGeneralAssessment: "Functional Assessment of Chronic Illness Therapy - Palliative Care Questionnaire (FACIT-Pal)"] PalliativeAssessment
where PalliativeAssessment.status in { 'final', 'amended', 'corrected' }
and PalliativeAssessment.effective.toObservationEffectiveInterval() overlaps day of "Measurement Period"
)
or exists (
[ConditionProblemsHealthConcerns: "Palliative Care Diagnosis"] PalliativeProblem
where (
PalliativeProblem.verificationStatus is null
or FHIRHelpers.ToConcept(PalliativeProblem.verificationStatus) ~ "confirmed"
or FHIRHelpers.ToConcept(PalliativeProblem.verificationStatus) ~ "unconfirmed"
or FHIRHelpers.ToConcept(PalliativeProblem.verificationStatus) ~ "provisional"
or FHIRHelpers.ToConcept(PalliativeProblem.verificationStatus) ~ "differential"
)
and PalliativeProblem.prevalenceInterval() overlaps day of "Measurement Period"
)
or exists (
[ConditionEncounterDiagnosis: "Palliative Care Diagnosis"] PalliativeEncounterDiagnosis
where (
PalliativeEncounterDiagnosis.verificationStatus is null
or FHIRHelpers.ToConcept(PalliativeEncounterDiagnosis.verificationStatus) ~ "confirmed"
or FHIRHelpers.ToConcept(PalliativeEncounterDiagnosis.verificationStatus) ~ "unconfirmed"
or FHIRHelpers.ToConcept(PalliativeEncounterDiagnosis.verificationStatus) ~ "provisional"
or FHIRHelpers.ToConcept(PalliativeEncounterDiagnosis.verificationStatus) ~ "differential"
)
and PalliativeEncounterDiagnosis.prevalenceInterval() overlaps day of "Measurement Period"
)
or exists (
[Encounter: "Palliative Care Encounter"] PalliativeEncounter
where PalliativeEncounter.status = 'finished'
and FHIRHelpers.ToInterval(PalliativeEncounter.period as FHIR.Period) overlaps day of "Measurement Period"
)
or exists (
[Procedure: "Palliative Care Intervention"] PalliativeIntervention
where PalliativeIntervention.status = 'completed'
and PalliativeIntervention.performed.toPerformedInterval() overlaps day of "Measurement Period"
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCMS122DiabetesAssessGT9Pct</td>
</tr>
<tr>
<td>
<a name="atriuscms122diabetesassessgt9pct-glycemic-status-assessment"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Glycemic Status Assessment":
( [Observation: "HbA1c Laboratory Test"]
union [Observation: "Glucose management indicator"]
) GlycemicStatus
where GlycemicStatus.status in { 'final', 'amended', 'corrected' }
and GlycemicStatus.effective.toObservationEffectiveInterval ( ) during day of "Measurement Period"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCMS122DiabetesAssessGT9Pct</td>
</tr>
<tr>
<td>
<a name="atriuscms122diabetesassessgt9pct-most-recent-glycemic-status-date"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Most Recent Glycemic Status Date":
Last(("Glycemic Status Assessment" QualifyingGlycemicStatus
return date from end of QualifyingGlycemicStatus.effective.toObservationEffectiveInterval ( )) QualifyingGlycemicStatus
sort asc
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCMS122DiabetesAssessGT9Pct</td>
</tr>
<tr>
<td>
<a name="atriuscms122diabetesassessgt9pct-lowest-glycemic-status-assessment-reading-on-most-recent-day"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Lowest Glycemic Status Assessment Reading on Most Recent Day":
First("Glycemic Status Assessment" QualifyingGlycemicStatus
where end of QualifyingGlycemicStatus.effective.toObservationEffectiveInterval ( ) same day as "Most Recent Glycemic Status Date"
return {
QualifyingGlycemicStatusValue: QualifyingGlycemicStatus.value as Quantity,
QualifyingGlycemicStatus: QualifyingGlycemicStatus
}
sort by QualifyingGlycemicStatusValue
).QualifyingGlycemicStatus</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCMS122DiabetesAssessGT9Pct</td>
</tr>
<tr>
<td>
<a name="atriuscms122diabetesassessgt9pct-has-most-recent-glycemic-status-assessment-without-result"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Has Most Recent Glycemic Status Assessment Without Result":
"Lowest Glycemic Status Assessment Reading on Most Recent Day" is not null
and "Lowest Glycemic Status Assessment Reading on Most Recent Day".value is null</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCMS122DiabetesAssessGT9Pct</td>
</tr>
<tr>
<td>
<a name="atriuscms122diabetesassessgt9pct-has-most-recent-elevated-glycemic-status-assessment"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Has Most Recent Elevated Glycemic Status Assessment":
"Lowest Glycemic Status Assessment Reading on Most Recent Day".value > 9 '%'</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCMS122DiabetesAssessGT9Pct</td>
</tr>
<tr>
<td>
<a name="atriuscms122diabetesassessgt9pct-has-no-record-of-glycemic-status-assessment"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Has No Record Of Glycemic Status Assessment":
not exists "Glycemic Status Assessment"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCMS122DiabetesAssessGT9Pct</td>
</tr>
<tr>
<td>
<a name="atriuscms122diabetesassessgt9pct-numerator"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Numerator":
"Has Most Recent Glycemic Status Assessment Without Result"
or "Has Most Recent Elevated Glycemic Status Assessment"
or "Has No Record Of Glycemic Status Assessment"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCMS122DiabetesAssessGT9Pct</td>
</tr>
<tr>
<td>
<a name="atriuscms122diabetesassessgt9pct-qualifying-encounters"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Qualifying Encounters":
( ( [Encounter: "Office Visit"]
union [Encounter: "Annual Wellness Visit"]
union [Encounter: "Preventive Care Services Established Office Visit, 18 and Up"]
union [Encounter: "Preventive Care Services Initial Office Visit, 18 and Up"]
union [Encounter: "Home Healthcare Services"]
union [Encounter: "Nutrition Services"]
union [Encounter: "Telephone Visits"]
).isEncounterPerformed ( ) ) ValidEncounters
where ValidEncounters.period during day of "Measurement Period"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCMS122DiabetesAssessGT9Pct</td>
</tr>
<tr>
<td>
<a name="atriuscms122diabetesassessgt9pct-initial-population"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Initial Population":
AgeInYearsAt(date from
end of "Measurement Period"
) in Interval[18, 75]
and exists "Qualifying Encounters"
and exists ( ( ( [ConditionEncounterDiagnosis: "Diabetes"] ).verified ( ) ) DiabetesDiagnosis
where DiabetesDiagnosis.prevalenceInterval ( ) overlaps day of "Measurement Period"
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCMS122DiabetesAssessGT9Pct</td>
</tr>
<tr>
<td>
<a name="atriuscms122diabetesassessgt9pct-denominator"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Denominator":
"Initial Population"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCMS122DiabetesAssessGT9Pct</td>
</tr>
<tr>
<td>
<a name="atriuscms122diabetesassessgt9pct-denominator-exclusions"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Denominator Exclusions":
Hospice."Has Hospice Services"
or AIFrailLTCF."Is Age 66 or Older Living Long Term in a Nursing Home"
or AIFrailLTCF."Is Age 66 or Older with Advanced Illness and Frailty"
or PalliativeCare."Has Palliative Care in the Measurement Period"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusStatus</td>
</tr>
<tr>
<td>
<a name="atriusstatus-isencounterperformed"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define fluent function isEncounterPerformed(Enc List<Encounter>):
Enc E
where E.status = 'finished'</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusStatus</td>
</tr>
<tr>
<td>
<a name="atriusstatus-verified"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define fluent function verified(
conditions List<Choice<ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns>>
):
conditions C
where C.verificationStatus is not null implies (
FHIRHelpers.ToConcept(C.verificationStatus) ~ "confirmed"
or FHIRHelpers.ToConcept(C.verificationStatus) ~ "unconfirmed"
or FHIRHelpers.ToConcept(C.verificationStatus) ~ "provisional"
or FHIRHelpers.ToConcept(C.verificationStatus) ~ "differential"
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusStatus</td>
</tr>
<tr>
<td>
<a name="atriusstatus-isassessmentperformed"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define fluent function isAssessmentPerformed(Obs List<Observation>):
Obs O
where O.status in { 'final', 'amended', 'corrected' }</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusStatus</td>
</tr>
<tr>
<td>
<a name="atriusstatus-isinterventionorder"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define fluent function isInterventionOrder(ServiceRequest List<ServiceRequest>):
ServiceRequest S
where S.status in { 'active', 'completed' }
and S.intent in {
'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order'
}</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusStatus</td>
</tr>
<tr>
<td>
<a name="atriusstatus-isinterventionperformed"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define fluent function isInterventionPerformed(Proc List<Procedure>):
Proc P
where P.status = 'completed'</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tostring"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToString(value ObservationStatus): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-toquantity"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Converts the given FHIR [Quantity](https://hl7.org/fhir/datatypes.html#Quantity)
value to a CQL Quantity
@comment: If the given quantity has a comparator specified, a runtime error is raised. If the given quantity
has a system other than UCUM (i.e. `http://unitsofmeasure.org`) or CQL calendar units (i.e. `http://hl7.org/fhirpath/CodeSystem/calendar-units`)
an error is raised. For UCUM to calendar units, the `ToCalendarUnit` function is used.
@seealso: ToCalendarUnit
*/
define function ToQuantity(quantity FHIR.Quantity):
case
when quantity is null then null
when quantity.value is null then null
when quantity.comparator is not null then
Message(null, true, 'FHIRHelpers.ToQuantity.ComparatorQuantityNotSupported', 'Error', 'FHIR Quantity value has a comparator and cannot be converted to a System.Quantity value.')
when quantity.system is null or quantity.system.value = 'http://unitsofmeasure.org'
or quantity.system.value = 'http://hl7.org/fhirpath/CodeSystem/calendar-units' then
System.Quantity { value: quantity.value.value, unit: ToCalendarUnit(Coalesce(quantity.code.value, quantity.unit.value, '1')) }
else
Message(null, true, 'FHIRHelpers.ToQuantity.InvalidFHIRQuantity', 'Error', 'Invalid FHIR Quantity code: ' & quantity.unit.value & ' (' & quantity.system.value & '|' & quantity.code.value & ')')
end</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tocalendarunit"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Converts a UCUM definite duration unit to a CQL calendar duration
unit using conversions specified in the [quantities](https://cql.hl7.org/02-authorsguide.html#quantities)
topic of the CQL specification.
@comment: Note that for durations above days (or weeks), the conversion is understood to be approximate
*/
define function ToCalendarUnit(unit System.String):
case unit
when 'ms' then 'millisecond'
when 's' then 'second'
when 'min' then 'minute'
when 'h' then 'hour'
when 'd' then 'day'
when 'wk' then 'week'
when 'mo' then 'month'
when 'a' then 'year'
else unit
end</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tostring"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToString(value EncounterStatus): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tointerval"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Converts the given [Period](https://hl7.org/fhir/datatypes.html#Period)
value to a CQL DateTime Interval
@comment: If the start value of the given period is unspecified, the starting
boundary of the resulting interval will be open (meaning the start of the interval
is unknown, as opposed to interpreted as the beginning of time).
*/
define function ToInterval(period FHIR.Period):
if period is null then
null
else
if period."start" is null then
Interval(period."start".value, period."end".value]
else
Interval[period."start".value, period."end".value]</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-toconcept"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.
*/
define function ToConcept(concept FHIR.CodeableConcept):
if concept is null then
null
else
System.Concept {
codes: concept.coding C return ToCode(C),
display: concept.text.value
}</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tocode"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Converts the given FHIR [Coding](https://hl7.org/fhir/datatypes.html#Coding) value to a CQL Code.
*/
define function ToCode(coding FHIR.Coding):
if coding is null then
null
else
System.Code {
code: coding.code.value,
system: coding.system.value,
version: coding.version.value,
display: coding.display.value
}</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tostring"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToString(value ServiceRequestStatus): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tostring"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToString(value ServiceRequestIntent): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-todatetime"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToDateTime(value dateTime): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tostring"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToString(value ProcedureStatus): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tostring"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToString(value DeviceRequestStatus): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tostring"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToString(value RequestIntent): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tostring"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToString(value string): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tostring"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToString(value MedicationRequestStatus): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tostring"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToString(value MedicationRequestIntent): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tostring"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToString(value UnitsOfTime): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCumulativeMedicationDuration</td>
</tr>
<tr>
<td>
<a name="atriuscumulativemedicationduration-medicationrequestperiod"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
Now that we have a ToDaily function, we can approach calculation of the
duration of medication for an order. First, consider the definitions
for each element:
* 1 and only 1 dosageInstruction
* 1 and only 1 doseAndRate
* 1 timing with 1 repeat
* frequency, frequencyMax, defaulting to 1
* period, periodUnit, defaulting to 1 'd'
* doseQuantity or doseRange
* timeOfDay
* authoredOn: The date the prescription was written
* dispenseRequest.validityPeriod: Time period supply is authorized for
* dispenseRequest.quantity: amount of medication supplied per dispense
* dispenseRequest.numberOfRepeatsAllowed: number of refills authorized
* dispenseRequest.expectedSupplyDuration: number of days supply per dispense
* dosageInstruction.timing.repeat.boundsDuration: total duration of the repeat
* dosageInstruction.timing.repeat.boundsRange: range of durations of the repeat
* dosageInstruction.timing.repeat.boundsPeriod: period bounds of the repeat
* dosageInstruction.timing.repeat.count: number of times to repeat
* dosageInstruction.timing.repeat.countMax: maximum number of times to repeat
* dosageInstruction.timing.repeat.frequency: event occurs frequency times per period
* dosageInstruction.timing.repeat.frequencyMax: event occurs up to frequencyMax times per period
* dosageInstruction.timing.repeat.period: event occurs frequency times per period
* dosageInstruction.timing.repeat.periodMax: upper limit of period
* dosageInstruction.timing.repeat.periodUnit: period duration (s | min | h | d | wk | mo | a)
* dosageInstruction.timing.repeat.timeOfDay: time of day for the event (0..*)
* dosageInstruction.timing.repeat.when: event timing (HS | WAKE | C | CM | CD | CV | AC | ACM...)
* dosageInstruction.timing.code: BID | TID | QID | AM | PM | QD | QOD...
* dosageInstruction.asNeeded
* dosageInstruction.doseAndRate.doseQuantity
* dosageInstruction.doseAndRate.doseRange
If expectedSupplyDuration is present, then the duration is
expectedSupplyDuration * (1 + numberOfRepeatsAllowed)
If expectedSupplyDuration is not present, then it must be calculated based on the quantity, dosage, and frequency:
(quantity / (dosage * frequency)) * (1 + numberOfRepeatsAllowed)
dosage: Coalesce(end of doseAndRate.doseRange, doseAndRate.doseQuantity)
frequency: Coalesce(frequencyMax, frequency)
period: Quantity(period, periodUnit)
If expectedSupplyDuration is not present and cannot be calculated, and the boundsPeriod is present (and completely specified), we can use that directly
dosage.timing.repeat.boundsPeriod
This calculation results in a number of days, which can then be turned into a period by anchoring that to the
start of the validityPeriod or the authoredOn:
Interval[earliestDispensable, earliestDispensable + expectedSupplyDuration - 1]
earliestDispensable: Coalesce(start of validityPeriod, authoredOn)
The following function illustrates this completely:
*/
/*
Calculates the Medication Period for a single MedicationRequest.
MedicationRequest instances provided to this function are expected
to conform to the [MMEMedicationRequest](http://build.fhir.org/ig/cqframework/opioid-mme-r4/StructureDefinition-mmemedicationrequest.html)
profile, which expects:
* 1 and only 1 dosageInstruction, multiple dosageInstruction elements will result in an error
* 1 and only 1 doseAndRate, multiple doseAndRate elements will result in an error
* 1 timing with 1 repeat, missing timing or repeat elements will result in a null
* frequency, frequencyMax, defaulting to 1
* period, periodUnit, defaulting to 1 'd'
* timeOfDay
* doseQuantity or doseRange, missing doseQuantity and doseRange will result in a null
Note that MedicationRequest status is not considered by this calculation, as the
list of MedicationRequest instances provided to this function should already have
considered appropriate statuses, depending on the use case, typically `completed`.
*/
define fluent function medicationRequestPeriod(sourceRequest "MedicationRequest"):
sourceRequest R
let
dosage: singleton from R.dosageInstruction,
doseAndRate: singleton from dosage.doseAndRate,
timing: dosage.timing,
frequency: Coalesce(timing.repeat.frequencyMax.value, timing.repeat.frequency.value, 1),
period: Quantity(
Coalesce(timing.repeat.period.value, 1.0),
Coalesce(timing.repeat.periodUnit, 'd')
),
doseChoice: doseAndRate.dose,
dose:
case
when doseChoice is FHIR.Range then FHIRHelpers.ToQuantity((doseChoice as FHIR.Range).high)
when doseChoice is FHIR.SimpleQuantity then FHIRHelpers.ToQuantity(doseChoice as FHIR.SimpleQuantity)
else null
end,
dosesPerDay: Coalesce(ToDaily(frequency, period), Count(timing.repeat.timeOfDay), 1.0),
boundsPeriod: timingBoundsToInterval(timing.repeat.bounds),
daysSupply:
(convert FHIRHelpers.ToQuantity(R.dispenseRequest.expectedSupplyDuration as FHIR.Duration) to days).value,
quantity: FHIRHelpers.ToQuantity(R.dispenseRequest.quantity as FHIR.Quantity),
refills: Coalesce(R.dispenseRequest.numberOfRepeatsAllowed.value, 0),
startDate:
Coalesce(
date from start of boundsPeriod,
date from FHIRHelpers.ToDateTime(R.authoredOn as FHIR.dateTime),
date from start of FHIRHelpers.ToInterval(R.dispenseRequest.validityPeriod as FHIR.Period)
),
totalDaysSupplied: Coalesce(daysSupply, quantity.value / (dose.value * dosesPerDay)) * (1 + refills)
return
if startDate is not null and totalDaysSupplied is not null then
Interval[startDate, startDate + Quantity(totalDaysSupplied - 1, 'day') ]
else if startDate is not null and boundsPeriod."high" is not null then
Interval[startDate, date from end of boundsPeriod]
else
null</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCumulativeMedicationDuration</td>
</tr>
<tr>
<td>
<a name="atriuscumulativemedicationduration-quantity"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/**********************************************************************/
/* Functions in this region are copied from opioid-mme-r4 */
/**********************************************************************/
define function Quantity(value Decimal, unit String):
if value is not null then
System.Quantity { value: value, unit: unit }
else
null</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCumulativeMedicationDuration</td>
</tr>
<tr>
<td>
<a name="atriuscumulativemedicationduration-todaily"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
Goal is to get to number of days
Two broad approaches to the calculation:
1) Based on supply and frequency, calculate the number of expected days the medication will cover/has covered
2) Based on relevant period, determine a covered interval and calculate the length of that interval in days
This topic covers several use cases and illustrates how to calculate Cumulative
Medication Duration for each type of medication resource using the supply and
frequency approach.
*/
/*
For the first approach, we need to get from frequency to a frequency/day
So we define ToDaily
*/
/*
Calculates daily frequency given frequency within a period
*/
define function ToDaily(frequency System.Integer, period System.Quantity):
case period.unit
when 'h' then frequency * (24.0 / period.value)
when 'min' then frequency * (24.0 / period.value) * 60
when 's' then frequency * (24.0 / period.value) * 60 * 60
when 'd' then frequency * (24.0 / period.value) / 24
when 'wk' then frequency * (24.0 / period.value) / (24 * 7)
when 'mo' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */
when 'a' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */
when 'hour' then frequency * (24.0 / period.value)
when 'minute' then frequency * (24.0 / period.value) * 60
when 'second' then frequency * (24.0 / period.value) * 60 * 60
when 'day' then frequency * (24.0 / period.value) / 24
when 'week' then frequency * (24.0 / period.value) / (24 * 7)
when 'month' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */
when 'year' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */
when 'hours' then frequency * (24.0 / period.value)
when 'minutes' then frequency * (24.0 / period.value) * 60
when 'seconds' then frequency * (24.0 / period.value) * 60 * 60
when 'days' then frequency * (24.0 / period.value) / 24
when 'weeks' then frequency * (24.0 / period.value) / (24 * 7)
when 'months' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */
when 'years' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */
else Message(null, true, 'CMDLogic.ToDaily.UnknownUnit', ErrorLevel, 'Unknown unit ' & period.unit)
end</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCumulativeMedicationDuration</td>
</tr>
<tr>
<td>
<a name="atriuscumulativemedicationduration-timingboundstointerval"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Normalizes Timing.repeat.bounds (Duration | Range | Period) to Interval<DateTime>.
@deprecated: Use AtriusCommon.toTimingBoundsInterval(); retained for include compatibility.
*/
define function timingBoundsToInterval(bounds Choice<FHIR.Duration, FHIR.Range, FHIR.Period>):
bounds.toTimingBoundsInterval()</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCommon</td>
</tr>
<tr>
<td>
<a name="atriuscommon-toobservationeffectiveinterval"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define fluent function toObservationEffectiveInterval(choice Choice<FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instant>):
choice.toInterval()</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCommon</td>
</tr>
<tr>
<td>
<a name="atriuscommon-prevalenceinterval"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Returns an interval representing the normalized prevalence period of a given Condition.
*/
define fluent function prevalenceInterval(condition Choice<ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns>):
if condition.isActive() then
Interval[start of condition.onset.toConditionTimingInterval(), end of condition.abatementInterval()]
else
(end of condition.abatementInterval()) abatementDate
return if abatementDate is null then
Interval[start of condition.onset.toConditionTimingInterval(), abatementDate)
else
Interval[start of condition.onset.toConditionTimingInterval(), abatementDate]</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCommon</td>
</tr>
<tr>
<td>
<a name="atriuscommon-isactive"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Returns true if the given condition has a clinical status of active, recurrence, or relapse
*/
define fluent function isActive(condition Choice<ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns>):
FHIRHelpers.ToConcept(condition.clinicalStatus) ~ "active"
or FHIRHelpers.ToConcept(condition.clinicalStatus) ~ "recurrence"
or FHIRHelpers.ToConcept(condition.clinicalStatus) ~ "relapse"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCommon</td>
</tr>
<tr>
<td>
<a name="atriuscommon-toconditiontiminginterval"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define fluent function toConditionTimingInterval(choice Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):
choice.toInterval()</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCommon</td>
</tr>
<tr>
<td>
<a name="atriuscommon-abatementinterval"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Returns an interval representing the normalized abatement of a given Condition.
*/
define fluent function abatementInterval(condition Choice<ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns>):
condition.abatement.toConditionTimingInterval()</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCommon</td>
</tr>
<tr>
<td>
<a name="atriuscommon-toperformedinterval"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define fluent function toPerformedInterval(performed Choice<FHIR.dateTime, FHIR.Period, FHIR.string, FHIR.Age, FHIR.Range>):
performed.toInterval()</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCommon</td>
</tr>
<tr>
<td>
<a name="atriuscommon-observationeffectiveinterval"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Normalizes Observation.effective[x] for any Observation retrieve.
*/
define fluent function observationEffectiveInterval(observation Observation):
observation.effective.toObservationEffectiveInterval()</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> AtriusCommon</td>
</tr>
<tr>
<td>
<a name="atriuscommon-totimingboundsinterval"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define fluent function toTimingBoundsInterval(bounds Choice<FHIR.Duration, FHIR.Range, FHIR.Period>):
bounds.toInterval()</code></pre>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header"><a name="terminology"> </a>Terminology</th>
</tr>
<tr>
<th scope="row" class="row-header">Code System</th>
<td class="content-container">
<em>Description</em>: Code system LOINC
<br/>
<em>Resource</em>: <a href="http://terminology.hl7.org/6.0.2/CodeSystem-v3-loinc.html">Logical Observation Identifiers, Names and Codes (LOINC)</a>
<br/>
<em>Canonical URL</em>: <tt>http://loinc.org</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Code System</th>
<td class="content-container">
<em>Description</em>: Code system ConditionVerificationStatusCodes
<br/>
<em>Resource</em>: <a href="http://terminology.hl7.org/7.2.0/CodeSystem-condition-ver-status.html">ConditionVerificationStatus</a> version: 2.0.1
<br/>
<em>Canonical URL</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-ver-status|2.0.1</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Code System</th>
<td class="content-container">
<em>Description</em>: Code system ConditionClinicalStatusCodes
<br/>
<em>Resource</em>: <a href="http://terminology.hl7.org/7.2.0/CodeSystem-condition-clinical.html">Condition Clinical Status Codes</a> version: 3.0.0
<br/>
<em>Canonical URL</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-clinical|3.0.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Code System</th>
<td class="content-container">
<em>Description</em>: Code system DischargeDisposition
<br/>
<em>Resource</em>: <a href="http://terminology.hl7.org/7.2.0/CodeSystem-discharge-disposition.html">Discharge disposition</a> version: 1.0.1
<br/>
<em>Canonical URL</em>: <tt>http://terminology.hl7.org/CodeSystem/discharge-disposition|1.0.1</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Code System</th>
<td class="content-container">
<em>Description</em>: Code system SNOMEDCT
<br/>
<em>Resource</em>: <a href="http://hl7.org/fhir/R4/codesystem-snomedct.html">SNOMED CT (all versions)</a>
<br/>
<em>Canonical URL</em>: <tt>http://snomed.info/sct</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set HbA1c Laboratory Test
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-hba1c-laboratory-test.html">Atrius HbA1c Laboratory Test</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-hba1c-laboratory-test|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Office Visit
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-office-visit.html">Atrius Office Visit</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-office-visit|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Annual Wellness Visit
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-annual-wellness-visit.html">Atrius Annual Wellness Visit</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-annual-wellness-visit|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Preventive Care Services Established Office Visit, 18 and Up
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-preventive-established-18up.html">Atrius Preventive Care Services Established Office Visit, 18 and Up</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-preventive-established-18up|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Preventive Care Services Initial Office Visit, 18 and Up
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-preventive-initial-18up.html">Atrius Preventive Care Services Initial Office Visit, 18 and Up</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-preventive-initial-18up|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Home Healthcare Services
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-home-healthcare.html">Atrius Home Healthcare Services</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-home-healthcare|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Nutrition Services
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-nutrition-services.html">Atrius Nutrition Services</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-nutrition-services|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Telephone Visits
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-telephone-visits.html">Atrius Telephone Visits</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-telephone-visits|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Diabetes
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-diabetes.html">Atrius Diabetes</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-diabetes|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Encounter Inpatient
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-encounter-inpatient.html">Atrius Encounter Inpatient</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-encounter-inpatient|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Hospice Encounter
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-hospice-encounter.html">Atrius Hospice Encounter</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-hospice-encounter|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Hospice Care Ambulatory
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-hospice-care-ambulatory.html">Atrius Hospice Care Ambulatory</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-hospice-care-ambulatory|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Hospice Diagnosis
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-hospice-diagnosis.html">Atrius Hospice Diagnosis</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-hospice-diagnosis|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Frailty Device
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-frailty-device.html">Atrius Frailty Device</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-frailty-device|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Frailty Diagnosis
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-frailty-diagnosis.html">Atrius Frailty Diagnosis</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-frailty-diagnosis|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Frailty Encounter
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-frailty-encounter.html">Atrius Frailty Encounter</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-frailty-encounter|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Frailty Symptom
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-frailty-symptom.html">Atrius Frailty Symptom</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-frailty-symptom|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Advanced Illness
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-advanced-illness.html">Atrius Advanced Illness</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-advanced-illness|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Dementia Medications
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-dementia-medications.html">Atrius Dementia Medications</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-dementia-medications|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Palliative Care Diagnosis
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-palliative-care-diagnosis.html">Atrius Palliative Care Diagnosis</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-palliative-care-diagnosis|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Palliative Care Encounter
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-palliative-care-encounter.html">Atrius Palliative Care Encounter</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-palliative-care-encounter|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Palliative Care Intervention
<br/>
<em>Resource</em>: <a href="ValueSet-atrius-vs-palliative-care-intervention.html">Atrius Palliative Care Intervention</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-palliative-care-intervention|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Glucose management indicator
<br/>
<em>Code</em>: 97506-0
<br/>
<em>System</em>: <tt>http://loinc.org</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Confirmed
<br/>
<em>Code</em>: confirmed
<br/>
<em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-ver-status</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Unconfirmed
<br/>
<em>Code</em>: unconfirmed
<br/>
<em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-ver-status</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Provisional
<br/>
<em>Code</em>: provisional
<br/>
<em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-ver-status</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Differential
<br/>
<em>Code</em>: differential
<br/>
<em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-ver-status</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Active
<br/>
<em>Code</em>: active
<br/>
<em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-clinical</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Recurrence
<br/>
<em>Code</em>: recurrence
<br/>
<em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-clinical</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Relapse
<br/>
<em>Code</em>: relapse
<br/>
<em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-clinical</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Hospice
<br/>
<em>Code</em>: hosp
<br/>
<em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/discharge-disposition</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Hospice care [Minimum Data Set]
<br/>
<em>Code</em>: 45755-6
<br/>
<em>System</em>: <tt>http://loinc.org</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Yes
<br/>
<em>Code</em>: 373066001
<br/>
<em>System</em>: <tt>http://snomed.info/sct</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Housing status
<br/>
<em>Code</em>: 71802-3
<br/>
<em>System</em>: <tt>http://loinc.org</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Lives in a nursing home
<br/>
<em>Code</em>: 160734000
<br/>
<em>System</em>: <tt>http://snomed.info/sct</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Medical equipment used
<br/>
<em>Code</em>: 98181-1
<br/>
<em>System</em>: <tt>http://loinc.org</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Functional Assessment of Chronic Illness Therapy - Palliative Care Questionnaire (FACIT-Pal)
<br/>
<em>Code</em>: 71007-9
<br/>
<em>System</em>: <tt>http://loinc.org</tt>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header"><a name="dependencies"> </a>Dependencies</th>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: AtriusIn model information
<br/>
<em>Resource</em>: <a href="Library-AtriusIn-ModelInfo.html">Atrius India Core Model Definition</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/Library/AtriusIn-ModelInfo|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Library FHIRHelpers
<br/>
<em>Resource</em>: <code>https://atrius.in/fhir/r4/atrius-in/Library/FHIRHelpers|4.4.000</code>
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/Library/FHIRHelpers|4.4.000</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Library QICoreCommon
<br/>
<em>Resource</em>: <a href="Library-AtriusCommon.html">Atrius Common CQL</a> version: 0.1.0
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/Library/AtriusCommon|0.1.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Library Status
<br/>
<em>Resource</em>: <code>https://atrius.in/fhir/r4/atrius-in/Library/AtriusStatus|1.15.000</code>
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/Library/AtriusStatus|1.15.000</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Library Hospice
<br/>
<em>Resource</em>: <code>https://atrius.in/fhir/r4/atrius-in/Library/AtriusHospice|6.18.000</code>
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/Library/AtriusHospice|6.18.000</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Library AIFrailLTCF
<br/>
<em>Resource</em>: <code>https://atrius.in/fhir/r4/atrius-in/Library/AtriusAdvancedIllnessAndFrailty|1.27.000</code>
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/Library/AtriusAdvancedIllnessAndFrailty|1.27.000</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Library AtriusCumulativeMedicationDuration
<br/>
<em>Resource</em>: <code>https://atrius.in/fhir/r4/atrius-in/Library/AtriusCumulativeMedicationDuration|6.0.000</code>
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/Library/AtriusCumulativeMedicationDuration|6.0.000</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Library PalliativeCare
<br/>
<em>Resource</em>: <code>https://atrius.in/fhir/r4/atrius-in/Library/AtriusPalliativeCare|1.18.000</code>
<br/>
<em>Canonical URL</em>: <tt>https://atrius.in/fhir/r4/atrius-in/Library/AtriusPalliativeCare|1.18.000</tt>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header"><a name="data-requirements"> </a>Data Requirements</th>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Observation
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/observation.html">Observation</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: code, status, effective, value
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-hba1c-laboratory-test.html">Atrius HbA1c Laboratory Test</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Observation
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/observation.html">Observation</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: code, status, effective, value
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>Code(s)</em>:
<a href="https://loinc.org/97506-0">LOINC: 97506-0</a> (Glucose management indicator)
</span>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Observation
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/observation.html">Observation</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: code, status, effective, value
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>Code(s)</em>:
<a href="https://loinc.org/71802-3">LOINC: 71802-3</a> (Housing status)
</span>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Observation
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/observation.html">Observation</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: code, status, value, effective
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>Code(s)</em>:
<a href="https://loinc.org/71802-3">LOINC: 71802-3</a> (Housing status)
</span>
<br/>
<span class="tab-one"><em>Path</em>: value</span>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Observation
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/observation.html">Observation</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: code, status, value, effective
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>Code(s)</em>:
<a href="https://loinc.org/98181-1">LOINC: 98181-1</a> (Medical equipment used)
</span>
<br/>
<span class="tab-one"><em>Path</em>: value</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-frailty-device.html">Atrius Frailty Device</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Observation
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/observation.html">Observation</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: code, status, effective, value
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-frailty-symptom.html">Atrius Frailty Symptom</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Patient
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/patient.html">Patient</a> version: 4.0.1
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Encounter
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/encounter.html">Encounter</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: type, status, period
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: type</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-office-visit.html">Atrius Office Visit</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Encounter
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/encounter.html">Encounter</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: type, status, period
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: type</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-annual-wellness-visit.html">Atrius Annual Wellness Visit</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Encounter
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/encounter.html">Encounter</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: type, status, period
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: type</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-preventive-established-18up.html">Atrius Preventive Care Services Established Office Visit, 18 and Up</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Encounter
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/encounter.html">Encounter</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: type, status, period
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: type</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-preventive-initial-18up.html">Atrius Preventive Care Services Initial Office Visit, 18 and Up</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Encounter
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/encounter.html">Encounter</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: type, status, period
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: type</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-home-healthcare.html">Atrius Home Healthcare Services</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Encounter
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/encounter.html">Encounter</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: type, status, period
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: type</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-nutrition-services.html">Atrius Nutrition Services</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Encounter
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/encounter.html">Encounter</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: type, status, period
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: type</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-telephone-visits.html">Atrius Telephone Visits</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Encounter
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/encounter.html">Encounter</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: type, hospitalization, hospitalization.dischargeDisposition, period, status
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: type</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-encounter-inpatient.html">Atrius Encounter Inpatient</a> version: 0.1.0
<br/>
<span class="tab-one"><em>Path</em>: hospitalization.dischargeDisposition</span>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Encounter
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/encounter.html">Encounter</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: type, period, status
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: type</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-hospice-encounter.html">Atrius Hospice Encounter</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Encounter
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/encounter.html">Encounter</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: type, status, period
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: type</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-frailty-encounter.html">Atrius Frailty Encounter</a> version: 0.1.0
<br/>
<span class="tab-one"><em>Path</em>: status</span>
<br/>
<span class="tab-one"><em>Code(s)</em>:
[not stated]: finished (finished)
</span>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Encounter
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/encounter.html">Encounter</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: type, status, period
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: type</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-palliative-care-encounter.html">Atrius Palliative Care Encounter</a> version: 0.1.0
<br/>
<span class="tab-one"><em>Path</em>: status</span>
<br/>
<span class="tab-one"><em>Code(s)</em>:
[not stated]: finished (finished)
</span>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Condition
<br/>
<em>Profile(s)</em>:
<a href="StructureDefinition-atrius-in-condition-encounter-diagnosis.html">Atrius India Core Condition Encounter Diagnosis</a> version: 0.1.0
<br/>
<em>Must Support Elements</em>: code
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-diabetes.html">Atrius Diabetes</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Condition
<br/>
<em>Profile(s)</em>:
<a href="StructureDefinition-atrius-in-condition-encounter-diagnosis.html">Atrius India Core Condition Encounter Diagnosis</a> version: 0.1.0
<br/>
<em>Must Support Elements</em>: code
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-hospice-diagnosis.html">Atrius Hospice Diagnosis</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Condition
<br/>
<em>Profile(s)</em>:
<a href="StructureDefinition-atrius-in-condition-encounter-diagnosis.html">Atrius India Core Condition Encounter Diagnosis</a> version: 0.1.0
<br/>
<em>Must Support Elements</em>: code, verificationStatus
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-frailty-diagnosis.html">Atrius Frailty Diagnosis</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Condition
<br/>
<em>Profile(s)</em>:
<a href="StructureDefinition-atrius-in-condition-encounter-diagnosis.html">Atrius India Core Condition Encounter Diagnosis</a> version: 0.1.0
<br/>
<em>Must Support Elements</em>: code, verificationStatus
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-advanced-illness.html">Atrius Advanced Illness</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Condition
<br/>
<em>Profile(s)</em>:
<a href="StructureDefinition-atrius-in-condition-encounter-diagnosis.html">Atrius India Core Condition Encounter Diagnosis</a> version: 0.1.0
<br/>
<em>Must Support Elements</em>: code, verificationStatus
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-palliative-care-diagnosis.html">Atrius Palliative Care Diagnosis</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Observation
<br/>
<em>Profile(s)</em>:
<a href="StructureDefinition-atrius-in-observation-general-assessment.html">Atrius India Core Observation General Assessment</a> version: 0.1.0
<br/>
<em>Must Support Elements</em>: code, value, effective
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>Code(s)</em>:
<a href="https://loinc.org/45755-6">LOINC: 45755-6</a> (Hospice care [Minimum Data Set])
</span>
<br/>
<span class="tab-one"><em>Path</em>: value</span>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Observation
<br/>
<em>Profile(s)</em>:
<a href="StructureDefinition-atrius-in-observation-general-assessment.html">Atrius India Core Observation General Assessment</a> version: 0.1.0
<br/>
<em>Must Support Elements</em>: code, status, effective
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>Code(s)</em>:
<a href="https://loinc.org/71007-9">LOINC: 71007-9</a> (Functional Assessment of Chronic Illness Therapy - Palliative Care Questionnaire (FACIT-Pal))
</span>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/servicerequest.html">ServiceRequest</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: code, authoredOn, status, intent
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-hospice-care-ambulatory.html">Atrius Hospice Care Ambulatory</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Procedure
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/procedure.html">Procedure</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: code, performed, status
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-hospice-care-ambulatory.html">Atrius Hospice Care Ambulatory</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Procedure
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/procedure.html">Procedure</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: code, status, performed
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-palliative-care-intervention.html">Atrius Palliative Care Intervention</a> version: 0.1.0
<br/>
<span class="tab-one"><em>Path</em>: status</span>
<br/>
<span class="tab-one"><em>Code(s)</em>:
[not stated]: completed (completed)
</span>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Condition
<br/>
<em>Profile(s)</em>:
<a href="StructureDefinition-atrius-in-condition-problems-health-concerns.html">Atrius India Core Condition Problems Health Concerns</a> version: 0.1.0
<br/>
<em>Must Support Elements</em>: code
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-hospice-diagnosis.html">Atrius Hospice Diagnosis</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Condition
<br/>
<em>Profile(s)</em>:
<a href="StructureDefinition-atrius-in-condition-problems-health-concerns.html">Atrius India Core Condition Problems Health Concerns</a> version: 0.1.0
<br/>
<em>Must Support Elements</em>: code, verificationStatus
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-frailty-diagnosis.html">Atrius Frailty Diagnosis</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Condition
<br/>
<em>Profile(s)</em>:
<a href="StructureDefinition-atrius-in-condition-problems-health-concerns.html">Atrius India Core Condition Problems Health Concerns</a> version: 0.1.0
<br/>
<em>Must Support Elements</em>: code, verificationStatus
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-advanced-illness.html">Atrius Advanced Illness</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Condition
<br/>
<em>Profile(s)</em>:
<a href="StructureDefinition-atrius-in-condition-problems-health-concerns.html">Atrius India Core Condition Problems Health Concerns</a> version: 0.1.0
<br/>
<em>Must Support Elements</em>: code, verificationStatus
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-palliative-care-diagnosis.html">Atrius Palliative Care Diagnosis</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: DeviceRequest
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/devicerequest.html">DeviceRequest</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: code, status, intent, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-frailty-device.html">Atrius Frailty Device</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Medication
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/medication.html">Medication</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: id, code
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-dementia-medications.html">Atrius Dementia Medications</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: MedicationRequest
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/medicationrequest.html">MedicationRequest</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: medication.reference, dosageInstruction, dispenseRequest, dispenseRequest.expectedSupplyDuration, dispenseRequest.quantity, dispenseRequest.numberOfRepeatsAllowed, dispenseRequest.numberOfRepeatsAllowed.value, authoredOn, dispenseRequest.validityPeriod, status, intent
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: MedicationRequest
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/medicationrequest.html">MedicationRequest</a> version: 4.0.1
<br/>
<em>Must Support Elements</em>: medication, dosageInstruction, dispenseRequest, dispenseRequest.expectedSupplyDuration, dispenseRequest.quantity, dispenseRequest.numberOfRepeatsAllowed, dispenseRequest.numberOfRepeatsAllowed.value, authoredOn, dispenseRequest.validityPeriod, status, intent
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: medication</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="ValueSet-atrius-vs-dementia-medications.html">Atrius Dementia Medications</a> version: 0.1.0
<br/>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header"><a name="parameters"> </a>Parameters</th>
</tr>
<tr>
<th scope="row" class="row-header"/>
<td class="content-container">
<table>
<thead>
<tr>
<td><em>Name</em></td>
<td><em>Use</em></td>
<td><em>Card.</em></td>
<td><em>Type</em></td>
<td><em>Documentation</em></td>
</tr>
</thead>
<tbody>
<tr>
<td>Measurement Period</td>
<td>In</td>
<td>0..1</td>
<td>Period</td>
<td/>
</tr>
<tr>
<td>ErrorLevel</td>
<td>In</td>
<td>0..1</td>
<td>string</td>
<td/>
</tr>
<tr>
<td>Numerator</td>
<td>Out</td>
<td>0..1</td>
<td>boolean</td>
<td/>
</tr>
<tr>
<td>Denominator</td>
<td>Out</td>
<td>0..1</td>
<td>boolean</td>
<td/>
</tr>
<tr>
<td>Initial Population</td>
<td>Out</td>
<td>0..1</td>
<td>boolean</td>
<td/>
</tr>
<tr>
<td>Denominator Exclusions</td>
<td>Out</td>
<td>0..1</td>
<td>boolean</td>
<td/>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header">Generated using version 0.5.4 of the sample-content-ig Liquid templates</th>
</tr>
</tbody>
</table>
</div>
</text>
<contained>
<Library>
<id value="effective-data-requirements"/>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system value="http://loinc.org"/>
<code value="97506-0"/>
<display value="Glucose management indicator"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-ver-status"/>
<code value="confirmed"/>
<display value="Confirmed"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-ver-status"/>
<code value="unconfirmed"/>
<display value="Unconfirmed"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-ver-status"/>
<code value="provisional"/>
<display value="Provisional"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-ver-status"/>
<code value="differential"/>
<display value="Differential"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
<code value="active"/>
<display value="Active"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
<code value="recurrence"/>
<display value="Recurrence"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
<code value="relapse"/>
<display value="Relapse"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/discharge-disposition"/>
<code value="hosp"/>
<display value="Hospice"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system value="http://loinc.org"/>
<code value="45755-6"/>
<display value="Hospice care [Minimum Data Set]"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system value="http://snomed.info/sct"/>
<code value="373066001"/>
<display value="Yes"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system value="http://loinc.org"/>
<code value="71802-3"/>
<display value="Housing status"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system value="http://snomed.info/sct"/>
<code value="160734000"/>
<display value="Lives in a nursing home"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system value="http://loinc.org"/>
<code value="98181-1"/>
<display value="Medical equipment used"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system value="http://loinc.org"/>
<code value="71007-9"/>
<display
value="Functional Assessment of Chronic Illness Therapy - Palliative Care Questionnaire (FACIT-Pal)"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCMS122DiabetesAssessGT9Pct"/>
</extension>
<extension url="name">
<valueString value="Glycemic Status Assessment"/>
</extension>
<extension url="statement">
<valueString
value="define "Glycemic Status Assessment":
( [Observation: "HbA1c Laboratory Test"]
union [Observation: "Glucose management indicator"]
) GlycemicStatus
where GlycemicStatus.status in { 'final', 'amended', 'corrected' }
and GlycemicStatus.effective.toObservationEffectiveInterval ( ) during day of "Measurement Period""/>
</extension>
<extension url="displaySequence">
<valueInteger value="0"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCMS122DiabetesAssessGT9Pct"/>
</extension>
<extension url="name">
<valueString value="Most Recent Glycemic Status Date"/>
</extension>
<extension url="statement">
<valueString
value="define "Most Recent Glycemic Status Date":
Last(("Glycemic Status Assessment" QualifyingGlycemicStatus
return date from end of QualifyingGlycemicStatus.effective.toObservationEffectiveInterval ( )) QualifyingGlycemicStatus
sort asc
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="1"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCMS122DiabetesAssessGT9Pct"/>
</extension>
<extension url="name">
<valueString
value="Lowest Glycemic Status Assessment Reading on Most Recent Day"/>
</extension>
<extension url="statement">
<valueString
value="define "Lowest Glycemic Status Assessment Reading on Most Recent Day":
First("Glycemic Status Assessment" QualifyingGlycemicStatus
where end of QualifyingGlycemicStatus.effective.toObservationEffectiveInterval ( ) same day as "Most Recent Glycemic Status Date"
return {
QualifyingGlycemicStatusValue: QualifyingGlycemicStatus.value as Quantity,
QualifyingGlycemicStatus: QualifyingGlycemicStatus
}
sort by QualifyingGlycemicStatusValue
).QualifyingGlycemicStatus"/>
</extension>
<extension url="displaySequence">
<valueInteger value="2"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCMS122DiabetesAssessGT9Pct"/>
</extension>
<extension url="name">
<valueString
value="Has Most Recent Glycemic Status Assessment Without Result"/>
</extension>
<extension url="statement">
<valueString
value="define "Has Most Recent Glycemic Status Assessment Without Result":
"Lowest Glycemic Status Assessment Reading on Most Recent Day" is not null
and "Lowest Glycemic Status Assessment Reading on Most Recent Day".value is null"/>
</extension>
<extension url="displaySequence">
<valueInteger value="3"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCMS122DiabetesAssessGT9Pct"/>
</extension>
<extension url="name">
<valueString
value="Has Most Recent Elevated Glycemic Status Assessment"/>
</extension>
<extension url="statement">
<valueString
value="define "Has Most Recent Elevated Glycemic Status Assessment":
"Lowest Glycemic Status Assessment Reading on Most Recent Day".value > 9 '%'"/>
</extension>
<extension url="displaySequence">
<valueInteger value="4"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCMS122DiabetesAssessGT9Pct"/>
</extension>
<extension url="name">
<valueString value="Has No Record Of Glycemic Status Assessment"/>
</extension>
<extension url="statement">
<valueString
value="define "Has No Record Of Glycemic Status Assessment":
not exists "Glycemic Status Assessment""/>
</extension>
<extension url="displaySequence">
<valueInteger value="5"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCMS122DiabetesAssessGT9Pct"/>
</extension>
<extension url="name">
<valueString value="Numerator"/>
</extension>
<extension url="statement">
<valueString
value="define "Numerator":
"Has Most Recent Glycemic Status Assessment Without Result"
or "Has Most Recent Elevated Glycemic Status Assessment"
or "Has No Record Of Glycemic Status Assessment""/>
</extension>
<extension url="displaySequence">
<valueInteger value="6"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCMS122DiabetesAssessGT9Pct"/>
</extension>
<extension url="name">
<valueString value="Qualifying Encounters"/>
</extension>
<extension url="statement">
<valueString
value="define "Qualifying Encounters":
( ( [Encounter: "Office Visit"]
union [Encounter: "Annual Wellness Visit"]
union [Encounter: "Preventive Care Services Established Office Visit, 18 and Up"]
union [Encounter: "Preventive Care Services Initial Office Visit, 18 and Up"]
union [Encounter: "Home Healthcare Services"]
union [Encounter: "Nutrition Services"]
union [Encounter: "Telephone Visits"]
).isEncounterPerformed ( ) ) ValidEncounters
where ValidEncounters.period during day of "Measurement Period""/>
</extension>
<extension url="displaySequence">
<valueInteger value="7"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCMS122DiabetesAssessGT9Pct"/>
</extension>
<extension url="name">
<valueString value="Initial Population"/>
</extension>
<extension url="statement">
<valueString
value="define "Initial Population":
AgeInYearsAt(date from
end of "Measurement Period"
) in Interval[18, 75]
and exists "Qualifying Encounters"
and exists ( ( ( [ConditionEncounterDiagnosis: "Diabetes"] ).verified ( ) ) DiabetesDiagnosis
where DiabetesDiagnosis.prevalenceInterval ( ) overlaps day of "Measurement Period"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="8"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCMS122DiabetesAssessGT9Pct"/>
</extension>
<extension url="name">
<valueString value="Denominator"/>
</extension>
<extension url="statement">
<valueString
value="define "Denominator":
"Initial Population""/>
</extension>
<extension url="displaySequence">
<valueInteger value="9"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusHospice"/>
</extension>
<extension url="name">
<valueString value="Has Hospice Services"/>
</extension>
<extension url="statement">
<valueString
value="define "Has Hospice Services":
exists ( ( ( [Encounter: "Encounter Inpatient"] ).isEncounterPerformed() ) InpatientEncounter
where FHIRHelpers.ToConcept(InpatientEncounter.hospitalization.dischargeDisposition) ~ "Hospice (HL7 discharge)"
and FHIRHelpers.ToInterval(InpatientEncounter.period as FHIR.Period) ends during day of "Measurement Period"
)
or exists ( ( ( [Encounter: "Hospice Encounter"] ).isEncounterPerformed() ) HospiceEncounter
where FHIRHelpers.ToInterval(HospiceEncounter.period as FHIR.Period) overlaps day of "Measurement Period"
)
or exists ( ( ( [ObservationGeneralAssessment: "Hospice care [Minimum Data Set]"] ).isAssessmentPerformed() ) HospiceAssessment
where FHIRHelpers.ToConcept(HospiceAssessment.value as FHIR.CodeableConcept) ~ "Yes (qualifier value)"
and HospiceAssessment.effective.toObservationEffectiveInterval() overlaps day of "Measurement Period"
)
or exists ( ( ( [ServiceRequest: "Hospice Care Ambulatory"] ).isInterventionOrder() ) HospiceOrder
where FHIRHelpers.ToDateTime(HospiceOrder.authoredOn) during day of "Measurement Period"
)
or exists ( ( ( [Procedure: "Hospice Care Ambulatory"] ).isInterventionPerformed() ) HospicePerformed
where HospicePerformed.performed.toPerformedInterval() overlaps day of "Measurement Period"
)
or exists ( ( (
[ConditionProblemsHealthConcerns: "Hospice Diagnosis"]
union [ConditionEncounterDiagnosis: "Hospice Diagnosis"]
).verified() ) HospiceCareDiagnosis
where HospiceCareDiagnosis.prevalenceInterval() overlaps day of "Measurement Period"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="10"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusAdvancedIllnessAndFrailty"/>
</extension>
<extension url="name">
<valueString
value="Is Age 66 or Older Living Long Term in a Nursing Home"/>
</extension>
<extension url="statement">
<valueString
value="define "Is Age 66 or Older Living Long Term in a Nursing Home":
AgeInYearsAt(date from end of "Measurement Period") >= 66
and (
(
Last(
[Observation: "Housing status"] HousingStatus
where HousingStatus.status in { 'final', 'amended', 'corrected' }
and end of HousingStatus.observationEffectiveInterval() on or before day of end of "Measurement Period"
sort by end of observationEffectiveInterval() asc
)
) LastHousingStatus
where LastHousingStatus.value is FHIR.CodeableConcept
and FHIRHelpers.ToConcept(LastHousingStatus.value as FHIR.CodeableConcept) ~ "Lives in nursing home (finding)"
) is not null"/>
</extension>
<extension url="displaySequence">
<valueInteger value="11"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusAdvancedIllnessAndFrailty"/>
</extension>
<extension url="name">
<valueString value="Has Frailty Device Order"/>
</extension>
<extension url="statement">
<valueString
value="define "Has Frailty Device Order":
exists (
[DeviceRequest: "Frailty Device"] FrailtyDeviceOrder
where FrailtyDeviceOrder.status in { 'active', 'completed' }
and FrailtyDeviceOrder.intent in {
'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order'
}
and Interval[
FHIRHelpers.ToDateTime(FrailtyDeviceOrder.authoredOn),
FHIRHelpers.ToDateTime(FrailtyDeviceOrder.authoredOn)
] during day of "Measurement Period"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="12"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusAdvancedIllnessAndFrailty"/>
</extension>
<extension url="name">
<valueString value="Has Frailty Equipment Observation"/>
</extension>
<extension url="statement">
<valueString
value="define "Has Frailty Equipment Observation":
exists (
[Observation: "Medical equipment used"] EquipmentUsed
where EquipmentUsed.status in { 'final', 'amended', 'corrected' }
and EquipmentUsed.value is FHIR.CodeableConcept
and FHIRHelpers.ToConcept(EquipmentUsed.value as FHIR.CodeableConcept) in "Frailty Device"
and end of EquipmentUsed.observationEffectiveInterval() during day of "Measurement Period"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="13"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusAdvancedIllnessAndFrailty"/>
</extension>
<extension url="name">
<valueString value="Has Frailty Diagnosis"/>
</extension>
<extension url="statement">
<valueString
value="define "Has Frailty Diagnosis":
exists (
[ConditionProblemsHealthConcerns: "Frailty Diagnosis"] FrailtyProblem
where (
FrailtyProblem.verificationStatus is null
or FHIRHelpers.ToConcept(FrailtyProblem.verificationStatus) ~ "confirmed"
or FHIRHelpers.ToConcept(FrailtyProblem.verificationStatus) ~ "unconfirmed"
or FHIRHelpers.ToConcept(FrailtyProblem.verificationStatus) ~ "provisional"
or FHIRHelpers.ToConcept(FrailtyProblem.verificationStatus) ~ "differential"
)
and FrailtyProblem.prevalenceInterval() overlaps day of "Measurement Period"
)
or exists (
[ConditionEncounterDiagnosis: "Frailty Diagnosis"] FrailtyEncounterDiagnosis
where (
FrailtyEncounterDiagnosis.verificationStatus is null
or FHIRHelpers.ToConcept(FrailtyEncounterDiagnosis.verificationStatus) ~ "confirmed"
or FHIRHelpers.ToConcept(FrailtyEncounterDiagnosis.verificationStatus) ~ "unconfirmed"
or FHIRHelpers.ToConcept(FrailtyEncounterDiagnosis.verificationStatus) ~ "provisional"
or FHIRHelpers.ToConcept(FrailtyEncounterDiagnosis.verificationStatus) ~ "differential"
)
and FrailtyEncounterDiagnosis.prevalenceInterval() overlaps day of "Measurement Period"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="14"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusAdvancedIllnessAndFrailty"/>
</extension>
<extension url="name">
<valueString value="Has Frailty Encounter"/>
</extension>
<extension url="statement">
<valueString
value="define "Has Frailty Encounter":
exists (
[Encounter: "Frailty Encounter"] FrailtyEncounter
where FrailtyEncounter.status = 'finished'
and FHIRHelpers.ToInterval(FrailtyEncounter.period as FHIR.Period) overlaps day of "Measurement Period"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="15"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusAdvancedIllnessAndFrailty"/>
</extension>
<extension url="name">
<valueString value="Has Frailty Symptom Observation"/>
</extension>
<extension url="statement">
<valueString
value="define "Has Frailty Symptom Observation":
exists (
[Observation: "Frailty Symptom"] FrailtySymptom
where FrailtySymptom.status in { 'preliminary', 'final', 'amended', 'corrected' }
and FrailtySymptom.observationEffectiveInterval() overlaps day of "Measurement Period"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="16"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusAdvancedIllnessAndFrailty"/>
</extension>
<extension url="name">
<valueString value="Has Criteria Indicating Frailty"/>
</extension>
<extension url="statement">
<valueString
value="define "Has Criteria Indicating Frailty":
"Has Frailty Device Order"
or "Has Frailty Equipment Observation"
or "Has Frailty Diagnosis"
or "Has Frailty Encounter"
or "Has Frailty Symptom Observation""/>
</extension>
<extension url="displaySequence">
<valueInteger value="17"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusAdvancedIllnessAndFrailty"/>
</extension>
<extension url="name">
<valueString
value="Has Advanced Illness in Year Before or During Measurement Period"/>
</extension>
<extension url="statement">
<valueString
value="define "Has Advanced Illness in Year Before or During Measurement Period":
exists (
[ConditionProblemsHealthConcerns: "Advanced Illness"] AdvancedIllnessProblem
where (
AdvancedIllnessProblem.verificationStatus is null
or FHIRHelpers.ToConcept(AdvancedIllnessProblem.verificationStatus) ~ "confirmed"
or FHIRHelpers.ToConcept(AdvancedIllnessProblem.verificationStatus) ~ "unconfirmed"
or FHIRHelpers.ToConcept(AdvancedIllnessProblem.verificationStatus) ~ "provisional"
or FHIRHelpers.ToConcept(AdvancedIllnessProblem.verificationStatus) ~ "differential"
)
and start of AdvancedIllnessProblem.prevalenceInterval() during day of Interval[
start of "Measurement Period" - 1 year,
end of "Measurement Period"
]
)
or exists (
[ConditionEncounterDiagnosis: "Advanced Illness"] AdvancedIllnessEncounterDiagnosis
where (
AdvancedIllnessEncounterDiagnosis.verificationStatus is null
or FHIRHelpers.ToConcept(AdvancedIllnessEncounterDiagnosis.verificationStatus) ~ "confirmed"
or FHIRHelpers.ToConcept(AdvancedIllnessEncounterDiagnosis.verificationStatus) ~ "unconfirmed"
or FHIRHelpers.ToConcept(AdvancedIllnessEncounterDiagnosis.verificationStatus) ~ "provisional"
or FHIRHelpers.ToConcept(AdvancedIllnessEncounterDiagnosis.verificationStatus) ~ "differential"
)
and start of AdvancedIllnessEncounterDiagnosis.prevalenceInterval() during day of Interval[
start of "Measurement Period" - 1 year,
end of "Measurement Period"
]
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="18"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusAdvancedIllnessAndFrailty"/>
</extension>
<extension url="name">
<valueString
value="Has Dementia Medications in Year Before or During Measurement Period"/>
</extension>
<extension url="statement">
<valueString
value="define "Has Dementia Medications in Year Before or During Measurement Period":
exists (
[MedicationRequest: "Dementia Medications"] DementiaMedication
where DementiaMedication.status = 'active'
and DementiaMedication.intent in {
'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order'
}
and DementiaMedication.medicationRequestPeriod() overlaps day of Interval[
start of "Measurement Period" - 1 year,
end of "Measurement Period"
]
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="19"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusAdvancedIllnessAndFrailty"/>
</extension>
<extension url="name">
<valueString
value="Is Age 66 or Older with Advanced Illness and Frailty"/>
</extension>
<extension url="statement">
<valueString
value="define "Is Age 66 or Older with Advanced Illness and Frailty":
AgeInYearsAt(date from end of "Measurement Period") >= 66
and "Has Criteria Indicating Frailty"
and (
"Has Advanced Illness in Year Before or During Measurement Period"
or "Has Dementia Medications in Year Before or During Measurement Period"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="20"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusPalliativeCare"/>
</extension>
<extension url="name">
<valueString value="Has Palliative Care in the Measurement Period"/>
</extension>
<extension url="statement">
<valueString
value="define "Has Palliative Care in the Measurement Period":
exists (
[ObservationGeneralAssessment: "Functional Assessment of Chronic Illness Therapy - Palliative Care Questionnaire (FACIT-Pal)"] PalliativeAssessment
where PalliativeAssessment.status in { 'final', 'amended', 'corrected' }
and PalliativeAssessment.effective.toObservationEffectiveInterval() overlaps day of "Measurement Period"
)
or exists (
[ConditionProblemsHealthConcerns: "Palliative Care Diagnosis"] PalliativeProblem
where (
PalliativeProblem.verificationStatus is null
or FHIRHelpers.ToConcept(PalliativeProblem.verificationStatus) ~ "confirmed"
or FHIRHelpers.ToConcept(PalliativeProblem.verificationStatus) ~ "unconfirmed"
or FHIRHelpers.ToConcept(PalliativeProblem.verificationStatus) ~ "provisional"
or FHIRHelpers.ToConcept(PalliativeProblem.verificationStatus) ~ "differential"
)
and PalliativeProblem.prevalenceInterval() overlaps day of "Measurement Period"
)
or exists (
[ConditionEncounterDiagnosis: "Palliative Care Diagnosis"] PalliativeEncounterDiagnosis
where (
PalliativeEncounterDiagnosis.verificationStatus is null
or FHIRHelpers.ToConcept(PalliativeEncounterDiagnosis.verificationStatus) ~ "confirmed"
or FHIRHelpers.ToConcept(PalliativeEncounterDiagnosis.verificationStatus) ~ "unconfirmed"
or FHIRHelpers.ToConcept(PalliativeEncounterDiagnosis.verificationStatus) ~ "provisional"
or FHIRHelpers.ToConcept(PalliativeEncounterDiagnosis.verificationStatus) ~ "differential"
)
and PalliativeEncounterDiagnosis.prevalenceInterval() overlaps day of "Measurement Period"
)
or exists (
[Encounter: "Palliative Care Encounter"] PalliativeEncounter
where PalliativeEncounter.status = 'finished'
and FHIRHelpers.ToInterval(PalliativeEncounter.period as FHIR.Period) overlaps day of "Measurement Period"
)
or exists (
[Procedure: "Palliative Care Intervention"] PalliativeIntervention
where PalliativeIntervention.status = 'completed'
and PalliativeIntervention.performed.toPerformedInterval() overlaps day of "Measurement Period"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="21"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCMS122DiabetesAssessGT9Pct"/>
</extension>
<extension url="name">
<valueString value="Denominator Exclusions"/>
</extension>
<extension url="statement">
<valueString
value="define "Denominator Exclusions":
Hospice."Has Hospice Services"
or AIFrailLTCF."Is Age 66 or Older Living Long Term in a Nursing Home"
or AIFrailLTCF."Is Age 66 or Older with Advanced Illness and Frailty"
or PalliativeCare."Has Palliative Care in the Measurement Period""/>
</extension>
<extension url="displaySequence">
<valueInteger value="22"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value ObservationStatus): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="23"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCommon"/>
</extension>
<extension url="name">
<valueString value="toObservationEffectiveInterval"/>
</extension>
<extension url="statement">
<valueString
value="define fluent function toObservationEffectiveInterval(choice Choice<FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instant>):
choice.toInterval()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="24"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToQuantity"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Converts the given FHIR [Quantity](https://hl7.org/fhir/datatypes.html#Quantity)
value to a CQL Quantity
@comment: If the given quantity has a comparator specified, a runtime error is raised. If the given quantity
has a system other than UCUM (i.e. `http://unitsofmeasure.org`) or CQL calendar units (i.e. `http://hl7.org/fhirpath/CodeSystem/calendar-units`)
an error is raised. For UCUM to calendar units, the `ToCalendarUnit` function is used.
@seealso: ToCalendarUnit
*/
define function ToQuantity(quantity FHIR.Quantity):
case
when quantity is null then null
when quantity.value is null then null
when quantity.comparator is not null then
Message(null, true, 'FHIRHelpers.ToQuantity.ComparatorQuantityNotSupported', 'Error', 'FHIR Quantity value has a comparator and cannot be converted to a System.Quantity value.')
when quantity.system is null or quantity.system.value = 'http://unitsofmeasure.org'
or quantity.system.value = 'http://hl7.org/fhirpath/CodeSystem/calendar-units' then
System.Quantity { value: quantity.value.value, unit: ToCalendarUnit(Coalesce(quantity.code.value, quantity.unit.value, '1')) }
else
Message(null, true, 'FHIRHelpers.ToQuantity.InvalidFHIRQuantity', 'Error', 'Invalid FHIR Quantity code: ' & quantity.unit.value & ' (' & quantity.system.value & '|' & quantity.code.value & ')')
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="25"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToCalendarUnit"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Converts a UCUM definite duration unit to a CQL calendar duration
unit using conversions specified in the [quantities](https://cql.hl7.org/02-authorsguide.html#quantities)
topic of the CQL specification.
@comment: Note that for durations above days (or weeks), the conversion is understood to be approximate
*/
define function ToCalendarUnit(unit System.String):
case unit
when 'ms' then 'millisecond'
when 's' then 'second'
when 'min' then 'minute'
when 'h' then 'hour'
when 'd' then 'day'
when 'wk' then 'week'
when 'mo' then 'month'
when 'a' then 'year'
else unit
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="26"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusStatus"/>
</extension>
<extension url="name">
<valueString value="isEncounterPerformed"/>
</extension>
<extension url="statement">
<valueString
value="define fluent function isEncounterPerformed(Enc List<Encounter>):
Enc E
where E.status = 'finished'"/>
</extension>
<extension url="displaySequence">
<valueInteger value="27"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value EncounterStatus): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="28"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToInterval"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Converts the given [Period](https://hl7.org/fhir/datatypes.html#Period)
value to a CQL DateTime Interval
@comment: If the start value of the given period is unspecified, the starting
boundary of the resulting interval will be open (meaning the start of the interval
is unknown, as opposed to interpreted as the beginning of time).
*/
define function ToInterval(period FHIR.Period):
if period is null then
null
else
if period."start" is null then
Interval(period."start".value, period."end".value]
else
Interval[period."start".value, period."end".value]"/>
</extension>
<extension url="displaySequence">
<valueInteger value="29"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusStatus"/>
</extension>
<extension url="name">
<valueString value="verified"/>
</extension>
<extension url="statement">
<valueString
value="define fluent function verified(
conditions List<Choice<ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns>>
):
conditions C
where C.verificationStatus is not null implies (
FHIRHelpers.ToConcept(C.verificationStatus) ~ "confirmed"
or FHIRHelpers.ToConcept(C.verificationStatus) ~ "unconfirmed"
or FHIRHelpers.ToConcept(C.verificationStatus) ~ "provisional"
or FHIRHelpers.ToConcept(C.verificationStatus) ~ "differential"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="30"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToConcept"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.
*/
define function ToConcept(concept FHIR.CodeableConcept):
if concept is null then
null
else
System.Concept {
codes: concept.coding C return ToCode(C),
display: concept.text.value
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="31"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToCode"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Converts the given FHIR [Coding](https://hl7.org/fhir/datatypes.html#Coding) value to a CQL Code.
*/
define function ToCode(coding FHIR.Coding):
if coding is null then
null
else
System.Code {
code: coding.code.value,
system: coding.system.value,
version: coding.version.value,
display: coding.display.value
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="32"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCommon"/>
</extension>
<extension url="name">
<valueString value="prevalenceInterval"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns an interval representing the normalized prevalence period of a given Condition.
*/
define fluent function prevalenceInterval(condition Choice<ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns>):
if condition.isActive() then
Interval[start of condition.onset.toConditionTimingInterval(), end of condition.abatementInterval()]
else
(end of condition.abatementInterval()) abatementDate
return if abatementDate is null then
Interval[start of condition.onset.toConditionTimingInterval(), abatementDate)
else
Interval[start of condition.onset.toConditionTimingInterval(), abatementDate]"/>
</extension>
<extension url="displaySequence">
<valueInteger value="33"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCommon"/>
</extension>
<extension url="name">
<valueString value="isActive"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns true if the given condition has a clinical status of active, recurrence, or relapse
*/
define fluent function isActive(condition Choice<ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns>):
FHIRHelpers.ToConcept(condition.clinicalStatus) ~ "active"
or FHIRHelpers.ToConcept(condition.clinicalStatus) ~ "recurrence"
or FHIRHelpers.ToConcept(condition.clinicalStatus) ~ "relapse""/>
</extension>
<extension url="displaySequence">
<valueInteger value="34"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCommon"/>
</extension>
<extension url="name">
<valueString value="toConditionTimingInterval"/>
</extension>
<extension url="statement">
<valueString
value="define fluent function toConditionTimingInterval(choice Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):
choice.toInterval()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="35"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCommon"/>
</extension>
<extension url="name">
<valueString value="abatementInterval"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns an interval representing the normalized abatement of a given Condition.
*/
define fluent function abatementInterval(condition Choice<ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns>):
condition.abatement.toConditionTimingInterval()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="36"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusStatus"/>
</extension>
<extension url="name">
<valueString value="isAssessmentPerformed"/>
</extension>
<extension url="statement">
<valueString
value="define fluent function isAssessmentPerformed(Obs List<Observation>):
Obs O
where O.status in { 'final', 'amended', 'corrected' }"/>
</extension>
<extension url="displaySequence">
<valueInteger value="37"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusStatus"/>
</extension>
<extension url="name">
<valueString value="isInterventionOrder"/>
</extension>
<extension url="statement">
<valueString
value="define fluent function isInterventionOrder(ServiceRequest List<ServiceRequest>):
ServiceRequest S
where S.status in { 'active', 'completed' }
and S.intent in {
'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order'
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="38"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value ServiceRequestStatus): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="39"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value ServiceRequestIntent): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="40"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToDateTime"/>
</extension>
<extension url="statement">
<valueString
value="define function ToDateTime(value dateTime): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="41"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusStatus"/>
</extension>
<extension url="name">
<valueString value="isInterventionPerformed"/>
</extension>
<extension url="statement">
<valueString
value="define fluent function isInterventionPerformed(Proc List<Procedure>):
Proc P
where P.status = 'completed'"/>
</extension>
<extension url="displaySequence">
<valueInteger value="42"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value ProcedureStatus): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="43"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCommon"/>
</extension>
<extension url="name">
<valueString value="toPerformedInterval"/>
</extension>
<extension url="statement">
<valueString
value="define fluent function toPerformedInterval(performed Choice<FHIR.dateTime, FHIR.Period, FHIR.string, FHIR.Age, FHIR.Range>):
performed.toInterval()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="44"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCommon"/>
</extension>
<extension url="name">
<valueString value="observationEffectiveInterval"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Normalizes Observation.effective[x] for any Observation retrieve.
*/
define fluent function observationEffectiveInterval(observation Observation):
observation.effective.toObservationEffectiveInterval()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="45"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value DeviceRequestStatus): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="46"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value RequestIntent): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="47"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value string): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="48"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value MedicationRequestStatus): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="49"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value MedicationRequestIntent): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="50"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCumulativeMedicationDuration"/>
</extension>
<extension url="name">
<valueString value="medicationRequestPeriod"/>
</extension>
<extension url="statement">
<valueString
value="/*
Now that we have a ToDaily function, we can approach calculation of the
duration of medication for an order. First, consider the definitions
for each element:
* 1 and only 1 dosageInstruction
* 1 and only 1 doseAndRate
* 1 timing with 1 repeat
* frequency, frequencyMax, defaulting to 1
* period, periodUnit, defaulting to 1 'd'
* doseQuantity or doseRange
* timeOfDay
* authoredOn: The date the prescription was written
* dispenseRequest.validityPeriod: Time period supply is authorized for
* dispenseRequest.quantity: amount of medication supplied per dispense
* dispenseRequest.numberOfRepeatsAllowed: number of refills authorized
* dispenseRequest.expectedSupplyDuration: number of days supply per dispense
* dosageInstruction.timing.repeat.boundsDuration: total duration of the repeat
* dosageInstruction.timing.repeat.boundsRange: range of durations of the repeat
* dosageInstruction.timing.repeat.boundsPeriod: period bounds of the repeat
* dosageInstruction.timing.repeat.count: number of times to repeat
* dosageInstruction.timing.repeat.countMax: maximum number of times to repeat
* dosageInstruction.timing.repeat.frequency: event occurs frequency times per period
* dosageInstruction.timing.repeat.frequencyMax: event occurs up to frequencyMax times per period
* dosageInstruction.timing.repeat.period: event occurs frequency times per period
* dosageInstruction.timing.repeat.periodMax: upper limit of period
* dosageInstruction.timing.repeat.periodUnit: period duration (s | min | h | d | wk | mo | a)
* dosageInstruction.timing.repeat.timeOfDay: time of day for the event (0..*)
* dosageInstruction.timing.repeat.when: event timing (HS | WAKE | C | CM | CD | CV | AC | ACM...)
* dosageInstruction.timing.code: BID | TID | QID | AM | PM | QD | QOD...
* dosageInstruction.asNeeded
* dosageInstruction.doseAndRate.doseQuantity
* dosageInstruction.doseAndRate.doseRange
If expectedSupplyDuration is present, then the duration is
expectedSupplyDuration * (1 + numberOfRepeatsAllowed)
If expectedSupplyDuration is not present, then it must be calculated based on the quantity, dosage, and frequency:
(quantity / (dosage * frequency)) * (1 + numberOfRepeatsAllowed)
dosage: Coalesce(end of doseAndRate.doseRange, doseAndRate.doseQuantity)
frequency: Coalesce(frequencyMax, frequency)
period: Quantity(period, periodUnit)
If expectedSupplyDuration is not present and cannot be calculated, and the boundsPeriod is present (and completely specified), we can use that directly
dosage.timing.repeat.boundsPeriod
This calculation results in a number of days, which can then be turned into a period by anchoring that to the
start of the validityPeriod or the authoredOn:
Interval[earliestDispensable, earliestDispensable + expectedSupplyDuration - 1]
earliestDispensable: Coalesce(start of validityPeriod, authoredOn)
The following function illustrates this completely:
*/
/*
Calculates the Medication Period for a single MedicationRequest.
MedicationRequest instances provided to this function are expected
to conform to the [MMEMedicationRequest](http://build.fhir.org/ig/cqframework/opioid-mme-r4/StructureDefinition-mmemedicationrequest.html)
profile, which expects:
* 1 and only 1 dosageInstruction, multiple dosageInstruction elements will result in an error
* 1 and only 1 doseAndRate, multiple doseAndRate elements will result in an error
* 1 timing with 1 repeat, missing timing or repeat elements will result in a null
* frequency, frequencyMax, defaulting to 1
* period, periodUnit, defaulting to 1 'd'
* timeOfDay
* doseQuantity or doseRange, missing doseQuantity and doseRange will result in a null
Note that MedicationRequest status is not considered by this calculation, as the
list of MedicationRequest instances provided to this function should already have
considered appropriate statuses, depending on the use case, typically `completed`.
*/
define fluent function medicationRequestPeriod(sourceRequest "MedicationRequest"):
sourceRequest R
let
dosage: singleton from R.dosageInstruction,
doseAndRate: singleton from dosage.doseAndRate,
timing: dosage.timing,
frequency: Coalesce(timing.repeat.frequencyMax.value, timing.repeat.frequency.value, 1),
period: Quantity(
Coalesce(timing.repeat.period.value, 1.0),
Coalesce(timing.repeat.periodUnit, 'd')
),
doseChoice: doseAndRate.dose,
dose:
case
when doseChoice is FHIR.Range then FHIRHelpers.ToQuantity((doseChoice as FHIR.Range).high)
when doseChoice is FHIR.SimpleQuantity then FHIRHelpers.ToQuantity(doseChoice as FHIR.SimpleQuantity)
else null
end,
dosesPerDay: Coalesce(ToDaily(frequency, period), Count(timing.repeat.timeOfDay), 1.0),
boundsPeriod: timingBoundsToInterval(timing.repeat.bounds),
daysSupply:
(convert FHIRHelpers.ToQuantity(R.dispenseRequest.expectedSupplyDuration as FHIR.Duration) to days).value,
quantity: FHIRHelpers.ToQuantity(R.dispenseRequest.quantity as FHIR.Quantity),
refills: Coalesce(R.dispenseRequest.numberOfRepeatsAllowed.value, 0),
startDate:
Coalesce(
date from start of boundsPeriod,
date from FHIRHelpers.ToDateTime(R.authoredOn as FHIR.dateTime),
date from start of FHIRHelpers.ToInterval(R.dispenseRequest.validityPeriod as FHIR.Period)
),
totalDaysSupplied: Coalesce(daysSupply, quantity.value / (dose.value * dosesPerDay)) * (1 + refills)
return
if startDate is not null and totalDaysSupplied is not null then
Interval[startDate, startDate + Quantity(totalDaysSupplied - 1, 'day') ]
else if startDate is not null and boundsPeriod."high" is not null then
Interval[startDate, date from end of boundsPeriod]
else
null"/>
</extension>
<extension url="displaySequence">
<valueInteger value="51"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCumulativeMedicationDuration"/>
</extension>
<extension url="name">
<valueString value="Quantity"/>
</extension>
<extension url="statement">
<valueString
value="/**********************************************************************/
/* Functions in this region are copied from opioid-mme-r4 */
/**********************************************************************/
define function Quantity(value Decimal, unit String):
if value is not null then
System.Quantity { value: value, unit: unit }
else
null"/>
</extension>
<extension url="displaySequence">
<valueInteger value="52"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value UnitsOfTime): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="53"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCumulativeMedicationDuration"/>
</extension>
<extension url="name">
<valueString value="ToDaily"/>
</extension>
<extension url="statement">
<valueString
value="/*
Goal is to get to number of days
Two broad approaches to the calculation:
1) Based on supply and frequency, calculate the number of expected days the medication will cover/has covered
2) Based on relevant period, determine a covered interval and calculate the length of that interval in days
This topic covers several use cases and illustrates how to calculate Cumulative
Medication Duration for each type of medication resource using the supply and
frequency approach.
*/
/*
For the first approach, we need to get from frequency to a frequency/day
So we define ToDaily
*/
/*
Calculates daily frequency given frequency within a period
*/
define function ToDaily(frequency System.Integer, period System.Quantity):
case period.unit
when 'h' then frequency * (24.0 / period.value)
when 'min' then frequency * (24.0 / period.value) * 60
when 's' then frequency * (24.0 / period.value) * 60 * 60
when 'd' then frequency * (24.0 / period.value) / 24
when 'wk' then frequency * (24.0 / period.value) / (24 * 7)
when 'mo' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */
when 'a' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */
when 'hour' then frequency * (24.0 / period.value)
when 'minute' then frequency * (24.0 / period.value) * 60
when 'second' then frequency * (24.0 / period.value) * 60 * 60
when 'day' then frequency * (24.0 / period.value) / 24
when 'week' then frequency * (24.0 / period.value) / (24 * 7)
when 'month' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */
when 'year' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */
when 'hours' then frequency * (24.0 / period.value)
when 'minutes' then frequency * (24.0 / period.value) * 60
when 'seconds' then frequency * (24.0 / period.value) * 60 * 60
when 'days' then frequency * (24.0 / period.value) / 24
when 'weeks' then frequency * (24.0 / period.value) / (24 * 7)
when 'months' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */
when 'years' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */
else Message(null, true, 'CMDLogic.ToDaily.UnknownUnit', ErrorLevel, 'Unknown unit ' & period.unit)
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="54"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCumulativeMedicationDuration"/>
</extension>
<extension url="name">
<valueString value="timingBoundsToInterval"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Normalizes Timing.repeat.bounds (Duration | Range | Period) to Interval<DateTime>.
@deprecated: Use AtriusCommon.toTimingBoundsInterval(); retained for include compatibility.
*/
define function timingBoundsToInterval(bounds Choice<FHIR.Duration, FHIR.Range, FHIR.Period>):
bounds.toTimingBoundsInterval()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="55"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCommon"/>
</extension>
<extension url="name">
<valueString value="toTimingBoundsInterval"/>
</extension>
<extension url="statement">
<valueString
value="define fluent function toTimingBoundsInterval(bounds Choice<FHIR.Duration, FHIR.Range, FHIR.Period>):
bounds.toInterval()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="56"/>
</extension>
</extension>
<name value="EffectiveDataRequirements"/>
<status value="active"/>
<type>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/library-type"/>
<code value="module-definition"/>
</coding>
</type>
<relatedArtifact>
<type value="depends-on"/>
<display value="AtriusIn model information"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/Library/AtriusIn-ModelInfo|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library FHIRHelpers"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/Library/FHIRHelpers|4.4.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library QICoreCommon"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/Library/AtriusCommon|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Status"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/Library/AtriusStatus|1.15.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Hospice"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/Library/AtriusHospice|6.18.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library AIFrailLTCF"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/Library/AtriusAdvancedIllnessAndFrailty|1.27.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library AtriusCumulativeMedicationDuration"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/Library/AtriusCumulativeMedicationDuration|6.0.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library PalliativeCare"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/Library/AtriusPalliativeCare|1.18.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system LOINC"/>
<resource value="http://loinc.org"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system ConditionVerificationStatusCodes"/>
<resource
value="http://terminology.hl7.org/CodeSystem/condition-ver-status|2.0.1"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system ConditionClinicalStatusCodes"/>
<resource
value="http://terminology.hl7.org/CodeSystem/condition-clinical|3.0.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system DischargeDisposition"/>
<resource
value="http://terminology.hl7.org/CodeSystem/discharge-disposition|1.0.1"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system SNOMEDCT"/>
<resource value="http://snomed.info/sct"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set HbA1c Laboratory Test"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-hba1c-laboratory-test|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Office Visit"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-office-visit|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Annual Wellness Visit"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-annual-wellness-visit|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Preventive Care Services Established Office Visit, 18 and Up"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-preventive-established-18up|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Preventive Care Services Initial Office Visit, 18 and Up"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-preventive-initial-18up|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Home Healthcare Services"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-home-healthcare|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Nutrition Services"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-nutrition-services|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Telephone Visits"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-telephone-visits|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Diabetes"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-diabetes|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Encounter Inpatient"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-encounter-inpatient|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Hospice Encounter"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-hospice-encounter|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Hospice Care Ambulatory"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-hospice-care-ambulatory|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Hospice Diagnosis"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-hospice-diagnosis|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Frailty Device"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-frailty-device|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Frailty Diagnosis"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-frailty-diagnosis|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Frailty Encounter"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-frailty-encounter|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Frailty Symptom"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-frailty-symptom|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Advanced Illness"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-advanced-illness|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Dementia Medications"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-dementia-medications|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Palliative Care Diagnosis"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-palliative-care-diagnosis|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Palliative Care Encounter"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-palliative-care-encounter|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Palliative Care Intervention"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-palliative-care-intervention|0.1.0"/>
</relatedArtifact>
<parameter>
<name value="Measurement Period"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="Period"/>
</parameter>
<parameter>
<name value="ErrorLevel"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="Numerator"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Denominator"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Initial Population"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Denominator Exclusions"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Observation|4.0.1"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="effective"/>
<mustSupport value="value"/>
<codeFilter>
<path value="code"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-hba1c-laboratory-test|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Observation|4.0.1"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="effective"/>
<mustSupport value="value"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://loinc.org"/>
<code value="97506-0"/>
<display value="Glucose management indicator"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Observation|4.0.1"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="effective"/>
<mustSupport value="value"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://loinc.org"/>
<code value="71802-3"/>
<display value="Housing status"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Observation|4.0.1"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="value"/>
<mustSupport value="effective"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://loinc.org"/>
<code value="71802-3"/>
<display value="Housing status"/>
</code>
</codeFilter>
<codeFilter>
<path value="value"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Observation|4.0.1"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="value"/>
<mustSupport value="effective"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://loinc.org"/>
<code value="98181-1"/>
<display value="Medical equipment used"/>
</code>
</codeFilter>
<codeFilter>
<path value="value"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-frailty-device|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Observation|4.0.1"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="effective"/>
<mustSupport value="value"/>
<codeFilter>
<path value="code"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-frailty-symptom|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Patient"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Patient|4.0.1"/>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-office-visit|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-annual-wellness-visit|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-preventive-established-18up|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-preventive-initial-18up|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-home-healthcare|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-nutrition-services|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-telephone-visits|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"/>
<mustSupport value="type"/>
<mustSupport value="hospitalization"/>
<mustSupport value="hospitalization.dischargeDisposition"/>
<mustSupport value="period"/>
<mustSupport value="status"/>
<codeFilter>
<path value="type"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-encounter-inpatient|0.1.0"/>
</codeFilter>
<codeFilter>
<path value="hospitalization.dischargeDisposition"/>
</codeFilter>
<dateFilter>
<path value="period"/>
<valuePeriod>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-expression">
<valueExpression>
<language value="text/cql-identifier"/>
<expression value="Measurement Period"/>
</valueExpression>
</extension>
</valuePeriod>
</dateFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"/>
<mustSupport value="type"/>
<mustSupport value="period"/>
<mustSupport value="status"/>
<codeFilter>
<path value="type"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-hospice-encounter|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-frailty-encounter|0.1.0"/>
</codeFilter>
<codeFilter>
<path value="status"/>
<code>
<code value="finished"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-palliative-care-encounter|0.1.0"/>
</codeFilter>
<codeFilter>
<path value="status"/>
<code>
<code value="finished"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile
value="https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-condition-encounter-diagnosis|0.1.0"/>
<mustSupport value="code"/>
<codeFilter>
<path value="code"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-diabetes|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile
value="https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-condition-encounter-diagnosis|0.1.0"/>
<mustSupport value="code"/>
<codeFilter>
<path value="code"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-hospice-diagnosis|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile
value="https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-condition-encounter-diagnosis|0.1.0"/>
<mustSupport value="code"/>
<mustSupport value="verificationStatus"/>
<codeFilter>
<path value="code"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-frailty-diagnosis|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile
value="https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-condition-encounter-diagnosis|0.1.0"/>
<mustSupport value="code"/>
<mustSupport value="verificationStatus"/>
<codeFilter>
<path value="code"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-advanced-illness|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile
value="https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-condition-encounter-diagnosis|0.1.0"/>
<mustSupport value="code"/>
<mustSupport value="verificationStatus"/>
<codeFilter>
<path value="code"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-palliative-care-diagnosis|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-observation-general-assessment|0.1.0"/>
<mustSupport value="code"/>
<mustSupport value="value"/>
<mustSupport value="effective"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://loinc.org"/>
<code value="45755-6"/>
<display value="Hospice care [Minimum Data Set]"/>
</code>
</codeFilter>
<codeFilter>
<path value="value"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-observation-general-assessment|0.1.0"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="effective"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://loinc.org"/>
<code value="71007-9"/>
<display
value="Functional Assessment of Chronic Illness Therapy - Palliative Care Questionnaire (FACIT-Pal)"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/ServiceRequest|4.0.1"/>
<mustSupport value="code"/>
<mustSupport value="authoredOn"/>
<mustSupport value="status"/>
<mustSupport value="intent"/>
<codeFilter>
<path value="code"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-hospice-care-ambulatory|0.1.0"/>
</codeFilter>
<dateFilter>
<path value="authoredOn"/>
<valuePeriod>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-expression">
<valueExpression>
<language value="text/cql-identifier"/>
<expression value="Measurement Period"/>
</valueExpression>
</extension>
</valuePeriod>
</dateFilter>
</dataRequirement>
<dataRequirement>
<type value="Procedure"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Procedure|4.0.1"/>
<mustSupport value="code"/>
<mustSupport value="performed"/>
<mustSupport value="status"/>
<codeFilter>
<path value="code"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-hospice-care-ambulatory|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Procedure"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Procedure|4.0.1"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="performed"/>
<codeFilter>
<path value="code"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-palliative-care-intervention|0.1.0"/>
</codeFilter>
<codeFilter>
<path value="status"/>
<code>
<code value="completed"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile
value="https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-condition-problems-health-concerns|0.1.0"/>
<mustSupport value="code"/>
<codeFilter>
<path value="code"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-hospice-diagnosis|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile
value="https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-condition-problems-health-concerns|0.1.0"/>
<mustSupport value="code"/>
<mustSupport value="verificationStatus"/>
<codeFilter>
<path value="code"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-frailty-diagnosis|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile
value="https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-condition-problems-health-concerns|0.1.0"/>
<mustSupport value="code"/>
<mustSupport value="verificationStatus"/>
<codeFilter>
<path value="code"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-advanced-illness|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile
value="https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-condition-problems-health-concerns|0.1.0"/>
<mustSupport value="code"/>
<mustSupport value="verificationStatus"/>
<codeFilter>
<path value="code"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-palliative-care-diagnosis|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="DeviceRequest"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/DeviceRequest|4.0.1"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="intent"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-frailty-device|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-relatedRequirement">
<extension url="targetId">
<valueString value="831"/>
</extension>
<extension url="targetProperty">
<valueString value="medication"/>
</extension>
</extension>
<type value="Medication"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Medication|4.0.1"/>
<mustSupport value="id"/>
<mustSupport value="code"/>
<codeFilter>
<path value="code"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-dementia-medications|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement id="831">
<type value="MedicationRequest"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/MedicationRequest|4.0.1"/>
<mustSupport value="medication.reference"/>
<mustSupport value="dosageInstruction"/>
<mustSupport value="dispenseRequest"/>
<mustSupport value="dispenseRequest.expectedSupplyDuration"/>
<mustSupport value="dispenseRequest.quantity"/>
<mustSupport value="dispenseRequest.numberOfRepeatsAllowed"/>
<mustSupport value="dispenseRequest.numberOfRepeatsAllowed.value"/>
<mustSupport value="authoredOn"/>
<mustSupport value="dispenseRequest.validityPeriod"/>
<mustSupport value="status"/>
<mustSupport value="intent"/>
</dataRequirement>
<dataRequirement>
<type value="MedicationRequest"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/MedicationRequest|4.0.1"/>
<mustSupport value="medication"/>
<mustSupport value="dosageInstruction"/>
<mustSupport value="dispenseRequest"/>
<mustSupport value="dispenseRequest.expectedSupplyDuration"/>
<mustSupport value="dispenseRequest.quantity"/>
<mustSupport value="dispenseRequest.numberOfRepeatsAllowed"/>
<mustSupport value="dispenseRequest.numberOfRepeatsAllowed.value"/>
<mustSupport value="authoredOn"/>
<mustSupport value="dispenseRequest.validityPeriod"/>
<mustSupport value="status"/>
<mustSupport value="intent"/>
<codeFilter>
<path value="medication"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-dementia-medications|0.1.0"/>
</codeFilter>
</dataRequirement>
</Library>
</contained>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis">
<valueCode value="boolean"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-supplementalDataGuidance">
<extension url="usage">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
</coding>
</valueCodeableConcept>
</extension>
<extension url="guidance">
<valueMarkdown
value="SDE Sex uses Patient.gender mapped to the same SNOMED Male/Female findings as CMS. SDE Payer uses AtriusIn coverage payer type (PM-JAY, ESIS, private, public, self-pay). SDE Residence (state/district) and SDE Urban Rural replace US Core race and ethnicity and are not US-comparable. Direct CPT/HCPCS nutrition-therapy encounter codes are omitted; Nutrition Services ValueSet carries that intent."/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements">
<valueCanonical value="#effective-data-requirements"/>
</extension>
<url
value="https://atrius.in/fhir/r4/atrius-in/Measure/AtriusCMS122DiabetesAssessGT9Pct"/>
<identifier>
<use value="official"/>
<type>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/artifact-identifier-type"/>
<code value="version-independent"/>
</coding>
</type>
<system value="urn:ietf:rfc:3986"/>
<value value="urn:uuid:babcc365-49df-5b17-988c-656c11cde8f9"/>
</identifier>
<identifier>
<use value="official"/>
<type>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/artifact-identifier-type"/>
<code value="version-specific"/>
</coding>
</type>
<system value="urn:ietf:rfc:3986"/>
<value value="urn:uuid:655fe76d-924c-5ad6-8be8-a4b15f90990b"/>
</identifier>
<identifier>
<use value="usual"/>
<type>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/artifact-identifier-type"/>
<code value="short-name"/>
</coding>
</type>
<value value="CMS122"/>
</identifier>
<identifier>
<use value="official"/>
<system value="https://atrius.in/fhir/r4/atrius-in"/>
<value value="AtriusCMS122DiabetesAssessGT9Pct"/>
</identifier>
<identifier>
<system value="urn:ietf:rfc:3986"/>
<value value="urn:oid:1.3.6.1.4.1.66219.1.29.3"/>
</identifier>
<version value="0.1.0"/>
<name value="AtriusCMS122DiabetesAssessGT9Pct"/>
<title value="Diabetes: HbA1c Poor Control >9% (Atrius CMS122)"/>
<status value="draft"/>
<experimental value="true"/>
<date value="2026-09-21"/>
<publisher value="Atrius"/>
<contact>
<name value="Atrius"/>
<telecom>
<system value="url"/>
<value value="https://atrius.in"/>
</telecom>
</contact>
<description
value="Proportion measure: adults 18–75 with diabetes and a qualifying outpatient encounter whose most recent glycemic status is >9%, missing, or unresulted. CMS labels this intermediate-outcome; THO measure-type 3.0.1 has no such code, so type is outcome. Improvement is decrease."/>
<relatedArtifact>
<type value="depends-on"/>
<display value="Atrius CMS122 CQL Library"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/Library/AtriusCMS122DiabetesAssessGT9Pct|0.1.0"/>
</relatedArtifact>
<library
value="https://atrius.in/fhir/r4/atrius-in/Library/AtriusCMS122DiabetesAssessGT9Pct|0.1.0"/>
<scoring>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/measure-scoring"/>
<code value="proportion"/>
</coding>
</scoring>
<type>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/measure-type"/>
<code value="outcome"/>
</coding>
</type>
<improvementNotation>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-improvement-notation"/>
<code value="decrease"/>
</coding>
</improvementNotation>
<group id="group-1">
<population id="initial-population">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="initial-population"/>
</coding>
</code>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Initial Population"/>
</criteria>
</population>
<population id="denominator">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="denominator"/>
</coding>
</code>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Denominator"/>
</criteria>
</population>
<population id="denominator-exclusion">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="denominator-exclusion"/>
</coding>
</code>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Denominator Exclusions"/>
</criteria>
</population>
<population id="numerator">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="numerator"/>
</coding>
</code>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Numerator"/>
</criteria>
</population>
</group>
</Measure>