SIACalendarProcess#

class SIACalendarProcess(model, verbose=False, params=None)[source]#

Bases: BasePhase

Phase 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 parameters

  • verbose (bool) – Whether to print verbose output during simulation

  • params (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

get_sia_schedule()[source]#

Get the SIA schedule.

Returns:

DataFrame with columns: - {group_column}: Group identifier - {date_column}: Scheduled date for SIA

Return type:

DataFrame