Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for prioritizing testing according to time since last test #35

Open
wants to merge 123 commits into
base: master
Choose a base branch
from

Conversation

boazbk
Copy link

@boazbk boazbk commented Aug 18, 2020

If number of tests available per time period is smaller than the total eligible population, at the moment the TTI loop selects the people chosen to test at random. However, it may make sense to do so based on the time people were last tested.

For example, if we test 1/2 of the population once a week, then if we select people at random then 1/4 would be tested twice in the same week and 1/4 won't be tested at all.

This pull request adds an array testedTime as an attribute to ExtSEIRSNetworkModel and adds a parameter test_priority to run_tti_sim. The default value for test_priority is random which is the current strategy. However, if the test_priority parameter contains last_tested then the pool to be tested is sorted according to the last time they were tested, breaking ties randomly.

If the test priority contains degree_oblivious then we ignore degrees in choosing the degree pool. This makes sense if the people making decisions on testing policies do not have full information on the social network.

Assuming you are interested, other enhancements I'd like to add (in a future pull request) is support for differentiating between node subgroups in:

  1. External infections (for example staff and patients in nursing home have very different probability to be infected externally).

  2. Testing policies for random testing (there could be different again for staff / patients)

I also can push code to run many simulations in parallel on a multi CPU machine.

…y in random testing to people for which more time passed before they were last tested
…ion if a certain condition is met, and ability to supress print statements.
…nd allow the priority of testing to be an arbitrary function
…need to specify long parameters - useful to save on communication when running it in parallel
…need to specify long parameters - useful to save on communication when running it in parallel
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant