Skip to content
New issue

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

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

Already on GitHub? # 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
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants