Demographic Models

This module contains tools for modeling the core demography in multi-state lifetable simulations.

class vivarium_public_health.mslt.population.BasePopulation[source]

This component implements the core population demographics: age, sex, population size.

The configuration options for this component are:

population_size

The number of population cohorts (must be specified).

max_age

The age at which cohorts are removed from the population (default: 110).

configuration
    population:
        population_size: 44 # Male and female 5-year cohorts, 0 to 109.
        max_age: 110        # The age at which cohorts are removed.
CONFIGURATION_DEFAULTS: Dict[str, Any] = {'population': {'max_age': 110}}

A dictionary containing the defaults for any configurations managed by this component. An empty dictionary indicates no managed configurations.

property columns_created: List[str]

Provides names of columns created by the component.

Returns:

Names of the columns created by this component, or an empty list if none.

Return type:

List[str]

property columns_required: List[str] | None

Provides names of columns required by the component.

Returns:

Names of required columns not created by this component. An empty list means all available columns are needed. None means no additional columns are necessary.

Return type:

Optional[List[str]]

setup(builder)[source]

Load the population data.

Parameters:

builder (Builder) –

Return type:

None

on_initialize_simulants(_)[source]

Initialize each cohort.

Parameters:

_ (SimulantData) –

Return type:

None

on_time_step_prepare(event)[source]

Remove cohorts that have reached the maximum age.

Parameters:

event (Event) –

Return type:

None

class vivarium_public_health.mslt.population.Mortality[source]

This component reduces the population size of each cohort over time, according to the all-cause mortality rate.

property columns_required: List[str] | None

Provides names of columns required by the component.

Returns:

Names of required columns not created by this component. An empty list means all available columns are needed. None means no additional columns are necessary.

Return type:

Optional[List[str]]

setup(builder)[source]

Load the all-cause mortality rate.

Parameters:

builder (Builder) –

Return type:

None

on_time_step(event)[source]

Calculate the number of deaths and survivors at each time-step, for both the BAU and intervention scenarios.

Parameters:

event (Event) –

Return type:

None

class vivarium_public_health.mslt.population.Disability[source]

This component calculates the health-adjusted life years (HALYs) for each cohort over time, according to the years lost due to disability (YLD) rate.

property columns_required: List[str] | None

Provides names of columns required by the component.

Returns:

Names of required columns not created by this component. An empty list means all available columns are needed. None means no additional columns are necessary.

Return type:

Optional[List[str]]

setup(builder)[source]

Load the years lost due to disability (YLD) rate.

Parameters:

builder (Builder) –

Return type:

None

on_time_step(event)[source]

Calculate the HALYs for each cohort at each time-step, for both the BAU and intervention scenarios.

Parameters:

event (Event) –

Return type:

None

vivarium_public_health.mslt.population.load_population_data(builder)[source]
Parameters:

builder (Builder) –

Return type:

DataFrame