Skip to content

laser.measles.components.base_vital_dynamics

base_vital_dynamics

BaseVitalDynamicsParams

Bases: BaseModel

Parameters specific to vital dynamics.

Examples:

1
2
3
from laser.measles.biweekly.components.process_vital_dynamics import VitalDynamicsParams

params = VitalDynamicsParams()

BaseVitalDynamicsProcess(model, params=None)

Bases: BasePhase, ABC

Phase for simulating the vital dynamics in the model with MCV1.

This phase handles the simulation of births and deaths in the population model along with routine vaccination (MCV1).

Warning

The mcv1 scenario parameter only vaccinates newborns at each tick. It does not immunize the existing population. In short simulations (< 5 years), this produces negligible population-level immunity changes.

To model a population with pre-existing vaccine-derived immunity, either:

  • Use InitializeEquilibriumStatesProcess to set an appropriate S/R split at the start of the simulation, or
  • Directly set states.S and states.R before running.
  • Use SIACalendarProcess for discrete campaign-based vaccination.

See the Vaccination Modeling tutorial (docs/tutorials/tut_vaccination.py) for detailed examples of each approach.

Parameters:

Name Type Description Default
model object

The simulation model containing nodes, states, and parameters

required
params VitalDynamicsParams | None, default=None

Component-specific parameters. If None, will use default parameters

None
Notes
  • Birth rates are calculated per tick
  • MCV1 coverage is applied only to newborns; expect 5-10+ years of simulation time before routine immunization significantly shifts population-level immunity

lambda_birth property

birth rate per tick

mu_death property

death rate per tick

calculate_capacity(model) abstractmethod

Calculate the capacity of the model.