Infectious Disease Outbreak (COVID-19)--HealthCare, Isolation and Quarantine

Infectious Disease Outbreak (COVID-19)--HealthCare, Isolation and Quarantine preview image

1 collaborator

Screen_shot_2018-02-02_at_12.53.50_pm lin xiang (Author)

Tags

covid19 

Tagged by lin xiang over 1 year ago

quarantine 

Tagged by lin xiang 10 months ago

Visible to everyone | Changeable by the author
Model was written in NetLogo 6.2.0 • Viewed 405 times • Downloaded 10 times • Run 0 times
Download the 'Infectious Disease Outbreak (COVID-19)--HealthCare, Isolation and Quarantine' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


WHAT IS IT?

This model simulates the impacts of hospital inpatient capacity, isolation, and quarantine on the infectious disease outbreak dynamics, such as the COVID-19 pandemic. The infected cases include both carriers, the infected people who have not shown symptoms, and sick, the infected people who have shown symptoms.

HOW IT WORKS

The model starts with a human population in which all individuals are healthy but susceptible (green persons) to the incoming pathogen. Once a carrier (also green but can be shown as gray by the "show-carriers?" switch) appears in the population, it will pass the disease to one of the susceptible people nearby (within a radius of 1.5) at the transmission rate of 90%. The infected people are able to transmit the disease for 14 days if they are not hospitalized or isolated. The infected people do not show symptoms in the first three days but are still contagious. After three days, infected people are more likely to show symptoms as time passes. Once they show symptoms, they are sick, indicated by an orange color. Depending on the settings, the sick can be hospitalized, isolated, or left by themselves. By the 15th day of being infected, the sick people either die (disappear from the model) at the mortality rate of 20% or recover and become immunized (blue color). If sick people are hospitalized, their mortality rate is lowered to 10%.

To simplify the model, this model uses a fixed transmission rate and mortality rate, 90% and 20%, respectively.

Buttons, Sliders, and Switches:

  • The "population size" slider is self-explanatory. So are the buttons of "Set up/Reset", "Run/Pause", and "Run one day".

  • The * "mobility"* slider controls how far an individual can move each time. Smaller mobility means people come into contact with fewer other people.

  • The " hospitalization?" switch can enable and disable hospitalization. The hospital inpatient capacity is set as 5% of the population size. This is actually higher than the USA average hospital inpatient capacity, which is about 0.3%.

  • The " show-carriers?" switch may make the carriers visible or invisible.

  • The " %-isolated" slider set how many percent of sick people who are not hospitalized are isolated. Sick people stop infecting susceptible people once isolated.

  • The " %-quarantined " slider set how many percent of carriers are quarantined. Carriers stop infecting susceptible people once quarantined.

  • The "+1 infected case" button adds a carrier into the population.

  • The * "Watch 1 infected case "* button allows you to focus on a single infected person, either a carrier or a sick person.

HOW TO USE IT

  1. First, choose the factors, such as population size, mobility level, hospitalization on or off, etc.

  2. Click on "Set up/Reset", then "Run/Pause". The model is initially set to stop on the 180th day. Change the number in "Time" if you want to run the model for a longer or shorter time period.

  3. Observe the infection changes in the population in the plot and monitors.

  4. Use "Run one day" to run the model in a controlled way and collecting day-by-day data.

THINGS TO TRY

There are so many things you can try in this model. Here are only very a few quick ideas to explore:

  1. How many people die when hospitalization is available vs. unavailable?
  2. How does hospitalization affect the number of deaths in the outbreak?
  3. How does hospitalization affect the duration of the outbreak?
  4. How does the isolation rate affect the number of deaths in the outbreak?
  5. How does the isolation rate affect the duration of the outbreak?
  6. How does the quarantine rate affect the number of deaths in the outbreak?
  7. How does the quarantine rate affect the duration of the outbreak?
  8. How do infections change in the population when isolation, quarantine, or low mobility is practiced 2 days, 3 days, or a week after introducing the carrier?
  9. How do infections change in the population if we only isolate the sick people but do nothing to the carriers?
  10. Can we both lower the number of deaths and shorten the duration of the outbreak? How?

RELATED MODELS

Find this model series at http://3dsciencemodeling.com

  • Infectious Disease Outbreak-Basic Phenomenon
  • Infectious Disease Outbreak-Transmission and mortality
  • Infectious Disease Outbreak-Population Comparison
  • Infectious Disease Outbreak-HealthCare, Isolation and Quarantine
  • Infectious Disease Outbreak-vaccination

CREDITS AND REFERENCES

Dr. Lin Xiang created this module at the University of Kentucky in 2020. If you mention this model in a publication, we ask that you include the citations below.

Xiang, L. (2020). Infectious Disease Outbreak-HealthCare, Isolation and Quarantine. Department of STEM Education, University of Kentucky, Lexington, KY.

Comments and Questions

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

;;
;; This model is developed by Dr. Lin Xiang at the University of Kentucky. Contact: lin.xiang@uky.edu
;;
;; If you see this page rather than a "download" button when downloading the model, click the "download" icon
;; in your browser to download this model file.
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


turtles-own[days infected susceptible hospitalized symptom]
Globals [RM LM num-beds x y max-daily-cases]
breed [persons person]
breed [doctors doctor]

to-report hospital   ;label the divider patches
  report patches with [ pycor < max-pycor and pycor > 16 and pxcor > min-pxcor and pxcor < max-pxcor]
end 

to-report susceptible-people     ;call all suscepitble people
  report turtles with [infected = false and susceptible = true and symptom = false and hospitalized = false]
end 

to-report carriers   ;call all people who are infected but have not shown symptoms
  report turtles with [infected = true and susceptible = false and symptom = false and hospitalized = false]
end 

to-report infected-with-symptom   ;call all people who are infected and have shown symptoms
  report turtles with [infected = true and susceptible = false and symptom = true]
end 

to-report patients   ;call all people who are infected and have shown symptoms and have been hospitalized
  report turtles with [infected = true and susceptible = false and symptom = true and hospitalized = true]
end 

to-report current-patients
  report count patients
end 

to-report recovered-people   ;call all people who have recovered
  report turtles with [infected = false and susceptible = false and symptom = false]
end 

to-report available-beds ; availble inpatient beds
  report num-beds - count persons with [pcolor = 9.9]
end 


;;;;;;;;;;;;;;;;;;;;main setup procedures;;;;;;;;;;;;;;

to setup
  clear-all
  setup-patches
  setup-turtles
  reset-ticks
end 

to setup-patches

  ask patches with [ abs pxcor = max-pxcor ] [set pcolor 116]   ;setup boundary
  ask patches with [ abs pycor = max-pycor ] [set pcolor 116]   ;setup boundary
  ask patches with [ pycor = 16 ] [set pcolor 116]  ;setup boundary
  ask hospital  [set pcolor 9.9]    ;set hospital area
end 

to setup-turtles

  create-persons Population-size
  [set color 68
    set size 1.75
    set shape "person-1"
    set days 0
    set infected false
    set susceptible true
    set hospitalized false
    set symptom false
    set-position
  ]

 set num-beds Population-size * 0.05
  set x -21
  set y 18

   create-doctors 1
  [ set color 37
    set size 3
    set shape "person doctor"
    setxy 22.5 26.5
  ]
end 

to set-position  ;set people position
  setxy random-xcor random-ycor
  if pcolor != 0 [set-position]
end 

to set-beds   ;set hispital bed positions
   setxy x y
   if any? other turtles-here [
    (ifelse
      x < 21 [set x x + 3]
      x = 21 [set x -21 set y y + 3])
      set-beds]

   set x -21
   set y 18
end 

;;;;;;;;;;;;;;;;;;;;main go procedures;;;;;;;;;;;;;;

to go

  if ticks >= time [stop]

  move
  transmission
  sickness
  isolation
  ifelse Hospitalization? [hospitalization-recovery-death][recovery-death]
  find-max-daily-cases
  tick
end 

to move
  ask persons with [hospitalized = false and shape = "person-1"]    ;Keep patients and isolated people from moving
  [ifelse [pcolor] of patch-ahead 1 = 0 [forward Mobility rt random 360] [set heading heading - random 180]]
end 

to add-a-carrier
  create-persons 1
  [set size 1.75
    set shape "person-1"
    set color 68
    set infected true
    set susceptible false
    set symptom false
    set hospitalized false
    set-position]
end 

to transmission       ;set up transmission
  ask persons with [infected = true and shape = "person-1"]  ;shape of "person" excludes the isolated carriers
  [let healthy-person one-of other turtles in-radius 1.5 with [susceptible = true]
    if healthy-person != nobody
    [ask healthy-person [
      if random 100 < 90  ;transimission rate is 90%
      [set infected true set susceptible false set symptom false]]]  ;susceptible people first become carriers.
  ]
end 

to sickness     ;process of developing symptoms
  ask persons with [infected = true]
  [
    ifelse Show-carriers? = true    ;allow switch to show and hide carriers
    [ifelse symptom = false [set color gray][set color orange]]
    [ifelse symptom = false [set color 68][set color orange]]

    set days days + 1  ;accumulate days
    if random 100 < (10 * days - 30) [set symptom true set color orange]   ; The infected people show symptoms after 3 days and the chance increase 10% every day after.

  ]
end 

to watch-a-sick-person ; can be either a carrier or a sick person
  watch one-of persons with [infected = true]
end 

to hospitalization-recovery-death
  ask persons with [infected = true and symptom = true]  ; call sick people
  [if available-beds > 0 [
    set shape "patient"
    set hospitalized true
    set-beds]

  if days >= 15
    [ifelse hospitalized = true
      [ifelse random 100 < 20 * 0.5
          [set LM LM + 1 die  ]
          [set infected false set hospitalized false set susceptible false set symptom false set color blue set shape "person-1" set-position]]
      [ifelse random 100 < 20
          [set LM LM + 1 die  ]
          [set infected false set hospitalized false set susceptible false set symptom false set color blue set shape "person-1" set-position]]
      ]
  ]
end 

to recovery-death
   ask persons with [infected = true and symptom = true]
     [if days >= 15
      [ifelse random 100 < 20
          [set LM LM + 1 die  ]
          [set infected false set hospitalized false set susceptible false set symptom false set color blue set shape "person-1" set-position]]
      ]
end 

to isolation
  ask persons with [infected = true and symptom = true and hospitalized = false]
      [if random 100 < %-isolated [set shape "house"]]
  ask carriers
      [if random 100 < %-quarantined [set shape "house"]]
end 

to find-max-daily-cases
  if count turtles with [color = orange ] > max-daily-cases        ;Count the infectious. If it is greater than the current record of max daily cases
  [set max-daily-cases count turtles with [color = orange ]]       ;update the max daily case
end 

There are 4 versions of this model.

Uploaded by When Description Download
lin xiang 7 months ago Fix info typos Download this version
lin xiang 10 months ago Add in max daily cases Download this version
lin xiang over 1 year ago Fix the info Download this version
lin xiang over 1 year ago Initial upload Download this version

Attached files

File Type Description Last updated
Infectious Disease Outbreak (COVID-19)--HealthCare, Isolation and Quarantine.png preview Preview for 'Infectious Disease Outbreak (COVID-19)--HealthCare, Isolation and Quarantine' over 1 year ago, by lin xiang Download

This model does not have any ancestors.

This model does not have any descendants.