Interface OutbreakState

All Superinterfaces:
Abstraction.TemporalState<Outbreak>, Cloneable, OutbreakTemporalState, Serializable
All Known Implementing Classes:
ImmutableOutbreakState

@Immutable public interface OutbreakState extends OutbreakTemporalState
The current state of the outbreak. It contains simulation parameters that change over simulation time and time varying derived summary data (marked with 'Lazy' or 'Derived'). Only one state will exist at any one point in a model and is replaced at each time step.
  • Method Details

    • getTransmissibilityModifier

      double getTransmissibilityModifier()
      An odds ratio describing day to day changes in the transmission due to exogenous factors such as weather, or potentially viral evolution. None of these are yet defined but ModelUpdate will be where they are implemented and configured as a function of time similar to the way DemographicAdjustment are handled (although that has an additional override that I don't think we will need here).
    • getContactDetectedProbability

      double getContactDetectedProbability()
      A probability that if two people are in contact and both using apps How likely is it that the app will detect the contact? The contact detected probability is a system wide parameter and describes how technically effective the app is. Then there is individual probability of app use, which covers phone actually switched on, app installed, and working: PersonState.getAdjustedAppUseProbability()
    • getPresumedInfectiousPeriod

      int getPresumedInfectiousPeriod()
      The estimate of the infectious period is important because it informs the policy and behavioural guidance on a whole range of things, from self isolation duration to maximum time that an infectious contact is deemed relevant. A grossly mis-specified value could lead to a decrease in effectiveness of behavioural interventions.
    • getPresumedIncubationPeriod

      int getPresumedIncubationPeriod()
      The estimate of the incubation period is important as it puts a time on how long to isolate and when to test after exposure.
    • getPresumedSymptomSpecificity

      double getPresumedSymptomSpecificity()
      An estimate of how specific symptoms are is part of determining their significance if they are being recorded by an smart agent.
    • getPresumedSymptomSensitivity

      double getPresumedSymptomSensitivity()
      An estimate of how sensitive symptoms are is part of determining their significance if they are being recorded by an smart agent.
    • getAverageMobility

      @Lazy default double getAverageMobility()
    • getAverageViralLoad

      @Lazy default double getAverageViralLoad()
    • getAverageCompliance

      @Lazy default double getAverageCompliance()
    • getCumulativeInfections

      @Lazy default long getCumulativeInfections()
      Specified by:
      getCumulativeInfections in interface OutbreakTemporalState
    • getMaximumIncidence

      @Lazy default long getMaximumIncidence()
      Specified by:
      getMaximumIncidence in interface OutbreakTemporalState
    • getTimeToMaximumIncidence

      @Lazy default long getTimeToMaximumIncidence()
      Specified by:
      getTimeToMaximumIncidence in interface OutbreakTemporalState
    • getTestPositivesByResultDate

      @Lazy default long getTestPositivesByResultDate()
      Count of people with test positives in the results that become available today.
      Specified by:
      getTestPositivesByResultDate in interface OutbreakTemporalState
    • getTestNegativesByResultDate

      @Lazy default long getTestNegativesByResultDate()
      Count of people with test negatives in their results that become available today
      Specified by:
      getTestNegativesByResultDate in interface OutbreakTemporalState
    • getInfectedCount

      @Lazy default long getInfectedCount()
      Specified by:
      getInfectedCount in interface OutbreakTemporalState
    • getMaximumPrevalence

      @Lazy default double getMaximumPrevalence()
      Specified by:
      getMaximumPrevalence in interface OutbreakTemporalState
    • getIncidence

      @Lazy default long getIncidence()
      Specified by:
      getIncidence in interface OutbreakTemporalState
    • getSymptomaticCount

      @Lazy default long getSymptomaticCount()
    • getAdmissionIncidence

      @Lazy default long getAdmissionIncidence()
      Count of people newly requiring hospitalisation at any given time point. This would be equivalent to hospital admission incidence.
    • getCumulativeAdmissions

      @Lazy default long getCumulativeAdmissions()
      Specified by:
      getCumulativeAdmissions in interface OutbreakTemporalState
    • getMaximumHospitalBurden

      @Lazy default long getMaximumHospitalBurden()
      Specified by:
      getMaximumHospitalBurden in interface OutbreakTemporalState
    • getAverageMobilityDecrease

      @Lazy default double getAverageMobilityDecrease()
      Average absolute loss of mobility compared to baseline.
    • getCumulativeMobilityDecrease

      @Lazy default double getCumulativeMobilityDecrease()
      Specified by:
      getCumulativeMobilityDecrease in interface OutbreakTemporalState
    • getAverageComplianceDecrease

      @Lazy default double getAverageComplianceDecrease()
      Average absolute loss of mobility compared to baseline.
    • getCumulativeComplianceDecrease

      @Lazy default double getCumulativeComplianceDecrease()
      Specified by:
      getCumulativeComplianceDecrease in interface OutbreakTemporalState
    • getHospitalisedCount

      @Lazy default long getHospitalisedCount()
      Count of people requiring hospitalisation at any given time point. This would be equivalent to hospital occupancy.
    • getCumulativeDeaths

      @Lazy default long getCumulativeDeaths()
    • getPolicy

      @Lazy default String getPolicy()
    • getPresumedTestPositivePrevalence

      @Lazy default double getPresumedTestPositivePrevalence()
      Sum of all the people who tested positive over the last infectious period. This could potentially count people multiple times if they have multiple tests. Testing protocols may prevent this from happening. This is one of the key determinants of the PolicyModel lockdown decision making.
    • getRtEffective

      default double getRtEffective()
      An estimate of the R_t value based on the renewal equation. This is not using a realised infection network as in the present model there are exposures but it is not explicit which exposure is actually responsible for infection.
    • getPrevalence

      @Lazy default double getPrevalence()