scrtlabs / SafeTrace

Privacy preserving voluntary Covid-19 self-reporting platform. Share your location history and status, get alerts you are in high risk areas and identify high risk regions
MIT License
127 stars 27 forks source link

Individual matching algorithm improvements #33

Open cankisagun opened 4 years ago

cankisagun commented 4 years ago

Drawing on this issue: #17

Based on epidemiology feedback issue, we can have high risk and low risk individual interaction reporting.

High risk interactions: We can report high risk interactions as 2 meters and location overlap of any period of time. This is based on the fact that you can contact disease from a Covid-19 carrier if you have been in contact for a prolonged amount of time

Medium risk interactions: We are getting feedback that most people who have Covid19 are not tested and are showing symptoms. Based on the feedbacl to ask questions regarding symptoms, we can identify people with high risk of being a carrier and report an interaction (2 meters and location overlap of any period of time) with a high risk of being carrier person as a medium risk interaction

Low risk interactions: We may want to have 4m and 24 hour as a low risk reporting because unless there's overlap in timing, then it means that the user must be contracting the virus from a surface, which can range from a couple of hours to days depending on the surface. I think it's going to be hard for us to determine the surface type so that we can take the most conservation option which would be plastic

From the issue:

Right now close contact is considered to be 2 m or 6 feet. We also have some variables like time span and also location. So if we have a person infected with covid and its in the same area with us for more than 15 minutes and the person cough or sneez and some droplets get into our hands, clothes, face, we can get the virus, this is the most important and highest risk thats social distancing it`s a law now.

image

FishmanL commented 4 years ago

(Btw, if you subtract laplacian noise with lambda ~-0.87, you'll get pretty good DP for a first iteration)

(i.e. once you get the list of covid people, subtract (https://docs.rs/GSL/0.4.25/rgsl/randist/laplace/fn.laplace.html) 2*abs(laplace(0.87)) from each radius before checking if it's less than 2. only increases your likelihood of false positives by ~2% and coarsely fixes most of the privacy problem (albeit imperfectly)

FishmanL commented 4 years ago

(and there's no risk of false negatives)

cankisagun commented 4 years ago

Matching period: Based on WHO Report

Close contact definition is 4 days before symptom onset - “Any person who had contact (within 1 metre) with a confirmed case during their symptomatic period, including 4 days before symptom onset”