This is a look at HHS’ COVID-19 data on pediatric hospital admissions using prior day hospital admissions as reported daily. This page reflects the data as released April 24 2021, and covers daily reported numbers through April 23.
The raw HHS file “provides state-aggregated data for hospital utilization in a timeseries format dating back to January 1, 2020. These are derived from reports with facility-level granularity across three main sources: (1) HHS TeleTracking, (2) reporting provided directly to HHS Protect by state/territorial health departments on behalf of their healthcare facilities” (and a third collection method used prior to July 2020). The file can be downloaded here.
# Libraries library(ggplot2) library(tidyverse)
## ── Attaching packages ────────────────────────────────────────────────────────────────────────────────────────────────────── tidyverse 1.3.0 ──
## ✔ tibble 3.1.0 ✔ dplyr 1.0.2 ## ✔ tidyr 1.1.2 ✔ stringr 1.4.0 ## ✔ readr 1.4.0 ✔ forcats 0.5.0 ## ✔ purrr 0.3.4
## ── Conflicts ───────────────────────────────────────────────────────────────────────────────────────────────────────── tidyverse_conflicts() ── ## ✖ dplyr::filter() masks stats::filter() ## ✖ dplyr::lag() masks stats::lag()
# setwd("/Users/jacob/github-whitelabel/covid-kids/juvenile_covid_analysis/hhs/") file = "0430_Timeseries.csv" hospdf <- read.csv(file, header=TRUE, sep=",") hospdf$dateob = as.Date(hospdf$date) # Sum total adult COVID: confirmed + suspected hospdf$total_adult = hospdf$previous_day_admission_adult_covid_confirmed + hospdf$previous_day_admission_adult_covid_suspected # Sum total pediatric COVID: confirmed + suspected hospdf$total_ped = hospdf$previous_day_admission_pediatric_covid_confirmed + hospdf$previous_day_admission_pediatric_covid_suspected
Here’s what this data shows when we remove non-U.S. states (VI and PR) as well as Oregon and Washington (which have data issues, see data validation below). Prior to November a sizable number of hospitals were not reporting, so we’ve focused on the greatest time period with a relatively stable number of reporting hospitals.
hosp <- hospdf %>% filter (!state %in% c("OR","WA", "PR", "VI")) %>% group_by (dateob) %>% summarise(all_ped = sum(total_ped), all_adult=sum(total_adult), all_ped_conf = sum(previous_day_admission_pediatric_covid_confirmed), all_adult_conf =sum(previous_day_admission_adult_covid_confirmed)) hosp$prcnt_conf = (100*hosp$all_ped_conf / (hosp$all_adult_conf + hosp$all_ped_conf)) hosp$prcnt = (100*hosp$all_ped / (hosp$all_adult + hosp$all_ped)) hosp %>% ggplot(aes(x=dateob)) + geom_line(aes(y=prcnt_conf, color="Confirmed only")) + geom_line(aes(y=prcnt, color="Confirmed plus suspected")) + xlim(as.Date('2020-11-01'), as.Date('2021-05-01')) + ylim(0,6) + labs(caption="Source: HHS. Does not include erroneous data for Oregon and Washington. Graphic: Jacob Fenton.") + theme( plot.caption = element_text(size = 8,hjust = 0), axis.title=element_text(size=10)) + ylab("Percent of total hospitalizations") + xlab("Date") + labs(title = "U.S. Juvenile COVID-19 Hospitalizations As Percent Of Total") + theme(legend.title = element_blank(), legend.position = c(0.4, 0.8), legend.direction = "horizontal")
In absolute terms, the number of adults hospitalizations is much greater than children. Note the weekly variation, which like reflects a fraction of hospitals not providing data on weekends.
hosp %>% ggplot(aes(x=dateob)) + geom_line(aes(y=all_adult_conf, color="Adult confirmed")) + geom_line(aes(y=all_ped_conf, color="Pediatric confirmed")) + xlim(as.Date('2020-11-01'), as.Date('2021-05-01')) + labs(caption="Source: HHS. Does not include erroneous data for Oregon and Washington. Graphic: Jacob Fenton.") + theme( plot.caption = element_text(size = 8,hjust = 0), axis.title=element_text(size=10)) + ylab("Confirmed Daily Hospitalizations") + xlab("Date") + labs(title = "U.S. COVID-19 Confirmed Hospitalizations") + theme(legend.title = element_blank(), legend.position = c(0.4, 0.4), legend.direction = "horizontal")