src.create_initial_states.create_vaccination_priority¶
Create the vaccination groups and the vaccination rank.
Vaccination Groups¶
1 = Highest Priority¶
overall 8.6 Mio individuals = ~10% of the population
1% live in nursing homes (https://bit.ly/3vFsByz) and not covered in our data
=> target of 9%
over 80 year olds -> 4% of our synthetic population
- individuals working in nursing homes and outpatient nursing
796 489 in nursing homes
421 550 in outpaiton nursing
source: https://bit.ly/3vzGLBj
=> 1.5% of the population.
=> We increase this to 4.6% of the population to include other groups such as ICU staff. To achieve this share for the overall population we set the work_contact_priority to 0.9. With this we also reach the 9% target for the highest priority group.
2 = Very High Priority (2nd and 3rd group acc. to STIKO)¶
- approx. 14% of the population acc. to RKI without educators.
=> 15% abstracting 1% nursing home population.
70 to 80 year olds
close contacts of very high risk individuals
individuals with other dangerous preconditions
more medical workers
- => we model this as age group 50-70 gets 2/3 of the spots and
1/3 goes to age group 20-50.
In addition nursery, preschool and primary teachers were moved to this group. They are about 1% of our synthetic population.
=> target share of 16%
3 = High Priority (4th+5th category acc. to STIKO)¶
6.9 mio in 4th group + 9 mio in 5th group (~19%)
= ~18% of population without the already vaccinated teachers => ~19% abstracting 1% nursing home population.
60 to 70 year olds
other teachers
many essential workers (police, fire fighters …)
people with preconditions that make them more susceptible to covid.
close contacts of people with dangerous preconditions
Preconditions in this group include diabetes, hypertension, cancer, asthma, auto-immune disease
=> We expect a higher share among older individuals.
4 = The General Adult Population¶
Approximately 45 mio people ~ 56% of the population. => 57% abstracting 1% nursing home population
5 = Youths and 6 = Children¶
Youths will be vaccinated after the general population because in the beginning the vaccines were not allowed to be given to children. First, 12 to 16 year olds will be vaccinated, then children under 12.
We assume that the shares refer to the adult population without children.
References
https://bit.ly/3rekfdL (RKI Stiko Empfehlung)
shares of each group: https://bit.ly/3cb5uUQ
Module Contents¶
Functions¶
|
Create the order in which individuals get vaccinated, including refusers. |
|
Put individuals into vaccination priority groups based on age and work. |
|
People aged 70 to 80 and people with serious preconditions. |
|
nursery, preschool and primary educators. |
|
|
|
Sample a fixed number of adults from subgroups. |
|
-
create_vaccination_rank(vaccination_group, share_refuser, seed)[source]¶ Create the order in which individuals get vaccinated, including refusers.
- Parameters
vaccination_group (pandas.Series) – index is the same as that of states. Low values indicate individuals that have a high priority to be vaccinated.
share_refuser (float) –
share of individuals (irrespective of their vaccination group) that refuse to be vaccinated.
Warning
This share must also be passed to the vaccination model!
seed (int) –
- Returns
- same index as that of
vaccination_group. Takes values between 0 and 1. Low values correspond to individuals that get vaccinated earlier. Refusers receive the highest values but cannot be distinguished from the rest.
- Return type
vaccination_order (pandas.Series)
-
create_vaccination_group(states, seed)[source]¶ Put individuals into vaccination priority groups based on age and work.
- Parameters
states (pandas.DataFrame) – states DataFrame. Must contain as columns: “age”, “work_contact_priority”, “educ_worker”, “school_group_id_0”, and “occupation”.
seed (int) – seed
- Returns
- index is the same as states.
Values go from 1 (highest priority) to 4 (lowest priority). This is irrespective of individuals refuse to get vaccinated or not.
- Return type
vaccination_group (pandas.Series)
-
_get_second_priority_people_acc_to_stiko(states, vaccination_group)[source]¶ People aged 70 to 80 and people with serious preconditions.
-
_get_educators_of_young_children(states, vaccination_group)[source]¶ nursery, preschool and primary educators.
-
_sample_from_subgroups(n_to_sample, states, age_cutoff, share_to_sample_above_age_cutoff, vaccination_groups_so_far)[source]¶ Sample a fixed number of adults from subgroups.
Adults are split into those below and above age_cutoff and from each group a share of n_to_sample is drawn.
- Parameters
n_to_sample (int) – number of doses to distribute. Due to rounding errors it might not be matched exactly.
states (pandas.DataFrame) – sid states DataFrame with an “age” column.
age_cutoff (int) – The share_to_sample_above_age_cutoff of the n_to_sample is randomly individuals above this cutoff. The rest is distributed among adults bleow the cutoff.
share_to_sample_above_age_cutoff (float) – share of n_to_sample that is distributed among individuals > age_cutoff.
vaccination_groups_so_far (pandas.Series) – Series with the same index as states that is NaN for individuals that have not received a vaccine priority yet.
- Returns
- Series with the same index as states and
vaccination_group that is True for individuals that were drawn to receive a vaccine and False for everyone else.
- Return type
sampled (pandas.Series)