Interface RiskModel

All Superinterfaces:
Serializable
All Known Implementing Classes:
ImmutableRiskModel

@Immutable public interface RiskModel extends Serializable
Establish an individuals risk on a given day. Risk on a give n day is a function of the day of contact and the day on which the risk is estimated (usually this is going to be now). The reason for this is that evidence changes over time, as new information is obtained. For example given a contact on day X, if the exposer develops symptoms on day X+1 (and reports them) then the risk to the exposee as calculated on day X+1 will be more than on day X. Because of this there is a limited amount you can precalculate as the answer will depend on observations that may or may not have happened yet. What we can calculate is what the results of symptoms today mean for contacts in the past and what tests taken today mean for
  • Field Details

    • PROB_REPORTING_POSITIVE_SYMPTOMS

      static final double PROB_REPORTING_POSITIVE_SYMPTOMS
      See Also:
    • PROB_REPORTING_NEGATIVE_SYMPTOMS

      static final double PROB_REPORTING_NEGATIVE_SYMPTOMS
      See Also:
  • Method Details

    • getEntity

      Person getEntity()
    • getSymptomKernel

      @Redacted Kernel getSymptomKernel()
    • getTestKernel

      @Redacted Kernel getTestKernel()
    • getContactsKernel

      @Redacted Kernel getContactsKernel()
    • getDirectLogOdds

      @Default default double[] getDirectLogOdds()
      What is this evidence of this person being infectious 0..N days in the past judged today expressed as a log odds, based on symptoms and test results that are available today.
    • getProbabilityInfectiousToday

      @Lazy default double getProbabilityInfectiousToday()
      What is this individuals risk of infection today based on a prior?
    • getLogOddsInfectiousToday

      @Lazy default double getLogOddsInfectiousToday()
      What is this individuals odds ratio of infection today compared to the baseline of the population
    • getTime

      int getTime()
    • getMaxLength

      @Derived default int getMaxLength()
    • getIndirectLogOdds

      @Derived default double getIndirectLogOdds()
      What will the evidence be for this person being infectious today as a result of their past contacts. This value is would change retrospectively if you estimated it again the next day as the contacts test results and symptoms change. However this is only useful information if we are interested in contacts of contacts. We are no so we do the simpler thing which is look at recent contacts and get an estimate for today only.
    • getDirectLogOddsInPast

      default double getDirectLogOddsInPast(int i)
    • initialise

      static RiskModel initialise(Person person)
    • update

      default RiskModel update()
      Update the risk model to the current day, based on the current state of the person. (The risk model is most likely immutable so this will be a new one). This is called during the update cycle at the point that the history is updated..