SIACalendarProcess#
- class SIACalendarProcess(model, verbose=False, params=None)[source]#
Bases:
BasePhasePhase for implementing Supplementary Immunization Activities (SIAs) based on a calendar schedule.
This component: 1. Groups nodes by geographic level using the same aggregation schema as CaseSurveillanceTracker 2. Implements SIAs at scheduled times by moving susceptibles to recovered state 3. Uses the model’s current_date to determine when to implement SIAs 4. Applies vaccination with configurable efficacy rate
- Parameters:
model (
CompartmentalModel) – The simulation model containing nodes, states, and parametersverbose (
bool) – Whether to print verbose output during simulationparams (
SIACalendarParams|None) – Component-specific parameters. If None, will use default parameters
Notes
SIA efficacy determines the fraction of susceptibles that get vaccinated
Vaccination is simulated using a binomial distribution
SIAs are implemented when the model’s current_date has passed the scheduled date
Since the model steps in 14-day increments, SIAs are implemented on the first step after their scheduled date
Each SIA is implemented exactly once
Initialize the component.
- Parameters:
model (
CompartmentalModel) – The model instance this component belongs to.verbose (
bool) – Whether to enable verbose output. Defaults to False.
- __call__(model, tick)[source]#
Execute component logic for a given simulation tick.
- Parameters:
model (
CompartmentalModel) – The model instance.tick (
int) – The current simulation tick.
- Return type:
None