-
Notifications
You must be signed in to change notification settings - Fork 3
File descriptions, test design and proposed changes
RobertManningSmith edited this page Feb 15, 2024
·
3 revisions
At the highest level the infectious behaviour framework:
- Creates different infection statuses.
- Handles transition between infection statuses. The infection behaviour framework also triggers the spread of COVID, influences a person's movement and their eligibility to get tested for COVID.
- Ensure that the transition between states occurs as it should, specifically, disease progression has a set path from one behaviour node to the next.
- COVID spread is only triggered from appropriate nodes
- Changed to movement are only triggered from appropriate nodes
- COVID testing eligibility is only set from appropriate nodes
- Change infectious behaviour into an interface, which then will be implemented from COVID and other diseases in the future
- Controls whether people are at home, visiting another location or at work
- tbd
- None
- Represents each agent's household and contains a group of people living there
- Each person has a list of people in their household. This list should be the same for everyone else in that household.
- None
- Linked to a person to represent their infection
- Stores information about the infection in that person
- Begins the infectious behaviour framework
- tbd
- Make a generalised version of what we expect an infection to be, make covid infections and spurious symptoms be inherited from this object.
- Supertype of all location objects
- Names locations
- Manages who is where spatialy
- tbd
- None
- Holds demographic information about the person
- Holds relevant epidemic info about the person
- Hosts the infect neighbours function
- Create infections
- tbd
- Move epidemic information to infection object
- Move infect neighbours function to infection object or infectious behaviour interface
- Configures simulation
- Configures output
- Determines what is included in the simulation
- Initialised the simulation
- Handles the 'day to day' running of the simulation as things change over time
- Has helper functions
- tbd
- Possibly separate the simulation initialisation and simulation day-to-day running into separate files
- Move the helper functions to a separate file
- Read in parameter files and store them, attached to simulation object
- tbd
- tbd
- Creates births and deaths in the population
- Test births are increasing the population size
- Births do not occur in biological males
- Death rates are dependent on biological sex
- Peoples ages update yearly
- None
- Is an interface which spurious symptoms from different disease will implement
- None for now
- Finish developing and get into main
- Generates and removes spurious symptoms of COVID in the population
- Make sure spurious symptoms last only for a week
- Make sure spurious symptoms only occur in people without covid or asymptomatic covid
- Make sure each person with spurious symptoms is eligible for COVID testing.
- Finish developing and get into main
- Is an interface from which different disease tests will inherit from
- None
- Finish developing and get into main
- Inherits from disease testing
- Determines the number of tests available each day
- Determines where the tests can take place
- Administers tests to people who exhibit COVID symptoms in districts with COVID testing
- Make sure tests only happen in testing districts
- Make sure the total test counts don't exceed the number of tests available
- Finish developing and get into main
- Measures and produces output on various parts of the model (COVID, Demography and testing so far)
- tbd
- Make this the only place where model output is created
- Currently looks like this does a similar thing to Logging
- tbd
- Move the output into Logging.java and delete the file