Isolation of known or suspected cases as well as persons who had been in contact with them, at first for 14 days and gradually increased to 40 days
Improvement of sanitation: development of pure water supplies, garbage and sewage disposal, food inspection
.. Find and kill a snake, chop it into pieces and rub the various parts over swollen buboes. (Snake, synonymous with Satan, was thought to draw the disease out of the body as evil would be drawn to evil)
Pathogen spread has evolved with mobility
Pathogens travel along trade routes
In ancient times, trade routes were relatively easy to comprehend
With acceleration and globalization of mobility, things change
Fragmented jurisdictional landscape
Political divisions (jurisdictions): nation groups (e.g., EU), nations, provinces/states, regions, counties, cities..
Travel between jurisdictions can be complicated or impossible
Data is integrated at the jurisdicional level
Policy is decided at the jurisdictional level
Long range mobility is a bottom → top → top → bottom process
Why mobility is important in the context of health
All migrants/travellers carry with them their "health history"
latent and/or active infections (TB, H1N1, polio)
immunizations (schedules vary by country)
health/nutrition practices (KJv)
treatment methods (antivirals)
Pathogens ignore borders and politics
antiviral treatment policies for Canada and USA
SARS-CoV-2 anyone?
SARS-CoV-1 (2002-2003)
Overall impact
Index case for international spread arrives HKG 21 February 2003
Last country with local transmission (Taiwan) removed from list 5 July 2003
8273 cases in 28 countries
(Of these cases, 1706 were HCW)
775 deaths (CFR 9.4%)
Measles cases in the USA
Polio spread 2002-2006. Pallansch & Sandhu, N Engl J Med 2006; 355:2508-2511
Winnipeg as urban centre and 3 smaller satellite cities: Portage la Prairie, Selkirk and Steinbach
population density low to very low outside of Winnipeg
MB road network well studied by MB Infrastructure Traffic Engineering Branch
Known and estimated quantities
City
Pop. (2014)
Pop. (now)
Dist.
Avg. trips/day
Winnipeg (W)
663,617
749,607
-
-
Portage la Prairie (1)
12,996
13,270
88
4,115
Selkirk (2)
9,834
10,504
34
7,983
Steinbach (3)
13,524
17,806
66
7,505
Estimating movement rates
Assume myx movement rate from city x to city y. Ceteris paribus, Nx′=−myxNx, so Nx(t)=Nx(0)e−myxt. Therefore, after one day, Nx(1)=Nx(0)e−myx, i.e.,
myx=−ln(Nx(0)Nx(1))
Now, Nx(1)=Nx(0)−Tyx, where Tyx number of individuals going from x to y / day. So
myx=−ln(1−Nx(0)Tyx)
Computed for all pairs (W,i) and (i,W) of cities
Sensitivity of R0 to variations of R0x∈[0.5,3]
with disease: R0x=1.5; without disease: R0x=0.5. Each box and corresponding whiskers are 10,000 simulations
Lower connectivity can drive R0
PLP and Steinbach have comparable populations but with parameters used, only PLP can cause the general R0 to take values larger than 1 when R0W<1
This is due to the movement rate: if M=0, then
R0=max{R0W,R01,R02,R03},
since FV−1 is then block diagonal
Movement rates to and from PLP are lower → situation closer to uncoupled case and R01 has more impact on the general R0
R0 does not tell the whole story!
Plots as functions of R01 in PLP and the reduction of movement between Winnipeg and PLP. Left: general R0. Right: Attack rate in Winnipeg
exhibit some behaviours not observed in the uncoupled system?
E.g.: units have {R0<1⟹ DFE GAS, R0>1⟹ 1 GAS EEP} behaviour, metapopulation has periodic solutions
Mixed equilibria
Can there be situations where some patches are at the DFE and others at an EEP?
This is the problem of mixed equilibria
This is a metapopulation-specific problem, not one of inheritance of dynamical properties!
Types of equilibria
[Patch level] Patch p∈P at equilibrium is empty if Xp⋆=0, at the disease-free equilibrium if Xp⋆=(sk1p⋆,…,skup⋆,0,…,0), where k1,…,ku are some indices with 1≤u≤∣U∣ and sk1p⋆,…,skup⋆ are positive, and at an endemic equilibrium if Xp≫0
[Metapopulation level] A population-free equilibrium has all patches empty. A metapopulation disease-free equilibrium has all patches at the disease-free equilibrium for the same compartments. A metapopulation endemic equilibrium has all patches at an endemic equilibrium
Mixed equilibria
A mixed equilibrium is an equilibrium such that
all patches are at a disease-free equilibrium but the system is not at a metapopulation disease-free equilibrium
or, there are at least two patches that have different types of patch-level equilibrium (empty, disease-free or endemic)
E.g.,
((S1,I1,R1),(S2,I2,R2))=((+,0,0),(+,+,+))
is mixed, so is
((S1,I1,R1),(S2,I2,R2))=((+,0,0),(+,0,+))
Suppose that movement is similar for all compartments (MSAC) and that the system is at equilibrium
If patch p∈P is empty, then all patches in A(p) are empty
If patch p∈P is at a disease free equilibrium, then the subsystem consisting of all patches in {p,A(p)} is at a metapopulation disease free equilibrium
If patch p∈P is at an endemic equilibrium, then all patches in D(p) are also at an endemic equilibrium
If Gc is strongly connected for some compartment c∈C, then there does not exist mixed equilibria
Note that MSAC ⟹Ac=A and Dc=D for all c∈C
Interesting (IMHO) problems
More is needed on inheritance problem, in particular GAS part (Li, Shuai, Kamgang, Sallet, and older stuff: Michel & Miller, Šiljak)
Incorporate travel time (delay) and events (infection, recovery, death ..) during travel
What is the minimum complexity of the movement functions m below
As for the mathematical analysis: if you do things carefully and think about things a bit, numerics are not hard. Well: not harder than numerics in low-D
Exploit vector structure
Define the vector field
SLIAR_metapop_rhs <- function(t, x, p) {
with(as.list(x), {
S = x[p$idx_S]
L = x[p$idx_L]
I = x[p$idx_I]
A = x[p$idx_A]
R = x[p$idx_R]
N = S + L + I + A + R
Phi = p$beta * S * (I + p$eta * A)
dS = S - Phi + p$M %*% S
dL = Phi - p$epsilon * L + p$M %*% L
dI = (1 - p$pi) * p$epsilon * L - p$gammaI * I + p$M %*% I
dA = p$pi * p$epsilon * L - p$gammaA * A + p$M %*% A
dR = p$gammaI * I + p$gammaA * A + p$M %*% R
list(c(dS, dL, dI, dA, dR))
})
}
# Set initial conditions. For example, we start with 2
# infectious individuals in Canada.
L0 = mat.or.vec(p$P, 1)
I0 = mat.or.vec(p$P, 1)
A0 = mat.or.vec(p$P, 1)
R0 = mat.or.vec(p$P, 1)
I0[1] = 2
S0 = pop - (L0 + I0 + A0 + R0)
# Vector of initial conditions to be passed to ODE solver.
IC = c(S = S0, L = L0, I = I0, A = A0, R = R0)
# Time span of the simulation (5 years here)
tspan = seq(from = 0, to = 5 * 365.25, by = 0.1)
Set up β to avoid blow up
Let us take R0=1.5 for patches in isolation. Solve R0 for β
β=S(0)R0(γIp1−πp+γApπpηp)−1
for (i in 1:p$P) {
p$beta[i] =
R_0[i] / S0[i] * 1/((1 - p$pi[i])/p$gammaI[i] + p$pi[i] * p$eta[i]/p$gammaA[i])
}
And now the problems begin :)
# Call the ODE solver
sol <- deSolve::ode(y = IC, times = tspan,
func = SLIAR_metapop_rhs, parms = p)
## DLSODA- At current T (=R1), MXSTEP (=I1) steps
## taken on this call before reaching TOUT
## In above message, I1 = 5000
##
## In above message, R1 = 117.498
The output I copy above means the integration went wrong. The problem is the sie difference between countries, in particular China and Canada..
Need to play with movement rates and initial conditions. Will not explain here
Stochastic simulations
Simulating the ODE metapopulation as a continuous time Markov chain (CTMC) is a little more complicated
However, still relatively easy to do if being careful using R libraries such as adaptivetau or GillespieSSA2
Epilogue / Postlude
In conclusion
Space is a fundamental component of the epidemic spread process and cannot be ignored, both in modelling and in public health decision making
One way to model space is to use metapopulation models
Metapopulation models are easy to analyse locally, give interesting problems at the global level and are easy to simulate
Simulation (deterministic and stochastic) can be costly in RAM and cycles
Metapopulation models are not the only solution
To finish, let us circle back to Thucydides!
[..] physicians [..] died [..] the most thickly, as they visited the sick most often
No remedy was found that could be used as a specific; for what did good in one case, did harm in another
those who had recovered from the disease [..] knew what it was from experience, and had now no fear for themselves; for the same man was never attacked twice—never at least fatally
An aggravation of the existing calamity was the influx from the country into the city, and this was especially felt by the new arrivals. As there were no houses to receive them, they had to be lodged at the hot season of the year in stifling cabins, where the mortality raged without restraint
Supplications in the temples, divinations, and so forth were found equally futile