State borders affect more than abortion access:

for Smithies new to carrying Narcan, know your legal protections at the scene of an overdose state by state

news
code
analysis
opioids
narcan
Author

Mars Ikeda

Published

February 16, 2023

Having to make the choice between saving someone else’s life and protecting your own can seem an impossible task, one better debated in a Smith philosophy class than taken on by a student partying at UMass after a couple of beers. For people who choose to carry the life-saving drug Narcan (Naloxone HCI) — which can save the life of someone overdosing on opioids — it’s a choice with long-term consequences. And Narcan carriers may not realize it’s one they could have to make in a split second at the scene of an overdose until it happens. If you carry Narcan, knowing your legal protection wherever you happen to travel could be the difference between life or death for someone.

In the United States, 911 Good Samaritan Laws (911 GSLs) were designed to encourage people to call 911 if they suspect someone is overdosing. These laws have become especially relevant during America’s opioid crisis and the appearance of the opioid fentanyl in the drug supply. 911 GSLs lay out who at an overdose scene can be protected from civil liability if they are found to be carrying illegal substances or paraphernalia by first responders to the scene of an overdose crisis. Massachusetts passed their 911 GSL in 2012.

However, these laws and who they protect vary state to state. If the person administering Narcan is at the scene of an overdose and they, the person reporting the overdose, the person overdosing or a bystander are also carrying anything illegal, knowledge of the local 911 GSLs could be the difference between whether or not someone calls 911 as well as whether someone staying with someone overdosing or abandons them. Someone who knows the applicable 911 GSLs is three times more likely to call 911 than someone with incorrect knowledge of the local laws, according to a longitudinal study by the NYC Department of Health and Mental Hygiene in 2018.

At a recent Narcan training at Smith College on Feb. 2, 2023, students were advised by two educators from Tapestry Health on Massachusetts 911 GSLs. Narcan was also distributed for free at the end of the training. However, college students frequently travel to visit friends and family, for medical services, vacations, internships, and study abroad. Depending on the mode of travel, they cross state lines multiple times or stay overnight in a state en route. Needing to use Narcan can happen suddenly and unexpectedly anywhere, so knowing the 911 GSLs of not just your destination but the places you’re traveling through could save a life in the same way carrying and being educated on the use of Narcan does.

Below is a visual showing the United States’ 911 GSL’s and who they cover at the scene of an overdose in 48 of the 50 United States as well as the District of Columbia according to the 911 Good Samaritan Law Inventory published in November 2022 by the University of Texas Health Science Center at Houston. Kansas and Wyoming do not have 911 GSLs.

Code
# libraries needed
library(dplyr)
library(ggplot2)
library(reshape2)
library(tidyverse)
Code
# turn .csv file from the web into a readable dataframe
gsl_df <- read_csv ("https://data.mendeley.com/public-files/datasets/r65b6hrdhm/files/e1f4c2da-e667-4e8b-a78f-cdcd31f4d876/file_downloaded")
#make plot of states with GSL as of 2022

#filter rows of states that have a GSL as of 2022 by doing a filter for greater than or equal to 2022 in the "Valid Through Date" column)
gsl_df_valid2022 <-gsl_df |>
  filter("Valid Through Date" >= 2022) |>
  #filter for states where gsl_present column value == "1" for Yes according to Codebook
  filter(gsl_present == "1")
Code
#select only needed columns
gsl_df_valid2022_cleaned1 <- select(gsl_df_valid2022, (0:9))

#Coercing row values to characters (i.e., "." value to "2" for heatmap visualization) and then to numeric.

#convert "." values in "protection_other_circumstances_Administering.Naloxone" column and "persons_protected_Other.Persons.at.the.Scene.Not.Assisting" column to character vector 3. Will convert to numeric in next step.
gsl_df_valid2022_cleaned1$"protection_other_circumstances_Administering Naloxone"[gsl_df_valid2022_cleaned1$"protection_other_circumstances_Administering Naloxone" == "."] <- 2

gsl_df_valid2022_cleaned1$"persons_protected_Other Persons at the Scene Not Assisting"[gsl_df_valid2022_cleaned1$"persons_protected_Other Persons at the Scene Not Assisting" == "."] <- 2

#Convert relevant (people and others at scene columns) column's row values to numeric
gsl_df_valid2022_cleaned1$"persons_protected_Person Reporting Overdose" <- as.numeric(gsl_df_valid2022_cleaned1$"persons_protected_Person Reporting Overdose")

gsl_df_valid2022_cleaned1$"persons_protected_Person Experiencing Overdose" <- as.numeric(gsl_df_valid2022_cleaned1$"persons_protected_Person Experiencing Overdose")

gsl_df_valid2022_cleaned1$"persons_protected_Person Self-Reporting Overdose" <- as.numeric(gsl_df_valid2022_cleaned1$"persons_protected_Person Self-Reporting Overdose")

gsl_df_valid2022_cleaned1$"persons_protected_Other Persons at the Scene Not Assisting" <- as.numeric(gsl_df_valid2022_cleaned1$"persons_protected_Other Persons at the Scene Not Assisting")

gsl_df_valid2022_cleaned1$"protection_other_circumstances_Administering Naloxone" <- as.numeric(gsl_df_valid2022_cleaned1$"protection_other_circumstances_Administering Naloxone")

#removing rows for heatmap visualization
gsl_df_valid2022_cleaned3 <- select(gsl_df_valid2022_cleaned1, -c("Effective Date", "Valid Through Date", gsl_present))

#change column names for heatmap visualization
gsl_df_valid2022_cleaned3 <- gsl_df_valid2022_cleaned3|>
  rename("Reporting Overdose" = "persons_protected_Person Reporting Overdose")

gsl_df_valid2022_cleaned3 <- gsl_df_valid2022_cleaned3|>
  rename ("Experiencing Overdose" = "persons_protected_Person Experiencing Overdose")

gsl_df_valid2022_cleaned3 <- gsl_df_valid2022_cleaned3|>
  rename ("Self-Reporting Overdose" = "persons_protected_Person Self-Reporting Overdose")

gsl_df_valid2022_cleaned3 <- gsl_df_valid2022_cleaned3|>
  rename ("At Scene But Not Assisting" = "persons_protected_Other Persons at the Scene Not Assisting")

gsl_df_valid2022_cleaned3 <- gsl_df_valid2022_cleaned3|>
  rename ("At Scene And Administering Narcan" = "protection_other_circumstances_Administering Naloxone")

# Source: https://www.geeksforgeeks.org/create-heatmap-in-r-using-ggplot2/

#Melting/mutating cleaned data frame for heatmap visualization.
data_melt <- pivot_longer(gsl_df_valid2022_cleaned3, cols = (c("Reporting Overdose", "Experiencing Overdose", "Self-Reporting Overdose", "At Scene But Not Assisting", "At Scene And Administering Narcan")))

#Converting data_melt "value" column to numeric
data_melt$value <- as.numeric(data_melt$value)

#Changing two column names in data_melt so they don't throw errors with common names (add _dm to orginal names)
data_melt2 <- data_melt |>
  rename(value_dm = value)

data_melt2 <- data_melt2 |>
  rename(People = name)
Code
#manually order legend values
data_melt2$value_dm <- factor(data_melt2$value_dm, levels = c("1", "0", "2"))

#Arrange jurisdictions (States in USA) to show alphabetically A-Z.
#Source: https://forcats.tidyverse.org/reference/fct_rev.html

#Line wrap x-axis labels
#Source: https://datavizpyr.com/how-to-wrap-long-axis-tick-labels-into-multiple-lines-in-ggplot2/

#Get x-axis to show in a specific order with correct colors.
#Source: https://stackoverflow.com/questions/12774210/how-do-you-specifically-order-ggplot2-x-axis-instead-of-alphabetical-order

data_melt2$People <- as.character(data_melt2$People)

data_melt2$People <- factor(data_melt2$People, levels = c("Reporting Overdose", "Experiencing Overdose", "Self-Reporting Overdose", "At Scene But Not Assisting", "At Scene And Administering Narcan"))

ggplot(data_melt2, aes(x = People,
                       y = fct_rev(jurisdictions),
                       fill = as.factor(value_dm))) +
          geom_tile() +
  theme(legend.position = "top",
        legend.direction = "vertical"
        ) +
  guides(fill = guide_legend(title = "")) +
  scale_discrete_manual(aes = c("color", "fill"),
                        values = c( "#1b9e77", "#d95f02", "grey50"),
                        breaks = c("1", "0", "2"),
                        labels = c("Protected", "Not Protected", "Not Applicable")
                        ) +
  labs(x = "", y = "", caption = "https://data.mendeley.com/datasets/r65b6hrdhm/2") +
  scale_x_discrete(position = "top", labels = function(x) stringr::str_wrap(x, width = 10)) +
  ggtitle("Who has legal protections at an overdose scene?", 
          subtitle = "in states with Good Samaritan Laws (2022)")

All 48 states with GSLs and Washington, D.C. protect the person reporting the overdose. People at the scene but not assisting the person overdosing are not covered by any state’s GSLs. The person experiencing the overdose is not protected in Alabama, Alaska, Indiana, New Jersey, Oklahoma, South Dakota, and Wisconsin.

Where the value “Not Applicable” is shown, explicit laws for or prohibiting the protection of the person administering Narcan at the scene of an overdose who is not also reporting the overdose are not legally explicit.

There are other exceptions to these protections if the person in question has a warrant out, is distributing drugs, or is in the presence of non-prescription oxycodone, fentanyl, or heroin.

If a person decides they absolutely cannot stay with someone overdosing before the overdosing person starts breathing or until trained help arrives after calling 911, it is recommended that they leave the person overdosing in a recovery position. The recovery position involves rolling the person who can’t breathe onto their left side to prevent the aspiration of vomit.