def duplicate_data_criteria(data_criteria, parent_id)
      
      if (data_criteria.is_a? HQMF::Converter::SimpleDataCriteria and data_criteria.precondition_id == parent_id)
        new_data_criteria = data_criteria
      else
        new_data_criteria = HQMF::Converter::SimpleDataCriteria.from_data_criteria(data_criteria)
        new_data_criteria.assign_precondition(parent_id)
        @v2_data_criteria << new_data_criteria
        # we want to delete the original for data criteria that have been duplicated
        @v2_data_criteria_to_delete[data_criteria.id] = true if !@v2_data_criteria_to_delete.keys.include? data_criteria.id
      end
      
      new_data_criteria
    end
def duplicate_data_criteria(data_criteria, parent_id)
      
      if (data_criteria.is_a? HQMF::Converter::SimpleDataCriteria and data_criteria.precondition_id == parent_id)
        new_data_criteria = data_criteria
      else
        new_data_criteria = HQMF::Converter::SimpleDataCriteria.from_data_criteria(data_criteria)
        new_data_criteria.assign_precondition(parent_id)
        @v2_data_criteria << new_data_criteria
        # we want to delete the original for data criteria that have been duplicated
        @v2_data_criteria_to_delete[data_criteria.id] = true if !@v2_data_criteria_to_delete.keys.include? data_criteria.id
      end
      
      new_data_criteria
    end
duplicates a data criteria.  This is important because we may be modifying source data criteria like patient characteristic birthdate to add restrictions
 the restrictions added may be different for the numerator, denominator, different IPP_1, IPP_2, etc.