Mapping Seasonal Flu Vaccine Providers in NYC

Lab Reports, Maps, Visualization

Pubic health is highly dependent on maps as the locations of health conditions can provide insight into their causes. This is particularly true of infectious diseases, as was evidenced in the landmark London Cholera outbreak map from 1854 by Dr. John Snow that allowed him to discover the source of the outbreak at several water pumps. 

Mapping of London Cholera outbreak by Dr. John Snow, 1854.

My initial idea was to map the current measles outbreak in New York City, however the data is so new and the outbreak is relatively small from a data perspective (although alarmingly big for measles). I was able to find flu data but it was grouped only by borough and not mapped by address, which would only be useful on a larger area scale.

I was, however, able to find data on non-hospital locations that provide the flu vaccine, largely pharmacies and clinics, from NYC Open Data:

My plan was to import it into Carto, an online mapping platform that allows you to import data with mapping coordinates and other data to create a geographic information system. 

The dataset appeared to be pretty clean and straightforward until I tried to import it into Carto.  I tried 10 different versions, including different filetypes and different ways of importing them, and they would not populate in Carto. Frustratingly Carto couldn’t tell me what kind of error it was encountering so I didn’t know what to fix. Finally I deleted all data that was not directly needed for my map in Open Refine and this version worked. I was able to aggregate the locations as datapoints on a standard Voyager basemap to easily create this map of locations.

Clearly there are a high concentration pharmacies in Manhattan, but my Professor recommended that I add another dataset to reflect official United Health Fund areas that draw zip code based boundaries for 42 neighborhoods to use in adding further analysis to the locations. 

I found this sample of a use of the areas and how it is used to show the rates flu vaccinations. 

I would have loved to have used this data in my map – to see whether there was a spatial relationship between flu clinics and people who are vaccinated. However, I was unable to find current data of NYC flu occurrences in the population – either flu deaths, flu vaccinations, or reports of illness- that as broken down by UHF neighborhoods. The greatest detail I could find was by county which would likely not reveal anything in relation to flu clinics. In fact I could not find any UHF dataset that successfully imported into Carto. In the end my professor sent me a version of the UFH neighborhoods that he had already had in his Carto library.

With this I was able to use the UHF neighborhoods to show the prevalence of locations per neighborhood as a color gradation.

I then used widgets to isolate other datapoints.

First I wanted to see which locations vaccinated children and which didn’t. I used the widget feature to create color differences between the two.

I found the relationship between the legend and the widgets unclear and frustrating.  I think it would be better if I was able to integrate the two into a single list and remove or add things individually. Above you can see that the color for all vaccination locations is represented in the legend in green, but as I am using the widget to color those dots gray and white based on child vaccinations the legend is confusing.  My only option would be to delete the legend entirely but then I would lose the UHF information.

Further isolating the kids vaccination locations shows just how few and far apart those clinics are compared to the total number. The difference is starkest in neighborhoods with a high concentration of clinics such as downtown Manhattan. However, I actually think this is not an indicator of a lack of vaccine access for children but more likely a lack of health insurance and primary care for adults – thus the need to go to a Duane Reade for your healthcare.  It would be interesting to map healthcare coverage against the use of flu clinics.

I wanted to isolate clinics by health insurance coverage but as all 885 locations take some sort of insurance that’s not very helpful.  However, the pharmacy/clinic names are in the data.  Again, seeing all of the locations at this scale is a mess, but the widget provides a simple bar chart with location counts that I find useful. 

The points work better when focused on a specific neighborhood.

If a person knew which pharmacies and clinics took their specific insurance they could select by the name in the widget and wee all of them that way. However, this probably works best with the bigger chain stores rather than local pharmacies. 

Finally, I added specific location info as a pop up when you click on any location.

Overall I can see why mapping is such a powerful and useful tool in public health. Not only could it inform on how and when certain illnesses are spreading, but merging public health data into standard public maps like Google maps could help you to find specific services or specific insurance coverage and view it spacially rather than as just a list.