diff --git a/caimira/data/__init__.py b/caimira/data/__init__.py
index 7ed3a76b..8c0a1390 100644
--- a/caimira/data/__init__.py
+++ b/caimira/data/__init__.py
@@ -48,21 +48,21 @@ GenevaTemperatures = {
# Studies: An Ongoing Systematic Review - Updated September 8, 2022.
# https://view-hub.org/resources
vaccine_primary_host_immunity = {
- 'AZD1222_(AstraZeneca)': 0.56474,
+ 'AZD1222_(AstraZeneca)': 0.589293,
'AZD1222_(AstraZeneca)_and_BNT162b2_(Pfizer)': 0.7865,
- 'AZD1222_(AstraZeneca)_and_any_mRNA_-_heterologous': 0.752143,
+ 'AZD1222_(AstraZeneca)_and_any_mRNA_-_heterologous': 0.81,
'Ad26.COV2.S_(Janssen)': 0.551278,
'Any_mRNA_-_heterologous': 0.93875,
'BBIBP-CorV_(Beijing_CNBG)': 0.4325,
- 'BNT162b2_(Pfizer)': 0.628452,
- 'BNT162b2_(Pfizer)_and_mRNA-1273_(Moderna)': 0.569803,
- 'CoronaVac_(Sinovac)': 0.292923,
+ 'BNT162b2_(Pfizer)': 0.660272,
+ 'BNT162b2_(Pfizer)_and_mRNA-1273_(Moderna)': 0.586319,
+ 'CoronaVac_(Sinovac)': 0.317333,
'CoronaVac_(Sinovac)_and_AZD1222_(AstraZeneca)': 0.472,
'CoronaVac_(Sinovac)_and_AZD1222_(AstraZeneca)_-_heterologous': 0.74,
'CoronaVac_(Sinovac)_and_BNT162b2_(Pfizer)': 0.7965,
'Covishield': 0.98,
'Sputnik_V_(Gamaleya)': 0.696,
- 'mRNA-1273_(Moderna)': 0.690527,
+ 'mRNA-1273_(Moderna)': 0.730148,
}
vaccine_booster_host_immunity = [
@@ -73,16 +73,15 @@ vaccine_booster_host_immunity = [
{'primary series vaccine': 'Ad26.COV2.S_(Janssen)', 'booster vaccine': 'Ad26.COV2.S_(Janssen)', 'VE': 0.492667},
{'primary series vaccine': 'Ad26.COV2.S_(Janssen)', 'booster vaccine': 'BNT162b2_(Pfizer)_or_mRNA-1273_(Moderna)', 'VE': 0.79},
{'primary series vaccine': 'BNT162b2_(Pfizer)', 'booster vaccine': 'AZD1222_(AstraZeneca)', 'VE': 0.801},
- {'primary series vaccine': 'BNT162b2_(Pfizer)', 'booster vaccine': 'BNT162b2_(Pfizer)', 'VE': 0.599132},
+ {'primary series vaccine': 'BNT162b2_(Pfizer)', 'booster vaccine': 'BNT162b2_(Pfizer)', 'VE': 0.60712},
{'primary series vaccine': 'BNT162b2_(Pfizer)', 'booster vaccine': 'BNT162b2_(Pfizer)_or_mRNA-1273_(Moderna)', 'VE': 0.632633},
{'primary series vaccine': 'BNT162b2_(Pfizer)', 'booster vaccine': 'mRNA-1273_(Moderna)', 'VE': 0.716786},
{'primary series vaccine': 'BNT162b2_(Pfizer)_and_mRNA-1273_(Moderna)', 'booster vaccine': 'BNT162b2_(Pfizer)_and_mRNA-1273_(Moderna)', 'VE': 0.645},
{'primary series vaccine': 'BNT162b2_(Pfizer)_(3_doses)', 'booster vaccine': 'BNT162b2_(Pfizer)_(4th_dose)', 'VE': 0.962},
{'primary series vaccine': 'CoronaVac_(Sinovac)', 'booster vaccine': 'AZD1222_(AstraZeneca)', 'VE': 0.9405},
- {'primary series vaccine': 'CoronaVac_(Sinovac)', 'booster vaccine': 'BNT162b2_(Pfizer)', 'VE': 0.649941},
- {'primary series vaccine': 'CoronaVac_(Sinovac)', 'booster vaccine': 'CoronaVac_(Sinovac)', 'VE': 0.605429},
- {'primary series vaccine': 'CoronaVac_(Sinovac)', 'booster vaccine': 'CoronaVac_(Sinovac)', 'VE': 0.289857},
+ {'primary series vaccine': 'CoronaVac_(Sinovac)', 'booster vaccine': 'BNT162b2_(Pfizer)', 'VE': 0.690563},
+ {'primary series vaccine': 'CoronaVac_(Sinovac)', 'booster vaccine': 'CoronaVac_(Sinovac)', 'VE': 0.52225},
{'primary series vaccine': 'mRNA-1273_(Moderna)', 'booster vaccine': 'BNT162b2_(Pfizer)', 'VE': 0.842143},
{'primary series vaccine': 'mRNA-1273_(Moderna)', 'booster vaccine': 'BNT162b2_(Pfizer)_or_mRNA-1273_(Moderna)', 'VE': 0.632633},
- {'primary series vaccine': 'mRNA-1273_(Moderna)', 'booster vaccine': 'mRNA-1273_(Moderna)', 'VE': 0.618512}
+ {'primary series vaccine': 'mRNA-1273_(Moderna)', 'booster vaccine': 'mRNA-1273_(Moderna)', 'VE': 0.633238}
]
From 98b08a05e052b1cb88461fc2912b07bf90a3339f Mon Sep 17 00:00:00 2001
From: Luis Aleixo
Date: Fri, 7 Oct 2022 10:51:05 +0200
Subject: [PATCH 09/13] moved select options (primary and booster vaccines) to
JS
---
caimira/apps/calculator/static/js/form.js | 77 +++++++++++++++----
.../templates/base/calculator.form.html.j2 | 37 +--------
2 files changed, 64 insertions(+), 50 deletions(-)
diff --git a/caimira/apps/calculator/static/js/form.js b/caimira/apps/calculator/static/js/form.js
index 68b08f4e..20c0b5b4 100644
--- a/caimira/apps/calculator/static/js/form.js
+++ b/caimira/apps/calculator/static/js/form.js
@@ -335,16 +335,16 @@ function update_booster_warning() {
function update_booster_dropdown(url) {
let primary_vaccine_option = $("#vaccine_type").find(":selected").val();
- $($("#vaccine_booster_type > option").get().reverse()).each(function() {
- if ($(this).attr('data-primary-vaccine') != primary_vaccine_option && $(this).attr('data-primary-vaccine') != "Other") $(this).hide();
- else {
- $(this).show();
- if (url.searchParams.has('vaccine_type')) {
- if (url.searchParams.get('vaccine_type') != primary_vaccine_option) $(this).prop('selected', true); // Select first of the list if not from the URL
- }
- else $(this).prop('selected', true);
- }
+ $("#vaccine_booster_type option").remove();
+ vaccine_booster_host_immunity.forEach(booster => {
+ if (booster['primary series vaccine'] == primary_vaccine_option)
+ $("#vaccine_booster_type").append(``);
});
+ $("#vaccine_booster_type").append(``);
+
+ let booster_vaccine = url.searchParams.has('vaccine_booster_type') ? url.searchParams.get('vaccine_booster_type') : null;
+ $(`#vaccine_booster_type > option[value="${booster_vaccine}"`).attr('selected', true);
+
update_booster_warning();
}
@@ -896,7 +896,7 @@ $(document).ready(function () {
$("#sr_interactions").text(index - 1);
}
- else if (name == 'sensor_in_use' || name == 'vaccine_booster_type') {
+ else if (name == 'sensor_in_use' || name == 'vaccine_type' || name == 'vaccine_booster_type') {
// Validation after
}
@@ -908,11 +908,15 @@ $(document).ready(function () {
}
});
- let primary_vaccine = url.searchParams.has('vaccine_type') ? url.searchParams.get('vaccine_type') : null;
- let booster_vaccine = url.searchParams.has('vaccine_booster_type') ? url.searchParams.get('vaccine_booster_type') : null;
- $(`#vaccine_booster_type > option[data-primary-vaccine="${primary_vaccine}"][value="${booster_vaccine}"]`).attr('selected', true);
-
// Handle default URL values if they are not explicitly defined.
+
+ // Populate primary vaccine dropdown
+ $("#vaccine_type option").remove();
+ let primary_vaccine = url.searchParams.has('vaccine_type') ? url.searchParams.get('vaccine_type') : null;
+ vaccine_primary_host_immunity.forEach(vaccine => $("#vaccine_type").append(``));
+ $(`#vaccine_type > option[value="${primary_vaccine}"]`).attr('selected', true);
+
+ // Handle geographic location input
if (Array.from(url.searchParams).length > 0) {
if (!url.searchParams.has('location_name')) {
$('[name="location_name"]').val('Geneva')
@@ -926,7 +930,6 @@ $(document).ready(function () {
}
}
-
// When the document is ready, deal with the fact that we may be here
// as a result of a forward/back browser action. If that is the case, update
// the visibility of some of our inputs.
@@ -1281,3 +1284,47 @@ function objectifyForm(formArray) {
returnArray[formArray[i]['name']] = formArray[i]['value'];
return returnArray;
}
+
+// ------- VACCINATION DATA -------
+
+// From data available in Results of COVID-19 Vaccine Effectiveness
+// Studies: An Ongoing Systematic Review - Updated September 8, 2022.
+// https://view-hub.org/resources
+vaccine_primary_host_immunity = [
+ 'AZD1222_(AstraZeneca)',
+ 'AZD1222_(AstraZeneca)_and_BNT162b2_(Pfizer)',
+ 'AZD1222_(AstraZeneca)_and_any_mRNA_-_heterologous',
+ 'Ad26.COV2.S_(Janssen)',
+ 'Any_mRNA_-_heterologous',
+ 'BBIBP-CorV_(Beijing_CNBG)',
+ 'BNT162b2_(Pfizer)',
+ 'BNT162b2_(Pfizer)_and_mRNA-1273_(Moderna)',
+ 'CoronaVac_(Sinovac)',
+ 'CoronaVac_(Sinovac)_and_AZD1222_(AstraZeneca)',
+ 'CoronaVac_(Sinovac)_and_AZD1222_(AstraZeneca)_-_heterologous',
+ 'CoronaVac_(Sinovac)_and_BNT162b2_(Pfizer)',
+ 'Covishield',
+ 'Sputnik_V_(Gamaleya)',
+ 'mRNA-1273_(Moderna)',
+]
+
+vaccine_booster_host_immunity = [
+ {'primary series vaccine': 'AZD1222_(AstraZeneca)', 'booster vaccine': 'AZD1222_(AstraZeneca),'},
+ {'primary series vaccine': 'AZD1222_(AstraZeneca)', 'booster vaccine': 'BNT162b2_(Pfizer)',},
+ {'primary series vaccine': 'AZD1222_(AstraZeneca)', 'booster vaccine': 'BNT162b2_(Pfizer)_or_mRNA-1273_(Moderna)',},
+ {'primary series vaccine': 'AZD1222_(AstraZeneca)', 'booster vaccine': 'mRNA-1273_(Moderna)',},
+ {'primary series vaccine': 'Ad26.COV2.S_(Janssen)', 'booster vaccine': 'Ad26.COV2.S_(Janssen)',},
+ {'primary series vaccine': 'Ad26.COV2.S_(Janssen)', 'booster vaccine': 'BNT162b2_(Pfizer)_or_mRNA-1273_(Moderna)',},
+ {'primary series vaccine': 'BNT162b2_(Pfizer)', 'booster vaccine': 'AZD1222_(AstraZeneca)',},
+ {'primary series vaccine': 'BNT162b2_(Pfizer)', 'booster vaccine': 'BNT162b2_(Pfizer)',},
+ {'primary series vaccine': 'BNT162b2_(Pfizer)', 'booster vaccine': 'BNT162b2_(Pfizer)_or_mRNA-1273_(Moderna)',},
+ {'primary series vaccine': 'BNT162b2_(Pfizer)', 'booster vaccine': 'mRNA-1273_(Moderna)',},
+ {'primary series vaccine': 'BNT162b2_(Pfizer)_and_mRNA-1273_(Moderna)', 'booster vaccine': 'BNT162b2_(Pfizer)_and_mRNA-1273_(Moderna)',},
+ {'primary series vaccine': 'BNT162b2_(Pfizer)_(3_doses)', 'booster vaccine': 'BNT162b2_(Pfizer)_(4th_dose)',},
+ {'primary series vaccine': 'CoronaVac_(Sinovac)', 'booster vaccine': 'AZD1222_(AstraZeneca)',},
+ {'primary series vaccine': 'CoronaVac_(Sinovac)', 'booster vaccine': 'BNT162b2_(Pfizer)',},
+ {'primary series vaccine': 'CoronaVac_(Sinovac)', 'booster vaccine': 'CoronaVac_(Sinovac)',},
+ {'primary series vaccine': 'mRNA-1273_(Moderna)', 'booster vaccine': 'BNT162b2_(Pfizer)',},
+ {'primary series vaccine': 'mRNA-1273_(Moderna)', 'booster vaccine': 'BNT162b2_(Pfizer)_or_mRNA-1273_(Moderna)',},
+ {'primary series vaccine': 'mRNA-1273_(Moderna)', 'booster vaccine': 'mRNA-1273_(Moderna)',}
+]
diff --git a/caimira/apps/templates/base/calculator.form.html.j2 b/caimira/apps/templates/base/calculator.form.html.j2
index 298735bb..c1fad444 100644
--- a/caimira/apps/templates/base/calculator.form.html.j2
+++ b/caimira/apps/templates/base/calculator.form.html.j2
@@ -374,21 +374,7 @@
@@ -408,26 +394,7 @@
From e82f6e58d252f2f97ab45d89840043086ca0c3a1 Mon Sep 17 00:00:00 2001
From: Luis Aleixo
Date: Fri, 7 Oct 2022 10:52:44 +0200
Subject: [PATCH 10/13] test for host immunity vectorisation
---
caimira/tests/models/test_exposure_model.py | 27 ++++++++++++++++++---
1 file changed, 24 insertions(+), 3 deletions(-)
diff --git a/caimira/tests/models/test_exposure_model.py b/caimira/tests/models/test_exposure_model.py
index f66943a5..1a986815 100644
--- a/caimira/tests/models/test_exposure_model.py
+++ b/caimira/tests/models/test_exposure_model.py
@@ -297,13 +297,13 @@ def test_prob_meet_infected_person(pop, cases, AB, exposed, infected, prob_meet_
[30, known_concentrations(lambda t: 1.2),
100000, 68, 5, 55.93154502],
])
-def test_probabilistic_exposure_probability(exposed_population, cm,
+def test_probabilistic_exposure_probability(sr_model, exposed_population, cm,
pop, AB, cases, probabilistic_exposure_probability):
population = models.Population(
exposed_population, models.PeriodicInterval(120, 60), models.Mask.types['Type I'],
models.Activity.types['Standing'], host_immunity=0.,)
- model = ExposureModel(cm, (), population, models.Cases(geographic_population=pop,
+ model = ExposureModel(cm, sr_model, population, models.Cases(geographic_population=pop,
geographic_cases=cases, ascertainment_bias=AB),)
np.testing.assert_allclose(
model.total_probability_rule(), probabilistic_exposure_probability, rtol=0.05
@@ -390,4 +390,25 @@ def test_diameter_vectorisation_room(diameter_dependent_model, sr_model, cases_m
ventilation = models.HVACMechanical(active=models.SpecificInterval(((0., 24.), )), q_air_mech=100.))
with pytest.raises(ValueError, match=error_message):
models.ExposureModel(concentration, sr_model, populations[0], cases_model)
-
\ No newline at end of file
+
+
+@pytest.mark.parametrize(
+ ["cm", "host_immunity", "expected_probability"],
+ [
+ [known_concentrations(lambda t: 36.), np.array([0.25, 0.5]), np.array([57.40415859, 41.03956914])],
+ [known_concentrations(lambda t: 36.), np.array([0., 1.]), np.array([67.95037626, 0.])],
+ ]
+)
+def test_host_immunity_vectorisation(sr_model, cases_model, cm, host_immunity, expected_probability):
+ population = models.Population(
+ 10, halftime, models.Mask(np.array([0.3, 0.35])),
+ models.Activity.types['Standing'], host_immunity=host_immunity
+ )
+ model = ExposureModel(cm, sr_model, population, cases_model)
+ inf_probability = model.infection_probability()
+
+ np.testing.assert_almost_equal(
+ inf_probability, expected_probability, decimal=1
+ )
+ assert isinstance(inf_probability, np.ndarray)
+ assert inf_probability.shape == (2, )
From a239b4f1ba00afc3eee2de3f92ffb25691495fd6 Mon Sep 17 00:00:00 2001
From: Luis Aleixo
Date: Mon, 10 Oct 2022 16:53:39 +0200
Subject: [PATCH 11/13] Increased version number
---
caimira/apps/calculator/__init__.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/caimira/apps/calculator/__init__.py b/caimira/apps/calculator/__init__.py
index 4072648c..8502868c 100644
--- a/caimira/apps/calculator/__init__.py
+++ b/caimira/apps/calculator/__init__.py
@@ -33,7 +33,7 @@ from .user import AuthenticatedUser, AnonymousUser
# calculator version. If the calculator needs to make breaking changes (e.g. change
# form attributes) then it can also increase its MAJOR version without needing to
# increase the overall CAiMIRA version (found at ``caimira.__version__``).
-__version__ = "4.4"
+__version__ = "4.5"
class BaseRequestHandler(RequestHandler):
From db85c41fa0fe0966d28b77255de1fa1f8b81d35e Mon Sep 17 00:00:00 2001
From: Luis Aleixo
Date: Wed, 9 Nov 2022 11:55:47 +0100
Subject: [PATCH 12/13] added VE script and excel file
---
.gitattributes | 1 +
..._COVID19_VE_Studies_08Sep2022_adapted.xlsx | 3 +
caimira/scripts/data/vaccine_effectiveness.py | 56 +++++++++++++++++++
3 files changed, 60 insertions(+)
create mode 100644 .gitattributes
create mode 100644 caimira/scripts/data/WeeklySummary_COVID19_VE_Studies_08Sep2022_adapted.xlsx
create mode 100644 caimira/scripts/data/vaccine_effectiveness.py
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 00000000..ca21a586
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1 @@
+*.xlsx filter=lfs diff=lfs merge=lfs -text
diff --git a/caimira/scripts/data/WeeklySummary_COVID19_VE_Studies_08Sep2022_adapted.xlsx b/caimira/scripts/data/WeeklySummary_COVID19_VE_Studies_08Sep2022_adapted.xlsx
new file mode 100644
index 00000000..c3ff459d
--- /dev/null
+++ b/caimira/scripts/data/WeeklySummary_COVID19_VE_Studies_08Sep2022_adapted.xlsx
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2aef0605c3668b4884b815f71c0eae93eaaa7b88d6b6c17ff97f6a86a38674a5
+size 76179581
diff --git a/caimira/scripts/data/vaccine_effectiveness.py b/caimira/scripts/data/vaccine_effectiveness.py
new file mode 100644
index 00000000..8186da64
--- /dev/null
+++ b/caimira/scripts/data/vaccine_effectiveness.py
@@ -0,0 +1,56 @@
+import pandas as pd
+from tabulate import tabulate
+
+'''
+Script file to generate the vaccine effectiveness values.
+To generate the primary vaccine effectiveness values, uncoment lines 16-21.
+To generate the booster effectiveness values, uncoment lines 26-56.
+'''
+
+# Data from 08 Sep. 2022
+file_loc = "./WeeklySummary_COVID19_VE_Studies_08Sep2022_adapted.xlsx"
+
+
+# ------- PRIMARY VACCINATION ------ #
+
+# df = pd.read_excel(file_loc, sheet_name="Primary_filtered", usecols="A, B, E")
+
+# calculate the VE value
+# df = df.drop(df[df['VE'] < 0].index)
+# ve_data = df.groupby(['vaccine'])['VE'].mean().divide(100).reset_index()
+# print(tabulate(ve_data, headers='keys', tablefmt='psql'))
+
+
+# ------- BOOSTER VACCINATION ------ #
+
+# df = pd.read_excel(file_loc, sheet_name="Booster_filtered", usecols="A, B, C, F")
+
+# # create df without the ' or ' substring in primary vaccines
+# rows_with_or = df[df['primary series vaccine'].str.contains(' or ')]
+# rows_indexes = list(rows_with_or.index)
+# df_without_or = df.drop(labels=rows_indexes, axis=0)
+
+# # copy of all the rows that contain ' or '
+# new_rows_with_or = rows_with_or.reset_index().copy()
+
+# # create new dataframe empty
+# rows_to_add = pd.DataFrame(columns=rows_with_or.columns)
+
+# # duplicate each row and add it into the new dataframe
+# for index, row in new_rows_with_or.iterrows():
+# new_rows_with_or.at[index, 'primary series vaccine'] = row['primary series vaccine'].split(' or ')[0]
+# rows_to_add.loc[index] = new_rows_with_or.loc[index]
+# new_rows_with_or.at[index, 'primary series vaccine'] = row['primary series vaccine'].split(' or ')[1]
+# rows_to_add.loc[len(rows_indexes)+index] = new_rows_with_or.loc[index]
+
+# # merge the dataframe without the ' or ' with the new dataframe that has the rows divided in two
+# final_df = pd.concat([df_without_or, rows_to_add]).reset_index().drop(columns=['index'])
+
+# # calculate the VE value
+# final_df = final_df.drop(final_df[final_df['VE'] < 0].index)
+
+# ve_data = final_df.groupby(['primary series vaccine', 'booster vaccine'])['VE'].mean().divide(100).reset_index()
+
+# result = ve_data.to_dict('records')
+
+# print(tabulate(ve_data, headers='keys', tablefmt='psql'))
From 2b19ea163f7833b21b59cf4c4343636d7d864f09 Mon Sep 17 00:00:00 2001
From: Luis Aleixo
Date: Thu, 10 Nov 2022 11:25:16 +0100
Subject: [PATCH 13/13] updated userguide for VE data and moved vaccination
block under virus type
---
caimira/apps/calculator/static/js/form.js | 2 +-
.../templates/base/calculator.form.html.j2 | 89 ++++++++++---------
caimira/apps/templates/base/userguide.html.j2 | 5 ++
setup.cfg | 2 +
4 files changed, 53 insertions(+), 45 deletions(-)
diff --git a/caimira/apps/calculator/static/js/form.js b/caimira/apps/calculator/static/js/form.js
index 20c0b5b4..86c23880 100644
--- a/caimira/apps/calculator/static/js/form.js
+++ b/caimira/apps/calculator/static/js/form.js
@@ -1309,7 +1309,7 @@ vaccine_primary_host_immunity = [
]
vaccine_booster_host_immunity = [
- {'primary series vaccine': 'AZD1222_(AstraZeneca)', 'booster vaccine': 'AZD1222_(AstraZeneca),'},
+ {'primary series vaccine': 'AZD1222_(AstraZeneca)', 'booster vaccine': 'AZD1222_(AstraZeneca)',},
{'primary series vaccine': 'AZD1222_(AstraZeneca)', 'booster vaccine': 'BNT162b2_(Pfizer)',},
{'primary series vaccine': 'AZD1222_(AstraZeneca)', 'booster vaccine': 'BNT162b2_(Pfizer)_or_mRNA-1273_(Moderna)',},
{'primary series vaccine': 'AZD1222_(AstraZeneca)', 'booster vaccine': 'mRNA-1273_(Moderna)',},
diff --git a/caimira/apps/templates/base/calculator.form.html.j2 b/caimira/apps/templates/base/calculator.form.html.j2
index c1fad444..5959d555 100644
--- a/caimira/apps/templates/base/calculator.form.html.j2
+++ b/caimira/apps/templates/base/calculator.form.html.j2
@@ -58,7 +58,7 @@
Virus data:
-
+
?
@@ -76,6 +76,49 @@
+
+
Vaccinated? 💉
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
With booster?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Due to the lack of data, only the efficiency of the primary dose(s) is considered
+
+
+
Room data:
@@ -325,7 +368,7 @@
-
+
@@ -359,48 +402,6 @@
Conference/Training activities limited to 1 infected
-
-
Vaccinated? 💉
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
With booster?
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Due to the lack of data, only the efficiency of the primary dose(s) is considered
-
-
diff --git a/caimira/apps/templates/base/userguide.html.j2 b/caimira/apps/templates/base/userguide.html.j2
index 14929ff9..95a2361d 100644
--- a/caimira/apps/templates/base/userguide.html.j2
+++ b/caimira/apps/templates/base/userguide.html.j2
@@ -51,6 +51,11 @@ The local population in Manaus had very high levels of Covid-19 antibodies (>
This factor has been taken into account by the authors of the study, via statistical adjustments to the transmission value (i.e. it has been increased, to account for spread in a population with significant acquired Covid-19 immunity).
However, this value may be revised in the future as more studies of the Gamma VOC transmission in different geographical locations become available.
Please enter either the room volume (in m³) or both the floor area (m²) and the room height (m).
diff --git a/setup.cfg b/setup.cfg
index c2f968b6..46f08728 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -29,3 +29,5 @@ ignore_missing_imports = True
[mypy-timezonefinder.*]
ignore_missing_imports = True
+[mypy-pandas.*]
+ignore_missing_imports = True