Alzheimer’s Disease Early Detection Simulation
Abbreviation |
Definition |
|---|---|
AD |
Alzheimer’s Disease |
BBBM |
Blood-Based Biomarkers |
CSF |
Cerebrospinal Fluid |
CT |
Computed Tomography |
MCI |
Mild Cognitive Impairment |
MSLT |
Multistate Life Table |
PET |
Positron Emission Tomography |
DALYs |
Disability-Adjusted Life Years |
CSU |
Client Services Unit |
FHS |
Future Health Scenarios |
ACMR |
All-Cause Mortality Rate |
CSMR |
Cause-Specific Mortality Rate |
EMR |
Excess Mortality Rate |
CBR |
Crude Birth Rate |
YLD |
Years Lived with Disability |
YLL |
Years of Life Lost |
1.0 Overview
This project leverages IHME’s simulation capabilities to quantify health and economic impacts associated with early detection and treatment of pre-clinical Alzheimer’s disease (AD). The simulation evaluates scenarios involving blood-based biomarker (BBBM) testing and a hypothetical intervention that slows disease progression.
Basic Goals:
Simulate the patient journey from identification through intervention and outcomes
Compare health and economic impacts across reference and alternative scenarios in 10 locations
Funding and collaboration:
We are designing this simulation in conjunction with IHME’s Client Services Unit (CSU) with a focus on health and economic impact. Our team will focus on simulating the the health impacts of preclinical AD testing and the hypothetical intervention, and the Resource Tracking team will use our results to estimate the economic impacts. We will be using population forecasts from the Future Health Scenarios (FHS) team.
2.0 Modeling Aims and Objectives
The primary goal is to simulate the impact of early detection and treatment strategies for Alzheimer’s disease using blood-based biomarkers and subsequent interventions. The simulation tracks simulants through health states from age ~30 to 125 years (or death), capturing progression through preclinical AD, mild cognitive impairment (MCI) due to AD, and three stages of dementia due to Alzheimer’s disease.
2.1 Scenarios
Reference Scenario: Present-day conditions, including current cerebrospinal fluid (CSF), computed tomography (CT), amyloid-positron emission tomography (PET) diagnostic pathways after clinical disease develops, but with no BBBM uptake or disease-modifying therapies.
Alternative Scenario 1: Introduction of BBBM testing for at-risk preclinical populations (no intervention)
Alternative Scenario 2: BBBM testing plus hypothetical intervention that prevents, delays, or slows disease progression
2.2 General Modeling Strategy
Based on literature and GBD, we conceive of Alzheimer’s disease (AD) as comprising a six-stage progression:
Susceptible → Preclinical AD → MCI due to AD → Mild AD → Moderate AD → Severe AD
The last three stages correspond to a portion of the three sequelae (mild, moderate, severe) of the GBD cause “Alzheimer’s disease and other dementias.” We will have to separate AD out from other dementias in the GBD data, and we will need non-GBD data sources to inform our modeling of preclinical AD and MCI due to AD. Furthermore, reality may be a bit more complicated than the simple one-directional progression depicted above, but the assumption of no recovery from any state might be sufficient for our purposes.
The basic plan for the design of the simulation is as follows:
Use forecasted population estimates
We have data on ‘population’, ‘deaths’, ‘migration’, and ‘births’ from FHS that can inform the age structure in the population out to year 2100; we plan to use population and deaths forecasts, but not migration or births
Based on GBD data, the incidence of AD within each age group is pretty stable over time, so we are not planning on using forecasted data for Alzheimer’s disease
Only simulate people who will eventually get AD (and other dementias (?))
This drastically reduces population size and hence compute resources
We will need to “work backwards” from GBD’s Alzheimer’s estimates and the population forecasts to determine how many people to add on each time step
We will need to do some calculations outside the simulation to account for false positive tests and people who don’t progress from preclinical AD or MCI to dementia due to AD
On top of the population model, we will add an Alzheimer’s disease progression model, a testing and diagnosis model, and a treatment model, as detailed in the next section
3.0 Simulation Components
Component |
Purpose |
Main Features |
Dependencies |
|---|---|---|---|
Evolution of simulant demographics over time |
Influx of incident cases of preclinical AD, aging of simulants, all-cause mortality |
Forecasted population data, age-specific incidence rates of preclinical AD |
|
Disease progression |
Transition rates through 6 stages of AD, cause-specific mortality |
Population model |
|
BBBM and existing testing pathways |
Multi-modal testing, correlation between testing and disease progression |
Disease model, population model |
|
Hypothetical disease-modifying therapy |
Reduction in progression rate, adherence |
Disease model, testing model |
|
Testing and treatment among the susceptible population |
Counts of BBBM tests, false positive BBBM tests, and treatments initiated (incorrectly) among the susceptible population |
Forecasted population and mortality rates, incident preclinical AD cases, testing and treatment rates, specificity of BBBM testing |
|
Economic Impact model |
Cost-effectiveness analysis |
Comprehensive cost modeling, ICER calculations |
All other modules |
4.0 Specifications
4.1 Default Parameter Specifications
Parameter |
Value |
Note |
|---|---|---|
Locations |
Sweden, US, China, Japan, Brazil, UK, Germany, Spain, Israel, Taiwan |
10 locations of interest |
Simulation start date |
2025-01-01 |
|
Simulation end date |
2100-12-31 |
76-year simulation period |
Observation start date |
2025-01-01 |
No burn-in period |
Cohort type |
Open |
Cohort consists of simulants who are in any of the 5 stages of Alzheimer’s disease |
Sex |
Males & Females |
|
Age start (Initialization) |
Age at which preclinical AD starts (currently set to 25 years to accommodate the youngest preclinical AD incident cases) |
Age start is simulant-dependent |
Age end (Initialization) |
125 years |
End of oldest age group |
Age start (Observation) |
Age at which preclinical AD starts (currently set to 25 years to accommodate the youngest preclinical AD incident cases) |
All simulants are observed since all have AD or its precursors |
Age end (Observation) |
125 years or death |
|
Initial population size per draw |
100,000 simulants |
|
Number of Draws |
25 draws |
|
Step size |
182 days (~6 months) |
Twice a year is sufficient to capture frequency of testing and disease progression. Model 1 used a step size of 182 days, resulting in 3 timesteps the first year, so we increased to 183 days in model 2 to guarantee exactly 2 timesteps per year for all 76 simulation years. In model 6.1, we switched back to 182 days but recorded “event time” in the observers instead of “current time.” This effectively makes the first observation 182 days after the start of the simulation, so the first “timestep” on Jan 1, 2025 doesn’t count, and all simulation years are again guaranteed to contain exactly 2 timesteps. |
Randomness key columns |
[‘entrance_time’, ‘age’, ‘sex’] |
There should be no need to modify the standard key columns |
4.2 Scenario Details
Scenario |
Columns with more details go here |
Note |
|---|---|---|
|
||
|
||
|
4.3 Outputs and Observers
Default stratifications for all observations:
Year
Sex
Age group
Additionally, all output should automatically be stratified by location, scenario, and input draw.
Observation |
Stratification modifications |
Note |
|---|---|---|
Number of new simulants each year |
Either births or new Alzheimer’s cases, depending on population model |
|
Deaths and YLLs (cause-specific) |
||
YLDs (cause-specific) |
||
Transition counts between Alzheimer’s cause states |
||
Person-time in each Alzheimer’s cause state |
||
CSF/PET-eligible simulant count |
Test state: CSF test received, PET test received, no test received, (negative) BBBM test received |
Observe only simulants eligible for CSF/PET tests and stratify by test states to get test counts. Simulants who are CSF/PET-eligible but whose test propensity value is >= (CSF testing rate + PET testing rate) will be in either the no test received stratification or BBBM test received stratification (depending whether or not they have received a negative BBBM test), since any CSF/PET eligible simulants with propensities < (CSF testing rate + PET testing rate) will be immediately given one of those tests. |
BBBM test counts |
Diagnosis provided (positive, negative). Treatement initiation decision (yes, no). |
Diagnosis and treatment initiation both stratified under test count because they both happen immediately on test. |
BBBM newly test-eligibile simulant count |
Count of simulants who are newly eligible for BBBM testing, based on the BBBM eligibility requirements (list in step 1). Newly eligible simulants could be incident to pre-clinical, turning 60, or reaching 3 years since their last test. Will be used to check simulation test counts per newly eligible simulant match Lilly annual year-specific test rates. |
|
Person-time eligible for BBBM testing |
BBBM test result (positive, negative, not tested) |
|
Person-time ever eligible for BBBM testing |
Alzheimer’s cause state (BBBM-AD, MCI-AD, AD-dementia); BBBM test result (positive, negative, not tested) |
A simulant contributes to this person-time if they have ever been eligible for BBBM testing. We will use this observer to calculate (person-time ever BBBM tested) / (person-time ever BBBM test-eligible) among simulants between 60-80 in the BBBM-AD disease state. The numerator is obtained from the BBBM test result stratification by summing the person-time for simulants with positive or negative BBBM test results, and the denominator is the person-time summed over all test result strata including not tested. |
Treatment status transition counts |
State transitioned to (Full treatment effect, Waning treatment effect, No treatment effect), treatment completion (completed, discontinued) |
Treatment completion stratification for transitions to Full treatment effect state allows us to validate the 10% discontinuation rate. Note that the diagram states Full treatment effect LONG and Full treatment effect SHORT are both considered the same status (Full treatment effect), but are stratified by completion status. |
Months on treatment |
Number of months on treatment (integer between 1 and 9, inclusive), among simulants who get treated |
Count the number of treated simulants in each (year, sex, age group, months on treatment) stratum. This will be used for cost estimates. |
Treatment status person-time |
Status (In treatment/ Waiting for treatment, Full treatment effect, Waning treatment effect, No treatment effect). Also stratify by treatment completion (completed, discontinuated) from transition observer |
Treatment completion stratification allows us to validate the different sized durations for completed/discontinued Full and Waning treatment statuses |
5.0 Model Runs and Verification & Validation
5.1 Model Runs
Run |
Description |
Scenarios |
Specification mods |
Stratification mods |
Observer mods |
|---|---|---|---|---|---|
0.0 |
Speed test with fake data but full population and mock-ups of all components to test runtime |
Custom scenario including three types of Alzheimer’s testing and a hypothetical treatment |
|
Default |
Use (mostly) standard VPH observers:
|
1.0 |
Simple SI model of AD using GBD data for AD and other dementias |
Baseline |
|
Default |
Default |
2.0 |
Replace standard population components with custom Alzheimer’s population component to model only population with AD; use same simple SI model of AD as Model 1.0, but with initial prevalence of AD equal to 1 |
Baseline |
|
Default |
Default |
2.1 |
Replace old Alzhiemer’s disease model with one where everyone is infected |
Baseline |
|
Default |
Default |
2.2 |
Fix incidence to be based on full population instead of suscpetible population in fertility |
Baseline |
|
Default |
Default |
3.0 |
Replace population and mortality data with forecasts from IHME’s FHS team |
Baseline |
|
Default |
Default |
3.1 |
Use draws from forecasted population structure data rather than mean value |
Baseline |
|
Default |
Default |
4.0 |
Include BBBM-AD and MCI-AD states |
Baseline |
|
Default |
Default |
4.1 |
Update MCI duration and MCI → AD transition rate to avoid negatives in older age groups |
Baseline |
|
Default |
Default |
4.2 |
Baseline |
|
Default |
Default |
|
4.3 |
Baseline |
|
Default |
Default |
|
4.4 |
Use total-population incidence rate of AD-dementia in calculation of BBBM-AD incidence (we had been incorrectly using susceptible-population incidence) |
Baseline |
|
Default |
Default |
4.5 |
Don’t double round age when finding age group at midpoint of interval |
Baseline |
|
Default |
Default |
5.0 |
Replace incidence and prevalence with AD proportion of GBD 2023 dementia envelope |
Baseline |
|
Default |
Default |
6.0 |
Add testing (CSF/PET, BBBM) intervention |
Baseline, Alternative Scenario 1 |
|
Default |
Add test counts and testing eligibility observers |
6.1 |
Add person-time observers for BBBM testing |
Baseline, Alternative Scenario 1 |
|
Stratify BBBM testing observers by semester so that we have one row of observation for every time step |
|
7.0 |
Add treatment (full, waning) intervention |
Baseline, Alternative Scenario 1, Alternative Scenario 2 |
|
Stratify all BBBM testing and treatment observations by semester |
Add treatment status transition and person-time observers |
7.1 |
Fix usage of propensities for testing, and stratify disease observers by treatment status |
Baseline, Alternative Scenario 1, Alternative Scenario 2 |
|
Stratify disease state transitions and person-time by treatment status |
Default |
7.2 |
Fix bug with 80-year-olds entering “waiting for treatment” state, and fix bug in BBBM → MCI hazard rate |
Baseline, Alternative Scenario 2 |
|
Stratify disease state transitions and person-time by treatment status |
Default |
7.3 |
Baseline, Alternative Scenario 1, Alternative Scenario 2 |
|
Stratify disease state transitions and person-time by treatment status |
Default |
|
7.4 |
Baseline, Alternative Scenario 1, Alternative Scenario 2 |
|
Stratify disease state transitions and person-time by treatment status |
Default |
|
7.5 |
Bugfix: Don’t initialize BBBM testing history in baseline scenario |
Baseline, Alternative Scenario 1, Alternative Scenario 2 |
|
Stratify disease state transitions and person-time by treatment status |
Default |
7.6 |
Baseline, Alternative Scenario 1, Alternative Scenario 2 |
|
Stratify disease state transitions and person-time by treatment status |
Default |
|
8.0 |
Baseline, Alternative Scenario 1, Alternative Scenario 2 |
|
Stratify disease state transitions and person-time by treatment |
Default |
|
8.1 |
Consistent rates model with AD prevalence bug fix from model 7.4 |
Baseline, Alternative Scenario 1, Alternative Scenario 2 |
|
Stratify disease state transitions and person-time by treatment |
Default |
8.2 |
Model 8.1, but one draw with 500 seeds, for estimating population size for final run |
Baseline, Alternative Scenario 2 |
|
Stratify disease state transitions and person-time by treatment |
Default |
8.3 |
Model 8.1 + use EMR from DisMod |
Baseline, Alternative Scenario 1, Alternative Scenario 2 |
|
Stratify disease state transitions and person-time by treatment |
Default |
8.4 |
Final runs for 10/31 deadline: Model 8.3 + merge in changes through model 7.6 |
Baseline, Alternative Scenario 1, Alternative Scenario 2 |
|
Stratify disease state transitions and person-time by treatment |
Default |
8.5 |
Bugfix: Ensure all new simulants enter the sim in the BBBM state after time zero (previously, new simulants had been continuing to enter all 3 states according to the initial prevalences) |
Baseline |
|
Stratify disease state transitions and person-time by treatment |
Default |
8.6 |
Run model 8.5 for all three scenarios |
Baseline, Alternative Scenario 1, Alternative Scenario 2 |
|
Stratify disease state transitions and person-time by treatment |
Default |
8.7 |
New final runs, same as models 8.5/8.6, but with more random seeds |
Baseline, Alternative Scenario 1, Alternative Scenario 2 |
|
Stratify disease state transitions and person-time by treatment |
Default |
9.0 |
Baseline, Alternative Scenario 1, Alternative Scenario 2 |
|
Stratify disease state transitions and person-time by treatment |
Default |
|
10.0 |
Add mixed dementia cases that include AD (instead of modeling AD only, as we have been since model 5.0) |
Baseline, Alternative Scenario 2 |
|
Stratify disease state transitions and person-time by treatment |
Default |
11.0 |
Updates to treatment model |
Baseline, Alternative Scenario 2 |
|
Stratify disease state transitions and person-time by treatment |
Add observer for months on treatment |
11.1 |
Bugfix: change to new artifact, observer bugfix |
Baseline, Alternative Scenario 2 |
|
Stratify disease state transitions and person-time by treatment |
Add observer for months on treatment |
12.0 |
Updates to testing model |
Baseline, Alternative Scenario 1, Alternative Scenario 2 |
|
Stratify disease state transitions and person-time by treatment |
Default |
12.1 |
Updates to testing constants: sensitivity and elgibility age |
Baseline, Alternative Scenario 1, Alternative Scenario 2 |
|
Stratify disease state transitions and person-time by treatment |
Default |
12.2 |
Final runs based on model 12.1, with minor bugfix to testing ramp-up |
Baseline, Alternative Scenario 1, Alternative Scenario 2 |
|
Remove stratification of disease state transitions and person-time by treatment |
Default |
5.2 V & V Tracking
Run |
V&V plan |
V&V summary |
Link to notebook |
|---|---|---|---|
0.0 |
Check runtime of simulation. No other V&V since data was fake. |
~15 minutes to complete parallel runs of 100 jobs with 20K simulants each (2 million total simulants, equivalent to 20 draws with 100K simulants each) |
None |
1.0 |
Note: All these checks can be done separately for each age group and sex, but due to the large number of age groups, it may be more prudent to start by looking at aggregated results.
|
|
|
2.0 |
Note: All these checks can be done separately for each age group and sex, but it may be more prudent to start by looking at aggregated results.
|
|
|
2.1 |
Note: All these checks can be done separately for each age group and sex, but it may be more prudent to start by looking at aggregated results.
|
|
|
2.2 |
Note: All these checks can be done separately for each age group and sex, but it may be more prudent to start by looking at aggregated results.
|
|
|
3.0 |
Note: All these checks can be done separately for each age group and sex, but it may be more prudent to start by looking at aggregated results.
|
|
|
3.1 |
Same as 3.0 (notebook copied) |
|
|
4.0 |
All checks from 3.0, but instead of verifying all-cause mortality rate, use other-cause mortality rate, which is easier to compute; also confirm that there are person-years of BBBM-AD and MCI-AD for all age groups and years. |
|
|
4.1 |
Same as 4.0, but also look at durations of BBBM-AD, MCI-AD to make sure they match expectation. Anticipate there to be more similarity between AD-dementia incidence counts in simulation and GBD/FHS. |
|
|
4.2 |
Same as 4.1 |
|
|
4.3 |
Same as 4.2 |
Big improvement in AD-dementia incidence for older ages, still off for younger ages |
|
4.4 |
Same as 4.3 |
Some improvement in AD-dementia incidence for younger ages; we think that the duration we have used is off by a little since we did not include mortality in our duration estimate |
|
4.5 |
Same as 4.4, except add this check that we should have been doing previously:
|
|
|
5.0 |
Same as 4.5, except add this check that we should have been doing previously:
|
|
|
6.0 |
|
|
|
6.1 |
|
|
|
7.0 |
|
Things that look good:
Things that look wrong:
|
|
7.1 |
Same as model 7.0, but add:
|
|
|
7.2 |
Same as model 7.1, but add:
|
|
|
7.3 |
Re-run testing notebook from model 7.1. Things should look similar, but testing should ramp up slightly slower |
There were several problems with the BBBM test history:
|
|
7.4 |
|
Not checking directly since Abie’s run included these changes; check model 8.1 instead |
N/A |
7.5 |
Skip, check 7.6 instead |
Not checking since fixes were incomplete; check model 7.6 instead |
N/A |
7.6 |
Re-run testing notebook from model 7.3 to see if things look more like they did in 7.1 |
Things look good now, more like they did in model 7.1:
There are a few minor differences with model 7.1 that I’m not sure how to explain:
|
|
8.0 |
|
|
|
8.1 |
|
|
|
8.2 |
|
See linked notebooks → |
|
8.3 |
|
|
|
8.4 |
No V&V (due to lack of time), just generate results tables
|
N/A |
|
8.5 |
|
|
|
8.6 |
|
|
|
8.7 |
No V&V (model is identical to 8.5/8.6), just generate results tables |
N/A |
|
9.0 |
|
|
|
10.0 |
|
|
|
11.0 |
|
|
|
11.1 |
|
|
|
12.0 |
|
|
|
12.1 |
|
|
|
12.2 |
No V&V (due to difficulty in running notebooks on batched results; model is the same as 12.1 except for minor bugfix), just generate results tables |
N/A |
Issue |
Explanation |
Action plan |
Timeline |
|---|---|---|---|
YLDs rates do not match in model 1 |
Thought to be due to incorrect disability weight aggregation |
Will be updated when we add severity levels, recheck then |
Model 9 |
Total simulation population increasing in model 3 |
Thought to be due to GBD mismatch in mortality and incidence |
Review again after we reduce to AD only, and when we add in mixed dementias |
Models 5 and 8 |
AD-dementia incidence counts are still a bit off in model 4 |
|
Jira ticket: SSCI-2411 |
After model 8 or model 9 |