WHO SMART Guidelines - HIV
0.3.0 - ci-build

WHO SMART Guidelines - HIV - Local Development build (v0.3.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Library: HIV.IND.90 Logic (Experimental)

Official URL: http://smart.who.int/hiv/Library/HIVIND90Logic Version: 0.3.0
Draft as of 2024-12-06 Computable Name: HIVIND90Logic

% of people living with HIV and diagnosed with HBV infection who are on TDF-based ART

Title: HIV.IND.90 Logic
Id: HIVIND90Logic
Version: 0.3.0
Url: HIV.IND.90 Logic
Status: draft
Experimental: true
Type:

system: http://terminology.hl7.org/CodeSystem/library-type

code: logic-library

Date: 2024-12-06 22:28:12+0000
Publisher: WHO
Description:

% of people living with HIV and diagnosed with HBV infection who are on TDF-based ART

Related Artifacts:

Dependencies

Parameters:
NameTypeMinMaxIn/Out
Measurement PeriodPeriod01In
PatientPatient01Out
Initial Populationboolean01Out
Numeratorboolean01Out
Denominatorboolean01Out
Administrative Gender StratifierCoding01Out
Age Stratifierstring01Out
Geographic Region Stratifierstring01Out
patientGroups Stratifierstring0*Out
Stratificationstring01Out
Content: text/cql
/**
 * Library: HIV.IND.90 Logic
 * Ref No: HEP.5
 * Short Name: HBV treatment among people living with HIV
 *
 * Definition: % of people living with HIV and diagnosed with HBV infection who are on TDF-based ART
 *
 * Numerator: Number of people newly started on HBV treatment (TDF) during the reporting period  | plus | Number of people living with HIV who are already on TDF-based ART
 * Numerator Calculation: COUNT of clients with "HIV status"='HIV-positive' AND "HBsAg test date" in the reporting period AND "HBsAg test result"=' HBsAg positive' AND "HBV treatment (TDF) start date" in the reporting period | + | COUNT of clients with "HIV status"='HIV-positive' AND "HBsAg test date" in the reporting period AND "HBsAg test result"=' HBsAg positive' AND "Currently on TDF-based ART"
 * Numerator Exclusions: 
 *
 * Denominator: Number of people living with HIV who were diagnosed with HBV
 * Denominator Calculation: COUNT of clients with "HIV status"='HIV-positive' AND "HBsAg test date" in the reporting period AND "HBsAg test result"='HBsAg positive'
 * Denominator Exclusions: 
 *
 * Disaggregations:
 * • Gender (male, female, other*) 
 *  • Age (15–19, 20–24, 25–29, 30–49, 50+ years) 
 *  • Key population (men who have sex with men, people living in prisons and other closed settings, people who inject drugs, sex workers, trans and gender diverse people)** 
 *  • Cities and other administrative regions of epidemiologic importance
 *
 * Disaggregation Elements: Gender | Age | Key population member type
 *
 * Numerator and Denominator Elements:
 * Currently on TDF-based ART 
 *  HBV treatment (TDF) start date 
 *  HBsAg test date 
 *  HBsAg test result 
 *  HIV status
 *
 * Reference: Consolidated guidelines on person-centred HIV strategic information: strengthening routine data for impact. Geneva: World Health Organization; 2022
 * 
 * Data Concepts:
 * HIV.A.DE17: Age | Calculated age (number of years) of the client based on date of birth
 * HIV.A.DE18: Gender* | Gender of the client*
 * HIV.A.DE19: Female | Client identifies as female
 * HIV.A.DE20: Male | Client identifies as male
 * HIV.A.DE21: Transgender male | Client identifies as transgender male
 * HIV.A.DE22: Transgender female | Client identifies as transgender female
 * HIV.A.DE23: Other | Additional category
 * HIV.B.DE50: Key population member type* | The type of key population that the client is included in
 * HIV.B.DE51: Sex worker | Client is a sex worker
 * HIV.B.DE52: Men who have sex with men | Client is a man who has sex with men
 * HIV.B.DE53: Trans and gender-diverse people | Client identifies as trans and gender-diverse
 * HIV.B.DE54: People who inject drugs | Client is a person who injects drugs
 * HIV.B.DE55: People living in prisons and other closed settings | Client lives in a prison or another closed setting
 * HIV.B.DE115: HIV status | HIV status reported after applying the national HIV testing algorithm. No single HIV test can provide an HIV-positive diagnosis.
 * HIV.B.DE116: HIV-positive | Client is HIV-positive
 * HIV.B.DE117: HIV-negative | Client is HIV-negative
 * HIV.B.DE118: Unknown | Client has unknown HIV status
 * HIV.D.DE161: HBsAg test date | Date client was tested for hepatitis B virus (HBV)
 * HIV.D.DE162: HBsAg test result | Hepatitis B virus test result (HBsAg)
 * HIV.D.DE163: Positive | HBsAg test result was positive
 * HIV.D.DE164: Negative | HBsAg test result was negative
 * HIV.D.DE165: Indeterminate | HBsAg test result was indeterminate
 * HIV.D.DE167: HBV treatment (TDF) start date | Date when client started treatment (TDF) for hepatitis B virus (HBV)
 * HIV.D.DE185: Currently on TDF-based ART | Client is currently on TDF-based ART regimen
 * HIV.E.DE114: Key population member type* | The type of key population that the infant's mother is included in
 * HIV.E.DE115: Sex worker | Infant's mother is a sex worker
 * HIV.E.DE116: People who inject drugs | Infant's mother is a person who injects drugs
 * HIV.E.DE117: Trans and gender-diverse people | Infant's mother identifies as trans and gender-diverse
 * HIV.E.DE118: People living in prisons and other closed setting | Infant's mother is in a prison or closed setting
 * HIV.G.DE17: HBsAg test date | Date client was tested for hepatitis B virus (HBV)
 * HIV.G.DE18: HBsAg test result | Hepatitis B virus test result (HBsAg)
 * HIV.G.DE19: Positive | HBsAg test result was positive
 * HIV.G.DE20: Negative | HBsAg test result was negative
 * HIV.G.DE21: Indeterminate | HBsAg test result was indeterminate
 *
 * Additional Context
 * - what it measures: Percentage of people living with HIV and infected with HBV who are currently on treatment
 * - rationale: • The prevalence of HBV is high among people living with HIV. | • The use of tenofovir offers good potential for harmonizing treatment across different populations, as tenofovir + lamivudine (or emtricitabine) is the preferred nucleoside reverse transcriptase inhibitor (NRTI) backbone for persons coinfected with HIV and HBV and also can be used among persons with TB and pregnant women.
 * - method: Patient monitoring tools (electronic or paper), EMR/electronic information systems
 * 
 * Suggested Scoring Method: proportion | http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm
 */

library HIVIND90Logic

// Included Libraries
using FHIR version '4.0.1'

include HIVCommon version '0.0.1' called HIC
include FHIRHelpers version '4.0.1'

include WHOCommon called WCom
include HIVElements called HE
include HIVIndicatorElements called HIE
include HIVConfig called Config

// Indicator Definition
parameter "Measurement Period" Interval<Date> default Interval[@2023-01-01, @2023-01-30]

context Patient
/* Populations */

/*
 *Initial Population
 */

define "Initial Population":
  true

/**
 * Numerator
 * 
 * Definition: Number of people newly started on HBV treatment (TDF) during the reporting period  | plus | Number of people living with HIV who are already on TDF-based ART
 * Calculation: COUNT of clients with "HIV status"='HIV-positive' AND "HBsAg test date" in the reporting period AND "HBsAg test result"=' HBsAg positive' AND "HBV treatment (TDF) start date" in the reporting period | + | COUNT of clients with "HIV status"='HIV-positive' AND "HBsAg test date" in the reporting period AND "HBsAg test result"=' HBsAg positive' AND "Currently on TDF-based ART"
 */

define "Numerator":
  HIE."Has HIV-positive Status" and
  exists(HE."Positive D.DE163" G
  with HE."HBsAg test date D.DE161" P
  such that G.partOf.references(P) and P.performed.toInterval() during "Measurement Period") and
  (exists(HE."HBV treatment TDF start date" MS where start of MS.effective.toInterval() during "Measurement Period") or
  exists(HE."HBV treatment TDF start date" MS where  MS.effective.toInterval() overlaps "Measurement Period")
  )



/**
 * Denominator
 *
 * Definition: Number of people living with HIV who were diagnosed with HBV
 * Calculation: COUNT of clients with "HIV status"='HIV-positive' AND "HBsAg test date" in the reporting period AND "HBsAg test result"='HBsAg positive'
 */

define "Denominator":
  HIE."Has HIV-positive Status" and
  exists(HE."Positive D.DE163" G
  with HE."HBsAg test date D.DE161" P
  such that G.partOf.references(P) and P.performed.toInterval() during "Measurement Period")
    

/* end Populations */


/*
 * Disaggregators
 */

define "Administrative Gender Stratifier":
	HIE."By Administrative Gender Stratifier"

define "Age Stratifier":
	HIE."By Age Stratifier 2"

define "Geographic Region Stratifier":
	HIE."By Geographic Region Stratifier"

define "patientGroups Stratifier":
	HIE."patientGroups"


define "Stratification":
 HIE."By Administrative Gender Stratifier".code 
  + ':' + HIE."By Age Stratifier 2"
+ ':' + HIE."By Geographic Region Stratifier"
+ Combine(HIE.patientGroups, ':')

Content: application/elm+xml
Encoded data (63568 characters)
Content: application/elm+json
Encoded data (109096 characters)