Skip to content

Commit 14aa8fa

Browse files
committed
Add covid_hosp_facility lookup integration tests
* mixed-facility-metadata inputs * facility-metadata updates
1 parent 50e40ba commit 14aa8fa

File tree

5 files changed

+32
-14
lines changed

5 files changed

+32
-14
lines changed

integrations/acquisition/covid_hosp/facility/test_scenarios.py

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ def test_facility_lookup(self):
120120
self.assertTrue(acquired)
121121

122122
# texas ground truth, sorted by `hospital_pk`
123-
# see sample data at testdata/acquisition/covid_hosp/facility/dataset_old.csv
123+
# see sample data at testdata/acquisition/covid_hosp/facility/dataset.csv
124124
texas_hospitals = [{
125125
'hospital_pk': '450771',
126126
'state': 'TX',
@@ -139,7 +139,7 @@ def test_facility_lookup(self):
139139
'hospital_name': 'MEDICAL CITY LAS COLINAS',
140140
'address': '6800 N MACARTHUR BLVD',
141141
'city': 'IRVING',
142-
'zip': '75039',
142+
'zip': '77777', # most-recent collection week should take precedence
143143
'hospital_subtype': 'Short Term',
144144
'fips_code': '48113',
145145
'is_metro_micro': 1,
@@ -150,7 +150,7 @@ def test_facility_lookup(self):
150150
'hospital_name': 'RANKIN HOSPITAL MEDICAL CLINIC',
151151
'address': '1611 SPUR 576',
152152
'city': 'RANKIN',
153-
'zip': '79778',
153+
'zip': '99999', # most-recent collection week should take precedence
154154
'hospital_subtype': 'Critical Access Hospitals',
155155
'fips_code': '48461',
156156
'is_metro_micro': 0,
@@ -160,16 +160,16 @@ def test_facility_lookup(self):
160160
response = Epidata.covid_hosp_facility_lookup(state='tx')
161161
self.assertEqual(response['epidata'], texas_hospitals)
162162

163-
with self.subTest(name='by ccn'):
164-
response = Epidata.covid_hosp_facility_lookup(ccn='450771')
163+
with self.subTest(name='by zip'):
164+
response = Epidata.covid_hosp_facility_lookup(zip='75093')
165165
self.assertEqual(response['epidata'], texas_hospitals[0:1])
166166

167167
with self.subTest(name='by city'):
168168
response = Epidata.covid_hosp_facility_lookup(city='irving')
169169
self.assertEqual(response['epidata'], texas_hospitals[1:2])
170170

171-
with self.subTest(name='by zip'):
172-
response = Epidata.covid_hosp_facility_lookup(zip='79778')
171+
with self.subTest(name='by ccn'):
172+
response = Epidata.covid_hosp_facility_lookup(ccn='451329')
173173
self.assertEqual(response['epidata'], texas_hospitals[2:3])
174174

175175
with self.subTest(name='by fips_code'):
@@ -180,7 +180,19 @@ def test_facility_lookup(self):
180180
response = Epidata.covid_hosp_facility_lookup(state='not a state')
181181
self.assertEqual(response['result'], -2)
182182

183-
@unittest.skip("unimplemented")
184-
def test_update_facility_info(self):
185-
# TODO: load dataset used above, query a hospital, load another dataset which has a different street adress for the same `hospital_pk`, query again and make sure hospital address is updated
186-
pass
183+
# update facility info
184+
mock_network = MagicMock()
185+
mock_network.fetch_metadata.return_value = \
186+
self.test_utils.load_sample_metadata('metadata_update_facility.csv')
187+
mock_network.fetch_dataset.return_value = \
188+
self.test_utils.load_sample_dataset('dataset_update_facility.csv')
189+
190+
# acquire sample data into local database
191+
with self.subTest(name='first acquisition'):
192+
acquired = Update.run(network=mock_network)
193+
self.assertTrue(acquired)
194+
195+
texas_hospitals[1]['zip'] = '88888'
196+
with self.subTest(name='by city after update'):
197+
response = Epidata.covid_hosp_facility_lookup(city='irving')
198+
self.assertEqual(response['epidata'], texas_hospitals[1:2])

testdata/acquisition/covid_hosp/facility/dataset.csv

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
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
22
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
33
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
4+
451329,2020-09-07,TX,451329,RANKIN HOSPITAL MEDICAL CLINIC,1611 SPUR 576,RANKIN,99999,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
45
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
56
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
67
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
@@ -19,3 +20,4 @@ hospital_pk,collection_week,state,ccn,hospital_name,address,city,zip,hospital_su
1920
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
2021
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
2122
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
23+
450822,2020/11/30,TX,450822,MEDICAL CITY LAS COLINAS,6800 N MACARTHUR BLVD,IRVING,77777,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

0 commit comments

Comments
 (0)