Source code for cowidev.hosp.sources.united_states

import pandas as pd
from cowidev.utils.clean import clean_date_series

METADATA = {
    "source_url": "https://healthdata.gov/api/views/g62h-syeh/rows.csv",
    "source_url_ref": "https://healthdata.gov/Hospital/COVID-19-Reported-Patient-Impact-and-Hospital-Capa/g62h-syeh",
    "source_name": "U.S. Department of Health & Human Services",
    "entity": "United States",
}


[docs]def main(): df = pd.read_csv( METADATA["source_url"], usecols=[ "date", "total_adult_patients_hospitalized_confirmed_covid", "total_pediatric_patients_hospitalized_confirmed_covid", "staffed_icu_adult_patients_confirmed_covid", "previous_day_admission_adult_covid_confirmed", "previous_day_admission_pediatric_covid_confirmed", ], ) df["date"] = clean_date_series(df.date, "%Y/%m/%d") df = df[df.date >= "2020-07-15"] df = df.groupby("date", as_index=False).sum().sort_values("date").head(-2) df["total_hospital_stock"] = df.total_adult_patients_hospitalized_confirmed_covid.fillna(0).add( df.total_pediatric_patients_hospitalized_confirmed_covid.fillna(0) ) df["total_hospital_flow"] = df.previous_day_admission_adult_covid_confirmed.fillna(0).add( df.previous_day_admission_pediatric_covid_confirmed.fillna(0) ) df["total_hospital_flow"] = df.total_hospital_flow.rolling(7).sum() df = ( df[["date", "total_hospital_stock", "total_hospital_flow", "staffed_icu_adult_patients_confirmed_covid"]] .melt("date", var_name="indicator") .dropna(subset=["value"]) ) df["indicator"] = df.indicator.replace( { "total_hospital_stock": "Daily hospital occupancy", "staffed_icu_adult_patients_confirmed_covid": "Daily ICU occupancy", "total_hospital_flow": "Weekly new hospital admissions", } ) df["entity"] = METADATA["entity"] return df, METADATA
if __name__ == "__main__": main()