From 5a5e6c0de685211707271030e491d5a0cf29fc37 Mon Sep 17 00:00:00 2001 From: Kathryn M Mazaitis Date: Wed, 29 Sep 2021 18:09:35 -0400 Subject: [PATCH 01/11] Update columns in covid_hosp.sql and database.py * state daily * state timeseries * facility --- .../covid_hosp/facility/database.py | 78 +++++ .../covid_hosp/state_daily/database.py | 286 ++++++++++++------ .../covid_hosp/state_timeseries/database.py | 286 ++++++++++++------ src/ddl/covid_hosp.sql | 152 ++++++---- 4 files changed, 562 insertions(+), 240 deletions(-) diff --git a/src/acquisition/covid_hosp/facility/database.py b/src/acquisition/covid_hosp/facility/database.py index b8675708e..d8faa94f4 100644 --- a/src/acquisition/covid_hosp/facility/database.py +++ b/src/acquisition/covid_hosp/facility/database.py @@ -165,6 +165,84 @@ class Database(BaseDatabase): ('previous_day_total_ED_visits_7_day_sum', 'previous_day_total_ed_visits_7_day_sum', int), ('previous_day_admission_influenza_confirmed_7_day_sum', 'previous_day_admission_influenza_confirmed_7_day_sum', int), + # added by healthdata.gov May 3, 2021 + ('hhs_ids', + 'hhs_ids', str), + ('previous_day_admission_adult_covid_confirmed_7_day_coverage', + 'previous_day_admission_adult_covid_confirmed_7_day_coverage', int), + ('previous_day_admission_pediatric_covid_confirmed_7_day_coverage', + 'previous_day_admission_pediatric_covid_confirmed_7_day_coverage', int), + ('previous_day_admission_adult_covid_suspected_7_day_coverage', + 'previous_day_admission_adult_covid_suspected_7_day_coverage', int), + ('previous_day_admission_pediatric_covid_suspected_7_day_coverage', + 'previous_day_admission_pediatric_covid_suspected_7_day_coverage', int), + ('previous_week_personnel_covid_vaccinated_doses_administered_7_day_sum', + 'previous_week_personnel_covid_vaccd_doses_administered_7_day_sum', int), + ('total_personnel_covid_vaccinated_doses_none_7_day_sum', + 'total_personnel_covid_vaccinated_doses_none_7_day_sum', int), + ('total_personnel_covid_vaccinated_doses_one_7_day_sum', + 'total_personnel_covid_vaccinated_doses_one_7_day_sum', int), + ('total_personnel_covid_vaccinated_doses_all_7_day_sum', + 'total_personnel_covid_vaccinated_doses_all_7_day_sum', int), + ('previous_week_patients_covid_vaccinated_doses_one_7_day_sum', + 'previous_week_patients_covid_vaccinated_doses_one_7_day_sum', int), + ('previous_week_patients_covid_vaccinated_doses_all_7_day_sum', + 'previous_week_patients_covid_vaccinated_doses_all_7_day_sum', int), + # unknown when these additions were made + ('all_adult_hospital_beds_7_day_coverage', + 'all_adult_hospital_beds_7_day_coverage', int), + ('all_adult_hospital_inpatient_bed_occupied_7_day_coverage', + 'all_adult_hospital_inpatient_bed_occupied_7_day_coverage', int), + ('all_adult_hospital_inpatient_beds_7_day_coverage', + 'all_adult_hospital_inpatient_beds_7_day_coverage', int), + ('geocoded_hospital_address', + 'geocoded_hospital_address', str), # varchar(32) + ('icu_beds_used_7_day_sum', + 'icu_beds_used_7_day_sum', int), + ('icu_patients_confirmed_influenza_7_day_sum', + 'icu_patients_confirmed_influenza_7_day_sum', int), + ('inpatient_beds_7_day_sum', + 'inpatient_beds_7_day_sum', int), + ('inpatient_beds_used_7_day_coverage', + 'inpatient_beds_used_7_day_coverage', int), + ('is_corrected', + 'is_corrected', Utils.parse_bool), + ('previous_week_patients_covid_vaccinated_doses_all_7_day', + 'previous_week_patients_covid_vaccinated_doses_all_7_day', int), + ('previous_week_patients_covid_vaccinated_doses_one_7_day', + 'previous_week_patients_covid_vaccinated_doses_one_7_day', int), + ('previous_week_personnel_covid_vaccinated_doses_administered_7_day', + 'previous_week_personnel_covid_vaccd_doses_administered_7_day', int), + ('staffed_adult_icu_bed_occupancy_7_day_sum', + 'staffed_adult_icu_bed_occupancy_7_day_sum', int), + ('staffed_icu_adult_patients_confirmed_and_suspected_covid_7_day_sum', + 'staffed_icu_adult_patients_confirmed_suspected_covid_7_day_sum', int), + ('staffed_icu_adult_patients_confirmed_covid_7_day_sum', + 'staffed_icu_adult_patients_confirmed_covid_7_day_sum', int), + ('total_adult_patients_hospitalized_confirmed_and_suspected_covid_7_day_coverage', + 'total_adult_patients_hosp_confirmed_susp_covid_7_day_coverage', int), + ('total_adult_patients_hospitalized_confirmed_covid_7_day_coverage', + 'total_adult_patients_hospitalized_confirmed_covid_7_day_coverage', int), + ('total_beds_7_day_coverage', + 'total_beds_7_day_coverage', int), + ('total_icu_beds_7_day_sum', + 'total_icu_beds_7_day_sum', int), + ('total_patients_hospitalized_confirmed_influenza_7_day_sum', + 'total_patients_hospitalized_confirmed_influenza_7_day_sum', int), + ('total_patients_hospitalized_confirmed_influenza_and_covid_7_day_sum', + 'total_patients_hospitalized_confirmed_influenza_covid_7_day_sum', int), + ('total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_7_day_coverage', + 'total_pediatric_patients_hosp_confirmd_susp_covid_7_day_coverage', int), + ('total_pediatric_patients_hospitalized_confirmed_covid_7_day_coverage', + 'total_pediatric_patients_hosp_confirmed_covid_7_day_coverage', int), + ('total_personnel_covid_vaccinated_doses_all_7_day', + 'total_personnel_covid_vaccinated_doses_all_7_day', int), + ('total_personnel_covid_vaccinated_doses_none_7_day', + 'total_personnel_covid_vaccinated_doses_none_7_day', int), + ('total_personnel_covid_vaccinated_doses_one_7_day', + 'total_personnel_covid_vaccinated_doses_one_7_day', int), + ('total_staffed_adult_icu_beds_7_day_sum', + 'total_staffed_adult_icu_beds_7_day_sum', int), ] def __init__(self, *args, **kwargs): diff --git a/src/acquisition/covid_hosp/state_daily/database.py b/src/acquisition/covid_hosp/state_daily/database.py index 655dcf381..9eade407d 100644 --- a/src/acquisition/covid_hosp/state_daily/database.py +++ b/src/acquisition/covid_hosp/state_daily/database.py @@ -19,94 +19,204 @@ class Database(BaseDatabase): # except for reporting_cutoff_start (here) and date (there). If you need # to update a column name, do it in both places. ORDERED_CSV_COLUMNS = [ - ('state', 'state', str), - ('reporting_cutoff_start', 'date', Utils.int_from_date), - ('critical_staffing_shortage_today_yes', 'critical_staffing_shortage_today_yes', int), - ('critical_staffing_shortage_today_no', 'critical_staffing_shortage_today_no', int), - ('critical_staffing_shortage_today_not_reported', - 'critical_staffing_shortage_today_not_reported', int), - ('critical_staffing_shortage_anticipated_within_week_yes', - 'critical_staffing_shortage_anticipated_within_week_yes', int), - ('critical_staffing_shortage_anticipated_within_week_no', - 'critical_staffing_shortage_anticipated_within_week_no', int), - ('critical_staffing_shortage_anticipated_within_week_not_reported', - 'critical_staffing_shortage_anticipated_within_week_not_reported', int), - ('hospital_onset_covid', 'hospital_onset_covid', int), - ('hospital_onset_covid_coverage', 'hospital_onset_covid_coverage', int), - ('inpatient_beds', 'inpatient_beds', int), - ('inpatient_beds_coverage', 'inpatient_beds_coverage', int), - ('inpatient_beds_used', 'inpatient_beds_used', int), - ('inpatient_beds_used_coverage', 'inpatient_beds_used_coverage', int), - ('inpatient_beds_used_covid', 'inpatient_beds_used_covid', int), - ('inpatient_beds_used_covid_coverage', 'inpatient_beds_used_covid_coverage', int), - ('previous_day_admission_adult_covid_confirmed', 'previous_day_admission_adult_covid_confirmed', - int), - ('previous_day_admission_adult_covid_confirmed_coverage', - 'previous_day_admission_adult_covid_confirmed_coverage', int), - ('previous_day_admission_adult_covid_suspected', 'previous_day_admission_adult_covid_suspected', - int), - ('previous_day_admission_adult_covid_suspected_coverage', - 'previous_day_admission_adult_covid_suspected_coverage', int), - ('previous_day_admission_pediatric_covid_confirmed', - 'previous_day_admission_pediatric_covid_confirmed', int), - ('previous_day_admission_pediatric_covid_confirmed_coverage', - 'previous_day_admission_pediatric_covid_confirmed_coverage', int), - ('previous_day_admission_pediatric_covid_suspected', - 'previous_day_admission_pediatric_covid_suspected', int), - ('previous_day_admission_pediatric_covid_suspected_coverage', - 'previous_day_admission_pediatric_covid_suspected_coverage', int), - ('staffed_adult_icu_bed_occupancy', 'staffed_adult_icu_bed_occupancy', int), - ('staffed_adult_icu_bed_occupancy_coverage', 'staffed_adult_icu_bed_occupancy_coverage', int), - ('staffed_icu_adult_patients_confirmed_and_suspected_covid', - 'staffed_icu_adult_patients_confirmed_suspected_covid', int), - ('staffed_icu_adult_patients_confirmed_and_suspected_covid_coverage', - 'staffed_icu_adult_patients_confirmed_suspected_covid_coverage', int), - ('staffed_icu_adult_patients_confirmed_covid', 'staffed_icu_adult_patients_confirmed_covid', - int), - ('staffed_icu_adult_patients_confirmed_covid_coverage', - 'staffed_icu_adult_patients_confirmed_covid_coverage', int), - ('total_adult_patients_hospitalized_confirmed_and_suspected_covid', - 'total_adult_patients_hosp_confirmed_suspected_covid', int), - ('total_adult_patients_hospitalized_confirmed_and_suspected_covid_coverage', - 'total_adult_patients_hosp_confirmed_suspected_covid_coverage', int), - ('total_adult_patients_hospitalized_confirmed_covid', - 'total_adult_patients_hosp_confirmed_covid', int), - ('total_adult_patients_hospitalized_confirmed_covid_coverage', - 'total_adult_patients_hosp_confirmed_covid_coverage', int), - ('total_pediatric_patients_hospitalized_confirmed_and_suspected_covid', - 'total_pediatric_patients_hosp_confirmed_suspected_covid', int), - ('total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_coverage', - 'total_pediatric_patients_hosp_confirmed_suspected_covid_coverage', int), - ('total_pediatric_patients_hospitalized_confirmed_covid', - 'total_pediatric_patients_hosp_confirmed_covid', int), - ('total_pediatric_patients_hospitalized_confirmed_covid_coverage', - 'total_pediatric_patients_hosp_confirmed_covid_coverage', int), - ('total_staffed_adult_icu_beds', 'total_staffed_adult_icu_beds', int), - ('total_staffed_adult_icu_beds_coverage', 'total_staffed_adult_icu_beds_coverage', int), - ('inpatient_beds_utilization', 'inpatient_beds_utilization', float), - ('inpatient_beds_utilization_coverage', 'inpatient_beds_utilization_coverage', int), - ('inpatient_beds_utilization_numerator', 'inpatient_beds_utilization_numerator', int), - ('inpatient_beds_utilization_denominator', 'inpatient_beds_utilization_denominator', int), - ('percent_of_inpatients_with_covid', 'percent_of_inpatients_with_covid', float), - ('percent_of_inpatients_with_covid_coverage', 'percent_of_inpatients_with_covid_coverage', int), - ('percent_of_inpatients_with_covid_numerator', 'percent_of_inpatients_with_covid_numerator', - int), - ('percent_of_inpatients_with_covid_denominator', 'percent_of_inpatients_with_covid_denominator', - int), - ('inpatient_bed_covid_utilization', 'inpatient_bed_covid_utilization', float), - ('inpatient_bed_covid_utilization_coverage', 'inpatient_bed_covid_utilization_coverage', int), - ('inpatient_bed_covid_utilization_numerator', 'inpatient_bed_covid_utilization_numerator', int), - ('inpatient_bed_covid_utilization_denominator', 'inpatient_bed_covid_utilization_denominator', - int), - ('adult_icu_bed_covid_utilization', 'adult_icu_bed_covid_utilization', float), - ('adult_icu_bed_covid_utilization_coverage', 'adult_icu_bed_covid_utilization_coverage', int), - ('adult_icu_bed_covid_utilization_numerator', 'adult_icu_bed_covid_utilization_numerator', int), - ('adult_icu_bed_covid_utilization_denominator', 'adult_icu_bed_covid_utilization_denominator', - int), - ('adult_icu_bed_utilization', 'adult_icu_bed_utilization', float), - ('adult_icu_bed_utilization_coverage', 'adult_icu_bed_utilization_coverage', int), - ('adult_icu_bed_utilization_numerator', 'adult_icu_bed_utilization_numerator', int), - ('adult_icu_bed_utilization_denominator', 'adult_icu_bed_utilization_denominator', int), + ('adult_icu_bed_covid_utilization', 'adult_icu_bed_covid_utilization', float), + ('adult_icu_bed_covid_utilization_coverage', 'adult_icu_bed_covid_utilization_coverage', int), + ('adult_icu_bed_covid_utilization_denominator', 'adult_icu_bed_covid_utilization_denominator', + int), + ('adult_icu_bed_covid_utilization_numerator', 'adult_icu_bed_covid_utilization_numerator', + int), + ('adult_icu_bed_utilization', 'adult_icu_bed_utilization', float), + ('adult_icu_bed_utilization_coverage', 'adult_icu_bed_utilization_coverage', int), + ('adult_icu_bed_utilization_denominator', 'adult_icu_bed_utilization_denominator', int), + ('adult_icu_bed_utilization_numerator', 'adult_icu_bed_utilization_numerator', int), + ('critical_staffing_shortage_anticipated_within_week_no', + 'critical_staffing_shortage_anticipated_within_week_no', int), + ('critical_staffing_shortage_anticipated_within_week_not_reported', + 'critical_staffing_shortage_anticipated_within_week_not_reported', int), + ('critical_staffing_shortage_anticipated_within_week_yes', + 'critical_staffing_shortage_anticipated_within_week_yes', int), + ('critical_staffing_shortage_today_no', 'critical_staffing_shortage_today_no', int), + ('critical_staffing_shortage_today_not_reported', + 'critical_staffing_shortage_today_not_reported', int), + ('critical_staffing_shortage_today_yes', 'critical_staffing_shortage_today_yes', int), + ('reporting_cutoff_start', 'date', Utils.int_from_date), + ('deaths_covid', 'deaths_covid', int), + ('deaths_covid_coverage', 'deaths_covid_coverage', int), + ('geocoded_state', 'geocoded_state', int), + ('hospital_onset_covid', 'hospital_onset_covid', int), + ('hospital_onset_covid_coverage', 'hospital_onset_covid_coverage', int), + ('icu_patients_confirmed_influenza', 'icu_patients_confirmed_influenza', int), + ('icu_patients_confirmed_influenza_coverage', 'icu_patients_confirmed_influenza_coverage', + int), + ('inpatient_bed_covid_utilization', 'inpatient_bed_covid_utilization', float), + ('inpatient_bed_covid_utilization_coverage', 'inpatient_bed_covid_utilization_coverage', int), + ('inpatient_bed_covid_utilization_denominator', 'inpatient_bed_covid_utilization_denominator', + int), + ('inpatient_bed_covid_utilization_numerator', 'inpatient_bed_covid_utilization_numerator', + int), + ('inpatient_beds', 'inpatient_beds', int), + ('inpatient_beds_coverage', 'inpatient_beds_coverage', int), + ('inpatient_beds_used', 'inpatient_beds_used', int), + ('inpatient_beds_used_coverage', 'inpatient_beds_used_coverage', int), + ('inpatient_beds_used_covid', 'inpatient_beds_used_covid', int), + ('inpatient_beds_used_covid_coverage', 'inpatient_beds_used_covid_coverage', int), + ('inpatient_beds_utilization', 'inpatient_beds_utilization', float), + ('inpatient_beds_utilization_coverage', 'inpatient_beds_utilization_coverage', int), + ('inpatient_beds_utilization_denominator', 'inpatient_beds_utilization_denominator', int), + ('inpatient_beds_utilization_numerator', 'inpatient_beds_utilization_numerator', int), + ('on_hand_supply_therapeutic_a_casirivimab_imdevimab_courses', + 'on_hand_supply_therapeutic_a_casirivimab_imdevimab_courses', int), + ('on_hand_supply_therapeutic_b_bamlanivimab_courses', + 'on_hand_supply_therapeutic_b_bamlanivimab_courses', int), + ('on_hand_supply_therapeutic_c_bamlanivimab_etesevimab_courses', + 'on_hand_supply_therapeutic_c_bamlanivimab_etesevimab_courses', int), + ('percent_of_inpatients_with_covid', 'percent_of_inpatients_with_covid', float), + ('percent_of_inpatients_with_covid_coverage', 'percent_of_inpatients_with_covid_coverage', + int), + ('percent_of_inpatients_with_covid_denominator', + 'percent_of_inpatients_with_covid_denominator', int), + ('percent_of_inpatients_with_covid_numerator', 'percent_of_inpatients_with_covid_numerator', + int), + ('previous_day_admission_adult_covid_confirmed', + 'previous_day_admission_adult_covid_confirmed', int), + ('previous_day_admission_adult_covid_confirmed_18-19', + 'previous_day_admission_adult_covid_confirmed_18-19', int), + ('previous_day_admission_adult_covid_confirmed_18-19_coverage', + 'previous_day_admission_adult_covid_confirmed_18-19_coverage', int), + ('previous_day_admission_adult_covid_confirmed_20-29', + 'previous_day_admission_adult_covid_confirmed_20-29', int), + ('previous_day_admission_adult_covid_confirmed_20-29_coverage', + 'previous_day_admission_adult_covid_confirmed_20-29_coverage', int), + ('previous_day_admission_adult_covid_confirmed_30-39', + 'previous_day_admission_adult_covid_confirmed_30-39', int), + ('previous_day_admission_adult_covid_confirmed_30-39_coverage', + 'previous_day_admission_adult_covid_confirmed_30-39_coverage', int), + ('previous_day_admission_adult_covid_confirmed_40-49', + 'previous_day_admission_adult_covid_confirmed_40-49', int), + ('previous_day_admission_adult_covid_confirmed_40-49_coverage', + 'previous_day_admission_adult_covid_confirmed_40-49_coverage', int), + ('previous_day_admission_adult_covid_confirmed_50-59', + 'previous_day_admission_adult_covid_confirmed_50-59', int), + ('previous_day_admission_adult_covid_confirmed_50-59_coverage', + 'previous_day_admission_adult_covid_confirmed_50-59_coverage', int), + ('previous_day_admission_adult_covid_confirmed_60-69', + 'previous_day_admission_adult_covid_confirmed_60-69', int), + ('previous_day_admission_adult_covid_confirmed_60-69_coverage', + 'previous_day_admission_adult_covid_confirmed_60-69_coverage', int), + ('previous_day_admission_adult_covid_confirmed_70-79', + 'previous_day_admission_adult_covid_confirmed_70-79', int), + ('previous_day_admission_adult_covid_confirmed_70-79_coverage', + 'previous_day_admission_adult_covid_confirmed_70-79_coverage', int), + ('previous_day_admission_adult_covid_confirmed_80+', + 'previous_day_admission_adult_covid_confirmed_80+', int), + ('previous_day_admission_adult_covid_confirmed_80+_coverage', + 'previous_day_admission_adult_covid_confirmed_80+_coverage', int), + ('previous_day_admission_adult_covid_confirmed_coverage', + 'previous_day_admission_adult_covid_confirmed_coverage', int), + ('previous_day_admission_adult_covid_confirmed_unknown', + 'previous_day_admission_adult_covid_confirmed_unknown', int), + ('previous_day_admission_adult_covid_confirmed_unknown_coverage', + 'previous_day_admission_adult_covid_confirmed_unknown_coverage', int), + ('previous_day_admission_adult_covid_suspected', + 'previous_day_admission_adult_covid_suspected', int), + ('previous_day_admission_adult_covid_suspected_18-19', + 'previous_day_admission_adult_covid_suspected_18-19', int), + ('previous_day_admission_adult_covid_suspected_18-19_coverage', + 'previous_day_admission_adult_covid_suspected_18-19_coverage', int), + ('previous_day_admission_adult_covid_suspected_20-29', + 'previous_day_admission_adult_covid_suspected_20-29', int), + ('previous_day_admission_adult_covid_suspected_20-29_coverage', + 'previous_day_admission_adult_covid_suspected_20-29_coverage', int), + ('previous_day_admission_adult_covid_suspected_30-39', + 'previous_day_admission_adult_covid_suspected_30-39', int), + ('previous_day_admission_adult_covid_suspected_30-39_coverage', + 'previous_day_admission_adult_covid_suspected_30-39_coverage', int), + ('previous_day_admission_adult_covid_suspected_40-49', + 'previous_day_admission_adult_covid_suspected_40-49', int), + ('previous_day_admission_adult_covid_suspected_40-49_coverage', + 'previous_day_admission_adult_covid_suspected_40-49_coverage', int), + ('previous_day_admission_adult_covid_suspected_50-59', + 'previous_day_admission_adult_covid_suspected_50-59', int), + ('previous_day_admission_adult_covid_suspected_50-59_coverage', + 'previous_day_admission_adult_covid_suspected_50-59_coverage', int), + ('previous_day_admission_adult_covid_suspected_60_69', + 'previous_day_admission_adult_covid_suspected_60-69', int), + ('previous_day_admission_adult_covid_suspected_60-69_coverage', + 'previous_day_admission_adult_covid_suspected_60-69_coverage', int), + ('previous_day_admission_adult_covid_suspected_70-79', + 'previous_day_admission_adult_covid_suspected_70-79', int), + ('previous_day_admission_adult_covid_suspected_70-79_coverage', + 'previous_day_admission_adult_covid_suspected_70-79_coverage', int), + ('previous_day_admission_adult_covid_suspected_80', + 'previous_day_admission_adult_covid_suspected_80+', int), + ('previous_day_admission_adult_covid_suspected_80+_coverage', + 'previous_day_admission_adult_covid_suspected_80+_coverage', int), + ('previous_day_admission_adult_covid_suspected_coverage', + 'previous_day_admission_adult_covid_suspected_coverage', int), + ('previous_day_admission_adult_covid_suspected_unknown', + 'previous_day_admission_adult_covid_suspected_unknown', int), + ('previous_day_admission_adult_covid_suspected_unknown_coverage', + 'previous_day_admission_adult_covid_suspected_unknown_coverage', int), + ('previous_day_admission_influenza_confirmed', 'previous_day_admission_influenza_confirmed', + int), + ('previous_day_admission_influenza_confirmed_coverage', + 'previous_day_admission_influenza_confirmed_coverage', int), + ('previous_day_admission_pediatric_covid_confirmed', + 'previous_day_admission_pediatric_covid_confirmed', int), + ('previous_day_admission_pediatric_covid_confirmed_coverage', + 'previous_day_admission_pediatric_covid_confirmed_coverage', int), + ('previous_day_admission_pediatric_covid_suspected', + 'previous_day_admission_pediatric_covid_suspected', int), + ('previous_day_admission_pediatric_covid_suspected_coverage', + 'previous_day_admission_pediatric_covid_suspected_coverage', int), + ('previous_day_deaths_covid_and_influenza', 'previous_day_deaths_covid_and_influenza', int), + ('previous_day_deaths_covid_and_influenza_coverage', + 'previous_day_deaths_covid_and_influenza_coverage', int), + ('previous_day_deaths_influenza', 'previous_day_deaths_influenza', int), + ('previous_day_deaths_influenza_coverage', 'previous_day_deaths_influenza_coverage', int), + ('previous_week_therapeutic_a_casirivimab_imdevimab_courses_used', + 'previous_week_therapeutic_a_casirivimab_imdevimab_courses_used', int), + ('previous_week_therapeutic_b_bamlanivimab_courses_used', + 'previous_week_therapeutic_b_bamlanivimab_courses_used', int), + ('previous_week_therapeutic_c_bamlanivimab_etesevimab_courses_used', + 'previous_week_therapeutic_c_bamlanivimab_etesevimab_courses_used', int), + ('staffed_adult_icu_bed_occupancy', 'staffed_adult_icu_bed_occupancy', int), + ('staffed_adult_icu_bed_occupancy_coverage', 'staffed_adult_icu_bed_occupancy_coverage', int), + ('staffed_icu_adult_patients_confirmed_and_suspected_covid', + 'staffed_icu_adult_patients_confirmed_suspected_covid', int), + ('staffed_icu_adult_patients_confirmed_and_suspected_covid_coverage', + 'staffed_icu_adult_patients_confirmed_suspected_covid_coverage', int), + ('staffed_icu_adult_patients_confirmed_covid', 'staffed_icu_adult_patients_confirmed_covid', + int), + ('staffed_icu_adult_patients_confirmed_covid_coverage', + 'staffed_icu_adult_patients_confirmed_covid_coverage', int), + ('state', 'state', str), + ('total_adult_patients_hospitalized_confirmed_and_suspected_covid', + 'total_adult_patients_hosp_confirmed_suspected_covid', int), + ('total_adult_patients_hospitalized_confirmed_and_suspected_covid_coverage', + 'total_adult_patients_hosp_confirmed_suspected_covid_coverage', int), + ('total_adult_patients_hospitalized_confirmed_covid', + 'total_adult_patients_hosp_confirmed_covid', int), + ('total_adult_patients_hospitalized_confirmed_covid_coverage', + 'total_adult_patients_hosp_confirmed_covid_coverage', int), + ('total_patients_hospitalized_confirmed_influenza', + 'total_patients_hospitalized_confirmed_influenza', int), + ('total_patients_hospitalized_confirmed_influenza_coverage', + 'total_patients_hospitalized_confirmed_influenza_coverage', int), + ('total_patients_hospitalized_confirmed_influenza_covid', + 'total_patients_hospitalized_confirmed_influenza_covid', int), + ('total_patients_hospitalized_confirmed_influenza_covid_coverage', + 'total_patients_hospitalized_confirmed_influenza_covid_coverage', int), + ('total_pediatric_patients_hospitalized_confirmed_and_suspected_covid', + 'total_pediatric_patients_hosp_confirmed_suspected_covid', int), + ('total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_coverage', + 'total_pediatric_patients_hosp_confirmed_suspected_covid_coverage', int), + ('total_pediatric_patients_hospitalized_confirmed_covid', + 'total_pediatric_patients_hosp_confirmed_covid', int), + ('total_pediatric_patients_hospitalized_confirmed_covid_coverage', + 'total_pediatric_patients_hosp_confirmed_covid_coverage', int), + ('total_staffed_adult_icu_beds', 'total_staffed_adult_icu_beds', int), + ('total_staffed_adult_icu_beds_coverage', 'total_staffed_adult_icu_beds_coverage', int), ] def __init__(self, *args, **kwargs): diff --git a/src/acquisition/covid_hosp/state_timeseries/database.py b/src/acquisition/covid_hosp/state_timeseries/database.py index d76af4a09..43c59f89f 100644 --- a/src/acquisition/covid_hosp/state_timeseries/database.py +++ b/src/acquisition/covid_hosp/state_timeseries/database.py @@ -16,94 +16,204 @@ class Database(BaseDatabase): # except for reporting_cutoff_start (there) and date (here). If you need # to update a column name, do it in both places. ORDERED_CSV_COLUMNS = [ - ('state', 'state', str), - ('date', 'date', Utils.int_from_date), - ('hospital_onset_covid', 'hospital_onset_covid', int), - ('hospital_onset_covid_coverage', 'hospital_onset_covid_coverage', int), - ('inpatient_beds', 'inpatient_beds', int), - ('inpatient_beds_coverage', 'inpatient_beds_coverage', int), - ('inpatient_beds_used', 'inpatient_beds_used', int), - ('inpatient_beds_used_coverage', 'inpatient_beds_used_coverage', int), - ('inpatient_beds_used_covid', 'inpatient_beds_used_covid', int), - ('inpatient_beds_used_covid_coverage', 'inpatient_beds_used_covid_coverage', int), - ('previous_day_admission_adult_covid_confirmed', 'previous_day_admission_adult_covid_confirmed', - int), - ('previous_day_admission_adult_covid_confirmed_coverage', - 'previous_day_admission_adult_covid_confirmed_coverage', int), - ('previous_day_admission_adult_covid_suspected', 'previous_day_admission_adult_covid_suspected', - int), - ('previous_day_admission_adult_covid_suspected_coverage', - 'previous_day_admission_adult_covid_suspected_coverage', int), - ('previous_day_admission_pediatric_covid_confirmed', - 'previous_day_admission_pediatric_covid_confirmed', int), - ('previous_day_admission_pediatric_covid_confirmed_coverage', - 'previous_day_admission_pediatric_covid_confirmed_coverage', int), - ('previous_day_admission_pediatric_covid_suspected', - 'previous_day_admission_pediatric_covid_suspected', int), - ('previous_day_admission_pediatric_covid_suspected_coverage', - 'previous_day_admission_pediatric_covid_suspected_coverage', int), - ('staffed_adult_icu_bed_occupancy', 'staffed_adult_icu_bed_occupancy', int), - ('staffed_adult_icu_bed_occupancy_coverage', 'staffed_adult_icu_bed_occupancy_coverage', int), - ('staffed_icu_adult_patients_confirmed_and_suspected_covid', - 'staffed_icu_adult_patients_confirmed_suspected_covid', int), - ('staffed_icu_adult_patients_confirmed_and_suspected_covid_coverage', - 'staffed_icu_adult_patients_confirmed_suspected_covid_coverage', int), - ('staffed_icu_adult_patients_confirmed_covid', 'staffed_icu_adult_patients_confirmed_covid', - int), - ('staffed_icu_adult_patients_confirmed_covid_coverage', - 'staffed_icu_adult_patients_confirmed_covid_coverage', int), - ('total_adult_patients_hospitalized_confirmed_and_suspected_covid', - 'total_adult_patients_hosp_confirmed_suspected_covid', int), - ('total_adult_patients_hospitalized_confirmed_and_suspected_covid_coverage', - 'total_adult_patients_hosp_confirmed_suspected_covid_coverage', int), - ('total_adult_patients_hospitalized_confirmed_covid', - 'total_adult_patients_hosp_confirmed_covid', int), - ('total_adult_patients_hospitalized_confirmed_covid_coverage', - 'total_adult_patients_hosp_confirmed_covid_coverage', int), - ('total_pediatric_patients_hospitalized_confirmed_and_suspected_covid', - 'total_pediatric_patients_hosp_confirmed_suspected_covid', int), - ('total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_coverage', - 'total_pediatric_patients_hosp_confirmed_suspected_covid_coverage', int), - ('total_pediatric_patients_hospitalized_confirmed_covid', - 'total_pediatric_patients_hosp_confirmed_covid', int), - ('total_pediatric_patients_hospitalized_confirmed_covid_coverage', - 'total_pediatric_patients_hosp_confirmed_covid_coverage', int), - ('total_staffed_adult_icu_beds', 'total_staffed_adult_icu_beds', int), - ('total_staffed_adult_icu_beds_coverage', 'total_staffed_adult_icu_beds_coverage', int), - ('inpatient_beds_utilization', 'inpatient_beds_utilization', float), - ('inpatient_beds_utilization_coverage', 'inpatient_beds_utilization_coverage', int), - ('inpatient_beds_utilization_numerator', 'inpatient_beds_utilization_numerator', int), - ('inpatient_beds_utilization_denominator', 'inpatient_beds_utilization_denominator', int), - ('percent_of_inpatients_with_covid', 'percent_of_inpatients_with_covid', float), - ('percent_of_inpatients_with_covid_coverage', 'percent_of_inpatients_with_covid_coverage', int), - ('percent_of_inpatients_with_covid_numerator', 'percent_of_inpatients_with_covid_numerator', - int), - ('percent_of_inpatients_with_covid_denominator', 'percent_of_inpatients_with_covid_denominator', - int), - ('inpatient_bed_covid_utilization', 'inpatient_bed_covid_utilization', float), - ('inpatient_bed_covid_utilization_coverage', 'inpatient_bed_covid_utilization_coverage', int), - ('inpatient_bed_covid_utilization_numerator', 'inpatient_bed_covid_utilization_numerator', int), - ('inpatient_bed_covid_utilization_denominator', 'inpatient_bed_covid_utilization_denominator', - int), - ('adult_icu_bed_covid_utilization', 'adult_icu_bed_covid_utilization', float), - ('adult_icu_bed_covid_utilization_coverage', 'adult_icu_bed_covid_utilization_coverage', int), - ('adult_icu_bed_covid_utilization_numerator', 'adult_icu_bed_covid_utilization_numerator', int), - ('adult_icu_bed_covid_utilization_denominator', 'adult_icu_bed_covid_utilization_denominator', - int), - ('adult_icu_bed_utilization', 'adult_icu_bed_utilization', float), - ('adult_icu_bed_utilization_coverage', 'adult_icu_bed_utilization_coverage', int), - ('adult_icu_bed_utilization_numerator', 'adult_icu_bed_utilization_numerator', int), - ('adult_icu_bed_utilization_denominator', 'adult_icu_bed_utilization_denominator', int), - ('critical_staffing_shortage_today_yes', 'critical_staffing_shortage_today_yes', int), - ('critical_staffing_shortage_today_no', 'critical_staffing_shortage_today_no', int), - ('critical_staffing_shortage_today_not_reported', - 'critical_staffing_shortage_today_not_reported', int), - ('critical_staffing_shortage_anticipated_within_week_yes', - 'critical_staffing_shortage_anticipated_within_week_yes', int), - ('critical_staffing_shortage_anticipated_within_week_no', - 'critical_staffing_shortage_anticipated_within_week_no', int), - ('critical_staffing_shortage_anticipated_within_week_not_reported', - 'critical_staffing_shortage_anticipated_within_week_not_reported', int), + ('adult_icu_bed_covid_utilization', 'adult_icu_bed_covid_utilization', float), + ('adult_icu_bed_covid_utilization_coverage', 'adult_icu_bed_covid_utilization_coverage', int), + ('adult_icu_bed_covid_utilization_denominator', 'adult_icu_bed_covid_utilization_denominator', + int), + ('adult_icu_bed_covid_utilization_numerator', 'adult_icu_bed_covid_utilization_numerator', + int), + ('adult_icu_bed_utilization', 'adult_icu_bed_utilization', float), + ('adult_icu_bed_utilization_coverage', 'adult_icu_bed_utilization_coverage', int), + ('adult_icu_bed_utilization_denominator', 'adult_icu_bed_utilization_denominator', int), + ('adult_icu_bed_utilization_numerator', 'adult_icu_bed_utilization_numerator', int), + ('critical_staffing_shortage_anticipated_within_week_no', + 'critical_staffing_shortage_anticipated_within_week_no', int), + ('critical_staffing_shortage_anticipated_within_week_not_reported', + 'critical_staffing_shortage_anticipated_within_week_not_reported', int), + ('critical_staffing_shortage_anticipated_within_week_yes', + 'critical_staffing_shortage_anticipated_within_week_yes', int), + ('critical_staffing_shortage_today_no', 'critical_staffing_shortage_today_no', int), + ('critical_staffing_shortage_today_not_reported', + 'critical_staffing_shortage_today_not_reported', int), + ('critical_staffing_shortage_today_yes', 'critical_staffing_shortage_today_yes', int), + ('date', 'date', Utils.int_from_date), + ('deaths_covid', 'deaths_covid', int), + ('deaths_covid_coverage', 'deaths_covid_coverage', int), + ('geocoded_state', 'geocoded_state', int), + ('hospital_onset_covid', 'hospital_onset_covid', int), + ('hospital_onset_covid_coverage', 'hospital_onset_covid_coverage', int), + ('icu_patients_confirmed_influenza', 'icu_patients_confirmed_influenza', int), + ('icu_patients_confirmed_influenza_coverage', 'icu_patients_confirmed_influenza_coverage', + int), + ('inpatient_bed_covid_utilization', 'inpatient_bed_covid_utilization', float), + ('inpatient_bed_covid_utilization_coverage', 'inpatient_bed_covid_utilization_coverage', int), + ('inpatient_bed_covid_utilization_denominator', 'inpatient_bed_covid_utilization_denominator', + int), + ('inpatient_bed_covid_utilization_numerator', 'inpatient_bed_covid_utilization_numerator', + int), + ('inpatient_beds', 'inpatient_beds', int), + ('inpatient_beds_coverage', 'inpatient_beds_coverage', int), + ('inpatient_beds_used', 'inpatient_beds_used', int), + ('inpatient_beds_used_coverage', 'inpatient_beds_used_coverage', int), + ('inpatient_beds_used_covid', 'inpatient_beds_used_covid', int), + ('inpatient_beds_used_covid_coverage', 'inpatient_beds_used_covid_coverage', int), + ('inpatient_beds_utilization', 'inpatient_beds_utilization', float), + ('inpatient_beds_utilization_coverage', 'inpatient_beds_utilization_coverage', int), + ('inpatient_beds_utilization_denominator', 'inpatient_beds_utilization_denominator', int), + ('inpatient_beds_utilization_numerator', 'inpatient_beds_utilization_numerator', int), + ('on_hand_supply_therapeutic_a_casirivimab_imdevimab_courses', + 'on_hand_supply_therapeutic_a_casirivimab_imdevimab_courses', int), + ('on_hand_supply_therapeutic_b_bamlanivimab_courses', + 'on_hand_supply_therapeutic_b_bamlanivimab_courses', int), + ('on_hand_supply_therapeutic_c_bamlanivimab_etesevimab_courses', + 'on_hand_supply_therapeutic_c_bamlanivimab_etesevimab_courses', int), + ('percent_of_inpatients_with_covid', 'percent_of_inpatients_with_covid', float), + ('percent_of_inpatients_with_covid_coverage', 'percent_of_inpatients_with_covid_coverage', + int), + ('percent_of_inpatients_with_covid_denominator', + 'percent_of_inpatients_with_covid_denominator', int), + ('percent_of_inpatients_with_covid_numerator', 'percent_of_inpatients_with_covid_numerator', + int), + ('previous_day_admission_adult_covid_confirmed', + 'previous_day_admission_adult_covid_confirmed', int), + ('previous_day_admission_adult_covid_confirmed_18-19', + 'previous_day_admission_adult_covid_confirmed_18-19', int), + ('previous_day_admission_adult_covid_confirmed_18-19_coverage', + 'previous_day_admission_adult_covid_confirmed_18-19_coverage', int), + ('previous_day_admission_adult_covid_confirmed_20-29', + 'previous_day_admission_adult_covid_confirmed_20-29', int), + ('previous_day_admission_adult_covid_confirmed_20-29_coverage', + 'previous_day_admission_adult_covid_confirmed_20-29_coverage', int), + ('previous_day_admission_adult_covid_confirmed_30-39', + 'previous_day_admission_adult_covid_confirmed_30-39', int), + ('previous_day_admission_adult_covid_confirmed_30-39_coverage', + 'previous_day_admission_adult_covid_confirmed_30-39_coverage', int), + ('previous_day_admission_adult_covid_confirmed_40-49', + 'previous_day_admission_adult_covid_confirmed_40-49', int), + ('previous_day_admission_adult_covid_confirmed_40-49_coverage', + 'previous_day_admission_adult_covid_confirmed_40-49_coverage', int), + ('previous_day_admission_adult_covid_confirmed_50-59', + 'previous_day_admission_adult_covid_confirmed_50-59', int), + ('previous_day_admission_adult_covid_confirmed_50-59_coverage', + 'previous_day_admission_adult_covid_confirmed_50-59_coverage', int), + ('previous_day_admission_adult_covid_confirmed_60-69', + 'previous_day_admission_adult_covid_confirmed_60-69', int), + ('previous_day_admission_adult_covid_confirmed_60-69_coverage', + 'previous_day_admission_adult_covid_confirmed_60-69_coverage', int), + ('previous_day_admission_adult_covid_confirmed_70-79', + 'previous_day_admission_adult_covid_confirmed_70-79', int), + ('previous_day_admission_adult_covid_confirmed_70-79_coverage', + 'previous_day_admission_adult_covid_confirmed_70-79_coverage', int), + ('previous_day_admission_adult_covid_confirmed_80+', + 'previous_day_admission_adult_covid_confirmed_80+', int), + ('previous_day_admission_adult_covid_confirmed_80+_coverage', + 'previous_day_admission_adult_covid_confirmed_80+_coverage', int), + ('previous_day_admission_adult_covid_confirmed_coverage', + 'previous_day_admission_adult_covid_confirmed_coverage', int), + ('previous_day_admission_adult_covid_confirmed_unknown', + 'previous_day_admission_adult_covid_confirmed_unknown', int), + ('previous_day_admission_adult_covid_confirmed_unknown_coverage', + 'previous_day_admission_adult_covid_confirmed_unknown_coverage', int), + ('previous_day_admission_adult_covid_suspected', + 'previous_day_admission_adult_covid_suspected', int), + ('previous_day_admission_adult_covid_suspected_18-19', + 'previous_day_admission_adult_covid_suspected_18-19', int), + ('previous_day_admission_adult_covid_suspected_18-19_coverage', + 'previous_day_admission_adult_covid_suspected_18-19_coverage', int), + ('previous_day_admission_adult_covid_suspected_20-29', + 'previous_day_admission_adult_covid_suspected_20-29', int), + ('previous_day_admission_adult_covid_suspected_20-29_coverage', + 'previous_day_admission_adult_covid_suspected_20-29_coverage', int), + ('previous_day_admission_adult_covid_suspected_30-39', + 'previous_day_admission_adult_covid_suspected_30-39', int), + ('previous_day_admission_adult_covid_suspected_30-39_coverage', + 'previous_day_admission_adult_covid_suspected_30-39_coverage', int), + ('previous_day_admission_adult_covid_suspected_40-49', + 'previous_day_admission_adult_covid_suspected_40-49', int), + ('previous_day_admission_adult_covid_suspected_40-49_coverage', + 'previous_day_admission_adult_covid_suspected_40-49_coverage', int), + ('previous_day_admission_adult_covid_suspected_50-59', + 'previous_day_admission_adult_covid_suspected_50-59', int), + ('previous_day_admission_adult_covid_suspected_50-59_coverage', + 'previous_day_admission_adult_covid_suspected_50-59_coverage', int), + ('previous_day_admission_adult_covid_suspected_60-69', + 'previous_day_admission_adult_covid_suspected_60-69', int), + ('previous_day_admission_adult_covid_suspected_60-69_coverage', + 'previous_day_admission_adult_covid_suspected_60-69_coverage', int), + ('previous_day_admission_adult_covid_suspected_70-79', + 'previous_day_admission_adult_covid_suspected_70-79', int), + ('previous_day_admission_adult_covid_suspected_70-79_coverage', + 'previous_day_admission_adult_covid_suspected_70-79_coverage', int), + ('previous_day_admission_adult_covid_suspected_80+', + 'previous_day_admission_adult_covid_suspected_80+', int), + ('previous_day_admission_adult_covid_suspected_80+_coverage', + 'previous_day_admission_adult_covid_suspected_80+_coverage', int), + ('previous_day_admission_adult_covid_suspected_coverage', + 'previous_day_admission_adult_covid_suspected_coverage', int), + ('previous_day_admission_adult_covid_suspected_unknown', + 'previous_day_admission_adult_covid_suspected_unknown', int), + ('previous_day_admission_adult_covid_suspected_unknown_coverage', + 'previous_day_admission_adult_covid_suspected_unknown_coverage', int), + ('previous_day_admission_influenza_confirmed', 'previous_day_admission_influenza_confirmed', + int), + ('previous_day_admission_influenza_confirmed_coverage', + 'previous_day_admission_influenza_confirmed_coverage', int), + ('previous_day_admission_pediatric_covid_confirmed', + 'previous_day_admission_pediatric_covid_confirmed', int), + ('previous_day_admission_pediatric_covid_confirmed_coverage', + 'previous_day_admission_pediatric_covid_confirmed_coverage', int), + ('previous_day_admission_pediatric_covid_suspected', + 'previous_day_admission_pediatric_covid_suspected', int), + ('previous_day_admission_pediatric_covid_suspected_coverage', + 'previous_day_admission_pediatric_covid_suspected_coverage', int), + ('previous_day_deaths_covid_and_influenza', 'previous_day_deaths_covid_and_influenza', int), + ('previous_day_deaths_covid_and_influenza_coverage', + 'previous_day_deaths_covid_and_influenza_coverage', int), + ('previous_day_deaths_influenza', 'previous_day_deaths_influenza', int), + ('previous_day_deaths_influenza_coverage', 'previous_day_deaths_influenza_coverage', int), + ('previous_week_therapeutic_a_casirivimab_imdevimab_courses_used', + 'previous_week_therapeutic_a_casirivimab_imdevimab_courses_used', int), + ('previous_week_therapeutic_b_bamlanivimab_courses_used', + 'previous_week_therapeutic_b_bamlanivimab_courses_used', int), + ('previous_week_therapeutic_c_bamlanivimab_etesevimab_courses_used', + 'previous_week_therapeutic_c_bamlanivimab_etesevimab_courses_used', int), + ('staffed_adult_icu_bed_occupancy', 'staffed_adult_icu_bed_occupancy', int), + ('staffed_adult_icu_bed_occupancy_coverage', 'staffed_adult_icu_bed_occupancy_coverage', int), + ('staffed_icu_adult_patients_confirmed_and_suspected_covid', + 'staffed_icu_adult_patients_confirmed_suspected_covid', int), + ('staffed_icu_adult_patients_confirmed_and_suspected_covid_coverage', + 'staffed_icu_adult_patients_confirmed_suspected_covid_coverage', int), + ('staffed_icu_adult_patients_confirmed_covid', 'staffed_icu_adult_patients_confirmed_covid', + int), + ('staffed_icu_adult_patients_confirmed_covid_coverage', + 'staffed_icu_adult_patients_confirmed_covid_coverage', int), + ('state', 'state', str), + ('total_adult_patients_hospitalized_confirmed_and_suspected_covid', + 'total_adult_patients_hosp_confirmed_suspected_covid', int), + ('total_adult_patients_hospitalized_confirmed_and_suspected_covid_coverage', + 'total_adult_patients_hosp_confirmed_suspected_covid_coverage', int), + ('total_adult_patients_hospitalized_confirmed_covid', + 'total_adult_patients_hosp_confirmed_covid', int), + ('total_adult_patients_hospitalized_confirmed_covid_coverage', + 'total_adult_patients_hosp_confirmed_covid_coverage', int), + ('total_patients_hospitalized_confirmed_influenza', + 'total_patients_hospitalized_confirmed_influenza', int), + ('total_patients_hospitalized_confirmed_influenza_coverage', + 'total_patients_hospitalized_confirmed_influenza_coverage', int), + ('total_patients_hospitalized_confirmed_influenza_covid', + 'total_patients_hospitalized_confirmed_influenza_covid', int), + ('total_patients_hospitalized_confirmed_influenza_covid_coverage', + 'total_patients_hospitalized_confirmed_influenza_covid_coverage', int), + ('total_pediatric_patients_hospitalized_confirmed_and_suspected_covid', + 'total_pediatric_patients_hosp_confirmed_suspected_covid', int), + ('total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_coverage', + 'total_pediatric_patients_hosp_confirmed_suspected_covid_coverage', int), + ('total_pediatric_patients_hospitalized_confirmed_covid', + 'total_pediatric_patients_hosp_confirmed_covid', int), + ('total_pediatric_patients_hospitalized_confirmed_covid_coverage', + 'total_pediatric_patients_hosp_confirmed_covid_coverage', int), + ('total_staffed_adult_icu_beds', 'total_staffed_adult_icu_beds', int), + ('total_staffed_adult_icu_beds_coverage', 'total_staffed_adult_icu_beds_coverage', int), ] def __init__(self, *args, **kwargs): diff --git a/src/ddl/covid_hosp.sql b/src/ddl/covid_hosp.sql index 237e053c2..a1c98345a 100644 --- a/src/ddl/covid_hosp.sql +++ b/src/ddl/covid_hosp.sql @@ -983,75 +983,41 @@ version entitled "Wed, 12/09/2020 - 17:23". CREATE TABLE `covid_hosp_facility` ( `id` INT NOT NULL AUTO_INCREMENT, `publication_date` INT NOT NULL, - `hospital_pk` VARCHAR(128) NOT NULL, - `collection_week` INT NOT NULL, - `state` CHAR(2) NOT NULL, - `ccn` VARCHAR(20), - `hospital_name` VARCHAR(256), `address` VARCHAR(128), + `ccn` VARCHAR(20), `city` VARCHAR(64), - `zip` CHAR(5), - `hospital_subtype` VARCHAR(64), + `collection_week` INT NOT NULL, `fips_code` CHAR(5), + `geocoded_hospital_address` VARCHAR(32), + `hhs_ids` VARCHAR(127), + `hospital_name` VARCHAR(256), + `hospital_pk` VARCHAR(128) NOT NULL, + `hospital_subtype` VARCHAR(64), `is_metro_micro` BOOLEAN, - `total_beds_7_day_avg` DOUBLE, - `all_adult_hospital_beds_7_day_avg` DOUBLE, - `all_adult_hospital_inpatient_beds_7_day_avg` DOUBLE, - `inpatient_beds_used_7_day_avg` DOUBLE, - `all_adult_hospital_inpatient_bed_occupied_7_day_avg` DOUBLE, - `total_adult_patients_hosp_confirmed_suspected_covid_7d_avg` DOUBLE, - `total_adult_patients_hospitalized_confirmed_covid_7_day_avg` DOUBLE, - `total_pediatric_patients_hosp_confirmed_suspected_covid_7d_avg` DOUBLE, - `total_pediatric_patients_hospitalized_confirmed_covid_7_day_avg` DOUBLE, - `inpatient_beds_7_day_avg` DOUBLE, - `total_icu_beds_7_day_avg` DOUBLE, - `total_staffed_adult_icu_beds_7_day_avg` DOUBLE, - `icu_beds_used_7_day_avg` DOUBLE, - `staffed_adult_icu_bed_occupancy_7_day_avg` DOUBLE, - `staffed_icu_adult_patients_confirmed_suspected_covid_7d_avg` DOUBLE, - `staffed_icu_adult_patients_confirmed_covid_7_day_avg` DOUBLE, - `total_patients_hospitalized_confirmed_influenza_7_day_avg` DOUBLE, - `icu_patients_confirmed_influenza_7_day_avg` DOUBLE, - `total_patients_hosp_confirmed_influenza_and_covid_7d_avg` DOUBLE, - `total_beds_7_day_sum` INT, + `state` CHAR(2) NOT NULL, + `zip` CHAR(5), + -- the below have been relisted in alphabetical order for easier management + `all_adult_hospital_beds_7_day_coverage` INT, `all_adult_hospital_beds_7_day_sum` INT, - `all_adult_hospital_inpatient_beds_7_day_sum` INT, - `inpatient_beds_used_7_day_sum` INT, + `all_adult_hospital_inpatient_bed_occupied_7_day_avg` DOUBLE, + `all_adult_hospital_inpatient_bed_occupied_7_day_coverage` INT, `all_adult_hospital_inpatient_bed_occupied_7_day_sum` INT, - `total_adult_patients_hosp_confirmed_suspected_covid_7d_sum` INT, - `total_adult_patients_hospitalized_confirmed_covid_7_day_sum` INT, - `total_pediatric_patients_hosp_confirmed_suspected_covid_7d_sum` INT, - `total_pediatric_patients_hospitalized_confirmed_covid_7_day_sum` INT, - `inpatient_beds_7_day_sum` INT, - `total_icu_beds_7_day_sum` INT, - `total_staffed_adult_icu_beds_7_day_sum` INT, - `icu_beds_used_7_day_sum` INT, - `staffed_adult_icu_bed_occupancy_7_day_sum` INT, - `staffed_icu_adult_patients_confirmed_suspected_covid_7d_sum` INT, - `staffed_icu_adult_patients_confirmed_covid_7_day_sum` INT, - `total_patients_hospitalized_confirmed_influenza_7_day_sum` INT, - `icu_patients_confirmed_influenza_7_day_sum` INT, - `total_patients_hosp_confirmed_influenza_and_covid_7d_sum` INT, - `total_beds_7_day_coverage` INT, - `all_adult_hospital_beds_7_day_coverage` INT, + `all_adult_hospital_inpatient_beds_7_day_avg` DOUBLE, `all_adult_hospital_inpatient_beds_7_day_coverage` INT, - `inpatient_beds_used_7_day_coverage` INT, - `all_adult_hospital_inpatient_bed_occupied_7_day_coverage` INT, - `total_adult_patients_hosp_confirmed_suspected_covid_7d_cov` INT, - `total_adult_patients_hospitalized_confirmed_covid_7_day_coverage` INT, - `total_pediatric_patients_hosp_confirmed_suspected_covid_7d_cov` INT, - `total_pediatric_patients_hosp_confirmed_covid_7d_cov` INT, - `inpatient_beds_7_day_coverage` INT, - `total_icu_beds_7_day_coverage` INT, - `total_staffed_adult_icu_beds_7_day_coverage` INT, + `all_adult_hospital_inpatient_beds_7_day_sum` INT, + `icu_beds_used_7_day_avg` DOUBLE, `icu_beds_used_7_day_coverage` INT, - `staffed_adult_icu_bed_occupancy_7_day_coverage` INT, - `staffed_icu_adult_patients_confirmed_suspected_covid_7d_cov` INT, - `staffed_icu_adult_patients_confirmed_covid_7_day_coverage` INT, - `total_patients_hospitalized_confirmed_influenza_7_day_coverage` INT, + `icu_beds_used_7_day_sum` INT, + `icu_patients_confirmed_influenza_7_day_avg` DOUBLE, `icu_patients_confirmed_influenza_7_day_coverage` INT, - `total_patients_hosp_confirmed_influenza_and_covid_7d_cov` INT, - `previous_day_admission_adult_covid_confirmed_7_day_sum` INT, + `icu_patients_confirmed_influenza_7_day_sum` INT, + `inpatient_beds_7_day_avg` DOUBLE, + `inpatient_beds_7_day_coverage` INT, + `inpatient_beds_7_day_sum` INT, + `inpatient_beds_used_7_day_avg` DOUBLE, + `inpatient_beds_used_7_day_coverage` INT, + `inpatient_beds_used_7_day_sum` INT, + `is_corrected` BOOLEAN, `previous_day_admission_adult_covid_confirmed_18_19_7_day_sum` INT, `previous_day_admission_adult_covid_confirmed_20_29_7_day_sum` INT, `previous_day_admission_adult_covid_confirmed_30_39_7_day_sum` INT, @@ -1059,11 +1025,10 @@ CREATE TABLE `covid_hosp_facility` ( `previous_day_admission_adult_covid_confirmed_50_59_7_day_sum` INT, `previous_day_admission_adult_covid_confirmed_60_69_7_day_sum` INT, `previous_day_admission_adult_covid_confirmed_70_79_7_day_sum` INT, + `previous_day_admission_adult_covid_confirmed_7_day_coverage` INT, + `previous_day_admission_adult_covid_confirmed_7_day_sum` INT, `previous_day_admission_adult_covid_confirmed_80plus_7_day_sum` INT, `previous_day_admission_adult_covid_confirmed_unknown_7_day_sum` INT, - `previous_day_admission_pediatric_covid_confirmed_7_day_sum` INT, - `previous_day_covid_ed_visits_7_day_sum` INT, - `previous_day_admission_adult_covid_suspected_7_day_sum` INT, `previous_day_admission_adult_covid_suspected_18_19_7_day_sum` INT, `previous_day_admission_adult_covid_suspected_20_29_7_day_sum` INT, `previous_day_admission_adult_covid_suspected_30_39_7_day_sum` INT, @@ -1071,11 +1036,70 @@ CREATE TABLE `covid_hosp_facility` ( `previous_day_admission_adult_covid_suspected_50_59_7_day_sum` INT, `previous_day_admission_adult_covid_suspected_60_69_7_day_sum` INT, `previous_day_admission_adult_covid_suspected_70_79_7_day_sum` INT, + `previous_day_admission_adult_covid_suspected_7_day_coverage` INT, + `previous_day_admission_adult_covid_suspected_7_day_sum` INT, `previous_day_admission_adult_covid_suspected_80plus_7_day_sum` INT, `previous_day_admission_adult_covid_suspected_unknown_7_day_sum` INT, + `previous_day_admission_influenza_confirmed_7_day_sum` INT, + `previous_day_admission_pediatric_covid_confirmed_7_day_coverage` INT, + `previous_day_admission_pediatric_covid_confirmed_7_day_sum` INT, + `previous_day_admission_pediatric_covid_suspected_7_day_coverage` INT, `previous_day_admission_pediatric_covid_suspected_7_day_sum` INT, + `previous_day_covid_ed_visits_7_day_sum` INT, `previous_day_total_ed_visits_7_day_sum` INT, - `previous_day_admission_influenza_confirmed_7_day_sum` INT, + `previous_week_patients_covid_vaccinated_doses_all_7_day_sum` INT, + `previous_week_patients_covid_vaccinated_doses_all_7_day` INT, + `previous_week_patients_covid_vaccinated_doses_one_7_day_sum` INT, + `previous_week_patients_covid_vaccinated_doses_one_7_day` INT, + `previous_week_personnel_covid_vaccd_doses_administered_7_day_sum` INT, + `previous_week_personnel_covid_vaccd_doses_administered_7_day` INT, + `staffed_adult_icu_bed_occupancy_7_day_avg` DOUBLE, + `staffed_adult_icu_bed_occupancy_7_day_coverage` INT, + `staffed_adult_icu_bed_occupancy_7_day_sum` INT, + `staffed_icu_adult_patients_confirmed_covid_7_day_avg` DOUBLE, + `staffed_icu_adult_patients_confirmed_covid_7_day_coverage` INT, + `staffed_icu_adult_patients_confirmed_covid_7_day_sum` INT, + `staffed_icu_adult_patients_confirmed_suspected_covid_7_day_sum` INT, + `staffed_icu_adult_patients_confirmed_suspected_covid_7d_avg` DOUBLE, + `staffed_icu_adult_patients_confirmed_suspected_covid_7d_cov` INT, + `staffed_icu_adult_patients_confirmed_suspected_covid_7d_sum` INT, + `total_adult_patients_hosp_confirmed_susp_covid_7_day_coverage` INT, + `total_adult_patients_hosp_confirmed_suspected_covid_7d_avg` DOUBLE, + `total_adult_patients_hosp_confirmed_suspected_covid_7d_cov` INT, + `total_adult_patients_hosp_confirmed_suspected_covid_7d_sum` INT, + `total_adult_patients_hospitalized_confirmed_covid_7_day_avg` DOUBLE, + `total_adult_patients_hospitalized_confirmed_covid_7_day_coverage` INT, + `total_adult_patients_hospitalized_confirmed_covid_7_day_sum` INT, + `total_beds_7_day_avg` DOUBLE, + `total_beds_7_day_coverage` INT, + `total_beds_7_day_sum` INT, + `total_icu_beds_7_day_avg` DOUBLE, + `total_icu_beds_7_day_coverage` INT, + `total_icu_beds_7_day_sum` INT, + `total_patients_hosp_confirmed_influenza_and_covid_7d_avg` DOUBLE, + `total_patients_hosp_confirmed_influenza_and_covid_7d_cov` INT, + `total_patients_hosp_confirmed_influenza_and_covid_7d_sum` INT, + `total_patients_hospitalized_confirmed_influenza_7_day_avg` DOUBLE, + `total_patients_hospitalized_confirmed_influenza_7_day_coverage` INT, + `total_patients_hospitalized_confirmed_influenza_7_day_sum` INT, + `total_patients_hospitalized_confirmed_influenza_covid_7_day_sum` INT, + `total_pediatric_patients_hosp_confirmd_susp_covid_7_day_coverage` INT, + `total_pediatric_patients_hosp_confirmed_covid_7_day_coverage` INT, + `total_pediatric_patients_hosp_confirmed_covid_7d_cov` INT, + `total_pediatric_patients_hosp_confirmed_suspected_covid_7d_avg` DOUBLE, + `total_pediatric_patients_hosp_confirmed_suspected_covid_7d_cov` INT, + `total_pediatric_patients_hosp_confirmed_suspected_covid_7d_sum` INT, + `total_pediatric_patients_hospitalized_confirmed_covid_7_day_avg` DOUBLE, + `total_pediatric_patients_hospitalized_confirmed_covid_7_day_sum` INT, + `total_personnel_covid_vaccinated_doses_all_7_day_sum` INT, + `total_personnel_covid_vaccinated_doses_all_7_day` INT, + `total_personnel_covid_vaccinated_doses_none_7_day_sum` INT, + `total_personnel_covid_vaccinated_doses_none_7_day` INT, + `total_personnel_covid_vaccinated_doses_one_7_day_sum` INT, + `total_personnel_covid_vaccinated_doses_one_7_day` INT, + `total_staffed_adult_icu_beds_7_day_avg` DOUBLE, + `total_staffed_adult_icu_beds_7_day_coverage` INT, + `total_staffed_adult_icu_beds_7_day_sum` INT, PRIMARY KEY (`id`), -- for uniqueness -- for fast lookup of most recent publication date for a given hospital and week From 62d4d4aedaf4472410d3236c47d9e002b78f8ad3 Mon Sep 17 00:00:00 2001 From: Andrew Chin Date: Sun, 10 Oct 2021 19:10:28 -0400 Subject: [PATCH 02/11] Update sql command and add migration file --- src/ddl/covid_hosp.sql | 58 +++++++++++++++++++ .../migrations/covid_hosp_state_v0.2-v0.3.sql | 58 +++++++++++++++++++ 2 files changed, 116 insertions(+) create mode 100644 src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql diff --git a/src/ddl/covid_hosp.sql b/src/ddl/covid_hosp.sql index a1c98345a..407fa34cb 100644 --- a/src/ddl/covid_hosp.sql +++ b/src/ddl/covid_hosp.sql @@ -438,6 +438,64 @@ CREATE TABLE `covid_hosp_state_timeseries` ( `adult_icu_bed_utilization_numerator` INT, `adult_icu_bed_utilization_denominator` INT, `record_type` CHAR(1) NOT NULL, + -- new columns added Oct 10 + `geocoded_state` INT, + `previous_day_admission_adult_covid_confirmed_18-19` INT, + `previous_day_admission_adult_covid_confirmed_18-19_coverage` INT, + `previous_day_admission_adult_covid_confirmed_20-29` INT, + `previous_day_admission_adult_covid_confirmed_20-29_coverage` INT, + `previous_day_admission_adult_covid_confirmed_30-39` INT, + `previous_day_admission_adult_covid_confirmed_30-39_coverage` INT, + `previous_day_admission_adult_covid_confirmed_40-49` INT, + `previous_day_admission_adult_covid_confirmed_40-49_coverage` INT, + `previous_day_admission_adult_covid_confirmed_50-59` INT, + `previous_day_admission_adult_covid_confirmed_50-59_coverage` INT, + `previous_day_admission_adult_covid_confirmed_60-69` INT, + `previous_day_admission_adult_covid_confirmed_60-69_coverage` INT, + `previous_day_admission_adult_covid_confirmed_70-79` INT, + `previous_day_admission_adult_covid_confirmed_70-79_coverage` INT, + `previous_day_admission_adult_covid_confirmed_80+` INT, + `previous_day_admission_adult_covid_confirmed_80+_coverage` INT, + `previous_day_admission_adult_covid_confirmed_unknown` INT, + `previous_day_admission_adult_covid_confirmed_unknown_coverage` INT, + `previous_day_admission_adult_covid_suspected_18-19` INT, + `previous_day_admission_adult_covid_suspected_18-19_coverage` INT, + `previous_day_admission_adult_covid_suspected_20-29` INT, + `previous_day_admission_adult_covid_suspected_20-29_coverage` INT, + `previous_day_admission_adult_covid_suspected_30-39` INT, + `previous_day_admission_adult_covid_suspected_30-39_coverage` INT, + `previous_day_admission_adult_covid_suspected_40-49` INT, + `previous_day_admission_adult_covid_suspected_40-49_coverage` INT, + `previous_day_admission_adult_covid_suspected_50-59` INT, + `previous_day_admission_adult_covid_suspected_50-59_coverage` INT, + `previous_day_admission_adult_covid_suspected_60-69` INT, + `previous_day_admission_adult_covid_suspected_60-69_coverage` INT, + `previous_day_admission_adult_covid_suspected_70-79` INT, + `previous_day_admission_adult_covid_suspected_70-79_coverage` INT, + `previous_day_admission_adult_covid_suspected_80+` INT, + `previous_day_admission_adult_covid_suspected_80+_coverage` INT, + `previous_day_admission_adult_covid_suspected_unknown` INT, + `previous_day_admission_adult_covid_suspected_unknown_coverage` INT, + `deaths_covid` INT, + `deaths_covid_coverage` INT, + `on_hand_supply_therapeutic_a_casirivimab_imdevimab_courses` INT, + `on_hand_supply_therapeutic_b_bamlanivimab_courses` INT, + `on_hand_supply_therapeutic_c_bamlanivimab_etesevimab_courses` INT, + `previous_week_therapeutic_a_casirivimab_imdevimab_courses_used` INT, + `previous_week_therapeutic_b_bamlanivimab_courses_used` INT, + `previous_week_therapeutic_c_bamlanivimab_etesevimab_courses_used` INT, + `icu_patients_confirmed_influenza` INT, + `icu_patients_confirmed_influenza_coverage` INT, + `previous_day_admission_influenza_confirmed` INT, + `previous_day_admission_influenza_confirmed_coverage` INT, + `previous_day_deaths_covid_and_influenza` INT, + `previous_day_deaths_covid_and_influenza_coverage` INT, + `previous_day_deaths_influenza` INT, + `previous_day_deaths_influenza_coverage` INT, + `total_patients_hospitalized_confirmed_influenza` INT, + `total_patients_hospitalized_confirmed_influenza_covid` INT, + `total_patients_hospitalized_confirmed_influenza_covid_coverage` INT, + `total_patients_hospitalized_confirmed_influenza_coverage` INT, PRIMARY KEY (`id`), -- for uniqueness -- for fast lookup of most recent issue for a given state, date, and record type diff --git a/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql b/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql new file mode 100644 index 000000000..901e3ba0f --- /dev/null +++ b/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql @@ -0,0 +1,58 @@ +ALTER TABLE state_timeseries ADD + `geocoded_state` INT, + `previous_day_admission_adult_covid_confirmed_18-19` INT, + `previous_day_admission_adult_covid_confirmed_18-19_coverage` INT, + `previous_day_admission_adult_covid_confirmed_20-29` INT, + `previous_day_admission_adult_covid_confirmed_20-29_coverage` INT, + `previous_day_admission_adult_covid_confirmed_30-39` INT, + `previous_day_admission_adult_covid_confirmed_30-39_coverage` INT, + `previous_day_admission_adult_covid_confirmed_40-49` INT, + `previous_day_admission_adult_covid_confirmed_40-49_coverage` INT, + `previous_day_admission_adult_covid_confirmed_50-59` INT, + `previous_day_admission_adult_covid_confirmed_50-59_coverage` INT, + `previous_day_admission_adult_covid_confirmed_60-69` INT, + `previous_day_admission_adult_covid_confirmed_60-69_coverage` INT, + `previous_day_admission_adult_covid_confirmed_70-79` INT, + `previous_day_admission_adult_covid_confirmed_70-79_coverage` INT, + `previous_day_admission_adult_covid_confirmed_80+` INT, + `previous_day_admission_adult_covid_confirmed_80+_coverage` INT, + `previous_day_admission_adult_covid_confirmed_unknown` INT, + `previous_day_admission_adult_covid_confirmed_unknown_coverage` INT, + `previous_day_admission_adult_covid_suspected_18-19` INT, + `previous_day_admission_adult_covid_suspected_18-19_coverage` INT, + `previous_day_admission_adult_covid_suspected_20-29` INT, + `previous_day_admission_adult_covid_suspected_20-29_coverage` INT, + `previous_day_admission_adult_covid_suspected_30-39` INT, + `previous_day_admission_adult_covid_suspected_30-39_coverage` INT, + `previous_day_admission_adult_covid_suspected_40-49` INT, + `previous_day_admission_adult_covid_suspected_40-49_coverage` INT, + `previous_day_admission_adult_covid_suspected_50-59` INT, + `previous_day_admission_adult_covid_suspected_50-59_coverage` INT, + `previous_day_admission_adult_covid_suspected_60-69` INT, + `previous_day_admission_adult_covid_suspected_60-69_coverage` INT, + `previous_day_admission_adult_covid_suspected_70-79` INT, + `previous_day_admission_adult_covid_suspected_70-79_coverage` INT, + `previous_day_admission_adult_covid_suspected_80+` INT, + `previous_day_admission_adult_covid_suspected_80+_coverage` INT, + `previous_day_admission_adult_covid_suspected_unknown` INT, + `previous_day_admission_adult_covid_suspected_unknown_coverage` INT, + `deaths_covid` INT, + `deaths_covid_coverage` INT, + `on_hand_supply_therapeutic_a_casirivimab_imdevimab_courses` INT, + `on_hand_supply_therapeutic_b_bamlanivimab_courses` INT, + `on_hand_supply_therapeutic_c_bamlanivimab_etesevimab_courses` INT, + `previous_week_therapeutic_a_casirivimab_imdevimab_courses_used` INT, + `previous_week_therapeutic_b_bamlanivimab_courses_used` INT, + `previous_week_therapeutic_c_bamlanivimab_etesevimab_courses_used` INT, + `icu_patients_confirmed_influenza` INT, + `icu_patients_confirmed_influenza_coverage` INT, + `previous_day_admission_influenza_confirmed` INT, + `previous_day_admission_influenza_confirmed_coverage` INT, + `previous_day_deaths_covid_and_influenza` INT, + `previous_day_deaths_covid_and_influenza_coverage` INT, + `previous_day_deaths_influenza` INT, + `previous_day_deaths_influenza_coverage` INT, + `total_patients_hospitalized_confirmed_influenza` INT, + `total_patients_hospitalized_confirmed_influenza_covid` INT, + `total_patients_hospitalized_confirmed_influenza_covid_coverage` INT, + `total_patients_hospitalized_confirmed_influenza_coverage` INT; \ No newline at end of file From 7f0bd174576a2cb07e65165585e046dccd834d7e Mon Sep 17 00:00:00 2001 From: Andrew Chin Date: Sun, 10 Oct 2021 19:10:37 -0400 Subject: [PATCH 03/11] Update test data with new columns and update corresponding tests --- .../covid_hosp/state_daily/test_scenarios.py | 3 +- .../state_timeseries/test_scenarios.py | 3 +- .../covid_hosp/state_daily/database.py | 4 +- .../covid_hosp/state_timeseries/database.py | 4 +- .../covid_hosp/state_daily/dataset.csv | 108 +++++++++--------- .../covid_hosp/state_daily/dataset0.csv | 108 +++++++++--------- .../covid_hosp/state_timeseries/dataset.csv | 46 ++++---- .../covid_hosp/state_timeseries/dataset2.csv | 4 +- .../covid_hosp/state_daily/test_database.py | 15 ++- .../state_timeseries/test_database.py | 15 ++- 10 files changed, 159 insertions(+), 151 deletions(-) diff --git a/integrations/acquisition/covid_hosp/state_daily/test_scenarios.py b/integrations/acquisition/covid_hosp/state_daily/test_scenarios.py index 30894b69c..c84f7cdf3 100644 --- a/integrations/acquisition/covid_hosp/state_daily/test_scenarios.py +++ b/integrations/acquisition/covid_hosp/state_daily/test_scenarios.py @@ -75,13 +75,14 @@ def test_acquire_dataset(self): self.assertEqual(row['date'], 20201209) self.assertEqual(row['issue'], 20210315) self.assertEqual(row['critical_staffing_shortage_today_yes'], 8) + self.assertEqual(row['total_patients_hospitalized_confirmed_influenza_covid_coverage'], 56) actual = row['inpatient_bed_covid_utilization'] expected = 0.11729857819905214 self.assertAlmostEqual(actual, expected) self.assertIsNone(row['critical_staffing_shortage_today_no']) # expect 61 fields per row (63 database columns, except `id` and `record_type`) - self.assertEqual(len(row), 61) + self.assertEqual(len(row), 118) with self.subTest(name='all date batches acquired'): response = Epidata.covid_hosp('WY', Epidata.range(20200101, 20210101), issues=20210313) diff --git a/integrations/acquisition/covid_hosp/state_timeseries/test_scenarios.py b/integrations/acquisition/covid_hosp/state_timeseries/test_scenarios.py index ab94c29e1..5d13ccbb0 100644 --- a/integrations/acquisition/covid_hosp/state_timeseries/test_scenarios.py +++ b/integrations/acquisition/covid_hosp/state_timeseries/test_scenarios.py @@ -71,13 +71,14 @@ def test_acquire_dataset(self): self.assertEqual(row['date'], 20200826) self.assertEqual(row['issue'], 20210315) self.assertEqual(row['critical_staffing_shortage_today_yes'], 2) + self.assertEqual(row['total_patients_hospitalized_confirmed_influenza_covid_coverage'], 56) actual = row['inpatient_bed_covid_utilization'] expected = 0.011946591707659873 self.assertAlmostEqual(actual, expected) self.assertIsNone(row['critical_staffing_shortage_today_no']) # expect 61 fields per row (63 database columns, except `id` and `record_type`) - self.assertEqual(len(row), 61) + self.assertEqual(len(row), 118) # re-acquisition of the same dataset should be a no-op with self.subTest(name='second acquisition'): diff --git a/src/acquisition/covid_hosp/state_daily/database.py b/src/acquisition/covid_hosp/state_daily/database.py index 9eade407d..584fbb7ad 100644 --- a/src/acquisition/covid_hosp/state_daily/database.py +++ b/src/acquisition/covid_hosp/state_daily/database.py @@ -19,6 +19,8 @@ class Database(BaseDatabase): # except for reporting_cutoff_start (here) and date (there). If you need # to update a column name, do it in both places. ORDERED_CSV_COLUMNS = [ + ('state', 'state', str), + ('reporting_cutoff_start', 'date', Utils.int_from_date), ('adult_icu_bed_covid_utilization', 'adult_icu_bed_covid_utilization', float), ('adult_icu_bed_covid_utilization_coverage', 'adult_icu_bed_covid_utilization_coverage', int), ('adult_icu_bed_covid_utilization_denominator', 'adult_icu_bed_covid_utilization_denominator', @@ -39,7 +41,6 @@ class Database(BaseDatabase): ('critical_staffing_shortage_today_not_reported', 'critical_staffing_shortage_today_not_reported', int), ('critical_staffing_shortage_today_yes', 'critical_staffing_shortage_today_yes', int), - ('reporting_cutoff_start', 'date', Utils.int_from_date), ('deaths_covid', 'deaths_covid', int), ('deaths_covid_coverage', 'deaths_covid_coverage', int), ('geocoded_state', 'geocoded_state', int), @@ -190,7 +191,6 @@ class Database(BaseDatabase): int), ('staffed_icu_adult_patients_confirmed_covid_coverage', 'staffed_icu_adult_patients_confirmed_covid_coverage', int), - ('state', 'state', str), ('total_adult_patients_hospitalized_confirmed_and_suspected_covid', 'total_adult_patients_hosp_confirmed_suspected_covid', int), ('total_adult_patients_hospitalized_confirmed_and_suspected_covid_coverage', diff --git a/src/acquisition/covid_hosp/state_timeseries/database.py b/src/acquisition/covid_hosp/state_timeseries/database.py index 43c59f89f..3e60c4c71 100644 --- a/src/acquisition/covid_hosp/state_timeseries/database.py +++ b/src/acquisition/covid_hosp/state_timeseries/database.py @@ -16,6 +16,8 @@ class Database(BaseDatabase): # except for reporting_cutoff_start (there) and date (here). If you need # to update a column name, do it in both places. ORDERED_CSV_COLUMNS = [ + ('state', 'state', str), + ('date', 'date', Utils.int_from_date), ('adult_icu_bed_covid_utilization', 'adult_icu_bed_covid_utilization', float), ('adult_icu_bed_covid_utilization_coverage', 'adult_icu_bed_covid_utilization_coverage', int), ('adult_icu_bed_covid_utilization_denominator', 'adult_icu_bed_covid_utilization_denominator', @@ -36,7 +38,6 @@ class Database(BaseDatabase): ('critical_staffing_shortage_today_not_reported', 'critical_staffing_shortage_today_not_reported', int), ('critical_staffing_shortage_today_yes', 'critical_staffing_shortage_today_yes', int), - ('date', 'date', Utils.int_from_date), ('deaths_covid', 'deaths_covid', int), ('deaths_covid_coverage', 'deaths_covid_coverage', int), ('geocoded_state', 'geocoded_state', int), @@ -187,7 +188,6 @@ class Database(BaseDatabase): int), ('staffed_icu_adult_patients_confirmed_covid_coverage', 'staffed_icu_adult_patients_confirmed_covid_coverage', int), - ('state', 'state', str), ('total_adult_patients_hospitalized_confirmed_and_suspected_covid', 'total_adult_patients_hosp_confirmed_suspected_covid', int), ('total_adult_patients_hospitalized_confirmed_and_suspected_covid_coverage', diff --git a/testdata/acquisition/covid_hosp/state_daily/dataset.csv b/testdata/acquisition/covid_hosp/state_daily/dataset.csv index 6191abd4c..fed00532c 100644 --- a/testdata/acquisition/covid_hosp/state_daily/dataset.csv +++ b/testdata/acquisition/covid_hosp/state_daily/dataset.csv @@ -1,54 +1,54 @@ -state,critical_staffing_shortage_today_yes,critical_staffing_shortage_today_no,critical_staffing_shortage_today_not_reported,critical_staffing_shortage_anticipated_within_week_yes,critical_staffing_shortage_anticipated_within_week_no,critical_staffing_shortage_anticipated_within_week_not_reported,hospital_onset_covid,hospital_onset_covid_coverage,inpatient_beds,inpatient_beds_coverage,inpatient_beds_used,inpatient_beds_used_coverage,inpatient_beds_used_covid,inpatient_beds_used_covid_coverage,previous_day_admission_adult_covid_confirmed,previous_day_admission_adult_covid_confirmed_coverage,previous_day_admission_adult_covid_suspected,previous_day_admission_adult_covid_suspected_coverage,previous_day_admission_pediatric_covid_confirmed,previous_day_admission_pediatric_covid_confirmed_coverage,previous_day_admission_pediatric_covid_suspected,previous_day_admission_pediatric_covid_suspected_coverage,staffed_adult_icu_bed_occupancy,staffed_adult_icu_bed_occupancy_coverage,staffed_icu_adult_patients_confirmed_and_suspected_covid,staffed_icu_adult_patients_confirmed_and_suspected_covid_coverage,staffed_icu_adult_patients_confirmed_covid,staffed_icu_adult_patients_confirmed_covid_coverage,total_adult_patients_hospitalized_confirmed_and_suspected_covid,total_adult_patients_hospitalized_confirmed_and_suspected_covid_coverage,total_adult_patients_hospitalized_confirmed_covid,total_adult_patients_hospitalized_confirmed_covid_coverage,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_coverage,total_pediatric_patients_hospitalized_confirmed_covid,total_pediatric_patients_hospitalized_confirmed_covid_coverage,total_staffed_adult_icu_beds,total_staffed_adult_icu_beds_coverage,inpatient_beds_utilization,inpatient_beds_utilization_coverage,inpatient_beds_utilization_numerator,inpatient_beds_utilization_denominator,percent_of_inpatients_with_covid,percent_of_inpatients_with_covid_coverage,percent_of_inpatients_with_covid_numerator,percent_of_inpatients_with_covid_denominator,inpatient_bed_covid_utilization,inpatient_bed_covid_utilization_coverage,inpatient_bed_covid_utilization_numerator,inpatient_bed_covid_utilization_denominator,adult_icu_bed_covid_utilization,adult_icu_bed_covid_utilization_coverage,adult_icu_bed_covid_utilization_numerator,adult_icu_bed_covid_utilization_denominator,adult_icu_bed_utilization,adult_icu_bed_utilization_coverage,adult_icu_bed_utilization_numerator,adult_icu_bed_utilization_denominator,reporting_cutoff_start -AK,4,20,0,3,21,0,2,24,1625,24,936,24,140,24,18,24,1,24,1,24,1,24,96,24,22,24,21,24,129,24,123,24,11,24,10,24,131,24,0.576,24,936,1625,0.14957264957264957,24,140,936,0.08615384615384615,24,140,1625,0.16793893129770993,24,22,131,0.732824427480916,24,96,131,2020-12-09 -AL,36,74,7,40,69,8,35,111,15116,116,11358,116,2484,111,336,113,110,111,4,111,8,111,1274,116,605,111,584,113,2464,111,2271,113,20,111,14,111,1458,116,0.7513892564170416,116,11358,15116,0.2200567298014457,110,2405,10929,0.1648954405210833,110,2405,14585,0.41051136363636365,110,578,1408,0.8737997256515775,116,1274,1458,2020-12-09 -AR,37,71,2,42,66,2,7,108,9297,110,6743,110,1205,108,153,110,272,108,0,108,10,108,815,110,311,108,308,110,1177,108,975,110,28,108,10,108,1027,110,0.7252877272238356,110,6743,9297,0.17899584076054664,108,1205,6732,0.13018582541054452,108,1205,9256,0.3079207920792079,108,311,1010,0.7935735150925024,110,815,1027,2020-12-09 -AZ,38,81,3,42,77,3,60,119,16657,122,12769,122,3711,119,459,122,267,119,6,119,10,119,1532,122,774,119,755,122,3664,119,3185,122,47,119,26,119,2155,122,0.7665846190790658,122,12769,16657,0.2965241709948062,119,3711,12515,0.22704190884062406,119,3711,16345,0.3712230215827338,119,774,2085,0.7109048723897912,122,1532,2155,2020-12-09 -CA,113,275,27,137,253,25,114,407,67724,415,51751,415,14178,405,1964,415,593,407,29,405,16,405,6548,413,2939,405,2933,413,14008,405,13314,413,170,405,131,405,7872,413,0.7641456499911405,415,51751,67724,0.27808178876140044,405,14178,50985,0.21271360628928931,405,14178,66653,0.38834566596194503,405,2939,7568,0.8318089430894309,413,6548,7872,2020-12-09 -CO,11,79,13,17,73,13,45,101,11800,103,7939,103,1664,101,221,103,100,101,5,101,10,101,1049,103,455,101,437,103,1636,101,1518,103,28,101,17,101,1538,103,0.6727966101694915,103,7939,11800,0.2117317724901387,101,1664,7859,0.14288167611196978,101,1664,11646,0.30333333333333334,101,455,1500,0.6820546163849155,103,1049,1538,2020-12-09 -CT,2,37,1,3,36,1,33,39,8858,40,6765,40,1394,39,166,40,78,39,3,39,1,39,665,40,264,39,249,40,1376,39,1231,40,18,39,15,39,1129,40,0.7637164145405283,40,6765,8858,0.20778059323297063,39,1394,6709,0.1591324200913242,39,1394,8760,0.23848238482384823,39,264,1107,0.5890168290522586,40,665,1129,2020-12-09 -DC,0,12,2,0,12,2,6,12,3645,14,2916,14,295,13,24,14,72,13,1,13,13,13,296,14,64,12,61,13,265,13,249,14,30,13,11,13,359,14,0.8,14,2916,3645,0.10464703795672224,13,295,2819,0.08399772209567198,13,295,3512,0.1887905604719764,12,64,339,0.8245125348189415,14,296,359,2020-12-09 -DE,1,14,1,3,12,1,5,15,3274,16,2379,16,434,15,43,16,26,15,8,15,1,15,156,16,57,15,55,16,426,15,395,16,8,15,7,15,186,16,0.726634086744044,16,2379,3274,0.18397626112759644,15,434,2359,0.1338679827267119,15,434,3242,0.31666666666666665,15,57,180,0.8387096774193549,16,156,186,2020-12-09 -FL,9,249,11,29,229,11,100,263,57986,269,43794,269,5248,263,677,269,269,263,10,263,11,263,4971,269,1015,263,977,269,5203,263,4790,269,45,263,29,263,6229,269,0.7552512675473391,269,43794,57986,0.12209478165786473,263,5248,42983,0.0922109184193418,263,5248,56913,0.1685766483972762,263,1015,6021,0.7980414191684059,269,4971,6229,2020-12-09 -GA,32,126,13,39,119,13,21,168,22424,171,17776,171,3268,168,470,171,172,168,11,168,51,168,2328,171,796,168,762,171,3200,168,2899,171,68,168,15,168,2632,171,0.7927220834819836,171,17776,22424,0.18588248677549626,168,3268,17581,0.14766616962631604,168,3268,22131,0.30876648564778897,168,796,2578,0.8844984802431611,171,2328,2632,2020-12-09 -HI,1,25,0,2,24,0,0,26,2645,26,1813,26,72,26,4,26,12,26,0,26,1,26,155,26,21,26,19,26,70,26,55,26,2,26,0,26,229,26,0.6854442344045368,26,1813,2645,0.039713182570325425,26,72,1813,0.02722117202268431,26,72,2645,0.09170305676855896,26,21,229,0.6768558951965066,26,155,229,2020-12-09 -IA,4,75,47,5,75,46,7,124,8452,126,4806,126,793,124,71,126,22,124,0,124,0,124,469,126,262,124,160,126,787,124,765,126,6,124,6,124,697,126,0.5686228111689541,126,4806,8452,0.1672642902341278,124,793,4741,0.09499281264973647,124,793,8348,0.3864306784660767,124,262,678,0.672883787661406,126,469,697,2020-12-09 -MT,16,50,1,18,48,1,9,66,3206,67,2177,67,356,66,54,67,20,66,1,66,0,66,159,67,71,66,72,67,352,66,352,67,4,66,2,66,237,67,0.6790393013100436,67,2177,3206,0.164967562557924,66,356,2158,0.11240922008209663,66,356,3167,0.3212669683257919,66,71,221,0.6708860759493671,67,159,237,2020-12-09 -NC,9,119,4,13,115,4,46,128,24092,132,18256,132,2824,128,326,132,265,128,4,128,18,128,2064,132,641,128,617,132,2785,128,2444,132,39,128,17,128,2496,132,0.7577619126681056,132,18256,24092,0.15652366699922404,128,2824,18042,0.11870533837746952,128,2824,23790,0.2632443531827515,128,641,2435,0.8269230769230769,132,2064,2496,2020-12-09 -ND,21,26,3,20,27,3,2,49,2573,50,1636,50,253,49,18,48,2,46,0,49,0,49,66,48,51,49,50,50,253,49,240,50,0,49,0,49,88,48,0.635833657209483,50,1636,2573,0.15694789081885857,49,253,1612,0.09933254809579897,49,253,2547,0.27380952380952384,47,23,84,0.75,48,66,88,2020-12-09 -NE,16,84,1,26,74,1,17,100,5399,101,3409,101,716,100,74,101,26,100,2,100,0,100,376,101,190,100,183,101,708,100,686,101,8,100,8,100,570,101,0.6314132246712354,101,3409,5399,0.21277860326894502,100,716,3365,0.13461176912953562,100,716,5319,0.34296028880866425,100,190,554,0.6596491228070176,101,376,570,2020-12-09 -NH,5,24,1,7,22,1,15,30,3117,30,2188,30,268,30,43,30,19,30,0,30,0,30,175,30,69,30,59,30,268,30,241,30,0,30,0,30,282,30,0.7019570099454604,30,2188,3117,0.12248628884826325,30,268,2188,0.08598010907924286,30,268,3117,0.24468085106382978,30,69,282,0.6205673758865248,30,175,282,2020-12-09 -NJ,11,83,2,10,82,4,161,95,23202,96,17216,96,3738,95,470,96,259,95,4,95,4,95,1606,96,679,95,666,96,3718,95,3430,96,20,95,7,95,2459,96,0.7420049995690027,96,17216,23202,0.21864763687412261,95,3738,17096,0.1621269951422623,95,3738,23056,0.27976926246394723,95,679,2427,0.6531110207401383,96,1606,2459,2020-12-09 -NM,18,35,1,18,35,1,10,52,4461,54,3079,53,837,52,140,54,19,53,0,52,1,50,431,53,218,52,219,53,828,52,792,53,9,52,3,52,432,54,0.6969216840199185,53,3079,4418,0.2781655034895314,52,837,3009,0.1943348038077548,52,837,4307,0.5304136253041363,52,218,411,0.9976851851851852,53,431,432,2020-12-09 -NV,9,51,2,15,45,2,80,60,8655,62,6900,62,1956,60,154,62,135,60,1,60,5,60,737,62,352,60,385,62,1949,60,1804,62,7,60,18,60,1065,62,0.7972270363951474,62,6900,8655,0.2885381324679156,60,1956,6779,0.23060598915350153,60,1956,8482,0.35918367346938773,60,352,980,0.692018779342723,62,737,1065,2020-12-09 -NY,23,171,10,22,172,10,174,195,59150,204,42745,204,7352,195,964,204,325,195,3,195,19,195,4180,204,1276,195,1159,204,7226,195,6247,204,126,195,51,195,6835,204,0.722654268808115,204,42745,59150,0.17334716589644442,195,7352,42412,0.12569670029064797,195,7352,58490,0.190504628247238,195,1276,6698,0.6115581565471836,204,4180,6835,2020-12-09 -OH,39,185,5,63,161,5,230,224,33828,229,22677,229,5436,225,604,229,282,225,19,225,37,225,3151,229,1225,225,1187,229,5338,225,5033,229,98,225,61,225,4234,229,0.6703618304363249,229,22677,33828,0.24215965787598004,225,5436,22448,0.16220571121654284,225,5436,33513,0.2939764818814495,225,1225,4167,0.7442135096835144,229,3151,4234,2020-12-09 -OK,48,96,11,56,88,11,50,153,10853,155,7667,155,1674,153,312,155,79,153,3,153,16,153,1060,155,443,153,492,155,1637,153,1657,155,37,153,31,153,1185,155,0.706440615498019,155,7667,10853,0.2268600081311831,153,1674,7379,0.15947413546727637,153,1674,10497,0.39695340501792115,153,443,1116,0.8945147679324894,155,1060,1185,2020-12-09 -OR,5,58,2,7,56,2,13,63,6621,65,4919,65,666,63,51,65,83,63,0,63,34,63,541,65,137,63,124,65,654,63,552,65,12,63,5,63,794,65,0.7429391330614711,65,4919,6621,0.13880783659858273,63,666,4798,0.10295254289689287,63,666,6469,0.17609254498714652,63,137,778,0.681360201511335,65,541,794,2020-12-09 -PA,41,181,6,44,178,6,132,222,37110,228,28259,228,7014,222,724,228,472,222,8,222,17,222,3256,228,1383,222,1360,228,6922,222,6360,228,92,222,58,222,3991,228,0.7614928590676368,228,28259,37110,0.2502140410958904,222,7014,28032,0.19097666566830943,222,7014,36727,0.35671911271601753,222,1383,3877,0.8158356301678777,228,3256,3991,2020-12-09 -PR,1,0,68,1,0,68,23,66,9298,69,5316,69,660,67,38,66,63,66,2,65,18,66,478,69,96,67,90,66,624,67,480,66,36,66,7,65,681,69,0.5717358571735858,69,5316,9298,0.13035749555599446,67,660,5063,0.07336594041796354,67,660,8996,0.1476923076923077,67,96,650,0.7019089574155654,69,478,681,2020-12-09 -RI,3,11,1,3,11,1,9,14,2291,15,1951,14,504,14,30,15,0,14,0,14,0,14,143,15,52,14,55,15,498,14,436,15,6,14,6,14,177,15,0.8515931907463989,14,1951,2291,0.26484498160798736,13,504,1903,0.2272317403065825,14,504,2218,0.32098765432098764,14,52,162,0.807909604519774,15,143,177,2020-12-09 -SC,22,63,2,31,54,2,12,85,11395,87,8947,87,1310,85,186,87,99,85,0,85,3,85,1015,87,295,85,291,87,1307,85,1112,87,3,85,1,85,1301,87,0.7851689337428697,87,8947,11395,0.1482571299230421,85,1310,8836,0.11671418389166073,85,1310,11224,0.23524720893141945,85,295,1254,0.7801691006917756,87,1015,1301,2020-12-09 -SD,11,50,3,14,47,3,88,61,2876,64,1748,64,444,61,45,64,12,61,0,61,0,61,176,64,83,61,89,64,440,61,440,64,4,61,4,61,261,64,0.60778859527121,64,1748,2876,0.2642857142857143,61,444,1680,0.16063675832127353,61,444,2764,0.33877551020408164,61,83,245,0.6743295019157088,64,176,261,2020-12-09 -TN,23,76,45,43,56,45,32,99,19907,144,12813,126,2815,99,311,99,123,99,0,99,4,99,1782,141,688,99,659,99,2791,99,2573,99,24,99,17,99,2134,144,0.6951120273422666,126,12813,18433,0.23564373011886824,99,2815,11946,0.1682304428375067,99,2815,16733,0.343142144638404,99,688,2005,0.8579682233991334,141,1782,2077,2020-12-09 -TX,147,439,5,176,410,5,87,586,71468,591,53428,591,9734,586,1154,591,714,586,16,586,63,586,6577,591,2712,586,2679,591,9612,586,9055,591,122,586,81,586,7939,591,0.747579336206414,591,53428,71468,0.18453430396784773,586,9734,52749,0.13793005724650004,586,9734,70572,0.35120435120435123,586,2712,7722,0.8284418692530545,591,6577,7939,2020-12-09 -UT,6,52,1,7,51,1,1,58,6217,59,3625,59,585,58,94,59,10,58,2,58,0,58,482,59,196,58,194,59,577,58,554,59,8,58,0,58,663,59,0.5830786552999839,59,3625,6217,0.16432584269662923,58,585,3560,0.09557261885312858,58,585,6121,0.30387596899224806,58,196,645,0.726998491704374,59,482,663,2020-12-09 -VA,30,70,8,39,61,8,33,105,19094,108,13128,108,2195,105,201,108,294,105,1,105,14,105,1467,108,450,105,397,108,2156,105,1702,108,39,105,22,105,2052,108,0.6875458259138997,108,13128,19094,0.16915844636251542,105,2195,12976,0.11655073541124622,105,2195,18833,0.22635814889336017,105,450,1988,0.7149122807017544,108,1467,2052,2020-12-09 -VI,1,1,0,2,0,0,0,2,168,2,88,2,3,2,0,2,0,2,0,2,1,2,13,2,2,2,2,2,2,2,2,2,1,2,0,2,20,2,0.5238095238095238,2,88,168,0.03409090909090909,2,3,88,0.017857142857142856,2,3,168,0.1,2,2,20,0.65,2,13,20,2020-12-09 -VT,0,16,1,1,15,1,0,16,1312,17,765,17,11,16,0,17,3,16,0,16,0,16,65,17,2,16,1,17,11,16,9,17,0,16,0,16,111,17,0.583079268292683,17,765,1312,0.014647137150466045,16,11,751,0.008627450980392156,16,11,1275,0.019230769230769232,16,2,104,0.5855855855855856,17,65,111,2020-12-09 -WA,13,89,2,20,82,2,24,102,13929,104,9476,104,1118,102,78,104,102,102,0,102,16,102,998,104,264,102,243,104,1100,102,996,104,18,102,13,102,1365,104,0.6803072725967406,104,9476,13929,0.1191262653169952,102,1118,9385,0.08090310442144873,102,1118,13819,0.19657483246463142,102,264,1343,0.7311355311355311,104,998,1365,2020-12-09 -WI,53,93,3,57,89,3,19,146,13998,149,8873,147,1630,144,355,149,85,146,2,146,1,146,1064,147,351,144,372,147,1619,144,1590,147,11,144,4,144,1660,149,0.6437640571718783,147,8873,13783,0.18962308050255933,144,1630,8596,0.1218509381774688,144,1630,13377,0.22229259024699177,144,351,1579,0.6409638554216868,147,1064,1660,2020-12-09 -WV,17,42,4,19,40,4,14,59,6240,63,4554,63,799,59,81,63,47,59,0,59,2,59,520,63,196,59,199,63,791,59,755,63,8,59,1,59,653,63,0.7298076923076923,63,4554,6240,0.18019846639603068,59,799,4434,0.13235050521782343,59,799,6037,0.327212020033389,59,196,599,0.7963246554364471,63,520,653,2020-12-09 -ID,7,44,1,8,43,1,9,51,3768,52,2206,52,480,51,67,52,12,51,1,51,0,51,241,52,115,51,113,52,473,51,463,52,7,51,5,51,318,52,0.5854564755838642,52,2206,3768,0.22388059701492538,51,480,2144,0.13043478260869565,51,480,3680,0.38079470198675497,51,115,302,0.7578616352201258,52,241,318,2020-12-09 -IL,36,147,18,41,142,18,48,196,30979,201,21251,201,5144,196,482,201,401,196,6,196,19,196,2484,201,1060,196,968,201,5040,196,4397,201,104,196,51,196,3566,201,0.6859808257206494,201,21251,30979,0.24477753985248632,196,5144,21015,0.1684127815610267,196,5144,30544,0.3027706369608683,196,1060,3501,0.696578799775659,201,2484,3566,2020-12-09 -IN,29,133,2,34,128,2,10,162,18918,164,13102,164,3127,162,381,164,191,162,3,162,5,162,1712,164,718,162,690,164,3098,162,2803,164,29,162,11,162,2214,164,0.6925679247277725,164,13102,18918,0.24131810464577866,162,3127,12958,0.16683561863095556,162,3127,18743,0.3322535863026377,162,718,2161,0.7732610659439928,164,1712,2214,2020-12-09 -KS,39,107,4,53,93,4,19,147,8897,150,5448,150,1232,147,166,150,68,147,0,147,0,147,701,150,290,147,282,150,1225,147,1092,150,7,147,4,147,866,150,0.6123412386197594,150,5448,8897,0.22819040563067236,147,1232,5399,0.14014332840404958,147,1232,8791,0.3460620525059666,147,290,838,0.8094688221709007,150,701,866,2020-12-09 -KY,4,30,90,7,115,2,18,122,14268,124,8694,124,1806,122,424,124,93,122,1,122,1,122,1261,124,440,122,445,124,1800,122,1635,124,6,122,7,122,1723,124,0.6093355761143818,124,8694,14268,0.2113022113022113,122,1806,8547,0.12820330801448143,122,1806,14087,0.26237328562909956,122,440,1677,0.7318630295995356,124,1261,1723,2020-12-09 -LA,38,173,10,43,168,10,20,211,14074,221,9304,221,1393,221,176,212,14,212,3,212,1,212,1365,221,441,221,434,221,1382,221,2192,221,11,221,8,221,1846,221,0.6610771635640188,221,9304,14074,0.14972055030094583,221,1393,9304,0.09897683672019326,221,1393,14074,0.23889490790899243,221,441,1846,0.7394366197183099,221,1365,1846,2020-12-09 -MA,9,91,1,8,92,1,67,100,19217,101,15086,101,1745,100,235,101,109,100,2,100,1,100,1032,101,381,100,355,101,1710,100,1518,101,35,100,17,100,1476,101,0.7850340844044336,101,15086,19217,0.11644978311644978,100,1745,14985,0.09142348195106617,100,1745,19087,0.26275862068965516,100,381,1450,0.6991869918699187,101,1032,1476,2020-12-09 -MD,9,49,1,11,47,1,42,58,12067,59,9632,59,2134,58,229,59,345,58,1,58,8,58,1052,59,439,58,384,59,2081,58,1646,59,53,58,9,58,1339,59,0.7982099941990553,59,9632,12067,0.22287206266318538,58,2134,9575,0.17850271852781263,58,2134,11955,0.3376923076923077,58,439,1300,0.7856609410007468,59,1052,1339,2020-12-09 -ME,10,21,8,8,23,8,1,38,3307,39,2213,39,230,38,19,39,32,38,0,38,0,38,248,39,64,38,55,39,230,38,183,39,0,38,0,38,328,39,0.6691865739340792,39,2213,3307,0.10550458715596331,38,230,2180,0.07029339853300734,38,230,3272,0.20125786163522014,38,64,318,0.7560975609756098,39,248,328,2020-12-09 -MI,30,129,4,32,127,4,41,159,23598,163,18003,163,3812,159,376,163,162,159,9,159,9,159,2209,163,873,159,842,163,3689,159,3407,163,123,159,24,159,2649,163,0.7629036359013476,163,18003,23598,0.2133303486484974,159,3812,17869,0.16294079931609318,159,3812,23395,0.334610962054427,159,873,2609,0.8338995847489619,163,2209,2649,2020-12-09 -MN,21,116,2,26,111,2,63,138,10358,139,7558,139,1516,138,182,139,70,138,3,138,2,138,806,139,346,138,355,139,1490,138,1358,139,26,138,21,138,1019,139,0.7296775439273991,139,7558,10358,0.20824175824175825,138,1516,7280,0.15163032606521304,138,1516,9998,0.36536430834213307,138,346,947,0.7909715407262021,139,806,1019,2020-12-09 -MO,47,78,16,62,63,16,22,137,17433,141,13521,141,2611,137,315,141,239,137,5,137,18,137,1615,141,645,137,604,141,2546,137,2307,141,65,137,26,137,1931,141,0.7755980037859233,141,13521,17433,0.19644872470092545,137,2611,13291,0.1523959610109146,137,2611,17133,0.34565916398713825,137,645,1866,0.8363542206110823,141,1615,1931,2020-12-09 -MS,21,85,2,30,76,2,12,106,8799,108,5637,108,1254,106,142,108,30,106,3,106,5,106,718,108,338,106,263,108,1234,106,1066,108,20,106,5,106,881,108,0.6406409819297647,108,5637,8799,0.22501345774268797,106,1254,5573,0.14392287386663605,106,1254,8713,0.3953216374269006,106,338,855,0.8149829738933031,108,718,881,2020-12-09 -WY,8,,2,7,22,2,5,29,1729,31,856,31,198,29,26,31,15,29,0,29,0,29,58,31,32,29,32,31,196,29,189,31,2,29,2,29,137,31,0.4950838635049161,31,856,1729,0.23627684964200477,29,198,838,0.11729857819905214,29,198,1688,0.25196850393700787,29,32,127,0.4233576642335766,31,58,137,2020/12/09 +state,critical_staffing_shortage_today_yes,critical_staffing_shortage_today_no,critical_staffing_shortage_today_not_reported,critical_staffing_shortage_anticipated_within_week_yes,critical_staffing_shortage_anticipated_within_week_no,critical_staffing_shortage_anticipated_within_week_not_reported,hospital_onset_covid,hospital_onset_covid_coverage,inpatient_beds,inpatient_beds_coverage,inpatient_beds_used,inpatient_beds_used_coverage,inpatient_beds_used_covid,inpatient_beds_used_covid_coverage,previous_day_admission_adult_covid_confirmed,previous_day_admission_adult_covid_confirmed_coverage,previous_day_admission_adult_covid_suspected,previous_day_admission_adult_covid_suspected_coverage,previous_day_admission_pediatric_covid_confirmed,previous_day_admission_pediatric_covid_confirmed_coverage,previous_day_admission_pediatric_covid_suspected,previous_day_admission_pediatric_covid_suspected_coverage,staffed_adult_icu_bed_occupancy,staffed_adult_icu_bed_occupancy_coverage,staffed_icu_adult_patients_confirmed_and_suspected_covid,staffed_icu_adult_patients_confirmed_and_suspected_covid_coverage,staffed_icu_adult_patients_confirmed_covid,staffed_icu_adult_patients_confirmed_covid_coverage,total_adult_patients_hospitalized_confirmed_and_suspected_covid,total_adult_patients_hospitalized_confirmed_and_suspected_covid_coverage,total_adult_patients_hospitalized_confirmed_covid,total_adult_patients_hospitalized_confirmed_covid_coverage,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_coverage,total_pediatric_patients_hospitalized_confirmed_covid,total_pediatric_patients_hospitalized_confirmed_covid_coverage,total_staffed_adult_icu_beds,total_staffed_adult_icu_beds_coverage,inpatient_beds_utilization,inpatient_beds_utilization_coverage,inpatient_beds_utilization_numerator,inpatient_beds_utilization_denominator,percent_of_inpatients_with_covid,percent_of_inpatients_with_covid_coverage,percent_of_inpatients_with_covid_numerator,percent_of_inpatients_with_covid_denominator,inpatient_bed_covid_utilization,inpatient_bed_covid_utilization_coverage,inpatient_bed_covid_utilization_numerator,inpatient_bed_covid_utilization_denominator,adult_icu_bed_covid_utilization,adult_icu_bed_covid_utilization_coverage,adult_icu_bed_covid_utilization_numerator,adult_icu_bed_covid_utilization_denominator,adult_icu_bed_utilization,adult_icu_bed_utilization_coverage,adult_icu_bed_utilization_numerator,adult_icu_bed_utilization_denominator,reporting_cutoff_start,deaths_covid,deaths_covid_coverage,geocoded_state,icu_patients_confirmed_influenza,icu_patients_confirmed_influenza_coverage,on_hand_supply_therapeutic_a_casirivimab_imdevimab_courses,on_hand_supply_therapeutic_b_bamlanivimab_courses,on_hand_supply_therapeutic_c_bamlanivimab_etesevimab_courses,previous_day_admission_adult_covid_confirmed_18-19,previous_day_admission_adult_covid_confirmed_18-19_coverage,previous_day_admission_adult_covid_confirmed_20-29,previous_day_admission_adult_covid_confirmed_20-29_coverage,previous_day_admission_adult_covid_confirmed_30-39,previous_day_admission_adult_covid_confirmed_30-39_coverage,previous_day_admission_adult_covid_confirmed_40-49,previous_day_admission_adult_covid_confirmed_40-49_coverage,previous_day_admission_adult_covid_confirmed_50-59,previous_day_admission_adult_covid_confirmed_50-59_coverage,previous_day_admission_adult_covid_confirmed_60-69,previous_day_admission_adult_covid_confirmed_60-69_coverage,previous_day_admission_adult_covid_confirmed_70-79,previous_day_admission_adult_covid_confirmed_70-79_coverage,previous_day_admission_adult_covid_confirmed_80+,previous_day_admission_adult_covid_confirmed_80+_coverage,previous_day_admission_adult_covid_confirmed_unknown,previous_day_admission_adult_covid_confirmed_unknown_coverage,previous_day_admission_adult_covid_suspected_18-19,previous_day_admission_adult_covid_suspected_18-19_coverage,previous_day_admission_adult_covid_suspected_20-29,previous_day_admission_adult_covid_suspected_20-29_coverage,previous_day_admission_adult_covid_suspected_30-39,previous_day_admission_adult_covid_suspected_30-39_coverage,previous_day_admission_adult_covid_suspected_40-49,previous_day_admission_adult_covid_suspected_40-49_coverage,previous_day_admission_adult_covid_suspected_50-59,previous_day_admission_adult_covid_suspected_50-59_coverage,previous_day_admission_adult_covid_suspected_60_69,previous_day_admission_adult_covid_suspected_60-69_coverage,previous_day_admission_adult_covid_suspected_70-79,previous_day_admission_adult_covid_suspected_70-79_coverage,previous_day_admission_adult_covid_suspected_80,previous_day_admission_adult_covid_suspected_80+_coverage,previous_day_admission_adult_covid_suspected_unknown,previous_day_admission_adult_covid_suspected_unknown_coverage,previous_day_admission_influenza_confirmed,previous_day_admission_influenza_confirmed_coverage,previous_day_deaths_covid_and_influenza,previous_day_deaths_covid_and_influenza_coverage,previous_day_deaths_influenza,previous_day_deaths_influenza_coverage,previous_week_therapeutic_a_casirivimab_imdevimab_courses_used,previous_week_therapeutic_b_bamlanivimab_courses_used,previous_week_therapeutic_c_bamlanivimab_etesevimab_courses_used,total_patients_hospitalized_confirmed_influenza,total_patients_hospitalized_confirmed_influenza_coverage,total_patients_hospitalized_confirmed_influenza_covid,total_patients_hospitalized_confirmed_influenza_covid_coverage +AK,4,20,0,3,21,0,2,24,1625,24,936,24,140,24,18,24,1,24,1,24,1,24,96,24,22,24,21,24,129,24,123,24,11,24,10,24,131,24,0.576,24,936,1625,0.1495726495726495,24,140,936,0.0861538461538461,24,140,1625,0.1679389312977099,24,22,131,0.732824427480916,24,96,131,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +AL,36,74,7,40,69,8,35,111,15116,116,11358,116,2484,111,336,113,110,111,4,111,8,111,1274,116,605,111,584,113,2464,111,2271,113,20,111,14,111,1458,116,0.7513892564170416,116,11358,15116,0.2200567298014457,110,2405,10929,0.1648954405210833,110,2405,14585,0.4105113636363636,110,578,1408,0.8737997256515775,116,1274,1458,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +AR,37,71,2,42,66,2,7,108,9297,110,6743,110,1205,108,153,110,272,108,0,108,10,108,815,110,311,108,308,110,1177,108,975,110,28,108,10,108,1027,110,0.7252877272238356,110,6743,9297,0.1789958407605466,108,1205,6732,0.1301858254105445,108,1205,9256,0.3079207920792079,108,311,1010,0.7935735150925024,110,815,1027,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +AZ,38,81,3,42,77,3,60,119,16657,122,12769,122,3711,119,459,122,267,119,6,119,10,119,1532,122,774,119,755,122,3664,119,3185,122,47,119,26,119,2155,122,0.7665846190790658,122,12769,16657,0.2965241709948062,119,3711,12515,0.227041908840624,119,3711,16345,0.3712230215827338,119,774,2085,0.7109048723897912,122,1532,2155,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +CA,113,275,27,137,253,25,114,407,67724,415,51751,415,14178,405,1964,415,593,407,29,405,16,405,6548,413,2939,405,2933,413,14008,405,13314,413,170,405,131,405,7872,413,0.7641456499911405,415,51751,67724,0.2780817887614004,405,14178,50985,0.2127136062892893,405,14178,66653,0.388345665961945,405,2939,7568,0.8318089430894309,413,6548,7872,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +CO,11,79,13,17,73,13,45,101,11800,103,7939,103,1664,101,221,103,100,101,5,101,10,101,1049,103,455,101,437,103,1636,101,1518,103,28,101,17,101,1538,103,0.6727966101694915,103,7939,11800,0.2117317724901387,101,1664,7859,0.1428816761119697,101,1664,11646,0.3033333333333333,101,455,1500,0.6820546163849155,103,1049,1538,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +CT,2,37,1,3,36,1,33,39,8858,40,6765,40,1394,39,166,40,78,39,3,39,1,39,665,40,264,39,249,40,1376,39,1231,40,18,39,15,39,1129,40,0.7637164145405283,40,6765,8858,0.2077805932329706,39,1394,6709,0.1591324200913242,39,1394,8760,0.2384823848238482,39,264,1107,0.5890168290522586,40,665,1129,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +DC,0,12,2,0,12,2,6,12,3645,14,2916,14,295,13,24,14,72,13,1,13,13,13,296,14,64,12,61,13,265,13,249,14,30,13,11,13,359,14,0.8,14,2916,3645,0.1046470379567222,13,295,2819,0.0839977220956719,13,295,3512,0.1887905604719764,12,64,339,0.8245125348189415,14,296,359,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +DE,1,14,1,3,12,1,5,15,3274,16,2379,16,434,15,43,16,26,15,8,15,1,15,156,16,57,15,55,16,426,15,395,16,8,15,7,15,186,16,0.726634086744044,16,2379,3274,0.1839762611275964,15,434,2359,0.1338679827267119,15,434,3242,0.3166666666666666,15,57,180,0.8387096774193549,16,156,186,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +FL,9,249,11,29,229,11,100,263,57986,269,43794,269,5248,263,677,269,269,263,10,263,11,263,4971,269,1015,263,977,269,5203,263,4790,269,45,263,29,263,6229,269,0.7552512675473391,269,43794,57986,0.1220947816578647,263,5248,42983,0.0922109184193418,263,5248,56913,0.1685766483972762,263,1015,6021,0.7980414191684059,269,4971,6229,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +GA,32,126,13,39,119,13,21,168,22424,171,17776,171,3268,168,470,171,172,168,11,168,51,168,2328,171,796,168,762,171,3200,168,2899,171,68,168,15,168,2632,171,0.7927220834819836,171,17776,22424,0.1858824867754962,168,3268,17581,0.147666169626316,168,3268,22131,0.3087664856477889,168,796,2578,0.8844984802431611,171,2328,2632,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +HI,1,25,0,2,24,0,0,26,2645,26,1813,26,72,26,4,26,12,26,0,26,1,26,155,26,21,26,19,26,70,26,55,26,2,26,0,26,229,26,0.6854442344045368,26,1813,2645,0.0397131825703254,26,72,1813,0.0272211720226843,26,72,2645,0.0917030567685589,26,21,229,0.6768558951965066,26,155,229,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +IA,4,75,47,5,75,46,7,124,8452,126,4806,126,793,124,71,126,22,124,0,124,0,124,469,126,262,124,160,126,787,124,765,126,6,124,6,124,697,126,0.5686228111689541,126,4806,8452,0.1672642902341278,124,793,4741,0.0949928126497364,124,793,8348,0.3864306784660767,124,262,678,0.672883787661406,126,469,697,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +MT,16,50,1,18,48,1,9,66,3206,67,2177,67,356,66,54,67,20,66,1,66,0,66,159,67,71,66,72,67,352,66,352,67,4,66,2,66,237,67,0.6790393013100436,67,2177,3206,0.164967562557924,66,356,2158,0.1124092200820966,66,356,3167,0.3212669683257919,66,71,221,0.6708860759493671,67,159,237,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +NC,9,119,4,13,115,4,46,128,24092,132,18256,132,2824,128,326,132,265,128,4,128,18,128,2064,132,641,128,617,132,2785,128,2444,132,39,128,17,128,2496,132,0.7577619126681056,132,18256,24092,0.156523666999224,128,2824,18042,0.1187053383774695,128,2824,23790,0.2632443531827515,128,641,2435,0.8269230769230769,132,2064,2496,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +ND,21,26,3,20,27,3,2,49,2573,50,1636,50,253,49,18,48,2,46,0,49,0,49,66,48,51,49,50,50,253,49,240,50,0,49,0,49,88,48,0.635833657209483,50,1636,2573,0.1569478908188585,49,253,1612,0.0993325480957989,49,253,2547,0.2738095238095238,47,23,84,0.75,48,66,88,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +NE,16,84,1,26,74,1,17,100,5399,101,3409,101,716,100,74,101,26,100,2,100,0,100,376,101,190,100,183,101,708,100,686,101,8,100,8,100,570,101,0.6314132246712354,101,3409,5399,0.212778603268945,100,716,3365,0.1346117691295356,100,716,5319,0.3429602888086642,100,190,554,0.6596491228070176,101,376,570,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +NH,5,24,1,7,22,1,15,30,3117,30,2188,30,268,30,43,30,19,30,0,30,0,30,175,30,69,30,59,30,268,30,241,30,0,30,0,30,282,30,0.7019570099454604,30,2188,3117,0.1224862888482632,30,268,2188,0.0859801090792428,30,268,3117,0.2446808510638297,30,69,282,0.6205673758865248,30,175,282,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +NJ,11,83,2,10,82,4,161,95,23202,96,17216,96,3738,95,470,96,259,95,4,95,4,95,1606,96,679,95,666,96,3718,95,3430,96,20,95,7,95,2459,96,0.7420049995690027,96,17216,23202,0.2186476368741226,95,3738,17096,0.1621269951422623,95,3738,23056,0.2797692624639472,95,679,2427,0.6531110207401383,96,1606,2459,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +NM,18,35,1,18,35,1,10,52,4461,54,3079,53,837,52,140,54,19,53,0,52,1,50,431,53,218,52,219,53,828,52,792,53,9,52,3,52,432,54,0.6969216840199185,53,3079,4418,0.2781655034895314,52,837,3009,0.1943348038077548,52,837,4307,0.5304136253041363,52,218,411,0.9976851851851852,53,431,432,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +NV,9,51,2,15,45,2,80,60,8655,62,6900,62,1956,60,154,62,135,60,1,60,5,60,737,62,352,60,385,62,1949,60,1804,62,7,60,18,60,1065,62,0.7972270363951474,62,6900,8655,0.2885381324679156,60,1956,6779,0.2306059891535015,60,1956,8482,0.3591836734693877,60,352,980,0.692018779342723,62,737,1065,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +NY,23,171,10,22,172,10,174,195,59150,204,42745,204,7352,195,964,204,325,195,3,195,19,195,4180,204,1276,195,1159,204,7226,195,6247,204,126,195,51,195,6835,204,0.722654268808115,204,42745,59150,0.1733471658964444,195,7352,42412,0.1256967002906479,195,7352,58490,0.190504628247238,195,1276,6698,0.6115581565471836,204,4180,6835,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +OH,39,185,5,63,161,5,230,224,33828,229,22677,229,5436,225,604,229,282,225,19,225,37,225,3151,229,1225,225,1187,229,5338,225,5033,229,98,225,61,225,4234,229,0.6703618304363249,229,22677,33828,0.24215965787598,225,5436,22448,0.1622057112165428,225,5436,33513,0.2939764818814495,225,1225,4167,0.7442135096835144,229,3151,4234,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +OK,48,96,11,56,88,11,50,153,10853,155,7667,155,1674,153,312,155,79,153,3,153,16,153,1060,155,443,153,492,155,1637,153,1657,155,37,153,31,153,1185,155,0.706440615498019,155,7667,10853,0.2268600081311831,153,1674,7379,0.1594741354672763,153,1674,10497,0.3969534050179211,153,443,1116,0.8945147679324894,155,1060,1185,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +OR,5,58,2,7,56,2,13,63,6621,65,4919,65,666,63,51,65,83,63,0,63,34,63,541,65,137,63,124,65,654,63,552,65,12,63,5,63,794,65,0.7429391330614711,65,4919,6621,0.1388078365985827,63,666,4798,0.1029525428968928,63,666,6469,0.1760925449871465,63,137,778,0.681360201511335,65,541,794,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +PA,41,181,6,44,178,6,132,222,37110,228,28259,228,7014,222,724,228,472,222,8,222,17,222,3256,228,1383,222,1360,228,6922,222,6360,228,92,222,58,222,3991,228,0.7614928590676368,228,28259,37110,0.2502140410958904,222,7014,28032,0.1909766656683094,222,7014,36727,0.3567191127160175,222,1383,3877,0.8158356301678777,228,3256,3991,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +PR,1,0,68,1,0,68,23,66,9298,69,5316,69,660,67,38,66,63,66,2,65,18,66,478,69,96,67,90,66,624,67,480,66,36,66,7,65,681,69,0.5717358571735858,69,5316,9298,0.1303574955559944,67,660,5063,0.0733659404179635,67,660,8996,0.1476923076923077,67,96,650,0.7019089574155654,69,478,681,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +RI,3,11,1,3,11,1,9,14,2291,15,1951,14,504,14,30,15,0,14,0,14,0,14,143,15,52,14,55,15,498,14,436,15,6,14,6,14,177,15,0.8515931907463989,14,1951,2291,0.2648449816079873,13,504,1903,0.2272317403065825,14,504,2218,0.3209876543209876,14,52,162,0.807909604519774,15,143,177,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +SC,22,63,2,31,54,2,12,85,11395,87,8947,87,1310,85,186,87,99,85,0,85,3,85,1015,87,295,85,291,87,1307,85,1112,87,3,85,1,85,1301,87,0.7851689337428697,87,8947,11395,0.1482571299230421,85,1310,8836,0.1167141838916607,85,1310,11224,0.2352472089314194,85,295,1254,0.7801691006917756,87,1015,1301,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +SD,11,50,3,14,47,3,88,61,2876,64,1748,64,444,61,45,64,12,61,0,61,0,61,176,64,83,61,89,64,440,61,440,64,4,61,4,61,261,64,0.60778859527121,64,1748,2876,0.2642857142857143,61,444,1680,0.1606367583212735,61,444,2764,0.3387755102040816,61,83,245,0.6743295019157088,64,176,261,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +TN,23,76,45,43,56,45,32,99,19907,144,12813,126,2815,99,311,99,123,99,0,99,4,99,1782,141,688,99,659,99,2791,99,2573,99,24,99,17,99,2134,144,0.6951120273422666,126,12813,18433,0.2356437301188682,99,2815,11946,0.1682304428375067,99,2815,16733,0.343142144638404,99,688,2005,0.8579682233991334,141,1782,2077,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +TX,147,439,5,176,410,5,87,586,71468,591,53428,591,9734,586,1154,591,714,586,16,586,63,586,6577,591,2712,586,2679,591,9612,586,9055,591,122,586,81,586,7939,591,0.747579336206414,591,53428,71468,0.1845343039678477,586,9734,52749,0.1379300572465,586,9734,70572,0.3512043512043512,586,2712,7722,0.8284418692530545,591,6577,7939,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +UT,6,52,1,7,51,1,1,58,6217,59,3625,59,585,58,94,59,10,58,2,58,0,58,482,59,196,58,194,59,577,58,554,59,8,58,0,58,663,59,0.5830786552999839,59,3625,6217,0.1643258426966292,58,585,3560,0.0955726188531285,58,585,6121,0.303875968992248,58,196,645,0.726998491704374,59,482,663,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +VA,30,70,8,39,61,8,33,105,19094,108,13128,108,2195,105,201,108,294,105,1,105,14,105,1467,108,450,105,397,108,2156,105,1702,108,39,105,22,105,2052,108,0.6875458259138997,108,13128,19094,0.1691584463625154,105,2195,12976,0.1165507354112462,105,2195,18833,0.2263581488933601,105,450,1988,0.7149122807017544,108,1467,2052,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +VI,1,1,0,2,0,0,0,2,168,2,88,2,3,2,0,2,0,2,0,2,1,2,13,2,2,2,2,2,2,2,2,2,1,2,0,2,20,2,0.5238095238095238,2,88,168,0.034090909090909,2,3,88,0.0178571428571428,2,3,168,0.1,2,2,20,0.65,2,13,20,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +VT,0,16,1,1,15,1,0,16,1312,17,765,17,11,16,0,17,3,16,0,16,0,16,65,17,2,16,1,17,11,16,9,17,0,16,0,16,111,17,0.583079268292683,17,765,1312,0.014647137150466,16,11,751,0.0086274509803921,16,11,1275,0.0192307692307692,16,2,104,0.5855855855855856,17,65,111,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +WA,13,89,2,20,82,2,24,102,13929,104,9476,104,1118,102,78,104,102,102,0,102,16,102,998,104,264,102,243,104,1100,102,996,104,18,102,13,102,1365,104,0.6803072725967406,104,9476,13929,0.1191262653169952,102,1118,9385,0.0809031044214487,102,1118,13819,0.1965748324646314,102,264,1343,0.7311355311355311,104,998,1365,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +WI,53,93,3,57,89,3,19,146,13998,149,8873,147,1630,144,355,149,85,146,2,146,1,146,1064,147,351,144,372,147,1619,144,1590,147,11,144,4,144,1660,149,0.6437640571718783,147,8873,13783,0.1896230805025593,144,1630,8596,0.1218509381774688,144,1630,13377,0.2222925902469917,144,351,1579,0.6409638554216868,147,1064,1660,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +WV,17,42,4,19,40,4,14,59,6240,63,4554,63,799,59,81,63,47,59,0,59,2,59,520,63,196,59,199,63,791,59,755,63,8,59,1,59,653,63,0.7298076923076923,63,4554,6240,0.1801984663960306,59,799,4434,0.1323505052178234,59,799,6037,0.327212020033389,59,196,599,0.7963246554364471,63,520,653,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +ID,7,44,1,8,43,1,9,51,3768,52,2206,52,480,51,67,52,12,51,1,51,0,51,241,52,115,51,113,52,473,51,463,52,7,51,5,51,318,52,0.5854564755838642,52,2206,3768,0.2238805970149253,51,480,2144,0.1304347826086956,51,480,3680,0.3807947019867549,51,115,302,0.7578616352201258,52,241,318,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +IL,36,147,18,41,142,18,48,196,30979,201,21251,201,5144,196,482,201,401,196,6,196,19,196,2484,201,1060,196,968,201,5040,196,4397,201,104,196,51,196,3566,201,0.6859808257206494,201,21251,30979,0.2447775398524863,196,5144,21015,0.1684127815610267,196,5144,30544,0.3027706369608683,196,1060,3501,0.696578799775659,201,2484,3566,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +IN,29,133,2,34,128,2,10,162,18918,164,13102,164,3127,162,381,164,191,162,3,162,5,162,1712,164,718,162,690,164,3098,162,2803,164,29,162,11,162,2214,164,0.6925679247277725,164,13102,18918,0.2413181046457786,162,3127,12958,0.1668356186309555,162,3127,18743,0.3322535863026377,162,718,2161,0.7732610659439928,164,1712,2214,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +KS,39,107,4,53,93,4,19,147,8897,150,5448,150,1232,147,166,150,68,147,0,147,0,147,701,150,290,147,282,150,1225,147,1092,150,7,147,4,147,866,150,0.6123412386197594,150,5448,8897,0.2281904056306723,147,1232,5399,0.1401433284040495,147,1232,8791,0.3460620525059666,147,290,838,0.8094688221709007,150,701,866,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +KY,4,30,90,7,115,2,18,122,14268,124,8694,124,1806,122,424,124,93,122,1,122,1,122,1261,124,440,122,445,124,1800,122,1635,124,6,122,7,122,1723,124,0.6093355761143818,124,8694,14268,0.2113022113022113,122,1806,8547,0.1282033080144814,122,1806,14087,0.2623732856290995,122,440,1677,0.7318630295995356,124,1261,1723,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +LA,38,173,10,43,168,10,20,211,14074,221,9304,221,1393,221,176,212,14,212,3,212,1,212,1365,221,441,221,434,221,1382,221,2192,221,11,221,8,221,1846,221,0.6610771635640188,221,9304,14074,0.1497205503009458,221,1393,9304,0.0989768367201932,221,1393,14074,0.2388949079089924,221,441,1846,0.7394366197183099,221,1365,1846,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +MA,9,91,1,8,92,1,67,100,19217,101,15086,101,1745,100,235,101,109,100,2,100,1,100,1032,101,381,100,355,101,1710,100,1518,101,35,100,17,100,1476,101,0.7850340844044336,101,15086,19217,0.1164497831164497,100,1745,14985,0.0914234819510661,100,1745,19087,0.2627586206896551,100,381,1450,0.6991869918699187,101,1032,1476,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +MD,9,49,1,11,47,1,42,58,12067,59,9632,59,2134,58,229,59,345,58,1,58,8,58,1052,59,439,58,384,59,2081,58,1646,59,53,58,9,58,1339,59,0.7982099941990553,59,9632,12067,0.2228720626631853,58,2134,9575,0.1785027185278126,58,2134,11955,0.3376923076923077,58,439,1300,0.7856609410007468,59,1052,1339,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +ME,10,21,8,8,23,8,1,38,3307,39,2213,39,230,38,19,39,32,38,0,38,0,38,248,39,64,38,55,39,230,38,183,39,0,38,0,38,328,39,0.6691865739340792,39,2213,3307,0.1055045871559633,38,230,2180,0.0702933985330073,38,230,3272,0.2012578616352201,38,64,318,0.7560975609756098,39,248,328,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +MI,30,129,4,32,127,4,41,159,23598,163,18003,163,3812,159,376,163,162,159,9,159,9,159,2209,163,873,159,842,163,3689,159,3407,163,123,159,24,159,2649,163,0.7629036359013476,163,18003,23598,0.2133303486484974,159,3812,17869,0.1629407993160931,159,3812,23395,0.334610962054427,159,873,2609,0.8338995847489619,163,2209,2649,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +MN,21,116,2,26,111,2,63,138,10358,139,7558,139,1516,138,182,139,70,138,3,138,2,138,806,139,346,138,355,139,1490,138,1358,139,26,138,21,138,1019,139,0.7296775439273991,139,7558,10358,0.2082417582417582,138,1516,7280,0.151630326065213,138,1516,9998,0.365364308342133,138,346,947,0.7909715407262021,139,806,1019,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +MO,47,78,16,62,63,16,22,137,17433,141,13521,141,2611,137,315,141,239,137,5,137,18,137,1615,141,645,137,604,141,2546,137,2307,141,65,137,26,137,1931,141,0.7755980037859233,141,13521,17433,0.1964487247009254,137,2611,13291,0.1523959610109146,137,2611,17133,0.3456591639871382,137,645,1866,0.8363542206110823,141,1615,1931,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +MS,21,85,2,30,76,2,12,106,8799,108,5637,108,1254,106,142,108,30,106,3,106,5,106,718,108,338,106,263,108,1234,106,1066,108,20,106,5,106,881,108,0.6406409819297647,108,5637,8799,0.2250134577426879,106,1254,5573,0.143922873866636,106,1254,8713,0.3953216374269006,106,338,855,0.8149829738933031,108,718,881,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +WY,8,,2,7,22,2,5,29,1729,31,856,31,198,29,26,31,15,29,0,29,0,29,58,31,32,29,32,31,196,29,189,31,2,29,2,29,137,31,0.4950838635049161,31,856,1729,0.2362768496420047,29,198,838,0.1172985781990521,29,198,1688,0.2519685039370078,29,32,127,0.4233576642335766,31,58,137,2020/12/09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 diff --git a/testdata/acquisition/covid_hosp/state_daily/dataset0.csv b/testdata/acquisition/covid_hosp/state_daily/dataset0.csv index 7608498c8..d0dce36c6 100644 --- a/testdata/acquisition/covid_hosp/state_daily/dataset0.csv +++ b/testdata/acquisition/covid_hosp/state_daily/dataset0.csv @@ -1,54 +1,54 @@ -state,critical_staffing_shortage_today_yes,critical_staffing_shortage_today_no,critical_staffing_shortage_today_not_reported,critical_staffing_shortage_anticipated_within_week_yes,critical_staffing_shortage_anticipated_within_week_no,critical_staffing_shortage_anticipated_within_week_not_reported,hospital_onset_covid,hospital_onset_covid_coverage,inpatient_beds,inpatient_beds_coverage,inpatient_beds_used,inpatient_beds_used_coverage,inpatient_beds_used_covid,inpatient_beds_used_covid_coverage,previous_day_admission_adult_covid_confirmed,previous_day_admission_adult_covid_confirmed_coverage,previous_day_admission_adult_covid_suspected,previous_day_admission_adult_covid_suspected_coverage,previous_day_admission_pediatric_covid_confirmed,previous_day_admission_pediatric_covid_confirmed_coverage,previous_day_admission_pediatric_covid_suspected,previous_day_admission_pediatric_covid_suspected_coverage,staffed_adult_icu_bed_occupancy,staffed_adult_icu_bed_occupancy_coverage,staffed_icu_adult_patients_confirmed_and_suspected_covid,staffed_icu_adult_patients_confirmed_and_suspected_covid_coverage,staffed_icu_adult_patients_confirmed_covid,staffed_icu_adult_patients_confirmed_covid_coverage,total_adult_patients_hospitalized_confirmed_and_suspected_covid,total_adult_patients_hospitalized_confirmed_and_suspected_covid_coverage,total_adult_patients_hospitalized_confirmed_covid,total_adult_patients_hospitalized_confirmed_covid_coverage,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_coverage,total_pediatric_patients_hospitalized_confirmed_covid,total_pediatric_patients_hospitalized_confirmed_covid_coverage,total_staffed_adult_icu_beds,total_staffed_adult_icu_beds_coverage,inpatient_beds_utilization,inpatient_beds_utilization_coverage,inpatient_beds_utilization_numerator,inpatient_beds_utilization_denominator,percent_of_inpatients_with_covid,percent_of_inpatients_with_covid_coverage,percent_of_inpatients_with_covid_numerator,percent_of_inpatients_with_covid_denominator,inpatient_bed_covid_utilization,inpatient_bed_covid_utilization_coverage,inpatient_bed_covid_utilization_numerator,inpatient_bed_covid_utilization_denominator,adult_icu_bed_covid_utilization,adult_icu_bed_covid_utilization_coverage,adult_icu_bed_covid_utilization_numerator,adult_icu_bed_covid_utilization_denominator,adult_icu_bed_utilization,adult_icu_bed_utilization_coverage,adult_icu_bed_utilization_numerator,adult_icu_bed_utilization_denominator,reporting_cutoff_start -AK,4,20,0,3,21,0,2,24,1625,24,936,24,140,24,18,24,1,24,1,24,1,24,96,24,22,24,21,24,129,24,123,24,11,24,10,24,131,24,0.576,24,936,1625,0.14957264957264957,24,140,936,0.08615384615384615,24,140,1625,0.16793893129770993,24,22,131,0.732824427480916,24,96,131,2020-12-09 -AL,36,74,7,40,69,8,35,111,15116,116,11358,116,2484,111,336,113,110,111,4,111,8,111,1274,116,605,111,584,113,2464,111,2271,113,20,111,14,111,1458,116,0.7513892564170416,116,11358,15116,0.2200567298014457,110,2405,10929,0.1648954405210833,110,2405,14585,0.41051136363636365,110,578,1408,0.8737997256515775,116,1274,1458,2020-12-09 -AR,37,71,2,42,66,2,7,108,9297,110,6743,110,1205,108,153,110,272,108,0,108,10,108,815,110,311,108,308,110,1177,108,975,110,28,108,10,108,1027,110,0.7252877272238356,110,6743,9297,0.17899584076054664,108,1205,6732,0.13018582541054452,108,1205,9256,0.3079207920792079,108,311,1010,0.7935735150925024,110,815,1027,2020-12-09 -AZ,38,81,3,42,77,3,60,119,16657,122,12769,122,3711,119,459,122,267,119,6,119,10,119,1532,122,774,119,755,122,3664,119,3185,122,47,119,26,119,2155,122,0.7665846190790658,122,12769,16657,0.2965241709948062,119,3711,12515,0.22704190884062406,119,3711,16345,0.3712230215827338,119,774,2085,0.7109048723897912,122,1532,2155,2020-12-09 -CA,113,275,27,137,253,25,114,407,67724,415,51751,415,14178,405,1964,415,593,407,29,405,16,405,6548,413,2939,405,2933,413,14008,405,13314,413,170,405,131,405,7872,413,0.7641456499911405,415,51751,67724,0.27808178876140044,405,14178,50985,0.21271360628928931,405,14178,66653,0.38834566596194503,405,2939,7568,0.8318089430894309,413,6548,7872,2020-12-09 -CO,11,79,13,17,73,13,45,101,11800,103,7939,103,1664,101,221,103,100,101,5,101,10,101,1049,103,455,101,437,103,1636,101,1518,103,28,101,17,101,1538,103,0.6727966101694915,103,7939,11800,0.2117317724901387,101,1664,7859,0.14288167611196978,101,1664,11646,0.30333333333333334,101,455,1500,0.6820546163849155,103,1049,1538,2020-12-09 -CT,2,37,1,3,36,1,33,39,8858,40,6765,40,1394,39,166,40,78,39,3,39,1,39,665,40,264,39,249,40,1376,39,1231,40,18,39,15,39,1129,40,0.7637164145405283,40,6765,8858,0.20778059323297063,39,1394,6709,0.1591324200913242,39,1394,8760,0.23848238482384823,39,264,1107,0.5890168290522586,40,665,1129,2020-12-09 -DC,0,12,2,0,12,2,6,12,3645,14,2916,14,295,13,24,14,72,13,1,13,13,13,296,14,64,12,61,13,265,13,249,14,30,13,11,13,359,14,0.8,14,2916,3645,0.10464703795672224,13,295,2819,0.08399772209567198,13,295,3512,0.1887905604719764,12,64,339,0.8245125348189415,14,296,359,2020-12-09 -DE,1,14,1,3,12,1,5,15,3274,16,2379,16,434,15,43,16,26,15,8,15,1,15,156,16,57,15,55,16,426,15,395,16,8,15,7,15,186,16,0.726634086744044,16,2379,3274,0.18397626112759644,15,434,2359,0.1338679827267119,15,434,3242,0.31666666666666665,15,57,180,0.8387096774193549,16,156,186,2020-12-09 -FL,9,249,11,29,229,11,100,263,57986,269,43794,269,5248,263,677,269,269,263,10,263,11,263,4971,269,1015,263,977,269,5203,263,4790,269,45,263,29,263,6229,269,0.7552512675473391,269,43794,57986,0.12209478165786473,263,5248,42983,0.0922109184193418,263,5248,56913,0.1685766483972762,263,1015,6021,0.7980414191684059,269,4971,6229,2020-12-09 -GA,32,126,13,39,119,13,21,168,22424,171,17776,171,3268,168,470,171,172,168,11,168,51,168,2328,171,796,168,762,171,3200,168,2899,171,68,168,15,168,2632,171,0.7927220834819836,171,17776,22424,0.18588248677549626,168,3268,17581,0.14766616962631604,168,3268,22131,0.30876648564778897,168,796,2578,0.8844984802431611,171,2328,2632,2020-12-09 -HI,1,25,0,2,24,0,0,26,2645,26,1813,26,72,26,4,26,12,26,0,26,1,26,155,26,21,26,19,26,70,26,55,26,2,26,0,26,229,26,0.6854442344045368,26,1813,2645,0.039713182570325425,26,72,1813,0.02722117202268431,26,72,2645,0.09170305676855896,26,21,229,0.6768558951965066,26,155,229,2020-12-09 -IA,4,75,47,5,75,46,7,124,8452,126,4806,126,793,124,71,126,22,124,0,124,0,124,469,126,262,124,160,126,787,124,765,126,6,124,6,124,697,126,0.5686228111689541,126,4806,8452,0.1672642902341278,124,793,4741,0.09499281264973647,124,793,8348,0.3864306784660767,124,262,678,0.672883787661406,126,469,697,2020-12-09 -MT,16,50,1,18,48,1,9,66,3206,67,2177,67,356,66,54,67,20,66,1,66,0,66,159,67,71,66,72,67,352,66,352,67,4,66,2,66,237,67,0.6790393013100436,67,2177,3206,0.164967562557924,66,356,2158,0.11240922008209663,66,356,3167,0.3212669683257919,66,71,221,0.6708860759493671,67,159,237,2020-12-09 -NC,9,119,4,13,115,4,46,128,24092,132,18256,132,2824,128,326,132,265,128,4,128,18,128,2064,132,641,128,617,132,2785,128,2444,132,39,128,17,128,2496,132,0.7577619126681056,132,18256,24092,0.15652366699922404,128,2824,18042,0.11870533837746952,128,2824,23790,0.2632443531827515,128,641,2435,0.8269230769230769,132,2064,2496,2020-12-09 -ND,21,26,3,20,27,3,2,49,2573,50,1636,50,253,49,18,48,2,46,0,49,0,49,66,48,51,49,50,50,253,49,240,50,0,49,0,49,88,48,0.635833657209483,50,1636,2573,0.15694789081885857,49,253,1612,0.09933254809579897,49,253,2547,0.27380952380952384,47,23,84,0.75,48,66,88,2020-12-09 -NE,16,84,1,26,74,1,17,100,5399,101,3409,101,716,100,74,101,26,100,2,100,0,100,376,101,190,100,183,101,708,100,686,101,8,100,8,100,570,101,0.6314132246712354,101,3409,5399,0.21277860326894502,100,716,3365,0.13461176912953562,100,716,5319,0.34296028880866425,100,190,554,0.6596491228070176,101,376,570,2020-12-09 -NH,5,24,1,7,22,1,15,30,3117,30,2188,30,268,30,43,30,19,30,0,30,0,30,175,30,69,30,59,30,268,30,241,30,0,30,0,30,282,30,0.7019570099454604,30,2188,3117,0.12248628884826325,30,268,2188,0.08598010907924286,30,268,3117,0.24468085106382978,30,69,282,0.6205673758865248,30,175,282,2020-12-09 -NJ,11,83,2,10,82,4,161,95,23202,96,17216,96,3738,95,470,96,259,95,4,95,4,95,1606,96,679,95,666,96,3718,95,3430,96,20,95,7,95,2459,96,0.7420049995690027,96,17216,23202,0.21864763687412261,95,3738,17096,0.1621269951422623,95,3738,23056,0.27976926246394723,95,679,2427,0.6531110207401383,96,1606,2459,2020-12-09 -NM,18,35,1,18,35,1,10,52,4461,54,3079,53,837,52,140,54,19,53,0,52,1,50,431,53,218,52,219,53,828,52,792,53,9,52,3,52,432,54,0.6969216840199185,53,3079,4418,0.2781655034895314,52,837,3009,0.1943348038077548,52,837,4307,0.5304136253041363,52,218,411,0.9976851851851852,53,431,432,2020-12-09 -NV,9,51,2,15,45,2,80,60,8655,62,6900,62,1956,60,154,62,135,60,1,60,5,60,737,62,352,60,385,62,1949,60,1804,62,7,60,18,60,1065,62,0.7972270363951474,62,6900,8655,0.2885381324679156,60,1956,6779,0.23060598915350153,60,1956,8482,0.35918367346938773,60,352,980,0.692018779342723,62,737,1065,2020-12-09 -NY,23,171,10,22,172,10,174,195,59150,204,42745,204,7352,195,964,204,325,195,3,195,19,195,4180,204,1276,195,1159,204,7226,195,6247,204,126,195,51,195,6835,204,0.722654268808115,204,42745,59150,0.17334716589644442,195,7352,42412,0.12569670029064797,195,7352,58490,0.190504628247238,195,1276,6698,0.6115581565471836,204,4180,6835,2020-12-09 -OH,39,185,5,63,161,5,230,224,33828,229,22677,229,5436,225,604,229,282,225,19,225,37,225,3151,229,1225,225,1187,229,5338,225,5033,229,98,225,61,225,4234,229,0.6703618304363249,229,22677,33828,0.24215965787598004,225,5436,22448,0.16220571121654284,225,5436,33513,0.2939764818814495,225,1225,4167,0.7442135096835144,229,3151,4234,2020-12-09 -OK,48,96,11,56,88,11,50,153,10853,155,7667,155,1674,153,312,155,79,153,3,153,16,153,1060,155,443,153,492,155,1637,153,1657,155,37,153,31,153,1185,155,0.706440615498019,155,7667,10853,0.2268600081311831,153,1674,7379,0.15947413546727637,153,1674,10497,0.39695340501792115,153,443,1116,0.8945147679324894,155,1060,1185,2020-12-09 -OR,5,58,2,7,56,2,13,63,6621,65,4919,65,666,63,51,65,83,63,0,63,34,63,541,65,137,63,124,65,654,63,552,65,12,63,5,63,794,65,0.7429391330614711,65,4919,6621,0.13880783659858273,63,666,4798,0.10295254289689287,63,666,6469,0.17609254498714652,63,137,778,0.681360201511335,65,541,794,2020-12-09 -PA,41,181,6,44,178,6,132,222,37110,228,28259,228,7014,222,724,228,472,222,8,222,17,222,3256,228,1383,222,1360,228,6922,222,6360,228,92,222,58,222,3991,228,0.7614928590676368,228,28259,37110,0.2502140410958904,222,7014,28032,0.19097666566830943,222,7014,36727,0.35671911271601753,222,1383,3877,0.8158356301678777,228,3256,3991,2020-12-09 -PR,1,0,68,1,0,68,23,66,9298,69,5316,69,660,67,38,66,63,66,2,65,18,66,478,69,96,67,90,66,624,67,480,66,36,66,7,65,681,69,0.5717358571735858,69,5316,9298,0.13035749555599446,67,660,5063,0.07336594041796354,67,660,8996,0.1476923076923077,67,96,650,0.7019089574155654,69,478,681,2020-12-09 -RI,3,11,1,3,11,1,9,14,2291,15,1951,14,504,14,30,15,0,14,0,14,0,14,143,15,52,14,55,15,498,14,436,15,6,14,6,14,177,15,0.8515931907463989,14,1951,2291,0.26484498160798736,13,504,1903,0.2272317403065825,14,504,2218,0.32098765432098764,14,52,162,0.807909604519774,15,143,177,2020-12-09 -SC,22,63,2,31,54,2,12,85,11395,87,8947,87,1310,85,186,87,99,85,0,85,3,85,1015,87,295,85,291,87,1307,85,1112,87,3,85,1,85,1301,87,0.7851689337428697,87,8947,11395,0.1482571299230421,85,1310,8836,0.11671418389166073,85,1310,11224,0.23524720893141945,85,295,1254,0.7801691006917756,87,1015,1301,2020-12-09 -SD,11,50,3,14,47,3,88,61,2876,64,1748,64,444,61,45,64,12,61,0,61,0,61,176,64,83,61,89,64,440,61,440,64,4,61,4,61,261,64,0.60778859527121,64,1748,2876,0.2642857142857143,61,444,1680,0.16063675832127353,61,444,2764,0.33877551020408164,61,83,245,0.6743295019157088,64,176,261,2020-12-09 -TN,23,76,45,43,56,45,32,99,19907,144,12813,126,2815,99,311,99,123,99,0,99,4,99,1782,141,688,99,659,99,2791,99,2573,99,24,99,17,99,2134,144,0.6951120273422666,126,12813,18433,0.23564373011886824,99,2815,11946,0.1682304428375067,99,2815,16733,0.343142144638404,99,688,2005,0.8579682233991334,141,1782,2077,2020-12-09 -TX,147,439,5,176,410,5,87,586,71468,591,53428,591,9734,586,1154,591,714,586,16,586,63,586,6577,591,2712,586,2679,591,9612,586,9055,591,122,586,81,586,7939,591,0.747579336206414,591,53428,71468,0.18453430396784773,586,9734,52749,0.13793005724650004,586,9734,70572,0.35120435120435123,586,2712,7722,0.8284418692530545,591,6577,7939,2020-12-09 -UT,6,52,1,7,51,1,1,58,6217,59,3625,59,585,58,94,59,10,58,2,58,0,58,482,59,196,58,194,59,577,58,554,59,8,58,0,58,663,59,0.5830786552999839,59,3625,6217,0.16432584269662923,58,585,3560,0.09557261885312858,58,585,6121,0.30387596899224806,58,196,645,0.726998491704374,59,482,663,2020-12-09 -VA,30,70,8,39,61,8,33,105,19094,108,13128,108,2195,105,201,108,294,105,1,105,14,105,1467,108,450,105,397,108,2156,105,1702,108,39,105,22,105,2052,108,0.6875458259138997,108,13128,19094,0.16915844636251542,105,2195,12976,0.11655073541124622,105,2195,18833,0.22635814889336017,105,450,1988,0.7149122807017544,108,1467,2052,2020-12-09 -VI,1,1,0,2,0,0,0,2,168,2,88,2,3,2,0,2,0,2,0,2,1,2,13,2,2,2,2,2,2,2,2,2,1,2,0,2,20,2,0.5238095238095238,2,88,168,0.03409090909090909,2,3,88,0.017857142857142856,2,3,168,0.1,2,2,20,0.65,2,13,20,2020-12-09 -VT,0,16,1,1,15,1,0,16,1312,17,765,17,11,16,0,17,3,16,0,16,0,16,65,17,2,16,1,17,11,16,9,17,0,16,0,16,111,17,0.583079268292683,17,765,1312,0.014647137150466045,16,11,751,0.008627450980392156,16,11,1275,0.019230769230769232,16,2,104,0.5855855855855856,17,65,111,2020-12-09 -WA,13,89,2,20,82,2,24,102,13929,104,9476,104,1118,102,78,104,102,102,0,102,16,102,998,104,264,102,243,104,1100,102,996,104,18,102,13,102,1365,104,0.6803072725967406,104,9476,13929,0.1191262653169952,102,1118,9385,0.08090310442144873,102,1118,13819,0.19657483246463142,102,264,1343,0.7311355311355311,104,998,1365,2020-12-09 -WI,53,93,3,57,89,3,19,146,13998,149,8873,147,1630,144,355,149,85,146,2,146,1,146,1064,147,351,144,372,147,1619,144,1590,147,11,144,4,144,1660,149,0.6437640571718783,147,8873,13783,0.18962308050255933,144,1630,8596,0.1218509381774688,144,1630,13377,0.22229259024699177,144,351,1579,0.6409638554216868,147,1064,1660,2020-12-09 -WV,17,42,4,19,40,4,14,59,6240,63,4554,63,799,59,81,63,47,59,0,59,2,59,520,63,196,59,199,63,791,59,755,63,8,59,1,59,653,63,0.7298076923076923,63,4554,6240,0.18019846639603068,59,799,4434,0.13235050521782343,59,799,6037,0.327212020033389,59,196,599,0.7963246554364471,63,520,653,2020-12-09 -ID,7,44,1,8,43,1,9,51,3768,52,2206,52,480,51,67,52,12,51,1,51,0,51,241,52,115,51,113,52,473,51,463,52,7,51,5,51,318,52,0.5854564755838642,52,2206,3768,0.22388059701492538,51,480,2144,0.13043478260869565,51,480,3680,0.38079470198675497,51,115,302,0.7578616352201258,52,241,318,2020-12-09 -IL,36,147,18,41,142,18,48,196,30979,201,21251,201,5144,196,482,201,401,196,6,196,19,196,2484,201,1060,196,968,201,5040,196,4397,201,104,196,51,196,3566,201,0.6859808257206494,201,21251,30979,0.24477753985248632,196,5144,21015,0.1684127815610267,196,5144,30544,0.3027706369608683,196,1060,3501,0.696578799775659,201,2484,3566,2020-12-09 -IN,29,133,2,34,128,2,10,162,18918,164,13102,164,3127,162,381,164,191,162,3,162,5,162,1712,164,718,162,690,164,3098,162,2803,164,29,162,11,162,2214,164,0.6925679247277725,164,13102,18918,0.24131810464577866,162,3127,12958,0.16683561863095556,162,3127,18743,0.3322535863026377,162,718,2161,0.7732610659439928,164,1712,2214,2020-12-09 -KS,39,107,4,53,93,4,19,147,8897,150,5448,150,1232,147,166,150,68,147,0,147,0,147,701,150,290,147,282,150,1225,147,1092,150,7,147,4,147,866,150,0.6123412386197594,150,5448,8897,0.22819040563067236,147,1232,5399,0.14014332840404958,147,1232,8791,0.3460620525059666,147,290,838,0.8094688221709007,150,701,866,2020-12-09 -KY,4,30,90,7,115,2,18,122,14268,124,8694,124,1806,122,424,124,93,122,1,122,1,122,1261,124,440,122,445,124,1800,122,1635,124,6,122,7,122,1723,124,0.6093355761143818,124,8694,14268,0.2113022113022113,122,1806,8547,0.12820330801448143,122,1806,14087,0.26237328562909956,122,440,1677,0.7318630295995356,124,1261,1723,2020-12-09 -LA,38,173,10,43,168,10,20,211,14074,221,9304,221,1393,221,176,212,14,212,3,212,1,212,1365,221,441,221,434,221,1382,221,2192,221,11,221,8,221,1846,221,0.6610771635640188,221,9304,14074,0.14972055030094583,221,1393,9304,0.09897683672019326,221,1393,14074,0.23889490790899243,221,441,1846,0.7394366197183099,221,1365,1846,2020-12-09 -MA,9,91,1,8,92,1,67,100,19217,101,15086,101,1745,100,235,101,109,100,2,100,1,100,1032,101,381,100,355,101,1710,100,1518,101,35,100,17,100,1476,101,0.7850340844044336,101,15086,19217,0.11644978311644978,100,1745,14985,0.09142348195106617,100,1745,19087,0.26275862068965516,100,381,1450,0.6991869918699187,101,1032,1476,2020-12-09 -MD,9,49,1,11,47,1,42,58,12067,59,9632,59,2134,58,229,59,345,58,1,58,8,58,1052,59,439,58,384,59,2081,58,1646,59,53,58,9,58,1339,59,0.7982099941990553,59,9632,12067,0.22287206266318538,58,2134,9575,0.17850271852781263,58,2134,11955,0.3376923076923077,58,439,1300,0.7856609410007468,59,1052,1339,2020-12-09 -ME,10,21,8,8,23,8,1,38,3307,39,2213,39,230,38,19,39,32,38,0,38,0,38,248,39,64,38,55,39,230,38,183,39,0,38,0,38,328,39,0.6691865739340792,39,2213,3307,0.10550458715596331,38,230,2180,0.07029339853300734,38,230,3272,0.20125786163522014,38,64,318,0.7560975609756098,39,248,328,2020-12-09 -MI,30,129,4,32,127,4,41,159,23598,163,18003,163,3812,159,376,163,162,159,9,159,9,159,2209,163,873,159,842,163,3689,159,3407,163,123,159,24,159,2649,163,0.7629036359013476,163,18003,23598,0.2133303486484974,159,3812,17869,0.16294079931609318,159,3812,23395,0.334610962054427,159,873,2609,0.8338995847489619,163,2209,2649,2020-12-09 -MN,21,116,2,26,111,2,63,138,10358,139,7558,139,1516,138,182,139,70,138,3,138,2,138,806,139,346,138,355,139,1490,138,1358,139,26,138,21,138,1019,139,0.7296775439273991,139,7558,10358,0.20824175824175825,138,1516,7280,0.15163032606521304,138,1516,9998,0.36536430834213307,138,346,947,0.7909715407262021,139,806,1019,2020-12-09 -MO,47,78,16,62,63,16,22,137,17433,141,13521,141,2611,137,315,141,239,137,5,137,18,137,1615,141,645,137,604,141,2546,137,2307,141,65,137,26,137,1931,141,0.7755980037859233,141,13521,17433,0.19644872470092545,137,2611,13291,0.1523959610109146,137,2611,17133,0.34565916398713825,137,645,1866,0.8363542206110823,141,1615,1931,2020-12-09 -MS,21,85,2,30,76,2,12,106,8799,108,5637,108,1254,106,142,108,30,106,3,106,5,106,718,108,338,106,263,108,1234,106,1066,108,20,106,5,106,881,108,0.6406409819297647,108,5637,8799,0.22501345774268797,106,1254,5573,0.14392287386663605,106,1254,8713,0.3953216374269006,106,338,855,0.8149829738933031,108,718,881,2020-12-09 -WY,8,,2,7,22,2,5,29,1729,31,856,31,198,29,26,31,15,29,0,29,0,29,58,31,32,29,32,31,196,29,189,31,2,29,2,29,137,31,0.4950838635049161,31,856,1729,0.23627684964200477,29,198,838,0.22729857819905214,29,198,1688,0.25196850393700787,29,32,127,0.4233576642335766,31,58,137,2020/12/09 +state,critical_staffing_shortage_today_yes,critical_staffing_shortage_today_no,critical_staffing_shortage_today_not_reported,critical_staffing_shortage_anticipated_within_week_yes,critical_staffing_shortage_anticipated_within_week_no,critical_staffing_shortage_anticipated_within_week_not_reported,hospital_onset_covid,hospital_onset_covid_coverage,inpatient_beds,inpatient_beds_coverage,inpatient_beds_used,inpatient_beds_used_coverage,inpatient_beds_used_covid,inpatient_beds_used_covid_coverage,previous_day_admission_adult_covid_confirmed,previous_day_admission_adult_covid_confirmed_coverage,previous_day_admission_adult_covid_suspected,previous_day_admission_adult_covid_suspected_coverage,previous_day_admission_pediatric_covid_confirmed,previous_day_admission_pediatric_covid_confirmed_coverage,previous_day_admission_pediatric_covid_suspected,previous_day_admission_pediatric_covid_suspected_coverage,staffed_adult_icu_bed_occupancy,staffed_adult_icu_bed_occupancy_coverage,staffed_icu_adult_patients_confirmed_and_suspected_covid,staffed_icu_adult_patients_confirmed_and_suspected_covid_coverage,staffed_icu_adult_patients_confirmed_covid,staffed_icu_adult_patients_confirmed_covid_coverage,total_adult_patients_hospitalized_confirmed_and_suspected_covid,total_adult_patients_hospitalized_confirmed_and_suspected_covid_coverage,total_adult_patients_hospitalized_confirmed_covid,total_adult_patients_hospitalized_confirmed_covid_coverage,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_coverage,total_pediatric_patients_hospitalized_confirmed_covid,total_pediatric_patients_hospitalized_confirmed_covid_coverage,total_staffed_adult_icu_beds,total_staffed_adult_icu_beds_coverage,inpatient_beds_utilization,inpatient_beds_utilization_coverage,inpatient_beds_utilization_numerator,inpatient_beds_utilization_denominator,percent_of_inpatients_with_covid,percent_of_inpatients_with_covid_coverage,percent_of_inpatients_with_covid_numerator,percent_of_inpatients_with_covid_denominator,inpatient_bed_covid_utilization,inpatient_bed_covid_utilization_coverage,inpatient_bed_covid_utilization_numerator,inpatient_bed_covid_utilization_denominator,adult_icu_bed_covid_utilization,adult_icu_bed_covid_utilization_coverage,adult_icu_bed_covid_utilization_numerator,adult_icu_bed_covid_utilization_denominator,adult_icu_bed_utilization,adult_icu_bed_utilization_coverage,adult_icu_bed_utilization_numerator,adult_icu_bed_utilization_denominator,reporting_cutoff_start,deaths_covid,deaths_covid_coverage,geocoded_state,icu_patients_confirmed_influenza,icu_patients_confirmed_influenza_coverage,on_hand_supply_therapeutic_a_casirivimab_imdevimab_courses,on_hand_supply_therapeutic_b_bamlanivimab_courses,on_hand_supply_therapeutic_c_bamlanivimab_etesevimab_courses,previous_day_admission_adult_covid_confirmed_18-19,previous_day_admission_adult_covid_confirmed_18-19_coverage,previous_day_admission_adult_covid_confirmed_20-29,previous_day_admission_adult_covid_confirmed_20-29_coverage,previous_day_admission_adult_covid_confirmed_30-39,previous_day_admission_adult_covid_confirmed_30-39_coverage,previous_day_admission_adult_covid_confirmed_40-49,previous_day_admission_adult_covid_confirmed_40-49_coverage,previous_day_admission_adult_covid_confirmed_50-59,previous_day_admission_adult_covid_confirmed_50-59_coverage,previous_day_admission_adult_covid_confirmed_60-69,previous_day_admission_adult_covid_confirmed_60-69_coverage,previous_day_admission_adult_covid_confirmed_70-79,previous_day_admission_adult_covid_confirmed_70-79_coverage,previous_day_admission_adult_covid_confirmed_80+,previous_day_admission_adult_covid_confirmed_80+_coverage,previous_day_admission_adult_covid_confirmed_unknown,previous_day_admission_adult_covid_confirmed_unknown_coverage,previous_day_admission_adult_covid_suspected_18-19,previous_day_admission_adult_covid_suspected_18-19_coverage,previous_day_admission_adult_covid_suspected_20-29,previous_day_admission_adult_covid_suspected_20-29_coverage,previous_day_admission_adult_covid_suspected_30-39,previous_day_admission_adult_covid_suspected_30-39_coverage,previous_day_admission_adult_covid_suspected_40-49,previous_day_admission_adult_covid_suspected_40-49_coverage,previous_day_admission_adult_covid_suspected_50-59,previous_day_admission_adult_covid_suspected_50-59_coverage,previous_day_admission_adult_covid_suspected_60_69,previous_day_admission_adult_covid_suspected_60-69_coverage,previous_day_admission_adult_covid_suspected_70-79,previous_day_admission_adult_covid_suspected_70-79_coverage,previous_day_admission_adult_covid_suspected_80,previous_day_admission_adult_covid_suspected_80+_coverage,previous_day_admission_adult_covid_suspected_unknown,previous_day_admission_adult_covid_suspected_unknown_coverage,previous_day_admission_influenza_confirmed,previous_day_admission_influenza_confirmed_coverage,previous_day_deaths_covid_and_influenza,previous_day_deaths_covid_and_influenza_coverage,previous_day_deaths_influenza,previous_day_deaths_influenza_coverage,previous_week_therapeutic_a_casirivimab_imdevimab_courses_used,previous_week_therapeutic_b_bamlanivimab_courses_used,previous_week_therapeutic_c_bamlanivimab_etesevimab_courses_used,total_patients_hospitalized_confirmed_influenza,total_patients_hospitalized_confirmed_influenza_coverage,total_patients_hospitalized_confirmed_influenza_covid,total_patients_hospitalized_confirmed_influenza_covid_coverage +AK,4,20,0,3,21,0,2,24,1625,24,936,24,140,24,18,24,1,24,1,24,1,24,96,24,22,24,21,24,129,24,123,24,11,24,10,24,131,24,0.576,24,936,1625,0.1495726495726495,24,140,936,0.0861538461538461,24,140,1625,0.1679389312977099,24,22,131,0.732824427480916,24,96,131,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +AL,36,74,7,40,69,8,35,111,15116,116,11358,116,2484,111,336,113,110,111,4,111,8,111,1274,116,605,111,584,113,2464,111,2271,113,20,111,14,111,1458,116,0.7513892564170416,116,11358,15116,0.2200567298014457,110,2405,10929,0.1648954405210833,110,2405,14585,0.4105113636363636,110,578,1408,0.8737997256515775,116,1274,1458,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +AR,37,71,2,42,66,2,7,108,9297,110,6743,110,1205,108,153,110,272,108,0,108,10,108,815,110,311,108,308,110,1177,108,975,110,28,108,10,108,1027,110,0.7252877272238356,110,6743,9297,0.1789958407605466,108,1205,6732,0.1301858254105445,108,1205,9256,0.3079207920792079,108,311,1010,0.7935735150925024,110,815,1027,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +AZ,38,81,3,42,77,3,60,119,16657,122,12769,122,3711,119,459,122,267,119,6,119,10,119,1532,122,774,119,755,122,3664,119,3185,122,47,119,26,119,2155,122,0.7665846190790658,122,12769,16657,0.2965241709948062,119,3711,12515,0.227041908840624,119,3711,16345,0.3712230215827338,119,774,2085,0.7109048723897912,122,1532,2155,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +CA,113,275,27,137,253,25,114,407,67724,415,51751,415,14178,405,1964,415,593,407,29,405,16,405,6548,413,2939,405,2933,413,14008,405,13314,413,170,405,131,405,7872,413,0.7641456499911405,415,51751,67724,0.2780817887614004,405,14178,50985,0.2127136062892893,405,14178,66653,0.388345665961945,405,2939,7568,0.8318089430894309,413,6548,7872,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +CO,11,79,13,17,73,13,45,101,11800,103,7939,103,1664,101,221,103,100,101,5,101,10,101,1049,103,455,101,437,103,1636,101,1518,103,28,101,17,101,1538,103,0.6727966101694915,103,7939,11800,0.2117317724901387,101,1664,7859,0.1428816761119697,101,1664,11646,0.3033333333333333,101,455,1500,0.6820546163849155,103,1049,1538,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +CT,2,37,1,3,36,1,33,39,8858,40,6765,40,1394,39,166,40,78,39,3,39,1,39,665,40,264,39,249,40,1376,39,1231,40,18,39,15,39,1129,40,0.7637164145405283,40,6765,8858,0.2077805932329706,39,1394,6709,0.1591324200913242,39,1394,8760,0.2384823848238482,39,264,1107,0.5890168290522586,40,665,1129,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +DC,0,12,2,0,12,2,6,12,3645,14,2916,14,295,13,24,14,72,13,1,13,13,13,296,14,64,12,61,13,265,13,249,14,30,13,11,13,359,14,0.8,14,2916,3645,0.1046470379567222,13,295,2819,0.0839977220956719,13,295,3512,0.1887905604719764,12,64,339,0.8245125348189415,14,296,359,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +DE,1,14,1,3,12,1,5,15,3274,16,2379,16,434,15,43,16,26,15,8,15,1,15,156,16,57,15,55,16,426,15,395,16,8,15,7,15,186,16,0.726634086744044,16,2379,3274,0.1839762611275964,15,434,2359,0.1338679827267119,15,434,3242,0.3166666666666666,15,57,180,0.8387096774193549,16,156,186,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +FL,9,249,11,29,229,11,100,263,57986,269,43794,269,5248,263,677,269,269,263,10,263,11,263,4971,269,1015,263,977,269,5203,263,4790,269,45,263,29,263,6229,269,0.7552512675473391,269,43794,57986,0.1220947816578647,263,5248,42983,0.0922109184193418,263,5248,56913,0.1685766483972762,263,1015,6021,0.7980414191684059,269,4971,6229,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +GA,32,126,13,39,119,13,21,168,22424,171,17776,171,3268,168,470,171,172,168,11,168,51,168,2328,171,796,168,762,171,3200,168,2899,171,68,168,15,168,2632,171,0.7927220834819836,171,17776,22424,0.1858824867754962,168,3268,17581,0.147666169626316,168,3268,22131,0.3087664856477889,168,796,2578,0.8844984802431611,171,2328,2632,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +HI,1,25,0,2,24,0,0,26,2645,26,1813,26,72,26,4,26,12,26,0,26,1,26,155,26,21,26,19,26,70,26,55,26,2,26,0,26,229,26,0.6854442344045368,26,1813,2645,0.0397131825703254,26,72,1813,0.0272211720226843,26,72,2645,0.0917030567685589,26,21,229,0.6768558951965066,26,155,229,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +IA,4,75,47,5,75,46,7,124,8452,126,4806,126,793,124,71,126,22,124,0,124,0,124,469,126,262,124,160,126,787,124,765,126,6,124,6,124,697,126,0.5686228111689541,126,4806,8452,0.1672642902341278,124,793,4741,0.0949928126497364,124,793,8348,0.3864306784660767,124,262,678,0.672883787661406,126,469,697,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +MT,16,50,1,18,48,1,9,66,3206,67,2177,67,356,66,54,67,20,66,1,66,0,66,159,67,71,66,72,67,352,66,352,67,4,66,2,66,237,67,0.6790393013100436,67,2177,3206,0.164967562557924,66,356,2158,0.1124092200820966,66,356,3167,0.3212669683257919,66,71,221,0.6708860759493671,67,159,237,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +NC,9,119,4,13,115,4,46,128,24092,132,18256,132,2824,128,326,132,265,128,4,128,18,128,2064,132,641,128,617,132,2785,128,2444,132,39,128,17,128,2496,132,0.7577619126681056,132,18256,24092,0.156523666999224,128,2824,18042,0.1187053383774695,128,2824,23790,0.2632443531827515,128,641,2435,0.8269230769230769,132,2064,2496,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +ND,21,26,3,20,27,3,2,49,2573,50,1636,50,253,49,18,48,2,46,0,49,0,49,66,48,51,49,50,50,253,49,240,50,0,49,0,49,88,48,0.635833657209483,50,1636,2573,0.1569478908188585,49,253,1612,0.0993325480957989,49,253,2547,0.2738095238095238,47,23,84,0.75,48,66,88,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +NE,16,84,1,26,74,1,17,100,5399,101,3409,101,716,100,74,101,26,100,2,100,0,100,376,101,190,100,183,101,708,100,686,101,8,100,8,100,570,101,0.6314132246712354,101,3409,5399,0.212778603268945,100,716,3365,0.1346117691295356,100,716,5319,0.3429602888086642,100,190,554,0.6596491228070176,101,376,570,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +NH,5,24,1,7,22,1,15,30,3117,30,2188,30,268,30,43,30,19,30,0,30,0,30,175,30,69,30,59,30,268,30,241,30,0,30,0,30,282,30,0.7019570099454604,30,2188,3117,0.1224862888482632,30,268,2188,0.0859801090792428,30,268,3117,0.2446808510638297,30,69,282,0.6205673758865248,30,175,282,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +NJ,11,83,2,10,82,4,161,95,23202,96,17216,96,3738,95,470,96,259,95,4,95,4,95,1606,96,679,95,666,96,3718,95,3430,96,20,95,7,95,2459,96,0.7420049995690027,96,17216,23202,0.2186476368741226,95,3738,17096,0.1621269951422623,95,3738,23056,0.2797692624639472,95,679,2427,0.6531110207401383,96,1606,2459,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +NM,18,35,1,18,35,1,10,52,4461,54,3079,53,837,52,140,54,19,53,0,52,1,50,431,53,218,52,219,53,828,52,792,53,9,52,3,52,432,54,0.6969216840199185,53,3079,4418,0.2781655034895314,52,837,3009,0.1943348038077548,52,837,4307,0.5304136253041363,52,218,411,0.9976851851851852,53,431,432,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +NV,9,51,2,15,45,2,80,60,8655,62,6900,62,1956,60,154,62,135,60,1,60,5,60,737,62,352,60,385,62,1949,60,1804,62,7,60,18,60,1065,62,0.7972270363951474,62,6900,8655,0.2885381324679156,60,1956,6779,0.2306059891535015,60,1956,8482,0.3591836734693877,60,352,980,0.692018779342723,62,737,1065,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +NY,23,171,10,22,172,10,174,195,59150,204,42745,204,7352,195,964,204,325,195,3,195,19,195,4180,204,1276,195,1159,204,7226,195,6247,204,126,195,51,195,6835,204,0.722654268808115,204,42745,59150,0.1733471658964444,195,7352,42412,0.1256967002906479,195,7352,58490,0.190504628247238,195,1276,6698,0.6115581565471836,204,4180,6835,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +OH,39,185,5,63,161,5,230,224,33828,229,22677,229,5436,225,604,229,282,225,19,225,37,225,3151,229,1225,225,1187,229,5338,225,5033,229,98,225,61,225,4234,229,0.6703618304363249,229,22677,33828,0.24215965787598,225,5436,22448,0.1622057112165428,225,5436,33513,0.2939764818814495,225,1225,4167,0.7442135096835144,229,3151,4234,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +OK,48,96,11,56,88,11,50,153,10853,155,7667,155,1674,153,312,155,79,153,3,153,16,153,1060,155,443,153,492,155,1637,153,1657,155,37,153,31,153,1185,155,0.706440615498019,155,7667,10853,0.2268600081311831,153,1674,7379,0.1594741354672763,153,1674,10497,0.3969534050179211,153,443,1116,0.8945147679324894,155,1060,1185,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +OR,5,58,2,7,56,2,13,63,6621,65,4919,65,666,63,51,65,83,63,0,63,34,63,541,65,137,63,124,65,654,63,552,65,12,63,5,63,794,65,0.7429391330614711,65,4919,6621,0.1388078365985827,63,666,4798,0.1029525428968928,63,666,6469,0.1760925449871465,63,137,778,0.681360201511335,65,541,794,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +PA,41,181,6,44,178,6,132,222,37110,228,28259,228,7014,222,724,228,472,222,8,222,17,222,3256,228,1383,222,1360,228,6922,222,6360,228,92,222,58,222,3991,228,0.7614928590676368,228,28259,37110,0.2502140410958904,222,7014,28032,0.1909766656683094,222,7014,36727,0.3567191127160175,222,1383,3877,0.8158356301678777,228,3256,3991,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +PR,1,0,68,1,0,68,23,66,9298,69,5316,69,660,67,38,66,63,66,2,65,18,66,478,69,96,67,90,66,624,67,480,66,36,66,7,65,681,69,0.5717358571735858,69,5316,9298,0.1303574955559944,67,660,5063,0.0733659404179635,67,660,8996,0.1476923076923077,67,96,650,0.7019089574155654,69,478,681,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +RI,3,11,1,3,11,1,9,14,2291,15,1951,14,504,14,30,15,0,14,0,14,0,14,143,15,52,14,55,15,498,14,436,15,6,14,6,14,177,15,0.8515931907463989,14,1951,2291,0.2648449816079873,13,504,1903,0.2272317403065825,14,504,2218,0.3209876543209876,14,52,162,0.807909604519774,15,143,177,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +SC,22,63,2,31,54,2,12,85,11395,87,8947,87,1310,85,186,87,99,85,0,85,3,85,1015,87,295,85,291,87,1307,85,1112,87,3,85,1,85,1301,87,0.7851689337428697,87,8947,11395,0.1482571299230421,85,1310,8836,0.1167141838916607,85,1310,11224,0.2352472089314194,85,295,1254,0.7801691006917756,87,1015,1301,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +SD,11,50,3,14,47,3,88,61,2876,64,1748,64,444,61,45,64,12,61,0,61,0,61,176,64,83,61,89,64,440,61,440,64,4,61,4,61,261,64,0.60778859527121,64,1748,2876,0.2642857142857143,61,444,1680,0.1606367583212735,61,444,2764,0.3387755102040816,61,83,245,0.6743295019157088,64,176,261,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +TN,23,76,45,43,56,45,32,99,19907,144,12813,126,2815,99,311,99,123,99,0,99,4,99,1782,141,688,99,659,99,2791,99,2573,99,24,99,17,99,2134,144,0.6951120273422666,126,12813,18433,0.2356437301188682,99,2815,11946,0.1682304428375067,99,2815,16733,0.343142144638404,99,688,2005,0.8579682233991334,141,1782,2077,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +TX,147,439,5,176,410,5,87,586,71468,591,53428,591,9734,586,1154,591,714,586,16,586,63,586,6577,591,2712,586,2679,591,9612,586,9055,591,122,586,81,586,7939,591,0.747579336206414,591,53428,71468,0.1845343039678477,586,9734,52749,0.1379300572465,586,9734,70572,0.3512043512043512,586,2712,7722,0.8284418692530545,591,6577,7939,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +UT,6,52,1,7,51,1,1,58,6217,59,3625,59,585,58,94,59,10,58,2,58,0,58,482,59,196,58,194,59,577,58,554,59,8,58,0,58,663,59,0.5830786552999839,59,3625,6217,0.1643258426966292,58,585,3560,0.0955726188531285,58,585,6121,0.303875968992248,58,196,645,0.726998491704374,59,482,663,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +VA,30,70,8,39,61,8,33,105,19094,108,13128,108,2195,105,201,108,294,105,1,105,14,105,1467,108,450,105,397,108,2156,105,1702,108,39,105,22,105,2052,108,0.6875458259138997,108,13128,19094,0.1691584463625154,105,2195,12976,0.1165507354112462,105,2195,18833,0.2263581488933601,105,450,1988,0.7149122807017544,108,1467,2052,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +VI,1,1,0,2,0,0,0,2,168,2,88,2,3,2,0,2,0,2,0,2,1,2,13,2,2,2,2,2,2,2,2,2,1,2,0,2,20,2,0.5238095238095238,2,88,168,0.034090909090909,2,3,88,0.0178571428571428,2,3,168,0.1,2,2,20,0.65,2,13,20,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +VT,0,16,1,1,15,1,0,16,1312,17,765,17,11,16,0,17,3,16,0,16,0,16,65,17,2,16,1,17,11,16,9,17,0,16,0,16,111,17,0.583079268292683,17,765,1312,0.014647137150466,16,11,751,0.0086274509803921,16,11,1275,0.0192307692307692,16,2,104,0.5855855855855856,17,65,111,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +WA,13,89,2,20,82,2,24,102,13929,104,9476,104,1118,102,78,104,102,102,0,102,16,102,998,104,264,102,243,104,1100,102,996,104,18,102,13,102,1365,104,0.6803072725967406,104,9476,13929,0.1191262653169952,102,1118,9385,0.0809031044214487,102,1118,13819,0.1965748324646314,102,264,1343,0.7311355311355311,104,998,1365,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +WI,53,93,3,57,89,3,19,146,13998,149,8873,147,1630,144,355,149,85,146,2,146,1,146,1064,147,351,144,372,147,1619,144,1590,147,11,144,4,144,1660,149,0.6437640571718783,147,8873,13783,0.1896230805025593,144,1630,8596,0.1218509381774688,144,1630,13377,0.2222925902469917,144,351,1579,0.6409638554216868,147,1064,1660,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +WV,17,42,4,19,40,4,14,59,6240,63,4554,63,799,59,81,63,47,59,0,59,2,59,520,63,196,59,199,63,791,59,755,63,8,59,1,59,653,63,0.7298076923076923,63,4554,6240,0.1801984663960306,59,799,4434,0.1323505052178234,59,799,6037,0.327212020033389,59,196,599,0.7963246554364471,63,520,653,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +ID,7,44,1,8,43,1,9,51,3768,52,2206,52,480,51,67,52,12,51,1,51,0,51,241,52,115,51,113,52,473,51,463,52,7,51,5,51,318,52,0.5854564755838642,52,2206,3768,0.2238805970149253,51,480,2144,0.1304347826086956,51,480,3680,0.3807947019867549,51,115,302,0.7578616352201258,52,241,318,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +IL,36,147,18,41,142,18,48,196,30979,201,21251,201,5144,196,482,201,401,196,6,196,19,196,2484,201,1060,196,968,201,5040,196,4397,201,104,196,51,196,3566,201,0.6859808257206494,201,21251,30979,0.2447775398524863,196,5144,21015,0.1684127815610267,196,5144,30544,0.3027706369608683,196,1060,3501,0.696578799775659,201,2484,3566,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +IN,29,133,2,34,128,2,10,162,18918,164,13102,164,3127,162,381,164,191,162,3,162,5,162,1712,164,718,162,690,164,3098,162,2803,164,29,162,11,162,2214,164,0.6925679247277725,164,13102,18918,0.2413181046457786,162,3127,12958,0.1668356186309555,162,3127,18743,0.3322535863026377,162,718,2161,0.7732610659439928,164,1712,2214,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +KS,39,107,4,53,93,4,19,147,8897,150,5448,150,1232,147,166,150,68,147,0,147,0,147,701,150,290,147,282,150,1225,147,1092,150,7,147,4,147,866,150,0.6123412386197594,150,5448,8897,0.2281904056306723,147,1232,5399,0.1401433284040495,147,1232,8791,0.3460620525059666,147,290,838,0.8094688221709007,150,701,866,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +KY,4,30,90,7,115,2,18,122,14268,124,8694,124,1806,122,424,124,93,122,1,122,1,122,1261,124,440,122,445,124,1800,122,1635,124,6,122,7,122,1723,124,0.6093355761143818,124,8694,14268,0.2113022113022113,122,1806,8547,0.1282033080144814,122,1806,14087,0.2623732856290995,122,440,1677,0.7318630295995356,124,1261,1723,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +LA,38,173,10,43,168,10,20,211,14074,221,9304,221,1393,221,176,212,14,212,3,212,1,212,1365,221,441,221,434,221,1382,221,2192,221,11,221,8,221,1846,221,0.6610771635640188,221,9304,14074,0.1497205503009458,221,1393,9304,0.0989768367201932,221,1393,14074,0.2388949079089924,221,441,1846,0.7394366197183099,221,1365,1846,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +MA,9,91,1,8,92,1,67,100,19217,101,15086,101,1745,100,235,101,109,100,2,100,1,100,1032,101,381,100,355,101,1710,100,1518,101,35,100,17,100,1476,101,0.7850340844044336,101,15086,19217,0.1164497831164497,100,1745,14985,0.0914234819510661,100,1745,19087,0.2627586206896551,100,381,1450,0.6991869918699187,101,1032,1476,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +MD,9,49,1,11,47,1,42,58,12067,59,9632,59,2134,58,229,59,345,58,1,58,8,58,1052,59,439,58,384,59,2081,58,1646,59,53,58,9,58,1339,59,0.7982099941990553,59,9632,12067,0.2228720626631853,58,2134,9575,0.1785027185278126,58,2134,11955,0.3376923076923077,58,439,1300,0.7856609410007468,59,1052,1339,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +ME,10,21,8,8,23,8,1,38,3307,39,2213,39,230,38,19,39,32,38,0,38,0,38,248,39,64,38,55,39,230,38,183,39,0,38,0,38,328,39,0.6691865739340792,39,2213,3307,0.1055045871559633,38,230,2180,0.0702933985330073,38,230,3272,0.2012578616352201,38,64,318,0.7560975609756098,39,248,328,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +MI,30,129,4,32,127,4,41,159,23598,163,18003,163,3812,159,376,163,162,159,9,159,9,159,2209,163,873,159,842,163,3689,159,3407,163,123,159,24,159,2649,163,0.7629036359013476,163,18003,23598,0.2133303486484974,159,3812,17869,0.1629407993160931,159,3812,23395,0.334610962054427,159,873,2609,0.8338995847489619,163,2209,2649,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +MN,21,116,2,26,111,2,63,138,10358,139,7558,139,1516,138,182,139,70,138,3,138,2,138,806,139,346,138,355,139,1490,138,1358,139,26,138,21,138,1019,139,0.7296775439273991,139,7558,10358,0.2082417582417582,138,1516,7280,0.151630326065213,138,1516,9998,0.365364308342133,138,346,947,0.7909715407262021,139,806,1019,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +MO,47,78,16,62,63,16,22,137,17433,141,13521,141,2611,137,315,141,239,137,5,137,18,137,1615,141,645,137,604,141,2546,137,2307,141,65,137,26,137,1931,141,0.7755980037859233,141,13521,17433,0.1964487247009254,137,2611,13291,0.1523959610109146,137,2611,17133,0.3456591639871382,137,645,1866,0.8363542206110823,141,1615,1931,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +MS,21,85,2,30,76,2,12,106,8799,108,5637,108,1254,106,142,108,30,106,3,106,5,106,718,108,338,106,263,108,1234,106,1066,108,20,106,5,106,881,108,0.6406409819297647,108,5637,8799,0.2250134577426879,106,1254,5573,0.143922873866636,106,1254,8713,0.3953216374269006,106,338,855,0.8149829738933031,108,718,881,2020-12-09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +WY,8,,2,7,22,2,5,29,1729,31,856,31,198,29,26,31,15,29,0,29,0,29,58,31,32,29,32,31,196,29,189,31,2,29,2,29,137,31,0.4950838635049161,31,856,1729,0.2362768496420047,29,198,838,0.2272985781990521,29,198,1688,0.2519685039370078,29,32,127,0.4233576642335766,31,58,137,2020/12/09,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 diff --git a/testdata/acquisition/covid_hosp/state_timeseries/dataset.csv b/testdata/acquisition/covid_hosp/state_timeseries/dataset.csv index 6988683d6..b66e60eb5 100644 --- a/testdata/acquisition/covid_hosp/state_timeseries/dataset.csv +++ b/testdata/acquisition/covid_hosp/state_timeseries/dataset.csv @@ -1,23 +1,23 @@ -state,date,critical_staffing_shortage_today_yes,critical_staffing_shortage_today_no,critical_staffing_shortage_today_not_reported,critical_staffing_shortage_anticipated_within_week_yes,critical_staffing_shortage_anticipated_within_week_no,critical_staffing_shortage_anticipated_within_week_not_reported,hospital_onset_covid,hospital_onset_covid_coverage,inpatient_beds,inpatient_beds_coverage,inpatient_beds_used,inpatient_beds_used_coverage,inpatient_beds_used_covid,inpatient_beds_used_covid_coverage,previous_day_admission_adult_covid_confirmed,previous_day_admission_adult_covid_confirmed_coverage,previous_day_admission_adult_covid_suspected,previous_day_admission_adult_covid_suspected_coverage,previous_day_admission_pediatric_covid_confirmed,previous_day_admission_pediatric_covid_confirmed_coverage,previous_day_admission_pediatric_covid_suspected,previous_day_admission_pediatric_covid_suspected_coverage,staffed_adult_icu_bed_occupancy,staffed_adult_icu_bed_occupancy_coverage,staffed_icu_adult_patients_confirmed_and_suspected_covid,staffed_icu_adult_patients_confirmed_and_suspected_covid_coverage,staffed_icu_adult_patients_confirmed_covid,staffed_icu_adult_patients_confirmed_covid_coverage,total_adult_patients_hospitalized_confirmed_and_suspected_covid,total_adult_patients_hospitalized_confirmed_and_suspected_covid_coverage,total_adult_patients_hospitalized_confirmed_covid,total_adult_patients_hospitalized_confirmed_covid_coverage,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_coverage,total_pediatric_patients_hospitalized_confirmed_covid,total_pediatric_patients_hospitalized_confirmed_covid_coverage,total_staffed_adult_icu_beds,total_staffed_adult_icu_beds_coverage,inpatient_beds_utilization,inpatient_beds_utilization_coverage,inpatient_beds_utilization_numerator,inpatient_beds_utilization_denominator,percent_of_inpatients_with_covid,percent_of_inpatients_with_covid_coverage,percent_of_inpatients_with_covid_numerator,percent_of_inpatients_with_covid_denominator,inpatient_bed_covid_utilization,inpatient_bed_covid_utilization_coverage,inpatient_bed_covid_utilization_numerator,inpatient_bed_covid_utilization_denominator,adult_icu_bed_covid_utilization,adult_icu_bed_covid_utilization_coverage,adult_icu_bed_covid_utilization_numerator,adult_icu_bed_covid_utilization_denominator,adult_icu_bed_utilization,adult_icu_bed_utilization_coverage,adult_icu_bed_utilization_numerator,adult_icu_bed_utilization_denominator -NJ,2020-08-26,9,63,5,9,63,5,52,70,19838,75,15619,77,666,76,37,77,185,76,0,73,2,73,1396,73,64,72,40,73,664,74,101,75,2,74,0,73,1185,72,0.759249924387539,75,15062,19838,0.04280480750690918,76,666,15559,0.031230956733698963,74,615,19692,0.055507372072853424,71,64,1153,1.1274261603375528,72,1336,1185 -NM,2020-08-26,12,34,2,12,34,2,1,47,3426,48,2067,47,111,46,16,48,34,47,4,43,0,42,252,43,30,43,25,44,107,44,67,45,4,44,1,44,380,44,0.607583774250441,47,2067,3402,0.05826771653543307,45,111,1905,0.034796238244514104,46,111,3190,0.0847457627118644,42,30,354,0.672972972972973,42,249,370 -NV,2020-08-26,8,49,4,10,47,4,33,59,8511,61,6154,61,832,59,43,61,108,59,1,59,5,59,655,61,202,58,187,60,826,59,685,61,6,59,1,59,863,61,0.7230642697685349,61,6154,8511,0.13763440860215054,59,832,6045,0.09977215493464445,59,832,8339,0.2534504391468005,58,202,797,0.7589803012746235,61,655,863 -NY,2020-08-26,8,112,46,7,112,47,18,131,43047,150,35549,154,1861,157,96,166,333,157,1,124,11,120,2893,127,255,127,123,130,1728,142,605,142,51,142,17,133,4954,121,0.7126302781599011,149,30564,42889,0.04781893470985308,145,1686,35258,0.03697844104937543,141,1566,42349,0.04596704249783174,106,212,4612,0.5732157506152584,116,2795,4876 -OH,2020-08-26,10,82,115,11,79,117,10,91,30909,207,21840,207,1400,202,94,207,420,203,0,86,19,84,2687,192,357,184,253,188,1373,189,789,192,18,189,3,188,4173,192,0.706590313500922,207,21840,30909,0.06504971656909209,202,1400,21522,0.04597701149425287,202,1400,30450,0.08709441327152964,184,357,4099,0.6439012700694944,192,2687,4173 -OK,2020-08-26,27,86,15,34,79,15,8,124,9573,125,6133,125,534,126,90,128,74,126,1,115,3,116,794,122,204,122,210,124,520,124,514,126,11,124,7,124,1186,121,0.6406560116995718,125,6133,9573,0.07818648417450813,123,457,5845,0.049576914732046,123,457,9218,0.17615658362989323,119,198,1124,0.6694772344013491,121,794,1186 -OR,2020-08-26,3,39,20,4,36,22,0,52,4383,53,4001,61,196,60,9,62,100,60,0,45,5,46,393,46,56,49,37,51,179,52,102,54,9,52,1,52,520,35,0.704083960757472,53,3086,4383,0.050012758356723655,59,196,3919,0.041765543426673,51,176,4214,0.07520325203252033,32,37,492,0.6134615384615385,35,319,520 -PA,2020-08-26,19,165,21,24,155,26,18,174,28118,180,23294,201,1138,199,83,205,346,199,0,152,15,152,2620,165,252,172,185,172,1091,183,558,184,31,183,14,178,3389,157,0.7509424567892453,180,21115,28118,0.04781704781704782,195,1104,23088,0.03670352627597882,174,1019,27763,0.06900763358778626,144,226,3275,0.7588717015468608,149,2502,3297 -PR,2020-08-26,7,47,13,8,46,13,1,66,9608,67,5238,67,410,66,28,67,114,66,0,66,27,66,460,66,62,66,57,67,381,66,230,67,29,66,3,66,722,67,0.5451706910907577,67,5238,9608,0.0799064509842136,66,410,5131,0.04351055926987159,66,410,9423,0.0899854862119013,66,62,689,0.6371191135734072,66,460,722 -RI,2020-08-26,2,9,3,2,9,3,1,13,1879,14,2055,14,84,13,3,14,1,13,0,13,0,13,149,14,11,13,11,14,82,13,81,14,2,13,2,13,185,14,1.0936668440659925,14,2055,1879,0.041811846689895474,13,84,2009,0.046822742474916385,13,84,1794,0.06470588235294118,13,11,170,0.8054054054054054,14,149,185 -SC,2020-08-26,41,27,13,43,25,13,15,72,10507,81,8568,81,1032,79,90,81,81,79,2,70,0,68,989,76,261,75,244,77,1022,76,841,78,5,76,5,76,1387,75,0.8154563624250499,81,8568,10507,0.12181303116147309,79,1032,8472,0.09999031101637439,79,1032,10321,0.19486404833836857,73,258,1324,0.7108868060562364,75,986,1387 -SD,2020-08-26,7,36,12,8,33,14,1,50,2282,52,1436,54,85,52,18,55,7,52,0,36,2,37,90,40,15,32,19,33,59,46,57,43,21,46,19,40,109,31,0.6231375985977213,52,1422,2282,0.061283345349675555,51,85,1387,0.03860127157129882,49,85,2202,0.10344827586206896,23,9,87,0.5959595959595959,30,59,99 -TN,2020-08-26,22,72,29,26,67,30,19,112,17692,112,11742,111,1112,116,126,119,120,116,1,100,9,102,1550,112,322,111,309,114,1094,114,949,117,17,114,10,114,2040,113,0.6959459459459459,109,11742,16872,0.07924693520140105,104,905,11420,0.05976165439887837,105,1023,17118,0.15933781686497672,106,308,1933,0.7870801033591731,110,1523,1935 -TX,2020-08-26,87,354,107,108,333,107,86,537,60176,546,44389,548,5635,543,447,548,657,543,15,529,36,527,5898,533,1936,526,1663,530,5572,532,4606,535,63,532,46,530,7136,531,0.7344456261632545,546,44196,60176,0.12885890692888177,543,5635,43730,0.09501568138131049,541,5635,59306,0.2804824880104636,523,1930,6881,0.8244114349775785,531,5883,7136 -UT,2020-08-26,3,47,4,4,46,4,3,53,5468,53,3254,54,162,53,25,54,14,53,4,43,0,41,329,45,42,43,44,44,148,49,132,49,5,49,5,48,556,42,0.581016825164594,53,3177,5468,0.050577583515454265,53,162,3203,0.029193008553365565,52,157,5378,0.07806691449814127,40,42,538,0.5845323741007195,41,325,556 -VA,2020-08-26,12,46,30,16,41,31,22,81,15655,81,9874,81,1071,85,46,88,148,85,6,75,4,73,839,79,229,77,181,80,961,78,656,78,10,78,4,75,1436,76,0.6307250079846695,81,9874,15655,0.10538762081019946,78,1025,9726,0.06657141001493798,78,1025,15397,0.1535635562086701,72,209,1361,0.5772980501392758,76,829,1436 -VI,2020-08-26,1,1,0,1,1,0,1,2,188,2,99,2,10,2,3,2,0,2,0,2,0,2,12,2,4,2,4,2,10,2,10,2,0,2,0,2,20,2,0.526595744680851,2,99,188,0.10101010101010101,2,10,99,0.05319148936170213,2,10,188,0.2,2,4,20,0.6,2,12,20 -VT,2020-08-26,2,10,3,1,11,3,0,13,638,12,432,12,6,14,1,15,5,14,0,9,0,9,39,9,7,10,6,11,5,11,1,10,0,11,0,9,54,8,0.677115987460815,12,432,638,0.012531328320802004,11,5,399,0.008417508417508417,11,5,594,0.14583333333333334,7,7,48,0.7222222222222222,8,39,54 -WA,2020-08-26,15,65,19,20,58,21,9,84,9937,84,9186,98,475,97,19,99,123,97,1,71,4,72,873,81,111,81,92,80,460,87,321,88,11,87,3,86,937,68,0.6409379088256013,84,6369,9937,0.052243730752309724,96,475,9092,0.033520122261844115,82,329,9815,0.08590308370044053,61,78,908,0.6709816612729234,63,622,927 -WI,2020-08-26,8,123,7,6,110,22,1,135,13108,137,8261,135,582,135,69,138,61,135,0,129,1,129,861,130,151,130,121,133,574,131,359,134,8,131,1,131,1564,131,0.6323968460537396,135,8261,13063,0.07277965677063761,132,581,7983,0.04562230074597566,134,581,12735,0.10134228187919463,128,151,1490,0.5505115089514067,130,861,1564 -WV,2020-08-26,9,45,9,9,45,9,0,58,6831,63,4825,63,237,59,14,63,29,59,0,58,0,58,466,63,62,59,53,63,237,59,157,63,0,59,0,59,683,63,0.7063387498170107,63,4825,6831,0.05010570824524313,59,237,4730,0.03574121550294073,59,237,6631,0.09763779527559055,59,62,635,0.6822840409956076,63,466,683 -WY,2020/08/26,2,,4,2,19,7,0,26,1464,28,629,28,17,26,2,28,13,26,0,21,0,22,49,28,10,26,7,28,17,26,14,28,0,26,0,26,114,28,0.4296448087431694,28,629,1464,0.027597402597402596,26,17,616,0.011946591707659873,26,17,1423,0.09345794392523364,26,10,107,0.4298245614035088,28,49,114 \ No newline at end of file +state,date,critical_staffing_shortage_today_yes,critical_staffing_shortage_today_no,critical_staffing_shortage_today_not_reported,critical_staffing_shortage_anticipated_within_week_yes,critical_staffing_shortage_anticipated_within_week_no,critical_staffing_shortage_anticipated_within_week_not_reported,hospital_onset_covid,hospital_onset_covid_coverage,inpatient_beds,inpatient_beds_coverage,inpatient_beds_used,inpatient_beds_used_coverage,inpatient_beds_used_covid,inpatient_beds_used_covid_coverage,previous_day_admission_adult_covid_confirmed,previous_day_admission_adult_covid_confirmed_coverage,previous_day_admission_adult_covid_suspected,previous_day_admission_adult_covid_suspected_coverage,previous_day_admission_pediatric_covid_confirmed,previous_day_admission_pediatric_covid_confirmed_coverage,previous_day_admission_pediatric_covid_suspected,previous_day_admission_pediatric_covid_suspected_coverage,staffed_adult_icu_bed_occupancy,staffed_adult_icu_bed_occupancy_coverage,staffed_icu_adult_patients_confirmed_and_suspected_covid,staffed_icu_adult_patients_confirmed_and_suspected_covid_coverage,staffed_icu_adult_patients_confirmed_covid,staffed_icu_adult_patients_confirmed_covid_coverage,total_adult_patients_hospitalized_confirmed_and_suspected_covid,total_adult_patients_hospitalized_confirmed_and_suspected_covid_coverage,total_adult_patients_hospitalized_confirmed_covid,total_adult_patients_hospitalized_confirmed_covid_coverage,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_coverage,total_pediatric_patients_hospitalized_confirmed_covid,total_pediatric_patients_hospitalized_confirmed_covid_coverage,total_staffed_adult_icu_beds,total_staffed_adult_icu_beds_coverage,inpatient_beds_utilization,inpatient_beds_utilization_coverage,inpatient_beds_utilization_numerator,inpatient_beds_utilization_denominator,percent_of_inpatients_with_covid,percent_of_inpatients_with_covid_coverage,percent_of_inpatients_with_covid_numerator,percent_of_inpatients_with_covid_denominator,inpatient_bed_covid_utilization,inpatient_bed_covid_utilization_coverage,inpatient_bed_covid_utilization_numerator,inpatient_bed_covid_utilization_denominator,adult_icu_bed_covid_utilization,adult_icu_bed_covid_utilization_coverage,adult_icu_bed_covid_utilization_numerator,adult_icu_bed_covid_utilization_denominator,adult_icu_bed_utilization,adult_icu_bed_utilization_coverage,adult_icu_bed_utilization_numerator,adult_icu_bed_utilization_denominator,deaths_covid,deaths_covid_coverage,geocoded_state,icu_patients_confirmed_influenza,icu_patients_confirmed_influenza_coverage,on_hand_supply_therapeutic_a_casirivimab_imdevimab_courses,on_hand_supply_therapeutic_b_bamlanivimab_courses,on_hand_supply_therapeutic_c_bamlanivimab_etesevimab_courses,previous_day_admission_adult_covid_confirmed_18-19,previous_day_admission_adult_covid_confirmed_18-19_coverage,previous_day_admission_adult_covid_confirmed_20-29,previous_day_admission_adult_covid_confirmed_20-29_coverage,previous_day_admission_adult_covid_confirmed_30-39,previous_day_admission_adult_covid_confirmed_30-39_coverage,previous_day_admission_adult_covid_confirmed_40-49,previous_day_admission_adult_covid_confirmed_40-49_coverage,previous_day_admission_adult_covid_confirmed_50-59,previous_day_admission_adult_covid_confirmed_50-59_coverage,previous_day_admission_adult_covid_confirmed_60-69,previous_day_admission_adult_covid_confirmed_60-69_coverage,previous_day_admission_adult_covid_confirmed_70-79,previous_day_admission_adult_covid_confirmed_70-79_coverage,previous_day_admission_adult_covid_confirmed_80+,previous_day_admission_adult_covid_confirmed_80+_coverage,previous_day_admission_adult_covid_confirmed_unknown,previous_day_admission_adult_covid_confirmed_unknown_coverage,previous_day_admission_adult_covid_suspected_18-19,previous_day_admission_adult_covid_suspected_18-19_coverage,previous_day_admission_adult_covid_suspected_20-29,previous_day_admission_adult_covid_suspected_20-29_coverage,previous_day_admission_adult_covid_suspected_30-39,previous_day_admission_adult_covid_suspected_30-39_coverage,previous_day_admission_adult_covid_suspected_40-49,previous_day_admission_adult_covid_suspected_40-49_coverage,previous_day_admission_adult_covid_suspected_50-59,previous_day_admission_adult_covid_suspected_50-59_coverage,previous_day_admission_adult_covid_suspected_60-69,previous_day_admission_adult_covid_suspected_60-69_coverage,previous_day_admission_adult_covid_suspected_70-79,previous_day_admission_adult_covid_suspected_70-79_coverage,previous_day_admission_adult_covid_suspected_80+,previous_day_admission_adult_covid_suspected_80+_coverage,previous_day_admission_adult_covid_suspected_unknown,previous_day_admission_adult_covid_suspected_unknown_coverage,previous_day_admission_influenza_confirmed,previous_day_admission_influenza_confirmed_coverage,previous_day_deaths_covid_and_influenza,previous_day_deaths_covid_and_influenza_coverage,previous_day_deaths_influenza,previous_day_deaths_influenza_coverage,previous_week_therapeutic_a_casirivimab_imdevimab_courses_used,previous_week_therapeutic_b_bamlanivimab_courses_used,previous_week_therapeutic_c_bamlanivimab_etesevimab_courses_used,total_patients_hospitalized_confirmed_influenza,total_patients_hospitalized_confirmed_influenza_coverage,total_patients_hospitalized_confirmed_influenza_covid,total_patients_hospitalized_confirmed_influenza_covid_coverage +NJ,2020-08-26,9,63,5,9,63,5,52,70,19838,75,15619,77,666,76,37,77,185,76,0,73,2,73,1396,73,64,72,40,73,664,74,101,75,2,74,0,73,1185,72,0.759249924387539,75,15062,19838,0.0428048075069091,76,666,15559,0.0312309567336989,74,615,19692,0.0555073720728534,71,64,1153,1.1274261603375528,72,1336,1185,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +NM,2020-08-26,12,34,2,12,34,2,1,47,3426,48,2067,47,111,46,16,48,34,47,4,43,0,42,252,43,30,43,25,44,107,44,67,45,4,44,1,44,380,44,0.607583774250441,47,2067,3402,0.058267716535433,45,111,1905,0.0347962382445141,46,111,3190,0.0847457627118644,42,30,354,0.672972972972973,42,249,370,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +NV,2020-08-26,8,49,4,10,47,4,33,59,8511,61,6154,61,832,59,43,61,108,59,1,59,5,59,655,61,202,58,187,60,826,59,685,61,6,59,1,59,863,61,0.7230642697685349,61,6154,8511,0.1376344086021505,59,832,6045,0.0997721549346444,59,832,8339,0.2534504391468005,58,202,797,0.7589803012746235,61,655,863,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +NY,2020-08-26,8,112,46,7,112,47,18,131,43047,150,35549,154,1861,157,96,166,333,157,1,124,11,120,2893,127,255,127,123,130,1728,142,605,142,51,142,17,133,4954,121,0.7126302781599011,149,30564,42889,0.047818934709853,145,1686,35258,0.0369784410493754,141,1566,42349,0.0459670424978317,106,212,4612,0.5732157506152584,116,2795,4876,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +OH,2020-08-26,10,82,115,11,79,117,10,91,30909,207,21840,207,1400,202,94,207,420,203,0,86,19,84,2687,192,357,184,253,188,1373,189,789,192,18,189,3,188,4173,192,0.706590313500922,207,21840,30909,0.065049716569092,202,1400,21522,0.0459770114942528,202,1400,30450,0.0870944132715296,184,357,4099,0.6439012700694944,192,2687,4173,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +OK,2020-08-26,27,86,15,34,79,15,8,124,9573,125,6133,125,534,126,90,128,74,126,1,115,3,116,794,122,204,122,210,124,520,124,514,126,11,124,7,124,1186,121,0.6406560116995718,125,6133,9573,0.0781864841745081,123,457,5845,0.049576914732046,123,457,9218,0.1761565836298932,119,198,1124,0.6694772344013491,121,794,1186,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +OR,2020-08-26,3,39,20,4,36,22,0,52,4383,53,4001,61,196,60,9,62,100,60,0,45,5,46,393,46,56,49,37,51,179,52,102,54,9,52,1,52,520,35,0.704083960757472,53,3086,4383,0.0500127583567236,59,196,3919,0.041765543426673,51,176,4214,0.0752032520325203,32,37,492,0.6134615384615385,35,319,520,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +PA,2020-08-26,19,165,21,24,155,26,18,174,28118,180,23294,201,1138,199,83,205,346,199,0,152,15,152,2620,165,252,172,185,172,1091,183,558,184,31,183,14,178,3389,157,0.7509424567892453,180,21115,28118,0.0478170478170478,195,1104,23088,0.0367035262759788,174,1019,27763,0.0690076335877862,144,226,3275,0.7588717015468608,149,2502,3297,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +PR,2020-08-26,7,47,13,8,46,13,1,66,9608,67,5238,67,410,66,28,67,114,66,0,66,27,66,460,66,62,66,57,67,381,66,230,67,29,66,3,66,722,67,0.5451706910907577,67,5238,9608,0.0799064509842136,66,410,5131,0.0435105592698715,66,410,9423,0.0899854862119013,66,62,689,0.6371191135734072,66,460,722,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +RI,2020-08-26,2,9,3,2,9,3,1,13,1879,14,2055,14,84,13,3,14,1,13,0,13,0,13,149,14,11,13,11,14,82,13,81,14,2,13,2,13,185,14,1.0936668440659925,14,2055,1879,0.0418118466898954,13,84,2009,0.0468227424749163,13,84,1794,0.0647058823529411,13,11,170,0.8054054054054054,14,149,185,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +SC,2020-08-26,41,27,13,43,25,13,15,72,10507,81,8568,81,1032,79,90,81,81,79,2,70,0,68,989,76,261,75,244,77,1022,76,841,78,5,76,5,76,1387,75,0.8154563624250499,81,8568,10507,0.121813031161473,79,1032,8472,0.0999903110163743,79,1032,10321,0.1948640483383685,73,258,1324,0.7108868060562364,75,986,1387,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +SD,2020-08-26,7,36,12,8,33,14,1,50,2282,52,1436,54,85,52,18,55,7,52,0,36,2,37,90,40,15,32,19,33,59,46,57,43,21,46,19,40,109,31,0.6231375985977213,52,1422,2282,0.0612833453496755,51,85,1387,0.0386012715712988,49,85,2202,0.1034482758620689,23,9,87,0.5959595959595959,30,59,99,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +TN,2020-08-26,22,72,29,26,67,30,19,112,17692,112,11742,111,1112,116,126,119,120,116,1,100,9,102,1550,112,322,111,309,114,1094,114,949,117,17,114,10,114,2040,113,0.6959459459459459,109,11742,16872,0.079246935201401,104,905,11420,0.0597616543988783,105,1023,17118,0.1593378168649767,106,308,1933,0.7870801033591731,110,1523,1935,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +TX,2020-08-26,87,354,107,108,333,107,86,537,60176,546,44389,548,5635,543,447,548,657,543,15,529,36,527,5898,533,1936,526,1663,530,5572,532,4606,535,63,532,46,530,7136,531,0.7344456261632545,546,44196,60176,0.1288589069288817,543,5635,43730,0.0950156813813104,541,5635,59306,0.2804824880104636,523,1930,6881,0.8244114349775785,531,5883,7136,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +UT,2020-08-26,3,47,4,4,46,4,3,53,5468,53,3254,54,162,53,25,54,14,53,4,43,0,41,329,45,42,43,44,44,148,49,132,49,5,49,5,48,556,42,0.581016825164594,53,3177,5468,0.0505775835154542,53,162,3203,0.0291930085533655,52,157,5378,0.0780669144981412,40,42,538,0.5845323741007195,41,325,556,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +VA,2020-08-26,12,46,30,16,41,31,22,81,15655,81,9874,81,1071,85,46,88,148,85,6,75,4,73,839,79,229,77,181,80,961,78,656,78,10,78,4,75,1436,76,0.6307250079846695,81,9874,15655,0.1053876208101994,78,1025,9726,0.0665714100149379,78,1025,15397,0.1535635562086701,72,209,1361,0.5772980501392758,76,829,1436,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +VI,2020-08-26,1,1,0,1,1,0,1,2,188,2,99,2,10,2,3,2,0,2,0,2,0,2,12,2,4,2,4,2,10,2,10,2,0,2,0,2,20,2,0.526595744680851,2,99,188,0.101010101010101,2,10,99,0.0531914893617021,2,10,188,0.2,2,4,20,0.6,2,12,20,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +VT,2020-08-26,2,10,3,1,11,3,0,13,638,12,432,12,6,14,1,15,5,14,0,9,0,9,39,9,7,10,6,11,5,11,1,10,0,11,0,9,54,8,0.677115987460815,12,432,638,0.012531328320802,11,5,399,0.0084175084175084,11,5,594,0.1458333333333333,7,7,48,0.7222222222222222,8,39,54,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +WA,2020-08-26,15,65,19,20,58,21,9,84,9937,84,9186,98,475,97,19,99,123,97,1,71,4,72,873,81,111,81,92,80,460,87,321,88,11,87,3,86,937,68,0.6409379088256013,84,6369,9937,0.0522437307523097,96,475,9092,0.0335201222618441,82,329,9815,0.0859030837004405,61,78,908,0.6709816612729234,63,622,927,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +WI,2020-08-26,8,123,7,6,110,22,1,135,13108,137,8261,135,582,135,69,138,61,135,0,129,1,129,861,130,151,130,121,133,574,131,359,134,8,131,1,131,1564,131,0.6323968460537396,135,8261,13063,0.0727796567706376,132,581,7983,0.0456223007459756,134,581,12735,0.1013422818791946,128,151,1490,0.5505115089514067,130,861,1564,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +WV,2020-08-26,9,45,9,9,45,9,0,58,6831,63,4825,63,237,59,14,63,29,59,0,58,0,58,466,63,62,59,53,63,237,59,157,63,0,59,0,59,683,63,0.7063387498170107,63,4825,6831,0.0501057082452431,59,237,4730,0.0357412155029407,59,237,6631,0.0976377952755905,59,62,635,0.6822840409956076,63,466,683,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 +WY,2020/08/26,2,,4,2,19,7,0,26,1464,28,629,28,17,26,2,28,13,26,0,21,0,22,49,28,10,26,7,28,17,26,14,28,0,26,0,26,114,28,0.4296448087431694,28,629,1464,0.0275974025974025,26,17,616,0.0119465917076598,26,17,1423,0.0934579439252336,26,10,107,0.4298245614035088,28,49,114,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 diff --git a/testdata/acquisition/covid_hosp/state_timeseries/dataset2.csv b/testdata/acquisition/covid_hosp/state_timeseries/dataset2.csv index f37b29baf..b970a5df4 100644 --- a/testdata/acquisition/covid_hosp/state_timeseries/dataset2.csv +++ b/testdata/acquisition/covid_hosp/state_timeseries/dataset2.csv @@ -1,2 +1,2 @@ -state,date,critical_staffing_shortage_today_yes,critical_staffing_shortage_today_no,critical_staffing_shortage_today_not_reported,critical_staffing_shortage_anticipated_within_week_yes,critical_staffing_shortage_anticipated_within_week_no,critical_staffing_shortage_anticipated_within_week_not_reported,hospital_onset_covid,hospital_onset_covid_coverage,inpatient_beds,inpatient_beds_coverage,inpatient_beds_used,inpatient_beds_used_coverage,inpatient_beds_used_covid,inpatient_beds_used_covid_coverage,previous_day_admission_adult_covid_confirmed,previous_day_admission_adult_covid_confirmed_coverage,previous_day_admission_adult_covid_suspected,previous_day_admission_adult_covid_suspected_coverage,previous_day_admission_pediatric_covid_confirmed,previous_day_admission_pediatric_covid_confirmed_coverage,previous_day_admission_pediatric_covid_suspected,previous_day_admission_pediatric_covid_suspected_coverage,staffed_adult_icu_bed_occupancy,staffed_adult_icu_bed_occupancy_coverage,staffed_icu_adult_patients_confirmed_and_suspected_covid,staffed_icu_adult_patients_confirmed_and_suspected_covid_coverage,staffed_icu_adult_patients_confirmed_covid,staffed_icu_adult_patients_confirmed_covid_coverage,total_adult_patients_hospitalized_confirmed_and_suspected_covid,total_adult_patients_hospitalized_confirmed_and_suspected_covid_coverage,total_adult_patients_hospitalized_confirmed_covid,total_adult_patients_hospitalized_confirmed_covid_coverage,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_coverage,total_pediatric_patients_hospitalized_confirmed_covid,total_pediatric_patients_hospitalized_confirmed_covid_coverage,total_staffed_adult_icu_beds,total_staffed_adult_icu_beds_coverage,inpatient_beds_utilization,inpatient_beds_utilization_coverage,inpatient_beds_utilization_numerator,inpatient_beds_utilization_denominator,percent_of_inpatients_with_covid,percent_of_inpatients_with_covid_coverage,percent_of_inpatients_with_covid_numerator,percent_of_inpatients_with_covid_denominator,inpatient_bed_covid_utilization,inpatient_bed_covid_utilization_coverage,inpatient_bed_covid_utilization_numerator,inpatient_bed_covid_utilization_denominator,adult_icu_bed_covid_utilization,adult_icu_bed_covid_utilization_coverage,adult_icu_bed_covid_utilization_numerator,adult_icu_bed_covid_utilization_denominator,adult_icu_bed_utilization,adult_icu_bed_utilization_coverage,adult_icu_bed_utilization_numerator,adult_icu_bed_utilization_denominator -WY,2020/08/27,2,,4,2,19,7,0,26,1464,28,629,28,17,26,2,28,13,26,0,21,0,22,49,28,10,26,7,28,17,26,14,28,0,26,0,26,114,28,0.4296448087431694,28,629,1464,0.027597402597402596,26,17,616,0.011946591707659873,26,17,1423,0.09345794392523364,26,10,107,0.4298245614035088,28,49,114 \ No newline at end of file +state,date,critical_staffing_shortage_today_yes,critical_staffing_shortage_today_no,critical_staffing_shortage_today_not_reported,critical_staffing_shortage_anticipated_within_week_yes,critical_staffing_shortage_anticipated_within_week_no,critical_staffing_shortage_anticipated_within_week_not_reported,hospital_onset_covid,hospital_onset_covid_coverage,inpatient_beds,inpatient_beds_coverage,inpatient_beds_used,inpatient_beds_used_coverage,inpatient_beds_used_covid,inpatient_beds_used_covid_coverage,previous_day_admission_adult_covid_confirmed,previous_day_admission_adult_covid_confirmed_coverage,previous_day_admission_adult_covid_suspected,previous_day_admission_adult_covid_suspected_coverage,previous_day_admission_pediatric_covid_confirmed,previous_day_admission_pediatric_covid_confirmed_coverage,previous_day_admission_pediatric_covid_suspected,previous_day_admission_pediatric_covid_suspected_coverage,staffed_adult_icu_bed_occupancy,staffed_adult_icu_bed_occupancy_coverage,staffed_icu_adult_patients_confirmed_and_suspected_covid,staffed_icu_adult_patients_confirmed_and_suspected_covid_coverage,staffed_icu_adult_patients_confirmed_covid,staffed_icu_adult_patients_confirmed_covid_coverage,total_adult_patients_hospitalized_confirmed_and_suspected_covid,total_adult_patients_hospitalized_confirmed_and_suspected_covid_coverage,total_adult_patients_hospitalized_confirmed_covid,total_adult_patients_hospitalized_confirmed_covid_coverage,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_coverage,total_pediatric_patients_hospitalized_confirmed_covid,total_pediatric_patients_hospitalized_confirmed_covid_coverage,total_staffed_adult_icu_beds,total_staffed_adult_icu_beds_coverage,inpatient_beds_utilization,inpatient_beds_utilization_coverage,inpatient_beds_utilization_numerator,inpatient_beds_utilization_denominator,percent_of_inpatients_with_covid,percent_of_inpatients_with_covid_coverage,percent_of_inpatients_with_covid_numerator,percent_of_inpatients_with_covid_denominator,inpatient_bed_covid_utilization,inpatient_bed_covid_utilization_coverage,inpatient_bed_covid_utilization_numerator,inpatient_bed_covid_utilization_denominator,adult_icu_bed_covid_utilization,adult_icu_bed_covid_utilization_coverage,adult_icu_bed_covid_utilization_numerator,adult_icu_bed_covid_utilization_denominator,adult_icu_bed_utilization,adult_icu_bed_utilization_coverage,adult_icu_bed_utilization_numerator,adult_icu_bed_utilization_denominator,deaths_covid,deaths_covid_coverage,geocoded_state,icu_patients_confirmed_influenza,icu_patients_confirmed_influenza_coverage,on_hand_supply_therapeutic_a_casirivimab_imdevimab_courses,on_hand_supply_therapeutic_b_bamlanivimab_courses,on_hand_supply_therapeutic_c_bamlanivimab_etesevimab_courses,previous_day_admission_adult_covid_confirmed_18-19,previous_day_admission_adult_covid_confirmed_18-19_coverage,previous_day_admission_adult_covid_confirmed_20-29,previous_day_admission_adult_covid_confirmed_20-29_coverage,previous_day_admission_adult_covid_confirmed_30-39,previous_day_admission_adult_covid_confirmed_30-39_coverage,previous_day_admission_adult_covid_confirmed_40-49,previous_day_admission_adult_covid_confirmed_40-49_coverage,previous_day_admission_adult_covid_confirmed_50-59,previous_day_admission_adult_covid_confirmed_50-59_coverage,previous_day_admission_adult_covid_confirmed_60-69,previous_day_admission_adult_covid_confirmed_60-69_coverage,previous_day_admission_adult_covid_confirmed_70-79,previous_day_admission_adult_covid_confirmed_70-79_coverage,previous_day_admission_adult_covid_confirmed_80+,previous_day_admission_adult_covid_confirmed_80+_coverage,previous_day_admission_adult_covid_confirmed_unknown,previous_day_admission_adult_covid_confirmed_unknown_coverage,previous_day_admission_adult_covid_suspected_18-19,previous_day_admission_adult_covid_suspected_18-19_coverage,previous_day_admission_adult_covid_suspected_20-29,previous_day_admission_adult_covid_suspected_20-29_coverage,previous_day_admission_adult_covid_suspected_30-39,previous_day_admission_adult_covid_suspected_30-39_coverage,previous_day_admission_adult_covid_suspected_40-49,previous_day_admission_adult_covid_suspected_40-49_coverage,previous_day_admission_adult_covid_suspected_50-59,previous_day_admission_adult_covid_suspected_50-59_coverage,previous_day_admission_adult_covid_suspected_60-69,previous_day_admission_adult_covid_suspected_60-69_coverage,previous_day_admission_adult_covid_suspected_70-79,previous_day_admission_adult_covid_suspected_70-79_coverage,previous_day_admission_adult_covid_suspected_80+,previous_day_admission_adult_covid_suspected_80+_coverage,previous_day_admission_adult_covid_suspected_unknown,previous_day_admission_adult_covid_suspected_unknown_coverage,previous_day_admission_influenza_confirmed,previous_day_admission_influenza_confirmed_coverage,previous_day_deaths_covid_and_influenza,previous_day_deaths_covid_and_influenza_coverage,previous_day_deaths_influenza,previous_day_deaths_influenza_coverage,previous_week_therapeutic_a_casirivimab_imdevimab_courses_used,previous_week_therapeutic_b_bamlanivimab_courses_used,previous_week_therapeutic_c_bamlanivimab_etesevimab_courses_used,total_patients_hospitalized_confirmed_influenza,total_patients_hospitalized_confirmed_influenza_coverage,total_patients_hospitalized_confirmed_influenza_covid,total_patients_hospitalized_confirmed_influenza_covid_coverage +WY,2020/08/27,2,,4,2,19,7,0,26,1464,28,629,28,17,26,2,28,13,26,0,21,0,22,49,28,10,26,7,28,17,26,14,28,0,26,0,26,114,28,0.4296448087431694,28,629,1464,0.0275974025974025,26,17,616,0.0119465917076598,26,17,1423,0.0934579439252336,26,10,107,0.4298245614035088,28,49,114,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 diff --git a/tests/acquisition/covid_hosp/state_daily/test_database.py b/tests/acquisition/covid_hosp/state_daily/test_database.py index c9e851414..f9fe34efc 100644 --- a/tests/acquisition/covid_hosp/state_daily/test_database.py +++ b/tests/acquisition/covid_hosp/state_daily/test_database.py @@ -42,12 +42,15 @@ def test_insert_dataset(self): last_query_values = mock_cursor.execute.call_args[0][-1] expected_query_values = ( - 0, sentinel.issue, 'WY', 20201209, 8, None, 2, 7, 22, 2, 5, 29, 1729, - 31, 856, 31, 198, 29, 26, 31, 15, 29, 0, 29, 0, 29, 58, 31, 32, 29, - 32, 31, 196, 29, 189, 31, 2, 29, 2, 29, 137, 31, 0.4950838635049161, 31, - 856, 1729, 0.23627684964200477, 29, 198, 838, 0.11729857819905214, - 29, 198, 1688, 0.25196850393700787, 29, 32, 127, 0.4233576642335766, - 31, 58, 137, 'D') + 0, sentinel.issue, 'WY', 20201209, + 0.2519685039370078, 29, 127, 32, 0.4233576642335766, 31, 137, 58, 22, 2, + 7, None, 2, 8, 0, 1, 2, 5, 29, 3, 4, 0.1172985781990521, 29, 1688, 198, + 1729, 31, 856, 31, 198, 29, 0.4950838635049161, 31, 1729, 856, 5, 6, 7, + 0.2362768496420047, 29, 838, 198, 26, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 31, 24, 25, 15, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 29, 42, 43, 44, 45, 0, 29, 0, 29, + 46, 47, 48, 49, 50, 51, 52, 58, 31, 32, 29, 32, 31, 196, 29, 189, 31, + 53, 54, 55, 56, 2, 29, 2, 29, 137, 31, 'D') self.assertEqual(len(last_query_values), len(expected_query_values)) for actual, expected in zip(last_query_values, expected_query_values): diff --git a/tests/acquisition/covid_hosp/state_timeseries/test_database.py b/tests/acquisition/covid_hosp/state_timeseries/test_database.py index 03abff64b..f8824fae5 100644 --- a/tests/acquisition/covid_hosp/state_timeseries/test_database.py +++ b/tests/acquisition/covid_hosp/state_timeseries/test_database.py @@ -40,12 +40,15 @@ def test_insert_dataset(self): last_query_values = mock_cursor.execute.call_args[0][-1] expected_query_values = ( - 0, sentinel.issue, 'WY', 20200826, 0, 26, 1464, - 28, 629, 28, 17, 26, 2, 28, 13, 26, 0, 21, 0, 22, 49, 28, 10, 26, 7, - 28, 17, 26, 14, 28, 0, 26, 0, 26, 114, 28, 0.4296448087431694, 28, 629, - 1464, 0.027597402597402596, 26, 17, 616, 0.011946591707659873, 26, 17, - 1423, 0.09345794392523364, 26, 10, 107, 0.4298245614035088, 28, 49, 114, - 2, None, 4, 2, 19, 7, 'T') + 0, sentinel.issue, 'WY', 20200826, 0.0934579439252336, 26, 107, 10, + 0.4298245614035088, 28, 114, 49, 19, 7, 2, None, 4, 2, 0, 1, 2, 0, 26, + 3, 4, 0.0119465917076598, 26, 1423, 17, 1464, 28, 629, 28, 17, 26, + 0.4296448087431694, 28, 1464, 629, 5, 6, 7, 0.0275974025974025, 26, 616, + 17, 2, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 28, + 24, 25, 13, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 26, 42, 43, 44, 45, 0, 21, 0, 22, 46, 47, 48, 49, 50, 51, 52, 49, + 28, 10, 26, 7, 28, 17, 26, 14, 28, 53, 54, 55, 56, 0, 26, 0, 26, + 114, 28, 'T') self.assertEqual(len(last_query_values), len(expected_query_values)) for actual, expected in zip(last_query_values, expected_query_values): From 32540e8691c6cc348ba73db78a5b4c7e1e2093ad Mon Sep 17 00:00:00 2001 From: Andrew Chin Date: Sat, 16 Oct 2021 18:02:00 -0400 Subject: [PATCH 04/11] Remove facility duplicates and update tests --- .../covid_hosp/facility/test_scenarios.py | 7 +- integrations/server/test_covid_hosp.py | 2 +- .../covid_hosp/facility/database.py | 418 ++++++++---------- src/ddl/covid_hosp.sql | 6 +- src/server/endpoints/covid_hosp_facility.py | 19 + .../endpoints/covid_hosp_state_timeseries.py | 57 +++ .../covid_hosp/facility/dataset.csv | 42 +- .../covid_hosp/facility/test_database.py | 22 +- 8 files changed, 303 insertions(+), 270 deletions(-) diff --git a/integrations/acquisition/covid_hosp/facility/test_scenarios.py b/integrations/acquisition/covid_hosp/facility/test_scenarios.py index cc9037a4d..22594b9a0 100644 --- a/integrations/acquisition/covid_hosp/facility/test_scenarios.py +++ b/integrations/acquisition/covid_hosp/facility/test_scenarios.py @@ -72,12 +72,13 @@ def test_acquire_dataset(self): self.assertEqual(row['collection_week'], 20201030) self.assertEqual(row['publication_date'], 20210315) self.assertEqual(row['previous_day_total_ed_visits_7_day_sum'], 536) + self.assertEqual(row['total_personnel_covid_vaccinated_doses_all_7_day_sum'], 18) self.assertAlmostEqual(row['total_beds_7_day_avg'], 69.3) self.assertEqual( row['previous_day_admission_influenza_confirmed_7_day_sum'], -999999) - # expect 94 fields per row (95 database columns, except `id`) - self.assertEqual(len(row), 94) + # expect 113 fields per row (114 database columns, except `id`) + self.assertEqual(len(row), 113) # re-acquisition of the same dataset should be a no-op with self.subTest(name='second acquisition'): @@ -108,7 +109,7 @@ def test_facility_lookup(self): self.assertTrue(acquired) # texas ground truth, sorted by `hospital_pk` - # see sample data at testdata/acquisition/covid_hosp/facility/dataset.csv + # see sample data at testdata/acquisition/covid_hosp/facility/dataset_old.csv texas_hospitals = [{ 'hospital_pk': '450771', 'state': 'TX', diff --git a/integrations/server/test_covid_hosp.py b/integrations/server/test_covid_hosp.py index e08f8a761..16538b82d 100644 --- a/integrations/server/test_covid_hosp.py +++ b/integrations/server/test_covid_hosp.py @@ -32,7 +32,7 @@ def setUp(self): def insert_issue(self, cur, issue, value, record_type): so_many_nulls = ', '.join(['null'] * 57) cur.execute(f'''insert into covid_hosp_state_timeseries values ( - 0, {issue}, 'PA', 20201118, {value}, {so_many_nulls}, '{record_type}' + 0, {issue}, 'PA', 20201118, {value}, {so_many_nulls}, '{record_type}', {so_many_nulls} )''') def test_query_by_issue(self): diff --git a/src/acquisition/covid_hosp/facility/database.py b/src/acquisition/covid_hosp/facility/database.py index d8faa94f4..faf7a2a15 100644 --- a/src/acquisition/covid_hosp/facility/database.py +++ b/src/acquisition/covid_hosp/facility/database.py @@ -13,236 +13,194 @@ class Database(BaseDatabase): # due to constraints on the length of column names. See # /src/ddl/covid_hosp.sql for more information. ORDERED_CSV_COLUMNS = [ - ('hospital_pk', 'hospital_pk', str), - ('collection_week', 'collection_week', Utils.int_from_date), - ('state', 'state', str), - ('ccn', 'ccn', str), - ('hospital_name', 'hospital_name', str), - ('address', 'address', str), - ('city', 'city', str), - ('zip', 'zip', str), - ('hospital_subtype', 'hospital_subtype', str), - ('fips_code', 'fips_code', str), - ('is_metro_micro', 'is_metro_micro', Utils.parse_bool), - ('total_beds_7_day_avg', 'total_beds_7_day_avg', float), - ('all_adult_hospital_beds_7_day_avg', 'all_adult_hospital_beds_7_day_avg', float), - ('all_adult_hospital_inpatient_beds_7_day_avg', 'all_adult_hospital_inpatient_beds_7_day_avg', - float), - ('inpatient_beds_used_7_day_avg', 'inpatient_beds_used_7_day_avg', float), - ('all_adult_hospital_inpatient_bed_occupied_7_day_avg', - 'all_adult_hospital_inpatient_bed_occupied_7_day_avg', float), - ('total_adult_patients_hospitalized_confirmed_and_suspected_covid_7_day_avg', - 'total_adult_patients_hosp_confirmed_suspected_covid_7d_avg', float), - ('total_adult_patients_hospitalized_confirmed_covid_7_day_avg', - 'total_adult_patients_hospitalized_confirmed_covid_7_day_avg', float), - ('total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_7_day_avg', - 'total_pediatric_patients_hosp_confirmed_suspected_covid_7d_avg', float), - ('total_pediatric_patients_hospitalized_confirmed_covid_7_day_avg', - 'total_pediatric_patients_hospitalized_confirmed_covid_7_day_avg', float), - ('inpatient_beds_7_day_avg', 'inpatient_beds_7_day_avg', float), - ('total_icu_beds_7_day_avg', 'total_icu_beds_7_day_avg', float), - ('total_staffed_adult_icu_beds_7_day_avg', 'total_staffed_adult_icu_beds_7_day_avg', float), - ('icu_beds_used_7_day_avg', 'icu_beds_used_7_day_avg', float), - ('staffed_adult_icu_bed_occupancy_7_day_avg', 'staffed_adult_icu_bed_occupancy_7_day_avg', - float), - ('staffed_icu_adult_patients_confirmed_and_suspected_covid_7_day_avg', - 'staffed_icu_adult_patients_confirmed_suspected_covid_7d_avg', float), - ('staffed_icu_adult_patients_confirmed_covid_7_day_avg', - 'staffed_icu_adult_patients_confirmed_covid_7_day_avg', float), - ('total_patients_hospitalized_confirmed_influenza_7_day_avg', - 'total_patients_hospitalized_confirmed_influenza_7_day_avg', float), - ('icu_patients_confirmed_influenza_7_day_avg', 'icu_patients_confirmed_influenza_7_day_avg', - float), - ('total_patients_hospitalized_confirmed_influenza_and_covid_7_day_avg', - 'total_patients_hosp_confirmed_influenza_and_covid_7d_avg', float), - ('total_beds_7_day_sum', 'total_beds_7_day_sum', int), - ('all_adult_hospital_beds_7_day_sum', 'all_adult_hospital_beds_7_day_sum', int), - ('all_adult_hospital_inpatient_beds_7_day_sum', 'all_adult_hospital_inpatient_beds_7_day_sum', - int), - ('inpatient_beds_used_7_day_sum', 'inpatient_beds_used_7_day_sum', int), - ('all_adult_hospital_inpatient_bed_occupied_7_day_sum', - 'all_adult_hospital_inpatient_bed_occupied_7_day_sum', int), - ('total_adult_patients_hospitalized_confirmed_and_suspected_covid_7_day_sum', - 'total_adult_patients_hosp_confirmed_suspected_covid_7d_sum', int), - ('total_adult_patients_hospitalized_confirmed_covid_7_day_sum', - 'total_adult_patients_hospitalized_confirmed_covid_7_day_sum', int), - ('total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_7_day_sum', - 'total_pediatric_patients_hosp_confirmed_suspected_covid_7d_sum', int), - ('total_pediatric_patients_hospitalized_confirmed_covid_7_day_sum', - 'total_pediatric_patients_hospitalized_confirmed_covid_7_day_sum', int), - ('inpatient_beds_7_day_sum', 'inpatient_beds_7_day_sum', int), - ('total_icu_beds_7_day_sum', 'total_icu_beds_7_day_sum', int), - ('total_staffed_adult_icu_beds_7_day_sum', 'total_staffed_adult_icu_beds_7_day_sum', int), - ('icu_beds_used_7_day_sum', 'icu_beds_used_7_day_sum', int), - ('staffed_adult_icu_bed_occupancy_7_day_sum', 'staffed_adult_icu_bed_occupancy_7_day_sum', int), - ('staffed_icu_adult_patients_confirmed_and_suspected_covid_7_day_sum', - 'staffed_icu_adult_patients_confirmed_suspected_covid_7d_sum', int), - ('staffed_icu_adult_patients_confirmed_covid_7_day_sum', - 'staffed_icu_adult_patients_confirmed_covid_7_day_sum', int), - ('total_patients_hospitalized_confirmed_influenza_7_day_sum', - 'total_patients_hospitalized_confirmed_influenza_7_day_sum', int), - ('icu_patients_confirmed_influenza_7_day_sum', 'icu_patients_confirmed_influenza_7_day_sum', - int), - ('total_patients_hospitalized_confirmed_influenza_and_covid_7_day_sum', - 'total_patients_hosp_confirmed_influenza_and_covid_7d_sum', int), - ('total_beds_7_day_coverage', 'total_beds_7_day_coverage', int), - ('all_adult_hospital_beds_7_day_coverage', 'all_adult_hospital_beds_7_day_coverage', int), - ('all_adult_hospital_inpatient_beds_7_day_coverage', - 'all_adult_hospital_inpatient_beds_7_day_coverage', int), - ('inpatient_beds_used_7_day_coverage', 'inpatient_beds_used_7_day_coverage', int), - ('all_adult_hospital_inpatient_bed_occupied_7_day_coverage', - 'all_adult_hospital_inpatient_bed_occupied_7_day_coverage', int), - ('total_adult_patients_hospitalized_confirmed_and_suspected_covid_7_day_coverage', - 'total_adult_patients_hosp_confirmed_suspected_covid_7d_cov', int), - ('total_adult_patients_hospitalized_confirmed_covid_7_day_coverage', - 'total_adult_patients_hospitalized_confirmed_covid_7_day_coverage', int), - ('total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_7_day_coverage', - 'total_pediatric_patients_hosp_confirmed_suspected_covid_7d_cov', int), - ('total_pediatric_patients_hospitalized_confirmed_covid_7_day_coverage', - 'total_pediatric_patients_hosp_confirmed_covid_7d_cov', int), - ('inpatient_beds_7_day_coverage', 'inpatient_beds_7_day_coverage', int), - ('total_icu_beds_7_day_coverage', 'total_icu_beds_7_day_coverage', int), - ('total_staffed_adult_icu_beds_7_day_coverage', 'total_staffed_adult_icu_beds_7_day_coverage', - int), - ('icu_beds_used_7_day_coverage', 'icu_beds_used_7_day_coverage', int), - ('staffed_adult_icu_bed_occupancy_7_day_coverage', - 'staffed_adult_icu_bed_occupancy_7_day_coverage', int), - ('staffed_icu_adult_patients_confirmed_and_suspected_covid_7_day_coverage', - 'staffed_icu_adult_patients_confirmed_suspected_covid_7d_cov', int), - ('staffed_icu_adult_patients_confirmed_covid_7_day_coverage', - 'staffed_icu_adult_patients_confirmed_covid_7_day_coverage', int), - ('total_patients_hospitalized_confirmed_influenza_7_day_coverage', - 'total_patients_hospitalized_confirmed_influenza_7_day_coverage', int), - ('icu_patients_confirmed_influenza_7_day_coverage', - 'icu_patients_confirmed_influenza_7_day_coverage', int), - ('total_patients_hospitalized_confirmed_influenza_and_covid_7_day_coverage', - 'total_patients_hosp_confirmed_influenza_and_covid_7d_cov', int), - ('previous_day_admission_adult_covid_confirmed_7_day_sum', - 'previous_day_admission_adult_covid_confirmed_7_day_sum', int), - ('previous_day_admission_adult_covid_confirmed_18-19_7_day_sum', - 'previous_day_admission_adult_covid_confirmed_18_19_7_day_sum', int), - ('previous_day_admission_adult_covid_confirmed_20-29_7_day_sum', - 'previous_day_admission_adult_covid_confirmed_20_29_7_day_sum', int), - ('previous_day_admission_adult_covid_confirmed_30-39_7_day_sum', - 'previous_day_admission_adult_covid_confirmed_30_39_7_day_sum', int), - ('previous_day_admission_adult_covid_confirmed_40-49_7_day_sum', - 'previous_day_admission_adult_covid_confirmed_40_49_7_day_sum', int), - ('previous_day_admission_adult_covid_confirmed_50-59_7_day_sum', - 'previous_day_admission_adult_covid_confirmed_50_59_7_day_sum', int), - ('previous_day_admission_adult_covid_confirmed_60-69_7_day_sum', - 'previous_day_admission_adult_covid_confirmed_60_69_7_day_sum', int), - ('previous_day_admission_adult_covid_confirmed_70-79_7_day_sum', - 'previous_day_admission_adult_covid_confirmed_70_79_7_day_sum', int), - ('previous_day_admission_adult_covid_confirmed_80+_7_day_sum', - 'previous_day_admission_adult_covid_confirmed_80plus_7_day_sum', int), - ('previous_day_admission_adult_covid_confirmed_unknown_7_day_sum', - 'previous_day_admission_adult_covid_confirmed_unknown_7_day_sum', int), - ('previous_day_admission_pediatric_covid_confirmed_7_day_sum', - 'previous_day_admission_pediatric_covid_confirmed_7_day_sum', int), - ('previous_day_covid_ED_visits_7_day_sum', 'previous_day_covid_ed_visits_7_day_sum', int), - ('previous_day_admission_adult_covid_suspected_7_day_sum', - 'previous_day_admission_adult_covid_suspected_7_day_sum', int), - ('previous_day_admission_adult_covid_suspected_18-19_7_day_sum', - 'previous_day_admission_adult_covid_suspected_18_19_7_day_sum', int), - ('previous_day_admission_adult_covid_suspected_20-29_7_day_sum', - 'previous_day_admission_adult_covid_suspected_20_29_7_day_sum', int), - ('previous_day_admission_adult_covid_suspected_30-39_7_day_sum', - 'previous_day_admission_adult_covid_suspected_30_39_7_day_sum', int), - ('previous_day_admission_adult_covid_suspected_40-49_7_day_sum', - 'previous_day_admission_adult_covid_suspected_40_49_7_day_sum', int), - ('previous_day_admission_adult_covid_suspected_50-59_7_day_sum', - 'previous_day_admission_adult_covid_suspected_50_59_7_day_sum', int), - ('previous_day_admission_adult_covid_suspected_60-69_7_day_sum', - 'previous_day_admission_adult_covid_suspected_60_69_7_day_sum', int), - ('previous_day_admission_adult_covid_suspected_70-79_7_day_sum', - 'previous_day_admission_adult_covid_suspected_70_79_7_day_sum', int), - ('previous_day_admission_adult_covid_suspected_80+_7_day_sum', - 'previous_day_admission_adult_covid_suspected_80plus_7_day_sum', int), - ('previous_day_admission_adult_covid_suspected_unknown_7_day_sum', - 'previous_day_admission_adult_covid_suspected_unknown_7_day_sum', int), - ('previous_day_admission_pediatric_covid_suspected_7_day_sum', - 'previous_day_admission_pediatric_covid_suspected_7_day_sum', int), - ('previous_day_total_ED_visits_7_day_sum', 'previous_day_total_ed_visits_7_day_sum', int), - ('previous_day_admission_influenza_confirmed_7_day_sum', - 'previous_day_admission_influenza_confirmed_7_day_sum', int), - # added by healthdata.gov May 3, 2021 - ('hhs_ids', - 'hhs_ids', str), - ('previous_day_admission_adult_covid_confirmed_7_day_coverage', - 'previous_day_admission_adult_covid_confirmed_7_day_coverage', int), - ('previous_day_admission_pediatric_covid_confirmed_7_day_coverage', - 'previous_day_admission_pediatric_covid_confirmed_7_day_coverage', int), - ('previous_day_admission_adult_covid_suspected_7_day_coverage', - 'previous_day_admission_adult_covid_suspected_7_day_coverage', int), - ('previous_day_admission_pediatric_covid_suspected_7_day_coverage', - 'previous_day_admission_pediatric_covid_suspected_7_day_coverage', int), - ('previous_week_personnel_covid_vaccinated_doses_administered_7_day_sum', - 'previous_week_personnel_covid_vaccd_doses_administered_7_day_sum', int), - ('total_personnel_covid_vaccinated_doses_none_7_day_sum', - 'total_personnel_covid_vaccinated_doses_none_7_day_sum', int), - ('total_personnel_covid_vaccinated_doses_one_7_day_sum', - 'total_personnel_covid_vaccinated_doses_one_7_day_sum', int), - ('total_personnel_covid_vaccinated_doses_all_7_day_sum', - 'total_personnel_covid_vaccinated_doses_all_7_day_sum', int), - ('previous_week_patients_covid_vaccinated_doses_one_7_day_sum', - 'previous_week_patients_covid_vaccinated_doses_one_7_day_sum', int), - ('previous_week_patients_covid_vaccinated_doses_all_7_day_sum', - 'previous_week_patients_covid_vaccinated_doses_all_7_day_sum', int), - # unknown when these additions were made - ('all_adult_hospital_beds_7_day_coverage', - 'all_adult_hospital_beds_7_day_coverage', int), - ('all_adult_hospital_inpatient_bed_occupied_7_day_coverage', - 'all_adult_hospital_inpatient_bed_occupied_7_day_coverage', int), - ('all_adult_hospital_inpatient_beds_7_day_coverage', - 'all_adult_hospital_inpatient_beds_7_day_coverage', int), - ('geocoded_hospital_address', - 'geocoded_hospital_address', str), # varchar(32) - ('icu_beds_used_7_day_sum', - 'icu_beds_used_7_day_sum', int), - ('icu_patients_confirmed_influenza_7_day_sum', - 'icu_patients_confirmed_influenza_7_day_sum', int), - ('inpatient_beds_7_day_sum', - 'inpatient_beds_7_day_sum', int), - ('inpatient_beds_used_7_day_coverage', - 'inpatient_beds_used_7_day_coverage', int), - ('is_corrected', - 'is_corrected', Utils.parse_bool), - ('previous_week_patients_covid_vaccinated_doses_all_7_day', - 'previous_week_patients_covid_vaccinated_doses_all_7_day', int), - ('previous_week_patients_covid_vaccinated_doses_one_7_day', - 'previous_week_patients_covid_vaccinated_doses_one_7_day', int), - ('previous_week_personnel_covid_vaccinated_doses_administered_7_day', - 'previous_week_personnel_covid_vaccd_doses_administered_7_day', int), - ('staffed_adult_icu_bed_occupancy_7_day_sum', - 'staffed_adult_icu_bed_occupancy_7_day_sum', int), - ('staffed_icu_adult_patients_confirmed_and_suspected_covid_7_day_sum', - 'staffed_icu_adult_patients_confirmed_suspected_covid_7_day_sum', int), - ('staffed_icu_adult_patients_confirmed_covid_7_day_sum', - 'staffed_icu_adult_patients_confirmed_covid_7_day_sum', int), - ('total_adult_patients_hospitalized_confirmed_and_suspected_covid_7_day_coverage', - 'total_adult_patients_hosp_confirmed_susp_covid_7_day_coverage', int), - ('total_adult_patients_hospitalized_confirmed_covid_7_day_coverage', - 'total_adult_patients_hospitalized_confirmed_covid_7_day_coverage', int), - ('total_beds_7_day_coverage', - 'total_beds_7_day_coverage', int), - ('total_icu_beds_7_day_sum', - 'total_icu_beds_7_day_sum', int), - ('total_patients_hospitalized_confirmed_influenza_7_day_sum', - 'total_patients_hospitalized_confirmed_influenza_7_day_sum', int), - ('total_patients_hospitalized_confirmed_influenza_and_covid_7_day_sum', - 'total_patients_hospitalized_confirmed_influenza_covid_7_day_sum', int), - ('total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_7_day_coverage', - 'total_pediatric_patients_hosp_confirmd_susp_covid_7_day_coverage', int), - ('total_pediatric_patients_hospitalized_confirmed_covid_7_day_coverage', - 'total_pediatric_patients_hosp_confirmed_covid_7_day_coverage', int), - ('total_personnel_covid_vaccinated_doses_all_7_day', - 'total_personnel_covid_vaccinated_doses_all_7_day', int), - ('total_personnel_covid_vaccinated_doses_none_7_day', - 'total_personnel_covid_vaccinated_doses_none_7_day', int), - ('total_personnel_covid_vaccinated_doses_one_7_day', - 'total_personnel_covid_vaccinated_doses_one_7_day', int), - ('total_staffed_adult_icu_beds_7_day_sum', - 'total_staffed_adult_icu_beds_7_day_sum', int), + ('hospital_pk', 'hospital_pk', str), + ('collection_week', 'collection_week', Utils.int_from_date), + ('address', 'address', str), + ('all_adult_hospital_beds_7_day_avg', 'all_adult_hospital_beds_7_day_avg', float), + ('all_adult_hospital_beds_7_day_coverage', 'all_adult_hospital_beds_7_day_coverage', int), + ('all_adult_hospital_beds_7_day_sum', 'all_adult_hospital_beds_7_day_sum', int), + ('all_adult_hospital_inpatient_bed_occupied_7_day_avg', + 'all_adult_hospital_inpatient_bed_occupied_7_day_avg', float), + ('all_adult_hospital_inpatient_bed_occupied_7_day_coverage', + 'all_adult_hospital_inpatient_bed_occupied_7_day_coverage', int), + ('all_adult_hospital_inpatient_bed_occupied_7_day_sum', + 'all_adult_hospital_inpatient_bed_occupied_7_day_sum', int), + ('all_adult_hospital_inpatient_beds_7_day_avg', 'all_adult_hospital_inpatient_beds_7_day_avg', + float), + ('all_adult_hospital_inpatient_beds_7_day_coverage', + 'all_adult_hospital_inpatient_beds_7_day_coverage', int), + ('all_adult_hospital_inpatient_beds_7_day_sum', 'all_adult_hospital_inpatient_beds_7_day_sum', + int), + ('ccn', 'ccn', str), + ('city', 'city', str), + ('fips_code', 'fips_code', str), + ('geocoded_hospital_address', 'geocoded_hospital_address', str), + ('hhs_ids', 'hhs_ids', str), + ('hospital_name', 'hospital_name', str), + ('hospital_subtype', 'hospital_subtype', str), + ('icu_beds_used_7_day_avg', 'icu_beds_used_7_day_avg', float), + ('icu_beds_used_7_day_coverage', 'icu_beds_used_7_day_coverage', int), + ('icu_beds_used_7_day_sum', 'icu_beds_used_7_day_sum', int), + ('icu_patients_confirmed_influenza_7_day_avg', 'icu_patients_confirmed_influenza_7_day_avg', + float), + ('icu_patients_confirmed_influenza_7_day_coverage', + 'icu_patients_confirmed_influenza_7_day_coverage', int), + ('icu_patients_confirmed_influenza_7_day_sum', 'icu_patients_confirmed_influenza_7_day_sum', + int), + ('inpatient_beds_7_day_avg', 'inpatient_beds_7_day_avg', float), + ('inpatient_beds_7_day_coverage', 'inpatient_beds_7_day_coverage', int), + ('inpatient_beds_7_day_sum', 'inpatient_beds_7_day_sum', int), + ('inpatient_beds_used_7_day_avg', 'inpatient_beds_used_7_day_avg', float), + ('inpatient_beds_used_7_day_coverage', 'inpatient_beds_used_7_day_coverage', int), + ('inpatient_beds_used_7_day_sum', 'inpatient_beds_used_7_day_sum', int), + ('is_corrected', 'is_corrected', Utils.parse_bool), + ('is_metro_micro', 'is_metro_micro', Utils.parse_bool), + ('previous_day_admission_adult_covid_confirmed_18-19_7_day_sum', + 'previous_day_admission_adult_covid_confirmed_18_19_7_day_sum', int), + ('previous_day_admission_adult_covid_confirmed_20-29_7_day_sum', + 'previous_day_admission_adult_covid_confirmed_20_29_7_day_sum', int), + ('previous_day_admission_adult_covid_confirmed_30-39_7_day_sum', + 'previous_day_admission_adult_covid_confirmed_30_39_7_day_sum', int), + ('previous_day_admission_adult_covid_confirmed_40-49_7_day_sum', + 'previous_day_admission_adult_covid_confirmed_40_49_7_day_sum', int), + ('previous_day_admission_adult_covid_confirmed_50-59_7_day_sum', + 'previous_day_admission_adult_covid_confirmed_50_59_7_day_sum', int), + ('previous_day_admission_adult_covid_confirmed_60-69_7_day_sum', + 'previous_day_admission_adult_covid_confirmed_60_69_7_day_sum', int), + ('previous_day_admission_adult_covid_confirmed_70-79_7_day_sum', + 'previous_day_admission_adult_covid_confirmed_70_79_7_day_sum', int), + ('previous_day_admission_adult_covid_confirmed_7_day_coverage', + 'previous_day_admission_adult_covid_confirmed_7_day_coverage', int), + ('previous_day_admission_adult_covid_confirmed_7_day_sum', + 'previous_day_admission_adult_covid_confirmed_7_day_sum', int), + ('previous_day_admission_adult_covid_confirmed_80+_7_day_sum', + 'previous_day_admission_adult_covid_confirmed_80plus_7_day_sum', int), + ('previous_day_admission_adult_covid_confirmed_unknown_7_day_sum', + 'previous_day_admission_adult_covid_confirmed_unknown_7_day_sum', int), + ('previous_day_admission_adult_covid_suspected_18-19_7_day_sum', + 'previous_day_admission_adult_covid_suspected_18_19_7_day_sum', int), + ('previous_day_admission_adult_covid_suspected_20-29_7_day_sum', + 'previous_day_admission_adult_covid_suspected_20_29_7_day_sum', int), + ('previous_day_admission_adult_covid_suspected_30-39_7_day_sum', + 'previous_day_admission_adult_covid_suspected_30_39_7_day_sum', int), + ('previous_day_admission_adult_covid_suspected_40-49_7_day_sum', + 'previous_day_admission_adult_covid_suspected_40_49_7_day_sum', int), + ('previous_day_admission_adult_covid_suspected_50-59_7_day_sum', + 'previous_day_admission_adult_covid_suspected_50_59_7_day_sum', int), + ('previous_day_admission_adult_covid_suspected_60-69_7_day_sum', + 'previous_day_admission_adult_covid_suspected_60_69_7_day_sum', int), + ('previous_day_admission_adult_covid_suspected_70-79_7_day_sum', + 'previous_day_admission_adult_covid_suspected_70_79_7_day_sum', int), + ('previous_day_admission_adult_covid_suspected_7_day_coverage', + 'previous_day_admission_adult_covid_suspected_7_day_coverage', int), + ('previous_day_admission_adult_covid_suspected_7_day_sum', + 'previous_day_admission_adult_covid_suspected_7_day_sum', int), + ('previous_day_admission_adult_covid_suspected_80+_7_day_sum', + 'previous_day_admission_adult_covid_suspected_80plus_7_day_sum', int), + ('previous_day_admission_adult_covid_suspected_unknown_7_day_sum', + 'previous_day_admission_adult_covid_suspected_unknown_7_day_sum', int), + ('previous_day_admission_influenza_confirmed_7_day_sum', + 'previous_day_admission_influenza_confirmed_7_day_sum', int), + ('previous_day_admission_pediatric_covid_confirmed_7_day_coverage', + 'previous_day_admission_pediatric_covid_confirmed_7_day_coverage', int), + ('previous_day_admission_pediatric_covid_confirmed_7_day_sum', + 'previous_day_admission_pediatric_covid_confirmed_7_day_sum', int), + ('previous_day_admission_pediatric_covid_suspected_7_day_coverage', + 'previous_day_admission_pediatric_covid_suspected_7_day_coverage', int), + ('previous_day_admission_pediatric_covid_suspected_7_day_sum', + 'previous_day_admission_pediatric_covid_suspected_7_day_sum', int), + ('previous_day_covid_ED_visits_7_day_sum', 'previous_day_covid_ed_visits_7_day_sum', int), + ('previous_day_total_ED_visits_7_day_sum', 'previous_day_total_ed_visits_7_day_sum', int), + ('previous_week_patients_covid_vaccinated_doses_all_7_day', + 'previous_week_patients_covid_vaccinated_doses_all_7_day', int), + ('previous_week_patients_covid_vaccinated_doses_all_7_day_sum', + 'previous_week_patients_covid_vaccinated_doses_all_7_day_sum', int), + ('previous_week_patients_covid_vaccinated_doses_one_7_day', + 'previous_week_patients_covid_vaccinated_doses_one_7_day', int), + ('previous_week_patients_covid_vaccinated_doses_one_7_day_sum', + 'previous_week_patients_covid_vaccinated_doses_one_7_day_sum', int), + ('previous_week_personnel_covid_vaccinated_doses_administered_7_day', + 'previous_week_personnel_covid_vaccd_doses_administered_7_day', int), + ('previous_week_personnel_covid_vaccinated_doses_administered_7_day_sum', + 'previous_week_personnel_covid_vaccd_doses_administered_7_day_sum', int), + ('staffed_adult_icu_bed_occupancy_7_day_avg', 'staffed_adult_icu_bed_occupancy_7_day_avg', + float), + ('staffed_adult_icu_bed_occupancy_7_day_coverage', + 'staffed_adult_icu_bed_occupancy_7_day_coverage', int), + ('staffed_adult_icu_bed_occupancy_7_day_sum', 'staffed_adult_icu_bed_occupancy_7_day_sum', + int), + ('staffed_icu_adult_patients_confirmed_and_suspected_covid_7_day_avg', + 'staffed_icu_adult_patients_confirmed_suspected_covid_7d_avg', float), + ('staffed_icu_adult_patients_confirmed_and_suspected_covid_7_day_coverage', + 'staffed_icu_adult_patients_confirmed_suspected_covid_7d_cov', int), + ('staffed_icu_adult_patients_confirmed_and_suspected_covid_7_day_sum', + 'staffed_icu_adult_patients_confirmed_suspected_covid_7d_sum', int), + ('staffed_icu_adult_patients_confirmed_covid_7_day_avg', + 'staffed_icu_adult_patients_confirmed_covid_7_day_avg', float), + ('staffed_icu_adult_patients_confirmed_covid_7_day_coverage', + 'staffed_icu_adult_patients_confirmed_covid_7_day_coverage', int), + ('staffed_icu_adult_patients_confirmed_covid_7_day_sum', + 'staffed_icu_adult_patients_confirmed_covid_7_day_sum', int), + ('state', 'state', str), + ('total_adult_patients_hospitalized_confirmed_and_suspected_covid_7_day_avg', + 'total_adult_patients_hosp_confirmed_suspected_covid_7d_avg', float), + ('total_adult_patients_hospitalized_confirmed_and_suspected_covid_7_day_coverage', + 'total_adult_patients_hosp_confirmed_suspected_covid_7d_cov', int), + ('total_adult_patients_hospitalized_confirmed_and_suspected_covid_7_day_sum', + 'total_adult_patients_hosp_confirmed_suspected_covid_7d_sum', int), + ('total_adult_patients_hospitalized_confirmed_covid_7_day_avg', + 'total_adult_patients_hospitalized_confirmed_covid_7_day_avg', float), + ('total_adult_patients_hospitalized_confirmed_covid_7_day_coverage', + 'total_adult_patients_hospitalized_confirmed_covid_7_day_coverage', int), + ('total_adult_patients_hospitalized_confirmed_covid_7_day_sum', + 'total_adult_patients_hospitalized_confirmed_covid_7_day_sum', int), + ('total_beds_7_day_avg', 'total_beds_7_day_avg', float), + ('total_beds_7_day_coverage', 'total_beds_7_day_coverage', int), + ('total_beds_7_day_sum', 'total_beds_7_day_sum', int), + ('total_icu_beds_7_day_avg', 'total_icu_beds_7_day_avg', float), + ('total_icu_beds_7_day_coverage', 'total_icu_beds_7_day_coverage', int), + ('total_icu_beds_7_day_sum', 'total_icu_beds_7_day_sum', int), + ('total_patients_hospitalized_confirmed_influenza_7_day_avg', + 'total_patients_hospitalized_confirmed_influenza_7_day_avg', float), + ('total_patients_hospitalized_confirmed_influenza_7_day_coverage', + 'total_patients_hospitalized_confirmed_influenza_7_day_coverage', int), + ('total_patients_hospitalized_confirmed_influenza_7_day_sum', + 'total_patients_hospitalized_confirmed_influenza_7_day_sum', int), + ('total_patients_hospitalized_confirmed_influenza_and_covid_7_day_avg', + 'total_patients_hosp_confirmed_influenza_and_covid_7d_avg', float), + ('total_patients_hospitalized_confirmed_influenza_and_covid_7_day_coverage', + 'total_patients_hosp_confirmed_influenza_and_covid_7d_cov', int), + ('total_patients_hospitalized_confirmed_influenza_and_covid_7_day_sum', + 'total_patients_hosp_confirmed_influenza_and_covid_7d_sum', int), + ('total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_7_day_avg', + 'total_pediatric_patients_hosp_confirmed_suspected_covid_7d_avg', float), + ('total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_7_day_coverage', + 'total_pediatric_patients_hosp_confirmed_suspected_covid_7d_cov', int), + ('total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_7_day_sum', + 'total_pediatric_patients_hosp_confirmed_suspected_covid_7d_sum', int), + ('total_pediatric_patients_hospitalized_confirmed_covid_7_day_avg', + 'total_pediatric_patients_hospitalized_confirmed_covid_7_day_avg', float), + ('total_pediatric_patients_hospitalized_confirmed_covid_7_day_coverage', + 'total_pediatric_patients_hosp_confirmed_covid_7d_cov', int), + ('total_pediatric_patients_hospitalized_confirmed_covid_7_day_sum', + 'total_pediatric_patients_hospitalized_confirmed_covid_7_day_sum', int), + ('total_personnel_covid_vaccinated_doses_all_7_day', + 'total_personnel_covid_vaccinated_doses_all_7_day', int), + ('total_personnel_covid_vaccinated_doses_all_7_day_sum', + 'total_personnel_covid_vaccinated_doses_all_7_day_sum', int), + ('total_personnel_covid_vaccinated_doses_none_7_day', + 'total_personnel_covid_vaccinated_doses_none_7_day', int), + ('total_personnel_covid_vaccinated_doses_none_7_day_sum', + 'total_personnel_covid_vaccinated_doses_none_7_day_sum', int), + ('total_personnel_covid_vaccinated_doses_one_7_day', + 'total_personnel_covid_vaccinated_doses_one_7_day', int), + ('total_personnel_covid_vaccinated_doses_one_7_day_sum', + 'total_personnel_covid_vaccinated_doses_one_7_day_sum', int), + ('total_staffed_adult_icu_beds_7_day_avg', 'total_staffed_adult_icu_beds_7_day_avg', float), + ('total_staffed_adult_icu_beds_7_day_coverage', 'total_staffed_adult_icu_beds_7_day_coverage', + int), + ('total_staffed_adult_icu_beds_7_day_sum', 'total_staffed_adult_icu_beds_7_day_sum', int), + ('zip', 'zip', str), ] def __init__(self, *args, **kwargs): diff --git a/src/ddl/covid_hosp.sql b/src/ddl/covid_hosp.sql index 407fa34cb..bb06941dd 100644 --- a/src/ddl/covid_hosp.sql +++ b/src/ddl/covid_hosp.sql @@ -1055,6 +1055,7 @@ CREATE TABLE `covid_hosp_facility` ( `state` CHAR(2) NOT NULL, `zip` CHAR(5), -- the below have been relisted in alphabetical order for easier management + `all_adult_hospital_beds_7_day_avg` DOUBLE, `all_adult_hospital_beds_7_day_coverage` INT, `all_adult_hospital_beds_7_day_sum` INT, `all_adult_hospital_inpatient_bed_occupied_7_day_avg` DOUBLE, @@ -1117,11 +1118,9 @@ CREATE TABLE `covid_hosp_facility` ( `staffed_icu_adult_patients_confirmed_covid_7_day_avg` DOUBLE, `staffed_icu_adult_patients_confirmed_covid_7_day_coverage` INT, `staffed_icu_adult_patients_confirmed_covid_7_day_sum` INT, - `staffed_icu_adult_patients_confirmed_suspected_covid_7_day_sum` INT, `staffed_icu_adult_patients_confirmed_suspected_covid_7d_avg` DOUBLE, `staffed_icu_adult_patients_confirmed_suspected_covid_7d_cov` INT, `staffed_icu_adult_patients_confirmed_suspected_covid_7d_sum` INT, - `total_adult_patients_hosp_confirmed_susp_covid_7_day_coverage` INT, `total_adult_patients_hosp_confirmed_suspected_covid_7d_avg` DOUBLE, `total_adult_patients_hosp_confirmed_suspected_covid_7d_cov` INT, `total_adult_patients_hosp_confirmed_suspected_covid_7d_sum` INT, @@ -1140,9 +1139,6 @@ CREATE TABLE `covid_hosp_facility` ( `total_patients_hospitalized_confirmed_influenza_7_day_avg` DOUBLE, `total_patients_hospitalized_confirmed_influenza_7_day_coverage` INT, `total_patients_hospitalized_confirmed_influenza_7_day_sum` INT, - `total_patients_hospitalized_confirmed_influenza_covid_7_day_sum` INT, - `total_pediatric_patients_hosp_confirmd_susp_covid_7_day_coverage` INT, - `total_pediatric_patients_hosp_confirmed_covid_7_day_coverage` INT, `total_pediatric_patients_hosp_confirmed_covid_7d_cov` INT, `total_pediatric_patients_hosp_confirmed_suspected_covid_7d_avg` DOUBLE, `total_pediatric_patients_hosp_confirmed_suspected_covid_7d_cov` INT, diff --git a/src/server/endpoints/covid_hosp_facility.py b/src/server/endpoints/covid_hosp_facility.py index 2a6ba8ba8..1df053929 100644 --- a/src/server/endpoints/covid_hosp_facility.py +++ b/src/server/endpoints/covid_hosp_facility.py @@ -27,6 +27,8 @@ def handle(): "zip", "hospital_subtype", "fips_code", + 'geocoded_hospital_address', + 'hhs_ids' ] fields_int = [ "publication_date", @@ -95,6 +97,23 @@ def handle(): "previous_day_admission_pediatric_covid_suspected_7_day_sum", "previous_day_total_ed_visits_7_day_sum", "previous_day_admission_influenza_confirmed_7_day_sum", + "is_corrected", + "previous_day_admission_adult_covid_confirmed_7_day_coverage", + "previous_day_admission_adult_covid_suspected_7_day_coverage", + "previous_day_admission_pediatric_covid_confirmed_7_day_coverage", + "previous_day_admission_pediatric_covid_suspected_7_day_coverage", + "previous_week_patients_covid_vaccinated_doses_all_7_day", + "previous_week_patients_covid_vaccinated_doses_all_7_day_sum", + "previous_week_patients_covid_vaccinated_doses_one_7_day", + "previous_week_patients_covid_vaccinated_doses_one_7_day_sum", + "previous_week_personnel_covid_vaccinated_doses_administered_7_day", + "previous_week_personnel_covid_vaccinated_doses_administered_7_day_sum", + "total_personnel_covid_vaccinated_doses_all_7_day", + "total_personnel_covid_vaccinated_doses_all_7_day_sum", + "total_personnel_covid_vaccinated_doses_none_7_day", + "total_personnel_covid_vaccinated_doses_none_7_day_sum", + "total_personnel_covid_vaccinated_doses_one_7_day", + "total_personnel_covid_vaccinated_doses_one_7_day_sum" ] fields_float = [ "total_beds_7_day_avg", diff --git a/src/server/endpoints/covid_hosp_state_timeseries.py b/src/server/endpoints/covid_hosp_state_timeseries.py index 8224df578..994be205f 100644 --- a/src/server/endpoints/covid_hosp_state_timeseries.py +++ b/src/server/endpoints/covid_hosp_state_timeseries.py @@ -76,6 +76,63 @@ def handle(): "adult_icu_bed_utilization_coverage", "adult_icu_bed_utilization_numerator", "adult_icu_bed_utilization_denominator", + "deaths_covid", + "deaths_covid_coverage", + "geocoded_state", + "icu_patients_confirmed_influenza", + "icu_patients_confirmed_influenza_coverage", + "on_hand_supply_therapeutic_a_casirivimab_imdevimab_courses", + "on_hand_supply_therapeutic_b_bamlanivimab_courses", + "on_hand_supply_therapeutic_c_bamlanivimab_etesevimab_courses", + "previous_day_admission_adult_covid_confirmed_18-19", + "previous_day_admission_adult_covid_confirmed_18-19_coverage", + "previous_day_admission_adult_covid_confirmed_20-29", + "previous_day_admission_adult_covid_confirmed_20-29_coverage", + "previous_day_admission_adult_covid_confirmed_30-39", + "previous_day_admission_adult_covid_confirmed_30-39_coverage", + "previous_day_admission_adult_covid_confirmed_40-49", + "previous_day_admission_adult_covid_confirmed_40-49_coverage", + "previous_day_admission_adult_covid_confirmed_50-59", + "previous_day_admission_adult_covid_confirmed_50-59_coverage", + "previous_day_admission_adult_covid_confirmed_60-69", + "previous_day_admission_adult_covid_confirmed_60-69_coverage", + "previous_day_admission_adult_covid_confirmed_70-79", + "previous_day_admission_adult_covid_confirmed_70-79_coverage", + "previous_day_admission_adult_covid_confirmed_80+", + "previous_day_admission_adult_covid_confirmed_80+_coverage", + "previous_day_admission_adult_covid_confirmed_unknown", + "previous_day_admission_adult_covid_confirmed_unknown_coverage", + "previous_day_admission_adult_covid_suspected_18-19", + "previous_day_admission_adult_covid_suspected_18-19_coverage", + "previous_day_admission_adult_covid_suspected_20-29", + "previous_day_admission_adult_covid_suspected_20-29_coverage", + "previous_day_admission_adult_covid_suspected_30-39", + "previous_day_admission_adult_covid_suspected_30-39_coverage", + "previous_day_admission_adult_covid_suspected_40-49", + "previous_day_admission_adult_covid_suspected_40-49_coverage", + "previous_day_admission_adult_covid_suspected_50-59", + "previous_day_admission_adult_covid_suspected_50-59_coverage", + "previous_day_admission_adult_covid_suspected_60-69", + "previous_day_admission_adult_covid_suspected_60-69_coverage", + "previous_day_admission_adult_covid_suspected_70-79", + "previous_day_admission_adult_covid_suspected_70-79_coverage", + "previous_day_admission_adult_covid_suspected_80+", + "previous_day_admission_adult_covid_suspected_80+_coverage", + "previous_day_admission_adult_covid_suspected_unknown", + "previous_day_admission_adult_covid_suspected_unknown_coverage", + "previous_day_admission_influenza_confirmed", + "previous_day_admission_influenza_confirmed_coverage", + "previous_day_deaths_covid_and_influenza", + "previous_day_deaths_covid_and_influenza_coverage", + "previous_day_deaths_influenza", + "previous_day_deaths_influenza_coverage", + "previous_week_therapeutic_a_casirivimab_imdevimab_courses_used", + "previous_week_therapeutic_b_bamlanivimab_courses_used", + "previous_week_therapeutic_c_bamlanivimab_etesevimab_courses_used", + "total_patients_hospitalized_confirmed_influenza", + "total_patients_hospitalized_confirmed_influenza_coverage", + "total_patients_hospitalized_confirmed_influenza_covid", + "total_patients_hospitalized_confirmed_influenza_covid_coverage" ] fields_float = [ "inpatient_beds_utilization", diff --git a/testdata/acquisition/covid_hosp/facility/dataset.csv b/testdata/acquisition/covid_hosp/facility/dataset.csv index c4d2662fa..fa700a8b7 100644 --- a/testdata/acquisition/covid_hosp/facility/dataset.csv +++ b/testdata/acquisition/covid_hosp/facility/dataset.csv @@ -1,21 +1,21 @@ -hospital_pk,collection_week,state,ccn,hospital_name,address,city,zip,hospital_subtype,fips_code,is_metro_micro,total_beds_7_day_avg,all_adult_hospital_beds_7_day_avg,all_adult_hospital_inpatient_beds_7_day_avg,inpatient_beds_used_7_day_avg,all_adult_hospital_inpatient_bed_occupied_7_day_avg,total_adult_patients_hospitalized_confirmed_and_suspected_covid_7_day_avg,total_adult_patients_hospitalized_confirmed_covid_7_day_avg,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_7_day_avg,total_pediatric_patients_hospitalized_confirmed_covid_7_day_avg,inpatient_beds_7_day_avg,total_icu_beds_7_day_avg,total_staffed_adult_icu_beds_7_day_avg,icu_beds_used_7_day_avg,staffed_adult_icu_bed_occupancy_7_day_avg,staffed_icu_adult_patients_confirmed_and_suspected_covid_7_day_avg,staffed_icu_adult_patients_confirmed_covid_7_day_avg,total_patients_hospitalized_confirmed_influenza_7_day_avg,icu_patients_confirmed_influenza_7_day_avg,total_patients_hospitalized_confirmed_influenza_and_covid_7_day_avg,total_beds_7_day_sum,all_adult_hospital_beds_7_day_sum,all_adult_hospital_inpatient_beds_7_day_sum,inpatient_beds_used_7_day_sum,all_adult_hospital_inpatient_bed_occupied_7_day_sum,total_adult_patients_hospitalized_confirmed_and_suspected_covid_7_day_sum,total_adult_patients_hospitalized_confirmed_covid_7_day_sum,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_7_day_sum,total_pediatric_patients_hospitalized_confirmed_covid_7_day_sum,inpatient_beds_7_day_sum,total_icu_beds_7_day_sum,total_staffed_adult_icu_beds_7_day_sum,icu_beds_used_7_day_sum,staffed_adult_icu_bed_occupancy_7_day_sum,staffed_icu_adult_patients_confirmed_and_suspected_covid_7_day_sum,staffed_icu_adult_patients_confirmed_covid_7_day_sum,total_patients_hospitalized_confirmed_influenza_7_day_sum,icu_patients_confirmed_influenza_7_day_sum,total_patients_hospitalized_confirmed_influenza_and_covid_7_day_sum,total_beds_7_day_coverage,all_adult_hospital_beds_7_day_coverage,all_adult_hospital_inpatient_beds_7_day_coverage,inpatient_beds_used_7_day_coverage,all_adult_hospital_inpatient_bed_occupied_7_day_coverage,total_adult_patients_hospitalized_confirmed_and_suspected_covid_7_day_coverage,total_adult_patients_hospitalized_confirmed_covid_7_day_coverage,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_7_day_coverage,total_pediatric_patients_hospitalized_confirmed_covid_7_day_coverage,inpatient_beds_7_day_coverage,total_icu_beds_7_day_coverage,total_staffed_adult_icu_beds_7_day_coverage,icu_beds_used_7_day_coverage,staffed_adult_icu_bed_occupancy_7_day_coverage,staffed_icu_adult_patients_confirmed_and_suspected_covid_7_day_coverage,staffed_icu_adult_patients_confirmed_covid_7_day_coverage,total_patients_hospitalized_confirmed_influenza_7_day_coverage,icu_patients_confirmed_influenza_7_day_coverage,total_patients_hospitalized_confirmed_influenza_and_covid_7_day_coverage,previous_day_admission_adult_covid_confirmed_7_day_sum,previous_day_admission_adult_covid_confirmed_18-19_7_day_sum,previous_day_admission_adult_covid_confirmed_20-29_7_day_sum,previous_day_admission_adult_covid_confirmed_30-39_7_day_sum,previous_day_admission_adult_covid_confirmed_40-49_7_day_sum,previous_day_admission_adult_covid_confirmed_50-59_7_day_sum,previous_day_admission_adult_covid_confirmed_60-69_7_day_sum,previous_day_admission_adult_covid_confirmed_70-79_7_day_sum,previous_day_admission_adult_covid_confirmed_80+_7_day_sum,previous_day_admission_adult_covid_confirmed_unknown_7_day_sum,previous_day_admission_pediatric_covid_confirmed_7_day_sum,previous_day_covid_ED_visits_7_day_sum,previous_day_admission_adult_covid_suspected_7_day_sum,previous_day_admission_adult_covid_suspected_18-19_7_day_sum,previous_day_admission_adult_covid_suspected_20-29_7_day_sum,previous_day_admission_adult_covid_suspected_30-39_7_day_sum,previous_day_admission_adult_covid_suspected_40-49_7_day_sum,previous_day_admission_adult_covid_suspected_50-59_7_day_sum,previous_day_admission_adult_covid_suspected_60-69_7_day_sum,previous_day_admission_adult_covid_suspected_70-79_7_day_sum,previous_day_admission_adult_covid_suspected_80+_7_day_sum,previous_day_admission_adult_covid_suspected_unknown_7_day_sum,previous_day_admission_pediatric_covid_suspected_7_day_sum,previous_day_total_ED_visits_7_day_sum,previous_day_admission_influenza_confirmed_7_day_sum -200033,2020-09-25,ME,200033,EASTERN MAINE MEDICAL CENTER,PO BOX 404,BANGOR,04401,Short Term,23019,true,400.1,377.6,350.3,351.6,331.6,-999999.0,-999999.0,-999999.0,-999999.0,372.1,84.0,62.0,77.0,55.1,-999999.0,-999999.0,,,,2801,2643,2452,2461,2321,-999999,-999999,-999999,-999999,2605,588,434,539,386,-999999,-999999,,,,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,4,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,701, -193301,2020-08-21,LA,193301,SHRINERS HOSPITALS FOR CHILDREN,3100 SAMFORD AVENUE,SHREVEPORT,71103,Childrens Hospitals,22017,true,48.0,-999999.0,-999999.0,41.1,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,48.0,,,,,-999999.0,-999999.0,,,,336,21,21,288,6,-999999,-999999,16,-999999,336,,,,,-999999,-999999,,,,7,7,7,7,7,7,7,7,7,7,0,0,0,0,7,7,0,0,0,-999999,,,,,,,,,,,-999999,-999999,,-999999,-999999,-999999,-999999,-999999,-999999,-999999,,-999999,-999999, -451329,2020-08-07,TX,451329,RANKIN HOSPITAL MEDICAL CLINIC,1611 SPUR 576,RANKIN,79778,Critical Access Hospitals,48461,false,64.6,64.6,30.9,15.0,15.0,-999999.0,-999999.0,-999999.0,-999999.0,30.9,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,,,,452,452,216,105,105,-999999,-999999,-999999,-999999,216,-999999,-999999,-999999,-999999,-999999,-999999,,,,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,5,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,16, -171329,2020-11-06,KS,171329,SUMNER COUNTY HOSPITAL DISTRICT NO 1,601 SOUTH OSAGE STREET,CALDWELL,67022,Critical Access Hospitals,20191,true,10.8,10.8,8.8,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,8.8,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,54,54,44,19,19,-999999,-999999,-999999,-999999,44,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,19,-999999 -360086,2020-08-28,OH,360086,MERCY HEALTH - SPRINGFIELD REGIONAL MEDICAL CENTER,100 MEDICAL CENTER DRIVE,SPRINGFIELD,45504,Short Term,39023,true,349.1,274.4,276.0,210.7,201.6,39.9,13.9,-999999.0,-999999.0,349.1,34.9,34.9,27.9,27.9,10.3,4.7,,,,2444,1921,1932,1475,1411,279,97,-999999,-999999,2444,244,244,195,195,72,33,,,,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,67,55,-999999,4,-999999,-999999,12,9,17,11,-999999,-999999,2277, -461301,2020-10-30,UT,461301,FILLMORE COMMUNITY HOSPITAL,674 SOUTH HIGHWAY 99,FILLMORE,84631,Critical Access Hospitals,49027,false,22.0,22.0,17.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,17.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,154,154,119,8,8,-999999,-999999,-999999,-999999,119,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,5,5,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,12,-999999 -050022,2020-10-16,CA,050022,RIVERSIDE COMMUNITY HOSPITAL,4445 MAGNOLIA AVENUE,RIVERSIDE,92501,Short Term,06065,true,562.0,526.0,462.0,367.0,353.3,26.9,24.6,-999999.0,-999999.0,498.0,95.0,75.0,74.7,61.9,9.0,7.7,-999999.0,-999999.0,-999999.0,3934,3682,3234,2569,2473,188,172,-999999,-999999,3486,665,525,523,433,63,54,-999999,-999999,-999999,7,7,7,7,7,7,7,7,5,7,7,7,7,7,7,7,4,4,4,18,-999999,-999999,-999999,-999999,4,-999999,5,5,-999999,-999999,63,9,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,1966,-999999 -450771,2020-09-04,TX,450771,TEXAS HEALTH PRESBYTERIAN HOSPITAL PLANO,6200 W PARKER RD,PLANO,75093,Short Term,48085,true,199.9,199.9,199.9,159.1,159.1,9.0,4.3,-999999.0,-999999.0,199.9,25.3,25.3,17.6,17.6,-999999.0,-999999.0,,,,1399,1399,1399,1114,1114,63,30,-999999,-999999,1399,177,177,123,123,17,15,,,,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,27,24,-999999,-999999,-999999,-999999,-999999,5,12,-999999,-999999,-999999,733, -060125,2020-10-16,CO,060125,CASTLE ROCK ADVENTIST HOSPITAL,2350 MEADOWS BLVD,CASTLE ROCK,80109,Short Term,08035,true,70.0,68.0,49.0,27.6,27.4,-999999.0,-999999.0,-999999.0,-999999.0,51.0,10.0,8.0,5.3,5.1,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,490,476,343,193,192,24,21,-999999,-999999,357,70,56,37,36,11,11,-999999,-999999,-999999,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,1,1,1,4,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,16,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,306,-999999 -501331,2020-11-13,WA,501331,PULLMAN REGIONAL HOSPITAL,835 S BISHOP BLVD,PULLMAN,99163,Critical Access Hospitals,53075,true,25.0,25.0,25.0,12.0,11.6,-999999.0,-999999.0,-999999.0,-999999.0,25.0,4.0,4.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,175,175,175,84,81,-999999,-999999,-999999,-999999,175,28,28,13,13,-999999,-999999,-999999,-999999,-999999,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,4,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,204,-999999 -390056,2020-08-14,PA,390056,PENN HIGHLANDS HUNTINGDON,1225 WARM SPRINGS AVE,HUNTINGDON,16652,Short Term,42061,true,57.0,,,9.3,9.3,-999999.0,-999999.0,-999999.0,-999999.0,57.0,7.0,,-999999.0,,-999999.0,-999999.0,,,,342,,,56,37,10,4,-999999,-999999,342,42,,-999999,,-999999,-999999,,,,6,0,0,6,4,6,6,6,6,6,6,0,6,0,6,6,0,0,0,-999999,,-999999,,,,,,,-999999,-999999,5,7,,,-999999,,,,5,,-999999,,196, -373300,2020-09-04,OK,373300,J D MCCARTY CENTER FOR CHILDREN,2002 EAST ROBINSON,NORMAN,73071,Childrens Hospitals,40027,true,22.0,-999999.0,-999999.0,22.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,22.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,,,,154,-999999,-999999,154,-999999,-999999,-999999,-999999,-999999,154,-999999,-999999,-999999,-999999,-999999,-999999,,,,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999, -301304,2020-11-20,NH,301304,NEW LONDON HOSPITAL,273 COUNTY ROAD,NEW LONDON,03257,Critical Access Hospitals,33013,true,34.0,34.0,25.0,11.3,11.3,-999999.0,-999999.0,-999999.0,-999999.0,25.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,238,238,175,79,79,-999999,-999999,-999999,-999999,175,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,6,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,70,-999999 -301302,2020-08-14,NH,301302,LITTLETON REGIONAL HEALTHCARE,600 ST JOHNSBURY ROAD,LITTLETON,03561,Critical Access Hospitals,33009,true,77.0,77.0,77.0,18.7,18.7,-999999.0,-999999.0,-999999.0,-999999.0,77.0,20.0,20.0,-999999.0,-999999.0,-999999.0,-999999.0,,,,539,539,539,131,131,-999999,-999999,-999999,-999999,539,140,140,13,13,-999999,-999999,,,,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,13,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,214, -100140,2020-09-18,FL,100140,BAPTIST MEDICAL CENTER - NASSAU,1250 S 18TH ST,FERNANDINA BEACH,32034,Short Term,12089,true,89.0,68.0,68.0,32.7,32.7,-999999.0,-999999.0,-999999.0,-999999.0,89.0,8.0,8.0,6.9,6.9,-999999.0,-999999.0,,,,623,476,476,229,229,13,12,-999999,-999999,623,56,56,48,48,9,8,,,,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,82,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,366, -271341,2020-10-09,MT,271341,TRINITY HOSPITAL,315 KNAPP ST,WOLF POINT,59201,Critical Access Hospitals,30085,false,22.0,22.0,22.0,5.1,5.1,-999999.0,-999999.0,-999999.0,-999999.0,22.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,,,,154,154,154,36,36,21,14,-999999,-999999,154,7,7,-999999,-999999,-999999,-999999,,,,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,4,-999999,-999999,-999999,-999999,-999999,4,-999999,-999999,-999999,-999999,23,4,-999999,-999999,-999999,-999999,4,-999999,-999999,-999999,-999999,-999999,83, -141344,2020-10-30,IL,141344,LAWRENCE COUNTY MEMORIAL HOSPITAL,2200 STATE ST,LAWRENCEVILLE,62439,Critical Access Hospitals,17101,false,25.0,25.0,4.3,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,4.3,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,175,175,30,22,22,6,-999999,-999999,-999999,30,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,6,-999999,-999999,-999999,-999999,-999999,-999999,5,-999999,-999999,-999999,51,-999999 -490107,2020-10-30,VA,490107,RESTON HOSPITAL CENTER,1850 TOWN CENTER PARKWAY,RESTON,20190,Short Term,51059,true,276.0,255.0,222.0,187.4,173.1,8.4,7.9,-999999.0,-999999.0,243.0,40.0,28.0,35.3,22.3,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,1932,1785,1554,1312,1212,59,55,-999999,-999999,1701,280,196,247,156,5,4,-999999,-999999,-999999,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,-999999,-999999,-999999,-999999,-999999,-999999,-999999,4,-999999,-999999,40,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,791,-999999 -170122,2020-08-07,KS,170122,"ASCENSION VIA CHRISTI HOSPITALS WICHITA, INC.",929 NORTH ST FRANCIS STREET,WICHITA,67214,Short Term,20173,true,1016.0,946.0,,533.4,527.8,59.0,34.4,-999999.0,-999999.0,732.0,129.0,119.0,121.6,119.8,16.4,16.4,,,,5080,4730,,2667,2639,295,172,-999999,-999999,3660,645,595,608,599,82,82,,,,5,5,0,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,,,,,,,,,,,,,113,,,,,,,,,113,-999999,, -450822,2020/10/30,TX,450822,MEDICAL CITY LAS COLINAS,6800 N MACARTHUR BLVD,IRVING,75039,Short Term,48113,true,69.3,61.1,61.1,69.0,60.9,6.9,6.1,-999999.0,-999999.0,69.3,14.3,6.1,14.0,5.9,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,485,428,428,483,426,48,43,-999999,-999999,485,100,43,98,41,16,14,-999999,-999999,-999999,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,11,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,58,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,536,-999999 +hospital_pk,collection_week,state,ccn,hospital_name,address,city,zip,hospital_subtype,fips_code,is_metro_micro,total_beds_7_day_avg,all_adult_hospital_beds_7_day_avg,all_adult_hospital_inpatient_beds_7_day_avg,inpatient_beds_used_7_day_avg,all_adult_hospital_inpatient_bed_occupied_7_day_avg,total_adult_patients_hospitalized_confirmed_and_suspected_covid_7_day_avg,total_adult_patients_hospitalized_confirmed_covid_7_day_avg,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_7_day_avg,total_pediatric_patients_hospitalized_confirmed_covid_7_day_avg,inpatient_beds_7_day_avg,total_icu_beds_7_day_avg,total_staffed_adult_icu_beds_7_day_avg,icu_beds_used_7_day_avg,staffed_adult_icu_bed_occupancy_7_day_avg,staffed_icu_adult_patients_confirmed_and_suspected_covid_7_day_avg,staffed_icu_adult_patients_confirmed_covid_7_day_avg,total_patients_hospitalized_confirmed_influenza_7_day_avg,icu_patients_confirmed_influenza_7_day_avg,total_patients_hospitalized_confirmed_influenza_and_covid_7_day_avg,total_beds_7_day_sum,all_adult_hospital_beds_7_day_sum,all_adult_hospital_inpatient_beds_7_day_sum,inpatient_beds_used_7_day_sum,all_adult_hospital_inpatient_bed_occupied_7_day_sum,total_adult_patients_hospitalized_confirmed_and_suspected_covid_7_day_sum,total_adult_patients_hospitalized_confirmed_covid_7_day_sum,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_7_day_sum,total_pediatric_patients_hospitalized_confirmed_covid_7_day_sum,inpatient_beds_7_day_sum,total_icu_beds_7_day_sum,total_staffed_adult_icu_beds_7_day_sum,icu_beds_used_7_day_sum,staffed_adult_icu_bed_occupancy_7_day_sum,staffed_icu_adult_patients_confirmed_and_suspected_covid_7_day_sum,staffed_icu_adult_patients_confirmed_covid_7_day_sum,total_patients_hospitalized_confirmed_influenza_7_day_sum,icu_patients_confirmed_influenza_7_day_sum,total_patients_hospitalized_confirmed_influenza_and_covid_7_day_sum,total_beds_7_day_coverage,all_adult_hospital_beds_7_day_coverage,all_adult_hospital_inpatient_beds_7_day_coverage,inpatient_beds_used_7_day_coverage,all_adult_hospital_inpatient_bed_occupied_7_day_coverage,total_adult_patients_hospitalized_confirmed_and_suspected_covid_7_day_coverage,total_adult_patients_hospitalized_confirmed_covid_7_day_coverage,total_pediatric_patients_hospitalized_confirmed_and_suspected_covid_7_day_coverage,total_pediatric_patients_hospitalized_confirmed_covid_7_day_coverage,inpatient_beds_7_day_coverage,total_icu_beds_7_day_coverage,total_staffed_adult_icu_beds_7_day_coverage,icu_beds_used_7_day_coverage,staffed_adult_icu_bed_occupancy_7_day_coverage,staffed_icu_adult_patients_confirmed_and_suspected_covid_7_day_coverage,staffed_icu_adult_patients_confirmed_covid_7_day_coverage,total_patients_hospitalized_confirmed_influenza_7_day_coverage,icu_patients_confirmed_influenza_7_day_coverage,total_patients_hospitalized_confirmed_influenza_and_covid_7_day_coverage,previous_day_admission_adult_covid_confirmed_7_day_sum,previous_day_admission_adult_covid_confirmed_18-19_7_day_sum,previous_day_admission_adult_covid_confirmed_20-29_7_day_sum,previous_day_admission_adult_covid_confirmed_30-39_7_day_sum,previous_day_admission_adult_covid_confirmed_40-49_7_day_sum,previous_day_admission_adult_covid_confirmed_50-59_7_day_sum,previous_day_admission_adult_covid_confirmed_60-69_7_day_sum,previous_day_admission_adult_covid_confirmed_70-79_7_day_sum,previous_day_admission_adult_covid_confirmed_80+_7_day_sum,previous_day_admission_adult_covid_confirmed_unknown_7_day_sum,previous_day_admission_pediatric_covid_confirmed_7_day_sum,previous_day_covid_ED_visits_7_day_sum,previous_day_admission_adult_covid_suspected_7_day_sum,previous_day_admission_adult_covid_suspected_18-19_7_day_sum,previous_day_admission_adult_covid_suspected_20-29_7_day_sum,previous_day_admission_adult_covid_suspected_30-39_7_day_sum,previous_day_admission_adult_covid_suspected_40-49_7_day_sum,previous_day_admission_adult_covid_suspected_50-59_7_day_sum,previous_day_admission_adult_covid_suspected_60-69_7_day_sum,previous_day_admission_adult_covid_suspected_70-79_7_day_sum,previous_day_admission_adult_covid_suspected_80+_7_day_sum,previous_day_admission_adult_covid_suspected_unknown_7_day_sum,previous_day_admission_pediatric_covid_suspected_7_day_sum,previous_day_total_ED_visits_7_day_sum,previous_day_admission_influenza_confirmed_7_day_sum,total_personnel_covid_vaccinated_doses_none_7_day_sum,total_personnel_covid_vaccinated_doses_one_7_day,previous_day_admission_pediatric_covid_confirmed_7_day_coverage,previous_week_patients_covid_vaccinated_doses_all_7_day,total_personnel_covid_vaccinated_doses_one_7_day_sum,previous_week_patients_covid_vaccinated_doses_one_7_day,hhs_ids,previous_day_admission_adult_covid_confirmed_7_day_coverage,previous_week_patients_covid_vaccinated_doses_all_7_day_sum,total_personnel_covid_vaccinated_doses_all_7_day,previous_week_personnel_covid_vaccinated_doses_administered_7_day_sum,previous_day_admission_pediatric_covid_suspected_7_day_coverage,is_corrected,previous_week_personnel_covid_vaccinated_doses_administered_7_day,total_personnel_covid_vaccinated_doses_none_7_day,geocoded_hospital_address,previous_day_admission_adult_covid_suspected_7_day_coverage,previous_week_patients_covid_vaccinated_doses_one_7_day_sum,total_personnel_covid_vaccinated_doses_all_7_day_sum +200033,2020-09-25,ME,200033,EASTERN MAINE MEDICAL CENTER,PO BOX 404,BANGOR,04401,Short Term,23019,true,400.1,377.6,350.3,351.6,331.6,-999999.0,-999999.0,-999999.0,-999999.0,372.1,84.0,62.0,77.0,55.1,-999999.0,-999999.0,,,,2801,2643,2452,2461,2321,-999999,-999999,-999999,-999999,2605,588,434,539,386,-999999,-999999,,,,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,4,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,701,,0,1,2,3,4,5,6,7,8,9,10,11,true,13,14,15,16,17,18 +193301,2020-08-21,LA,193301,SHRINERS HOSPITALS FOR CHILDREN,3100 SAMFORD AVENUE,SHREVEPORT,71103,Childrens Hospitals,22017,true,48.0,-999999.0,-999999.0,41.1,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,48.0,,,,,-999999.0,-999999.0,,,,336,21,21,288,6,-999999,-999999,16,-999999,336,,,,,-999999,-999999,,,,7,7,7,7,7,7,7,7,7,7,0,0,0,0,7,7,0,0,0,-999999,,,,,,,,,,,-999999,-999999,,-999999,-999999,-999999,-999999,-999999,-999999,-999999,,-999999,-999999,,0,1,2,3,4,5,6,7,8,9,10,11,true,13,14,15,16,17,18 +451329,2020-08-07,TX,451329,RANKIN HOSPITAL MEDICAL CLINIC,1611 SPUR 576,RANKIN,79778,Critical Access Hospitals,48461,false,64.6,64.6,30.9,15.0,15.0,-999999.0,-999999.0,-999999.0,-999999.0,30.9,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,,,,452,452,216,105,105,-999999,-999999,-999999,-999999,216,-999999,-999999,-999999,-999999,-999999,-999999,,,,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,5,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,16,,0,1,2,3,4,5,6,7,8,9,10,11,true,13,14,15,16,17,18 +171329,2020-11-06,KS,171329,SUMNER COUNTY HOSPITAL DISTRICT NO 1,601 SOUTH OSAGE STREET,CALDWELL,67022,Critical Access Hospitals,20191,true,10.8,10.8,8.8,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,8.8,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,54,54,44,19,19,-999999,-999999,-999999,-999999,44,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,19,-999999,0,1,2,3,4,5,6,7,8,9,10,11,true,13,14,15,16,17,18 +360086,2020-08-28,OH,360086,MERCY HEALTH - SPRINGFIELD REGIONAL MEDICAL CENTER,100 MEDICAL CENTER DRIVE,SPRINGFIELD,45504,Short Term,39023,true,349.1,274.4,276.0,210.7,201.6,39.9,13.9,-999999.0,-999999.0,349.1,34.9,34.9,27.9,27.9,10.3,4.7,,,,2444,1921,1932,1475,1411,279,97,-999999,-999999,2444,244,244,195,195,72,33,,,,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,67,55,-999999,4,-999999,-999999,12,9,17,11,-999999,-999999,2277,,0,1,2,3,4,5,6,7,8,9,10,11,true,13,14,15,16,17,18 +461301,2020-10-30,UT,461301,FILLMORE COMMUNITY HOSPITAL,674 SOUTH HIGHWAY 99,FILLMORE,84631,Critical Access Hospitals,49027,false,22.0,22.0,17.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,17.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,154,154,119,8,8,-999999,-999999,-999999,-999999,119,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,5,5,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,12,-999999,0,1,2,3,4,5,6,7,8,9,10,11,true,13,14,15,16,17,18 +050022,2020-10-16,CA,050022,RIVERSIDE COMMUNITY HOSPITAL,4445 MAGNOLIA AVENUE,RIVERSIDE,92501,Short Term,06065,true,562.0,526.0,462.0,367.0,353.3,26.9,24.6,-999999.0,-999999.0,498.0,95.0,75.0,74.7,61.9,9.0,7.7,-999999.0,-999999.0,-999999.0,3934,3682,3234,2569,2473,188,172,-999999,-999999,3486,665,525,523,433,63,54,-999999,-999999,-999999,7,7,7,7,7,7,7,7,5,7,7,7,7,7,7,7,4,4,4,18,-999999,-999999,-999999,-999999,4,-999999,5,5,-999999,-999999,63,9,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,1966,-999999,0,1,2,3,4,5,6,7,8,9,10,11,true,13,14,15,16,17,18 +450771,2020-09-04,TX,450771,TEXAS HEALTH PRESBYTERIAN HOSPITAL PLANO,6200 W PARKER RD,PLANO,75093,Short Term,48085,true,199.9,199.9,199.9,159.1,159.1,9.0,4.3,-999999.0,-999999.0,199.9,25.3,25.3,17.6,17.6,-999999.0,-999999.0,,,,1399,1399,1399,1114,1114,63,30,-999999,-999999,1399,177,177,123,123,17,15,,,,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,27,24,-999999,-999999,-999999,-999999,-999999,5,12,-999999,-999999,-999999,733,,0,1,2,3,4,5,6,7,8,9,10,11,true,13,14,15,16,17,18 +060125,2020-10-16,CO,060125,CASTLE ROCK ADVENTIST HOSPITAL,2350 MEADOWS BLVD,CASTLE ROCK,80109,Short Term,08035,true,70.0,68.0,49.0,27.6,27.4,-999999.0,-999999.0,-999999.0,-999999.0,51.0,10.0,8.0,5.3,5.1,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,490,476,343,193,192,24,21,-999999,-999999,357,70,56,37,36,11,11,-999999,-999999,-999999,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,1,1,1,4,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,16,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,306,-999999,0,1,2,3,4,5,6,7,8,9,10,11,true,13,14,15,16,17,18 +501331,2020-11-13,WA,501331,PULLMAN REGIONAL HOSPITAL,835 S BISHOP BLVD,PULLMAN,99163,Critical Access Hospitals,53075,true,25.0,25.0,25.0,12.0,11.6,-999999.0,-999999.0,-999999.0,-999999.0,25.0,4.0,4.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,175,175,175,84,81,-999999,-999999,-999999,-999999,175,28,28,13,13,-999999,-999999,-999999,-999999,-999999,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,4,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,204,-999999,0,1,2,3,4,5,6,7,8,9,10,11,true,13,14,15,16,17,18 +390056,2020-08-14,PA,390056,PENN HIGHLANDS HUNTINGDON,1225 WARM SPRINGS AVE,HUNTINGDON,16652,Short Term,42061,true,57.0,,,9.3,9.3,-999999.0,-999999.0,-999999.0,-999999.0,57.0,7.0,,-999999.0,,-999999.0,-999999.0,,,,342,,,56,37,10,4,-999999,-999999,342,42,,-999999,,-999999,-999999,,,,6,0,0,6,4,6,6,6,6,6,6,0,6,0,6,6,0,0,0,-999999,,-999999,,,,,,,-999999,-999999,5,7,,,-999999,,,,5,,-999999,,196,,0,1,2,3,4,5,6,7,8,9,10,11,true,13,14,15,16,17,18 +373300,2020-09-04,OK,373300,J D MCCARTY CENTER FOR CHILDREN,2002 EAST ROBINSON,NORMAN,73071,Childrens Hospitals,40027,true,22.0,-999999.0,-999999.0,22.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,22.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,,,,154,-999999,-999999,154,-999999,-999999,-999999,-999999,-999999,154,-999999,-999999,-999999,-999999,-999999,-999999,,,,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,,0,1,2,3,4,5,6,7,8,9,10,11,true,13,14,15,16,17,18 +301304,2020-11-20,NH,301304,NEW LONDON HOSPITAL,273 COUNTY ROAD,NEW LONDON,03257,Critical Access Hospitals,33013,true,34.0,34.0,25.0,11.3,11.3,-999999.0,-999999.0,-999999.0,-999999.0,25.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,238,238,175,79,79,-999999,-999999,-999999,-999999,175,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,6,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,70,-999999,0,1,2,3,4,5,6,7,8,9,10,11,true,13,14,15,16,17,18 +301302,2020-08-14,NH,301302,LITTLETON REGIONAL HEALTHCARE,600 ST JOHNSBURY ROAD,LITTLETON,03561,Critical Access Hospitals,33009,true,77.0,77.0,77.0,18.7,18.7,-999999.0,-999999.0,-999999.0,-999999.0,77.0,20.0,20.0,-999999.0,-999999.0,-999999.0,-999999.0,,,,539,539,539,131,131,-999999,-999999,-999999,-999999,539,140,140,13,13,-999999,-999999,,,,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,13,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,214,,0,1,2,3,4,5,6,7,8,9,10,11,true,13,14,15,16,17,18 +100140,2020-09-18,FL,100140,BAPTIST MEDICAL CENTER - NASSAU,1250 S 18TH ST,FERNANDINA BEACH,32034,Short Term,12089,true,89.0,68.0,68.0,32.7,32.7,-999999.0,-999999.0,-999999.0,-999999.0,89.0,8.0,8.0,6.9,6.9,-999999.0,-999999.0,,,,623,476,476,229,229,13,12,-999999,-999999,623,56,56,48,48,9,8,,,,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,82,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,366,,0,1,2,3,4,5,6,7,8,9,10,11,true,13,14,15,16,17,18 +271341,2020-10-09,MT,271341,TRINITY HOSPITAL,315 KNAPP ST,WOLF POINT,59201,Critical Access Hospitals,30085,false,22.0,22.0,22.0,5.1,5.1,-999999.0,-999999.0,-999999.0,-999999.0,22.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,,,,154,154,154,36,36,21,14,-999999,-999999,154,7,7,-999999,-999999,-999999,-999999,,,,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,4,-999999,-999999,-999999,-999999,-999999,4,-999999,-999999,-999999,-999999,23,4,-999999,-999999,-999999,-999999,4,-999999,-999999,-999999,-999999,-999999,83,,0,1,2,3,4,5,6,7,8,9,10,11,true,13,14,15,16,17,18 +141344,2020-10-30,IL,141344,LAWRENCE COUNTY MEMORIAL HOSPITAL,2200 STATE ST,LAWRENCEVILLE,62439,Critical Access Hospitals,17101,false,25.0,25.0,4.3,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,4.3,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,175,175,30,22,22,6,-999999,-999999,-999999,30,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,6,-999999,-999999,-999999,-999999,-999999,-999999,5,-999999,-999999,-999999,51,-999999,0,1,2,3,4,5,6,7,8,9,10,11,true,13,14,15,16,17,18 +490107,2020-10-30,VA,490107,RESTON HOSPITAL CENTER,1850 TOWN CENTER PARKWAY,RESTON,20190,Short Term,51059,true,276.0,255.0,222.0,187.4,173.1,8.4,7.9,-999999.0,-999999.0,243.0,40.0,28.0,35.3,22.3,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,1932,1785,1554,1312,1212,59,55,-999999,-999999,1701,280,196,247,156,5,4,-999999,-999999,-999999,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,-999999,-999999,-999999,-999999,-999999,-999999,-999999,4,-999999,-999999,40,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,791,-999999,0,1,2,3,4,5,6,7,8,9,10,11,true,13,14,15,16,17,18 +170122,2020-08-07,KS,170122,"ASCENSION VIA CHRISTI HOSPITALS WICHITA, INC.",929 NORTH ST FRANCIS STREET,WICHITA,67214,Short Term,20173,true,1016.0,946.0,,533.4,527.8,59.0,34.4,-999999.0,-999999.0,732.0,129.0,119.0,121.6,119.8,16.4,16.4,,,,5080,4730,,2667,2639,295,172,-999999,-999999,3660,645,595,608,599,82,82,,,,5,5,0,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,,,,,,,,,,,,,113,,,,,,,,,113,-999999,,,0,1,2,3,4,5,6,7,8,9,10,11,true,13,14,15,16,17,18 +450822,2020/10/30,TX,450822,MEDICAL CITY LAS COLINAS,6800 N MACARTHUR BLVD,IRVING,75039,Short Term,48113,true,69.3,61.1,61.1,69.0,60.9,6.9,6.1,-999999.0,-999999.0,69.3,14.3,6.1,14.0,5.9,-999999.0,-999999.0,-999999.0,-999999.0,-999999.0,485,428,428,483,426,48,43,-999999,-999999,485,100,43,98,41,16,14,-999999,-999999,-999999,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,11,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,58,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,-999999,536,-999999,0,1,2,3,4,5,6,7,8,9,10,11,true,13,14,15,16,17,18 diff --git a/tests/acquisition/covid_hosp/facility/test_database.py b/tests/acquisition/covid_hosp/facility/test_database.py index 13ccc64c0..34e33ebf9 100644 --- a/tests/acquisition/covid_hosp/facility/test_database.py +++ b/tests/acquisition/covid_hosp/facility/test_database.py @@ -39,16 +39,18 @@ def test_insert_dataset(self): last_query_values = mock_cursor.execute.call_args[0][-1] expected_query_values = ( - 0, sentinel.publication_date, '450822', 20201030, 'TX', '450822', - 'MEDICAL CITY LAS COLINAS', '6800 N MACARTHUR BLVD', 'IRVING', '75039', - 'Short Term', '48113', True, 69.3, 61.1, 61.1, 69.0, 60.9, 6.9, 6.1, - -999999, -999999, 69.3, 14.3, 6.1, 14.0, 5.9, -999999, -999999, - -999999, -999999, -999999, 485, 428, 428, 483, 426, 48, 43, -999999, - -999999, 485, 100, 43, 98, 41, 16, 14, -999999, -999999, -999999, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, -999999, - -999999, -999999, -999999, -999999, -999999, -999999, -999999, -999999, - -999999, 58, -999999, -999999, -999999, -999999, -999999, -999999, - -999999, -999999, -999999, -999999, -999999, 536, -999999) + 0, sentinel.publication_date, '450822', 20201030, + '6800 N MACARTHUR BLVD', 61.1, 7, 428, 60.9, 7, 426, 61.1, 7, 428, + '450822', 'IRVING', '48113', '15', '6', 'MEDICAL CITY LAS COLINAS', + 'Short Term', 14.0, 7, 98, -999999.0, 7, -999999, 69.3, 7, 485, 69.0, + 7, 483, True, True, -999999, -999999, -999999, -999999, -999999, + -999999, -999999, 7, 11, -999999, -999999, -999999, -999999, -999999, + -999999, -999999, -999999, -999999, 16, -999999, -999999, -999999, + -999999, 2, -999999, 11, -999999, 58, 536, 3, 8, 5, 17, 13, 10, 5.9, + 7, 41, -999999.0, 7, 16, -999999.0, 7, 14, 'TX', 6.9, 7, 48, 6.1, 7, + 43, 69.3, 7, 485, 14.3, 7, 100, -999999.0, 7, -999999, -999999.0, 7, + -999999, -999999.0, 7, -999999, -999999.0, 7, -999999, 9, 18, 14, 0, + 1, 4, 6.1, 7, 43, '75039') self.assertEqual(len(last_query_values), len(expected_query_values)) for actual, expected in zip(last_query_values, expected_query_values): From 7d79df3b51398d3ad917e46f42c5f3240e3ab984 Mon Sep 17 00:00:00 2001 From: Andrew Chin Date: Sat, 16 Oct 2021 20:40:45 -0400 Subject: [PATCH 05/11] add migrations --- .../covid_hosp_facility_v0.2-v0.3.sql | 20 +++++++++++++++++++ .../migrations/covid_hosp_state_v0.2-v0.3.sql | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 src/ddl/migrations/covid_hosp_facility_v0.2-v0.3.sql diff --git a/src/ddl/migrations/covid_hosp_facility_v0.2-v0.3.sql b/src/ddl/migrations/covid_hosp_facility_v0.2-v0.3.sql new file mode 100644 index 000000000..0de0180cc --- /dev/null +++ b/src/ddl/migrations/covid_hosp_facility_v0.2-v0.3.sql @@ -0,0 +1,20 @@ +ALTER TABLE covid_hosp_facility ADD + `geocoded_hospital_address` VARCHAR(32), + `hhs_ids` VARCHAR(127), + `is_corrected` BOOLEAN, + `previous_day_admission_adult_covid_confirmed_7_day_coverage` INT, + `previous_day_admission_adult_covid_suspected_7_day_coverage` INT, + `previous_day_admission_pediatric_covid_confirmed_7_day_coverage` INT, + `previous_day_admission_pediatric_covid_suspected_7_day_coverage` INT, + `previous_week_patients_covid_vaccinated_doses_all_7_day` INT, + `previous_week_patients_covid_vaccinated_doses_all_7_day_sum` INT, + `previous_week_patients_covid_vaccinated_doses_one_7_day` INT, + `previous_week_patients_covid_vaccinated_doses_one_7_day_sum` INT, + `previous_week_personnel_covid_vaccinated_doses_administered_7_day` INT, + `previous_week_personnel_covid_vaccinated_doses_administered_7_day_sum` INT, + `total_personnel_covid_vaccinated_doses_all_7_day` INT, + `total_personnel_covid_vaccinated_doses_all_7_day_sum` INT, + `total_personnel_covid_vaccinated_doses_none_7_day` INT, + `total_personnel_covid_vaccinated_doses_none_7_day_sum` INT, + `total_personnel_covid_vaccinated_doses_one_7_day` INT, + `total_personnel_covid_vaccinated_doses_one_7_day_sum` INT, \ No newline at end of file diff --git a/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql b/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql index 901e3ba0f..46350daba 100644 --- a/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql +++ b/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql @@ -1,4 +1,4 @@ -ALTER TABLE state_timeseries ADD +ALTER TABLE covid_hosp_state_timeseries ADD `geocoded_state` INT, `previous_day_admission_adult_covid_confirmed_18-19` INT, `previous_day_admission_adult_covid_confirmed_18-19_coverage` INT, From 3f9c82a6419e86663009ce9a844d44ca66e571c8 Mon Sep 17 00:00:00 2001 From: Kathryn M Mazaitis Date: Wed, 20 Oct 2021 14:52:54 -0400 Subject: [PATCH 06/11] Drop bad chars from SQL column names and repair all tests --- .../covid_hosp/facility/test_scenarios.py | 29 +++++--- .../covid_hosp/state_daily/test_scenarios.py | 2 +- src/acquisition/covid_hosp/common/database.py | 4 ++ .../covid_hosp/facility/database.py | 7 +- .../covid_hosp/state_daily/database.py | 66 +++++++++---------- .../covid_hosp/state_timeseries/database.py | 64 +++++++++--------- src/ddl/covid_hosp.sql | 64 +++++++++--------- .../migrations/covid_hosp_state_v0.2-v0.3.sql | 66 +++++++++---------- src/server/endpoints/covid_hosp_facility.py | 4 +- .../endpoints/covid_hosp_state_timeseries.py | 64 +++++++++--------- 10 files changed, 194 insertions(+), 176 deletions(-) diff --git a/integrations/acquisition/covid_hosp/facility/test_scenarios.py b/integrations/acquisition/covid_hosp/facility/test_scenarios.py index 22594b9a0..53597c90d 100644 --- a/integrations/acquisition/covid_hosp/facility/test_scenarios.py +++ b/integrations/acquisition/covid_hosp/facility/test_scenarios.py @@ -17,6 +17,7 @@ # py3tester coverage target (equivalent to `import *`) __test_target__ = 'delphi.epidata.acquisition.covid_hosp.facility.update' +NEWLINE="\n" class AcquisitionTests(unittest.TestCase): @@ -54,7 +55,7 @@ def test_acquire_dataset(self): with self.subTest(name='no data yet'): response = Epidata.covid_hosp_facility( '450822', Epidata.range(20200101, 20210101)) - self.assertEqual(response['result'], -2) + self.assertEqual(response['result'], -2, response) # acquire sample data into local database with self.subTest(name='first acquisition'): @@ -63,19 +64,29 @@ def test_acquire_dataset(self): # make sure the data now exists with self.subTest(name='initial data checks'): + expected_spotchecks = { + "hospital_pk": "450822", + "collection_week": 20201030, + "publication_date": 20210315, + "previous_day_total_ed_visits_7_day_sum": 536, + "total_personnel_covid_vaccinated_doses_all_7_day_sum": 18, + "total_beds_7_day_avg": 69.3, + "previous_day_admission_influenza_confirmed_7_day_sum": -999999 + } response = Epidata.covid_hosp_facility( '450822', Epidata.range(20200101, 20210101)) self.assertEqual(response['result'], 1) self.assertEqual(len(response['epidata']), 1) row = response['epidata'][0] - self.assertEqual(row['hospital_pk'], '450822') - self.assertEqual(row['collection_week'], 20201030) - self.assertEqual(row['publication_date'], 20210315) - self.assertEqual(row['previous_day_total_ed_visits_7_day_sum'], 536) - self.assertEqual(row['total_personnel_covid_vaccinated_doses_all_7_day_sum'], 18) - self.assertAlmostEqual(row['total_beds_7_day_avg'], 69.3) - self.assertEqual( - row['previous_day_admission_influenza_confirmed_7_day_sum'], -999999) + for k,v in expected_spotchecks.items(): + self.assertTrue( + k in row, + f"no '{k}' in row:\n{NEWLINE.join(sorted(row.keys()))}" + ) + if isinstance(v, float): + self.assertAlmostEqual(row[k], v, f"row[{k}] is {row[k]} not {v}") + else: + self.assertEqual(row[k], v, f"row[{k}] is {row[k]} not {v}") # expect 113 fields per row (114 database columns, except `id`) self.assertEqual(len(row), 113) diff --git a/integrations/acquisition/covid_hosp/state_daily/test_scenarios.py b/integrations/acquisition/covid_hosp/state_daily/test_scenarios.py index c84f7cdf3..e55bc8ca6 100644 --- a/integrations/acquisition/covid_hosp/state_daily/test_scenarios.py +++ b/integrations/acquisition/covid_hosp/state_daily/test_scenarios.py @@ -51,7 +51,7 @@ def test_acquire_dataset(self): # make sure the data does not yet exist with self.subTest(name='no data yet'): response = Epidata.covid_hosp('MA', Epidata.range(20200101, 20210101)) - self.assertEqual(response['result'], -2) + self.assertEqual(response['result'], -2, response) # acquire sample data into local database # mock out network calls to external hosts diff --git a/src/acquisition/covid_hosp/common/database.py b/src/acquisition/covid_hosp/common/database.py index 528f93f65..78def9ae5 100644 --- a/src/acquisition/covid_hosp/common/database.py +++ b/src/acquisition/covid_hosp/common/database.py @@ -157,6 +157,10 @@ def insert_dataset(self, publication_date, dataframe): sql = f'INSERT INTO `{self.table_name}` (`id`, `{self.publication_col_name}`, {columns}) ' \ f'VALUES ({value_placeholders})' id_and_publication_date = (0, publication_date) + NEWLINE="\n" + for name, _, _ in self.columns_and_types: + if name not in dataframe.columns: + raise Exception(f"{name} not in dataframe columns:\n{NEWLINE.join(sorted(dataframe.columns))}") with self.new_cursor() as cursor: for _, row in dataframe.iterrows(): values = [] diff --git a/src/acquisition/covid_hosp/facility/database.py b/src/acquisition/covid_hosp/facility/database.py index faf7a2a15..0383af378 100644 --- a/src/acquisition/covid_hosp/facility/database.py +++ b/src/acquisition/covid_hosp/facility/database.py @@ -7,8 +7,11 @@ class Database(BaseDatabase): TABLE_NAME = 'covid_hosp_facility' KEY_COLS = ['hospital_pk', 'collection_week'] - # These are 3-tuples of (CSV header name, SQL db column name, data type) for - # all the columns in the CSV file. + # These are 3-tuples of ( + # CSV header name, + # SQL db column name, + # data type + # ) for all the columns in the CSV file. # Note that the corresponding database column names may be shorter # due to constraints on the length of column names. See # /src/ddl/covid_hosp.sql for more information. diff --git a/src/acquisition/covid_hosp/state_daily/database.py b/src/acquisition/covid_hosp/state_daily/database.py index 584fbb7ad..c11e57420 100644 --- a/src/acquisition/covid_hosp/state_daily/database.py +++ b/src/acquisition/covid_hosp/state_daily/database.py @@ -81,37 +81,37 @@ class Database(BaseDatabase): ('previous_day_admission_adult_covid_confirmed', 'previous_day_admission_adult_covid_confirmed', int), ('previous_day_admission_adult_covid_confirmed_18-19', - 'previous_day_admission_adult_covid_confirmed_18-19', int), + 'previous_day_admission_adult_covid_confirmed_18_19', int), ('previous_day_admission_adult_covid_confirmed_18-19_coverage', - 'previous_day_admission_adult_covid_confirmed_18-19_coverage', int), + 'previous_day_admission_adult_covid_confirmed_18_19_coverage', int), ('previous_day_admission_adult_covid_confirmed_20-29', - 'previous_day_admission_adult_covid_confirmed_20-29', int), + 'previous_day_admission_adult_covid_confirmed_20_29', int), ('previous_day_admission_adult_covid_confirmed_20-29_coverage', - 'previous_day_admission_adult_covid_confirmed_20-29_coverage', int), + 'previous_day_admission_adult_covid_confirmed_20_29_coverage', int), ('previous_day_admission_adult_covid_confirmed_30-39', - 'previous_day_admission_adult_covid_confirmed_30-39', int), + 'previous_day_admission_adult_covid_confirmed_30_39', int), ('previous_day_admission_adult_covid_confirmed_30-39_coverage', - 'previous_day_admission_adult_covid_confirmed_30-39_coverage', int), + 'previous_day_admission_adult_covid_confirmed_30_39_coverage', int), ('previous_day_admission_adult_covid_confirmed_40-49', - 'previous_day_admission_adult_covid_confirmed_40-49', int), + 'previous_day_admission_adult_covid_confirmed_40_49', int), ('previous_day_admission_adult_covid_confirmed_40-49_coverage', - 'previous_day_admission_adult_covid_confirmed_40-49_coverage', int), + 'previous_day_admission_adult_covid_confirmed_40_49_coverage', int), ('previous_day_admission_adult_covid_confirmed_50-59', - 'previous_day_admission_adult_covid_confirmed_50-59', int), + 'previous_day_admission_adult_covid_confirmed_50_59', int), ('previous_day_admission_adult_covid_confirmed_50-59_coverage', - 'previous_day_admission_adult_covid_confirmed_50-59_coverage', int), + 'previous_day_admission_adult_covid_confirmed_50_59_coverage', int), ('previous_day_admission_adult_covid_confirmed_60-69', - 'previous_day_admission_adult_covid_confirmed_60-69', int), + 'previous_day_admission_adult_covid_confirmed_60_69', int), ('previous_day_admission_adult_covid_confirmed_60-69_coverage', - 'previous_day_admission_adult_covid_confirmed_60-69_coverage', int), + 'previous_day_admission_adult_covid_confirmed_60_69_coverage', int), ('previous_day_admission_adult_covid_confirmed_70-79', - 'previous_day_admission_adult_covid_confirmed_70-79', int), + 'previous_day_admission_adult_covid_confirmed_70_79', int), ('previous_day_admission_adult_covid_confirmed_70-79_coverage', - 'previous_day_admission_adult_covid_confirmed_70-79_coverage', int), + 'previous_day_admission_adult_covid_confirmed_70_79_coverage', int), ('previous_day_admission_adult_covid_confirmed_80+', - 'previous_day_admission_adult_covid_confirmed_80+', int), + 'previous_day_admission_adult_covid_confirmed_80plus', int), ('previous_day_admission_adult_covid_confirmed_80+_coverage', - 'previous_day_admission_adult_covid_confirmed_80+_coverage', int), + 'previous_day_admission_adult_covid_confirmed_80plus_coverage', int), ('previous_day_admission_adult_covid_confirmed_coverage', 'previous_day_admission_adult_covid_confirmed_coverage', int), ('previous_day_admission_adult_covid_confirmed_unknown', @@ -121,37 +121,37 @@ class Database(BaseDatabase): ('previous_day_admission_adult_covid_suspected', 'previous_day_admission_adult_covid_suspected', int), ('previous_day_admission_adult_covid_suspected_18-19', - 'previous_day_admission_adult_covid_suspected_18-19', int), + 'previous_day_admission_adult_covid_suspected_18_19', int), ('previous_day_admission_adult_covid_suspected_18-19_coverage', - 'previous_day_admission_adult_covid_suspected_18-19_coverage', int), + 'previous_day_admission_adult_covid_suspected_18_19_coverage', int), ('previous_day_admission_adult_covid_suspected_20-29', - 'previous_day_admission_adult_covid_suspected_20-29', int), + 'previous_day_admission_adult_covid_suspected_20_29', int), ('previous_day_admission_adult_covid_suspected_20-29_coverage', - 'previous_day_admission_adult_covid_suspected_20-29_coverage', int), + 'previous_day_admission_adult_covid_suspected_20_29_coverage', int), ('previous_day_admission_adult_covid_suspected_30-39', - 'previous_day_admission_adult_covid_suspected_30-39', int), + 'previous_day_admission_adult_covid_suspected_30_39', int), ('previous_day_admission_adult_covid_suspected_30-39_coverage', - 'previous_day_admission_adult_covid_suspected_30-39_coverage', int), + 'previous_day_admission_adult_covid_suspected_30_39_coverage', int), ('previous_day_admission_adult_covid_suspected_40-49', - 'previous_day_admission_adult_covid_suspected_40-49', int), + 'previous_day_admission_adult_covid_suspected_40_49', int), ('previous_day_admission_adult_covid_suspected_40-49_coverage', - 'previous_day_admission_adult_covid_suspected_40-49_coverage', int), + 'previous_day_admission_adult_covid_suspected_40_49_coverage', int), ('previous_day_admission_adult_covid_suspected_50-59', - 'previous_day_admission_adult_covid_suspected_50-59', int), + 'previous_day_admission_adult_covid_suspected_50_59', int), ('previous_day_admission_adult_covid_suspected_50-59_coverage', - 'previous_day_admission_adult_covid_suspected_50-59_coverage', int), - ('previous_day_admission_adult_covid_suspected_60_69', - 'previous_day_admission_adult_covid_suspected_60-69', int), + 'previous_day_admission_adult_covid_suspected_50_59_coverage', int), + ('previous_day_admission_adult_covid_suspected_60_69', #this is correct; csv header is irregular + 'previous_day_admission_adult_covid_suspected_60_69', int), ('previous_day_admission_adult_covid_suspected_60-69_coverage', - 'previous_day_admission_adult_covid_suspected_60-69_coverage', int), + 'previous_day_admission_adult_covid_suspected_60_69_coverage', int), ('previous_day_admission_adult_covid_suspected_70-79', - 'previous_day_admission_adult_covid_suspected_70-79', int), + 'previous_day_admission_adult_covid_suspected_70_79', int), ('previous_day_admission_adult_covid_suspected_70-79_coverage', - 'previous_day_admission_adult_covid_suspected_70-79_coverage', int), + 'previous_day_admission_adult_covid_suspected_70_79_coverage', int), ('previous_day_admission_adult_covid_suspected_80', - 'previous_day_admission_adult_covid_suspected_80+', int), + 'previous_day_admission_adult_covid_suspected_80plus', int), ('previous_day_admission_adult_covid_suspected_80+_coverage', - 'previous_day_admission_adult_covid_suspected_80+_coverage', int), + 'previous_day_admission_adult_covid_suspected_80plus_coverage', int), ('previous_day_admission_adult_covid_suspected_coverage', 'previous_day_admission_adult_covid_suspected_coverage', int), ('previous_day_admission_adult_covid_suspected_unknown', diff --git a/src/acquisition/covid_hosp/state_timeseries/database.py b/src/acquisition/covid_hosp/state_timeseries/database.py index 3e60c4c71..f07f939b1 100644 --- a/src/acquisition/covid_hosp/state_timeseries/database.py +++ b/src/acquisition/covid_hosp/state_timeseries/database.py @@ -78,37 +78,37 @@ class Database(BaseDatabase): ('previous_day_admission_adult_covid_confirmed', 'previous_day_admission_adult_covid_confirmed', int), ('previous_day_admission_adult_covid_confirmed_18-19', - 'previous_day_admission_adult_covid_confirmed_18-19', int), + 'previous_day_admission_adult_covid_confirmed_18_19', int), ('previous_day_admission_adult_covid_confirmed_18-19_coverage', - 'previous_day_admission_adult_covid_confirmed_18-19_coverage', int), + 'previous_day_admission_adult_covid_confirmed_18_19_coverage', int), ('previous_day_admission_adult_covid_confirmed_20-29', - 'previous_day_admission_adult_covid_confirmed_20-29', int), + 'previous_day_admission_adult_covid_confirmed_20_29', int), ('previous_day_admission_adult_covid_confirmed_20-29_coverage', - 'previous_day_admission_adult_covid_confirmed_20-29_coverage', int), + 'previous_day_admission_adult_covid_confirmed_20_29_coverage', int), ('previous_day_admission_adult_covid_confirmed_30-39', - 'previous_day_admission_adult_covid_confirmed_30-39', int), + 'previous_day_admission_adult_covid_confirmed_30_39', int), ('previous_day_admission_adult_covid_confirmed_30-39_coverage', - 'previous_day_admission_adult_covid_confirmed_30-39_coverage', int), + 'previous_day_admission_adult_covid_confirmed_30_39_coverage', int), ('previous_day_admission_adult_covid_confirmed_40-49', - 'previous_day_admission_adult_covid_confirmed_40-49', int), + 'previous_day_admission_adult_covid_confirmed_40_49', int), ('previous_day_admission_adult_covid_confirmed_40-49_coverage', - 'previous_day_admission_adult_covid_confirmed_40-49_coverage', int), + 'previous_day_admission_adult_covid_confirmed_40_49_coverage', int), ('previous_day_admission_adult_covid_confirmed_50-59', - 'previous_day_admission_adult_covid_confirmed_50-59', int), + 'previous_day_admission_adult_covid_confirmed_50_59', int), ('previous_day_admission_adult_covid_confirmed_50-59_coverage', - 'previous_day_admission_adult_covid_confirmed_50-59_coverage', int), + 'previous_day_admission_adult_covid_confirmed_50_59_coverage', int), ('previous_day_admission_adult_covid_confirmed_60-69', - 'previous_day_admission_adult_covid_confirmed_60-69', int), + 'previous_day_admission_adult_covid_confirmed_60_69', int), ('previous_day_admission_adult_covid_confirmed_60-69_coverage', - 'previous_day_admission_adult_covid_confirmed_60-69_coverage', int), + 'previous_day_admission_adult_covid_confirmed_60_69_coverage', int), ('previous_day_admission_adult_covid_confirmed_70-79', - 'previous_day_admission_adult_covid_confirmed_70-79', int), + 'previous_day_admission_adult_covid_confirmed_70_79', int), ('previous_day_admission_adult_covid_confirmed_70-79_coverage', - 'previous_day_admission_adult_covid_confirmed_70-79_coverage', int), + 'previous_day_admission_adult_covid_confirmed_70_79_coverage', int), ('previous_day_admission_adult_covid_confirmed_80+', - 'previous_day_admission_adult_covid_confirmed_80+', int), + 'previous_day_admission_adult_covid_confirmed_80plus', int), ('previous_day_admission_adult_covid_confirmed_80+_coverage', - 'previous_day_admission_adult_covid_confirmed_80+_coverage', int), + 'previous_day_admission_adult_covid_confirmed_80plus_coverage', int), ('previous_day_admission_adult_covid_confirmed_coverage', 'previous_day_admission_adult_covid_confirmed_coverage', int), ('previous_day_admission_adult_covid_confirmed_unknown', @@ -118,37 +118,37 @@ class Database(BaseDatabase): ('previous_day_admission_adult_covid_suspected', 'previous_day_admission_adult_covid_suspected', int), ('previous_day_admission_adult_covid_suspected_18-19', - 'previous_day_admission_adult_covid_suspected_18-19', int), + 'previous_day_admission_adult_covid_suspected_18_19', int), ('previous_day_admission_adult_covid_suspected_18-19_coverage', - 'previous_day_admission_adult_covid_suspected_18-19_coverage', int), + 'previous_day_admission_adult_covid_suspected_18_19_coverage', int), ('previous_day_admission_adult_covid_suspected_20-29', - 'previous_day_admission_adult_covid_suspected_20-29', int), + 'previous_day_admission_adult_covid_suspected_20_29', int), ('previous_day_admission_adult_covid_suspected_20-29_coverage', - 'previous_day_admission_adult_covid_suspected_20-29_coverage', int), + 'previous_day_admission_adult_covid_suspected_20_29_coverage', int), ('previous_day_admission_adult_covid_suspected_30-39', - 'previous_day_admission_adult_covid_suspected_30-39', int), + 'previous_day_admission_adult_covid_suspected_30_39', int), ('previous_day_admission_adult_covid_suspected_30-39_coverage', - 'previous_day_admission_adult_covid_suspected_30-39_coverage', int), + 'previous_day_admission_adult_covid_suspected_30_39_coverage', int), ('previous_day_admission_adult_covid_suspected_40-49', - 'previous_day_admission_adult_covid_suspected_40-49', int), + 'previous_day_admission_adult_covid_suspected_40_49', int), ('previous_day_admission_adult_covid_suspected_40-49_coverage', - 'previous_day_admission_adult_covid_suspected_40-49_coverage', int), + 'previous_day_admission_adult_covid_suspected_40_49_coverage', int), ('previous_day_admission_adult_covid_suspected_50-59', - 'previous_day_admission_adult_covid_suspected_50-59', int), + 'previous_day_admission_adult_covid_suspected_50_59', int), ('previous_day_admission_adult_covid_suspected_50-59_coverage', - 'previous_day_admission_adult_covid_suspected_50-59_coverage', int), + 'previous_day_admission_adult_covid_suspected_50_59_coverage', int), ('previous_day_admission_adult_covid_suspected_60-69', - 'previous_day_admission_adult_covid_suspected_60-69', int), + 'previous_day_admission_adult_covid_suspected_60_69', int), ('previous_day_admission_adult_covid_suspected_60-69_coverage', - 'previous_day_admission_adult_covid_suspected_60-69_coverage', int), + 'previous_day_admission_adult_covid_suspected_60_69_coverage', int), ('previous_day_admission_adult_covid_suspected_70-79', - 'previous_day_admission_adult_covid_suspected_70-79', int), + 'previous_day_admission_adult_covid_suspected_70_79', int), ('previous_day_admission_adult_covid_suspected_70-79_coverage', - 'previous_day_admission_adult_covid_suspected_70-79_coverage', int), + 'previous_day_admission_adult_covid_suspected_70_79_coverage', int), ('previous_day_admission_adult_covid_suspected_80+', - 'previous_day_admission_adult_covid_suspected_80+', int), + 'previous_day_admission_adult_covid_suspected_80plus', int), ('previous_day_admission_adult_covid_suspected_80+_coverage', - 'previous_day_admission_adult_covid_suspected_80+_coverage', int), + 'previous_day_admission_adult_covid_suspected_80plus_coverage', int), ('previous_day_admission_adult_covid_suspected_coverage', 'previous_day_admission_adult_covid_suspected_coverage', int), ('previous_day_admission_adult_covid_suspected_unknown', diff --git a/src/ddl/covid_hosp.sql b/src/ddl/covid_hosp.sql index bb06941dd..89973d4e1 100644 --- a/src/ddl/covid_hosp.sql +++ b/src/ddl/covid_hosp.sql @@ -440,40 +440,40 @@ CREATE TABLE `covid_hosp_state_timeseries` ( `record_type` CHAR(1) NOT NULL, -- new columns added Oct 10 `geocoded_state` INT, - `previous_day_admission_adult_covid_confirmed_18-19` INT, - `previous_day_admission_adult_covid_confirmed_18-19_coverage` INT, - `previous_day_admission_adult_covid_confirmed_20-29` INT, - `previous_day_admission_adult_covid_confirmed_20-29_coverage` INT, - `previous_day_admission_adult_covid_confirmed_30-39` INT, - `previous_day_admission_adult_covid_confirmed_30-39_coverage` INT, - `previous_day_admission_adult_covid_confirmed_40-49` INT, - `previous_day_admission_adult_covid_confirmed_40-49_coverage` INT, - `previous_day_admission_adult_covid_confirmed_50-59` INT, - `previous_day_admission_adult_covid_confirmed_50-59_coverage` INT, - `previous_day_admission_adult_covid_confirmed_60-69` INT, - `previous_day_admission_adult_covid_confirmed_60-69_coverage` INT, - `previous_day_admission_adult_covid_confirmed_70-79` INT, - `previous_day_admission_adult_covid_confirmed_70-79_coverage` INT, - `previous_day_admission_adult_covid_confirmed_80+` INT, - `previous_day_admission_adult_covid_confirmed_80+_coverage` INT, + `previous_day_admission_adult_covid_confirmed_18_19` INT, + `previous_day_admission_adult_covid_confirmed_18_19_coverage` INT, + `previous_day_admission_adult_covid_confirmed_20_29` INT, + `previous_day_admission_adult_covid_confirmed_20_29_coverage` INT, + `previous_day_admission_adult_covid_confirmed_30_39` INT, + `previous_day_admission_adult_covid_confirmed_30_39_coverage` INT, + `previous_day_admission_adult_covid_confirmed_40_49` INT, + `previous_day_admission_adult_covid_confirmed_40_49_coverage` INT, + `previous_day_admission_adult_covid_confirmed_50_59` INT, + `previous_day_admission_adult_covid_confirmed_50_59_coverage` INT, + `previous_day_admission_adult_covid_confirmed_60_69` INT, + `previous_day_admission_adult_covid_confirmed_60_69_coverage` INT, + `previous_day_admission_adult_covid_confirmed_70_79` INT, + `previous_day_admission_adult_covid_confirmed_70_79_coverage` INT, + `previous_day_admission_adult_covid_confirmed_80plus` INT, + `previous_day_admission_adult_covid_confirmed_80plus_coverage` INT, `previous_day_admission_adult_covid_confirmed_unknown` INT, `previous_day_admission_adult_covid_confirmed_unknown_coverage` INT, - `previous_day_admission_adult_covid_suspected_18-19` INT, - `previous_day_admission_adult_covid_suspected_18-19_coverage` INT, - `previous_day_admission_adult_covid_suspected_20-29` INT, - `previous_day_admission_adult_covid_suspected_20-29_coverage` INT, - `previous_day_admission_adult_covid_suspected_30-39` INT, - `previous_day_admission_adult_covid_suspected_30-39_coverage` INT, - `previous_day_admission_adult_covid_suspected_40-49` INT, - `previous_day_admission_adult_covid_suspected_40-49_coverage` INT, - `previous_day_admission_adult_covid_suspected_50-59` INT, - `previous_day_admission_adult_covid_suspected_50-59_coverage` INT, - `previous_day_admission_adult_covid_suspected_60-69` INT, - `previous_day_admission_adult_covid_suspected_60-69_coverage` INT, - `previous_day_admission_adult_covid_suspected_70-79` INT, - `previous_day_admission_adult_covid_suspected_70-79_coverage` INT, - `previous_day_admission_adult_covid_suspected_80+` INT, - `previous_day_admission_adult_covid_suspected_80+_coverage` INT, + `previous_day_admission_adult_covid_suspected_18_19` INT, + `previous_day_admission_adult_covid_suspected_18_19_coverage` INT, + `previous_day_admission_adult_covid_suspected_20_29` INT, + `previous_day_admission_adult_covid_suspected_20_29_coverage` INT, + `previous_day_admission_adult_covid_suspected_30_39` INT, + `previous_day_admission_adult_covid_suspected_30_39_coverage` INT, + `previous_day_admission_adult_covid_suspected_40_49` INT, + `previous_day_admission_adult_covid_suspected_40_49_coverage` INT, + `previous_day_admission_adult_covid_suspected_50_59` INT, + `previous_day_admission_adult_covid_suspected_50_59_coverage` INT, + `previous_day_admission_adult_covid_suspected_60_69` INT, + `previous_day_admission_adult_covid_suspected_60_69_coverage` INT, + `previous_day_admission_adult_covid_suspected_70_79` INT, + `previous_day_admission_adult_covid_suspected_70_79_coverage` INT, + `previous_day_admission_adult_covid_suspected_80plus` INT, + `previous_day_admission_adult_covid_suspected_80plus_coverage` INT, `previous_day_admission_adult_covid_suspected_unknown` INT, `previous_day_admission_adult_covid_suspected_unknown_coverage` INT, `deaths_covid` INT, diff --git a/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql b/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql index 46350daba..759fbb532 100644 --- a/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql +++ b/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql @@ -1,39 +1,39 @@ ALTER TABLE covid_hosp_state_timeseries ADD `geocoded_state` INT, - `previous_day_admission_adult_covid_confirmed_18-19` INT, - `previous_day_admission_adult_covid_confirmed_18-19_coverage` INT, - `previous_day_admission_adult_covid_confirmed_20-29` INT, - `previous_day_admission_adult_covid_confirmed_20-29_coverage` INT, - `previous_day_admission_adult_covid_confirmed_30-39` INT, - `previous_day_admission_adult_covid_confirmed_30-39_coverage` INT, - `previous_day_admission_adult_covid_confirmed_40-49` INT, - `previous_day_admission_adult_covid_confirmed_40-49_coverage` INT, - `previous_day_admission_adult_covid_confirmed_50-59` INT, - `previous_day_admission_adult_covid_confirmed_50-59_coverage` INT, - `previous_day_admission_adult_covid_confirmed_60-69` INT, - `previous_day_admission_adult_covid_confirmed_60-69_coverage` INT, - `previous_day_admission_adult_covid_confirmed_70-79` INT, - `previous_day_admission_adult_covid_confirmed_70-79_coverage` INT, - `previous_day_admission_adult_covid_confirmed_80+` INT, - `previous_day_admission_adult_covid_confirmed_80+_coverage` INT, + `previous_day_admission_adult_covid_confirmed_18_19` INT, + `previous_day_admission_adult_covid_confirmed_18_19_coverage` INT, + `previous_day_admission_adult_covid_confirmed_20_29` INT, + `previous_day_admission_adult_covid_confirmed_20_29_coverage` INT, + `previous_day_admission_adult_covid_confirmed_30_39` INT, + `previous_day_admission_adult_covid_confirmed_30_39_coverage` INT, + `previous_day_admission_adult_covid_confirmed_40_49` INT, + `previous_day_admission_adult_covid_confirmed_40_49_coverage` INT, + `previous_day_admission_adult_covid_confirmed_50_59` INT, + `previous_day_admission_adult_covid_confirmed_50_59_coverage` INT, + `previous_day_admission_adult_covid_confirmed_60_69` INT, + `previous_day_admission_adult_covid_confirmed_60_69_coverage` INT, + `previous_day_admission_adult_covid_confirmed_70_79` INT, + `previous_day_admission_adult_covid_confirmed_70_79_coverage` INT, + `previous_day_admission_adult_covid_confirmed_80plus` INT, + `previous_day_admission_adult_covid_confirmed_80plus_coverage` INT, `previous_day_admission_adult_covid_confirmed_unknown` INT, `previous_day_admission_adult_covid_confirmed_unknown_coverage` INT, - `previous_day_admission_adult_covid_suspected_18-19` INT, - `previous_day_admission_adult_covid_suspected_18-19_coverage` INT, - `previous_day_admission_adult_covid_suspected_20-29` INT, - `previous_day_admission_adult_covid_suspected_20-29_coverage` INT, - `previous_day_admission_adult_covid_suspected_30-39` INT, - `previous_day_admission_adult_covid_suspected_30-39_coverage` INT, - `previous_day_admission_adult_covid_suspected_40-49` INT, - `previous_day_admission_adult_covid_suspected_40-49_coverage` INT, - `previous_day_admission_adult_covid_suspected_50-59` INT, - `previous_day_admission_adult_covid_suspected_50-59_coverage` INT, - `previous_day_admission_adult_covid_suspected_60-69` INT, - `previous_day_admission_adult_covid_suspected_60-69_coverage` INT, - `previous_day_admission_adult_covid_suspected_70-79` INT, - `previous_day_admission_adult_covid_suspected_70-79_coverage` INT, - `previous_day_admission_adult_covid_suspected_80+` INT, - `previous_day_admission_adult_covid_suspected_80+_coverage` INT, + `previous_day_admission_adult_covid_suspected_18_19` INT, + `previous_day_admission_adult_covid_suspected_18_19_coverage` INT, + `previous_day_admission_adult_covid_suspected_20_29` INT, + `previous_day_admission_adult_covid_suspected_20_29_coverage` INT, + `previous_day_admission_adult_covid_suspected_30_39` INT, + `previous_day_admission_adult_covid_suspected_30_39_coverage` INT, + `previous_day_admission_adult_covid_suspected_40_49` INT, + `previous_day_admission_adult_covid_suspected_40_49_coverage` INT, + `previous_day_admission_adult_covid_suspected_50_59` INT, + `previous_day_admission_adult_covid_suspected_50_59_coverage` INT, + `previous_day_admission_adult_covid_suspected_60_69` INT, + `previous_day_admission_adult_covid_suspected_60_69_coverage` INT, + `previous_day_admission_adult_covid_suspected_70_79` INT, + `previous_day_admission_adult_covid_suspected_70_79_coverage` INT, + `previous_day_admission_adult_covid_suspected_80plus` INT, + `previous_day_admission_adult_covid_suspected_80plus_coverage` INT, `previous_day_admission_adult_covid_suspected_unknown` INT, `previous_day_admission_adult_covid_suspected_unknown_coverage` INT, `deaths_covid` INT, @@ -55,4 +55,4 @@ ALTER TABLE covid_hosp_state_timeseries ADD `total_patients_hospitalized_confirmed_influenza` INT, `total_patients_hospitalized_confirmed_influenza_covid` INT, `total_patients_hospitalized_confirmed_influenza_covid_coverage` INT, - `total_patients_hospitalized_confirmed_influenza_coverage` INT; \ No newline at end of file + `total_patients_hospitalized_confirmed_influenza_coverage` INT; diff --git a/src/server/endpoints/covid_hosp_facility.py b/src/server/endpoints/covid_hosp_facility.py index 1df053929..4a3e159ba 100644 --- a/src/server/endpoints/covid_hosp_facility.py +++ b/src/server/endpoints/covid_hosp_facility.py @@ -106,8 +106,8 @@ def handle(): "previous_week_patients_covid_vaccinated_doses_all_7_day_sum", "previous_week_patients_covid_vaccinated_doses_one_7_day", "previous_week_patients_covid_vaccinated_doses_one_7_day_sum", - "previous_week_personnel_covid_vaccinated_doses_administered_7_day", - "previous_week_personnel_covid_vaccinated_doses_administered_7_day_sum", + "previous_week_personnel_covid_vaccd_doses_administered_7_day", + "previous_week_personnel_covid_vaccd_doses_administered_7_day_sum", "total_personnel_covid_vaccinated_doses_all_7_day", "total_personnel_covid_vaccinated_doses_all_7_day_sum", "total_personnel_covid_vaccinated_doses_none_7_day", diff --git a/src/server/endpoints/covid_hosp_state_timeseries.py b/src/server/endpoints/covid_hosp_state_timeseries.py index 994be205f..96e01a071 100644 --- a/src/server/endpoints/covid_hosp_state_timeseries.py +++ b/src/server/endpoints/covid_hosp_state_timeseries.py @@ -84,40 +84,40 @@ def handle(): "on_hand_supply_therapeutic_a_casirivimab_imdevimab_courses", "on_hand_supply_therapeutic_b_bamlanivimab_courses", "on_hand_supply_therapeutic_c_bamlanivimab_etesevimab_courses", - "previous_day_admission_adult_covid_confirmed_18-19", - "previous_day_admission_adult_covid_confirmed_18-19_coverage", - "previous_day_admission_adult_covid_confirmed_20-29", - "previous_day_admission_adult_covid_confirmed_20-29_coverage", - "previous_day_admission_adult_covid_confirmed_30-39", - "previous_day_admission_adult_covid_confirmed_30-39_coverage", - "previous_day_admission_adult_covid_confirmed_40-49", - "previous_day_admission_adult_covid_confirmed_40-49_coverage", - "previous_day_admission_adult_covid_confirmed_50-59", - "previous_day_admission_adult_covid_confirmed_50-59_coverage", - "previous_day_admission_adult_covid_confirmed_60-69", - "previous_day_admission_adult_covid_confirmed_60-69_coverage", - "previous_day_admission_adult_covid_confirmed_70-79", - "previous_day_admission_adult_covid_confirmed_70-79_coverage", - "previous_day_admission_adult_covid_confirmed_80+", - "previous_day_admission_adult_covid_confirmed_80+_coverage", + "previous_day_admission_adult_covid_confirmed_18_19", + "previous_day_admission_adult_covid_confirmed_18_19_coverage", + "previous_day_admission_adult_covid_confirmed_20_29", + "previous_day_admission_adult_covid_confirmed_20_29_coverage", + "previous_day_admission_adult_covid_confirmed_30_39", + "previous_day_admission_adult_covid_confirmed_30_39_coverage", + "previous_day_admission_adult_covid_confirmed_40_49", + "previous_day_admission_adult_covid_confirmed_40_49_coverage", + "previous_day_admission_adult_covid_confirmed_50_59", + "previous_day_admission_adult_covid_confirmed_50_59_coverage", + "previous_day_admission_adult_covid_confirmed_60_69", + "previous_day_admission_adult_covid_confirmed_60_69_coverage", + "previous_day_admission_adult_covid_confirmed_70_79", + "previous_day_admission_adult_covid_confirmed_70_79_coverage", + "previous_day_admission_adult_covid_confirmed_80plus", + "previous_day_admission_adult_covid_confirmed_80plus_coverage", "previous_day_admission_adult_covid_confirmed_unknown", "previous_day_admission_adult_covid_confirmed_unknown_coverage", - "previous_day_admission_adult_covid_suspected_18-19", - "previous_day_admission_adult_covid_suspected_18-19_coverage", - "previous_day_admission_adult_covid_suspected_20-29", - "previous_day_admission_adult_covid_suspected_20-29_coverage", - "previous_day_admission_adult_covid_suspected_30-39", - "previous_day_admission_adult_covid_suspected_30-39_coverage", - "previous_day_admission_adult_covid_suspected_40-49", - "previous_day_admission_adult_covid_suspected_40-49_coverage", - "previous_day_admission_adult_covid_suspected_50-59", - "previous_day_admission_adult_covid_suspected_50-59_coverage", - "previous_day_admission_adult_covid_suspected_60-69", - "previous_day_admission_adult_covid_suspected_60-69_coverage", - "previous_day_admission_adult_covid_suspected_70-79", - "previous_day_admission_adult_covid_suspected_70-79_coverage", - "previous_day_admission_adult_covid_suspected_80+", - "previous_day_admission_adult_covid_suspected_80+_coverage", + "previous_day_admission_adult_covid_suspected_18_19", + "previous_day_admission_adult_covid_suspected_18_19_coverage", + "previous_day_admission_adult_covid_suspected_20_29", + "previous_day_admission_adult_covid_suspected_20_29_coverage", + "previous_day_admission_adult_covid_suspected_30_39", + "previous_day_admission_adult_covid_suspected_30_39_coverage", + "previous_day_admission_adult_covid_suspected_40_49", + "previous_day_admission_adult_covid_suspected_40_49_coverage", + "previous_day_admission_adult_covid_suspected_50_59", + "previous_day_admission_adult_covid_suspected_50_59_coverage", + "previous_day_admission_adult_covid_suspected_60_69", + "previous_day_admission_adult_covid_suspected_60_69_coverage", + "previous_day_admission_adult_covid_suspected_70_79", + "previous_day_admission_adult_covid_suspected_70_79_coverage", + "previous_day_admission_adult_covid_suspected_80plus", + "previous_day_admission_adult_covid_suspected_80plus_coverage", "previous_day_admission_adult_covid_suspected_unknown", "previous_day_admission_adult_covid_suspected_unknown_coverage", "previous_day_admission_influenza_confirmed", From 577c522dec9167f4624906ff96658e7e60320038 Mon Sep 17 00:00:00 2001 From: Kathryn M Mazaitis Date: Wed, 20 Oct 2021 15:38:07 -0400 Subject: [PATCH 07/11] Switch geocoded_state to string sample POINT data: POINT (-106.473552 31.783699) POINT (-104.978246 39.654106) POINT (-85.29494 37.096289) POINT (-93.165245 29.807173) POINT (-118.980483 36.043908) --- src/acquisition/covid_hosp/state_daily/database.py | 2 +- src/acquisition/covid_hosp/state_timeseries/database.py | 2 +- src/ddl/covid_hosp.sql | 2 +- src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql | 2 +- src/server/endpoints/covid_hosp_facility.py | 4 ++-- src/server/endpoints/covid_hosp_state_timeseries.py | 6 ++++-- tests/acquisition/covid_hosp/state_daily/test_database.py | 2 +- .../covid_hosp/state_timeseries/test_database.py | 2 +- 8 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/acquisition/covid_hosp/state_daily/database.py b/src/acquisition/covid_hosp/state_daily/database.py index c11e57420..60cccebec 100644 --- a/src/acquisition/covid_hosp/state_daily/database.py +++ b/src/acquisition/covid_hosp/state_daily/database.py @@ -43,7 +43,7 @@ class Database(BaseDatabase): ('critical_staffing_shortage_today_yes', 'critical_staffing_shortage_today_yes', int), ('deaths_covid', 'deaths_covid', int), ('deaths_covid_coverage', 'deaths_covid_coverage', int), - ('geocoded_state', 'geocoded_state', int), + ('geocoded_state', 'geocoded_state', str), ('hospital_onset_covid', 'hospital_onset_covid', int), ('hospital_onset_covid_coverage', 'hospital_onset_covid_coverage', int), ('icu_patients_confirmed_influenza', 'icu_patients_confirmed_influenza', int), diff --git a/src/acquisition/covid_hosp/state_timeseries/database.py b/src/acquisition/covid_hosp/state_timeseries/database.py index f07f939b1..8458b2dd3 100644 --- a/src/acquisition/covid_hosp/state_timeseries/database.py +++ b/src/acquisition/covid_hosp/state_timeseries/database.py @@ -40,7 +40,7 @@ class Database(BaseDatabase): ('critical_staffing_shortage_today_yes', 'critical_staffing_shortage_today_yes', int), ('deaths_covid', 'deaths_covid', int), ('deaths_covid_coverage', 'deaths_covid_coverage', int), - ('geocoded_state', 'geocoded_state', int), + ('geocoded_state', 'geocoded_state', str), ('hospital_onset_covid', 'hospital_onset_covid', int), ('hospital_onset_covid_coverage', 'hospital_onset_covid_coverage', int), ('icu_patients_confirmed_influenza', 'icu_patients_confirmed_influenza', int), diff --git a/src/ddl/covid_hosp.sql b/src/ddl/covid_hosp.sql index 89973d4e1..be3ee9e86 100644 --- a/src/ddl/covid_hosp.sql +++ b/src/ddl/covid_hosp.sql @@ -439,7 +439,7 @@ CREATE TABLE `covid_hosp_state_timeseries` ( `adult_icu_bed_utilization_denominator` INT, `record_type` CHAR(1) NOT NULL, -- new columns added Oct 10 - `geocoded_state` INT, + `geocoded_state` VARCHAR(32), `previous_day_admission_adult_covid_confirmed_18_19` INT, `previous_day_admission_adult_covid_confirmed_18_19_coverage` INT, `previous_day_admission_adult_covid_confirmed_20_29` INT, diff --git a/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql b/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql index 759fbb532..cf2567cd8 100644 --- a/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql +++ b/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql @@ -1,5 +1,5 @@ ALTER TABLE covid_hosp_state_timeseries ADD - `geocoded_state` INT, + `geocoded_state` VARCHAR(32), `previous_day_admission_adult_covid_confirmed_18_19` INT, `previous_day_admission_adult_covid_confirmed_18_19_coverage` INT, `previous_day_admission_adult_covid_confirmed_20_29` INT, diff --git a/src/server/endpoints/covid_hosp_facility.py b/src/server/endpoints/covid_hosp_facility.py index 4a3e159ba..8d5cb0b77 100644 --- a/src/server/endpoints/covid_hosp_facility.py +++ b/src/server/endpoints/covid_hosp_facility.py @@ -27,8 +27,8 @@ def handle(): "zip", "hospital_subtype", "fips_code", - 'geocoded_hospital_address', - 'hhs_ids' + "geocoded_hospital_address", + "hhs_ids" ] fields_int = [ "publication_date", diff --git a/src/server/endpoints/covid_hosp_state_timeseries.py b/src/server/endpoints/covid_hosp_state_timeseries.py index 96e01a071..c8684ddba 100644 --- a/src/server/endpoints/covid_hosp_state_timeseries.py +++ b/src/server/endpoints/covid_hosp_state_timeseries.py @@ -19,7 +19,10 @@ def handle(): # build query q = QueryBuilder("covid_hosp_state_timeseries", "c") - fields_string = ["state"] + fields_string = [ + "state", + "geocoded_state" + ] fields_int = [ "issue", "date", @@ -78,7 +81,6 @@ def handle(): "adult_icu_bed_utilization_denominator", "deaths_covid", "deaths_covid_coverage", - "geocoded_state", "icu_patients_confirmed_influenza", "icu_patients_confirmed_influenza_coverage", "on_hand_supply_therapeutic_a_casirivimab_imdevimab_courses", diff --git a/tests/acquisition/covid_hosp/state_daily/test_database.py b/tests/acquisition/covid_hosp/state_daily/test_database.py index f9fe34efc..efa439669 100644 --- a/tests/acquisition/covid_hosp/state_daily/test_database.py +++ b/tests/acquisition/covid_hosp/state_daily/test_database.py @@ -44,7 +44,7 @@ def test_insert_dataset(self): expected_query_values = ( 0, sentinel.issue, 'WY', 20201209, 0.2519685039370078, 29, 127, 32, 0.4233576642335766, 31, 137, 58, 22, 2, - 7, None, 2, 8, 0, 1, 2, 5, 29, 3, 4, 0.1172985781990521, 29, 1688, 198, + 7, None, 2, 8, 0, 1, '2', 5, 29, 3, 4, 0.1172985781990521, 29, 1688, 198, 1729, 31, 856, 31, 198, 29, 0.4950838635049161, 31, 1729, 856, 5, 6, 7, 0.2362768496420047, 29, 838, 198, 26, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 31, 24, 25, 15, 26, 27, 28, 29, 30, 31, 32, diff --git a/tests/acquisition/covid_hosp/state_timeseries/test_database.py b/tests/acquisition/covid_hosp/state_timeseries/test_database.py index f8824fae5..2649f7b5f 100644 --- a/tests/acquisition/covid_hosp/state_timeseries/test_database.py +++ b/tests/acquisition/covid_hosp/state_timeseries/test_database.py @@ -41,7 +41,7 @@ def test_insert_dataset(self): last_query_values = mock_cursor.execute.call_args[0][-1] expected_query_values = ( 0, sentinel.issue, 'WY', 20200826, 0.0934579439252336, 26, 107, 10, - 0.4298245614035088, 28, 114, 49, 19, 7, 2, None, 4, 2, 0, 1, 2, 0, 26, + 0.4298245614035088, 28, 114, 49, 19, 7, 2, None, 4, 2, 0, 1, '2', 0, 26, 3, 4, 0.0119465917076598, 26, 1423, 17, 1464, 28, 629, 28, 17, 26, 0.4296448087431694, 28, 1464, 629, 5, 6, 7, 0.0275974025974025, 26, 616, 17, 2, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 28, From f47762c3d662f809fba88d2aa185b3393d5817b3 Mon Sep 17 00:00:00 2001 From: chinandrew Date: Wed, 20 Oct 2021 16:24:00 -0400 Subject: [PATCH 08/11] Update src/ddl/migrations/covid_hosp_facility_v0.2-v0.3.sql Co-authored-by: Katie Mazaitis --- src/ddl/migrations/covid_hosp_facility_v0.2-v0.3.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ddl/migrations/covid_hosp_facility_v0.2-v0.3.sql b/src/ddl/migrations/covid_hosp_facility_v0.2-v0.3.sql index 0de0180cc..c3703389b 100644 --- a/src/ddl/migrations/covid_hosp_facility_v0.2-v0.3.sql +++ b/src/ddl/migrations/covid_hosp_facility_v0.2-v0.3.sql @@ -17,4 +17,4 @@ ALTER TABLE covid_hosp_facility ADD `total_personnel_covid_vaccinated_doses_none_7_day` INT, `total_personnel_covid_vaccinated_doses_none_7_day_sum` INT, `total_personnel_covid_vaccinated_doses_one_7_day` INT, - `total_personnel_covid_vaccinated_doses_one_7_day_sum` INT, \ No newline at end of file + `total_personnel_covid_vaccinated_doses_one_7_day_sum` INT; \ No newline at end of file From eb114bd34e28d1f2a9e3f9b73decf9fe717e59cf Mon Sep 17 00:00:00 2001 From: Kathryn M Mazaitis Date: Wed, 20 Oct 2021 16:52:47 -0400 Subject: [PATCH 09/11] Adapt to earlier files with fewer columns --- src/acquisition/covid_hosp/common/database.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/acquisition/covid_hosp/common/database.py b/src/acquisition/covid_hosp/common/database.py index 78def9ae5..03d3248b1 100644 --- a/src/acquisition/covid_hosp/common/database.py +++ b/src/acquisition/covid_hosp/common/database.py @@ -150,21 +150,19 @@ def insert_dataset(self, publication_date, dataframe): dataframe : pandas.DataFrame The dataset. """ - - num_columns = 2 + len(self.columns_and_types) + len(self.additional_fields) + dataframe_columns_and_types = [ + x for x in self.columns_and_types if x[0] in dataframe.columns + ] + num_columns = 2 + len(dataframe_columns_and_types) + len(self.additional_fields) value_placeholders = ', '.join(['%s'] * num_columns) - columns = ', '.join(f'`{i[1]}`' for i in self.columns_and_types + self.additional_fields) + columns = ', '.join(f'`{i[1]}`' for i in dataframe_columns_and_types + self.additional_fields) sql = f'INSERT INTO `{self.table_name}` (`id`, `{self.publication_col_name}`, {columns}) ' \ f'VALUES ({value_placeholders})' id_and_publication_date = (0, publication_date) - NEWLINE="\n" - for name, _, _ in self.columns_and_types: - if name not in dataframe.columns: - raise Exception(f"{name} not in dataframe columns:\n{NEWLINE.join(sorted(dataframe.columns))}") with self.new_cursor() as cursor: for _, row in dataframe.iterrows(): values = [] - for name, _, dtype in self.columns_and_types: + for name, _, dtype in dataframe_columns_and_types: if isinstance(row[name], float) and math.isnan(row[name]): values.append(None) else: From 811080fea0dacedd8f769cd82a1ea60aad68ade8 Mon Sep 17 00:00:00 2001 From: Katie Mazaitis Date: Thu, 21 Oct 2021 10:57:09 -0400 Subject: [PATCH 10/11] Edits from migration testing --- src/ddl/migrations/covid_hosp_facility_v0.2-v0.3.sql | 9 +++++---- src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/ddl/migrations/covid_hosp_facility_v0.2-v0.3.sql b/src/ddl/migrations/covid_hosp_facility_v0.2-v0.3.sql index c3703389b..b6abb5b5b 100644 --- a/src/ddl/migrations/covid_hosp_facility_v0.2-v0.3.sql +++ b/src/ddl/migrations/covid_hosp_facility_v0.2-v0.3.sql @@ -1,4 +1,4 @@ -ALTER TABLE covid_hosp_facility ADD +ALTER TABLE covid_hosp_facility ADD ( `geocoded_hospital_address` VARCHAR(32), `hhs_ids` VARCHAR(127), `is_corrected` BOOLEAN, @@ -10,11 +10,12 @@ ALTER TABLE covid_hosp_facility ADD `previous_week_patients_covid_vaccinated_doses_all_7_day_sum` INT, `previous_week_patients_covid_vaccinated_doses_one_7_day` INT, `previous_week_patients_covid_vaccinated_doses_one_7_day_sum` INT, - `previous_week_personnel_covid_vaccinated_doses_administered_7_day` INT, - `previous_week_personnel_covid_vaccinated_doses_administered_7_day_sum` INT, + `previous_week_personnel_covid_vaccd_doses_administered_7_day` INT, + `previous_week_personnel_covid_vaccd_doses_administered_7_day_sum` INT, `total_personnel_covid_vaccinated_doses_all_7_day` INT, `total_personnel_covid_vaccinated_doses_all_7_day_sum` INT, `total_personnel_covid_vaccinated_doses_none_7_day` INT, `total_personnel_covid_vaccinated_doses_none_7_day_sum` INT, `total_personnel_covid_vaccinated_doses_one_7_day` INT, - `total_personnel_covid_vaccinated_doses_one_7_day_sum` INT; \ No newline at end of file + `total_personnel_covid_vaccinated_doses_one_7_day_sum` INT); + \ No newline at end of file diff --git a/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql b/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql index cf2567cd8..8e9da92bc 100644 --- a/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql +++ b/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql @@ -1,4 +1,4 @@ -ALTER TABLE covid_hosp_state_timeseries ADD +ALTER TABLE covid_hosp_state_timeseries ADD ( `geocoded_state` VARCHAR(32), `previous_day_admission_adult_covid_confirmed_18_19` INT, `previous_day_admission_adult_covid_confirmed_18_19_coverage` INT, From ed9ed49e76c1a7b8ec4133ceae1f54f8d271e460 Mon Sep 17 00:00:00 2001 From: Katie Mazaitis Date: Thu, 21 Oct 2021 11:01:40 -0400 Subject: [PATCH 11/11] Lingering migration edit --- src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql b/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql index 8e9da92bc..544708c62 100644 --- a/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql +++ b/src/ddl/migrations/covid_hosp_state_v0.2-v0.3.sql @@ -55,4 +55,4 @@ ALTER TABLE covid_hosp_state_timeseries ADD ( `total_patients_hospitalized_confirmed_influenza` INT, `total_patients_hospitalized_confirmed_influenza_covid` INT, `total_patients_hospitalized_confirmed_influenza_covid_coverage` INT, - `total_patients_hospitalized_confirmed_influenza_coverage` INT; + `total_patients_hospitalized_confirmed_influenza_coverage` INT);