Mathematical and Minischeme Appendix
Main Menu Previous Topic Next Topic
Definitions of timedependent quantities
In "Emergency Response to a Smallpox Attack: The Case For Mass Vaccination", Kaplan, Craft and Wein outline a system dynamics model that reflects the CDC guidelines and possible alternatives for dealing with a smallpox attack in a 10 millionperson city. They divide the city's population into 17 parts that correspond to numbers of people in 17 different states (such as susceptibleuntraced, in the first stage of infection and traced, in the second stage of infection and on the vaccination queue, dead, immune, and so on) The sum of these 17 quantities is always equal to 10 million. They are functions of only one variable  time, which may be measured in days, or any other convenient time unit.
Here's how these quantities are defined in the article and in the simulator:
Agent ID  Quantity Name  Definition of Quantity 
0  S0  susceptible, not traced 
1  S1  susceptible, traced 
2  I01  infected, not traced, first stage of the disease 
3  I02  infected, not traced, second stage of the disease 
4  I03  infected, not traced, third stage of the disease 
5  I04  infected, not traced, fourth stage of the disease 
6  Q0  in queue, susceptible 
7  Q1  in queue, infected, first stage 
8  Q2  in queue, infected, second stage 
9  Q3  in queue, infected, third stage 
10  I11  infected, traced, first stage 
11  I12  infected, traced, second stage 
12  I13  infected, traced, third stage 
13  I14  infected, traced, fourth stage 
14  H  quarantined, infected 
15  Z  immune 
16  D  dead 
The article also defines additional quantities that can be expressed in terms of the 17 basic ones above. These don't add to the complexity of the model, but make it easier to write down some of the equations:
I3 = I03 + Q3 + I13  all infected individuals 
Q = Q0 + Q1 + Q2 + Q3  all the individuals on the queue 
R0  the number of persons infected on average by a newly symptomatic case over the duration of her infectiousness 
kappa  the rate with which anyone in the population is randomly traced 
lambda(j)  expected number of untraced contacts previously infected by a traced individual who are in disease stage j 
q(j)  conditional probability that a contact of an index detected at a particular time is in stage j of disease given that the contact has not been traced 
These helper functions, as well as a couple of additional ones, were defined as global minischeme functions in the Simulator as follows:
Quantity  Minischeme Code  Algebraic Representation 
Q  (define qsum ()
(max (+ (getpop 6) (getpop 7) (getpop 8) (getpop 9)) 0.000001)) 
Q = Q0 + Q1 + Q2 + Q3 
A convenient quantity from the equations 
(define CPRN ()
(/ ( c (* p (R0))) N)) 
(c  p*R0) / N 
R0  (define R0 ()
(/ (* beta (+ (getpop 0) (getpop 6) (getpop 1))) r3)) 

lambda(j)  (define lambda (j)
(/ (* (q j) beta (getpop 0)) (+ r3 (kappa)))) 

kappa  (define kappa ()
(if (< (gettime) (/ tau timestep)) 0 (* (CPRN) r3 (I3)))) 

q(j)  (define q (j)
(let ((product 1)) (begin (if (>= j 2) (set product (* product (/ r1 (+ r1 r3 (kappa))))) 0) (if (>= j 3) (set product (* product (/ r2 (+ r2 r3 (kappa))))) 0) (set product (* product (cond (= j 1) (/ (+ r3 (kappa)) (+ r1 r3 (kappa))) (= j 2) (/ (+ r3 (kappa)) (+ r2 r3 (kappa))) (= j 3) (/ (+ r3 (kappa)) (+ r3 r3 (kappa)))))) product))) 

I3  (define I3 ()
(+ (getpop 4) (getpop 9) (getpop 12))) 
I3 = I03 + Q3 + I13 
State Population 
(define getpop (agentid)
(arrayget (getagentstatearray agentid) 0)) 
Population of a state is equivalent to the size of component 0 of the corresponding Agent's state array 
Previous Slide Next Slide