code: def get_validation_col_names(df):
      
      value_cols = df.columns.str.match("^value_pass_")
      present_cols = df.columns.str.match("^presence_pass")
      type_cols = df.columns.str.match("^type_pass_")
      groups_missing = df.columns.str.match("^group_pass_")
      #
      value_col_names = df.columns[value_cols]
      present_col_names = df.columns[present_cols]
      type_col_names = df.columns[type_cols]
      group_missing_names = df.columns[groups_missing]
      #
      # all validation columns
      validation_cols = np.where(value_cols, value_cols, present_cols)
      validation_cols = np.where(validation_cols, validation_cols, type_cols)
      validation_col_names = df.columns[validation_cols]
      return value_col_names, present_col_names, type_col_names, group_missing_names, validation_col_names
docs: Input: validated pandas DataFrame (using validate_df)
      Output: names of all value validation columns,
              names of all presence validation columns,
              names of all type validation columns,
              names of all missing group columns,
              names of all validation columns (excluding groups).