Supporting multiple interventions
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Start with set_intervention_ach(), generate_setting_intervention_switches(), and calculate_efficacy_from_ach(); the issue says these currently store and read a single intervention. Review the ACH framework introduced in #142 and compare the indexing approach in malariasimulation’s R/mda_parameters.R. Done means a simulation can use multiple interventions per setting, with indexing, coverage behavior, joint coverage, and parameter naming resolved.
Written by the indexing model from the issue text.
Description
Work in progress on branch `multiple-interventions'.
The ACH intervention framework (added in #142) currently supports one intervention per setting (workplace, school, leisure, household, or joint). Generalising it to several interventions in a single simulation raises the points below, collected from review of #142.
Points to address
- Single intervention stored as a length-1 list.
set_intervention_ach()wraps the intervention inlist(), and downstream code readsinterventions[[1]](e.g.$coverageingenerate_setting_intervention_switches(), and incalculate_efficacy_from_ach()). Callingset_intervention_ach()twice for the same setting overwrites the first intervention rather than adding to it. - Indexing interventions. Interventions need a way to be identified and looked up. Options: key them by the
namefrommake_intervention(), or use a user-assigned index, as in malariasimulation: https://github.com/mrc-ide/malariasimulation/blob/master/R/mda_parameters.R - Coverage across interventions. Decide whether coverage of multiple interventions is clumped (same locations covered) or independent.
- Joint coverage.
intervention_joint_coverageis taken from a single intervention; check it behaves correctly once there is more than one. - Parameter naming. The
intervention_<setting>_<param>convention may not scale to several interventions. One option isaqi_intervention_<setting>_<param>; this needs revisiting as part of this work.
From Tom: "In malariasimulation, where multiple interventions of a similar type are used the user assigns them an index which then helps the internal code work through this kind of issue (see https://github.com/mrc-ide/malariasimulation/blob/master/R/mda_parameters.R if interested). Here we have the intervention name from make_intervention which feels like it should be a useful way to resolve the multiple intervention issue."
- Dominant language
- R
- Stars
- 8
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from petal-code/helios
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
petal-code/helios#174 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
petal-code/helios#173 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 84/100
petal-code/helios#166 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 92/100
petal-code/helios#161 ·
-
run_simulation() is not reproducible from seed: the leisure draw uses dqrng's own RNGPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
petal-code/helios#157 · 1 comment ·
All issues in petal-code/helios
Similar issues
-
Error when applying yearCohorts() to a cohort created with generateTargetDenominatorCohortSet()Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
OHDSI/CohortConstructor#777 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
nmfs-ost/stockplotr#445 · 2 comments · 1 reaction ·
Maintainers usually reply within 1 day
-
Importer: an empty or non-numeric Error cell is imported as 0 instead of missingPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Open-Systems-Pharmacology/OSPSuite.Core#3049 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
datacarpentry/semester-biology#1295 ·
Maintainers usually reply within 1 day