0.1.0 - ci-build
HIVFHIRIG, published by intellisoftkenya. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/IntelliSOFT-Consulting/HIV-FHIR-IG/ and changes regularly. See the Directory of published versions
Draft as of 2024-09-16 |
<Measure xmlns="http://hl7.org/fhir">
<id value="HIVIND29"/>
<meta>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm"/>
<profile
value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablemeasure"/>
<profile
value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablemeasure"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/computable-measure-cqfm"/>
</meta>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: Measure HIVIND29</b></p><a name="HIVIND29"> </a><a name="hcHIVIND29"> </a><a name="HIVIND29-en-US"> </a><p><b>org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis</b>: boolean</p><p><b>org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem</b>: <a href="Device-cqf-tooling.html">Device: manufacturer = CQFramework; type = tooling</a></p><p><b>org/fhir/us/cqfmeasures/StructureDefinition/cqfm-effectiveDataRequirements</b>: <a href="#hcHIVIND29/effective-data-requirements">EffectiveDataRequirements</a></p><p><b>url</b>: <a href="Measure-HIVIND29.html">Measure HIV.IND.29 People living with HIV on ART who have suppressed viral load</a></p><p><b>version</b>: 0.1.0</p><p><b>name</b>: HIVIND29</p><p><b>title</b>: HIV.IND.29 People living with HIV on ART who have suppressed viral load</p><p><b>status</b>: Draft</p><p><b>experimental</b>: true</p><p><b>date</b>: 2024-09-16</p><p><b>publisher</b>: intellisoftkenya</p><p><b>contact</b>: intellisoftkenya: <a href="https://www.intellisoftkenya.com/">https://www.intellisoftkenya.com/</a></p><p><b>description</b>: </p><div><p>% of people living with HIV on ART (for at least six months) who have virological suppression</p>
</div><p><b>library</b>: <a href="Library-HIVIND29Logic.html">HIV.IND.29 Logic</a></p><p><b>scoring</b>: <span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-scoring proportion}">Proportion</span></p><blockquote><p><b>group</b></p><blockquote><p><b>population</b></p><blockquote><p><b>id</b></p>HIV.IND.29.IP</blockquote><p><b>code</b>: <span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-population initial-population}">Initial Population</span></p><p><b>description</b>: Initial Population</p><h3>Criteria</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Language</b></td><td><b>Expression</b></td></tr><tr><td style="display: none">*</td><td>CQL</td><td>Initial Population</td></tr></table></blockquote><blockquote><p><b>population</b></p><blockquote><p><b>id</b></p>HIV.IND.29.DEN</blockquote><p><b>code</b>: <span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-population denominator}">Denominator</span></p><p><b>description</b>: Number of people living with HIV on ART at least six months with at least one routine VL result in a medical or laboratory record during the reporting period, to monitor progress towards the third 95 target | | In addition, this can also be presented as the number with suppressed VL among all people living with HIV to calculate population-level viral suppression.</p><h3>Criteria</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Language</b></td><td><b>Expression</b></td></tr><tr><td style="display: none">*</td><td>CQL</td><td>Denominator</td></tr></table></blockquote><blockquote><p><b>population</b></p><blockquote><p><b>id</b></p>HIV.IND.29.NUM</blockquote><p><b>code</b>: <span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-population numerator}">Numerator</span></p><p><b>description</b>: Number of people living with HIV on ART for at least six months and with at least one routine VL test result who have virological suppression (<1000 copies/mL) during the reporting period.</p><h3>Criteria</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Language</b></td><td><b>Expression</b></td></tr><tr><td style="display: none">*</td><td>CQL</td><td>Numerator</td></tr></table></blockquote><blockquote><p><b>stratifier</b></p><blockquote><p><b>id</b></p>HIV.IND.29.S</blockquote><h3>Criteria</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Language</b></td><td><b>Expression</b></td></tr><tr><td style="display: none">*</td><td>CQL</td><td>Stratification</td></tr></table></blockquote></blockquote></div>
</text>
<contained>
<Library>
<id value="effective-data-requirements"/>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.B.DE116"/>
<display value="HIV-positive"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
<code value="active"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-category"/>
<code value="encounter-diagnosis"/>
<display value="Encounter Diagnosis"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.B.DE115"/>
<display value="HIV status"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.H.DE47"/>
<display value="On ART"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.D.DE38"/>
<display value="On ART"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.D.DE387"/>
<display value="Viral load test result"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="missing concepts"/>
<code value="viral load test"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.D.DE392"/>
<display value="Routine viral load test"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.A.DE20"/>
<display value="Male"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.A.DE19"/>
<display value="Female"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.A.DE22"/>
<display value="Transgender female"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.A.DE21"/>
<display value="Transgender male"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.A.DE23"/>
<display value="Other"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.B.DE49"/>
<display value="Key population member*"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/observation-category"/>
<code value="social-history"/>
<display value="Social History"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVElements"/>
</extension>
<extension url="name">
<valueString value="HIV Status Positive Condition"/>
</extension>
<extension url="statement">
<valueString
value="define "HIV Status Positive Condition":
[Condition: Concepts."HIV-positive - HIV.B.DE116"] C
where C.clinicalStatus ~ ConceptsCustom."active"
and exists(C.category CC where CC ~ ConceptsCustom."encounter-diagnosis")
sort by start of onset.toInterval()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="0"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVIndicatorElements"/>
</extension>
<extension url="name">
<valueString value="HIV Status Positive Condition"/>
</extension>
<extension url="statement">
<valueString
value="define "HIV Status Positive Condition":
Elements."HIV Status Positive Condition" C
where C.onset before end of "Measurement Period""/>
</extension>
<extension url="displaySequence">
<valueInteger value="1"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVElements"/>
</extension>
<extension url="name">
<valueString value="HIV Status Observation"/>
</extension>
<extension url="statement">
<valueString
value="/* End of HIV-inconclusive */
/*
@dataElement: HIV.B.DE115 - HIV status
@activity: HIV.B7 Test for HIV using testing algorithm
@description: HIV status reported after applying the national HIV testing algorithm. No single HIV test can provide an HIV-positive diagnosis.
*/
define "HIV Status Observation":
[Observation: Concepts."HIV status"] O
where O.status in { 'final', 'amended', 'corrected' }"/>
</extension>
<extension url="displaySequence">
<valueInteger value="2"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVElements"/>
</extension>
<extension url="name">
<valueString value="HIV Status Positive Observation"/>
</extension>
<extension url="statement">
<valueString
value="define "HIV Status Positive Observation":
"HIV Status Observation" O
where O.value ~ Concepts."HIV-positive - HIV.B.DE116"
sort by start of effective.toInterval()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="3"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVIndicatorElements"/>
</extension>
<extension url="name">
<valueString value="HIV Status Positive Observation"/>
</extension>
<extension url="statement">
<valueString
value="define "HIV Status Positive Observation":
Elements."HIV Status Positive Observation" O
where O.issued before end of "Measurement Period"
or O.effective.toInterval() starts before end of "Measurement Period""/>
</extension>
<extension url="displaySequence">
<valueInteger value="4"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVIndicatorElements"/>
</extension>
<extension url="name">
<valueString value="Has HIV-positive Status"/>
</extension>
<extension url="statement">
<valueString
value="define "Has HIV-positive Status":
exists "HIV Status Positive Condition"
or exists "HIV Status Positive Observation""/>
</extension>
<extension url="displaySequence">
<valueInteger value="5"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVElements"/>
</extension>
<extension url="name">
<valueString value="On ART H.DE47"/>
</extension>
<extension url="statement">
<valueString
value="/* End of Refused stopped treatment */
/*
@dataElement: HIV.H.DE47 - On ART
@activity: HIV.H3 Record outreach and result
@description: Client is currently taking ART
*/
define "On ART H.DE47":
[MedicationStatement] MS
where exists(MS.reasonCode C where C ~ Concepts."On ART - HIV.H.DE47")
sort by start of effective.toInterval()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="6"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVIndicatorElements"/>
</extension>
<extension url="name">
<valueString value="On ART H.DE47"/>
</extension>
<extension url="statement">
<valueString
value="/* End of Refused stopped treatment */
/*
@dataElement: HIV.H.DE47 - On ART
@activity: HIV.H3 Record outreach and result
@description: Client is currently taking ART
*/
define "On ART H.DE47":
exists(Elements."On ART H.DE47" ART
where ART.effective.toInterval() starts before end of "Measurement Period"
and (ART.effective.toInterval() ends after start of "Measurement Period")
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="7"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVElements"/>
</extension>
<extension url="name">
<valueString value="On ART D.DE38"/>
</extension>
<extension url="statement">
<valueString
value="/* End of Serodiscordant partner D.DE37 */
/*
@dataElement: HIV.D.DE38 - On ART
@activity: HIV.D8 Capture or update client history
@description: Client is currently taking ART
*/
define "On ART D.DE38":
[MedicationStatement] MS
where exists(MS.reasonCode C where C ~ Concepts."On ART - HIV.D.DE38")
sort by start of effective.toInterval()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="8"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVElements"/>
</extension>
<extension url="name">
<valueString value="First On ART"/>
</extension>
<extension url="statement">
<valueString
value="define "First On ART":
(First("On ART D.DE38"))"/>
</extension>
<extension url="displaySequence">
<valueInteger value="9"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVElements"/>
</extension>
<extension url="name">
<valueString value="Viral load test result D.DE387"/>
</extension>
<extension url="statement">
<valueString
value="/* End of Time to start ART */
/*
@dataElement: HIV.D.DE387 - Viral load test result
@activity: HIV.D20 Diagnostics
@description: Result from the viral load test in number of copies/mL
*/
define "Viral load test result D.DE387":
[Observation: Concepts."Viral load test result - HIV.D.DE387"] O
where O.status in { 'final', 'amended', 'corrected' }"/>
</extension>
<extension url="displaySequence">
<valueInteger value="10"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVIndicatorElements"/>
</extension>
<extension url="name">
<valueString value="Viral load test result D.DE387"/>
</extension>
<extension url="statement">
<valueString
value="/* End of Date of baseline CD4 count test D.DE368 */
/*
@dataElement: HIV.D.DE387 - Viral load test result
@activity: HIV.D20 Diagnostics
@description: Result from the viral load test in number of copies/mL
*/
define "Viral load test result D.DE387":
Elements."Viral load test result D.DE387" O
where O.effective.toInterval() during "Measurement Period""/>
</extension>
<extension url="displaySequence">
<valueInteger value="11"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVElements"/>
</extension>
<extension url="name">
<valueString value="routine viral load sample collection"/>
</extension>
<extension url="statement">
<valueString
value="define "routine viral load sample collection":
[Procedure] P
where P.status = 'completed'
and P.code ~ ConceptsCustom."viral load test"
and exists(P.reasonCode RC where RC ~ Concepts."Routine viral load test")"/>
</extension>
<extension url="displaySequence">
<valueInteger value="12"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVIND29Logic"/>
</extension>
<extension url="name">
<valueString value="Numerator"/>
</extension>
<extension url="statement">
<valueString
value="/**
* Numerator
*
* Definition: Number of people living with HIV on ART for at least six months and with at least one routine VL test result who have virological suppression (<1000 copies/mL*) during the reporting period.
* Calculation: COUNT of clients with "HIV status"='HIV-positive' AND "On ART"=True and "ART start date" GREATER THAN 6 months before reporting period end date AND "Date of viral load sample collection" within reporting period AND "Reason for HIV viral load test"='Routine viral load test' AND "Viral load test result" LESS THAN 1000 copies/mL
*/
define "Numerator":
HIE."Has HIV-positive Status"
and HIE."On ART H.DE47"
and
(months between (end of "Measurement Period") and (date from start of HE."First On ART".effective.toInterval()) > 6 months)
and
exists(
HIE."Viral load test result D.DE387" VL
with HE."routine viral load sample collection" P
such that VL.partOf.references(P) and P.performed.toInterval() during "Measurement Period"
where VL.value < 1000
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="13"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVIND29Logic"/>
</extension>
<extension url="name">
<valueString value="Denominator"/>
</extension>
<extension url="statement">
<valueString
value="/**
* Denominator
*
* Definition: Number of people living with HIV on ART at least six months with at least one routine VL result in a medical or laboratory record during the reporting period, to monitor progress towards the third 95 target | | In addition, this can also be presented as the number with suppressed VL among all people living with HIV to calculate population-level viral suppression.
* Calculation: COUNT of clients with "HIV status"='HIV-positive' AND "On ART"=True and "ART start date" GREATER THAN 6 months before reporting period end date AND "Date of viral load sample collection" within reporting period AND "Reason for HIV viral load test"='Routine viral load test'
*/
define "Denominator":
HIE."Has HIV-positive Status"
and HIE."On ART H.DE47"
and
(months between (end of "Measurement Period") and (date from start of HE."First On ART".effective.toInterval()) > 6 months)
and
exists(
HIE."Viral load test result D.DE387" VL
with HE."routine viral load sample collection" P
such that VL.partOf.references(P) and P.performed.toInterval() during "Measurement Period"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="14"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVIND29Logic"/>
</extension>
<extension url="name">
<valueString value="Initial Population"/>
</extension>
<extension url="statement">
<valueString
value="/* Populations */
/*
*Initial Population
*/
define "Initial Population":
true"/>
</extension>
<extension url="displaySequence">
<valueInteger value="15"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVIndicatorElements"/>
</extension>
<extension url="name">
<valueString value="By Administrative Gender Stratifier"/>
</extension>
<extension url="statement">
<valueString
value="/* End of Age */
/*
@dataElement: HIV.A.DE18 - Gender
@activity: HIV.A6.1 Review sociodemographic data with client | HIV.A5 Create new client record
@description: Gender of the client
*/
/*
* By Administrative Gender of Patient Stratifier
* Need to expand codes
*/
define "By Administrative Gender Stratifier":
case
when Patient.gender = 'male' then Concepts."Male"
when Patient.gender = 'female' then Concepts."Female"
when Patient.gender = 'transgender female' then Concepts."Transgender female"
when Patient.gender = 'transgender male' then Concepts."Transgender male"
else Concepts."Other - HIV.A.DE23"
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="16"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVIndicatorElements"/>
</extension>
<extension url="name">
<valueString value="Age In Years"/>
</extension>
<extension url="statement">
<valueString
value="/* End of Visit date A.DE3 */
/*
@dataElement: HIV.A.DE17 - Age
@activity: HIV.A6.1 Review sociodemographic data with client | HIV.A5 Create new client record
@description: Calculated age (number of years) of the client based on date of birth
*/
define "Age In Years":
AgeInYearsAt(start of "Measurement Period")"/>
</extension>
<extension url="displaySequence">
<valueInteger value="17"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVIndicatorElements"/>
</extension>
<extension url="name">
<valueString value="By Age Stratifier"/>
</extension>
<extension url="statement">
<valueString
value="/*
* By Age Stratifiers
* (0–4, 5–9, 10–14, 15–19, 20–24, 25–29, 30–34, 35–39, 40–44, 45–49, 50+ years)
*
*/
define "By Age Stratifier":
case
when "Age In Years" <= 4 then '0-4'
when "Age In Years" <= 9 then '5-9'
when "Age In Years" <= 14 then '10–14'
when "Age In Years" <= 19 then '15–19'
when "Age In Years" <= 24 then '20–24'
when "Age In Years" <= 29 then '25–29'
when "Age In Years" <= 34 then '30–34'
when "Age In Years" <= 39 then '35–39'
when "Age In Years" <= 44 then '40–44'
when "Age In Years" <= 49 then '45–49'
when "Age In Years" >= 50 then '50+'
else null
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="18"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVIndicatorElements"/>
</extension>
<extension url="name">
<valueString value="By Geographic Region Stratifier"/>
</extension>
<extension url="statement">
<valueString
value="// Geographic Region
define "By Geographic Region Stratifier":
First(Patient.address A where A.use in { 'home' }).state"/>
</extension>
<extension url="displaySequence">
<valueInteger value="19"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVElements"/>
</extension>
<extension url="name">
<valueString value="Key population member type Observation"/>
</extension>
<extension url="statement">
<valueString
value="/* End of Key population member B.DE49 */
/*
@dataElement: HIV.B.DE50 - Key population member type
@activity: HIV.B6 Capture or update client history
@description: The type of key population that the client is included in
*/
define "Key population member type Observation":
[Observation: Concepts."Key population member - HIV.B.DE49"] O
where O.status in { 'final', 'amended', 'corrected' }
and exists(O.category OC where OC ~ ConceptsCustom."social-history")"/>
</extension>
<extension url="displaySequence">
<valueInteger value="20"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVIndicatorElements"/>
</extension>
<extension url="name">
<valueString value="Key population member type Observation"/>
</extension>
<extension url="statement">
<valueString
value="define "Key population member type Observation":
Elements."Key population member type Observation" O
where O.effective.toInterval() before end of "Measurement Period"
or O.issued before end of "Measurement Period""/>
</extension>
<extension url="displaySequence">
<valueInteger value="21"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVIndicatorElements"/>
</extension>
<extension url="name">
<valueString value="patientGroups"/>
</extension>
<extension url="statement">
<valueString
value="// Stratifier
define patientGroups:
"Key population member type Observation" O
return Combine(O.code.coding.code, ':')"/>
</extension>
<extension url="displaySequence">
<valueInteger value="22"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HIVIND29Logic"/>
</extension>
<extension url="name">
<valueString value="Stratification"/>
</extension>
<extension url="statement">
<valueString
value="define "Stratification":
HIE."By Administrative Gender Stratifier".code
+ ':' + HIE."By Age Stratifier"
+ ':' + HIE."By Geographic Region Stratifier"
+ Combine(HIE.patientGroups, ':')"/>
</extension>
<extension url="displaySequence">
<valueInteger value="23"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToConcept"/>
</extension>
<extension url="statement">
<valueString
value="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="24"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-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="25"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-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="26"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToDateTime"/>
</extension>
<extension url="statement">
<valueString
value="define function ToDateTime(value instant): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="27"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-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="28"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="WHOCommon"/>
</extension>
<extension url="name">
<valueString value="references"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns true if any of the given references are to the given resource
@comment: Returns true if the `id` element of the given resource exactly equals the tail of any of the given references.
NOTE: This function assumes resources from the same source server.
*/
define fluent function references(references List<FHIR.Reference>, resource FHIR.Resource):
exists (references R where R.references(resource))"/>
</extension>
<extension url="displaySequence">
<valueInteger value="29"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="WHOCommon"/>
</extension>
<extension url="name">
<valueString value="references"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns true if the given reference is to the given resource
@comment: Returns true if the `id` element of the given resource exactly equals the tail of the given reference.
NOTE: This function assumes resources from the same source server.
*/
define fluent function references(reference FHIR.Reference, resource FHIR.Resource):
resource.id = Last(Split(reference.reference, '/'))"/>
</extension>
<extension url="displaySequence">
<valueInteger value="30"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-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="31"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToInteger"/>
</extension>
<extension url="statement">
<valueString
value="define function ToInteger(value integer): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="32"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value AdministrativeGender): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="33"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value AddressUse): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="34"/>
</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="Library HIE"/>
<resource value="Library/HIVIndicatorElements"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Elements"/>
<resource value="Library/HIVElements"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Concepts"/>
<resource value="Library/HIVConcepts"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library FHIRHelpers"/>
<resource value="Library/FHIRHelpers|4.0.1"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library ConceptsCustom"/>
<resource value="Library/HIVConceptsCustom"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library WC"/>
<resource value="Library/WHOCommon"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library FHIRHelpers"/>
<resource value="Library/FHIRHelpers|4.0.1"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library WC"/>
<resource value="Library/WHOCommon"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library WCom"/>
<resource value="Library/WHOCommon"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library HE"/>
<resource value="Library/HIVElements"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library FHIRHelpers"/>
<resource value="Library/FHIRHelpers|4.0.1"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library FHIRHelpers"/>
<resource value="Library/FHIRHelpers|4.0.1"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Concepts"/>
<resource value="Library/HIVConcepts"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system HIVConcepts"/>
<resource value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system ConditionClinicalStatusCodes"/>
<resource
value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system ConditionCategoryCodes"/>
<resource
value="http://terminology.hl7.org/CodeSystem/condition-category"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system missing concepts"/>
<resource value="missing concepts"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system ObservationCategoryCodes"/>
<resource
value="http://terminology.hl7.org/CodeSystem/observation-category"/>
</relatedArtifact>
<parameter>
<name value="Measurement Period"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="Period"/>
</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="Stratification"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<dataRequirement>
<type value="Condition"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Condition"/>
<mustSupport value="code"/>
<mustSupport value="clinicalStatus"/>
<mustSupport value="category"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.B.DE116"/>
<display value="HIV-positive"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Condition"/>
<mustSupport value="code"/>
<mustSupport value="clinicalStatus"/>
<mustSupport value="category"/>
<mustSupport value="onset"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.B.DE116"/>
<display value="HIV-positive"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.B.DE115"/>
<display value="HIV status"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="value"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.B.DE115"/>
<display value="HIV status"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="value"/>
<mustSupport value="issued"/>
<mustSupport value="effective"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.B.DE115"/>
<display value="HIV status"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="MedicationStatement"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/MedicationStatement"/>
<mustSupport value="reasonCode"/>
</dataRequirement>
<dataRequirement>
<type value="MedicationStatement"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/MedicationStatement"/>
<mustSupport value="reasonCode"/>
<mustSupport value="effective"/>
</dataRequirement>
<dataRequirement>
<type value="MedicationStatement"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/MedicationStatement"/>
<mustSupport value="reasonCode"/>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.D.DE387"/>
<display value="Viral load test result"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="effective"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.D.DE387"/>
<display value="Viral load test result"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Procedure"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Procedure"/>
<mustSupport value="status"/>
<mustSupport value="code"/>
<mustSupport value="reasonCode"/>
</dataRequirement>
<dataRequirement>
<type value="Procedure"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Procedure"/>
<mustSupport value="status"/>
<mustSupport value="code"/>
<mustSupport value="reasonCode"/>
<mustSupport value="performed"/>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="effective"/>
<mustSupport value="partOf"/>
<mustSupport value="value"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.D.DE387"/>
<display value="Viral load test result"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Procedure"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Procedure"/>
<mustSupport value="status"/>
<mustSupport value="code"/>
<mustSupport value="reasonCode"/>
<mustSupport value="performed"/>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="effective"/>
<mustSupport value="partOf"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.D.DE387"/>
<display value="Viral load test result"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Patient"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
</dataRequirement>
<dataRequirement>
<type value="Patient"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
<mustSupport value="use"/>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="category"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.B.DE49"/>
<display value="Key population member*"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="category"/>
<mustSupport value="effective"/>
<mustSupport value="issued"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.B.DE49"/>
<display value="Key population member*"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="category"/>
<mustSupport value="effective"/>
<mustSupport value="issued"/>
<mustSupport value="code.coding"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://smart.who.int/hiv/CodeSystem/HIVConcepts"/>
<code value="HIV.B.DE49"/>
<display value="Key population member*"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="MedicationStatement"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/MedicationStatement"/>
<mustSupport value="reasonCode"/>
</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-softwaresystem">
<valueReference>🔗
<reference value="Device/cqf-tooling"/>
</valueReference>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-effectiveDataRequirements" id="effective-data-requirements">
<valueReference>
<reference value="#effective-data-requirements"/>
</valueReference>
</extension>
<url value="http://smart.who.int/hiv/Measure/HIVIND29"/>
<version value="0.1.0"/>
<name value="HIVIND29"/>
<title
value="HIV.IND.29 People living with HIV on ART who have suppressed viral load"/>
<status value="draft"/>
<experimental value="true"/>
<date value="2024-09-16"/>
<publisher value="intellisoftkenya"/>
<contact>
<name value="intellisoftkenya"/>
<telecom>
<system value="url"/>
<value value="https://www.intellisoftkenya.com/"/>
</telecom>
</contact>
<description
value="% of people living with HIV on ART (for at least six months) who have virological suppression"/>
<library value="http://smart.who.int/hiv/Library/HIVIND29Logic"/>
<scoring>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/measure-scoring"/>
<code value="proportion"/>
<display value="Proportion"/>
</coding>
</scoring>
<group>
<population id="HIV.IND.29.IP">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="initial-population"/>
<display value="Initial Population"/>
</coding>
</code>
<description value="Initial Population"/>
<criteria>
<language value="text/cql"/>
<expression value="Initial Population"/>
</criteria>
</population>
<population id="HIV.IND.29.DEN">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="denominator"/>
<display value="Denominator"/>
</coding>
</code>
<description
value="Number of people living with HIV on ART at least six months with at least one routine VL result in a medical or laboratory record during the reporting period, to monitor progress towards the third 95 target | | In addition, this can also be presented as the number with suppressed VL among all people living with HIV to calculate population-level viral suppression."/>
<criteria>
<language value="text/cql"/>
<expression value="Denominator"/>
</criteria>
</population>
<population id="HIV.IND.29.NUM">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="numerator"/>
<display value="Numerator"/>
</coding>
</code>
<description
value="Number of people living with HIV on ART for at least six months and with at least one routine VL test result who have virological suppression (<1000 copies/mL) during the reporting period."/>
<criteria>
<language value="text/cql"/>
<expression value="Numerator"/>
</criteria>
</population>
<stratifier id="HIV.IND.29.S">
<criteria>
<language value="text/cql"/>
<expression value="Stratification"/>
</criteria>
</stratifier>
</group>
</Measure>