Modeling DALYs

iHEA Congress, July 2023

Motivation

Goal

A Novel Decision Model for Cardiovascular Disease (CVD) Prevention and Treatment in South Africa

Challenges

  • DALYs require two components:
    1. Years Lived with a Disability (YLD)
    2. Years of Life Lost to Premature Mortality (YLL)
  • Not straightforward to calculate YLLs in a standard Markov model.

Challenges

  • As a consequence, many applications use “hacks” and/or shortcuts.
    • “QALY-like” DALYs
    • Model YLD only
  • We’ll show you a way to adapt any model to calculate YLDs and YLLs.

Learning Objectives

  1. Structuring a model to calculate YLLs and YLDs.

  2. Approaches for calculating YLLs.

  3. Incremental cost-effectiveness analysis based on DALYs

I. Structuring a model to calculate YLLs and YLDs.

Roadmap

  • In this section, we’ll build out a very simple model for cardiovascular disease (CVD).
  • Later, we’ll augment the model with country-specific information from the United Kingdom.
  • In the case study, we’ll adapt the model to incorporate South African data.

Simple CVD Model

  • Healthy individuals transition to a CVD health state (rate = 0.02/person-year).
  • Individuals in the CVD state have a risk of death from CVD-related causes (rate=0.1/person-year).
  • All individuals have a background (non-CVD) rate of death (0.01/person-year).

Simple CVD Model

G Healthy Healthy Healthy->Healthy CVD CVD Healthy->CVD r_CVD Dead Dead Healthy->Dead r_Dead CVD->CVD CVD->Dead r_Dead + r_DeathCVD Dead->Dead

Where We’re Headed

  • Suppose we use all the tools covered earlier (rate matrix, embedding, etc.) to yield a transition probability matrix.
Healthy CVD Dead
Healthy 0.97 0.019 0.011
CVD 0.00 0.896 0.104
Dead 0.00 0.000 1.000

Where We’re Headed

  • Suppose we use all the tools covered earlier (rate matrix, embedding, etc.) to yield a transition probability matrix.
  • Row sums all equal 1.0.
Healthy CVD Dead
Healthy 0.97 0.019 0.011
CVD 0.00 0.896 0.104
Dead 0.00 0.000 1.000

Where We’re Headed

  • To facilitate YLL calculations, we will augment this matrix with a “Non-Markovian” tracker for deaths from CVD.
  • This tracker will be matched with life expectancy data to calculate YLLs.
  • We will also include disability weights for the CVD health state to calculate YLDs.

Where We’re Headed

Healthy CVD Dead
Healthy 0.97 0.019 0.011
CVD 0.00 0.896 0.104
Dead 0.00 0.000 1.000

Where We’re Headed

Healthy CVD Dead tr_DeathCVD
Healthy 0.97 0.019 0.011 .
CVD 0 0.896 0.104 .
Dead 0 0 1 .
tr_DeathCVD . . . .

Where We’re Headed

Healthy CVD Dead tr_DeathCVD
Healthy 0.97 0.019 0.011 .
CVD 0 0.896 0.104 .
Dead 0 0 1 .
tr_DeathCVD . . . .

The rows in green are the “Markovian” part of the matrix, while those in purple are in the “Non-Markovian” part.

Augmenting the Transition Matrix

Augmenting the Transition Matrix

  • As covered this morning, all roads begin from the transition rate matrix.
  • For modeling DALYs, no change in how we initially construct the rate matrix:
    • Place rates as appropriate.
    • Diagonal of Markovian elements is the negative sum of the other row elements.

Augmenting the Transition Matrix

  • Rate matrix for basic CVD model
  • Note that the rate of death from CVD health state (0.11) is the background (non-CVD) mortality rate (0.01) plus an additional risk of death from CVD (0.10).
Healthy CVD Dead
Healthy -0.03 0.02 0.01
CVD 0.00 -0.11 0.11
Dead 0.00 0.00 0.00

Augmenting the Transition Matrix

  • We will next add a row and a column to this rate matrix.
  • This extra row and column will help us track movements from the CVD state to the Death state due to death from CVD.

To begin, just add a row and column of zeros.

Healthy CVD Dead tr_DeathCVD
Healthy -0.03 0.02 0.01 0.000
CVD 0.00 -0.11 0.11 0.000
Dead 0.00 0.00 0.00 0.000
tr_DeathCVD 0.00 0.00 0.00 0.000

Non-Markovian Tracker

  • Next, fill in the appropriate transition rate that we want to track.
  • For YLL, we need to track the total number of premature deaths due to CVD (i.e., r_DeathCVD in bubble diagram).

Bubble Diagram

G Healthy Healthy Healthy->Healthy CVD CVD Healthy->CVD r_CVD Dead Dead Healthy->Dead r_Dead CVD->CVD CVD->Dead r_Dead + r_DeathCVD Dead->Dead

Non-Markovian Trackers

Healthy CVD Dead tr_DeathCVD
Healthy -0.03 0.02 0.01 0.000
CVD 0.00 -0.11 0.11 0.100
Dead 0.00 0.00 0.00 0.000
tr_DeathCVD 0.00 0.00 0.00 0.000
  • The tracked rate in red (0.1) is the rate of transition from the CVD state to death due to CVD.
  • Note that we did not change anything else!
  • The rows in the Markovian matrix (green) still add to zero.

Embed the Matrix

  • Now we embed the rate matrix into a transition probability matrix, just as we did this morning.
  • The transition probability matrix now includes a Markovian submatrix (green) and a non-Markovian component (purple).

Embed the Matrix

  • Now we embed the rate matrix into a transition probability matrix, just as we did this morning.
  • The transition probability matrix now includes a Markovian submatrix (green) and a non-markovian component (purple).
Healthy CVD Dead tr_DeathCVD
Healthy 0.9704 0.0187 0.0109 0.0010
CVD 0.0000 0.8958 0.1042 0.0947
Dead 0.0000 0.0000 1.0000 0.0000
tr_DeathCVD 0.0000 0.0000 0.0000 1.0000

Note that the Markovian (green) submatrix of the transition probability matrix still has rows that sum to one.

Healthy CVD Dead tr_DeathCVD
Healthy 0.9704 0.0187 0.0109 0.0010
CVD 0.0000 0.8958 0.1042 0.0947
Dead 0.0000 0.0000 1.0000 0.0000
tr_DeathCVD 0.0000 0.0000 0.0000 1.0000

Also note that the tracker allows for compound transitions (e.g., Healthy CVD Death from CVD in a single cycle).

Healthy CVD Dead tr_DeathCVD
Healthy 0.9704 0.0187 0.0109 0.0010
CVD 0.0000 0.8958 0.1042 0.0947
Dead 0.0000 0.0000 1.0000 0.0000
tr_DeathCVD 0.0000 0.0000 0.0000 1.0000

There is one more adaptation we need to make to calculate YLLs.

  • We want to track transitions from CVD to death from CVD.
Healthy CVD Dead tr_DeathCVD
Healthy 0.9704 0.0187 0.0109 0.0010
CVD 0.0000 0.8958 0.1042 0.0947
Dead 0.0000 0.0000 1.0000 0.0000
tr_DeathCVD 0.0000 0.0000 0.0000 1.0000

After we embed, the tr_DeathCVD state becomes an absorbing state (i.e., people don’t leave it once they enter).

Healthy CVD Dead tr_DeathCVD
Healthy 0.9704 0.0187 0.0109 0.001
CVD 0.0000 0.8958 0.1042 0.095
Dead 0.0000 0.0000 1.0000 0.000
tr_DeathCVD 0.0000 0.0000 0.0000 1.000

  • If we keep the 1.0 probability in the tr_DeathCVD tr_DeathCVD cell, we have created an accumulator state.
  • An accumulator state can be used to caclulate the cumulative total of cohort members that have transitioned to a given state in a given cycle.
  • This could be useful information!
    • For example, differences in the total number of people who die of CVD may be a decision-relevant outcome.

Accumulator Transition States

  • To record only transitions that occur in the cycle, we simply adapt the probability matrix by replacing the 1.0 with a 0.0.

Accumulator Transition States

  • To record only transitions that occur in the cycle, we simply adapt the probability matrix by replacing the 1.0 with a 0.0.
Healthy CVD Dead tr_DeathCVD
Healthy 0.97 0.019 0.011 0.001
CVD 0.00 0.896 0.104 0.095
Dead 0.00 0.000 1.000 0.000
tr_DeathCVD 0.00 0.000 0.000 0.000

Transition States

  • That’s it! We can now construct a Markov trace based on our augmented transition probability matrix.
Healthy CVD Dead tr_DeathCVD
Healthy 0.97 0.019 0.011 0.001
CVD 0.00 0.896 0.104 0.095
Dead 0.00 0.000 1.000 0.000
tr_DeathCVD 0.00 0.000 0.000 0.000

Transition States: Summary

  • The green (Markovian) component of this transition matrix allows us to construct the Markov trace to record health state occupancy at each cycle.
  • The purple (non-Markovian) component allows us to track a one time event (death from CVD).

Transition States: Summary

  • This is key for calculating the years of life lost to disease (YLL) since we know the cycle (age) of premature death.
  • To do this, we’ll use the tracking column to apply a “payoff” based on remaining life expectancy.
  • This comes in Part II of this lecture.

Transition States: Summary

  • Transition states can also be useful for costs and other outcomes.
    • For example, transition states can be used to record one-time costs in the model (e.g., cost of death from CVD).

Transition States: Summary

  • You can add as many accumulator or transition states as you need.
  • Just add more rows and columns and insert the transition rate you want to track!

Summary

Transition State

Records the total number/percentage of cohort members who transition to a health state(s) in a given cycle. Used to calculate YLLs.

  1. Add row and column to transition rate matrix.
  2. Insert the transition rate(s) you want to track in the new column.
  3. Embed the transition probability matrix using the matrix exponential
  4. Replace the 1.0 probability of remaining in the transition state to 0.0.

Summary

Accumulator State

Records the total number/percentage of cohort members who have transitioned to a health state(s) up to the cycle.

  1. Add row and column to transition rate matrix.
  2. Insert the transition rate(s) you want to track in the new column.
  3. Embed the transition probability matrix using the matrix exponential.

II. Calculating YLLs and YLDs

We now have our transition probability matrix with a non-Markovian tracker for recording deaths from CVD.

  • How can we use this to calculate YLLs, a key component of DALYs?
Healthy CVD Dead tr_DeathCVD
Healthy 0.97 0.019 0.011 0.001
CVD 0.00 0.896 0.104 0.095
Dead 0.00 0.000 1.000 0.000
tr_DeathCVD 0.00 0.000 0.000 0.000

Calculating YLL and YLD

  • We’ll next show you the formulas for calculating YLL and YLD.
  • We’ll then show you how to integrate these formulas into discrete time using the Markov trace and payoffs.

Years of Life Lost (YLL)

  • WHO still recommends discounting for cost-effectiveness analyses (CEAs).
  • With no age weighting (now recommended by WHO) the formula for YLL is

Years of Life Lost (YLL)

  • With no age weighting (now recommended by WHO) the formula for YLL is

\[ YLL_{x} = \frac{1}{r}\left(1-e^{-r E_{x}}\right) \] where \(r\) is the discount rate and \(E_x\) is remaining life expectancy at the time of death (x).

Source: Fox-Rushby and Hanson (2001); Larson (2013)

Years of Life Lost (YLL)

  • This formula essentially calculates the present value of remaining life expectancy at the time of death.

Years of Life Lost (YLL)

  • YLL formula calculates the present value of remaining life expectancy at the time of death.
    • It therefore explicitly incorporates discounting, but only at the time of death.

\[ YLL_{x} = \frac{1}{r}\left(1-e^{-r E_{x}}\right) \]

Years of Life Lost (YLL)

  • In a Markov model, we typically discount all the way back to the model beginning.
    • The discounting in the YLL formula doesn’t get us quite there, unless the individual dies in the first cycle.
    • We therefore still need to discount further later on.
    • We do this in the usual way for a Markov cohort model.

Years Lived With Disability (YLD)

  • Essentially the same, but we multiply by the disability weight:

Years Lived With Disability (YLD)

  • Essentially the same, but we multiply by the disability weight:

\[ YLD_x = D \left ( \frac{1}{r}\left(1-e^{-rL }\right) \right ) \] where \(r\) is the discount rate, \(D\) is the disability weight, and \(L\) is the number of years lived with disability.

YLL and YLD in Discrete Time

  • To calculate YLL and YLD in a discrete time Markov model, we need to convert these into payoffs that apply in each cycle.

YLL and YLD Payoffs in Discrete Time

YLL: Present Value of Remaining Life Expectancy at Time of Death

\(\frac{1}{r}\left(1-e^{-r E_{x}}\right)\)

  • This payoff calculates the (discounted) value of remaining life expectancy at the time of death.
  • It applies once—in the cycle when death occurs.
  • In our Markov model, we’ll use tr_DeathCVD to track these one-time YLL payoffs.

YLL and YLD Payoffs in Discrete Time

YLD: Adjusted Disability Weight for Each Cycle in the Disease State

\(D \left ( \frac{1}{r}\left(1-e^{-r}\right) \right )\)

  • This payoff is a slightly discounted (for the cycle length only) disability weight.
  • It applies in each cycle in the diseased state.
  • In our Markov model, we’ll apply this YLD payoff using the CVD health state.

Example: Markov Trace

  • Let’s set our cohort size to 1 and run the full Markov model (100 cycles) to construct a Markov trace.
  • Here is a sample of the trace.

Example: Markov Trace

  • Let’s set our cohort size to 1 and run the full Markov model (100 cycles) to construct a Markov trace.
  • Here is a sample of the trace.
cycle Healthy CVD Dead tr_DeathCVD
0 1 0 0 0
1 0.97 0.019 0.011 0.001
... ... ... ... ...
19 0.566 0.11 0.324 0.011
20 0.549 0.11 0.342 0.011

YLL “Payoff”

  • In this model, our cohort starts Healthy at age 55.
  • We see in the trace (tr_DeathCVD) that in the 20th cycle (age 75), 1.1% of the cohort dies due to CVD.
cycle age Healthy CVD Dead tr_DeathCVD
0 55 1 0 0 0
1 56 0.97 0.019 0.011 0.001
... ... ... ... ... ...
19 74 0.566 0.11 0.324 0.011
20 75 0.549 0.11 0.342 0.011

YLL “Payoff”

  • In this model, our cohort starts Healthy at age 55.
  • We see in the trace (tr_DeathCVD) that in the 20th cycle (age 75), 1.1% of the cohort dies due to CVD.
cycle age Healthy CVD Dead tr_DeathCVD
0 55 1 0 0 0
1 56 0.97 0.019 0.011 0.001
... ... ... ... ... ...
19 74 0.566 0.11 0.324 0.011
20 75 0.549 0.11 0.342 0.011

YLL “Payoff”

  • These are premature deaths due to CVD.
  • How much longer would these 75 year-olds be expected to live if they did not develop CVD?
  • In other words, what is the value of \(E_x\)?

YLL “Payoff”

  • Recall from this morning’s lecture that to calculate YLL we often draw on a reference (or “synthetic”) life table data from the Global Burden of Disease.

YLL “Payoff”

  • Recall from this morning’s lecture that to calculate YLL we often draw on a reference (or “synthetic”) life table data from the Global Burden of Disease.
  • Based on the reference life table, a 75-year old would have a remaining life expectancy of 17.10 years.
GBD Reference Life Table
Age Life.Expectancy
...
55 34.91
60 30.25
65 25.68
70 21.28
75 17.10
80 13.24
...

YLL “Payoff”

  • We can incorporate this reference life expectancy into our model to define a YLL “payoff” (which is really a penalty) for a 75 year old.
  • 17.10 is not quite the right value we shou use, however.
  • We need to use the YLL formula (provided earlier) to calculate the present value at the time of death.

YLL “Payoff”

With a 3% discount rate

\[ 13.379 = \frac{1}{0.03}\left(1-e^{-0.03* 17.10}\right) \]

YLL “Payoff”

  • We incorporate the present value of reference life expectancy into our model to define a YLL “payoff” (which is really a penalty) of 13.377 for a 75 year old.
Cycle Age Healthy CVD Dead tr_DeathCVD LE_GBD PV_LE_GBD
0 55 1.000 0.000 0.000 0.000 34.915 21.639
1 56 0.970 0.019 0.011 0.001 34.915 21.639
... ... ... ... ... ... ... ...
20 75 0.549 0.110 0.342 0.011 17.104 13.379
21 76 0.533 0.108 0.359 0.011 17.104 13.379

YLL “Payoff”

  • We can now multiply the fraction of the cohort who dies in each cycle by the reference life expectancy value, and sum up across all cycles to estimate YLLs:
Cycle Age Healthy CVD Dead tr_DeathCVD LE_GBD PV_LE_GBD YLL
0 55 1.000 0.000 0.000 0.000 34.915 21.639 0
1 56 0.970 0.019 0.011 0.001 34.915 21.639 0.022
... ... ... ... ... ... ... ... ...
20 75 0.549 0.110 0.342 0.011 17.104 13.379 0.147
21 76 0.533 0.108 0.359 0.011 17.104 13.379 0.147

YLL “Payoff”

  • Before we sum up across all cycles, we need to apply further discounting (and cycle adjustments) to get these values discounted further back to the beginning of the model.
Sum of YLL
4.1518

“Exogenous” vs. “Endogenous” Life Tables

  • In this example, we used the reference life table from the GBD.
  • Because this life table reflects a population outside the population of interest, it is sometimes referred to as an “exogenous” life table (Anand and Reddy 2019).

“Exogenous” vs. “Endogenous” Life Tables

  • In principle, you could also use an “endogenous” life table based on the country or cohort you are modeling.
  • For in-depth discussion of tradeoffs and assumptions, see Anand and Reddy (2019)

Life Table Type Example Availability Source
Exogenous Global Burden of Disease Reference Life Table Freely available online. Global Burden of Disease Collaborative Network (2021)

Life Table Type Example Availability Source
Exogenous Global Burden of Disease Reference Life Table Freely available online. Global Burden of Disease Collaborative Network (2021)
Endogenous South Africa Life Table Available from GBD or country-specific vital statistics data. Global Burden of Disease Collaborative Network (2020b)

Life Table Type Example Availability Source
Exogenous Global Burden of Disease Reference Life Table Freely available online. Global Burden of Disease Collaborative Network (2021)
Endogenous South Africa Life Table Available from GBD or country-specific vital statistics data. Global Burden of Disease Collaborative Network (2020b)
Endogenous Life Table Constructed from Modeled Cohort Must be calculated using model itself. Caswell and van Daalen (2021)

Calculating YLDs

  • Years of life lived with a disability (YLD) is the second component of a DALY.
  • Calculating YLDs is much more straightforward.
  • Unlike QALYs, which use utility weights, YLDs draw on standardized disability weights from the Global Burden of Disease Collaborative Network (2020a) .

Calculating YLDs

Calculating YLDs

  • CVD disability weight: 0.072

Calculating YLDs

Recall from earlier the cycle payoff is

\[ D \left ( \frac{1}{r}\left(1-e^{-r}\right) \right ) \]

Calculating YLDs

\[ 0.070931 = 0.072 \left ( \frac{1}{0.03}\left(1-e^{-0.03}\right) \right ) \]

Calculating YLDs

Markov Trace (1st 5 cycles)
Healthy CVD Dead tr_DeathCVD
1.000 0.000 0.000 0.000
0.970 0.019 0.011 0.001
0.942 0.035 0.023 0.003
0.914 0.049 0.037 0.004
0.887 0.061 0.052 0.005
0.861 0.071 0.068 0.007
YLD Payoff Vector
Healthy CVD Dead tr_DeathCVD
0 0.0709 0 0
YLD
YLD_cycle

Calculating YLDs

Markov Trace (1st 5 cycles)
Healthy CVD Dead tr_DeathCVD
1.000 0.000 0.000 0.000
0.970 0.019 0.011 0.001
0.942 0.035 0.023 0.003
0.914 0.049 0.037 0.004
0.887 0.061 0.052 0.005
0.861 0.071 0.068 0.007
YLD Payoff Vector
Healthy CVD Dead tr_DeathCVD
\(\quad\) \(\quad\) \(\quad\) \(\quad\)
0 0.0709 0 0
YLD
YLD_cycle
\(\quad\)
0.001

Calculating YLDs

Markov Trace (1st 5 cycles)
Healthy CVD Dead tr_DeathCVD
1.000 0.000 0.000 0.000
0.970 0.019 0.011 0.001
0.942 0.035 0.023 0.003
0.914 0.049 0.037 0.004
0.887 0.061 0.052 0.005
0.861 0.071 0.068 0.007
YLD Payoff Vector
Healthy CVD Dead tr_DeathCVD
\(\quad\) \(\quad\) \(\quad\) \(\quad\)
\(\quad\) \(\quad\) \(\quad\) \(\quad\)
0 0.0709 0 0
YLD
YLD_cycle
\(\quad\)
0.001
0.002

Calculating YLDs

Markov Trace (1st 5 cycles)
Healthy CVD Dead tr_DeathCVD
1.000 0.000 0.000 0.000
0.970 0.019 0.011 0.001
0.942 0.035 0.023 0.003
0.914 0.049 0.037 0.004
0.887 0.061 0.052 0.005
0.861 0.071 0.068 0.007
YLD Payoff Vector
Healthy CVD Dead tr_DeathCVD
\(\quad\) \(\quad\) \(\quad\) \(\quad\)
\(\quad\) \(\quad\) \(\quad\) \(\quad\)
\(\quad\) \(\quad\) \(\quad\) \(\quad\)
0 0.0709 0 0
YLD
YLD_cycle
\(\quad\)
0.001
0.002
0.003

Calculating YLDs

Markov Trace (1st 5 cycles)
Healthy CVD Dead tr_DeathCVD
1.000 0.000 0.000 0.000
0.970 0.019 0.011 0.001
0.942 0.035 0.023 0.003
0.914 0.049 0.037 0.004
0.887 0.061 0.052 0.005
0.861 0.071 0.068 0.007
YLD Payoff Vector
Healthy CVD Dead tr_DeathCVD
\(\quad\) \(\quad\) \(\quad\) \(\quad\)
\(\quad\) \(\quad\) \(\quad\) \(\quad\)
\(\quad\) \(\quad\) \(\quad\) \(\quad\)
\(\quad\) \(\quad\) \(\quad\) \(\quad\)
\(\quad\) \(\quad\) \(\quad\) \(\quad\)
0 0.0709 0 0
YLD
YLD_cycle
\(\quad\)
0.001
0.002
0.003
0.004
0.005

Calculating YLDs

Sum up across all cycles (and apply cycle adjustments) to yield total YLDs:

YLD
0.39961

Calculating DALYs

DALYs is the sum of YLL and YLD:

Total DALYs
YLL YLD DALY
6.638 0.4 7.037

Results Without Discounting

If you do not want to discount YLLs and YLDs, the payoff values become much simpler

  • YLL: Use \(Ex\) from the relevant life table as the “payoff” for death.
  • YLD: Use \(D\) as the “payoff” for a cycle in the disease state.

III. Incremental cost-effectiveness analysis based on DALYs

Incremental CEA

  • For this section, we’ll build on the simple CVD model and incorporate country- and time-specific CVD death rates.

  • This model is the basis for the Excel case study we’ll work through in a bit.

  • We’ll start with a model that uses United Kingdom CVD incidence and death data.

Bubble Diagram

Basic model structure stays the same. For age a and country c:

G Healthy Healthy Healthy->Healthy CVD CVD Healthy->CVD r_CVD[a,c] Dead Dead Healthy->Dead r_Dead[a,c] CVD->CVD CVD->Dead r_Dead[a,c] + r_DeathCVD[a,c] Dead->Dead

Bubble Diagram: United Kingdom

Basic model structure stays the same. For age a and country c:

G Healthy Healthy Healthy->Healthy CVD CVD Healthy->CVD r_CVD[a,UK] Dead Dead Healthy->Dead r_Dead[a,UK] CVD->CVD CVD->Dead r_Dead[a,UK] + r_DeathCVD[a,UK] Dead->Dead

Cardiovascular Disease (CVD) Model

  • CVD indicence r_CVD[a,c] and CVD death rate r_DeathCVD[a,c] are from global burden of disease (GBD) data.
  • Background mortality r_Dead[a,c] based on cause (CVD)-deleted life table constructed from GBD life table data.

Cardiovascular Disease (CVD) Model

  • Cost of CVD state is 500/year.
  • One-time cost of death from CVD is 25000

Strategies

  1. Natural History: Status Quo Reference Case
  2. Prevention: New prevention scheme costs 10/year and reduces the incidence of CVD (HR = 0.9).
  3. Treatment: New treatment option costs 500/year and reduces the likelihood of death from CVD (HR = 0.85).
  4. Prevention and Treatment: Strategies #2 and #3 combined.

Steps

  1. Create a rate matrix for each strategy, including non-Markovian CVD death trackers to facilitate calculation of YLL.

  2. Embed each transition probability matrix using the rate matrices.

Steps

  1. Create a rate matrix for each strategy, including non-Markovian CVD death trackers.

  2. Embed each transition probability matrix using the rate matrices.

Make sure that CVD death transition state is nonabsorbing!

Steps

  1. Define cost payoffs for each strategy.

3. Define cost payoffs for each strategy.

Strategy Healthy CVD Dead tr_DeathCVD
Natural History 0 500 0 25000
Prevention 10 500 0 25000
Treatment 0 500 + 500 0 25000
Prevention + Treatment 10 500 + 500 0 25000

Steps

  1. Define health outcome payoffs for each strategy.

4. Define health outcome payoffs for each strategy.

Strategy Healthy CVD Dead tr_DeathCVD
Natural History 0 0.04039 0 PV of remaining life expectancy at time of death.
Prevention 0 0.04039 0 PV of remaining life expectancy at time of death.
Treatment 0 0.04039 0 PV of remaining life expectancy at time of death.
Prevention + Treatment 0 0.04039 0 PV of remaining life expectancy at time of death.

Note: PV = present value.

Steps

  1. Calculate cycle-specific cost and health outcomes.

  2. Summarize total cost and health outcomes.

Steps

  1. Calculate cycle-specific cost and health outcomes.

  2. Summarise total cost and health outcomes.

Include discounting and cycle adjustments (e.g., half-cycle adjustment, Simpson’s rule, etc.).

Cycle Costs: Prevention Strategy

cycle cycle_cost discount_rate cycle_correction total_cost
0 10.000 1.00000 0.00000 0.0000
1 10.064 0.97087 0.33333 3.2570
2 10.128 0.94260 0.66667 6.3645
3 10.192 0.91514 1.33333 12.4365
4 10.280 0.88849 0.66667 6.0889
5 10.367 0.86261 1.33333 11.9232

Cycle Costs: Treatment Strategy

cycle cycle_cost discount_rate cycle_correction total_cost
0 0.00000 1.00000 0.00000 0.00000
1 0.15472 0.97087 0.33333 0.05007
2 0.30936 0.94260 0.66667 0.19440
3 0.46383 0.91514 1.33333 0.56596
4 0.67382 0.88849 0.66667 0.39912
5 0.88328 0.86261 1.33333 1.01590

Total Costs

Sum up across all cycles, and apply discounting and cycle adjustments …

Strategy Total Cost
natural_history 589.16
prevent 785.93
treat 910.15
prevent_treat 1076.28

Total QALYs

Sum up across all cycles, and apply discounting and cycle adjustments …

Strategy QALY
natural_history 25.614
prevent 25.635
treat 25.621
prevent_treat 25.641

Total DALYs

Sum up across all cycles, and apply discounting and cycle adjustments …

Strategy DALYs
natural_history 0.11883
prevent 0.10785
treat 0.09819
prevent_treat 0.10820

Incremental CEA

  • We can now apply usual methods to calculate the cost per DALY averted.
Strategy Cost DALYs Inc. Cost Inc. DALYs Averted Inc. Cost per Inc. DALY Averted (ICER) Status
natural_history 589.16 0.11883 ND
prevent 785.93 0.10785 196.78 0.01098 17922 ND
prevent_treat 1076.28 0.10820 290.34 0.00966 30067 ND
treat 910.15 0.09819 D

Incremental CEA

  • We can convert into a fraction of GDP to further facilitate decisions:
Strategy Cost DALYs Inc. Cost Inc. DALYs Averted Inc. Cost per DALY Averted (xGDP) Status
natural_history 589.16 0.11883 ND
prevent 785.93 0.10785 196.78 0.01098 0.41375 ND
prevent_treat 1076.28 0.10820 290.34 0.00966 0.69411 ND
treat 910.15 0.09819 D

Swap In South Africa

  • Recall these results were for the United Kingdom.
  • We can swap in incidence and death rates from South Africa in our rate matrix and re-run to obtain results for a different country!

Swap In South Africa

G Healthy Healthy Healthy->Healthy CVD CVD Healthy->CVD r_CVD[a,SA] Dead Dead Healthy->Dead r_Dead[a,SA] CVD->CVD CVD->Dead r_Dead[a,SA] + r_DeathCVD[a,SA] Dead->Dead

Results: South Africa

Strategy Cost DALYs Inc. Cost Inc. DALYs Averted ICER Inc. Cost per DALY Averted (xGDP) Status
natural_history 674.85 0.13862 ND
prevent 863.57 0.12602 188.72 0.01259 14988 1.2551 ND
prevent_treat 1177.03 0.12628 313.46 0.01123 27922 2.3383 ND
treat 1021.24 0.11480 D

Next: CVD Case Study

References

Anand, Sudhir, and Sanjay G. Reddy. 2019. “The Construction of the DALY: Implications and Anomalies.” {{SSRN Scholarly Paper}}. Rochester, NY. https://doi.org/10.2139/ssrn.3451311.
Caswell, Hal, and Silke van Daalen. 2021. “Healthy Longevity from Incidence-Based Models.” Demographic Research 45: 397–452.
Fox-Rushby, J. A., and K. Hanson. 2001. “Calculating and Presenting Disability Adjusted Life Years (DALYs) in Cost-Effectiveness Analysis.” Health Policy and Planning 16 (3): 326–31. https://doi.org/10.1093/heapol/16.3.326.
Global Burden of Disease Collaborative Network. 2020a. “Global Burden of Disease Study 2019 (GBD 2019) Disability Weights.” Institute for Health Metrics and Evaluation (IHME). https://doi.org/10.6069/1W19-VX76.
———. 2020b. “Global Burden of Disease Study 2019 (GBD 2019) Life Tables 1950-2019.” Institute for Health Metrics and Evaluation (IHME). https://doi.org/10.6069/1PF5-1M37.
———. 2021. “Global Burden of Disease Study 2019 (GBD 2019) Reference Life Table.” Institute for Health Metrics and Evaluation (IHME). https://doi.org/10.6069/1D4Y-YQ37.
Larson, Bruce A. 2013. “Calculating Disability-Adjusted-Life-Years Lost (DALYs) in Discrete-Time.” Cost Effectiveness and Resource Allocation : C/E 11 (August): 18. https://doi.org/10.1186/1478-7547-11-18.