interventions
Define Typhoid-specific treatments and diagnostics (interventions). It includes the intervention (eg, campaign that finds eligible people) and also products.
Classes
| Name | Description |
|---|---|
| acute_treatment | Treat acute (symptomatic) subjects. |
| behavioral_change | Simulates reduction in exposure amount that may be due to behavioral |
| environmental_exposure_reduction | Results in a reduction in frequency of exposure due to interventions such |
| environmental_seasonality | Use the mechanism of interventions to increase the number of CFUs in the environment. |
| environmental_trapezoidal_modulation | Results in a reduction of the relative exposure to the environment |
| infection_clearence | Clears an infected individual’s Typhoid infection. It will clear Typhoid |
| routine_acute_screening | Routine screening - an instance of base screening combined with routine delivery. |
| shedding_reduction | Simulates sanitation interventions such as latrines and sewage disposal. |
| vaccination_with_waning | An intervention that handles a vaccination with waning. |
acute_treatment
interventions.acute_treatment(
product=None,
prob=1.0,
eligibility=None,
**kwargs,
)Treat acute (symptomatic) subjects.
This is expected to use the “infectiousness_redux” product, which results in an effective reduction or blocking in shedding, by reducing an agent’s infectiousness level.
For instance, Infectiousness is constant throughout the acute duration and is determined TAI (Typhoid Acute Infectiousness). This is mediated by the product’s treatment multiplier when an individual seeks treatment. For an agent who sought and received treatment, from treatment day to the end of the stage, its new infectiousness level is I(Acute) = TAI * product treatment multiplier
The basic mechanics of this treatment are: - 0. Find candidate agents: - a. new candidates: acute agents who are untreated and would seek treatment today - b. previous candidates: acute agents under treatment continue to be under treatment until they are no longer acute - 1. Of the ones that are eligible to ‘seek’ treatment today, decide who does and who doesnt receive treatment - 2. Treat new candidates - 3. Count how many people receive treatment today
Methods
| Name | Description |
|---|---|
| get_eligible | Get candidates for treatment on this timestep. This includes new patients |
get_eligible
interventions.acute_treatment.get_eligible()Get candidates for treatment on this timestep. This includes new patients and old patients.
behavioral_change
interventions.behavioral_change(
start_year=None,
dur=None,
efficacy=None,
efficacy_kwargs=None,
*args,
**kwargs,
)Simulates reduction in exposure amount that may be due to behavioral changes (washing vegetables, handwashing). Efficacy for this intervention is a multiplier on the dose.
In starsim behavioural changes will be represented by a reduction in each agent’s relative susceptibility and transmissibility.
environmental_exposure_reduction
interventions.environmental_exposure_reduction(
start_year=None,
dur=None,
efficacy=None,
efficacy_kwargs=None,
*args,
**kwargs,
)Results in a reduction in frequency of exposure due to interventions such as dietary changes, crop irrigation, health inspections of food vendors.
Efficacy for this intervention is a multiplier on # exposures. This means that if we want to reduce the n_exposure rate by half throughout the simulation, we have to apply the reduction at a single point in time, because this intervention modifies the model/module parameteter.
environmental_seasonality
interventions.environmental_seasonality(
start_year=None,
dur=None,
seasonal_pattern=None,
*args,
**kwargs,
)Use the mechanism of interventions to increase the number of CFUs in the environment.
environmental_trapezoidal_modulation
interventions.environmental_trapezoidal_modulation(
efficacy_kwargs=None,
*args,
**kwargs,
)Results in a reduction of the relative exposure to the environment due crop irrigation, health inspections of food vendors.
infection_clearence
interventions.infection_clearence(product=None, eligibility=None, **kwargs)Clears an infected individual’s Typhoid infection. It will clear Typhoid infections of all types (prepatent, acute, subclinical, chronic)
This is expected to use the “infectiousness_clearence” product, which results in an effective reduction or blocking in shedding, by reducing an agent’s infectiousness level at every timestep.
The basic mechanics of this treatment are: - 0. Find candidate agents: - a. new candidates: infected agents - b. previous candidates: people under treatment continue to be under treatment until they are no longer infected. - 2. Treat new candidates AND patients under treatment - 3. Count how many people receive treatment today and how many NEW started treatment today
Methods
| Name | Description |
|---|---|
| get_eligible | Get candidates for treatment on this timestep. This includes new patients |
get_eligible
interventions.infection_clearence.get_eligible()Get candidates for treatment on this timestep. This includes new patients and old patients.
routine_acute_screening
interventions.routine_acute_screening(eligibility_kwargs=None, **kwargs)Routine screening - an instance of base screening combined with routine delivery. See base classes for a description of input arguments.
Examples:: screen1 = ty.routine_screening(product=my_prod, prob=0.02) # Screen 2% of the eligible (acute) population every year screen2 = ty.routine_screening(product=my_prod, prob=0.02, start_year=2020) # Screen 2% every year starting in 2020 screen3 = ty.routine_screening(product=my_prod, prob=np.linspace(0.005,0.025,5), years=np.arange(2020,2025)) # Scale up screening over 5 years starting in 2020
shedding_reduction
interventions.shedding_reduction(
start_year=None,
dur=None,
efficacy=None,
efficacy_kwargs=None,
*args,
**kwargs,
)Simulates sanitation interventions such as latrines and sewage disposal. Efficacy for this intervention is a multiplier on the daily shedding amounts.
vaccination_with_waning
interventions.vaccination_with_waning(
*args,
booster1_prob=0.0,
booster2_prob=0.0,
booster1_interval=None,
booster2_interval=None,
imm_decay_shape_dist=ss.constant(v=1.0),
imm_decay_rate_dist=ss.constant(v=(tyi.imm_decay_rate_by_age())),
imm_ve0_dist=ss.constant(v=(tyi.imm_ve0_by_age())),
imm_constant_dur_dist=ss.constant(v=(tyi.imm_constant_dur_by_age())),
imm_draw_fn=None,
imm_draw_fn_kwargs=None,
label=None,
debug=False,
**kwargs,
)An intervention that handles a vaccination with waning.
NOTE: this case is a bit special because it agreggates vaccine protection and the immune system. Immunity waning could be handled in the disease, or there could be a module that is called immune_system and it could have different responses depending on a product.
This intervention does not use a product (ss.Product)
The “vaccine” administered here induces immune-evoked impulse response, that is modelled with a box-exponential model (ie, immunity can be constant at ve0 for a duration and then it wanes exponentially).
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| prob (float/arr) | probability of eligible population getting vaccinated, by default it is interepreted as an annual probability | required | |
| booster1_prob (float) | conditional probability of receiving first booster dose given that an individual has received their first routine dose | required | |
| booster2_prob (float) | conditional probability of receiving second booster dose given that an individual has received their first routine dose | required | |
| booster1_interval (float) | the interval of time in years between an individual receiving their routine dose and their first booster | required | |
| booster2_interval (float) | the interval of time in years between an individual receiving their routine dose and their second booster | required | |
| imm_decay_shape_dist (ss.Dist) | a starsim Distribution that will return the approrpriate value of immunity decay shape (gamma decay). Default, constant with shape=1 (i.e. exponential waning) | required | |
| imm_decay_rate_dist (ss.Dist) | a starsim Distribution that will return the approrpriate value of immunity decay rate (gamma decay) | required | |
| imm_ve0 _dist (ss.Dist) | a starsim Distribution that will return the appropriate value of immunity ve0 (maximum acquired immune response at time of vaccination) | required | |
| imm_constant_dur_dist (ss.Dist) | a starsim Distribution that will return the appropriate value of duration at constant ve0, after which acquired immunity starts waning | required | |
| imm_draw_fn (callable) | a function that tells the intervention how to get the right parameters from from the ss.Dist parameters imm_decay, imm_ve0, imm_constant_dur | required | |
| label (str) | the name of vaccination strategy | required | |
| kwargs (dict) | passed to Intervention() | required |
Methods
| Name | Description |
|---|---|
| step_acquired_immunity | This is the model of the the dynamics of an individual’s immunity |
step_acquired_immunity
interventions.vaccination_with_waning.step_acquired_immunity(sim, uids)This is the model of the the dynamics of an individual’s immunity response to receiving a vaccination. The acquired immunity wanes over time with a gamma decay.