NCSI Talks

   

Disease Model Learning Scenario


Shodor > NCSI Talks > NetLogo > Disease Model Learning Scenario

Learning Scenario- Disease Model (NetLogo)

Basic Model:

Description

This model represents the spread of a disease in a population. Initially, there is only one person sick in the population. There are also 3 areas that are sectioned off by tan barriers with holes that allow citizens to move from area to area one at a time. This is like a real world example of three large rooms. As the sick person moves throughout the rooms, he infects others that are close to him or gradually recovers without infecting others. Healthy people are colored green, sick people are red, and immune people are blue. Another factor added in to make the model more realistic is the addition of doctors (white figures). They give people the ability to become recovered, vaccinated, or medicated.

Background Information

This model shows the spread of diseases that eventually turns into an epidemic because of how large the population is. Just like in real life, when a disease that starts to affect more than a few people in one area, like a city, then becomes an epidemic. For example, the swine flu, the regular flu, and meningitis all started out small but then spread to many people and affected people from other cities and states. Like this model shows, there is also help against getting a disease or curing the disease. Doctors give vaccines and medications to those who are healthy and those who are sick respectfully. The flu vaccine is given to people to make them less likely to get the flu and need medical help. It is taken before flu season so that it will have time to build up antibodies, this providing temporary immunity. If a person gets the flu they can take antiviral medications or over the counter medicines. Another important factor with prevention is hygiene. Factors in real life are not easily controlled include how infectious the disease is, how long it takes to recover, and the fatality rate. Finally, if the disease is too dangerous, people must be quarantined until they recover.

Science/Math

Math that is used in this model is data analysis and probability. It is not certain that when an infected person touches a healthy person the healthy person will get sick. A person getting sick = sick person next to healthy person x infectiousness rate. Basically, if the infectiousness rate is set at 30%, there is a 30% chance that a healthy person will be infected. The science that is used is interaction of species, the concept of population density, and diffusion. People moving around in the model and sick people interacting with healthy people represent the interaction of species. Population density is how crowded an area is. Diffusion is the movement from high-density areas to lower density areas.

The fundamental principle on display is HAVE = HAD + CHANGE. The current sick population (HAVE) is a combination of the prior sick population (HAD) plus the conversion of healthy people to sick people minus sick people who recover (CHANGE). This idea can be extended to all agents in the simulation.

Teaching Strategies

To start this lesson, it is a good idea to give examples of diseases that started out as small but eventually turned into epidemics because of how quickly they were able to spread. Examples of this would be the flu, swine flu, and the common cold. Next, bring up the advancements of medications and vaccinations. Discuss how medical advancements help better protect populations.

Have the students open the program and run it with the default parameters. After an initial run of the program, ask the students to predict how each parameter affects the program and environment. The explanations of each parameter are below. Next, break the class into groups to explore how a certain parameter affects the program. Each group will only manipulate one parameter and keep the others at their default values. Have the students run three tests using their own values. Make sure the students record their findings. For example, students can record the amount of ticks it takes for everyone to become sick or recovered. Another observation students can record is the population of sick or healthy people that are in the environment at a given time. The following groups can be broken up as followed:

  • Initial population
  • Number of doctors and availability of vaccinations and medications
  • Limit travel and travel openings
  • Infectiousness
  • Days to recover
  • Fatality rate

For each of these parameters be sure to test parameters with small, medium, and very high values.

Implementation:

How to use the model

First, the parameters and elements of the program will be explained. On the environment screen, there are people and two tan walls separating the environment into three rooms. There are six types of people that are in the environment: healthy (green), infected (red), immune/recovered (blue), vaccinated (blue and holding a yellow shield), medicated (blue and holding a pill bottle), and doctors (white). The brown walls have holes that are openings for the people to move through. Initially, there are a set number of healthy citizens and one sick person with 3 holes in each wall. The other parts of the program are the graph and tables showing how many of each type of person are that are in the environment.

  • Initial population - This is a slider bar that gives the user an option of setting the initial population of citizens from 0-2,000.
  • Num-doctors - This is a slider bar that gives the user an option of setting the initial number of doctors from 0 to 10.
  • Limit travel - This is a switch that controls if the environment is separated into three sections. If on, the walls appear. If off, they disappear.
  • Travel openings - Travel openings are the open spaces in the walls. This slider bar sets the openings on each wall to a value of 0-10
  • Hygiene - Hygiene is a slider bar that controls how clean the citizens are which affects how easy the disease spreads. Hygiene can range from 0-100%
  • Vaccination availability - This is a switch of there is vaccination (on) or there is no vaccination (off)
  • Medication availability - This is a switch of there is medication (on) or there is no medication (off)
  • Infectiousness - This is a percentage slider bar that ranges from 0-100%. This represents the chance of a healthy person getting sick when they are next to a sick person.
  • Days to recover - The amount of days it takes to recover can range from 0-100. This slider bar controls the amount of days.
  • Fatality rate - This slider bar represents the chance that a sick person dies if not treated. This rate can range from 0-100%

To begin the model, set the desired number of citizens and desired number of doctors (if wanted). Next, set if travel can be limited and how many openings will be in each wall. If there are doctors, the user can set vaccinations or medications. Next set the infectiousness, days to recover, fatality rate and hygiene. Click setup model and then click run. For more information about Netlogo, refer to the Netlogo tutorial: http://shodor.org/tutorials/NetLogo/Introduction.

Learning Objective

  1. How population density affects the spread of disease
  2. How quarantine affects the spread of disease
  3. The importance of hygiene to a population

Objective 1

Population density is not necessarily how many people are in a population. It is how tightly packed a population is a given environment. This of course will have a big impact on the spread of disease because there is a much higher chance of people coming into contact with each other (due to an increased chance of interacting). Have students answer the following questions to better understand density:

  • Which city has a higher population density? New York City or Durham, NC?
  • What amount of citizens gives you a low population density? High population density?

Next, have students run tests using default values of everything but initial population. Test various initial population sizes: 100, 500, 1000, 1500, and 2000. These are basic values and can be changed based on the users preference. Follow up questions include:

  • Which population amount causes more disease spread? Explain why
  • Which population had the most amount of diseased people? Explain why
  • Does population affect how quickly diseased people recover? Explain why/why not
  • Based on your previous findings, do higher population densities play an important role in the spread of disease? Support with evidence

Objective 2

Quarantine is separating an infected population from a healthy population until the disease is gone. To create quarantine in the program set the travel openings to 0. The best way to exemplify this is to first run the program with no limit travel, and run until there are no remaining sick citizens. Record the number of ticks it takes for all of the diseased to either heal or die. Next, run the model with a travel limit and 0 travel openings. Record how long it takes for the diseased to become well or die.

  • How does quarantine affect recovery time? Was this expected?
  • Next run the simulation with one travel opening (discuss whether healthy quarantine areas are able to completely limit travel). What happens if a sick person finds their way into the area?
  • Debate the effectiveness of quarantines

Objective 3

Hygiene is very important because it helps prevent the spread of disease. This can be something as simple as a person washing their hands. Have students test how hygiene affects the population by running it with 5%, 15%, 50%, 80%, and 99% hygiene keeping everything else constant.

  • How does hygiene affect the spread of disease? Was this expected? Why?
  • Can the best hygiene prevent the spread of disease? Explain your answer

Extensions:

  1. There is a limited amount of medications and vaccines
  2. A "temporary" vaccine
  3. Addition of citizens who have a weak immune system

Extension 1

This extension is an example of a real world situation. In the real world, there is a limited amount of supplies that can be accessed at a certain time. When the supplies runs out it could take weeks or months for it to be restored. Simulate this scenario by making a table for medicine and after a certain number of ticks it disappears. Then, require a certain number of ticks for the medicine to slowly come back.

For example, let's say that the initial amount of medicine and vaccines is 100 each. After 150 time ticks a doctor has given out all 100 medications and all 100 vaccines. The two counter rectangles will both say 0. A controllable parameter named "days to receive treatment material" would have values ranging from 1 day to 60 days to symbolize a max of two months of wait time before medication and vaccines are delivered. If this parameter is set to 14 days, every 14 ticks 100 vaccines and medications are delivered.

  • How does a limited supply of medication and vaccines affect the rate of recovery?
  • How long of a wait time best competes against the spread of disease?
  • With limited resources, list unfavorable outcomes a population might consider. Do these scenarios favor the healthy/strong or the sick/weak?

Extension 2

In reality, a vaccine only last for a certain period of time before it slowly begins to wear off. This is because the body changes or it may even be that the disease evolves and worsens. To illustrate this in the model, a parameter could be made named "length of vaccine effectiveness". This would be measured in days and last from 30-90 days. After the days have passed the vaccinated person would return to being a regular healthy susceptible person.

  • How does having a "temporary" vaccine affect the model? Was this expected? Why
  • Is this result realistic?
  • Are there other vaccine-related parameters that would make this model more realistic?

Extension 3

Some people are much more susceptible to getting sick because they have a weakened immune system, usually due to some kind of prior illness, or live in an impoverished area. To model, start by creating another citizen color to represent those who are healthy but are much more susceptible than others.

  • How does the addition of highly susceptible citizens change the dynamics of the model? Does it cause a longer time for the population to get better?
  • How is the spread of disease affected? Was this expected? Explain why

Related Models

Directable Fire!! (Interactivate)

This is an applet where the user starts a fire in one tree and sees how it affects the other trees. There is the option of resizing the forest, manipulating the burn speed and manipulating the probability of the trees around the tree on fire to burn.

Epidemic (NetLogo)

This is an agent-based model that displays a very simple epidemic model. The only parameters are the amount of people and the infectiousness of sick people. Also the only types of people are healthy, sick, and immune.

Spread of Disease Model

This is a simpler agent model of disease spread that focuses on the longevity of the disease. This model is unique because the agents do not gain permanent immunity to the disease after they recover. Students should discuss the affect this has on the spread of disease and how this changes the methods used to prevent the disease.