Description
Motivation / Current Behaviour
In the paper several things showed what needed revision in the testing logic.
We should decouple testing strategies from actually being able to enter a location.
Enhancement description
The following things got enhanced:
-
remove add and remove_age_group & remove_infection_state as well as for testing schemes were deleted because the workflow is better if you set up a new testing strategy for that time. This prohibits to fiddle with it all the time. Also this led to a few difficult to debug bugs in the development. (more options != better)
-
completely change how testing schemes are updated because runtime was HEAVILY affected, when many ids are put into the vector. (e.g. searching for a testing scheme for a specific id would be log n runtime. -> no linear scaling if people ~ locations
-
Renaming of funcitons for better understandability. For now we still test + allow access.
-
in the future because we can't delete things, we should add an optional testing scheme where it can be active depending on a function, out of scope for this issue though
-
We allow the user to add several testing schemes trusting that when he/she adds two schemes and someone gets potentially tested twice its on purpose.
-
We don't schedule. This means, there are a few if checks for idle testing schemes. This doesnt affect runtime mostly, when idle testingschemes are <1000 per location. This is a tradeoff between a very unlikely scenario and error proneness.
-
funnily enough with testing schemes the code runs a little faster
Additional context
No response
Checklist
- Attached labels, especially loc:: or model:: labels.
- Linked to project
Sub-issues
Metadata
Metadata
Assignees
Labels
Type
Projects
Status