Project Help Notebook by Keith Stroyan

Help NoteBook Copyright 2007 by K. D. Stroyan

Project 3:  Vaccination for Herd Immunity

by A. Student and B. Pupil

with technical help from Da LabMonitor and Help Notebook

My Project Introduction

Write this section last.  Begin with the basic question and state your main finding clearly, but with few technical details.  You might even modify the title of this section to make it more interesting.  Following is a rough start.

How many people do we need to vaccinate in order to protect a population from epidemics of a disease?  This report uses the S-I-R differential equation model to show that we need to insure that no more than __ % of the population is susceptible, where  __  is the measured value of __.

In the particular cases of polio and measles, we use our criterion to explain why we no longer have polio epidemics, but there have been local epidemics of measles in the last few years such as the one at Rutgers University.

S-I-R Equations

This section of our report derives the "equations of change" for an S-I-R epidemic.

Derivation of the model

Assumptions

We make some basic assumptions in formulating a model for the change of susceptible and infectious people.

ASSUMPTION 1:
S-I-R: We study only diseases that confir immunity.  This means...

ASSUMPTION 2:
Fixed population:  Since a flu epidemic takes place in __ days, the number of births, deaths, and immigrations bla, bla, blah...

ASSUMPTION 3:
Well mixed bla, bla, blah...  this assumption is used...

ASSUMPTION 4:
Large population bla, bla, blah...  this assumption is used...

Variables

Our model uses the following variables

t = time in days
	s = susceptible fraction  = number susceptible/total population
	i = infectious fraction = number infectious/total population
	r = 1 - s - i = the "removed" fraction, those who are immune and cannot transmit the disease

You may wish to use auxillary variables as follows:

S = number of susceptible people = s*n (see n below in parameters)
	I = number of infectious people = i*n
	R = number of removed (immune) people = r*n

Parameters

b = 1/the number of days a person is infectious
	c = the number of contacts an infectious person makes that could transmit the disease
	a = b c, the daily rate of making contacts
	n = the fixed total population, n = S + I + R (see Assumption 2 above.)

Bla, bla, blah.

We can measure the paremeters  b  and  c for a disease by bla, bla, blah...

Daily rate of recovery

If the population consists of  n people total and the fraction infectious is  i,  i*n people are infectious.  The average number of people who recover per day is b* i * n, because bla, bla, blah...

Daily rate of transmission

The daily rate of making "close contacts" is given by the measured parameters b and c,  a = b*c.  If the infectious fraction is  i and the total population is  n,  the total number of contacts is  bla, bla, blah...

daily rate of close contacts = a * i * n = a I

The fraction  s  of these contacts is made with susceptible people, resulting in new cases.

daily rate of new cases = a * i * n * s = a I (S/n) = a I s

Therefore, the rate of of the fraction of the population

You need some additional explanation here to arrive at the differential equations:

The S-I-R differential equations

({{((d s)/(d t))=-a s i       }, {((d i)/(d t))=a s i-b i}})

Beginning Explorations or Computer Experiments

Vaccination can change the fraction of susceptible people in a population without giving them the disease.  This section of our report has some numerical experiments showing the differences in very large and very small initial susceptible fractions.  Of course, if everyone is immune, s[0] = 0, and there is no possibility of an epidemic.  This report shows what value of  s[0]  gives a population "herd immunity," that is, does not allow a disease to expand if it is introduced, even though there are some susecptible people.

Initial conditions

We used the program from the class notebook SIRsolver to make predicitons with our model differential equations. (You will want to make additional modifications an leave the computations in your report, and then remove this remark.)  In order to make a basic comparison, we used a hypothetical disease with  b = 1 and  c = 3, then tried large, medium and small initial susceptible fractions.

Large Initial  s[0] = 3/4

Clear[s,i,t,soln,sRate,iRate];
sRate[s_,i_]:=-a s i;
iRate[s_,i_]:=(a s-b) i;

b = N[1] ;  (*b = 1/period of infectiousness*)
c = N[3];		(*c = contact number*)
a = b c ;		(*c = a/b  so  a = b c*)
startUchange={s[0]==(3/4.),i[0]==(1/30.),s'[t]==sRate[s[t],i[t]],i'[t]==iRate[s[t],i[t]]};
finalTime=60;
soln=NDSolve[startUchange,{s[t],i[t]},{t,0,finalTime}];
s[t_]=s[t]/.soln[[1,1]];
i[t_]=i[t]/.soln[[1,2]];
Print["Spread of rubella in a large fixed population."];
Print["Contact number, c = ",c,", Infectious period 1/b =",(1/b)];
Print["Daily contact rate, a =",a];sPlot=Plot[s[t],{t,0,finalTime},PlotRange->All,PlotStyle->{Blue},AxesLabel->{"t","s"},AxesOrigin->{0,0}]
iPlot=Plot[i[t],{t,0,finalTime},PlotRange->All,PlotStyle->{Red},AxesLabel->{"t","i"},AxesOrigin->{0,0}]
Print["s[",finalTime,"] = ",s[finalTime]];

We see that this disease produces an epidemic with an initial s[0] = 2/3 because bla, bla, blah...  Over the course of the whole epidemic, ___ of the population contracts the disease...

Medium Initial  s[0] = 1/2

Clear[s,i,t,soln,sRate,iRate];
sRate[s_,i_]:=-a s i;
iRate[s_,i_]:=(a s-b) i;

b = N[1] ;  (*b = 1/period of infectiousness*)
c = N[3];		(*c = contact number*)
a = b c ;		(*c = a/b  so  a = b c*)
startUchange={s[0]==(1/2.),i[0]==(1/30.),s'[t]==sRate[s[t],i[t]],i'[t]==iRate[s[t],i[t]]};
finalTime=60;
soln=NDSolve[startUchange,{s[t],i[t]},{t,0,finalTime}];
s[t_]=s[t]/.soln[[1,1]];
i[t_]=i[t]/.soln[[1,2]];
Print["Spread of rubella in a large fixed population."];
Print["Contact number, c = ",c,", Infectious period 1/b =",(1/b)];
Print["Daily contact rate, a =",a];sPlot=Plot[s[t],{t,0,finalTime},PlotRange->All,PlotStyle->{Blue},AxesLabel->{"t","s"},AxesOrigin->{0,0}]
iPlot=Plot[i[t],{t,0,finalTime},PlotRange->All,PlotStyle->{Red},AxesLabel->{"t","i"},AxesOrigin->{0,0}]
Print["s[",finalTime,"] = ",s[finalTime]];

We see that this disease produces an epidemic with an initial s[0] = 1/2 because bla, bla, blah..., but it is not quite as bad as the case ___

Small Initial  s[0] = 1/4

Clear[s,i,t,soln,sRate,iRate];
sRate[s_,i_]:=-a s i;
iRate[s_,i_]:=(a s-b) i;

b = N[1] ;  (*b = 1/period of infectiousness*)
c = N[3];		(*c = contact number*)
a = b c ;		(*c = a/b  so  a = b c*)
startUchange={s[0]==(1/4.),i[0]==(1/30.),s'[t]==sRate[s[t],i[t]],i'[t]==iRate[s[t],i[t]]};
finalTime=60;
soln=NDSolve[startUchange,{s[t],i[t]},{t,0,finalTime}];
s[t_]=s[t]/.soln[[1,1]];
i[t_]=i[t]/.soln[[1,2]];
Print["Spread of rubella in a large fixed population."];
Print["Contact number, c = ",c,", Infectious period 1/b =",(1/b)];
Print["Daily contact rate, a =",a];sPlot=Plot[s[t],{t,0,finalTime},PlotRange->All,PlotStyle->{Blue},AxesLabel->{"t","s"},AxesOrigin->{0,0}]
iPlot=Plot[i[t],{t,0,finalTime},PlotRange->All,PlotStyle->{Red},AxesLabel->{"t","i"},AxesOrigin->{0,0}]
Print["s[",finalTime,"] = ",s[finalTime]];

We see that this disease does NOT produce an epidemic with an initial s[0] = 1/4 because bla, bla, blah...

Contact numbers for various diseases

Following are the average measurements of contact numbers c for various diseases.

ContactsList={{"Measles",16.3},{"Whooping Cough",16.5},{"Chicken Pox",11.3},{"Scarlet Fever",8.5},{"Mumps",8.1},{"Rubella",7.3},{"Smallpox",5.2},{"Polio",4.6},{"Influenza",1.4}}
diseases=Transpose[ContactsList][[1]]
contactNumbers=Transpose[ContactsList][[2]]
oneOverCs=Transpose[{diseases,contactNumbers,Round[1/contactNumbers,.001],Round[1-1/contactNumbers,.01]}]
TableForm[Prepend[oneOverCs,{"Disease","c","1/c","1-1/c"}]]
TableForm[ContactsList]

Decreasing Infectives - The General Case

This section derives a general condition that assures that the infective fraction of a population will always decrease.  In particular, if some fraction of infectives are introduced,  i[0] > 0, then this will simply decrease to zero.  This means the population bla, bla, blah...

A calculus condition for  i  decreasing (HINT 3.4)

The slope of the i = i[t] curve is given by ___ (a calculus thingie).  If this is negative, then  i  is a decreasing function of time.

i decreasing  <=>  slope negative  <=>  CALCthing < 0

Now we replace this with the expression in the S-I-R differential equations:

CALCthing < 0  <=>  ALGEBRAthing < 0

Finally, we simplify the algebra to conclude that the infectious fraction, i,  is a decreasing function of time, t, if and only if

??<??

This is our criterion for herd immunity.  Now we

The specific conditions for  i  decreasing (HINT 3.5)

Now we compute the values of our condition for herd immunity in the cases of various actual diseases, including polio and measles...

Conclusions