HDEF Technical Specifications

advertisement
H-DEF Model Technical Specifications
DESCRIPTION ........................................................................................................................................... 3
ORDER OF OPERATIONS ...................................................................................................................... 3
CORE STRUCTURE: SURVIVAL AND TRANSMISSION PROJECTIONS ................................... 3
CEPAC outputs and time definitions .................................................................................................... 3
User-defined transmission inputs .......................................................................................................... 4
User-defined epidemic and population inputs ...................................................................................... 4
Survival calculations ............................................................................................................................... 5
p(m,c)
// proportion alive after month m in run c ............................................................................. 5
Ninf(t,c)
// number of HIV-infected individuals from run c alive in month t ..................................... 5
NinfTotal(t) // total number of HIV-infected individuals alive in month t .............................................. 5
Infectivity calculations ............................................................................................................................ 5
f(m,c)
// proportion of cohort with unsuppressed viral load that is on ART ..................................... 5
I(v,m,c)
// proportion of cohort in viral load bucket v during month m of run c .............................. 5
adjR(v,m,c)
b(m,c)
// adjusted transmission rate in bucket v during month m of run c ............................... 5
// average adjusted transmission rate in month m of run c .................................................... 5
btotal(t) // transmission rate for all individuals with HIV in month t ................................................... 5
Susceptible population dynamics........................................................................................................... 6
Nsusc(t)
E(t)
// number of susceptible individuals alive in month t ........................................................... 6
// number of susceptible entrants in month t .............................................................................. 6
Nsusc(t)
// number of susceptible individuals alive in month t ........................................................... 6
Transmission calculations ...................................................................................................................... 6
P(t)
T(t,c)
// HIV prevalence in month t...................................................................................................... 6
// number of new infections in month t that will be described by run c .................................. 6
COST AND QOL PROJECTIONS ........................................................................................................... 7
CEPAC cost and QOL outputs .............................................................................................................. 7
User-defined cost and QOL inputs ........................................................................................................ 7
Cost and QOL calculations .................................................................................................................... 7
avgOutcome(m,c)
// average “outcomes” accrued per person in month m of run c ......................... 7
infOutcometotal(t) // “outcomes” accrued for all individuals with HIV in month t ............................. 7
suscTestCost(t)
// HIV test cost accrued by susceptibles in month t ............................................... 8
1
suscQALMs(t) // QALMs accrued by susceptibles in month t .......................................................... 8
totalSuscBgCost(t)
totalInfBgCost(t)
totalPopCost(t)
// background healthcare cost accrued by susceptibles in month t .................... 8
// background healthcare cost accrued by susceptibles in month t ....................... 8
// total cost accrued by population in month t .......................................................... 8
totalPopQALMs(t)
// total QALMs accrued by population in month t ............................................. 8
CASCADE OF CARE PROJECTIONS ................................................................................................... 9
propOnART(m,c)
// proportion of HIV-infected on ART in month m of run c................................ 9
infOnARTtotal(t)
// proportion of all HIV-infected on ART in month t .............................................. 9
propSupp(m,c)
// proportion of HIV-infected with suppressed HVL in month m of run c .............. 9
infSupptotal(t)
// proportion of all HIV-infected with suppressed HVL month t ................................. 9
2
Description
This document describes the technical specifications of the H-DEF transmission model.
Order of operations
In each month of simulation, the model will perform its calculations in the following order:
START MONTH t
1.
2.
3.
4.
Project survival of HIV-infected population.
Project costs of HIV-infected population.
Project new infections (incorporate new infections into HIV-infected population).
Calculate number of susceptible entrants to population/add new susceptibles to population.
END MONTH t; START MONTH t+1
Core structure: survival and transmission projections
CEPAC outputs and time definitions
m = months after the start of a CEPAC run
m = 0 is the start of a CEPAC run; m = 1 is after one month
t = months after the start of an H-DEF analysis
t = 0 is the start of an H-DEF run
At any month t in H-DEF, there will be a number of infected individuals at a variety of different
values of m. For example, if m = 0 corresponds to the time of infection, then at time t, we must
account for the individuals who were infected at time t, t – 1, t – 2, ... t = 0; these correspond to
m = 0, 1, 2, … t
c = for an analysis in which multiple CEPAC runs are used for epidemic projections, c indicates which
run each variable refers to
c can take values from 0 to 9 (or more if need be – but 0 to 9 should usually be sufficient)
numAlive(m,c) = the number of individuals alive after month m of a CEPAC run
numAlive(0,c) is the number of individuals who start a run, typically 1,000,000
numAlive(1,c) is the number who survive the first month
v = viral load bucket in CEPAC
v takes values from 0 to 6, corresponding to the 7 viral load buckets; 0 is HVL vLo, 6 is HVL vHi
numHVL(v,m,c) = the number of individuals in HVL bucket v after month m of a CEPAC run
numOnARTsupp(m,c) = the number of individuals on ART and suppressed after month m of a CEPAC
run
numOnARTfail(m,c) = the number of individuals on ART and failed after month m of a CEPAC run
3
User-defined transmission inputs
r(v) = the monthly transmission rate for an HIV-infected person in viral load bucket v
da = the duration of acute infection, in months
Ra = transmission rate multiplier during acute infection
Rf = transmission rate multiplier for individuals who are on ART but have failed
useAcute(c) = indicates whether to apply the acute multiplier to run c
1 = yes; 2 = no
baselineAcute(c) = indicates whether to treat patients in run c as being in the acute state but having a
distribution of months since infection at t = 0
1 = yes; 2 = no
copyBack(c) = indicates whether to copy the transmission rate from month m to all months prior to m
0,-1 = no copying; 1, 2, etc. = copy transmission rate back from specified month
User-defined epidemic and population inputs
desiredPop(t) = desired population size at the end of month t
initPrev = desired prevalence at t = 0
newInfDistrib(t,c) = proportion of new infections entering H-DEF in month t who will be described by
run c
newInfDistrib(0,c) = proportion of initial HIV-infected persons described by run c
∑c newInfDistrib(t,c) should always be equal to 1 for all values of t
J = transmission calibration term to capture infection risk heterogeneity
H = transmission calibration term to increase/decrease all transmission rates equally
4
Survival calculations
p(m,c)
// proportion alive after month m in run c
return numAlive(m,c)/numAlive(0,c)
Ninf(t,c)
// number of HIV-infected individuals from run c alive in month t
Note: T(t,c) is the number of new infections in month t described by run c; it is defined below
j=0
For all values of i from 0 to t, inclusive
j = j + T(t – i,c) * p(i,c)
return j
NinfTotal(t) // total number of HIV-infected individuals alive in month t
j=0
For all values of i from 0 to 9, inclusive
j = j + Ninf(t,i)
return j
Infectivity calculations
f(m,c)
// proportion of cohort with unsuppressed viral load that is on ART
return numOnARTfail(m,c)/[numAlive(m,c) - numHVL(0,m,c)]
I(v,m,c) // proportion of cohort in viral load bucket v during month m of run c
return numHVL(v,m,c)/numAlive(m,c)
adjR(v,m,c) // adjusted transmission rate in bucket v during month m of run c
IF m = 0, return 0, ELSE
IF v = 0, return r(v), ELSE
IF m > da, return r(v) * [f(m,c)*Rf + (1 – f(m,c))], ELSE
IF baselineAcute(c) = 0, return r(v) * Ra * [f(m,c)*Rf + (1 – f(m,c)), ELSE
return r(v) * Ra * (da + 1 – m)/da * [f(m,c)*Rf + (1 – f(m,c))
b(m,c)
// average adjusted transmission rate in month m of run c
IF(m < copyBack(c), return b(copyBack(c)), ELSE
j=0
For all values of v from 0 to 6, inclusive
j = j + I(v,m,c) * adjR(v,m,c)
return j
btotal(t)
// transmission rate for all individuals with HIV in month t
Note: T(t,c) is the number of new infections in month t described by run c; it is defined below
j=0
For all values of h from 0 to 9, inclusive
For all values of i from 0 to t, inclusive
j = j + T(t – i,h) * p(i,h) * b(i,h)
return j
5
Susceptible population dynamics
Model in calibration mode:
Nsusc(t)
E(t)
// number of susceptible individuals alive in month t
return desiredPop(t) – NinfTotal(t)
// number of susceptible entrants in month t
return Nsusc(t) – [Nsusc(t-1) – T(t,0) – T(t,1)… – T(t,9)]
Model in analysis mode:
Nsusc(t)
// number of susceptible individuals alive in month t
return [Nsusc(t-1) – T(t,0) – T(t,1)… – T(t,9)] + E(t)
Transmission calculations
P(t)
T(t,c)
// HIV prevalence in month t
return NinfTotal(t)/[NinfTotal(t) + NSusc(t)]
// number of new infections in month t that will be described by run c
return newInfDistrib(t,c) * [1 – P(t-1)] * btotal(t) * H * e-J * P(t-1)
6
Cost and QOL projections
CEPAC cost and QOL outputs
costTotal(m,c) = total cost accrued in month m of a CEPAC run
costART1(m,c) = cost accrued due to ART regimen 1 in month m of a CEPAC run
…
costART10(m,c) = cost accrued due to ART regimen 1 in month m of a CEPAC run
costHVL(m,c) = cost accrued due to HVL monitoring in month m of a CEPAC run
costCD4(m,c) = cost accrued due to CD4 monitoring in month m of a CEPAC run
costHIVtest(m,c) = cost accrued due to HIV testing in month m of a CEPAC run
QALMs(m,c) = QALMs accrued in month m of a CEPAC run
User-defined cost and QOL inputs
mthlyProbHIVtest = monthly probability that a susceptible individual in H-DEF will get an HIV test
costHIVtest = cost accrued each time a susceptible individual in H-DEF gets an HIV test
HIVtestQOL = QOL multiplier each time a susceptible individual in H-DEF gets an HIV test
suscAvgQOL = average QOL for a susceptible individual
discRate = yearly discount rate to be applied to costs and QALYs
bgCostSusc = monthly healthcare cost of susceptible individuals
bgCostInf = monthly background healthcare cost of infected individuals
Cost and QOL calculations
The calculations of each of the various types of cost and QALMs from CEPAC outputs are identical.
Hence, this document will show a generalized calculation based on the CEPAC output outcome(m,c),
which could be a stand-in for the accrual of any particular cost, or for QALMs.
All cost and QALMs calculations which are a function of t can be discounted using the standard
discounting formula; for clarity, I have not shown this in the below formulas.
avgOutcome(m,c) // average “outcomes” accrued per person in month m of run c
return outcome(m,c)/numAlive(m,c)
infOutcometotal(t) // “outcomes” accrued for all individuals with HIV in month t
j=0
For all values of h from 0 to 9, inclusive
For all values of i from 0 to t, inclusive
7
j = j + T(t – i,h) * p(i,h) * avgOutcome(i,h)
return j
The above formulas can be applied to all costs and QALMs outputs from CEPAC. The formulas below
refer to specific types of costs and QALMs specified in H-DEF.
suscTestCost(t) // HIV test cost accrued by susceptibles in month t
return Nsusc(t) * mthlyProbHIVtest * costHIVtest
suscQALMs(t) // QALMs accrued by susceptibles in month t
return Nsusc(t) * suscAvgQOL * [(1 – mthlyProbHIVtest)) + HIVtestQOL * mthlyProbHIVtest]
totalSuscBgCost(t) // background healthcare cost accrued by susceptibles in month t
return Nsusc(t) * bgCostSusc
totalInfBgCost(t) // background healthcare cost accrued by susceptibles in month t
return NinfTotal(t) * bgCostInf
totalPopCost(t) // total cost accrued by population in month t
return totalSuscBgCost(t) + totalInfBgCost(t) + suscTestCost(t) + infCostTotal total(t)
totalPopQALMs(t) // total QALMs accrued by population in month t
return suscQALMs(t) + infQALMstotal(t)
8
Cascade of care projections
Cascade of care calculations follow essentially the same structure as the cost and QALM calculations
presented above. However, since there are only two cascade outcomes, I will show both:
propOnART(m,c) // proportion of HIV-infected on ART in month m of run c
return [numOnARTsupp(m,c) + numOnARTfail(m,c)]/numAlive(m,c)
infOnARTtotal(t) // proportion of all HIV-infected on ART in month t
j=0
For all values of h from 0 to 9, inclusive
For all values of i from 0 to t, inclusive
j = j + T(t – i,h) * p(i,h) * propOnART(i,h)
return j
propSupp(m,c) // proportion of HIV-infected with suppressed HVL in month m of run c
return numHVL(0,m,c)/numAlive(m,c)
infSupptotal(t) // proportion of all HIV-infected with suppressed HVL month t
j=0
For all values of h from 0 to 9, inclusive
For all values of i from 0 to t, inclusive
j = j + T(t – i,h) * p(i,h) * propSupp(i,h)
return j
9
Download