QuOVPro
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
Model Description
Quantifying Population Fear for Optimal Vaccination Program
Vaccination program is one of the control measures recommended by the authorities to prevent the spread of infectious diseases and also build the immunization in the population in order to eradicate the diseases. Individuals’ vaccination decision is important to determine whether the vaccination program is successful. The vaccination decisions of the individuals are affected by their feeling of fear on the infectious diseases. The fear is associated as human behavior. This invention is to simulate the vaccination decision of the individuals in a population with the incorporation of human behavioral changes. The simulation is to imitate the real world vaccination process of vaccination program and visualize its results. The results of this simulation will be visualized as how many percent of feared individuals engage in vaccination program.
HOW IT WORKS
The individuals (aka agents) in the model is assigned with two random numbers to represent their health status and mindset. The individuals are also assigned with a set of rule according to the groups they belong to. There are five groups (or subpopulations) in the model, namely susceptible, infected, feared, vaccinated, and recovered. The rules allowed them to interact and move randomly in the environment. Once the susceptible individuals are in contact with infected individuals, the health status of the susceptible individuals will be compared with the disease transmission rate per contact per unit time. If it is lower, the susceptible is infected by the disease and will be moved to the group of infected. On the other hand, when the susceptible is interacting with the feared, the mindsest of the susceptible will be compared to the probability of getting feared, and if it is lower, the susceptible will get feared. the feared individuals are given the opportunity to make their vaccination decision. They will consider the risks of the vaccination and infection. If the feared decides to engage in vaccination program, he/ she will be vaccinated and moved to the group of vaccinated. Else, he/ she will be given another opportunity to make the vaccination decision at the next time step. In the meantime, the feared is assumed to take some other precautions such as intensified hygienic care in order to avoid infectious. However, if they interact with the infected, they might get infected as well at the reduced disease transmission rate. The vaccinated individuals will be susceptible again after the duration of the effectiveness of vaccines. The infected individuals will be recovered after the duration of infectious.
HOW TO USE IT
The simulator is divided into four sections, namely Input, Operations, Results, and Environment View.
Users have to enter the necessary inputs that listed in the interface: 1. Location: Users can choose the location they wish to simulate based on the dropdown list. 2. Type of diseases: Users can choose the disease they wish to simulate based on the dropdown list. 3. Population fear: Users are required to enter the population fear factor in the text box according to the scale of awareness program.
There are four buttons in the section of Operations: 1. Setup: to let the users setup the environment according to the inputs. 2. Go: to start the simulation. 3. Stop: to force the simulation stop. A message of "Simulation is terminated" will be prompted and users are required to click on "Halt" if wish to stop the simulation. 4. Find_%: to calculate the percentage of feared population, vaccinators from the feared population, individuals that take the other precautions, the difference between vaccinators and individuals that take the other precautions.
The results of the simulation will be displayed in the section of Results. The interaction of the individuals will be shown in the section of Environment View.
THINGS TO NOTICE
Java version of users' environmenthas to be Version 7 or below the Java security level has to be set to medium. Users have to allow the plugins to be run in the browser in order to use the simulator.
CREDITS AND REFERENCES
This work is supported by Universiti Malaysia Sarawak through the research grant scheme number F08(S159)/1170/2014(24). The authors also would like to give credits to Unesco for the approaches of organizing awareness program.
Comments and Questions
globals[ initial-susceptible initial-fear initial-vaccinator transmission fear_infect-chance vaccine-duration recovery-rate imitation_rate risk_vaccination risk_infection strategies payoff_NV payoff_V omega kappa sampling_rate x max_infected cur_infected time fear_counter vaccinator_counter population feared_%_population vaccinator_%_population precautions_%_population difference_vac_precautions ] breed[susceptibles susceptible] breed[infecteds infected] breed[recovereds recovered] breed[fears fear] breed[vaccinates vaccinate] turtles-own [ health-state mind-set own_strategy susceptible? infected? recovered? fear? vaccinate? infection-length vaccination-period number_of_infected previous_infected number_of_recovered ] patches-own[ turtle? ] ;;allocate initial Susceptible individual to allocateSusceptibles set color blue set size 1.2 set shape "person" set heading random 360 setxy int random-xcor int random-ycor set health-state random-float 1 set mind-set random-float 1 end ;;allocate initial Infected individual to allocateInfected set color red set size 1.2 set shape "person" set heading random 360 setxy int random-xcor int random-ycor end ;;allocate initial Feared individual to allocateFear ;set color yellow set size 1.2 set shape "person" set heading random 360 setxy int random-xcor int random-ycor end ;;allocate initial vaccinator to allocateVaccinator set color violet set size 1.2 set shape "person" set heading random 360 setxy int random-xcor int random-ycor end ;;let agents to move to move ask turtles [ right random 45 left random 45 forward 1 ] end ;;to assign health state and mindset to turtles to assign_status ask turtles [ set health-state random-float 1 set mind-set random-float 1 ] end ;;disease is spreading and human get infect to infect ask turtles with [infected?] [ let nearby-uninfected (turtles-on neighbors) with [not infected? and not recovered? and not fear? and not vaccinate?] if nearby-uninfected != nobody [ ask nearby-uninfected [ if health-state < transmission [ set infection-length 0 set number_of_infected (number_of_infected + 1) set infected? true set fear? false set vaccinate? false set susceptible? false set recovered? false set breed infecteds set shape "person" set color red set heading random 360 ] ] ] ] end ;;to create fear in the population to fear_influence ask turtles with [fear?] [ let nearby-not-fear (turtles-on neighbors) with [not infected? and not recovered? and not fear? and not vaccinate?] if nearby-not-fear != nobody [ ask nearby-not-fear [ if mind-set < fear-factor [ set susceptible? false set infected? false set fear? true set vaccinate? false set recovered? false set breed fears set shape "person" set size 1.2 set color yellow set heading random 360 set fear_counter fear_counter + 1 ] ] ] ] end ;;to make decision to vaccinate or not to decision_vaccinate ask turtles with [fear?] [ let nearby-vaccinated (turtles-on neighbors) with [not infected? and not recovered? and not susceptible? and not fear? and vaccinate?] if nearby-vaccinated != nobody [ if payoff_V > payoff_NV [ if mind-set < imitation_rate [ set vaccination-period 0 set susceptible? false set infected? false set fear? false set vaccinate? true set recovered? false set breed vaccinates set shape "person" set size 1.2 set color violet set own_strategy "Vaccinate" set heading random 360 set vaccinator_counter vaccinator_counter + 1 ] ] ;] ] ] end ;;disease spread among feared individual with lower probability to fear_infect ask turtles with [infected?] [ let nearby-fear-not-infected (turtles-on neighbors) with [not infected? and not recovered? and not susceptible? and fear? and not vaccinate?] if nearby-fear-not-infected != nobody [ ask nearby-fear-not-infected [ if health-state < fear_infect-chance [ set infection-length 0 set number_of_infected (number_of_infected + 1) set susceptible? false set infected? true set fear? false set vaccinate? false set recovered? false set breed infecteds set shape "person" set size 1.2 set color red set heading random 360 ] ] ] ] end ;;vaccination period over to vac-sus ask turtles with [vaccinate?] [ set vaccination-period (vaccination-period + 1) if vaccination-period > vaccine-duration [ set susceptible? true set infected? false set fear? false set vaccinate? false set recovered? false set breed susceptibles set shape "person" set size 1.2 set color blue ] ] end ;;to check whether individuals have recovered from infections to recover ask turtles with [infected?][ set infection-length infection-length + 1 if infection-length > 1 / recovery-rate [ set number_of_recovered (number_of_recovered + 1) set recovered? true set breed recovereds set heading random 360 set shape "person" set color green ] ] end ;;show the label of strategies that the turtles carry: violet=vaccinate; yellow= not vaccinate to show_label ask turtles [ if color = violet [ set label "V"] if color = yellow [ set label "NV"] ] end ;;assign the strategy for turtles to assign_strategy ask turtles [ if color = violet and vaccinate? = true [ set own_strategy "Vaccinate" set payoff_V (-1 * (risk_vaccination)) ] if color = yellow and fear? = true [ set own_strategy "Not_vaccinate" set payoff_NV (-1 * (risk_infection) * (1000) * count Infecteds) ] ] end to turtleown ask patches [ ifelse any? other turtles-here [ set turtle? 1 ] [ set turtle? 0 ] ] end ;;plot graph to doPlot set-current-plot "Population vs Time" set-current-plot-pen "Infected" plot (count infecteds * 500) end to find_% set population ((count susceptibles + count infecteds + count recovereds + count vaccinates + count fears) * 500) set feared_%_population (((fear_counter * 500)/ population) * 100) set vaccinator_%_population (((vaccinator_counter * 500) / (fear_counter * 500)) * 100) set precautions_%_population ((1 - ((vaccinator_counter * 500) / (fear_counter * 500))) * 100) set difference_vac_precautions (vaccinator_%_population - precautions_%_population) end to setup_parameters if (location = "Kuching" and disease = "Tuberculosis") [ set initial-susceptible 615665 / 500 set initial-fear 10 set initial-vaccinator 10 set transmission 0.023 set fear_infect-chance 0.023 * 0.7 set vaccine-duration 782 set recovery-rate 1 / 36 set imitation_rate 0.05 set risk_vaccination 0.05 set risk_infection 0.95 create-susceptibles initial-susceptible [ allocateSusceptibles set susceptible? true set infected? false set recovered? false set fear? false set vaccinate? false ] create-infecteds initial-infectious [ allocateInfected set susceptible? false set infected? true set recovered? false set fear? false set vaccinate? false ] create-fears initial-fear [ allocateFear set own_strategy "Not-vaccinate" set color yellow set susceptible? false set infected? false set recovered? false set fear? true set vaccinate? false ] create-vaccinates initial-vaccinator [ allocateVaccinator set own_strategy "Vaccinate" set susceptible? false set infected? false set recovered? false set fear? false set vaccinate? true ] ] if (location = "Limbang" and disease = "Tuberculosis") [ set initial-susceptible 48519 / 500 set initial-fear 10 set initial-vaccinator 10 set transmission 0.06 set fear_infect-chance 0.06 * 0.7 set vaccine-duration 782 set recovery-rate 1 / 36 set imitation_rate 0.01 set risk_vaccination 0.05 set risk_infection 0.95 create-susceptibles initial-susceptible [ allocateSusceptibles set susceptible? true set infected? false set recovered? false set fear? false set vaccinate? false ] create-infecteds initial-infectious [ allocateInfected set susceptible? false set infected? true set recovered? false set fear? false set vaccinate? false ] create-fears initial-fear [ allocateFear set own_strategy "Not-vaccinate" set color yellow set susceptible? false set infected? false set recovered? false set fear? true set vaccinate? false ] create-vaccinates initial-vaccinator [ allocateVaccinator set own_strategy "Vaccinate" set susceptible? false set infected? false set recovered? false set fear? false set vaccinate? true ] ] end to setup __clear-all-and-reset-ticks turtleown set max_infected initial-infectious setup_parameters show_label end to go turtleown show_label assign_strategy if ticks > 0[ move assign_status infect fear_influence fear_infect decision_vaccinate vac-sus recover set cur_infected (count infecteds * 500) if max_infected < cur_infected [ set max_infected cur_infected set time ticks ] ] doPlot tick end to stopping user-message (word "Simulation is terminated") stop end
There is only one version of this model, created over 10 years ago by Shian Li Teoh.
Attached files
| File | Type | Description | Last updated | |
|---|---|---|---|---|
| QuOVPro.png | preview | Preview for 'QuOVPro' | over 10 years ago, by Shian Li Teoh | Download |
This model does not have any ancestors.
This model does not have any descendants.
Download this model