Case Study: Healthy-Sick-Dead Disease Model

Warning: package 'downloadthis' was built under R version 4.3.3

Adding DALYS

We will now add DALYs to the model. This requires us to add Years of Life Lost. To discount these from the start of time and the time of occurrence we will use the built in discounting (from start time) and add discounting from the time of death.

Recap

This case study will build a decision model to analyze strategies to prevent and treat a noncommunicable disease.

For this hypothetical disease, these high-risk individuals start off healthy and can develop a chronic disease. They stay sick until death. Individuals also experience mortality from other causes.

A state transition “bubble” diagram of the model you will build is shown below:

Policy Decision Problem

Suppose there is a new treatment that can be taken to reduce the likelihood of disease progression. This treatment reduces the probability of death from disease, and slightly increases quality of life (lowers the disability weight) in the sick state. However, this is an expensive treatment.

The Ministry of Health has empowered your team to conduct an economic evaluation to investigate the costs and benefits of the status quo (i.e., do nothing) vs. adopting the use of treatment.

Model Parameters

Relevant model parameters are summarized in the tables below:

State Transition Probabilities

Name Value Description
p_start_healthy 1 Annual probability of starting in the healthy state
p_sick 0.6 Annual probability of disease onset
p_death_oc Age-dependent life table data. Annual probability of death from other causes.
p_death_disease 0.05 Annual probability of death from disease.

Costs

Name Value Description
c_healthy 0 Annual (cycle) cost of healthy state.
c_sick 3,500 Annual (cycle) cost of disease state.
c_treatment 40,000 One-time cost of disease treatment (occurs at point of transition from Healthy to Sick).

Disability Weights

Important

Since we are using DALYs instead of QALYs, we now use disability weights instead of Quality-of-life (QoL) weights.

Name Value Description
dw_sick 0.15 Disability weight for Sick health state.
dw_sick_treated 0.13 Disability weight for Sick health state if treated.

Life Expectancy by Age

Age LE
0 88.8718951
1 88.00051053
5 84.03008056
10 79.04633476
15 74.0665492
20 69.10756792
25 64.14930031
30 59.1962771
35 54.25261364
40 49.31739311
45 44.43332057
50 39.63473787
55 34.91488095
60 30.25343822
65 25.68089534
70 21.28820012
75 17.10351469
80 13.23872477
85 9.990181244
90 7.617724915
95 5.922359078

Other Parameters

Name Value Description
initial_age 0 Initial age of modeled cohort
rr_treatment 0.60 Treatment Strategy: Relative risk reduction in probability of death from progressive disease.
r_disc_health 0.03 Annual discount rate: health outcomes.
r_disc_cost 0.03 Annual discount rate: cost outcomes.
t 110 Horizon of the model
yll_t Age-Varying Years of Life Lost discounted from time of death

Your Markov model should look like this:

Add YLDs

Create A New Outcome

Add in the years of life lost to the model. You will need to create a new outcome and add the disability weights to each health state.

  • Go to Model > Properties > select the Analysis tab.

  • Use the blue plus sign (Custom Icon)to add Years Lived with Disability (YLD). You can use YLD as the symbol and round on 4 decimals. Click to apply.

  • Reset the “Analysis Type” to Expected Value (EV)

  • We want to reset the objective to minimize. In DALYs, we want to decrease the YLDs and YLLs.

  • Go to the Markov tab and add in the discount rate for YLDs. (3.0)

Add Disability Weights to Model

First you will need to define the disability weights as new parameters. To add a parameter, use the plus sign above the parameter menu (Custom Icon). Each parameter needs a name and an expression. Use the defined values from Model Parameters.

Now set YLD outcomes equal to the parameters in both strategies. Remember that for YLD, 0 is healthy.

Your model should look like:

Note

Now check (Custom Icon) and run (Custom Icon) the model to verify that it calculates expected YLD!

Strategy YLD YLD (Dis)
Status Quo 2.8697 1.7484
Treatment 3.8058 1.9969

Add YLLs

Create A New Outcome

Add in the years of life lost to the model. You will need to create a new outcome and add a one time cost to the transition from sick to death when the individual dies of the disease.

  • Go to Model Properties select the Analysis tab.

  • Click the blue plus sign (Custom Icon) to add a new outcome. Add YLL.

  • Click the refresh button

  • The “Analysis Type” should be still be set to Expected Value (EV) with the object of minimize.

  • Change outcome to YLLs

  • Go to the Markov tab and add in the discount rate for YLLs. (3.0)

  • Next, we will define cycle-specific payoffs in the model itself based on the values in the tables above. We need to add YLLs for people transitioning from the sick to the dead state.

Add Life Expectancy Table

  • We need to add a table to pull the estimated reaminaing life expectancy by age so that we can properly calculate the YLLs.
  • Select the tables tab and then click the blue plus sign (Custom Icon) to add a new table.

  • Click Import (Custom Icon ) and select the downloaded document

    Tip

    If you cannot get the import to work, you can copy the table from above and use the paste button

    ( Custom Icon)to add the data.

  • Verify that there are no blank rows at the bottom of the table

  • Name the table tbl_ref_lt

  • Change the lookup method to “Truncate”

  • The table window should look like this:

Add Variable

  • You will need to define yll_t as a parameter.

    • This will reference the table we just added (tbl_ref_lt)

    • To properly add YLLs with discounting from the time of death, we will use the following formula:

  • Select the variables tab and then click the blue plus sign (Custom Icon) to add a new variable.

  • Set the name of the variable to yll_t

  • Using the formula above to set the expression: tbl_ref_lt[initial_age + t, 1] * (exp(-log(1+r_disc_health)*t))

Add YLL to the Model

  • Add the YLL outcome as a one time outcome on the Die (Disease) arm.

    • To define a one time treatment: We will add this cost by assigning a one-time cost at the time an individual transitions to the Death (Disease) state from the Sick state. You can add this one-time cost by right-clicking on the transition node Custom Icon after “Dead (Disease)” in the Sick health state, and then clicking on Custom Icon Add Cost.

After inputting the outcomes, your Markov model should look like this:

Now check (Custom Icon) and run (Custom Icon) the model to verify that it calculates expected YLL!

Strategy YLL YLL (Dis)
Status Quo 46.5828 33.4476
Treatment 35.1637 23.8311

Add DALYs

Our final objective is to add DALYs to the markov model. We have seen how to add all the elements but we want to combine them for DALYs.

Add Outcome

  • Go to Model Properties select the Analysis tab.

  • Click the blue plus sign (Custom Icon) to add a new outcome. Add DALYs.

  • Click the refresh button

  • Change the “Analysis Type” to Cost-Effectiveness Analysis (CEA).

  • Set the Cost, Effect, Baseline Strategy and Willingness-to-pay (WTP). Ensure that the Effect Objective is still set to minimize.

  • Go to the Markov tab and add in the discount rate for DALYs. (3.0)

  • Next, in the model itself, define the cycle-specific payoffs based on the values in the tables above.

    • Every place in the model where there is a value for YLD or YLL, we will put that in DALYs so that it sums them all together.
      • For Example: Under sick where it now has($) c_sick; (YLD) dw_sick ; (YLL) 0, we will have ($) c_sick; (YLD) dw_sick ; (YLL) 0 ; (DALY) dw_sick
  • After inputting the outcomes, your Markov model should look like this:

Check and run the model to get the CEA for DALYs

Strategy Cost DALY ICER Note
Status Quo 40,795.37 35.1959 Baseline
Treatment 79,896.29 25.828 4,173.8912