interventions

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.