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

Add parameter visualization for the parameters that are used to calculate the risk level #6

Open
pozoo opened this issue Jul 2, 2020 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@pozoo
Copy link

pozoo commented Jul 2, 2020

The corona warn app risk level calculation is parameterized by the RKI, the app downloads this parameters regularly. They are 5 or 6 parameters that define what signal strength and duration of exposures is considered a risk. All are transmitted using protobufs. I would be nice if this parametrization could be plotted as well and be able to see how this correlates with uploaded diagnosis keys over time.
I was planning to do this myself, but did not get to it up to now. Maybe you are interested in doing it.

@micb25 micb25 added the enhancement New feature or request label Jul 2, 2020
@micb25
Copy link
Owner

micb25 commented Jul 18, 2020

In this commit, I have added a first implementation of a Python script to parse the app config files.

It seems that the current config (2020-07-18) recognizes all exposures with a contact time >=10 min. Furthermore, the weights for the different BT signal strengths are all the same. This doesn't make sense to me, however, I have to have a deeper look into the calculation of the final risk score.

Edit: I have found a description how the risk score is being calculated.

exposureConfig {
  transmission {
    appDefined_1: LOWEST
    appDefined_2: LOW
    appDefined_3: LOW_MEDIUM
    appDefined_4: MEDIUM
    appDefined_5: MEDIUM_HIGH
    appDefined_6: HIGH
    appDefined_7: VERY_HIGH
    appDefined_8: HIGHEST
  }
  transmissionWeight: 50.0
  duration {
    gt_10_le_15_min: LOWEST
    gt_15_le_20_min: LOWEST
    gt_20_le_25_min: LOWEST
    gt_25_le_30_min: LOWEST
    gt_30_min: LOWEST
  }
  durationWeight: 50.0
  daysSinceLastExposure {
    ge_14_days: MEDIUM_HIGH
    ge_12_lt_14_days: MEDIUM_HIGH
    ge_10_lt_12_days: MEDIUM_HIGH
    ge_8_lt_10_days: MEDIUM_HIGH
    ge_6_lt_8_days: MEDIUM_HIGH
    ge_4_lt_6_days: MEDIUM_HIGH
    ge_2_lt_4_days: MEDIUM_HIGH
    ge_0_lt_2_days: MEDIUM_HIGH
  }
  daysWeight: 20.0
  attenuation {
    gt_63_le_73_dbm: LOWEST
    gt_51_le_63_dbm: LOWEST
    gt_33_le_51_dbm: LOWEST
    gt_27_le_33_dbm: LOWEST
    gt_15_le_27_dbm: LOWEST
    gt_10_le_15_dbm: LOWEST
    le_10_dbm: LOWEST
  }
  attenuationWeight: 50.0
}
attenuationDuration {
  thresholds {
    lower: 55
    upper: 63
  }
  weights {
    low: 1.0
    mid: 0.5
  }
  riskScoreNormalizationDivisor: 25
}

@micb25 micb25 self-assigned this Jul 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants