Skip to content

laser.measles.biweekly.components.process_sia_calendar

process_sia_calendar

SIACalendarParams

Bases: BaseModel

Parameters specific to the SIA calendar component.

Examples:

1
2
3
from laser.measles.biweekly.components.process_sia_calendar import SIACalendarParams

params = SIACalendarParams()

SIACalendarProcess(model, params=None)

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:

Name Type Description Default
model object

The simulation model containing nodes, states, and parameters

required
params SAICalendarParams

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

None
Note
  • 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

Examples:

1
2
3
4
5
6
7
8
9
from laser.measles.scenarios.synthetic import single_patch_scenario
from laser.measles.biweekly import BiweeklyModel, BiweeklyParams
from laser.measles.biweekly import components
from laser.measles import create_component

scenario = single_patch_scenario(population=100_000, mcv1_coverage=0.85)
params = BiweeklyParams(num_ticks=52, seed=42, start_time="2000-01")
model = BiweeklyModel(scenario, params)
model.add_component(create_component(components.SIACalendarProcess, components.SIACalendarParams()))

get_sia_schedule()

Get the SIA schedule.

Returns:

Type Description
DataFrame

pl.DataFrame: DataFrame with columns:

DataFrame
  • {group_column}: Group identifier
DataFrame
  • {date_column}: Scheduled date for SIA

initialize(model)

No-op; SIA calendar state is set up during construction.