Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Supporting multiple interventions

Open
#175 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
r
Domain
backend

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 in list(), and downstream code reads interventions[[1]] (e.g. $coverage in generate_setting_intervention_switches(), and in calculate_efficacy_from_ach()). Calling set_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 name from make_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_coverage is 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 is aqi_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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from petal-code/helios

All issues in petal-code/helios

Similar issues

More R issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.