                      |> CSVParser.parse_stream(headers: :false)
                      |> Stream.with_index
                      |> Stream.transform(:header, &(clean_meeting_row &1, &2, file_metadata))
-                     |> Stream.reject(&invalid_meetings_row?/1)
+                     |> Stream.filter(&MeetingRow.is_valid?/1)
 
     new_metadata = Map.put(file_metadata, :rows, processed_rows)
     {:ok, new_metadata}


  defmodule MeetingRow do
    defstruct minister: :nil, start_date: :nil, end_date: :nil, organisations: :nil, reason: "", row: 0
  end



  def clean_file(file_metadata) do
    {:error, :unsupported_data_type, file_metadata}
  end


  defp clean_meeting_row(row, :header, _file_metadata) do
