Skip to content

Commit c437514

Browse files
committed
add goal steps questions subtitles
1 parent 8a9be37 commit c437514

File tree

8 files changed

+283
-101
lines changed

8 files changed

+283
-101
lines changed

instructors/01-practical-tutors.qmd

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -53,20 +53,15 @@ This practical has two activities.
5353

5454
## Activity 1: Clean and standardize raw data
5555

56+
**Goal:**
57+
5658
Get a clean and standardized data frame using the following available inputs:
5759

5860
- Raw messy data frame in CSV format
5961

60-
Within your room, Write your answers to these questions:
61-
62-
- Diagnose the raw data. What data cleaning operations need to be performed on the dataset? Write all of them before writing the code.
63-
- What time unit best describes the time span to calculate?
64-
- Print the report: What features do you find useful to communicate with a decision-maker?
65-
- Compare: What differences do you identify from other room outputs? (if available)
66-
6762
**Steps:**
6863

69-
- Open file `01-practical-activity-1.R` and fill in your `room_number` in the script.
64+
- Open file `01-practical-activity-1.R` and complete all the lines marked with `#<COMPLETE>`, following the detailed steps provided within the R file.
7065
- First, complete the argument to read the data. Paste the link as a “string” in `read_csv()`.
7166
- Second, complete the cleaning process. Add functions based on the data needs. Connect them using the pipe `%>%`:
7267
- Standardize column names
@@ -80,6 +75,14 @@ Within your room, Write your answers to these questions:
8075
- Third, complete the cleanepi::timespan() arguments. Access the help manual running `?cleanepi::timespan()` in the console.
8176
- Paste the outputs. Reply to questions.
8277

78+
**Questions:**
79+
80+
Within your room, Write your answers to these questions:
81+
82+
- Diagnose the raw data. What data cleaning operations need to be performed on the dataset? Write all of them before writing the code.
83+
- What time unit best describes the time span to calculate?
84+
- Print the report: What features do you find useful to communicate with a decision-maker?
85+
- Compare: What differences do you identify from other room outputs? (if available)
8386

8487
### Inputs
8588

@@ -166,10 +169,23 @@ Write your answers to the questions above:
166169

167170
## Activity 2: Validate linelist and plot epicurve
168171

172+
**Goal:**
173+
169174
Get a validated linelist and incidence plot using the following available inputs:
170175

171176
- Clean data frame object
172177

178+
**Steps:**
179+
180+
- Open the file `01-practical-activity-2.R` and complete all the lines marked with `#<COMPLETE>`, following the detailed steps provided within the R file.
181+
- First, complete linelist::make_linelist() arguments.
182+
- Second, complete the {linelist} function that can validate a linelist.
183+
- Third, complete the arguments of the incidence2::incidence()
184+
- Fourth, keep, drop, or change argument values in function plot()
185+
- Paste the outputs. Reply to questions.
186+
187+
**Questions:**
188+
173189
Within your room, Write your answers to these questions:
174190

175191
- In the validation step, Do you need to allow for extra variable names and types for the `Date` and `Categorical` variable?
@@ -180,15 +196,6 @@ Within your room, Write your answers to these questions:
180196
- Interpret: How would you communicate these results to a decision-maker?
181197
- Compare: What differences do you identify from other room outputs? (if available)
182198

183-
**Steps:**
184-
185-
- Open the file `01-practical-activity-2.R` and fill in your `room_number` in the script.
186-
- First, complete linelist::make_linelist() arguments.
187-
- Second, complete the {linelist} function that can validate a linelist.
188-
- Third, complete the arguments of the incidence2::incidence()
189-
- Fourth, keep, drop, or change argument values in function plot()
190-
- Paste the outputs. Reply to questions.
191-
192199
### Inputs
193200

194201
Use outputs from activity 1.

instructors/02-practical-tutors.qmd

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -52,21 +52,16 @@ This practical has two activities.
5252

5353
## Activity 1: Transmission
5454

55+
**Goal:**
56+
5557
Estimate $R_{t}$, _new infections_, _new reports_, _growth rate_, and _doubling/halving time_ using the following available inputs:
5658

5759
- Incidence of reported cases per day
5860
- Reporting delay
5961

60-
Within your room, Write your answers to these questions:
61-
62-
- What phase of the epidemic are you observing? (Exponential growth phase, near peak, or decay end phase)
63-
- Is the expected change in daily reports consistent with the estimated effective reproductive number, growth rate, and doubling time?
64-
- Interpret: How would you communicate these results to a decision-maker?
65-
- Compare: What differences do you identify from other room outputs? (if available)
66-
6762
**Steps:**
6863

69-
- Open the file `02-practical-activity-1.R` and fill in your `room_number` in the script.
64+
- Open the file `02-practical-activity-1.R` and complete all the lines marked with `#<COMPLETE>`, following the detailed steps provided within the R file.
7065
- Paste the URL link as a string to read input data.
7166
- Keep the reading function that corresponds to your input data disease.
7267
- Define a generation time:
@@ -80,6 +75,15 @@ Within your room, Write your answers to these questions:
8075
- Run `EpiNow2::epinow()` and print the summary and plot outputs.
8176
- Paste the outputs. Reply to questions.
8277

78+
**Questions:**
79+
80+
Within your room, Write your answers to these questions:
81+
82+
- What phase of the epidemic are you observing? (Exponential growth phase, near peak, or decay end phase)
83+
- Is the expected change in daily reports consistent with the estimated effective reproductive number, growth rate, and doubling time?
84+
- Interpret: How would you communicate these results to a decision-maker?
85+
- Compare: What differences do you identify from other room outputs? (if available)
86+
8387
### Inputs
8488

8589
| Room | Incidence | Link |
@@ -347,30 +351,34 @@ there is no statistical evidence of extinction if the 90% credible intervals of:
347351

348352
## Activity 2: Severity
349353

354+
**Goal:**
355+
350356
Estimate the _naive CFR (nCFR)_ and _delay-adjusted CFR (aCFR)_ using the following inputs:
351357

352358
- Reported cases (aggregate incidence by date of onset)
353359
- Onset to death delay
354360

355-
Within your room, Write your answers to these questions:
356-
357-
- What phase of the epidemic are you observing? (Exponential growth phase, near peak, or decay end phase)
358-
- Does the time series include all the possible deaths to observe from known cases?
359-
- How much difference is there between the nCFR and aCFR estimates?
360-
- Interpret: How would you communicate these results to a decision-maker?
361-
- Compare: What differences do you identify from other room outputs? (if available)
362-
363361
**Steps:**
364362

365-
- Open the file `02-practical-activity-2.R` and fill in your `room_number` in the script.
363+
- Open the file `02-practical-activity-2.R` and complete all the lines marked with `#<COMPLETE>`, following the detailed steps provided within the R file.
366364
- Paste the URL link as a string to read input data.
367365
- Fill in the argument to plot an incidence curve.
368366
- Evaluate if the input data format needs adaptation to {cfr}.
369367
- Access to the probability distribution for the delay from case onset to death.
370-
- Evaluate if you need to keep dates or omit using `dplyr::filter()`.
368+
- Evaluate if you are requested to keep dates or omit using `dplyr::filter()`.
371369
- Estimate the naive and delay-adjusted CFR.
372370
- Paste the outputs. Reply to questions.
373371

372+
**Questions:**
373+
374+
Within your room, Write your answers to these questions:
375+
376+
- What phase of the epidemic are you observing? (Exponential growth phase, near peak, or decay end phase)
377+
- Does the time series include all the possible deaths to observe from known cases?
378+
- How much difference is there between the nCFR and aCFR estimates?
379+
- Interpret: How would you communicate these results to a decision-maker?
380+
- Compare: What differences do you identify from other room outputs? (if available)
381+
374382
### Inputs
375383

376384
| Room | Data | Action on data input | Link |

instructors/03-practical-tutors.qmd

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,24 @@ This practical has two activities.
5252

5353
## Activity 1: Account for superspreading
5454

55+
**Goal:**
56+
5557
Estimate the extent of individual-level variation (i.e. the dispersion parameter) of the offspring distribution, which refers to the variability in the number of secondary cases per individual, and assess the implications for variation in transmission for decision-making using the following available inputs:
5658

5759
- Line list of cases
5860
- Contact tracing data
5961

6062
**Steps:**
6163

62-
Open the file `03-practical-activity-1.R` and fill in all the `#<COMPLETE>` lines following the `steps:` detailed in the R file.
64+
- Open the file `03-practical-activity-1.R` and complete all the lines marked with `#<COMPLETE>`, following the detailed steps provided within the R file.
65+
- Paste the URL links as a string to read input data.
66+
- Create a *directed* contact network using the linelist and contacts data inputs. Paste a screenshot of the network in the report.
67+
- Calculate the *out-degree* for each node (infector case) in the contact network, using *all* the cases observed in the linelist. Paste the output histogram in the report.
68+
- Use the vector with the number of secondary cases per infector case to fit a Negative Binomial distribution using {fitdistrplus}. Paste the output parameters in the report.
69+
- Use {superspreading} to calculate the probability (proportion) of new cases originating from a cluster of a given size (cluster size), using as input the offspring distribution parameters: the reproduction number and dispersion. Paste the output result in the report.
70+
71+
72+
**Questions:**
6373

6474
Within your room, Write your answers to these questions:
6575

@@ -308,14 +318,32 @@ Interpretation Helpers:
308318

309319
## Activity 2: Simulate transmission chains
310320

321+
**Goal:**
322+
311323
Estimate the potential for large outbreaks that could occur based on 1000 simulated outbreaks with one initial case, using the following available inputs:
312324

313325
- Basic reproduction number
314326
- Dispersion parameter
315327

316328
**Steps:**
317329

318-
Open the file `03-practical-activity-2.R` and fill in all the `#<COMPLETE>` lines following the `steps:` detailed in the R file.
330+
- Open the file `03-practical-activity-2.R` and complete all the lines marked with `#<COMPLETE>`, following the detailed steps provided within the R file.
331+
- Use the input parameter for this room.
332+
- Create generation time as an <epiparameter> object using epiparameter::epiparameter() with prob_distribution "gamma" and summary statistics: mean = 3, sd = 1
333+
- Create 1000 simulation runs with 1 initial case. Add the input offspring distribution parameters to the corresponding arguments. Add the input generation time of class <epiparameter> as a function. Run set.seed() and epichains::simulate_chains() together, in the same run.
334+
- Read the output of the selected chain to observe. Paste the screenshot in the report. Write in the report a paragraph describing:
335+
- the number of unknown and known infectors, their IDs.
336+
- the number of generations.
337+
- who infected whom in each generation, and when? i.e., the time range in days of these infections per generation.
338+
- Run the code to create a summary data frame of the whole simulation. Paste the plot output in the report.
339+
- Use the plot or summary data frame (or any other calculation) to write in the report a description of:
340+
- How many chains reached a 100 case threshold?
341+
- What is the maximum size of chain? (The cumulative number of case)
342+
- What is the maximum length of chain? (The number of days until the chain stops)
343+
- Write in the report: interpretation and comparison between rooms.
344+
345+
346+
**Questions:**
319347

320348
Within your room, Write your answers to these questions:
321349

instructors/04-practical-tutors.qmd

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ This practical has three activities.
5353

5454
## Activity 1: Generate Disease Trajectories Across Age Groups
5555

56+
**Goal:**
57+
5658
Generate disease trajectories of **infectious individuals** and **new infections** across age groups using the following available inputs:
5759

5860
- Social contact matrix
@@ -61,7 +63,16 @@ Generate disease trajectories of **infectious individuals** and **new infections
6163

6264
**Steps:**
6365

64-
Open the file `04-practical-activity-1.R` and complete all the lines marked with `#<COMPLETE>`, following the detailed steps provided within the R file.
66+
- Open the file `04-practical-activity-1.R` and complete all the lines marked with `#<COMPLETE>`, following the detailed steps provided within the R file.
67+
- Paste the survey link for your room
68+
- Generate contact matrix by defining survey class object, country name, age limits from table of parameters, and whether to make a symmetric matrix.
69+
- Combine the initial conditions add `initial_conditions_inf` or `initial_conditions_free` to the each age group as given in table of parameter.
70+
- Prepare the population to model as affected by the epidemic add the name of the country, the symmetric and transposed contact matrix, the vector with the population size of each age group, the binded matrix with initial conditions for each age group.
71+
- Rates. add the values as given in table of parameter
72+
- In each function argument add the population object, each of the previously defined rates, the total simulation time as given in table of parameter.
73+
- Paste plot of total number of individual per compartment and table output with peak size and time in report
74+
- Paste plot output of new infections in report
75+
6576

6677
**Questions:**
6778

@@ -249,6 +260,8 @@ Figures using `socialmixr::matrix_plot(contact_data$matrix * contact_data$demogr
249260

250261
## Activity 2: Compare the Baseline Scenario with a Single Intervention
251262

263+
**Goal:**
264+
252265
Compare the disease trajectories of **new infections** in the whole population under two conditions:
253266

254267
1. The baseline scenario (no intervention)
@@ -263,7 +276,17 @@ Use the following inputs to define and explore the intervention scenario:
263276

264277
**Steps:**
265278

266-
Open the file `04-practical-activity-2.R` and complete all the lines marked with `#<COMPLETE>`, following the detailed steps provided within the R file.
279+
- Open the file `04-practical-activity-2.R` and complete all the lines marked with `#<COMPLETE>`, following the detailed steps provided within the R file.
280+
- Create the intervention object: identify if you need to keep: epidemics::intervention() or epidemics::vaccination(). then add:
281+
- name of the intervention
282+
- type of intervention ("rate" or "contacts"), if needed
283+
- time when the intervention begins and ends (as values or matrix*) as given in table of inputs
284+
- reduction or vaccination rate (as values or matrix*)
285+
*if matrix, values follow same order as in the social contact matrix
286+
- Add the intervention argument as a list (for interventions against contacts or transmission rate) or as an object (for vaccination)
287+
- Paste plot and table output in report
288+
- Plot new infections. Add intervention name if your intervention is vaccination, then activate the argument exclude_compartments, run and paste plot output in report
289+
267290

268291
**Questions:**
269292

@@ -427,11 +450,17 @@ Try modifying the intervention start time from day 200 to day 100, or changing t
427450

428451
## Activity 3: Combine Multiple Interventions
429452

453+
**Goal:**
454+
430455
Compare the baseline scenario with a simulation that includes two overlapping or sequential interventions. Use the intervention parameters described in the previous activity.
431456

432457
**Steps:**
433458

434-
Open the file `04-practical-activity-3.R` and complete all the lines marked with `#<COMPLETE>`, following the detailed steps provided within the R file.
459+
- Open the file `04-practical-activity-3.R` and complete all the lines marked with `#<COMPLETE>`, following the detailed steps provided within the R file.
460+
- Complete the intervention or vaccination arguments
461+
- Paste table output in report
462+
- Plot new infections. add intervention name if your intervention is vaccination, then activate the argument exclude_compartments, run and paste plot output in report
463+
435464

436465
**Questions:**
437466

instructors/files/01-practical-tutors.md

Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -23,25 +23,18 @@ This practical has two activities.
2323

2424
## Activity 1: Clean and standardize raw data
2525

26+
**Goal:**
27+
2628
Get a clean and standardized data frame using the following available
2729
inputs:
2830

2931
- Raw messy data frame in CSV format
3032

31-
Within your room, Write your answers to these questions:
32-
33-
- Diagnose the raw data. What data cleaning operations need to be
34-
performed on the dataset? Write all of them before writing the code.
35-
- What time unit best describes the time span to calculate?
36-
- Print the report: What features do you find useful to communicate with
37-
a decision-maker?
38-
- Compare: What differences do you identify from other room outputs? (if
39-
available)
40-
4133
**Steps:**
4234

43-
- Open file `01-practical-activity-1.R` and fill in your `room_number`
44-
in the script.
35+
- Open file `01-practical-activity-1.R` and complete all the lines
36+
marked with `#<COMPLETE>`, following the detailed steps provided
37+
within the R file.
4538
- First, complete the argument to read the data. Paste the link as a
4639
“string” in `read_csv()`.
4740
- Second, complete the cleaning process. Add functions based on the data
@@ -58,6 +51,18 @@ Within your room, Write your answers to these questions:
5851
manual running `?cleanepi::timespan()` in the console.
5952
- Paste the outputs. Reply to questions.
6053

54+
**Questions:**
55+
56+
Within your room, Write your answers to these questions:
57+
58+
- Diagnose the raw data. What data cleaning operations need to be
59+
performed on the dataset? Write all of them before writing the code.
60+
- What time unit best describes the time span to calculate?
61+
- Print the report: What features do you find useful to communicate with
62+
a decision-maker?
63+
- Compare: What differences do you identify from other room outputs? (if
64+
available)
65+
6166
### Inputs
6267

6368
| Room | Data | Link | Calculate time span | Categorize time span |
@@ -68,11 +73,26 @@ Within your room, Write your answers to these questions:
6873

6974
## Activity 2: Validate linelist and plot epicurve
7075

76+
**Goal:**
77+
7178
Get a validated linelist and incidence plot using the following
7279
available inputs:
7380

7481
- Clean data frame object
7582

83+
**Steps:**
84+
85+
- Open the file `01-practical-activity-2.R` and complete all the lines
86+
marked with `#<COMPLETE>`, following the detailed steps provided
87+
within the R file.
88+
- First, complete linelist::make_linelist() arguments.
89+
- Second, complete the {linelist} function that can validate a linelist.
90+
- Third, complete the arguments of the incidence2::incidence()
91+
- Fourth, keep, drop, or change argument values in function plot()
92+
- Paste the outputs. Reply to questions.
93+
94+
**Questions:**
95+
7696
Within your room, Write your answers to these questions:
7797

7898
- In the validation step, Do you need to allow for extra variable names
@@ -92,16 +112,6 @@ Within your room, Write your answers to these questions:
92112
- Compare: What differences do you identify from other room outputs? (if
93113
available)
94114

95-
**Steps:**
96-
97-
- Open the file `01-practical-activity-2.R` and fill in your
98-
`room_number` in the script.
99-
- First, complete linelist::make_linelist() arguments.
100-
- Second, complete the {linelist} function that can validate a linelist.
101-
- Third, complete the arguments of the incidence2::incidence()
102-
- Fourth, keep, drop, or change argument values in function plot()
103-
- Paste the outputs. Reply to questions.
104-
105115
### Inputs
106116

107117
Use outputs from activity 1.

0 commit comments

Comments
 (0)