def detect_criteria_covered_by_criteria(data_criteria, check_criteria)
      base_checks = true

      # Check whether basic features are the same
      base_checks &&= data_criteria.definition == check_criteria.definition # same definition
      base_checks &&= data_criteria.status == check_criteria.status # same status
      # same children
      base_checks &&= data_criteria.children_criteria.sort.join(',') == check_criteria.children_criteria.sort.join(',')
      # Ensure it doesn't contain basic elements that should not be removed
      base_checks &&= !data_criteria.variable # Ensure it's not a variable
      base_checks &&= data_criteria.derivation_operator.nil? # Ensure it doesn't have a derivation operator
      base_checks &&= data_criteria.subset_operators.empty? # Ensure it doesn't have a subset operator
      # Ensure it doesn't have Temporal References
      base_checks &&= data_criteria.temporal_references.nil? || data_criteria.temporal_references.empty?

      base_checks && complex_coverage(data_criteria, check_criteria)
    end
def detect_criteria_covered_by_criteria(data_criteria, check_criteria)
      base_checks = true

      # Check whether basic features are the same
      base_checks &&= data_criteria.definition == check_criteria.definition # same definition
      base_checks &&= data_criteria.status == check_criteria.status # same status
      # same children
      base_checks &&= data_criteria.children_criteria.sort.join(',') == check_criteria.children_criteria.sort.join(',')
      # Ensure it doesn't contain basic elements that should not be removed
      base_checks &&= !data_criteria.variable # Ensure it's not a variable
      base_checks &&= data_criteria.derivation_operator.nil? # Ensure it doesn't have a derivation operator
      base_checks &&= data_criteria.subset_operators.empty? # Ensure it doesn't have a subset operator
      # Ensure it doesn't have Temporal References
      base_checks &&= data_criteria.temporal_references.nil? || data_criteria.temporal_references.empty?

      base_checks && complex_coverage(data_criteria, check_criteria)
    end
Check if one data criteria contains the others information by checking that one has everything the other has
 (or more)