|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface SI
A DiseaseModel
with two states Susceptible and
Infectious (SI).
The basic SI (Susceptible, Infectious) disease model assumes a uniform population at a single location and that the population members are well "mixed", meaning that they are equally likely to meet and infect each other. This model, for a normalized population, is defined by the two equations below:
Where:
In the first equation, the Susceptible population increases when new members are born. This value is the birth rate μ multiplied by the total population, which, because the values are normalized, is 1. It also increases due to Infectious population members recovering. The Susceptible population decreases by members who die. That value is μ, the mortality rate, multiplied by the Susceptible population, s. The Susceptible population also decreases by having members become infected. The product of β and i gives the normalized number of Susceptible population members that would become infected for each Infectious population member assuming all population members are in the Susceptible state. Multiplying that by s, the fraction that actually are Susceptible, gives the normalized amount that become Infectious.
In the second equation, the Infectious population increases by the number of Susceptible population members that become Infectious (the first term). It also decreases by the proportion that Recover from the disease (middle term) and by the proportion that die (last term).
Frequently, being infected by a disease will increase the likelihood that a population member will die. The model above needs to be enhanced to include the likelihood of a fatal infection and a potentially different rate at which infected members die.
Let
Let
We modify our model to include these additional states and rates.
The "SI" disease model computations in STEM enhance these equations by adapting them to populations that are spatially distributed. This relaxes the assumption that the populations are at a single location and opens up the possibility that different locations could have different areas and numbers of population members (i.e., different population densities). To accommodate this situation STEM maintains separate disease state values for each location and uses unnormalized versions of the equations presented above. We develop those below.
To account for population differences at different locations, we define a new parameter Pl which is the number of population members at location l (Note: Pl = S + I). We also need to account for variability in the disease transmission (infection) rate, β, due to potentially different population densities. This modification is based upon the assumption that locations with greater population densities will have a higher effective transmission rates than locations with lower densities (i.e., one value can't be used for all locations). Thus, we need to replace the β in the non-spatial versions of the equations with a β l that is specific to the location.
Making the substitution for β and multiply both sides of the equations by Pl, we obtain:Let Sl = s Pl be the number of Susceptible population members at location l. , let Il = i Pl be the number of population members at location l that are Infectious (both states combined). For readability, we drop the l subscript and substitute.
Computing β* is straightforward. Let TSFl = (dl/(APD * Pl) be the transmission scale factor at location l.
Thus
Substituting Pl = S + I, APD = P/Area and dl = (S+I)/Areal, where P is the total population for all locations, Areal is the area of location l, and Area is the total area of all locations, we get:
The extension of the non-spatial model into a spatial one in STEM also needs to account for infectious population members that reside in a location's "neighbors". Consider a location with no infections that is physically adjacent to several locations that have large infectious populations. This physical adjacency would naturally lead to population-to-population contact and eventually to disease transmission. We need to further extend the equations we are here to incorporate this aspect of a spatially distributed population.
In STEM, a location has another location as a neighbor Relationship
that links it to that location. If the Relationship represents the
exchange of of population members (i.e., some kind of
transportation relationship
like pathways,
roads or air travel) then it would be possible for Infectious
population members from a neighbor to "visit" a location. We need to account
for this potential by increasing the "effective" Infectious
population at a location when doing our computations. Each Relationship has a
rate at which population members travel from one location to another. It is
assumed that the visitors would have the same level of "infectious contact"
as an infectious member of the population at the current location (i.e., that
they could could be counted as an infectious member of the population at the
current location).
The equations become:
Where
Specific statistics on the total number of births, deaths and deaths due to the disease can be computed by adding the appropriate terms of the equations above.
SIImpl#computeInfectiousMortalityRate(double, double)
,
SIRLabel
,
SIRLabel
,
SIRLabelValue
,
SEIR
,
SEIRLabel
,
SEIRLabelValue
Field Summary | |
---|---|
static java.lang.String |
URI_TYPE_STANDARD_SI_DISEASE_MODEL_SEGMENT
This is the segment of the type URI that prefixes all other segments in a standard disease model type URI. |
Fields inherited from interface org.eclipse.ohf.stem.diseasemodels.standard.StandardDiseaseModel |
---|
URI_TYPE_STANDARD_DISEASEMODEL_SEGMENT |
Fields inherited from interface org.eclipse.ohf.stem.diseasemodels.standard.DiseaseModel |
---|
URI_TYPE_DISEASEMODEL_SEGMENT |
Method Summary | |
---|---|
double |
getAdjustedInfectiousMortalityRate(long timeDelta)
Compute the infectious mortality rate adjusted for a time delta potentially different from the time period specified for the rate. |
double |
getAdjustedRecoveryRate(long timeDelta)
Compute the recovery rate adjusted for a time delta potentially different from the time period specified for the rate. |
double |
getAdjustedTransmissionRate(long timeDelta)
Compute the transmission rate adjusted for a time delta potentially different from the time period specified for the rate. |
double |
getInfectiousMortality()
This is the proportion of the Infectious population members that will die due to the disease. |
double |
getInfectiousMortalityRate()
This is the proportion which fatally Infectious population members die per time period. |
double |
getNonLinearityCoefficient()
By default this exponent is one (1.0) and the rate of infection scales as the product of the Susceptible population and the Infectious population. |
double |
getPhysicallyAdjacentInfectious(Node node)
|
double |
getPhysicallyAdjacentInfectiousProportion()
Two Node s that share a border exchange population members
through otherwise unmodeled transportation routes. |
double |
getRecoveryRate()
This coefficient determines the number of population members that recover from the disease per population member in the Infectious state. |
double |
getTransmissionRate()
This is the proportion of population members that become infected/exposed per population member in the Infectious state, assuming the entire population is in the Susceptible state, per time period. |
void |
setInfectiousMortality(double value)
Sets the value of the ' Infectious Mortality '
attribute. |
void |
setInfectiousMortalityRate(double value)
Sets the value of the ' Infectious Mortality Rate '
attribute. |
void |
setNonLinearityCoefficient(double value)
Sets the value of the ' Non Linearity Coefficient '
attribute. |
void |
setPhysicallyAdjacentInfectiousProportion(double value)
Sets the value of the ' Physically Adjacent Infectious Proportion '
attribute. |
void |
setRecoveryRate(double value)
Sets the value of the ' Recovery Rate '
attribute. |
void |
setTransmissionRate(double value)
Sets the value of the ' Transmission Rate '
attribute. |
Methods inherited from interface org.eclipse.ohf.stem.diseasemodels.standard.StandardDiseaseModel |
---|
addToTotalArea, addToTotalPopulationCount, computeTotalPopulationCountReciprocal, getTotalArea, getTotalPopulationCount, getTotalPopulationCountReciprocal, setTotalArea, setTotalPopulationCount |
Methods inherited from interface org.eclipse.ohf.stem.diseasemodels.standard.DiseaseModel |
---|
createDiseaseModelLabel, createDiseaseModelLabelValue, createDiseaseModelState, createInfector, getAdjustedBackgroundMortalityRate, getBackgroundMortalityRate, getDiseaseName, getPopulationIdentifier, getTimePeriod, initializeDiseaseState, initializeDiseaseState, setBackgroundMortalityRate, setDiseaseName, setPopulationIdentifier, setTimePeriod |
Methods inherited from interface org.eclipse.ohf.stem.core.model.Decorator |
---|
decorateGraph, getGraph, getLabelsToUpdate, resetLabels, setGraph, updateLabels |
Methods inherited from interface org.eclipse.ohf.stem.core.common.Identifiable |
---|
getDublinCore, getTypeURI, getURI, sane, setDublinCore, setTypeURI, setURI |
Methods inherited from interface org.eclipse.emf.ecore.EObject |
---|
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eIsProxy, eIsSet, eResource, eSet, eUnset |
Methods inherited from interface org.eclipse.emf.common.notify.Notifier |
---|
eAdapters, eDeliver, eNotify, eSetDeliver |
Field Detail |
---|
static final java.lang.String URI_TYPE_STANDARD_SI_DISEASE_MODEL_SEGMENT
Method Detail |
---|
double getInfectiousMortality()
void setInfectiousMortality(double value)
Infectious Mortality
'
attribute.
value
- the new value of the 'Infectious Mortality'
attribute.getInfectiousMortality()
double getInfectiousMortalityRate()
getInfectiousMortality()
,
DiseaseModel.getBackgroundMortalityRate()
void setInfectiousMortalityRate(double value)
Infectious Mortality Rate
'
attribute.
value
- the new value of the 'Infectious Mortality Rate'
attribute.getInfectiousMortalityRate()
double getAdjustedInfectiousMortalityRate(long timeDelta)
timeDelta
- the time period (milliseconds) to which the rate is to be
adjusted.
double getTransmissionRate()
In the rate equation this coefficient is normalize by the ratio of the Susceptible population to the total population. The final value may also be rescaled based on variations in local population density (above or below average). This is β.
void setTransmissionRate(double value)
Transmission Rate
'
attribute.
value
- the new value of the 'Transmission Rate'
attribute.getTransmissionRate()
double getAdjustedTransmissionRate(long timeDelta)
timeDelta
- the time period (milliseconds) to which the rate is to be
adjusted.
double getNonLinearityCoefficient()
void setNonLinearityCoefficient(double value)
Non Linearity Coefficient
'
attribute.
value
- the new value of the 'Non Linearity Coefficient'
attribute.getNonLinearityCoefficient()
double getRecoveryRate()
void setRecoveryRate(double value)
Recovery Rate
'
attribute.
value
- the new value of the 'Recovery Rate' attribute.getRecoveryRate()
double getAdjustedRecoveryRate(long timeDelta)
timeDelta
- the time period (milliseconds) to which the rate is to be
adjusted.
double getPhysicallyAdjacentInfectiousProportion()
Node
s that share a border exchange population members
through otherwise unmodeled transportation routes. This is the proportion
of the infectious population members in any adjacent Node
to include in the computations of another Node
.
Node
s that contribute to the effective
infectious population at the current Node
.void setPhysicallyAdjacentInfectiousProportion(double value)
Physically Adjacent Infectious Proportion
'
attribute.
value
- the new value of the 'Physically Adjacent Infectious Proportion'
attribute.getPhysicallyAdjacentInfectiousProportion()
double getPhysicallyAdjacentInfectious(Node node)
Node
s
that share a CommonBorderRelationshipLabel
with this
Node
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |