Introduction

This site houses visualizations of medical incident reports by the San Francisco Fire Department.

We used a subset of a collective report released by SF OpenData entitled "Fire Department Calls for Service, December 2016." The report, one big csv file, features multiple statistics from the San Francisco Fire Department in December 2016.

We chose to focus on different aspects of medical events in our visualizations. So, to wrangle the data, we decided to only keep rows that were medical incidents under call type. On top of this, we decided to add a new row named Response Time in Minutes, derived from the difference of the dispatch date time and the on scene date time columns.

In order to trim down the data, we dropped several columns: Call_Number, Unit_ID, Incident_Number, Address, City, ALS_Unit, Location, and RowID. In total, we dropped roughly 4.5 megabytes worth of data from the original 10.9 MB to our used subset of roughly 6.3 MB. The cut dataset has 18,923 rows and 27 columns, such as "Call_Type","Call_Date","Supervisor_District","Neighborhood_District" and more.

D3 Visualizations

a. Incidents by District w/ Avg. Response Time

This first visualization plots neighborhood district by the number of incidents. It is colored by Average Response Time. The darker the bar, the higher the response time. What is interesting is that there doesn’t seem to be a correlation between the number of incidents in a district and its average response time. For example, the Excelsior district, the district with the lowest amount of incidents, has the highest average response time, while the Tenderloin, the district with the most incidents, has a response time that is around the middle of the pack. I’ve changed the visualization from its prototype by ordering the bars from lowest to highest so the counts are easier to compare.

b. Incidents by Priority by District

This visualization is similar to the above bar graph. The axes are the same: neighborhood district and count of incidents. However, the coloring shows not the average time, but the proportion of each bar that a particular priority takes up. Orange shows priorities A and E, light blue shows priority 3, and dark blue shows priority 2. From this graph, we can see that in all districts, priority 2 and 3 incidents far outstrip those of A and E. In all the districts, the proportions of each priority are also roughly the same across all the districts. There are a large amount of events that are priority 3, slightly less for priority 2, and then a minute amount for A and E. This visualization underwent multiple changes. This visualization was changed from a heatmap to make it easier to compare both the amount of incidents that occurred in each district, as well as the numbers of each priority. Because the number of incidents that were of priority A and E were so low, they were grouped to make it easier for users to interpret the visualization.

c. Incidents per Day of the Week

This multi-series line chart plots total number of incidents per day of the week, with each line representing one of the 5 weeks of December 2016. You can see which week each color corresponds to using the label on the right-hand side of each line.

I made this visualization to try and find a trend as each week went by, thinking perhaps there would obviously be a higher number of incidents on the weekends when people are out partying or bar hopping. However, if you look at the columns for Sunday and Monday, days 1 and 2, you can see that there are always more medical incidents on Mondays than the previous Sunday.

That’s really the only definite trend that you can make out from this graph. You could perhaps note that there is in increase between Thursdays and Fridays in 4 of the 5 weeks, which would go back to my theory that the weekends offer more opportunities for incidents to happen.

Also, in case you were curious, Christmas eve is the last day of the red line, week 4, and the beginning of the the purple line, week 5. The actual Christmas day held the lowest recorded incidents in all of December.

d. Incidents by Type Group

This pie chart shows the three types of medical incident reports: alarm, potentially life-threatening, and non life-threatening. In case you didn’t know, alarm refers to when an alert is received through use of a medical device such as a pendant worn around the neck, or a special wristband, or it could also be some motion detectors installed in a home.

There’s not much thinking needed to figure out this chart. You can see that there were over twice as many “potentially life-threatening” as “non life-threatening” incidents, quite an alarming fact. On the other hand, thankfully there are only 11 alarm calls. I went ahead and added a legend both to make it feel less “empty,” but also so that people would be able to immediately recognize that there are 3 categories. Without the legend, the slice for “alarm” typed incidents is not as easy to recognize as there. I didn’t want to mess with the D3 to make it bigger for visibility, because that would be presenting false data.

e. Incidents by End Result w/ Avg. Response Time

This scatter plot represents the datafields: Call Final Disposition, Number of Records, and Average Response Time. On the y-axis we have the number of records of each end result (Call Final Disposition). On the x-axis we have their average response time in minutes. The color represents the different type of results. Lastly we the priority represented by the circle size.

For my visualizations, I decided to put an emphasis on "Call Final Disposition" in order to gain insight on the thousands of calls that occur throughout a monthly basis. An interesting thing we see is that there is a gap between the data clusters. Code 3 Transport, No Merit, and Declined Transport occurs almost twice as much as the other events. How is this information important? Well, the fire station does not provide transportation... so having resources allocated to these calls may have been useful elsewhere in the city.

f. Incidents by District w/ Avg. Response Time

The purpose of this simple graph is to further investigate the frequent end result of "Code 3 Transport" (Transportation to Hospital). I made the decision to only include neighborhoods where "Number of Records" exceed 30, in order to focus on neighborhoods where the Firestation's resource may be compromised the most.

From this visualization, we see that highly populated areas receive the most need for medical transportation, rather than fire service itself. Another trend in this bar graph shows that East San Francisco falls under the majority, which is also the hardest to navigate.