Health Disparities #5: Combined Effects
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
Health Disparities Model #5: Combined Effects
This model combines the effects of health care disparities in Model #3 and of the interaction of environment & segregatio in Model #4 to approximate the real DC most closely. Functionally, it is the default Model #4 with larger doctor office benefits for Pinks & smaller doctor office benefits for Browns.
HOW IT WORKS
Environment: The red line divides the West & East sides of the map. Major parks (green) & highways (black) are mapped. US Census Bureau 2010 ZIP Code Business Patterns data are used to calculate the number of doctor offices (excluding mental health specialists), fitness centers, & supermarkets (grocery stores with 5+ employees) per 2,500 population on each side & plotted randomly on each side as doctor, bike, & building icons. Superfund sites are plotted randomly on each side as cow skulls.
People: Each turn, people move, reproduce, get sick, and recover (if sick) randomly. Moving on parks & highways, within 5 spaces of supermarkets & fitness centers, or within 2 spaces of doctor offices & superfund sites can affect health. To maintain the racial maldistribution of people between the East & West sides, half of new people born in the West are Pink and half are Brown while 15% of new people born in the East are Pink and 85% are Brown. When people get sick, they turn green, and when health reaches 0, they turn into ghosts which do not move.
Counters: These count the total # of people, # of sick people, % of people who are sick, # of dead people, & % of people who have died on each side (West & East) and of each race (Pink & Brown). The model stops if all people become ghosts or > 100 ghosts accrue on the map.
HOW TO USE IT
The starting # of Pink people, # of Brown people, rate of reproduction, rate of people getting sick, & rate of sick people recovering spontaneously can be set with the sliders on the left. The health effects of supermarkets, fitness centers, parks, superfund sites, highways, & doctor offices can be set positively or negatively with sliders on the right.
THINGS TO NOTICE
The default model distributes Pinks & Browns in the West & East sides to mirror the distribution of Non-Hispanic Whites & Minorities in the 2010 Census. The default model gives positive health effects to parks, supermarkets, fitness centers, & doctor offices & negative effects to highways & superfund site. The default model gives larger doctor office benefits to Pinks & smaller doctor office benefits to Browns to illustrate the effects of disparities in access to health care & qualtiy of health care received.
Which side has the healthier environment?
How are Pinks & Browns affected differently by the environment?
How does this affect the # of sick people & # of ghosts?
Do sick people & ghosts cluster is certain places? Why?
THINGS TO TRY
Play with the sliders.
What happens if the effects of environment are increased? Decreased?
What happens if the probability of sickness is increased? Decreased?
What happens if the difference in doctor office benefits between Pinks & Browns is increased? Decreased?
What happens if the starting number of Pinks & Browns is changed?
EXTENDING THE MODEL
Do you have 2 adjacent communities that you want to compare? Install NetLogo & edit the code to suit.
Under setup, map parks & highways as green & black patches.
Under setup-world, the numbers on the create- lines indicate the number of a specific item to map. ('Create-stores 3' means create 3 stores.) Edit these numbers to reflect the relative resources in your 2 communities. Also note that 'setxy random 20 random-pycor' places an item randomly on the East/Right side of the red line while 'setxy random -20 random-pycor' places an item randomly on the West/Left side.
The code to control the distribution of Pinks & Browns between the West & East sides look like this. Modify the "< N" to change the distributions. if left? and random-float 100 < 50 [set color 36 set pink? false set brown? true] if right? and random-float 100 < 85 [set color 36 set pink? false set brown? true]
CREDITS AND REFERENCES
Census data from US Census Bureau Amerian FactFinder (http://factfinder2.census.gov/faces/nav/jsf/pages/index.xhtml).
Superfund site locations from US Environmental Protection Agency (http://www.epa.gov/superfund/sites/).
Model by emoyusa@verizon.net
Comments and Questions
globals [ ltotal rtotal nlsick nrsick nldead nrdead lrsick rrsick ptotal btotal npsick nbsick npdead nbdead prsick brsick lrdead rrdead prdead brdead ] breed [people person] breed [stores store] breed [parks park] breed [dumps dump] breed [ghosts ghost] breed [fits fit] breed [docs doc] turtles-own [ sick? dead? left? right? lsick? rsick? ldead? rdead? pink? brown? psick? bsick? pdead? bdead? health ] to setup __clear-all-and-reset-ticks ask patches [set pcolor 3 if pxcor = 0 [set pcolor red] if pycor = -20 and pxcor < 0 [set pcolor green] if pxcor = 2 and pycor < -10 [set pcolor black] if pycor = pxcor - 13 and pxcor > 3 [set pcolor black] if pycor = pxcor - 12 and pxcor > 3 [set pcolor black] if pycor + pxcor = -6 and pxcor > 3 [set pcolor black] if pycor + pxcor = -7 and pxcor > 3 [set pcolor black] if pycor = -10 and pxcor > -2 and pxcor < 4 [set pcolor black] if pxcor = -2 and pycor > -12 and pycor < -6 [set pcolor black] if pycor = pxcor - 9 and pxcor < -2 [set pcolor black] if pycor = pxcor - 8 and pxcor < -2 [set pcolor black] if pycor = pxcor - 11 and pxcor > 1 [set pcolor green] if pycor = pxcor - 10 and pxcor > 10 [set pcolor green] if pxcor = 15 and pycor = -10 [set pcolor green] if pxcor = 16 and pycor = -10 [set pcolor green] if pxcor = 15 and pycor = -9 [set pcolor green] if pxcor = 16 and pycor = -9 [set pcolor green] if pxcor = 17 and pycor = -10 [set pcolor green] if pxcor = -10 and pycor > 10 [set pcolor green] if pxcor = -11 and pycor > 10 [set pcolor green] if pxcor = -9 and pycor > 10 [set pcolor green] ] setup-world end to setup-world set-default-shape people "person" set-default-shape stores "building store" set-default-shape dumps "cow skull" set-default-shape fits "bike" set-default-shape docs "person doctor" create-stores 3 [setxy random 20 random-pycor set size 3 set color yellow] create-stores 6 [setxy random -20 random-pycor set size 3 set color yellow] create-dumps 3 [setxy random 20 random-pycor set size 1 set color white] create-dumps 2 [setxy random -20 random-pycor set size 1 set color white] create-fits 1 [setxy random 20 random-pycor set size 2 set color 125] create-fits 7 [setxy random -20 random-pycor set size 2 set color 125] create-docs 18 [setxy random 20 random-pycor set size 1.5 set color white] create-docs 39 [setxy random -20 random-pycor set size 1.5 set color white] create-some-people end to create-some-people create-people npinkpeople [ setxy random-pxcor random-pycor set color pink set size 1.5 set heading 90 * random 4 set sick? false set dead? false set lsick? false set ldead? false set rsick? false set rdead? false set pink? true set brown? false set psick? false set bsick? false set pdead? false set bdead? false set health 100 if xcor < 0 [set left? true set right? false] if xcor > 0 [set right? true set left? false] if xcor = 0 [set left? false set right? false] if left? and random-float 100 < 50 [set color 36 set pink? false set brown? true] if right? and random-float 100 < 85 [set color 36 set pink? false set brown? true] ] create-people nbrownpeople [ setxy random-pxcor random-pycor set color 36 set size 1.5 set heading 90 * random 4 set sick? false set dead? false set lsick? false set ldead? false set rsick? false set rdead? false set pink? false set brown? true set psick? false set bsick? false set pdead? false set bdead? false set health 100 if xcor < 0 [set left? true set right? false] if xcor > 0 [set right? true set left? false] if xcor = 0 [set left? false set right? false] if left? and random-float 100 < 50 [set color pink set brown? false set pink? true] if right? and random-float 100 < 15 [set color pink set brown? false set pink? true] ] end to go if not any? people [ stop ] if (nldead + nrdead) > 100 [stop] people-wander tick ;;do-plot end to people-wander ask people [ if health < 0 [set shape "ghost" set size 1] if health > 0 [rt 90 * random 4 fd 1] if health < 100 and health > 0 and random-float 100 < precover [set health 100] if health > 0 and random-float 100 < preproduce and left? [hatch 1 [ set sick? false set dead? false set lsick? false set ldead? false set rsick? false set rdead? false set pink? true set brown? false set psick? false set bsick? false set pdead? false set bdead? false set health 100 if random-float 100 < 50 [set color 36 set brown? true set pink? false] ]] if health > 0 and random-float 100 < preproduce and right? [hatch 1 [ set sick? false set dead? false set lsick? false set ldead? false set rsick? false set rdead? false set pink? false set brown? true set psick? false set bsick? false set pdead? false set bdead? false set health 100 if random-float 100 < 15 [set color pink set pink? true set brown? false] ]] if health > 0 and random-float 100 < psick [set health (health - random-float 100)] let storecare one-of stores in-radius 5 if storecare != nobody and health > 0 and health < 150 [set health (health + health-from-market)] let fitcare one-of fits in-radius 5 if fitcare != nobody and health > 0 and health < 150 [set health (health + health-from-fitness )] let doccare one-of docs in-radius 2 if doccare != nobody and health > 0 and health < 150 and pink? [set health (health + pink-health-from-doctor)] if doccare != nobody and health > 0 and health < 150 and brown? [set health (health + brown-health-from-doctor)] let dumpcare one-of dumps in-radius 2 if dumpcare != nobody and health > 0 and health < 150 [set health (health + health-from-superfund)] if pcolor = green and health > 0 and health < 150 [set health (health + health-from-park)] if pcolor = black and health > 0 and health < 150 [set health (health + health-from-highway)] check-sick ] end to check-sick if health >= 100 and pink? [set sick? false set dead? false set lsick? false set rsick? false set ldead? false set rdead? false set psick? false set bsick? false set pdead? false set bdead? false set color pink] if health >= 100 and brown? [set sick? false set dead? false set lsick? false set rsick? false set ldead? false set rdead? false set psick? false set bsick? false set pdead? false set bdead? false set color 36] if health > 0 and health < 100 [set sick? true set dead? false set color lime] if health < 0 [set dead? true set sick? false set lsick? false set rsick? false set psick? false set bsick? false set color white] if xcor < 0 [set left? true set right? false] if xcor > 0 [set right? true set left? false] if xcor = 0 [set left? false set right? false] if left? and sick? [set lsick? true set ldead? false] if right? and sick? [set rsick? true set rdead? false] if left? and dead? [set ldead? true set lsick? false set rsick? false set left? false set right? false] if right? and dead? [set rdead? true set rsick? false set lsick? false set left? false set right? false] if pink? and sick? [set psick? true set pdead? false] if brown? and sick? [set bsick? true set bdead? false] if pink? and dead? [set pdead? true set psick? false set bsick? false set pink? false set brown? false] if brown? and dead? [set bdead? true set bsick? false set psick? false set pink? false set brown? false] set ltotal count people with [left?] set nlsick count people with [lsick?] set nldead count people with [ldead?] set rtotal count people with [right?] set nrsick count people with [rsick?] set nrdead count people with [rdead?] set lrsick nlsick / ltotal * 100 set rrsick nrsick / rtotal * 100 set ptotal count people with [pink?] set npsick count people with [psick?] set npdead count people with [pdead?] set btotal count people with [brown?] set nbsick count people with [bsick?] set nbdead count people with [bdead?] set prsick npsick / ptotal * 100 set brsick nbsick / btotal * 100 set lrdead nldead / (nldead + ltotal) * 100 set rrdead nrdead / (nrdead + rtotal) * 100 set prdead npdead / (npdead + ptotal) * 100 set brdead nbdead / (nbdead + btotal) * 100 end
There are 2 versions of this model.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Health Disparities #5: Combined Effects.png | preview | Preview for 'Health Disparities #5: Combined Effects' | over 11 years ago, by Ernest Moy | Download |
This model does not have any ancestors.
This model does not have any descendants.