docs: def diff_boolean(self, df, column_name=None, uuid=None, duration=True, min_event_filter='3 hours'):
          """ takes the dataframe of missing values, and returns a dataframe that indicates the 
          length of each event where data was continuously missing
  
          Parameters
          ----------
          df                  : pd.DataFrame()
              Dataframe to check for missing data (must be in boolean format where 1 indicates missing data. 
          column_name         : str
              the original column name produced by MDAL Query
          uuid                : str
              the uuid associated with the meter, if known
          duration            : bool
              If True, the duration will be displayed in the results. If false the column will be dropped.
          min_event_filter    : str
              Filters out the events that are less than the given time period
  
          Returns
          -------
          pd.DataFrame()
              dataframe with the start time of the event (as the index),
          end time of the event (first time when data is reported)
  
          """
  
          if uuid == None:
              uuid = 'End'
  
          data_gaps = df[(df.diff() == 1) | (df.diff() == -1)].dropna()
          data_gaps["duration"] = abs(data_gaps.index.to_series().diff(periods=-1))
  
          data_gaps[uuid] = data_gaps.index + (data_gaps["duration"])
  
          data_gaps = data_gaps[data_gaps["duration"] > pd.Timedelta(min_event_filter)]
          data_gaps = data_gaps[data_gaps[column_name] == 1]
          data_gaps.pop(column_name)
          if not duration:
              data_gaps.pop('duration')
          data_gaps.index = data_gaps.index.strftime(date_format="%Y-%m-%d %H:%M:%S")
          data_gaps[uuid] = data_gaps[uuid].dt.strftime(date_format="%Y-%m-%d %H:%M:%S")
  
          return data_gaps