laser.measles.abm.components.process_sia_calendar
laser.measles.abm.components.process_sia_calendar
laser.measles.abm.components.process_sia_calendar.SIACalendarParams
Bases: BaseModel
Parameters specific to the SIA calendar component.
laser.measles.abm.components.process_sia_calendar.SIACalendarProcess(model, verbose=False, 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 vaccinating individual agents 3. Uses the model's current_date to determine when to implement SIAs 4. Applies vaccination with configurable efficacy rate to individual agents
Parameters
model : ABMModel The ABM simulation model containing agents, patches, and parameters verbose : bool, default=False Whether to print verbose output during simulation params : Optional[SIACalendarParams], default=None Component-specific parameters. If None, will use default parameters
Notes
- SIA efficacy determines the fraction of susceptibles that get vaccinated
- Individual agents are randomly selected for vaccination based on efficacy
- SIAs are implemented when the model's current_date has passed the scheduled date
- Vaccination moves agents from susceptible (S=0) to recovered (R=3) state
- Both individual agent states and patch-level state aggregations are updated
- Each SIA is implemented exactly once
laser.measles.abm.components.process_sia_calendar.SIACalendarProcess.get_sia_schedule()
Get the SIA schedule.
Returns
pl.DataFrame DataFrame with columns: - {group_column}: Group identifier - {date_column}: Scheduled date for SIA