Profiling hospitals based on psychiatric readmission rates

Kenneth Nieser

This vignette includes an example of hospital profiling based on a measure of thirty-day all-cause unplanned readmission following psychiatric hospitalization in an inpatient psychiatric facility (IPF Readmission). This claims-based measure is reported by hospitals to CMS as part of the Inpatient Psychiatric Facility Quality Reporting Program.

library(QualityMeasure)

First, we’ll load the dataset included with the QualityMeasure package.

df <- psychreadmission
knitr::kable(head(df), 'simple')
entity category n rate rate.lwr rate.upr
1 10011 No Different Than the National Rate 138 23.7 18.5 30.0
2 10012 No Different Than the National Rate 145 16.0 11.8 21.2
3 10016 No Different Than the National Rate 85 21.0 15.8 27.2
5 10023 No Different Than the National Rate 104 20.5 15.9 26.1
6 10033 No Different Than the National Rate 207 21.5 17.6 26.1
7 10034 No Different Than the National Rate 49 20.9 14.5 29.0

Next, we will plot the risk-standardized readmission rates (RSRR) with corresponding confidence intervals and a dashed, red line to indicate the national average rate.

marg.p = sum(df$n * df$rate) / (sum(df$n)) / 100

df$rank = rank(df$rate, ties.method = 'random')

profile.fig <- ggplot(data = df, aes(x = rank, y = rate)) +
  geom_point(color = 'black') +
  geom_errorbar(aes(ymin = rate.lwr, ymax = rate.upr), width = 0.1) +
  geom_hline(yintercept = marg.p * 100, col = 'red', lty = 'dashed', linewidth = 1.2, alpha = 0.7) +
  xlab('Hospital Rank') +
  ylab('Readmission Rate (%)') +
  theme_classic() +
  theme(
    axis.text = element_text(size = 16),
    axis.ticks.length = unit(.25, 'cm'),
    axis.title = element_text(size = 18, face = 'bold')
  )
profile.fig


We can also examine the number of hospitals with rates that are below average, above average, and no different from average.

knitr::kable(table(df$category), 'simple', col.names = c('Category', 'Count'))
Category Count
Better Than the National Rate 43
No Different Than the National Rate 1091
Worse Than the National Rate 90