Input data with different cards and min height for animation css

This commit is contained in:
Luis Aleixo 2021-08-02 17:18:01 +02:00
parent bb968e58e6
commit 5523fe28dc
2 changed files with 308 additions and 251 deletions

View file

@ -51,17 +51,38 @@
</button>
</div>
<div class="collapse show" id="collapseResults">
<div class="card-body">
<p class="card-text">
<div class="align-self-center">
{% block report_summary %}
Taking into account the uncertainties tied to the model variables, in this scenario, the <b>probability of one exposed occupant getting infected is {{ prob_inf | non_zero_percentage }}</b><a href="#section1">[*]</a> and the <b>expected number of new cases is {{ expected_new_cases | float_format }}</b>.
{% endblock report_summary %}
</div>
<p id="section1">[*] The results are based on the parameters and assumptions published in the CERN Open Report <a href="https://cds.cern.ch/record/2756083"> CERN-OPEN-2021-004</a></p>
<img id="scenario_concentration_plot" src="{{ scenario_plot_src }}" />
</p>
</div>
<div class="card-body">
<p class="card-text">
<div class="align-self-center">
<div class="d-flex">
<div class="card bg-light w-25 mb-3 mr-3">
<div class="card-header"><b>Probability of infection (%)</b></div>
<div class="card-body d-flex" style="min-height: 160px">
{% block warning_animation %}
<div class="intro-banner-vdo-play-btn bg-secondary m-auto d-flex align-items-center justify-content-center">
<b style="color: #000000">{{prob_inf | non_zero_percentage}}</b>
<i class="glyphicon glyphicon-play whiteText" aria-hidden="true"></i>
<span class="ripple bg-secondary"></span>
<span class="ripple bg-secondary"></span>
<span class="ripple bg-secondary"></span>
</div>
{% endblock warning_animation %}
</div>
</div>
{% block report_summary %}
<div class="flex-row w-75 align-self-center alert alert-dark" role="alert">
Taking into account the uncertainties tied to the model variables, in this scenario, the <b>probability of one exposed occupant getting infected is {{ prob_inf | non_zero_percentage }}</b><a href="#section1">[*]</a> and the <b>expected number of new cases is {{ expected_new_cases | float_format }}</b>.
</div>
{% endblock report_summary %}
</div>
{% block report_summary_footnote %}
{% endblock report_summary_footnote %}
</div>
<img id="scenario_concentration_plot" src="{{ scenario_plot_src }}" />
<p id="section1">[*] The results are based on the parameters and assumptions published in the CERN Open Report <a href="https://cds.cern.ch/record/2756083"> CERN-OPEN-2021-004</a></p>
</p>
</div>
</div>
</div>
<div class="card bg-light mb-3">
@ -114,13 +135,26 @@
{% endblock report_results %}
{% block report_footer %}
<div>
<a href="{{ qr_code.link }}" style="float: left;"><img style="width:250pt;" id="qr_code" src="{{ qr_code.image }}"/></a>
<span style="float: left; min-height: 250pt; line-height: 250pt; vertical-align: middle; display: inline-block;">
<p style="display: inline-block; vertical-align: middle; line-height: normal;">
Click the QR code to regenerate the report and get a shareable link.<br>Alternatively, scan to regenerate the report.<br> Mobile-friendly app coming soon!
</p>
</span>
<div class="card bg-light mb-3">
<div class="card-header"><strong>QR code </strong>
<button class="icon_button p-0 float-right" data-toggle="collapse" href="#collapseQRcode" role="button" aria-expanded="false" aria-controls="collapseQRcode">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-chevron-expand" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M3.646 9.146a.5.5 0 0 1 .708 0L8 12.793l3.646-3.647a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 0-.708zm0-2.292a.5.5 0 0 0 .708 0L8 3.207l3.646 3.647a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 0 0 0 .708z"/>
</svg>
</button>
</div>
<div class="collapse" id="collapseQRcode">
<div class="card-body">
<div>
<a href="{{ qr_code.link }}" style="float: left;"><img style="width:250pt;" id="qr_code" src="{{ qr_code.image }}"/></a>
<span style="float: left; min-height: 250pt; line-height: 250pt; vertical-align: middle; display: inline-block;">
<p style="display: inline-block; vertical-align: middle; line-height: normal;">
Click the QR code to regenerate the report and get a shareable link.<br>Alternatively, scan to regenerate the report.<br> Mobile-friendly app coming soon!
</p>
</span>
</div>
</div>
</div>
</div>
<div style="clear: both;"></div>
@ -172,181 +206,207 @@
<div class="tab-pane fade" id="data" role="tabpanel" aria-labelledby="data-tab" style="padding: 1%">
{% block simulation_overview %}
<p><strong>Simulation:</strong></p>
<p>Simulation Name: {{ form.simulation_name }}</p>
<p>Room Number: {{ form.room_number }}</p>
<p class="data_title">Input data:</p>
<ul>
<li><p class="data_text">Virus variant:
{% if form.virus_type == "SARS_CoV_2" %}
SARS-CoV-2 (nominal strain)
{% elif form.virus_type == "SARS_CoV_2_B117" %}
<a href="https://www.ecdc.europa.eu/en/publications-data/covid-19-risk-assessment-spread-new-sars-cov-2-variants-eueea">SARS-CoV-2 (Alpha VOC) </a>
{% elif form.virus_type == "SARS_CoV_2_P1" %}
<a href="https://github.com/CADDE-CENTRE/Novel-SARS-CoV-2-P1-Lineage-in-Brazil/blob/main/manuscript/FINAL_P1_MANUSCRIPT_25-02-2021_combined.pdf">SARS-CoV-2 (Gamma VOC)</a>
{% elif form.virus_type == "SARS_CoV_2_B16172" %}
<a href="https://www.bmj.com/content/373/bmj.n1513">SARS-CoV-2 (Delta VOC)</a>
{% endif %}
</p></li>
<li><p class="data_text">Room Volume: {{ model.concentration_model.room.volume }} m³</p></li>
<li><p class="data_text">Room Central Heating: {{ "On" if form.room_heating_option else "Off" }}</p></li>
</ul>
<p class="data_title">Ventilation data:</p>
<ul>
<li><p class="data_text">Mechanical ventilation:
{% if form.ventilation_type == "mechanical_ventilation" %}
Yes </p></li>
<ul>
<li><p class="data_subtext">
{% if form.mechanical_ventilation_type == "mech_type_air_supply"%}
Air supply flow rate: {{ form.air_supply }} m³ / hour
{% elif form.mechanical_ventilation_type == "mech_type_air_changes"%}
Air changes per hour: {{ form.air_changes }} h⁻¹
{% endif %}
</p></li>
</ul>
{% else %}
No </li>
{% endif %}
<li><p class="data_text">Natural ventilation:
{% if form.ventilation_type == "natural_ventilation"%}
Yes </p></li>
<ul>
<li><p class="data_subtext">Number of windows: {{ form.windows_number }}</p></li>
<li><p class="data_subtext">Height of window: {{ form.window_height }} m</p></li>
<li><p class="data_subtext">Window type:
{% if form.window_type == "window_hinged" %}
Top- or Bottom-Hung</p></li>
<li><p class="data_subtext">Width of window: {{ form.window_width }} m</p></li>
{% elif form.window_type == "window_sliding" %}
Sliding / Side-Hung</p></li>
{% endif %}
<li><p class="data_subtext">Opening distance: {{ form.opening_distance }} m</p></li>
<li><p class="data_subtext">Windows open:
{% if form.window_opening_regime == "windows_open_periodically" %}
Periodically for {{ form.windows_duration | readable_minutes}}
every {{ form.windows_frequency | readable_minutes}}
{% elif form.window_opening_regime == "windows_open_permanently" %}
Permanently
{% endif %}
</p></li>
</ul>
<p class="data_subtext data_italic">When using the natural ventilation option, air flows are calculated using averaged hourly temperatures for the Geneva region, based on historical data for the month selected.</p>
{% else %}
No </p></li>
{% endif %}
<li><p class="data_text">HEPA Filtration: {{ 'Yes' if form.hepa_option else 'No' }}</li>
{% if form.hepa_option %}
<ul>
<li><p class="data_text">HEPA amount: {{ form.hepa_amount }} m³ / hour</p></li>
</ul>
{% endif %}
</ul>
<p class="data_title">Event data:</p>
<ul>
<li><p class="data_text">Number of attendees and infected people: {{ form.total_people }} in attendance, of whom {{ form.infected_people }}
{{ "is" if form.infected_people == 1 else "are" }}
infected.</p></li>
<li><p class="data_text">
Activity type:
{% if form.activity_type == "office" %}
Office typical scenario with all persons seated, talking occasionally (talking assumed for 1/3rd of the time).
{% elif form.activity_type == "meeting" %}
Meeting typical scenario with all persons seated, one person talking at a time.
{% elif form.activity_type == "callcentre" %}
Call Centre = typical office-like scenario with all persons seated, all talking continuously.
{% elif form.activity_type == "controlroom-day" %}
Control Room (Day Shift) = specific control room scenario, all persons seated, all talking 50% of the time.
{% elif form.activity_type == "controlroom-night" %}
Control Room (Night Shift) = specific control room scenario with all persons seated, all talking for 10% of the time.
{% elif form.activity_type == "library" %}
Library = Library scenario with all persons seated, breathing and not talking.
{% elif form.activity_type == "workshop" %}
Workshop = assembly workshop environment, all persons doing moderate physical activity, talking 50% of the time.
{% elif form.activity_type == "training" %}
Training one person (the trainer) standing, talking, all others seated, talking quietly (whispering). It is assumed the trainer is the infected person, for the worst case scenario.
{% elif form.activity_type == "lab" %}
Laboratory = Lab or technical environment, all persons doing light physical activity, talking 50% of the time.
{% elif form.activity_type == "gym" %}
Gym = For comparison only, all persons doing heavy physical exercise, breathing and not talking.
{% endif %}
</p></li>
<li><p class="data_text">Exposed occupant(s) activity time:</p></li>
<div class=card>
<div class="card-header"><strong>Simulation:</strong></div>
<div class="card-body">
<p>Simulation Name: {{ form.simulation_name }}</p>
<p>Room Number: {{ form.room_number }}</p>
</div>
</div>
<br>
<div class="card">
<div class="card-header"> <strong>Input data:</strong></div>
<div class="card-body">
<ul>
<li><p class="data_subtext">Start time: {{ form.exposed_start | minutes_to_time }} &nbsp&nbsp End time: {{ form.exposed_finish | minutes_to_time }}</p></li>
<li><p class="data_text">Virus variant:
{% if form.virus_type == "SARS_CoV_2" %}
SARS-CoV-2 (nominal strain)
{% elif form.virus_type == "SARS_CoV_2_B117" %}
<a href="https://www.ecdc.europa.eu/en/publications-data/covid-19-risk-assessment-spread-new-sars-cov-2-variants-eueea">SARS-CoV-2 (Alpha VOC) </a>
{% elif form.virus_type == "SARS_CoV_2_P1" %}
<a href="https://github.com/CADDE-CENTRE/Novel-SARS-CoV-2-P1-Lineage-in-Brazil/blob/main/manuscript/FINAL_P1_MANUSCRIPT_25-02-2021_combined.pdf">SARS-CoV-2 (Gamma VOC)</a>
{% elif form.virus_type == "SARS_CoV_2_B16172" %}
<a href="https://www.bmj.com/content/373/bmj.n1513">SARS-CoV-2 (Delta VOC)</a>
{% endif %}
</p></li>
<li><p class="data_text">Room Volume: {{ model.concentration_model.room.volume }} m³</p></li>
<li><p class="data_text">Room Central Heating: {{ "On" if form.room_heating_option else "Off" }}</p></li>
</ul>
<li><p class="data_text">Infected occupant(s) activity time:</p></li>
<ul>
<li><p class="data_subtext">Start time: {{ form.infected_start | minutes_to_time }} &nbsp&nbsp End time: {{ form.infected_finish | minutes_to_time }}</p></li>
</ul>
<li><p class="data_text">Event for the month of {{ form.event_month }}</p></li>
</ul>
<p class="data_title">Break data:</p>
</div>
</div>
<br>
<div class="card">
<div class="card-header"><strong>Ventilation data:</strong></div>
<div class="card-body">
<ul>
<li><p class="data_text">Mechanical ventilation:
{% if form.ventilation_type == "mechanical_ventilation" %}
Yes </p></li>
<ul>
<li><p class="data_subtext">
{% if form.mechanical_ventilation_type == "mech_type_air_supply"%}
Air supply flow rate: {{ form.air_supply }} m³ / hour
{% elif form.mechanical_ventilation_type == "mech_type_air_changes"%}
Air changes per hour: {{ form.air_changes }} h⁻¹
{% endif %}
</p></li>
</ul>
{% else %}
No </li>
{% endif %}
<li><p class="data_text">Natural ventilation:
{% if form.ventilation_type == "natural_ventilation"%}
Yes </p></li>
<ul>
<li><p class="data_subtext">Number of windows: {{ form.windows_number }}</p></li>
<li><p class="data_subtext">Height of window: {{ form.window_height }} m</p></li>
<li><p class="data_subtext">Window type:
{% if form.window_type == "window_hinged" %}
Top- or Bottom-Hung</p></li>
<li><p class="data_subtext">Width of window: {{ form.window_width }} m</p></li>
{% elif form.window_type == "window_sliding" %}
Sliding / Side-Hung</p></li>
{% endif %}
<li><p class="data_subtext">Opening distance: {{ form.opening_distance }} m</p></li>
<li><p class="data_subtext">Windows open:
{% if form.window_opening_regime == "windows_open_periodically" %}
Periodically for {{ form.windows_duration | readable_minutes}}
every {{ form.windows_frequency | readable_minutes}}
{% elif form.window_opening_regime == "windows_open_permanently" %}
Permanently
{% endif %}
</p></li>
</ul>
<p class="data_subtext data_italic">When using the natural ventilation option, air flows are calculated using averaged hourly temperatures for the Geneva region, based on historical data for the month selected.</p>
{% else %}
No </p></li>
{% endif %}
<li><p class="data_text">HEPA Filtration: {{ 'Yes' if form.hepa_option else 'No' }}</li>
{% if form.hepa_option %}
<ul>
<li><p class="data_text">HEPA amount: {{ form.hepa_amount }} m³ / hour</p></li>
</ul>
{% endif %}
</ul>
</div>
</div>
<br>
<div class="card">
<div class="card-header"><strong>Event data:</strong></div>
<div class="card-body">
<ul>
<li><p class="data_text">Number of attendees and infected people: {{ form.total_people }} in attendance, of whom {{ form.infected_people }}
{{ "is" if form.infected_people == 1 else "are" }}
infected.</p></li>
<li><p class="data_text">
Activity type:
{% if form.activity_type == "office" %}
Office typical scenario with all persons seated, talking occasionally (talking assumed for 1/3rd of the time).
{% elif form.activity_type == "meeting" %}
Meeting typical scenario with all persons seated, one person talking at a time.
{% elif form.activity_type == "callcentre" %}
Call Centre = typical office-like scenario with all persons seated, all talking continuously.
{% elif form.activity_type == "controlroom-day" %}
Control Room (Day Shift) = specific control room scenario, all persons seated, all talking 50% of the time.
{% elif form.activity_type == "controlroom-night" %}
Control Room (Night Shift) = specific control room scenario with all persons seated, all talking for 10% of the time.
{% elif form.activity_type == "library" %}
Library = Library scenario with all persons seated, breathing and not talking.
{% elif form.activity_type == "workshop" %}
Workshop = assembly workshop environment, all persons doing moderate physical activity, talking 50% of the time.
{% elif form.activity_type == "training" %}
Training one person (the trainer) standing, talking, all others seated, talking quietly (whispering). It is assumed the trainer is the infected person, for the worst case scenario.
{% elif form.activity_type == "lab" %}
Laboratory = Lab or technical environment, all persons doing light physical activity, talking 50% of the time.
{% elif form.activity_type == "gym" %}
Gym = For comparison only, all persons doing heavy physical exercise, breathing and not talking.
{% endif %}
</p></li>
<li><p class="data_text">Exposed occupant(s) activity time:</p></li>
<ul>
<li><p class="data_subtext">Start time: {{ form.exposed_start | minutes_to_time }} &nbsp&nbsp End time: {{ form.exposed_finish | minutes_to_time }}</p></li>
</ul>
<li><p class="data_text">Infected occupant(s) activity time:</p></li>
<ul>
<li><p class="data_subtext">Start time: {{ form.infected_start | minutes_to_time }} &nbsp&nbsp End time: {{ form.infected_finish | minutes_to_time }}</p></li>
</ul>
<li><p class="data_text">Event for the month of {{ form.event_month }}</p></li>
</ul>
</div>
</div>
<br>
<div class="card">
<div class="card-header"><strong>Break data:</strong></div>
<div class="card-body">
{% if form.infected_dont_have_breaks_with_exposed %}
<p style="padding-left:15px;"> Exposed occupant(s):</p>
{% endif %}
<ul>
<li><p class="data_text">Lunch break:
{% if form.exposed_lunch_option%}
Yes</li>
<ul>
<li><p class="data_subtext">Start time: {{ form.exposed_lunch_start | minutes_to_time }} &nbsp&nbsp End time: {{ form.exposed_lunch_finish | minutes_to_time }}</p></li>
</ul>
{% else%}
No
{% endif %}
</p></li>
<li><p class="data_text">Coffee breaks: {{ form.exposed_number_of_coffee_breaks() }}
{% if form.exposed_number_of_coffee_breaks() > 0 %}
each of {{ form.exposed_coffee_duration }} minutes duration
</p></li>
<ul>
{%- for start_time, end_time in form.exposed_coffee_break_times() %}
<li><p class="data_subtext">Coffee break {{ loop.index }}: Start: {{ start_time | minutes_to_time }} &nbsp&nbsp End: {{ end_time | minutes_to_time }}</p></li>
{%- endfor %}
</ul>
{% endif %}
</ul>
</div>
</div>
<br>
{% if form.infected_dont_have_breaks_with_exposed %}
<p style="padding-left:15px;"> Exposed occupant(s):</p>
<div class="card">
<div class="card-header"><strong> Infected occupant(s):</strong></div>
<div class="card-body">
<ul>
<li><p class="data_text">Lunch break:
{% if form.infected_lunch_option%}
Yes</li>
<ul>
<li><p class="data_subtext">Start time: {{ form.infected_lunch_start | minutes_to_time }} &nbsp&nbsp End time: {{ form.infected_lunch_finish | minutes_to_time }}</p></li>
</ul>
{% else%}
No
{% endif %}
</p></li>
<li><p class="data_text">Coffee breaks: {{ form.infected_number_of_coffee_breaks() }}
{% if form.infected_number_of_coffee_breaks() > 0 %}
each of {{ form.infected_coffee_duration }} minutes duration
</p></li>
<ul>
{%- for start_time, end_time in form.infected_coffee_break_times() %}
<li><p class="data_subtext">Coffee break {{ loop.index }}: Start: {{ start_time | minutes_to_time }} &nbsp&nbsp End: {{ end_time | minutes_to_time }}</p></li>
{%- endfor %}
</ul>
{% endif %}
</ul>
</div>
</div>
{% endif %}
<ul>
<li><p class="data_text">Lunch break:
{% if form.exposed_lunch_option%}
Yes</li>
<ul>
<li><p class="data_subtext">Start time: {{ form.exposed_lunch_start | minutes_to_time }} &nbsp&nbsp End time: {{ form.exposed_lunch_finish | minutes_to_time }}</p></li>
</ul>
{% else%}
No
{% endif %}
</p></li>
<li><p class="data_text">Coffee breaks: {{ form.exposed_number_of_coffee_breaks() }}
{% if form.exposed_number_of_coffee_breaks() > 0 %}
each of {{ form.exposed_coffee_duration }} minutes duration
</p></li>
<ul>
{%- for start_time, end_time in form.exposed_coffee_break_times() %}
<li><p class="data_subtext">Coffee break {{ loop.index }}: Start: {{ start_time | minutes_to_time }} &nbsp&nbsp End: {{ end_time | minutes_to_time }}</p></li>
{%- endfor %}
</ul>
{% endif %}
</ul>
{% if form.infected_dont_have_breaks_with_exposed %}
<p style="padding-left:15px;"> Infected occupant(s):</p>
<ul>
<li><p class="data_text">Lunch break:
{% if form.infected_lunch_option%}
Yes</li>
<ul>
<li><p class="data_subtext">Start time: {{ form.infected_lunch_start | minutes_to_time }} &nbsp&nbsp End time: {{ form.infected_lunch_finish | minutes_to_time }}</p></li>
</ul>
{% else%}
No
{% endif %}
</p></li>
<li><p class="data_text">Coffee breaks: {{ form.infected_number_of_coffee_breaks() }}
{% if form.infected_number_of_coffee_breaks() > 0 %}
each of {{ form.infected_coffee_duration }} minutes duration
</p></li>
<ul>
{%- for start_time, end_time in form.infected_coffee_break_times() %}
<li><p class="data_subtext">Coffee break {{ loop.index }}: Start: {{ start_time | minutes_to_time }} &nbsp&nbsp End: {{ end_time | minutes_to_time }}</p></li>
{%- endfor %}
</ul>
{% endif %}
</ul>
{% endif %}
<p class="data_title">Mask wearing:</p>
<ul>
<li><p class="data_text">Masks worn at workstations? {{ 'Yes' if form.mask_wearing_option == "mask_on" else 'No' }} </p></li>
{% if form.mask_wearing_option == "mask_on" %}
<li><p class="data_text">Mask type: {{ form.mask_type }}</p></li>
{% endif %}
</ul>
<br>
<div class="card">
<div class="card-header"><strong>Mask wearing:</strong></div>
<div class="card-body">
<ul>
<li><p class="data_text">Masks worn at workstations? {{ 'Yes' if form.mask_wearing_option == "mask_on" else 'No' }} </p></li>
{% if form.mask_wearing_option == "mask_on" %}
<li><p class="data_text">Mask type: {{ form.mask_type }}</p></li>
{% endif %}
</ul>
</div>
</div>
{% endblock simulation_overview %}
</div>
{% block report_preamble %}

View file

@ -6,70 +6,67 @@
</li>
{% endblock report_preamble_navtab %}
{% block report_summary %}
<div class="d-flex">
<div class="card bg-light w-25 mb-3 mr-3">
<div class="card-header"><b>Probability of infection (%)</b></div>
{% if (prob_inf < 5)%} {% set warning_color = 'bg-success' %}
{% elif (prob_inf >= 5 and prob_inf <= 15) %} {% set warning_color = 'bg-warning' %}
{% else %} {% set warning_color= 'bg-danger' %}
{% endif %}
<div class="intro-banner-vdo-play-btn {{warning_color}} m-auto d-flex align-items-center justify-content-center">
<b style="color: #000000">{{prob_inf | non_zero_percentage}}</b>
<i class="glyphicon glyphicon-play whiteText" aria-hidden="true"></i>
<span class="ripple {{warning_color}}"></span>
<span class="ripple {{warning_color}}"></span>
<span class="ripple {{warning_color}}"></span>
</div>
</div>
<div class="flew-row w-75">
<span
{% if ((prob_inf > 15) or (expected_new_cases >= 1)) %}
><div class="alert alert-danger" role="alert">
<strong>Not Acceptable:</strong>
{{ super() }}
</div>
{% elif 5 <= prob_inf <= 15 %}
><div class="alert alert-warning" role="alert">
<strong>Attention:</strong>
{{ super() }}
<div>
{% elif prob_inf < 5 %}
><div class="alert alert-success" role="alert">
><strong>Acceptable:</strong>
{{ super() }}
</div>
{% endif %}
</span>
{% if (prob_inf > 5) %}
{% if scale_warning.level == "green-1" %}
<div class="alert alert-dark" role="alert" style="height:fit-content">
Note: the current CERN COVID Scale is <b>Green - 1</b>, which means the incidence rate in the local community is <b>{{scale_warning.incidence_rate}}</b>. Align your risk assessment with the guidance and instructions provided by the HSE Unit.
</div>
{% elif scale_warning.level == "yellow-2" %}
<div class="alert alert-dark" role="alert" style="height:fit-content">
Note: the current CERN COVID Scale is <b>Yellow - 2</b>, which means the incidence rate in the local community is <b>{{scale_warning.incidence_rate}}</b>. There is a reduced chance that asymptomatic or pre-symptomatic infected individuals circulate within the CERN site which, during this stage, corresponds to an average daily on-site access {{scale_warning.onsite_access}}. See with your supervisor if this scenario is acceptable.
</div>
{% elif scale_warning.level == "orange-3" %}
<div class="alert alert-dark" role="alert" style="height:fit-content">
Warning: the current CERN COVID Scale is <b>Orange - 3</b>, which means the incidence rate in the local community is <b>{{scale_warning.incidence_rate}}</b>. There is a slight chance that asymptomatic or pre-symptomatic infected individuals circulate within the CERN site which, during this stage, corresponds to an average daily on-site access {{scale_warning.onsite_access}}. See with your supervisor if any additional measures can be applied (ALARA).
</div>
{% elif scale_warning.level == "red-4" %}
<div class="alert alert-dark" role="alert" style="height:fit-content">
Warning: the current CERN COVID Scale is <b>Red - 4</b>, which means the incidence rate in the local community is <b>{{scale_warning.incidence_rate}}</b>. There is a strong chance that asymptomatic or pre-symptomatic infected individuals circulate within the CERN site which, during this stage, corresponds to an average daily on-site access {{scale_warning.onsite_access}}. Please reduce the value below the threshold of <b>{{scale_warning.threshold}}</b>.
</div>
{% else %}
<p><b>Note:</b> The CERN COVID Level is not specified.</p>
{% endif %}
{% endif %}
</div>
{% block warning_animation %}
{% if (prob_inf < 5)%} {% set warning_color = 'bg-success' %}
{% elif (5 <= prob_inf <= 15) %} {% set warning_color = 'bg-warning' %}
{% else %} {% set warning_color= 'bg-danger' %}
{% endif %}
<div class="intro-banner-vdo-play-btn {{warning_color}} m-auto d-flex align-items-center justify-content-center">
<b style="color: #000000">{{prob_inf | non_zero_percentage}}</b>
<i class="glyphicon glyphicon-play whiteText" aria-hidden="true"></i>
<span class="ripple {{warning_color}}"></span>
<span class="ripple {{warning_color}}"></span>
<span class="ripple {{warning_color}}"></span>
</div>
{% endblock warning_animation %}
{% block report_summary %}
<div class="flex-row w-75">
{% if ((prob_inf > 15) or (expected_new_cases >= 1)) %}
<div class="alert alert-danger" role="alert">
<strong>Not Acceptable:</strong>
Taking into account the uncertainties tied to the model variables, in this scenario, the <b>probability of one exposed occupant getting infected is {{ prob_inf | non_zero_percentage }}</b><a href="#section1">[*]</a> and the <b>expected number of new cases is {{ expected_new_cases | float_format }}</b>.
</div>
{% elif 5 <= prob_inf <= 15 %}
<div class="alert alert-warning" role="alert">
<strong>Attention:</strong>
Taking into account the uncertainties tied to the model variables, in this scenario, the <b>probability of one exposed occupant getting infected is {{ prob_inf | non_zero_percentage }}</b><a href="#section1">[*]</a> and the <b>expected number of new cases is {{ expected_new_cases | float_format }}</b>.
<div>
{% elif prob_inf < 5 %}
<div class="alert alert-success" role="alert">
<strong>Acceptable:</strong>
Taking into account the uncertainties tied to the model variables, in this scenario, the <b>probability of one exposed occupant getting infected is {{ prob_inf | non_zero_percentage }}</b><a href="#section1">[*]</a> and the <b>expected number of new cases is {{ expected_new_cases | float_format }}</b>.
</div>
{% endif %}
{% if (prob_inf > 5) %}
{% if scale_warning.level == "green-1" %}
<div class="alert alert-dark" role="alert" style="height:fit-content">
Note: the current CERN COVID Scale is <b>Green - 1</b>, which means the incidence rate in the local community is <b>{{scale_warning.incidence_rate}}</b>. Align your risk assessment with the guidance and instructions provided by the HSE Unit.
</div>
{% elif scale_warning.level == "yellow-2" %}
<div class="alert alert-dark" role="alert" style="height:fit-content">
Note: the current CERN COVID Scale is <b>Yellow - 2</b>, which means the incidence rate in the local community is <b>{{scale_warning.incidence_rate}}</b>. There is a reduced chance that asymptomatic or pre-symptomatic infected individuals circulate within the CERN site which, during this stage, corresponds to an average daily on-site access {{scale_warning.onsite_access}}. See with your supervisor if this scenario is acceptable.
</div>
{% elif scale_warning.level == "orange-3" %}
<div class="alert alert-dark" role="alert" style="height:fit-content">
Warning: the current CERN COVID Scale is <b>Orange - 3</b>, which means the incidence rate in the local community is <b>{{scale_warning.incidence_rate}}</b>. There is a slight chance that asymptomatic or pre-symptomatic infected individuals circulate within the CERN site which, during this stage, corresponds to an average daily on-site access {{scale_warning.onsite_access}}. See with your supervisor if any additional measures can be applied (ALARA).
</div>
{% elif scale_warning.level == "red-4" %}
<div class="alert alert-dark" role="alert" style="height:fit-content">
Warning: the current CERN COVID Scale is <b>Red - 4</b>, which means the incidence rate in the local community is <b>{{scale_warning.incidence_rate}}</b>. There is a strong chance that asymptomatic or pre-symptomatic infected individuals circulate within the CERN site which, during this stage, corresponds to an average daily on-site access {{scale_warning.onsite_access}}. Please reduce the value below the threshold of <b>{{scale_warning.threshold}}</b>.
</div>
{% else %}
<p><b>Note:</b> The CERN COVID Level is not specified.</p>
{% endif %}
{% endif %}
</div>
{% endblock report_summary %}
{% block report_summary_footnote %}
{% if ((prob_inf > 15) or (expected_new_cases >= 1)) %}
This exceeds the authorised risk threshold or number of expected new cases.
The risk level must be reduced before this activity can be undertaken.
@ -79,7 +76,7 @@
{% elif (prob_inf < 5) %}
This level of risk is within acceptable parameters, no further actions are required.
{% endif %}
{% endblock report_summary %}
{% endblock report_summary_footnote %}
{% block report_scenarios_summary_table %}
<table class="table w-auto" style="height: fit-content;">