Discord
@hash/vaccine-distribution-process-model
Simulation
6
0
Public

Vaccine Distribution Process Model

Initial process model of distributing vaccines

This model is an initial draft co-produced with the The Virginia Modeling Analysis & Simulation Center. It has been superseded by their Vaccine Distribution Simulation.

The simulation models distributor agents - pharmacies, hospitals, clinics - administering vaccines to patients. Every timestep represents one day. A stochastic number of patients arrive each day to the distributors to receive a vaccine, and as the simulation runs these same patients return for a second dose.

Agents

Distributors: The distributor agent is the primary agent in the simulation. It receives patients and vaccines and attempts to maximize the number of patients treated.

Shipper: The shipper agent sends vaccines to each distributor agent. It sends vaccines weekly, on different days to different agents.

Population: The population agent generates patients who visit distributors. It also records appointments for second dose visits.

Globals

Reserve Policies

  • second_dose_storage: If true, model uses second dose storage. This should be set to true if second_dose_divert_to_storage > 0 or second_dose_matching is true.
  • second_dose_separate_storage: Number of vials per vaccine to set aside in reserve for second dose appointments.
  • second_dose_matching: If true set aside a dose for every vaccine administered to a first dose patient in reserve
  • shuffle_turn_away: If true will ignore the array order in prioritize_group_options and randomize who is turned away.

General Parameters

  • pfizer_expiry: timesteps for pfizer shelflife. If pfizer vaccine age is greater than pfizer_expiry will spoil.
  • moderna_expiry: timesteps for moderna shelflife. If moderna vaccine age is greater than _expiry will spoil.
  • appt_delay: timesteps after which patient will return for second dose
  • staff: Staff per clinic.
  • doses_handled_per_staff_day: Doses a staffer can administer a day.
  • num_distributors: Number of distributor agents
  • moderna_doses_per_week: number of moderna vials each distributor receives.
  • pfizer_doses_per_week: number of pfizer vials each distributor receives
  • provider_split: <Float (0 to 1)> Bias between provider in administration //TODO potentially remove if distributors receive one type
  • prioritize_group: Key for prioritize_group_options. Selected array will determine which groups are turned away first (the last group type in the array). So [num_of_first_dose, second_dose_moderna] will, if a distributor is over subscribed, turn away people coming for their second_dose_moderna.