Collapsible sections - applicable rules; results; alternative scenarios
This commit is contained in:
parent
6656da768b
commit
b291b6217e
3 changed files with 123 additions and 64 deletions
|
|
@ -81,6 +81,18 @@ p.notes {
|
|||
margin-left: 5%
|
||||
}
|
||||
|
||||
.icon_button {
|
||||
padding: 0;
|
||||
border: none;
|
||||
background: none;
|
||||
}
|
||||
|
||||
.icon_button:focus { outline:0 !important; }
|
||||
|
||||
.nav-tabs .nav-item .nav-link.active {
|
||||
background-color: #F5F5F6;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.nav-tabs .nav-item .nav-link{
|
||||
color: black;
|
||||
}
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content" id="myTabContent" style="background-color: #F5F5F6; border-top: #dee2e6 1px solid; margin-top: -1px" >
|
||||
<div class="tab-content" id="myTabContent" style="border-top: #dee2e6 1px solid; margin-top: -1px" >
|
||||
|
||||
<div class="tab-pane fade show active" id="results" role="tabpanel" aria-labelledby="results-tab" style="padding: 1%">
|
||||
|
||||
|
|
@ -43,51 +43,73 @@
|
|||
{% endblock report_preamble %}
|
||||
|
||||
{% block report_results %}
|
||||
<p class="result_title">Results:</p>
|
||||
<p class="data_text">
|
||||
{% 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 %}
|
||||
<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>
|
||||
|
||||
<img id="scenario_concentration_plot" src="{{ scenario_plot_src }}">
|
||||
|
||||
<p class="data_title">Alternative scenarios:</p>
|
||||
|
||||
<img id="scenario_concentration_plot" src="{{ alternative_scenarios.plot }}" align="left" />
|
||||
|
||||
{% block report_scenarios_summary_table %}
|
||||
<table class="table w-auto">
|
||||
<thead class="thead-light">
|
||||
<tr>
|
||||
<th>Scenario</th>
|
||||
<th>P(I)</th>
|
||||
<th>Expected new cases</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for scenario_name, scenario_stats in alternative_scenarios.stats.items() %}
|
||||
<tr>
|
||||
<td> {{ scenario_name }}</td>
|
||||
<td> {{ scenario_stats.probability_of_infection | non_zero_percentage }}</td>
|
||||
<td style="text-align:right">{{ scenario_stats.expected_new_cases | float_format }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endblock report_scenarios_summary_table %}
|
||||
|
||||
<p class="data_text"> <strong> Notes for alternative scenarios: </strong><br>
|
||||
<ol>
|
||||
<li>This graph shows the concentration of infectious quanta in the air. The filtration of Type I and FFP2 masks, if worn, applies not only to the emission rate but also to the individual exposure (i.e. inhalation).
|
||||
For this reason, scenarios with different types of mask will show the same concentration on the graph but have different absorbed doses and infection probabilities.</li>
|
||||
<li>If you have selected more sophisticated options, such as HEPA filtration or FFP2 masks, this will be indicated in the plot as the "base scenario", representing the inputs inserted in the form.<br>
|
||||
The other alternative scenarios shown for comparison will not include either HEPA filtration or FFP2 masks.</li>
|
||||
</ol>
|
||||
<br>
|
||||
</p>
|
||||
<div class="card bg-light mb-3">
|
||||
<div class="card-header"><strong>Results </strong>
|
||||
<button class="icon_button" data-toggle="collapse" href="#collapseResults" role="button" aria-expanded="true" aria-controls="collapseResults" style="float:right">
|
||||
<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 show" id="collapseResults">
|
||||
<div class="card-body">
|
||||
<p class="card-text">
|
||||
{% 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 %}
|
||||
<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>
|
||||
</div>
|
||||
<div class="card bg-light mb-3">
|
||||
<div class="card-header"><strong>Alternative scenarios</strong>
|
||||
<button class="icon_button" data-toggle="collapse" href="#collapseAlternativeScenarios" role="button" aria-expanded="true" aria-controls="collapseAlternativeScenarios" style="float:right">
|
||||
<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 show" id="collapseAlternativeScenarios">
|
||||
<div class="card-body">
|
||||
<p class="card-text">
|
||||
<img id="scenario_concentration_plot" src="{{ alternative_scenarios.plot }}" align="left" />
|
||||
|
||||
{% block report_scenarios_summary_table %}
|
||||
<table class="table w-auto">
|
||||
<thead class="thead-light">
|
||||
<tr>
|
||||
<th>Scenario</th>
|
||||
<th>P(I)</th>
|
||||
<th>Expected new cases</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for scenario_name, scenario_stats in alternative_scenarios.stats.items() %}
|
||||
<tr>
|
||||
<td> {{ scenario_name }}</td>
|
||||
<td> {{ scenario_stats.probability_of_infection | non_zero_percentage }}</td>
|
||||
<td style="text-align:right">{{ scenario_stats.expected_new_cases | float_format }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endblock report_scenarios_summary_table %}
|
||||
|
||||
<p class="data_text"> <strong> Notes for alternative scenarios: </strong><br>
|
||||
<ol>
|
||||
<li>This graph shows the concentration of infectious quanta in the air. The filtration of Type I and FFP2 masks, if worn, applies not only to the emission rate but also to the individual exposure (i.e. inhalation).
|
||||
For this reason, scenarios with different types of mask will show the same concentration on the graph but have different absorbed doses and infection probabilities.</li>
|
||||
<li>If you have selected more sophisticated options, such as HEPA filtration or FFP2 masks, this will be indicated in the plot as the "base scenario", representing the inputs inserted in the form.<br>
|
||||
The other alternative scenarios shown for comparison will not include either HEPA filtration or FFP2 masks.</li>
|
||||
</ol>
|
||||
<br>
|
||||
</p>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock report_results %}
|
||||
|
||||
{% block report_footer %}
|
||||
|
|
|
|||
|
|
@ -2,29 +2,54 @@
|
|||
|
||||
|
||||
{% block report_preamble %}
|
||||
<p><strong>Applicable rules: <br>
|
||||
Please ensure that this scenario conforms to current COVID-related <a href="https://hse.cern/covid-19-information"> Health & Safety requirements</a>, under the applicable COVID Scale and measures in force at the time of the CARA assessment.</strong> <br>
|
||||
The results of this simulation are colour coded according to the risk values authorized at CERN (approved in December 2020):
|
||||
<ul><li>Events with a <span class="green_bkg">P(i) less than 5%</span> may go ahead without further mitigation measures.</li>
|
||||
<li>Events with a <span class="yellow_bkg">P(i) between 5% and 15%</span> shall be subject to ALARA principles (see footnote) to minimise the risk before proceeding.</li>
|
||||
<li>Events with a <span class="red_bkg">P(i) exceeding 15% or a number of expected new cases that exceeds 1</span> may not take place until additional measures are in place and a risk reduction has been performed.</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<div class="card bg-light mb-3">
|
||||
<div class="card-header"><strong>Applicable rules </strong>
|
||||
<button class="icon_button" data-toggle="collapse" href="#collapseRules" role="button" aria-expanded="true" aria-controls="collapseRules" style="float:right">
|
||||
<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 show" id="collapseRules">
|
||||
<div class="card-body">
|
||||
<p class="card-text">
|
||||
Please ensure that this scenario conforms to current COVID-related <a href="https://hse.cern/covid-19-information"> Health & Safety requirements</a>, under the applicable COVID Scale and measures in force at the time of the CARA assessment.</strong> <br>
|
||||
The results of this simulation are colour coded according to the risk values authorized at CERN (approved in December 2020):
|
||||
|
||||
<div class="alert alert-success ml-4" role="alert">Events with a <strong>P(i) less than 5%</strong> may go ahead without further mitigation measures.</div>
|
||||
<div class="alert alert-warning ml-4" role="alert">Events with a <strong>P(i) between 5% and 15%</strong> shall be subject to ALARA principles (see footnote) to minimise the risk before proceeding.</div>
|
||||
<div class="alert alert-danger ml-4" role="alert">Events with a <strong>P(i) exceeding 15% or a number of expected new cases that exceeds 1</strong> may not take place until additional measures are in place and a risk reduction has been performed.</div>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock report_preamble %}
|
||||
|
||||
|
||||
{% block report_summary %}
|
||||
<span
|
||||
{% if ((prob_inf > 15) or (expected_new_cases >= 1)) %}
|
||||
class="red_bkg"><strong>Not Acceptable:</strong>
|
||||
{% elif 5 <= prob_inf <= 15 %}
|
||||
class="yellow_bkg"><strong> Attention:</strong>
|
||||
{% elif prob_inf < 5 %}
|
||||
class="green_bkg">Acceptable:
|
||||
{% endif %}
|
||||
</span>
|
||||
|
||||
{{ super() }}
|
||||
<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) %}
|
||||
<div class="d-flex" style="align-self:center">
|
||||
|
|
|
|||
Loading…
Reference in a new issue