code: def parse_subcomponent(text, name=None, datatype='ST', version=None, validation_level=None):
      
      version = _get_version(version)
      validation_level = _get_validation_level(validation_level)
  
      return SubComponent(name=name, datatype=datatype, value=text, version=version,
                          validation_level=validation_level)
docs: Parse the given ER7-encoded component and return an instance of
      :class:`SubComponent <hl7apy.core.SubComponent>`.
  
      :type text: ``str``
      :param text: the ER7-encoded string containing the subcomponent data
  
      :type name: ``str``
      :param name: the subcomponent's name (e.g. XPN_2)
  
      :type datatype: ``str``
      :param datatype: the datatype of the subcomponent (e.g. ST)
  
      :type version: ``str``
      :param version: the HL7 version (e.g. "2.5"), or ``None`` to use the default
          (see :func:`set_default_version <hl7apy.set_default_version>`)
  
      :type validation_level: ``int``
      :param validation_level: the validation level. Possible values are those defined in
          :class:`VALIDATION_LEVEL <hl7apy.consts.VALIDATION_LEVEL>` class or ``None`` to use the default
          validation level (see :func:`set_default_validation_level <hl7apy.set_default_validation_level>`)
  
      :return: an instance of :class:`SubComponent <hl7apy.core.SubComponent>`