docs: def ipi_base_number(name=None):
      """
      IPI Base Number field.
  
      An IPI Base Number code written on a field follows the Pattern
      C-NNNNNNNNN-M. This being:
      - C: header, a character.
      - N: numeric value.
      - M: control digit.
  
      So, for example, an IPI Base Number code field can contain I-000000229-7.
  
      :param name: name for the field
      :return: a parser for the IPI Base Number field
      """
  
      if name is None:
          name = 'IPI Base Number Field'
  
      field = pp.Regex('I-[0-9]{9}-[0-9]')
  
      # Name
      field.setName(name)
  
      field_num = basic.numeric(13)
      field_num.setName(name)
  
      field = field | field_num
  
      # White spaces are not removed
      field.leaveWhitespace()
  
      return field.setResultsName('ipi_base_n')