Case Study: Decision Tree in Amua

Why Amua?

Amua is a free, open-source modeling framework and probabilistic programming language developed by Dr. Zach Ward at Harvard University. It allows you to build decision trees, Markov models, and microsimulation models. It is designed to be user-friendly and flexible, making it a great choice for health economics modeling.

Amua compared to other common modeling platforms

Getting started

You will first need to install Java (1.8 or later) & download Amua. Follow the directions here.

To get you started with Amua, we will use the following case study (a stylized decision problem). If interested, you can also check out this comprehensive online tutorial.

Case Study

Introduction and Learning Objectives

By the end of this session, participants will be able to:

  1. Build and structure a decision tree model in Amua to represent clinical decision problems.

  2. Define and parameterize key inputs (e.g., probabilities, outcomes, and costs) within the Amua software.

  3. Evaluate model outcomes, such as expected quality-adjusted life expectancy (QALE), for alternative clinical strategies.

  4. Conduct deterministic sensitivity analyses including one-way and threshold analyses to examine decision thresholds and model robustness.

  5. Add and compare multiple strategies (e.g., diagnostic testing options) in a single decision framework.

  6. Perform cost-effectiveness analysis (CEA) and interpret incremental cost-effectiveness ratios (ICERs) and net monetary benefit (NMB).

  7. Use Amua’s built-in tools to explore how variation in parameter values affects the preferred strategy under a given willingness-to-pay (WTP) threshold.

Overview of Decision Problem

Consider the case of a suspected pulmonary embolism (PE). A 67-year-old woman who underwent hysterectomy and lymph node dissection for sarcoma two days ago now presents with chest pain, rapid breathing, and increased pulse rate, but without clinical signs of a blood clot in the legs (deep venous thrombosis) and an indeterminate result on the ventilation-perfusion (V/Q) scan.

You must decide whether to treat her with anticoagulation (AC). You estimate the following probabilities for this patient: You estimate the following probabilities for this patient: Should you decide to place her on AC, her chance of a fatal bleed, if she has no PE, is 0.04. If she does have a PE, the combined probability of dying from hemorrhage or fatal PE if she receives AC is 0.05. If, however, she has a PE, but AC is withheld, you predict a mortality probability of 0.25. The prior probability of disease in a patient with this constellation of symptoms is 0.19.

Assume that the patient has a quality-adjusted life expectancy (QALE) of 5 QALYs if she truly has PE and survives without recurrence and a bleed, and that she has 7 QALYs if she has no PE and no hemorrhage. Please note that we also assume that the QALE related to PE does not differ by receipt of AC. Further, assume that death from either PE or hemorrhage occurs immediately after your therapeutic decision (i.e., QALE = 0).

The decision tree is below:

Step 1: Construct a decision tree in Amua

  • Create a new model in Amua: In Amua, on the menu at the top, go to Model -> New -> Decision Tree.
Before you begin, make sure that the model properties are set correctly in Amua.
  • In the menu, click Model -> Properties -> Analysis. The default setting of the dimension is Cost. Change this to QALE. You can use Q as the symbol and round on 4 decimals. Click to apply.

  • The analysis type should be Expected Value (EV). The Objective is to Maximize the outcome QALE.

Click ok to apply.

Now, construct the decision tree above in Amua.

  • Please use the names for the parameters as described in the table below.  

  • You can enter the values of the parameters in the expression box (click the button on the right-hand side panel, screenshot below). In this assignment, the expression is a scalar, and thus the expected value is identical. In other situations, an expression can be an equation, and the value from the expression is shown in the expected value box after clicking “evaluate”.

  • Use “C” for the complementary probability (1 – the probability of an event) for the branch stemming out from the same chance node (example below).

  • For the terminal nodes, use the corresponding QALE for each path.

  • With the Align Right button , followed by OCD, you can align all terminal/transition nodes to the far right.

Mac users: Note that you should use control (Ctr) instead of command (Cmd)in Amua to select or copy/paste in text boxes; use Cmd to copy/paste tree branches.

Amua parameter name Math notation Parameter description Value
p_PE P(Pulmonary embolism) Prior probability of having PE 0.19
p_die_AC_PE P(Die|AC+, PE+) Probability of dying while on AC, with PE 0.05
p_die_AC_noPE P(Die|AC+, PE-) Probability of dying while on AC, without PE 0.04
p_die_noAC_PE P(Die|AC-, PE+) Probability of dying without AC, with a PE 0.25

After completing the structure and defining the probabilities and payoffs, your tree should look like this:

Step 2: Run the Model

After the tree is completed, run the model by clicking the button.

What are the expected QALE for AC vs no AC? Which strategy would you choose if your objective is to maximize expected QALE for her?

Step 3: Sensitivity analyses

Now perform a threshold analysis to find the threshold value for p_PE (prior probability of the patient having PE), where you would be indifferent between the two strategies, AC and no AC.

To perform the analysis, go to Run -> Sensitivity Analysis -> Threshold Analysis. Select the parameter p_PE and set the min to 0 and the max to 1. Strategy 1 should be AC, strategy 2: No AC, the Outcome: QALE, and you need 10 intervals. Make sure you select the row with parameter p_PE before you click Run. What is the threshold value for p_PE?

Note: The dotted line in the figure generated by the Threshold Analysis shows the base case value of the parameter. This makes it easier to compare how far the intersection is from the current parameter value.

Step 4: Add a third strategy

Now add a third strategy of performing an angiogram, in addition to AC and no AC. Performing an angiogram will give you perfect diagnostic information, but the test has a mortality risk of 1% (p_die_Angio). With this diagnostic information, you can make sure that those diagnosed with PE get AC and those not having PE do not receive AC.

Add this strategy to your tree and this strategy should look like:

Calculate the threshold probability of PE (using QALE) for the choice between no AC and performing an angiogram, and the threshold for the choice between performing an angiogram and AC.

Step 5: Cost-effectiveness analysis

To do a cost-effectiveness analysis, we need to add the dimension costs. Go to Model->Properties->select the Analysis tab.

  • Add the dimension “costs”

  • Use the $ sign for the symbol

  • Use 2 decimal places

Click Refresh. Now, change the Analysis type from Expected Value (EV) to a Cost-Effectiveness Analysis (CEA).

Enter the following information:

  • Use Costs for the Cost

  • Use QALE as the Effect

  • The baseline strategy is the No AC strategy

  • Willingness to pay threshold (WTP) = $20,000/QALY

Click OK to apply

As a reminder: Net Monetary Benefit (NMB) = QALYs * WTP - Cost

An angiogram costs $1,000, and treatment with anticoagulants costs $500. Add this information to your tree using the parameters c_Angio and c_AC to define costs at the terminal nodes.

Perform a cost-effectiveness analysis by clicking Run Model and check out the CEA Results report.

What is the incremental cost-effectiveness ratio (ICER) of the Angiogram strategy? Why is the AC strategy dominated? What is the optimal strategy given our WTP?

Step 6: Sensitivity analyses on CEA

Now, we would like to perform a Benefit-Cost analysis using Net Monetary Benefit. Go back to Model -> Properties -> select the Analysis tab and change the Analysis type into a Benefit-Costs Analysis (BCA). Use Costs as the Cost, QALE as the Benefit, and $20,000/QALY as the WTP.

  1. Perform a threshold analysis on the cost of Angio ($100–10,000 into 9 intervals) (Run -> Sensitivity Analysis -> Threshold Analysis, select c_Angio and choose NMB as the outcome. If the cost of performing an Angio would be higher, how would that affect your decision considering the WTP threshold?
  2. The probability of pulmonary embolism is also uncertain. Perform a threshold analysis on the parameter p_PE (0 – 1 into 10 intervals). What are the two threshold probabilities for the choice between the three strategies?

[After the DALY lecture] Step 7: Add a DALY Dimension

We now want to add a new outcome dimension: DALYs (Disability-Adjusted Life Years). DALYs are a measure of disease burden, where 0 = perfect health and 1 = death per year lost. For this model, we will assume we have estimated DALYs available for each terminal node.

Instructions:

  1. In Amua, go to Model → Properties → Analysis tab.

  2. Add a new dimension:

    • Dimension: DALYs

    • Symbol: D

    • Decimals: 2

  3. Click Refresh

  4. Because DALY is a gap measure, change the objective to minimize DALYs (analogous to maximizing QALYs)

  5. We can now return to the tree and enter DALY values at each terminal node

Clinical State DALYs Lost Notes
Survive, no PE 0 No loss due to disability or premature death
Survive, PE, no AC 2.5 Higher morbidity (e.g., long-term dyspnea, CTEPH risk)
Survive, PE, with AC 1.2 Some morbidity, but AC reduces complications
Dead (from PE or hemorrhage or angiogram) 7.0 Full loss of expected healthy life years

You can apply these DALY values to terminal nodes in Amua accordingly. Your tree should like this:

Now, you’re ready to perform a cost-effectiveness analysis with DALYs as the outcome!

Click Run Model and check out the CEA Results report.