From 3b54f36322f2a1416b89bbca0f261bbd26cb9985 Mon Sep 17 00:00:00 2001 From: Daniel Simmons-Ritchie <37225902+SimmonsRitchie@users.noreply.github.com> Date: Wed, 1 May 2024 15:02:19 -0500 Subject: [PATCH] Deprecate spider il_public_health --- city_scrapers/spiders/il_public_health.py | 158 ---------------------- tests/files/il_public_health.json | 1 - tests/test_il_public_health.py | 130 ------------------ 3 files changed, 289 deletions(-) delete mode 100644 city_scrapers/spiders/il_public_health.py delete mode 100644 tests/files/il_public_health.json delete mode 100644 tests/test_il_public_health.py diff --git a/city_scrapers/spiders/il_public_health.py b/city_scrapers/spiders/il_public_health.py deleted file mode 100644 index 970f16220..000000000 --- a/city_scrapers/spiders/il_public_health.py +++ /dev/null @@ -1,158 +0,0 @@ -import json -import re -from datetime import datetime - -from city_scrapers_core.constants import ADVISORY_COMMITTEE -from city_scrapers_core.items import Meeting -from city_scrapers_core.spiders import CityScrapersSpider -from dateutil.relativedelta import relativedelta -from scrapy.http import HtmlResponse - - -class IlPublicHealthSpider(CityScrapersSpider): - name = "il_public_health" - agency = "Illinois Department of Public Health" - timezone = "America/Chicago" - - @property - def start_urls(self): - """Get all meetings from one year ago through one year in the future""" - today = datetime.now() - url_list = [] - for months_diff in range(-12, 13): - month_str = (today + relativedelta(months=months_diff)).strftime("%Y/%m") - url_list.extend( - [ - "http://www.dph.illinois.gov/views/ajax?view_name=events&view_display_id=page&view_args={}&page={}".format( # noqa - month_str, i - ) - for i in range(4) - ] - ) - return url_list - - def parse(self, response): - """ - `parse` should always `yield` Meeting items. - - Change the `_parse_title`, `_parse_start`, etc methods to fit your scraping - needs. - """ - data = json.loads(response.text) - body = "".join([d.get("data", "") for d in data]) - res = HtmlResponse(url=response.url, body=body, encoding="utf-8") - last_year = datetime.today().replace(year=datetime.today().year - 1) - for item in res.css("tr.eventspage"): - title = self._parse_title(item) - description = self._parse_description(item) - # Skip meetings in certain categories - if self.should_ignore_meeting(title, description): - continue - start = self._parse_start(item) - if start < last_year and not self.settings.getbool("CITY_SCRAPERS_ARCHIVE"): - continue - meeting = Meeting( - title=title, - description=description, - classification=self._parse_classification(item), - start=start, - end=self._parse_end(item), - all_day=False, - time_notes="", - location=self._parse_location(description), - links=self._parse_links(item), - source="http://www.dph.illinois.gov/events/", - ) - - meeting["status"] = self._get_status( - meeting, text=item.css(".event_cancelled::text").extract_first() or "" - ) - meeting["id"] = self._get_id(meeting) - - yield meeting - - def _parse_title(self, item): - """Parse or generate meeting title.""" - return item.css("div.eventtitle::text").extract_first().strip() - - def _parse_description(self, item): - """Parse or generate meeting description.""" - return "\n".join( - [ - re.sub(r"\s+", " ", line).strip() - for line in item.css(".event_description > p *::text").extract() - ] - ) - - def _parse_classification(self, item): - """Parse or generate classification from allowed options.""" - return ADVISORY_COMMITTEE - - def _parse_start(self, item): - """Parse start datetime as a naive datetime object.""" - start_str = item.css(".date-display-single::attr(content)").extract_first() - return datetime.strptime(start_str[:19], "%Y-%m-%dT%H:%M:%S") - - def _parse_end(self, item): - """Parse end datetime as a naive datetime object. Added by pipeline if None""" - end_el = item.css( - ".start_end_time .date-display-single:not(:first-child):last-child" - ) - if end_el: - end_date = datetime.strptime( - end_el.attrib["content"][:19], "%Y-%m-%dT%H:%M:%S" - ) - end_time = datetime.strptime( - end_el.xpath("./text()").extract_first().strip(), "%I:%M%p" - ).time() - return end_date.replace(hour=end_time.hour, minute=end_time.minute) - end_dt_str = item.css(".date-display-end::attr(content)").extract_first() - if end_dt_str: - return datetime.strptime(end_dt_str[:19], "%Y-%m-%dT%H:%M:%S") - - def _parse_location(self, description): - """Parse or generate location.""" - addr_str = "" - chi_match = re.search( - r"(\d{1,5}\s+[^(IL)]{0,150}?Chicago(,\s+IL(\s+\d{5})?)?)", - description, - flags=re.DOTALL | re.M, - ) - springfield_match = re.search( - r"(\d{1,5}\s+[^(IL)]{0,150}?Springfield(,\s+IL(\s+\d{5})?)?)", - description, - flags=re.DOTALL | re.M, - ) - il_match = re.search( - r"(\d{1,5}\s+.{0,150}?IL(\s+\d{5})?)", description, flags=re.DOTALL | re.M - ) - if chi_match: - addr_str = chi_match.group() - elif springfield_match: - addr_str = springfield_match.group() - elif il_match: - addr_str = il_match.group() - if addr_str and "IL" not in addr_str: - addr_str += ", IL" - return { - "address": re.sub(r"\n+", "\n", addr_str).strip(), - "name": "", - } - - def _parse_links(self, item): - """Parse or generate links.""" - links = [] - for link in item.css(".addl_materials a, .meeting_minutes_agenda a"): - links.append( - { - "title": link.xpath("./text()").extract_first(), - "href": link.attrib["href"], - } - ) - return links - - def should_ignore_meeting(self, title, description): - return any( - p in " ".join([title.lower(), description.lower()]) - for p in ["training session", "symposium", "workshop"] - ) diff --git a/tests/files/il_public_health.json b/tests/files/il_public_health.json deleted file mode 100644 index 49b721a9d..000000000 --- a/tests/files/il_public_health.json +++ /dev/null @@ -1 +0,0 @@ -[{"command":"settings","settings":{"basePath":"\/","pathPrefix":"","ajaxPageState":{"theme":"idph","theme_token":"RCaMT1DKNsWTckfV2Qju5Y_ZGf74ts3_fSRLIeDf5rs","jquery_version":"1.7"},"apachesolr_autocomplete":{"path":"\/apachesolr_autocomplete"},"jcarousel":{"ajaxPath":"\/jcarousel\/ajax\/views"},"urlIsAjaxTrusted":{"\/events\/2019\/03":true,"\/views\/ajax":true},"views":{"ajax_path":"\/views\/ajax","ajaxViews":{"views_dom_id:f87d3614fbf67bb37cf2eebb44b4a157":{"view_name":"events","view_display_id":"page","view_args":"2019\/03","view_path":"views\/ajax","view_base_path":"events","view_dom_id":"f87d3614fbf67bb37cf2eebb44b4a157","pager_element":0}}}},"merge":true},{"command":"insert","method":"replaceWith","selector":".view-dom-id-","data":"\u003Cdiv class=\u0022view view-events view-id-events view-display-id-page view-dom-id-\u0022\u003E\n \n \u003Cdiv class=\u0022view-filters\u0022\u003E\n \u003Cform action=\u0022\/events\/2019\/03\u0022 method=\u0022get\u0022 id=\u0022views-exposed-form-events-page\u0022 accept-charset=\u0022UTF-8\u0022\u003E\u003Cdiv\u003E\u003Cdiv class=\u0022views-exposed-form\u0022\u003E\n \u003Cdiv class=\u0022views-exposed-widgets clearfix\u0022\u003E\n \u003Cdiv id=\u0022edit-field-board-tid-wrapper\u0022 class=\u0022views-exposed-widget views-widget-filter-field_board_tid\u0022\u003E\n \u003Cdiv class=\u0022views-widget\u0022\u003E\n \u003Cdiv class=\u0022form-item form-type-select form-item-field-board-tid\u0022\u003E\n \u003Cselect id=\u0022edit-field-board-tid\u0022 name=\u0022field_board_tid\u0022 class=\u0022form-select\u0022\u003E\u003Coption value=\u0022All\u0022 selected=\u0022selected\u0022\u003EFilter by Comittee (View All)\u003C\/option\u003E\u003Coption value=\u00223\u0022\u003EDirector Appointed Advisory Boards\u003C\/option\u003E\u003Coption value=\u00221\u0022\u003EGovernor Appointed Advisory Boards\u003C\/option\u003E\u003Coption value=\u002226\u0022\u003EIDPH Sponsored Event\u003C\/option\u003E\u003Coption value=\u00222\u0022\u003EMultiple Appointing Authorities\u003C\/option\u003E\u003C\/select\u003E\n\u003C\/div\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n \u003Cdiv class=\u0022views-exposed-widget views-submit-button\u0022\u003E\n \u003Cinput type=\u0022submit\u0022 id=\u0022edit-submit-events\u0022 name=\u0022\u0022 value=\u0022Apply\u0022 class=\u0022form-submit\u0022 \/\u003E \u003C\/div\u003E\n \u003C\/div\u003E\n\u003C\/div\u003E\n\u003C\/div\u003E\u003C\/form\u003E \u003C\/div\u003E\n \n \n \u003Cdiv class=\u0022view-content\u0022\u003E\n \u003Ctable class=\u0022views-table cols-0\u0022 \u003E\n \u003Ctbody\u003E\n \u003Ctr class=\u0022eventspage\u0022\u003E\n \u003Ctd class=\u0022eventday\u0022 \u003E\n \u003Cdiv class=\u0022start_month\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-07T11:00:00-06:00\u0022\u003EMar\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_date_only\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-07T11:00:00-06:00\u0022\u003E07\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_day\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-07T11:00:00-06:00\u0022\u003EThu\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_end_time\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-07T11:00:00-06:00\u0022\u003E11:00AM\u003C\/span\u003E \u003Cbr\/\u003Eto\u003Cbr\/\u003E \u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-07T11:00:00-06:00\u0022\u003E12:30PM\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022addtocaldates\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022\u003EMarch 7, 2019 - \u003Cspan class=\u0022date-display-range\u0022\u003E\u003Cspan class=\u0022date-display-start\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-07T11:00:00-06:00\u0022\u003E11:00am\u003C\/span\u003E to \u003Cspan class=\u0022date-display-end\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-07T12:30:00-06:00\u0022\u003E12:30pm\u003C\/span\u003E\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E \u003C\/td\u003E\n \u003Ctd class=\u0022views-field views-field-title views-align-left eventtitle\u0022 \u003E\n \u003Cdiv class=\u0022eventtitle\u0022\u003ETrauma Advisory Council\u003C\/div\u003E\u003Cdiv class=\u0022meeting_minutes_agenda\u0022\u003E\u003Ca href=\u0022http:\/\/www.dph.illinois.gov\/sites\/default\/files\/events\/meeting-agenda\/trauma-advisory-council\/trauma-advisory-council-agenda-3719.pdf\u0022\u003EMeeting Agenda\u003C\/a\u003E\u0026nbsp;\u0026nbsp;\u0026nbsp;\u003C\/div\u003E\u003Cdiv class=\u0022event_description\u0022\u003E\u003Cp\u003ESTATE OF ILLINOIS\u003Cbr \/\u003E\nNOTICE of PUBLIC MEETING for the\u00a0\u003Cbr \/\u003E\nTHE STATE TRAUMA ADVISORY COUNCIL\u003Cbr \/\u003E\nwill meet on\u003Cbr \/\u003E\nThursday, MARCH 7, 2019\u003Cbr \/\u003E\nILLINOIS DEPARTMENT OF PUBLIC HEALTH\u003Cbr \/\u003E\n422 S. 5TH, 3RD FLOOR\u003Cbr \/\u003E\nSpringfield, IL 62794\u003Cbr \/\u003E\n1100 a.m. - 12:30 p.m.\u003Cbr \/\u003E\nwith videoconferencing at\u003Cbr \/\u003E\nIDPH MARION REGIONAL OFFICE, 2309 W. MAIN ST., MARION, IL 62959;\u003Cbr \/\u003E\nIDPH ROCKFORD REGIONAL OFFICE, 4302 N. MAIN ST., ROCKFORD, IL 61103;\u003Cbr \/\u003E\nNWM CENTRAL DUPAGE HOSPITAL AUDITORIUM, 25 N. WINFIELD RD, WINFIELD IL 60190; AND\u003Cbr \/\u003E\nUNITY POINT HEALTH-TRINITY, 2701 17TH ST., 3RD FLOOR, ROCK ISLAND, IL 60515;\u003C\/p\u003E\n\u003C\/div\u003E\n\u003Cspan class=\u0022add_title\u0022\u003EAdditional Materials: None\u003C\/span\u003E\u003C\/div\u003E\n \u003C\/td\u003E\n \u003Ctr\u003E\u003Ctd colspan=\u00222\u0022 height=\u002230\u0022\u003E\u0026nbsp;\u003C\/td\u003E\u003C\/tr\u003E\n \u003C\/tr\u003E\n \u003Ctr class=\u0022eventspage\u0022\u003E\n \u003Ctd class=\u0022eventday\u0022 \u003E\n \u003Cdiv class=\u0022start_month\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-08T13:00:00-06:00\u0022\u003EMar\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_date_only\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-08T13:00:00-06:00\u0022\u003E08\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_day\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-08T13:00:00-06:00\u0022\u003EFri\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_end_time\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-08T13:00:00-06:00\u0022\u003E01:00PM\u003C\/span\u003E \u003Cbr\/\u003Eto\u003Cbr\/\u003E \u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-08T13:00:00-06:00\u0022\u003E03:00PM\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022addtocaldates\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022\u003EMarch 8, 2019 - \u003Cspan class=\u0022date-display-range\u0022\u003E\u003Cspan class=\u0022date-display-start\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-08T13:00:00-06:00\u0022\u003E1:00pm\u003C\/span\u003E to \u003Cspan class=\u0022date-display-end\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-08T15:00:00-06:00\u0022\u003E3:00pm\u003C\/span\u003E\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E \u003C\/td\u003E\n \u003Ctd class=\u0022views-field views-field-title views-align-left eventtitle\u0022 \u003E\n \u003Cdiv class=\u0022eventtitle\u0022\u003EIllinois College of Emergency Physicians EMS Forum\u003C\/div\u003E\u003Cdiv class=\u0022meeting_minutes_agenda\u0022\u003E\u003C\/div\u003E\u003Cdiv class=\u0022event_description\u0022\u003E\u003Cp\u003EDowners Grove\u003Cbr \/\u003E\nVIA VIDEOCONFERENCE AT:\u003Cbr \/\u003E\nIllinois College of Emergency Physicians, 3000 Woodcreek Dr., Suite #200, Downers Grove, IL\u003Cbr \/\u003E\nIDPH Bell Building Conference Room, 422 S. 5\u003Csup\u003Eth\u003C\/sup\u003E Street, 3\u003Csup\u003Erd\u003C\/sup\u003E Floor, Springfield, IL\u003Cbr \/\u003E\nIllinois Central College (ICC), One College Drive, East Peoria, IL\u003Cbr \/\u003E\nUnity Point Health-Trinity, 2701 17\u003Csup\u003Eth\u003C\/sup\u003E St., 3\u003Csup\u003Erd\u003C\/sup\u003E Floor, Rock Island, IL\u003Cbr \/\u003E\nMemorial Hospital \u2013 Belleville, 4550 Memorial Drive, Belleville, IL\u003Cbr \/\u003E\nInterested persons may contact the Division of EMS and Highway Safety at \u003Cstrong\u003E217-785-2080\u003C\/strong\u003E.\u003C\/p\u003E\n\u003C\/div\u003E\n\u003Cspan class=\u0022add_title\u0022\u003EAdditional Materials: None\u003C\/span\u003E\u003C\/div\u003E\n \u003C\/td\u003E\n \u003Ctr\u003E\u003Ctd colspan=\u00222\u0022 height=\u002230\u0022\u003E\u0026nbsp;\u003C\/td\u003E\u003C\/tr\u003E\n \u003C\/tr\u003E\n \u003Ctr class=\u0022eventspage\u0022\u003E\n \u003Ctd class=\u0022eventday\u0022 \u003E\n \u003Cdiv class=\u0022start_month\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-12T10:00:00-05:00\u0022\u003EMar\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_date_only\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-12T10:00:00-05:00\u0022\u003E12\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_day\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-12T10:00:00-05:00\u0022\u003ETue\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_end_time\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-12T10:00:00-05:00\u0022\u003E10:00AM\u003C\/span\u003E \u003Cbr\/\u003Eto\u003Cbr\/\u003E \u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-12T10:00:00-05:00\u0022\u003E11:00AM\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022addtocaldates\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022\u003EMarch 12, 2019 - \u003Cspan class=\u0022date-display-range\u0022\u003E\u003Cspan class=\u0022date-display-start\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-12T10:00:00-05:00\u0022\u003E10:00am\u003C\/span\u003E to \u003Cspan class=\u0022date-display-end\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-12T11:00:00-05:00\u0022\u003E11:00am\u003C\/span\u003E\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E \u003C\/td\u003E\n \u003Ctd class=\u0022views-field views-field-title views-align-left eventtitle\u0022 \u003E\n \u003Cdiv class=\u0022eventtitle\u0022\u003EPlumbing Code Advisory Council\u003C\/div\u003E\u003Cdiv class=\u0022meeting_minutes_agenda\u0022\u003E\u003Ca href=\u0022http:\/\/www.dph.illinois.gov\/sites\/default\/files\/events\/meeting-agenda\/plumbing-code-advisory-council\/3-12-19-plumbing-code-advisory-council-agenda.pdf\u0022\u003EMeeting Agenda\u003C\/a\u003E\u0026nbsp;\u0026nbsp;\u0026nbsp;\u003C\/div\u003E\u003Cdiv class=\u0022event_description\u0022\u003E\u003Cp\u003EMeeting location:\u003Cbr \/\u003E\nIllinois Department of Natural Resources\u003Cbr \/\u003E\nIDPH Training Room (Lower Level)\u003Cbr \/\u003E\nIllinois State Fairgrounds, Gate 7\u003Cbr \/\u003E\nOne Natural Resources Way\u003Cbr \/\u003E\nSpringfield, IL 62702\u003C\/p\u003E\n\u003Cp\u003EInterested persons should contact Brian Cox, Plumbing \u0026amp; Water Quality Program Manager at 217-524-0791.\u003C\/p\u003E\n\u003C\/div\u003E\n\u003Cspan class=\u0022add_title\u0022\u003EAdditional Materials: None\u003C\/span\u003E\u003C\/div\u003E\n \u003C\/td\u003E\n \u003Ctr\u003E\u003Ctd colspan=\u00222\u0022 height=\u002230\u0022\u003E\u0026nbsp;\u003C\/td\u003E\u003C\/tr\u003E\n \u003C\/tr\u003E\n \u003Ctr class=\u0022eventspage\u0022\u003E\n \u003Ctd class=\u0022eventday\u0022 \u003E\n \u003Cdiv class=\u0022start_month\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-13T10:00:00-05:00\u0022\u003EMar\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_date_only\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-13T10:00:00-05:00\u0022\u003E13\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_day\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-13T10:00:00-05:00\u0022\u003EWed\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_end_time\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-13T10:00:00-05:00\u0022\u003E10:00AM\u003C\/span\u003E \u003Cbr\/\u003Eto\u003Cbr\/\u003E \u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-13T10:00:00-05:00\u0022\u003E12:00PM\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022addtocaldates\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022\u003EMarch 13, 2019 - \u003Cspan class=\u0022date-display-range\u0022\u003E\u003Cspan class=\u0022date-display-start\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-13T10:00:00-05:00\u0022\u003E10:00am\u003C\/span\u003E to \u003Cspan class=\u0022date-display-end\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-13T12:00:00-05:00\u0022\u003E12:00pm\u003C\/span\u003E\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E \u003C\/td\u003E\n \u003Ctd class=\u0022views-field views-field-title views-align-left eventtitle\u0022 \u003E\n \u003Cdiv class=\u0022eventtitle\u0022\u003EAmbulatory Surgical Treatment Center Licensing Board \u003C\/div\u003E\u003Cdiv class=\u0022meeting_minutes_agenda\u0022\u003E\u003C\/div\u003E\u003Cdiv class=\u0022event_description\u0022\u003E\u003Cp\u003E\u003Cem\u003EMeeting Agenda \u2013 TBA \u003C\/em\u003E\u003Cbr \/\u003E\nVIDEO CONFERENCE\u003Cbr \/\u003E\n525 W. Jefferson St., 4th Floor, Video Conference Room, Springfield, IL\u003Cbr \/\u003E\n122 S. Michigan Ave., Conference Room 711, 7th Floor, Chicago, IL\u003Cbr \/\u003E\n245 W. Roosevelt, Bldg 5, West Chicago\u003Cbr \/\u003E\n10:00 a.m. \u2013 12:00 p.m.\u003Cbr \/\u003E\nInterested persons may contact Elaine Huddleston in the Office of Health Care Regulations, Division of Health Care Facilities and Programs at \u003Cstrong\u003E217-782-0483.\u003C\/strong\u003E\u003C\/p\u003E\n\u003C\/div\u003E\n\u003Cspan class=\u0022add_title\u0022\u003EAdditional Materials: None\u003C\/span\u003E\u003C\/div\u003E\n \u003C\/td\u003E\n \u003Ctr\u003E\u003Ctd colspan=\u00222\u0022 height=\u002230\u0022\u003E\u0026nbsp;\u003C\/td\u003E\u003C\/tr\u003E\n \u003C\/tr\u003E\n \u003Ctr class=\u0022eventspage\u0022\u003E\n \u003Ctd class=\u0022eventday\u0022 \u003E\n \u003Cdiv class=\u0022start_month\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-14T11:00:00-05:00\u0022\u003EMar\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_date_only\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-14T11:00:00-05:00\u0022\u003E14\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_day\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-14T11:00:00-05:00\u0022\u003EThu\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_end_time\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-14T11:00:00-05:00\u0022\u003E11:00AM\u003C\/span\u003E \u003Cbr\/\u003Eto\u003Cbr\/\u003E \u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-14T11:00:00-05:00\u0022\u003E01:00PM\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022addtocaldates\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022\u003EMarch 14, 2019 - \u003Cspan class=\u0022date-display-range\u0022\u003E\u003Cspan class=\u0022date-display-start\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-14T11:00:00-05:00\u0022\u003E11:00am\u003C\/span\u003E to \u003Cspan class=\u0022date-display-end\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-14T13:00:00-05:00\u0022\u003E1:00pm\u003C\/span\u003E\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E \u003C\/td\u003E\n \u003Ctd class=\u0022views-field views-field-title views-align-left eventtitle\u0022 \u003E\n \u003Cdiv class=\u0022eventtitle\u0022\u003EState Board of Health\u003C\/div\u003E\u003Cdiv class=\u0022meeting_minutes_agenda\u0022\u003E\u003Ca href=\u0022http:\/\/www.dph.illinois.gov\/sites\/default\/files\/events\/meeting-agenda\/state-board-health\/31419-sboh-agenda.pdf\u0022\u003EMeeting Agenda\u003C\/a\u003E\u0026nbsp;\u0026nbsp;\u0026nbsp; \u003Ca href=\u0022http:\/\/www.dph.illinois.gov\/sites\/default\/files\/events\/meeting-minutes\/state-board-health\/31419-minutes.pdf\u0022\u003EMeeting Minutes\u003C\/a\u003E\u003C\/div\u003E\u003Cdiv class=\u0022event_description\u0022\u003E\u003Cp\u003ECall in # - 1888-806-4788\u003Cbr \/\u003E\nCode - 575-791-4021#\u003C\/p\u003E\n\u003Ch3\u003E\u003Cspan style=\u0022font-size: 13px;\u0022\u003E\u00a0\u003C\/span\u003ELocations\u003C\/h3\u003E\n\u003Cp\u003EIllinois Department of Public Health \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Illinois Department of Public Health\u003Cbr \/\u003E\n69 W. Washington Street\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0535 W. Jefferson St.\u003Cbr \/\u003E\nSuite 3506\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 5th Floor Conference Room\u003Cbr \/\u003E\nChicago, Illinois 60602\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Springfield, Illinois 62761\u003C\/p\u003E\n\u003Cp\u003EPlease be advised that those wishing to provide public testimony will be called in the order in which they register. If there are speakers remaining after the fifteen (15) minutes allotted for public testimony, who registered prior to the start of the meeting and who have not spoken, they may be permitted to provide their testimony at the conclusion of the meeting, at the discretion of the Chair. Each speaker may speak for up to three minutes. Persons who wish to register to speak may contact Nick Florian, IDPH, at \u003Ca href=\u0022mailto:nick.florian@illinois.gov\u0022\u003Enick.florian@illinois.gov\u003C\/a\u003E or (217) 782-6188.\u00a0\u00a0\u003C\/p\u003E\n\u003Cp\u003E\u00a0\u003C\/p\u003E\n\u003C\/div\u003E\n\u003Cspan class=\u0022add_title\u0022\u003EAdditional Materials: None\u003C\/span\u003E\u003C\/div\u003E\n \u003C\/td\u003E\n \u003Ctr\u003E\u003Ctd colspan=\u00222\u0022 height=\u002230\u0022\u003E\u0026nbsp;\u003C\/td\u003E\u003C\/tr\u003E\n \u003C\/tr\u003E\n \u003Ctr class=\u0022eventspage\u0022\u003E\n \u003Ctd class=\u0022eventday\u0022 \u003E\n \u003Cdiv class=\u0022start_month\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-19T09:00:00-05:00\u0022\u003EMar\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_date_only\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-19T09:00:00-05:00\u0022\u003E19\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_day\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-19T09:00:00-05:00\u0022\u003ETue\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_end_time\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-19T09:00:00-05:00\u0022\u003E09:00AM\u003C\/span\u003E \u003Cbr\/\u003Eto\u003Cbr\/\u003E \u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-19T09:00:00-05:00\u0022\u003E10:00AM\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022addtocaldates\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022\u003EMarch 19, 2019 - \u003Cspan class=\u0022date-display-range\u0022\u003E\u003Cspan class=\u0022date-display-start\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-19T09:00:00-05:00\u0022\u003E9:00am\u003C\/span\u003E to \u003Cspan class=\u0022date-display-end\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-19T10:00:00-05:00\u0022\u003E10:00am\u003C\/span\u003E\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E \u003C\/td\u003E\n \u003Ctd class=\u0022views-field views-field-title views-align-left eventtitle\u0022 \u003E\n \u003Cdiv class=\u0022eventtitle\u0022\u003EPANDAS\/PANS Advisory Council\u003C\/div\u003E\u003Cdiv class=\u0022meeting_minutes_agenda\u0022\u003E\u003Ca href=\u0022http:\/\/www.dph.illinois.gov\/sites\/default\/files\/events\/meeting-agenda\/pandas\/pans-advisory-council\/31919-agenda.pdf\u0022\u003EMeeting Agenda\u003C\/a\u003E\u0026nbsp;\u0026nbsp;\u0026nbsp; \u003Ca href=\u0022http:\/\/www.dph.illinois.gov\/sites\/default\/files\/events\/meeting-minutes\/pandas\/pans-advisory-council\/31919-minutes.pdf\u0022\u003EMeeting Minutes\u003C\/a\u003E\u003C\/div\u003E\u003Cdiv class=\u0022event_description\u0022\u003E\u003Cp\u003EMarch 19, 2019\u003Cbr \/\u003E\n9 AM \u2013 10 AM\u003Cbr \/\u003E\nCall-in: 888-806-4788\u003Cbr \/\u003E\n5757914021#\u003C\/p\u003E\n\u003Cp\u003E\u00a0\u003Cbr \/\u003E\u003Cstrong\u003E\u003Cu\u003ELOCATIONS\u003C\/u\u003E\u003C\/strong\u003E\u003Cbr \/\u003E\n\u00a0\u003Cbr \/\u003E\nWest Chicago Building\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5\u003Csup\u003Eth\u003C\/sup\u003E Floor Conference Room\u003Cbr \/\u003E\n245 W. Roosevelt Rd.\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 535 W. Jefferson St.\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u003Cbr \/\u003E\nWest Chicago, IL\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Springfield, IL\u003C\/p\u003E\n\u003C\/div\u003E\n\u003Cspan class=\u0022add_title\u0022\u003EAdditional Materials: None\u003C\/span\u003E\u003C\/div\u003E\n \u003C\/td\u003E\n \u003Ctr\u003E\u003Ctd colspan=\u00222\u0022 height=\u002230\u0022\u003E\u0026nbsp;\u003C\/td\u003E\u003C\/tr\u003E\n \u003C\/tr\u003E\n \u003Ctr class=\u0022eventspage\u0022\u003E\n \u003Ctd class=\u0022eventday\u0022 \u003E\n \u003Cdiv class=\u0022start_month\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-21T11:00:00-05:00\u0022\u003EMar\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_date_only\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-21T11:00:00-05:00\u0022\u003E21\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_day\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-21T11:00:00-05:00\u0022\u003EThu\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_end_time\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-21T11:00:00-05:00\u0022\u003E11:00AM\u003C\/span\u003E \u003Cbr\/\u003Eto\u003Cbr\/\u003E \u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-21T11:00:00-05:00\u0022\u003E01:00PM\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022addtocaldates\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022\u003EMarch 21, 2019 - \u003Cspan class=\u0022date-display-range\u0022\u003E\u003Cspan class=\u0022date-display-start\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-21T11:00:00-05:00\u0022\u003E11:00am\u003C\/span\u003E to \u003Cspan class=\u0022date-display-end\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-21T13:00:00-05:00\u0022\u003E1:00pm\u003C\/span\u003E\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E \u003C\/td\u003E\n \u003Ctd class=\u0022views-field views-field-title views-align-left eventtitle\u0022 \u003E\n \u003Cdiv class=\u0022eventtitle\u0022\u003EEMS Advisory Council Meeting\u003C\/div\u003E\u003Cdiv class=\u0022meeting_minutes_agenda\u0022\u003E\u003Ca href=\u0022http:\/\/www.dph.illinois.gov\/sites\/default\/files\/events\/meeting-agenda\/ems-advisory-council-meeting\/ems-advisory-council-agenda-32119.pdf\u0022\u003EMeeting Agenda\u003C\/a\u003E\u0026nbsp;\u0026nbsp;\u0026nbsp;\u003C\/div\u003E\u003Cdiv class=\u0022event_description\u0022\u003E\u003Cp\u003ENOTICE of PUBLIC MEETING for the\u00a0THE STATE EMS ADVISORY COUNCIL\u003Cbr \/\u003E\nwill meet (face-to-face) on\u003Cbr \/\u003E\nThursday, March 21st, 2019\u003C\/p\u003E\n\u003Cp\u003EMemorial Center for Learning \u0026amp; Innovation at\u00a0\u003Cbr \/\u003E\nMemorial Medical Center, 228 W. Miller St., Conference Room 2A\u00a0\u003Cbr \/\u003E\n\u00a0Parking entrance off of Klein and Miller\u003Cbr \/\u003E\nSpringfield, IL 62702\u003Cbr \/\u003E\n11:00 a.m. - 1:00 p.m.\u003C\/p\u003E\n\u003Cp\u003Ewith videoconferencing at\u003C\/p\u003E\n\u003Cp\u003EIDPH Champaign Regional Office, Room B, 2125 S. First St., Champaign, IL 61820\u003Cbr \/\u003E\nIDPH Edwardsville Regional Office, 22 Kettle River Dr., Glen Carbon, IL 62034\u003Cbr \/\u003E\nIDPH Marion Regional Office, Room 10, 2309 W. Main St., Marion, IL 62959\u003Cbr \/\u003E\nIDPH Peoria Regional Office, 5415 N. University, Peoria, IL 61614\u003Cbr \/\u003E\nIDPH Rockford Regional Office, 4302 N. Main St., Rockford, IL 61103\u003Cbr \/\u003E\nIllinois College of Emergency Physicians, 3000 Woodcreek Dr., Downers Grove, IL 60515\u003Cbr \/\u003E\nUnity Point Health-Trinity, 2701 17th St., 3rd Floor, Rock Island, IL 61201\u003C\/p\u003E\n\u003C\/div\u003E\n\u003Cspan class=\u0022add_title\u0022\u003EAdditional Materials: None\u003C\/span\u003E\u003C\/div\u003E\n \u003C\/td\u003E\n \u003Ctr\u003E\u003Ctd colspan=\u00222\u0022 height=\u002230\u0022\u003E\u0026nbsp;\u003C\/td\u003E\u003C\/tr\u003E\n \u003C\/tr\u003E\n \u003Ctr class=\u0022eventspage\u0022\u003E\n \u003Ctd class=\u0022eventday\u0022 \u003E\n \u003Cdiv class=\u0022start_month\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-22T10:00:00-05:00\u0022\u003EMar\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_date_only\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-22T10:00:00-05:00\u0022\u003E22\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_day\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-22T10:00:00-05:00\u0022\u003EFri\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_end_time\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-22T10:00:00-05:00\u0022\u003E10:00AM\u003C\/span\u003E \u003Cbr\/\u003Eto\u003Cbr\/\u003E \u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-22T10:00:00-05:00\u0022\u003E12:00PM\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022addtocaldates\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022\u003EMarch 22, 2019 - \u003Cspan class=\u0022date-display-range\u0022\u003E\u003Cspan class=\u0022date-display-start\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-22T10:00:00-05:00\u0022\u003E10:00am\u003C\/span\u003E to \u003Cspan class=\u0022date-display-end\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-22T12:00:00-05:00\u0022\u003E12:00pm\u003C\/span\u003E\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E \u003C\/td\u003E\n \u003Ctd class=\u0022views-field views-field-title views-align-left eventtitle\u0022 \u003E\n \u003Cdiv class=\u0022eventtitle\u0022\u003EEmergency Medical Services for Children Advisory Council\u003C\/div\u003E\u003Cdiv class=\u0022meeting_minutes_agenda\u0022\u003E\u003C\/div\u003E\u003Cdiv class=\u0022event_description\u0022\u003E\u003Cp\u003EVIA VIDEOCONFERENCE AT:\u003Cbr \/\u003E\nIllinois Hospital Association (IHA), 1151 E. Warrenville Road, Naperville\u003Cbr \/\u003E\nIllinois Hospital Association (IHA), 700 South Second St., Springfield\u003Cbr \/\u003E\nUnity Point Health-Trinity, 2701 17\u003Csup\u003Eth\u003C\/sup\u003E St., 3\u003Csup\u003Erd\u003C\/sup\u003E Floor, Rock Island, IL\u003C\/p\u003E\n\u003C\/div\u003E\n\u003Cspan class=\u0022add_title\u0022\u003EAdditional Materials: None\u003C\/span\u003E\u003C\/div\u003E\n \u003C\/td\u003E\n \u003Ctr\u003E\u003Ctd colspan=\u00222\u0022 height=\u002230\u0022\u003E\u0026nbsp;\u003C\/td\u003E\u003C\/tr\u003E\n \u003C\/tr\u003E\n \u003Ctr class=\u0022eventspage\u0022\u003E\n \u003Ctd class=\u0022eventday\u0022 \u003E\n \u003Cdiv class=\u0022start_month\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-26T13:30:00-05:00\u0022\u003EMar\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_date_only\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-26T13:30:00-05:00\u0022\u003E26\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_day\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-26T13:30:00-05:00\u0022\u003ETue\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_end_time\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-26T13:30:00-05:00\u0022\u003E01:30PM\u003C\/span\u003E \u003Cbr\/\u003Eto\u003Cbr\/\u003E \u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-26T13:30:00-05:00\u0022\u003E03:30PM\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022addtocaldates\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022\u003EMarch 26, 2019 - \u003Cspan class=\u0022date-display-range\u0022\u003E\u003Cspan class=\u0022date-display-start\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-26T13:30:00-05:00\u0022\u003E1:30pm\u003C\/span\u003E to \u003Cspan class=\u0022date-display-end\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-26T15:30:00-05:00\u0022\u003E3:30pm\u003C\/span\u003E\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E \u003C\/td\u003E\n \u003Ctd class=\u0022views-field views-field-title views-align-left eventtitle\u0022 \u003E\n \u003Cdiv class=\u0022eventtitle\u0022\u003EPlumbing Examiners Board Meeting\u003C\/div\u003E\u003Cdiv class=\u0022meeting_minutes_agenda\u0022\u003E\u003Ca href=\u0022http:\/\/www.dph.illinois.gov\/sites\/default\/files\/events\/meeting-agenda\/plumbing-examiners-board-meeting\/agenda32619plumbing-examiners-board-meeting.pdf\u0022\u003EMeeting Agenda\u003C\/a\u003E\u0026nbsp;\u0026nbsp;\u0026nbsp;\u003C\/div\u003E\u003Cdiv class=\u0022event_description\u0022\u003E\u003Cp\u003ESpringfield Plumbers \u0026amp; Steamfitters\u003Cbr \/\u003E\n2880 E. Cook Street\u003Cbr \/\u003E\nSpringfield, IL 62703\u003C\/p\u003E\n\u003Cp\u003EInterested persons should contact the Plumbing Consultant at 217-524-0791.\u003C\/p\u003E\n\u003C\/div\u003E\n\u003Cspan class=\u0022add_title\u0022\u003EAdditional Materials: None\u003C\/span\u003E\u003C\/div\u003E\n \u003C\/td\u003E\n \u003Ctr\u003E\u003Ctd colspan=\u00222\u0022 height=\u002230\u0022\u003E\u0026nbsp;\u003C\/td\u003E\u003C\/tr\u003E\n \u003C\/tr\u003E\n \u003Ctr class=\u0022eventspage\u0022\u003E\n \u003Ctd class=\u0022eventday\u0022 \u003E\n \u003Cdiv class=\u0022start_month\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-27T10:00:00-05:00\u0022\u003EMar\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_date_only\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-27T10:00:00-05:00\u0022\u003E27\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_day\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-27T10:00:00-05:00\u0022\u003EWed\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022start_end_time\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-27T10:00:00-05:00\u0022\u003E10:00AM\u003C\/span\u003E \u003Cbr\/\u003Eto\u003Cbr\/\u003E \u003Cspan class=\u0022date-display-single\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-27T10:00:00-05:00\u0022\u003E12:00PM\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv class=\u0022addtocaldates\u0022\u003E\u003Cspan class=\u0022date-display-single\u0022\u003EMarch 27, 2019 - \u003Cspan class=\u0022date-display-range\u0022\u003E\u003Cspan class=\u0022date-display-start\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-27T10:00:00-05:00\u0022\u003E10:00am\u003C\/span\u003E to \u003Cspan class=\u0022date-display-end\u0022 property=\u0022dc:date\u0022 datatype=\u0022xsd:dateTime\u0022 content=\u00222019-03-27T12:00:00-05:00\u0022\u003E12:00pm\u003C\/span\u003E\u003C\/span\u003E\u003C\/span\u003E\u003C\/div\u003E \u003C\/td\u003E\n \u003Ctd class=\u0022views-field views-field-title views-align-left eventtitle\u0022 \u003E\n \u003Cdiv class=\u0022eventtitle\u0022\u003EHospital Licensing Board\u003C\/div\u003E\u003Cdiv class=\u0022meeting_minutes_agenda\u0022\u003E\u003C\/div\u003E\u003Cdiv class=\u0022event_cancelled\u0022\u003ECancelled\u003C\/div\u003E\u003Cdiv class=\u0022event_description\u0022\u003E\u003Cp\u003E\u003Cem\u003ERescheduled from February 19, 2019\u003C\/em\u003E\u003C\/p\u003E\n\u003Cp\u003EMeeting has been\u003Cstrong\u003E \u003Cu\u003ECANCELLED\u003C\/u\u003E \u003C\/strong\u003Edue to lack of Quorum\u003C\/p\u003E\n\u003Cp\u003EVIDEO CONFERENCE\u003Cbr \/\u003E\n525 W. Jefferson St., 4th Floor Video Conference Room, Springfield, IL\u003Cbr \/\u003E\n69 W. Washington, 35\u003Csup\u003Eth\u003C\/sup\u003E Floor, Director Conf Rm, Chicago, IL\u003Cbr \/\u003E\nMarion Regional Office, 2309 W. Main St., Marion\u003Cbr \/\u003E\n245 S. Roosevelt Rd., Bldg 5, W. Chicago\u003C\/p\u003E\n\u003Cp\u003E10:00 a.m. \u2013 12:00 p.m.\u003Cbr \/\u003E\nI\u003Cbr \/\u003E\nnterested persons may contact Elaine Huddleston in the Office of Health Care Regulations, Division of Health Care Facilities and Programs at \u003Cstrong\u003E217-782-0483.\u003C\/strong\u003E\u003C\/p\u003E\n\u003C\/div\u003E\n\u003Cspan class=\u0022add_title\u0022\u003EAdditional Materials:\u003Cbr\/\u003E\u003C\/span\u003E\u003Cdiv class=\u0022addl_materials\u0022\u003E\u003Cspan class=\u0022file\u0022\u003E\u003Cimg class=\u0022file-icon\u0022 alt=\u0022PDF icon\u0022 title=\u0022application\/pdf\u0022 src=\u0022\/modules\/file\/icons\/application-pdf.png\u0022 \/\u003E \u003Ca href=\u0022http:\/\/www.dph.illinois.gov\/sites\/default\/files\/events\/addl-materials\/hospital-licensing-board\/hlb-meeting-cancellation-notice-3-27-19.pdf\u0022 type=\u0022application\/pdf; length=29434\u0022\u003Ehlb-meeting-cancellation-notice-3-27-19.pdf\u003C\/a\u003E\u003C\/span\u003E\u003C\/div\u003E\u003C\/div\u003E\n \u003C\/td\u003E\n \u003Ctr\u003E\u003Ctd colspan=\u00222\u0022 height=\u002230\u0022\u003E\u0026nbsp;\u003C\/td\u003E\u003C\/tr\u003E\n \u003C\/tr\u003E\n \u003C\/tbody\u003E\n\u003C\/table\u003E\n \u003C\/div\u003E\n \n \n \n \n \n \n\u003C\/div\u003E","settings":null}] \ No newline at end of file diff --git a/tests/test_il_public_health.py b/tests/test_il_public_health.py deleted file mode 100644 index 1c721a046..000000000 --- a/tests/test_il_public_health.py +++ /dev/null @@ -1,130 +0,0 @@ -from datetime import datetime -from os.path import dirname, join - -import pytest -from city_scrapers_core.constants import ADVISORY_COMMITTEE, PASSED -from city_scrapers_core.utils import file_response -from freezegun import freeze_time -from scrapy.settings import Settings - -from city_scrapers.spiders.il_public_health import IlPublicHealthSpider - -test_response = file_response( - join(dirname(__file__), "files", "il_public_health.json"), - url=( - "http://www.dph.illinois.gov/views/ajax?view_name=events&view_display_id=page&view_args=2019/03&page=0" # noqa - ), -) -spider = IlPublicHealthSpider() -spider.settings = Settings(values={"CITY_SCRAPERS_ARCHIVE": False}) - -freezer = freeze_time("2019-09-10") -freezer.start() - -parsed_items = [item for item in spider.parse(test_response)] - -freezer.stop() - - -def test_count(): - assert len(parsed_items) == 10 - - -def test_title(): - assert parsed_items[0]["title"] == "Trauma Advisory Council" - - -def test_description(): - assert ( - parsed_items[1]["description"] - == """Downers Grove -VIA VIDEOCONFERENCE AT: -Illinois College of Emergency Physicians, 3000 Woodcreek Dr., Suite #200, Downers Grove, IL -IDPH Bell Building Conference Room, 422 S. 5 -th -Street, 3 -rd -Floor, Springfield, IL -Illinois Central College (ICC), One College Drive, East Peoria, IL -Unity Point Health-Trinity, 2701 17 -th -St., 3 -rd -Floor, Rock Island, IL -Memorial Hospital – Belleville, 4550 Memorial Drive, Belleville, IL -Interested persons may contact the Division of EMS and Highway Safety at -217-785-2080 -.""" # noqa - ) - assert ( - parsed_items[-1]["description"] - == """Rescheduled from February 19, 2019 -Meeting has been - -CANCELLED - -due to lack of Quorum -VIDEO CONFERENCE -525 W. Jefferson St., 4th Floor Video Conference Room, Springfield, IL -69 W. Washington, 35 -th -Floor, Director Conf Rm, Chicago, IL -Marion Regional Office, 2309 W. Main St., Marion -245 S. Roosevelt Rd., Bldg 5, W. Chicago -10:00 a.m. – 12:00 p.m. -I -nterested persons may contact Elaine Huddleston in the Office of Health Care Regulations, Division of Health Care Facilities and Programs at -217-782-0483.""" # noqa - ) - - -def test_start(): - assert parsed_items[0]["start"] == datetime(2019, 3, 7, 11, 0) - - -def test_end(): - assert parsed_items[0]["end"] == datetime(2019, 3, 7, 12, 30) - - -def test_time_notes(): - assert parsed_items[0]["time_notes"] == "" - - -def test_id(): - assert ( - parsed_items[0]["id"] - == "il_public_health/201903071100/x/trauma_advisory_council" - ) - - -def test_status(): - assert parsed_items[0]["status"] == PASSED - - -def test_location(): - assert parsed_items[-1]["location"] == { - "name": "", - "address": "69 W. Washington, 35\nth\nFloor, Director Conf Rm, Chicago, IL", - } - - -def test_source(): - assert parsed_items[0]["source"] == "http://www.dph.illinois.gov/events/" - - -def test_links(): - assert parsed_items[0]["links"] == [ - { - "href": "http://www.dph.illinois.gov/sites/default/files/events/meeting-agenda/trauma-advisory-council/trauma-advisory-council-agenda-3719.pdf", # noqa - "title": "Meeting Agenda", - } - ] - - -def test_classification(): - assert parsed_items[0]["classification"] == ADVISORY_COMMITTEE - - -@pytest.mark.parametrize("item", parsed_items) -def test_all_day(item): - assert item["all_day"] is False