Nurse

Many years ago I consulted with a faculty member in the UNC School of Nursing on an idea she was working on. She spoke passionately about a looming crisis related to nursing shortages.

She shared that the rate of new nurses entering the field has consistently undercut demand, not only locally but nationally.

And this was well ahead of the pandemic. Now nurses are burnt out and so labor shortages have only gotten worse.

Not only are there not enough nurses (Hoban (2021)), health systems are under financial strain due to the need for recruiting travel nurses (nurses who travel to work in temporary nursing positions, usually in hospitals).

It’s a great solution, but it comes with a price (literally). Travel nurses can make double their usual salary. For the record, I believe they deserve every penny.

Still, this does change the economics of healthcare delivery. Nursing compensation data is hard to find so instead, let’s explore nursing professionals across North Carolina.

North Carolina is a big state. The vast majority of our 100 counties are rural where patients face significant barriers to healthcare access. I pulled some data from the UNC Sheps Center to understand historical trends and current statewide landscape of nurses (The Cecil G. Sheps Center for Health Services Research (2022)).

Here is the most recent snapshot from 2021.

Nursing Professionals across North Carolina

Figure 1: Nursing Professionals across North Carolina

Note: Data indicates primary practice location.

Orange (UNC Health) and Durham (Duke Health) counties stand out as having a high concentration of nurses. This makes sense given they include two major academic medical centers, but also affiliated satellite outpatient practices nearby.

What also stands out are large regional areas with a minimal nursing workforce (particularly southeast). This data doesn’t give us any insight about healthcare facilities, but anecdotally healthcare providers I speak with often mention the long distances some patients need to travel for specialized care. It’s a significant burden.

This doesn’t tell us about trends over time. What’s happened in the last five years, pandemic included?

The Changing Nursing Landscape in North Carolina

Figure 2: The Changing Nursing Landscape in North Carolina

I was a bit shocked to see that Lee county has lost almost half it’s nurses since 2016. My initial assumption was that this reflected a hospital closing, but I couldn’t find any evidence of that. The city of Sanford, located in Lee county, has fallen on hard economic times. It’s possible that this data reflects a greater economic trend.

Swain county in western NC is another oddity. This county has seen a significant uptick (~20%), though it’s unclear why from this data. Cherokee and Bryson City are well known across the state, and also shares a border with TN which is close to Knoxville.

Final Thoughts

This data tells part of the story of how difficult it actually is to deliver healthcare across North Carolina. Having grown up in Massachusetts, a 30 minute drive was remarkable. Here, it’s hours. Healthcare delivery is hard enough without long distances.

In every healthcare encounter I’ve had, nurses have consistently been a bright light, in an otherwise anxious and stressful situation. Nurses embody the best in humanity—kindness, warmth and empathy, things people desperately need when they seek help.


Thank you to all the nurses out there.




Code

For those interested in the code.

# import libraries
library(tidyverse)
library(viridis)
library(janitor)
library(sf)
library(tmaptools)
library(maps)
library(ggpubr)
library(ggrepel)

# import Sheps data
nurses <- read_csv("source_data/NC_RegisteredNurse_Rate_per_10k_2000_2021.csv",
                     name_repair = make_clean_names)
# import NC shapefile
sf_nc <- sf::st_read(system.file("shape/nc.shp", package = "sf"), quiet = TRUE)

# get plot aspect ratio for pretty plot
plot_ratio <- tmaptools::get_asp_ratio(sf_nc)

# merge shapefile and nursing data
nurses_county <- sf_nc |>
  full_join(nurses, 
            by = c("NAME" = "county"))

# 2021 plot
plot_2021 <- nurses_county |> 
  ggplot(aes(fill = x2021, color = x2021)) +
  geom_sf() +
    ggrepel::geom_label_repel(
    data = nurses_county[c(0, 29:30), ],
    aes(label = NAME, geometry = geometry),
    stat = "sf_coordinates",
    min.segment.length = 0,
    colour = "darkblue",
    segment.colour = "white",
    label.size = 0.1,
    size = 5,
    inherit.aes = FALSE) +
  scale_fill_viridis(limits = c(0,275), direction = -1, option="magma") + 
  scale_color_viridis(limits = c(0,275), direction = -1, option="magma") +
  theme_classic() +
  theme(axis.text.y = element_blank(), 
        axis.title.y = element_blank(), 
        axis.text.x = element_blank(), 
        axis.title.x = element_blank(),
        axis.line = element_blank(),
        axis.ticks = element_blank(),
        legend.position="right") +
  labs(title = "Nursing Professionals in North Carolina",
       subtitle = "Registered Nurses by County (2021)", 
       caption = "Data Source: UNC Sheps Center, nchealthworkforce.unc.edu",
       color = "Nurses per\n10K population",
       fill = "Nurses per\n10K population")

# plot percent change 2016 - 2021
plot_change <- nurses_county |>
  mutate(percent_change = ((x2021 - x2016) / x2021) * 100) |>
  select(NAME, x2016, x2021, percent_change, geometry) |>
  ggplot(aes(fill = percent_change, color = percent_change)) +
  geom_sf() +
  ggrepel::geom_label_repel(
    data = nurses_county[c(0, 58,60), ],
    aes(label = NAME, geometry = geometry),
    stat = "sf_coordinates",
    min.segment.length = 0,
    colour = "black",
    segment.colour = "black",
    label.size = 0.1,
    size = 5,
    inherit.aes = FALSE) +
  scale_fill_viridis(direction = -1) +
  scale_color_viridis(direction = -1) +
  theme_classic() +
  theme(
    axis.text.y = element_blank(),
    axis.title.y = element_blank(),
    axis.text.x = element_blank(),
    axis.title.x = element_blank(),
    axis.line = element_blank(),
    axis.ticks = element_blank(),
    legend.position = "right"
  ) +
  labs(
    title = "The Changing Nursing Landscape in North Carolina",
    subtitle = "Registered Nurses by County (2016 - 2021)",
    caption = "Data Source: UNC Sheps Center, nchealthworkforce.unc.edu",
    color = "Percent Change\nNurses per 10K",
    fill = "Percent Change\nNurses per 10K"
  )

Sources

Hoban, Rose. 2021. “Within a Decade, NC Could Be Short More Than 21,000 Nurses.” https://www.northcarolinahealthnews.org/2022/03/02/within-a-decade-nc-could-see-nursing-shortage-of-more-than-21000/. https://www.northcarolinahealthnews.org/2022/03/02/within-a-decade-nc-could-see-nursing-shortage-of-more-than-21000/.

The Cecil G. Sheps Center for Health Services Research. 2022. “North Carolina Health Professions Data System.” https://nchealthworkforce.unc.edu/downloaddata/.