def METHOD_NAME(self, response):
    """
    `parse` should always `yield` Meeting items.
    Change the `_parse_title`, `_parse_start`, etc methods to fit your scraping
    needs.
    """
    self._validate_location(response)
    cancel_date = None
    for header in response.css(".field-items h2::text, .field-items h3::text"):
        header_text = header.extract()
        if header_text and "cancel" in header_text.lower():
            cancel_date = self._parse_date(header_text)
    # Parse default start and end time from description text
    default_start_time, default_end_time = self._parse_times(
        " ".join(response.css(".field-items p:not([align])::text").extract())
    )
    for date_item in response.css(".field-items p[align='center']"):
        date_str = " ".join(date_item.css("*::text").extract())
        date_obj = self._parse_date(date_str)
        if not date_obj:
            continue
        start_time, end_time = self._parse_times(date_str)
        meeting = Meeting(
            title="Medical Examiner's Advisory Committee",
            description="",
            classification=ADVISORY_COMMITTEE,
            start=self._parse_start(date_obj, start_time or default_start_time),
            end=self._parse_end(date_obj, end_time or default_end_time),
            time_notes="",
            all_day=False,
            location=self.location,
            links=[],
            source=response.url,
        )
        meeting["status"] = self._parse_status(
            meeting, date_str, date_obj, cancel_date
        )
        meeting["id"] = self._get_id(meeting)
        yield meeting