Case Study: Healthy-Sick-Dead Disease Model

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

Introduction

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 (higher utility) 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).

Quality of Life Adjustments

Name Value Description
u_healthy 1.0 Quality-of-life (QoL) weight for healthy state.
u_sick 0.842 Quality-of-life (QoL) weight for sick health state.
u_sick_treated 0.87 Quality-of-life (QoL) weight for sick health state if treated.
u_dead 0 Quality-of-life (QoL) weight for death health states.

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 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

Building a model from Scratch

Once you open Amua, you will see the “Model” drop-down at the top of the screen. From the menu, select New > Markov Model. It is important that you select a Markov model as Amua does not allow you to copy and paste between decision trees and Markov models.

You will get a screen with just a red square. This is your decision node. To add a strategy to the model, you will need to click on the red square and then select the Markov chain button (Custom Icon) on the top menu. This allows you to start creating a markov model. To add a health state, click on the Markov chain in your model to highlight it red. Then select the Markov state button (Custom Icon) on the top menu.

Status Quo Scenario

Now that you know how to create a Markov model. Your first objective is to build a status quo or “do nothing” strategy based on the description and parameters defined above. This is a strategy in which there is no additional treatment.

To get you going, we have built out the beginnings of a model based on an alive-dead model with age-specific background mortality rates. The image below shows the structure of this model:

Pre-Built Alive/Dead Model

We have already added in some components of the model. Here are the steps we did for you in this model.

  • Created a basic alive/dead markov Model

  • Set the model horizon uses the built in Amua variable “t”, which tracks the number of runs through the model. Under the Markov chain icon (Custom Icon), you will need to define when the model terminates. To do this use t==110 for a horizon of 110.

  • Set the outcomes to Cost and QALE just like in the decision tree. To do this use, Model -> Properties -> Analysis. Use the blue plus sign (Custom Icon)to add QALE. You can use Q as the symbol and round on 4 decimals. Click to apply.

  • Added in parameters from the parameter chart. To add more parameters, use the plus sign above the parameter menu (Custom Icon). Each parameter needs a name and an expression.

  • Added tables for mortality. We will walk through adding a table in the DALYs Markov session.

  • Created a variable. (Parameters are fixed values and Variables are dynamic values). p_death_oc calculates the death from all causes using the mortality table. It uses the formula tbl_p_die_oc[initial_age + t, 1] which select index 1 (the mortality rate) based on the initial_age + t (which represents their current age) from tbl_p_die_oc.

Add Health States and Transitions

Add in the relevant health states and transitions for the sick state. Don’t worry yet about transition probabilities and other parameters—just get the Markov structure complete.

  • When you reach the end of the branch, select the chance node you would like to turn into a state transition, right click, select Change to State Transition. This will give you the blue arrow Custom Icon . On the right of this arrow, you can find a dropdown menu with the different health states you specified. Select the health state this part of the cohort will transition to.

  • With this button Custom Icon you can align the end nodes.

It is common practice in teaching decision modeling to model events sequentially. Suppose, for example, that an individual can experience the following events from a diseased state:

-   Die from disease (Event A)
-   Die from background causes (Event B)
-   Survive

The image below shows two alternative approaches to modeling these events. Panel A uses a non-sequential approach in which events in a cycle are not conditional on other events not occurring. Panel B, by comparison, first considers death from Event A. Conditional on surviving A, it then considers death from Event B.

If you are converting rates to probabilities using standard formulas (e.g., \(1-\exp(-r)\)) you should use a sequential approach where only two events are considered at at time (Panel B). This ensures that the converted probabilities work correctly.

If you are using transition probabilities derived from embedding the transition probabilities from the underlying transition rate matrix, as we covered in lecture, you do not need to undertake the sequential approach: you can use the approach in Panel A, though you will also need to make sure that your model structure captures all non-zero probabilities in your transition probability matrix.

For the remainder of this case study we will model the disease progression using the sequential approach (e.g., the approach in Panel B).

Your Markov model should now look like this:

Define Transition Probabilities

Use the parameter values above to define and add transition probabilities to the Markov model.

Remember that each set of branches should sum to 1. In Amua, instead of having to put 1-p to get the complementary probability , you can just use the letter C.

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

Don’t forget to add the probability of starting in each state!

Define Outcomes

Our next step is to define our primary outcomes; cost and QALE.

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

  • Check that you have the outcomes for costs ($) and QALE (Q)

  • The “Analysis Type” should be set to Expected Value (EV)

  • Make sure the objective is to maximize. In QALYs, high values represent higher quality of life.

  • Next, in the model itself, define the following cycle-specific payoffs based on the values in the tables above. Many of these parameters are already defined for you in the parameters tab in the Amua model:

    • Costs and QALE in Healthy state

    • Costs and QALE in the Sick state

    • There are no costs or QALE for the Dead state

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

Define Cycle Adjustments and Discounting

  • Go to Model > Properties > select the Markov tab.
  • Select the “Half-Cycle Correction” option.
  • Select the “Discount Rewards” option and enter the discount rates shown in the tables above.
  • Click “OK”

Now check (Custom Icon) and run (Custom Icon) the model to verify that it calculates expected costs and QALY for the status quo strategy!

Strategy Cost QALY Cost (Dis) QALY (Dis)
Status Quo 66,958.65 17.2673 40,795.37 10.9089

Treatment Strategy

Our next objective is to build out the treatment strategy. Fortunately, we have already done most of the work to add them – we just need to copy and paste the Status Quo strategy, then adapt with additional parameters as needed.

Treatment Strategy

  • Right click on the Custom Icon Markov symbol next to the Status Quo strategy name, then select “Copy”

  • Right click on the red square and select “Paste.” This will create a copy of the Status Quo strategy. Hit the OCD button to organize things again

  • Rename the new strategy to “Treatment” and adapt the transition probabilities using the prevention strategy parameters defined in the tables above (and in the Amua model parameters).

    • Make sure to multiply p_death_disease by the relative risk reduction each time it appears in the branches!
  • Update the quality of life adjustments for the sick state using u_sick_treated

  • Include the one-time treatment cost at the time of transition from healthy to sick (see below)

    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 disease state. You can add this one-time cost by right-clicking on the transition node Custom Icon after “Dead (Disease)” in the Sick Disease health state, and then clicking on Custom Icon Add Cost.

After inputting the outcomes, your treatment branch should look like this:

Check (Custom Icon) and run (Custom Icon) the model to obtain cost and QALY for both strategies.

Strategy Cost QALY Cost (Dis) QALY (Dis)
Status Quo 66,958.65 17.2673 40,795.37 10.9089
Treatment 130,135.42 26.6286 79,896.29 14.4583

Cost-Effectiveness Analysis

Now that we have a working model with outcomes, we can run a cost-effectiveness analysis. For this model, let’s assume a willingness-to-pay threshold of $50,000/QALY.

We will need to go back to the outcomes (Model > Properties > Analysis) and reset the analysis type to Cost Effectiveness Analysis (CEA). Fill in the remaining inputs for the analysis.

Check (Custom Icon) and run (Custom Icon) the model to obtain the CEA.

Strategy Cost QALY ICER Notes
Status Quo $40,795.37 10.9089 Baseline
Treatment $79,896.29 14.4583 11,016.14