def init_response_attributes(self, etree):
        try:
            status_code = etree.xpath(
                '//ns5:StatusCode', namespaces={'ns5': self.ns_namespace}
            )[0].attrib['Value']
        except (IndexError, KeyError, lxml.etree.XMLSchemaError) as e:
            raise ResponseParseError(
                'Cannot parse status response: %s. Response content: %s'
                % (e, lxml.etree.tostring(etree))
            )
        self.status = Statuses.map(status_code)

        try:
            civil_number_tag = etree.xpath(
                '//ns4:UserIdentifier', namespaces={'ns4': self.ns_namespace}
            )[0]
        except IndexError:
            # civil number tag does not exist - this is possible if request is still processing
            return
        else:
            try:
                self.civil_number = civil_number_tag.text.split('=')[1]
            except IndexError:
                raise ResponseParseError(
                    'Cannot get civil_number from tag text: %s' % civil_number_tag.text
                )