-
Notifications
You must be signed in to change notification settings - Fork 0
Home
MIGHTI (Model of Inter-Generational Health, Transmission, and Interventions) is a Python-based agent-based modeling framework designed to simulate the dynamics of health and disease across a population. Built upon the Starsim simulation engine, MIGHTI enables complex interactions between diseases, interventions, social determinants, and individual agent characteristics.
MIGHTI simulates a wide range of health conditions (HCs), including both noncommunicable diseases (NCDs) such as diabetes, cardiovascular disease, and depression, and infectious diseases (IDs) such as HIV, tuberculosis, and HPV.

MIGHTI requires the following input datasets:
- Demographics: Age distribution, fertility, and mortality (via life tables)
- Disease Parameters: Acquisition, remission, mortality, relative risks, condition-specific attributes
- Intervention Coverage: Time-varying data (e.g., ART scale-up, T2D treatment programs)
- Social Determinants (SDoH): Individual-level states like housing stability, education, and income
Prevalence-matching calibration (e.g., for p_acquire) is used to ensure realistic simulations. See Calibration.
- HIV-HC and HC-HC interactions are supported via connectors
- Interactions adjust acquisition susceptibility (
rel_sus) dynamically - Input via interpretable CSV files (
data/processed/rel_sus.csvand parameterrel_suscolumn)
- Supports screening, treatment, and prevention
- Coverage can be static or time-varying
- Interventions can modify care delivery, disease outcomes, and SDoH states
- Flexible enough to include SDoH-targeting interventions (e.g., housing support)
- Modules like
NeighbourhoodSituation,EconomicSituation, andEducationSituation - Per-agent binary states with optional maternal inheritance
- Primary default pathway: adherence penalties and intervention targeting
- CASM stands for constellation of alcohol, substance, and mood-related
- Adherence affected by binary flags for 7 CASM conditions:
- Alcohol use, depression, anxiety, pain, tobacco, opioid, stimulant use
- Multiplicative adherence model with SDoH factors
- Treatment of CASM conditions can improve adherence via spillover effects when conditions remit
Pathway diagram: Attach your intervention → adherence → outcomes figure to this wiki page.
- Track incidence, prevalence, and mortality for each disease
- Simulate intervention rollouts and counterfactuals (via scenario scripts)
- Quantify effect of SDoH and adherence disruptors
-
Life expectancy and YLL utilities via
mighti/analysis/life_expectancy.pyand demography analyzers (optional; not shown in the defaultmighti_main.pyexample) -
Prevalence calibration via Optuna (
mighti/calibration/calibration_diseases_ver2.py)
Research-specific analyses (e.g., multi-condition life expectancy attribution) live in companion project repositories that import MIGHTI as a library.
-
Getting Started — Installation, dependencies, and how to run your first simulation.
-
Parameter Preparation — Guide to preparing and formatting inputs such as
p_death,dur_condition, and demographic files. -
Health Conditions — Overview of how diseases (e.g., HIV, diabetes, cancer) are modeled in
mighti/diseases/. -
Disease Interactions — HC-HC and HIV-HC connectors in
mighti/interactions/connectors.py. -
Adherence and CASM — Adherence pipeline in
mighti/interventions/adherence.py. -
Social Determinants of Health — SDoH modules in
mighti/sdoh/. -
Interventions — HIV wrappers, SDoH programs, and disease-specific treatments in
mighti/interventions/. -
Analyzers — Outcome tracking modules in
mighti/analyzers/. -
Calibration — Fitting
p_acquire(and optionallyp_death) to observed prevalence with Optuna. -
Simulation Examples — End-to-end run of
mighti_main.pyand plotting helpers. -
Microcosting and Cost-Effectiveness Analysis —
MicrocostingAnalyzerand CEA workflow.