laser.measles.components.base_case_surveillance
laser.measles.components.base_case_surveillance
Component for tracking case surveillance
laser.measles.components.base_case_surveillance.BaseCaseSurveillanceParams
Bases: BaseModel
Parameters specific to the case surveillance component.
Attributes:
| Name | Type | Description |
|---|---|---|
detection_rate |
float
|
Probability of detecting an infected case. |
filter_fn |
Callable[[str], bool]
|
Function to filter which nodes to include in aggregation. |
aggregate_cases |
Callable[[str], bool]
|
Whether to aggregate cases by geographic level. |
aggregation_level |
int
|
Number of levels to use for aggregation (e.g., 2 for country:state:lga). |
laser.measles.components.base_case_surveillance.BaseCaseSurveillanceTracker(model, verbose=False, params=None)
Bases: BasePhase
Component for tracking detected cases in the model.
This component: 1. Simulates case detection based on a detection rate 2. Optionally tracks detected cases aggregated by geographic level 3. Uses a filter function to determine which nodes to include
Case detection is simulated using a binomial distribution. Cases can be tracked at individual node level or aggregated by geographic level. Uses a filter function to determine which nodes to include. Note that a single infection can be detected multiple times.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
model
|
The simulation model containing nodes, states, and parameters. |
required | |
verbose
|
bool
|
Whether to print verbose output during simulation. Defaults to False. |
False
|
params
|
BaseCaseSurveillanceParams | None
|
Component-specific parameters. If None, will use default parameters. |
None
|
laser.measles.components.base_case_surveillance.BaseCaseSurveillanceTracker.__call__(model, tick)
Process case surveillance for the current tick.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
model
|
The simulation model. |
required | |
tick
|
int
|
Current time step. |
required |
laser.measles.components.base_case_surveillance.BaseCaseSurveillanceTracker.get_dataframe()
Get a DataFrame of reported cases over time.
Returns:
| Type | Description |
|---|---|
DataFrame
|
DataFrame with columns:
- tick: Time step
- patch_id: Patch/group identifier. Matches the |
laser.measles.components.base_case_surveillance.BaseCaseSurveillanceTracker.plot(fig=None)
Create a heatmap visualization of log(cases+1) over time.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
fig
|
Figure | None
|
Existing figure to plot on. If None, a new figure will be created. |
None
|
Yields:
| Type | Description |
|---|---|
|
The figure containing the heatmap visualization. |