Данные LEI Управление качеством данных GLEIF

Подробности проверок качества данных



В настоящий момент для следующих проверок разрабатывается Определение правил, применимое для создания отчетов о качестве данных.
Определение правил также доступно в формате PDF или Excel.

Legal name is plausible

Precondition:

* lei:RegistrationStatus NOT IN ['ANNULLED']

Condition:

* lei:LegalName $PRESENT * lei:LegalName NOT IN $CASE_INSENSITIVE(['NOT AVAILABLE', 'N.A.', 'N/A']) * lei:LegalName NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER

Ensure LEI code is ISO 17442 compliant

Precondition:

* lei:RegistrationStatus IN ['ISSUED', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL'] * lei:InitialRegistrationDate >= $DATETIME('2016-07-07T00:00:00+00:00')

Condition:

* lei:LEI $ISO_17442_COMPLIANT

Ensure appropriate code in legal address region

Precondition:

* lei:LegalAddress/lei:Region $PRESENT * lei:RegistrationStatus $MUTABLE

Condition:

* lei:LegalAddress/lei:Region IN $ISO_3166_2

Ensure appropriate code in legal address country

Precondition:

* lei:RegistrationStatus $MUTABLE

Condition:

* lei:LegalAddress/lei:Country IN ['XK', $ISO_3166_1_ALPHA_2]

Ensure compliance with GLEIF Accepted Legal Jurisdictions Code List

Precondition:

* lei:RegistrationStatus $MUTABLE

Condition:

* lei:LegalJurisdiction IN $GLEIF_ACCEPTED_LEGAL_JURISDICTIONS

Ensure internal registration statuses are not published

Precondition:

Condition:

* lei:RegistrationStatus NOT IN ['PENDING_VALIDATION', 'CANCELLED', 'TRANSFERRED']

Record has plausible renewal date

Precondition:

* lei:RegistrationStatus IN ['ISSUED']

Condition:

* lei:NextRenewalDate + $TIME_INTERVAL('1 D') >= leiFileHeader:ContentDate * lei:NextRenewalDate

Verify plausibility of dates for the record

Precondition:

* lei:RegistrationStatus NOT IN ['ANNULLED']

Condition:

* leiFileHeader:ContentDate >= lei:LastUpdateDate * lei:LastUpdateDate >= lei:InitialRegistrationDate

Appropriate setting of next renewal date of the record

Precondition:

* lei:RegistrationStatus NOT IN ['ANNULLED']

Condition:

* lei:NextRenewalDate > lei:InitialRegistrationDate

Ensure DUPLICATE records have at least one successor LEI

Precondition:

* lei:RegistrationStatus IN ['DUPLICATE']

Condition:

* lei:SuccessorLEI $PRESENT

Avoid uniqueness violations outside of transfers

Precondition:

* $COUNT(lei:LEI) > 1

Condition:

* $COUNT(lei:LEI) == 2 * FOR lei:LEI: * leiFileHeader:Originator $UNIQUE * IF RUT lei:RegistrationStatus IN ['PENDING_TRANSFER', 'PENDING_ARCHIVAL']: * $REFERRED_RECORD lei:RegistrationStatus NOT IN ['PENDING_TRANSFER', 'PENDING_ARCHIVAL'] * IF RUT lei:RegistrationStatus NOT IN ['PENDING_TRANSFER', 'PENDING_ARCHIVAL']: * $REFERRED_RECORD lei:RegistrationStatus IN ['PENDING_ARCHIVAL']

Validate SuccessorLEI

Precondition:

* lei:RegistrationStatus NOT IN ['ANNULLED'] * FOR lei:SuccessorLEI: * lei:SuccessorLEI $PRESENT

Condition:

* lei:SuccessorLEI $VALID

Ensure record is managed by an accredited LEI Issuer

Precondition:

* lei:RegistrationStatus NOT IN ['ANNULLED']

Condition:

* lei:ManagingLOU $LEI_ISSUER

Ensure correct registration statuses for active entities

Precondition:

* lei:EntityStatus IN ['ACTIVE']

Condition:

* lei:RegistrationStatus $MUTABLE

Check ManagingLOU equals Originator of the file

Precondition:

Condition:

* lei:ManagingLOU $EQUALS leiFileHeader:Originator

Inactive entities have correct registration status

Precondition:

* lei:RegistrationStatus NOT IN ['PENDING_TRANSFER','PENDING_ARCHIVAL'] * lei:EntityStatus IN ['INACTIVE']

Condition:

* lei:RegistrationStatus IN ['RETIRED']

Ultimate parent has correct relationship information

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * $COUNT($REPORTED_CHILD_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED']

Condition:

* $COUNT($REPORTED_RELATIONSHIPS) == 0 WITH: * rr:RegistrationStatus $MUTABLE * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionReason IN ['NATURAL_PERSONS', 'NON_CONSOLIDATING', 'NO_KNOWN_PERSON'] * repex:ExceptionCategory IN ['DIRECT_ACCOUNTING_CONSOLIDATION_PARENT'] * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionReason IN ['NATURAL_PERSONS', 'NON_CONSOLIDATING', 'NO_KNOWN_PERSON'] * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT']

Reporting exceptions are distinct and without concurrent relationship records

Precondition:

* $COUNT($REPORTED_EXCEPTIONS) > 0

Condition:

FOR $REPORTED_EXCEPTIONS: * repex:ExceptionCategory $UNIQUE * IF repex:ExceptionCategory IN ['DIRECT_ACCOUNTING_CONSOLIDATION_PARENT']: * $COUNT($REPORTED_RELATIONSHIPS) == 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED','LAPSED']: * rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY'] * IF repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * $COUNT($REPORTED_RELATIONSHIPS) == 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED','LAPSED']: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY']

Provide complete, distinct parent information for non-branches

Precondition:

* lei:EntityCategory NOT IN ['BRANCH'] * lei:RegistrationStatus IN ['ISSUED']

Condition:

* FOR $REPORTED_DIRECT_PARENT_INFO: * $COUNT($REPORTED_EXCEPTIONS) == 1 OR * $COUNT($REPORTED_RELATIONSHIPS) == 1 WITH: * rr:RegistrationStatus IN ['PUBLISHED'] * FOR $REPORTED_ULTIMATE_PARENT_INFO: * $COUNT($REPORTED_EXCEPTIONS) == 1 OR * $COUNT($REPORTED_RELATIONSHIPS) == 1 WITH: * rr:RegistrationStatus IN ['PUBLISHED']

Published relationships point to an appropriate parent

Precondition:

* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED']

Condition:

* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS WITH: * lei:LEI NOT $EQUALS rr:EndNode/rr:NodeID: * rr:EndNode/rr:NodeID $VALID * lei:RegistrationStatus $MUTABLE * FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS WITH: * lei:LEI $EQUALS rr:EndNode/rr:NodeID: * rr:RelationshipType IN ['IS_FUND-MANAGED_BY']

Validation reference is provided for public regulatory filiings

Precondition:

* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:ValidationDocuments IN ['REGULATORY_FILING'] * rr:ValidationSources IN ['FULLY_CORROBORATED', 'PARTIALLY_CORROBORATED']

Condition:

* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * rr:ValidationReference $PRESENT

Ensure correct period dates of retired relationships

Precondition:

* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus IN ['RETIRED']

Condition:

* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $COUNT(rr:RelationshipPeriod) > 0 WITH: * rr:PeriodType IN ['RELATIONSHIP_PERIOD'] * rr:StartDate $PRESENT * rr:EndDate $PRESENT * IF rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY','IS_ULTIMATELY_CONSOLIDATED_BY']: * $COUNT(rr:RelationshipPeriod) > 0 WITH: * rr:PeriodType IN ['ACCOUNTING_PERIOD'] * IF $COUNT(rr:RelationshipPeriod) > 0 WITH: * rr:PeriodType IN ['ACCOUNTING_PERIOD']: * rr:StartDate $PRESENT * rr:EndDate $PRESENT

Relationship status is correct when parent record is inactive

Precondition:

* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus NOT IN ['DUPLICATE', 'ANNULLED', 'PENDING_ARCHIVAL', 'PENDING_TRANSFER'] * $END_NODE_RECORD lei:RegistrationStatus IN ['RETIRED']

Condition:

* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * rr:RelationshipStatus IN ['INACTIVE']

Ensure relationship status is correct when child record is inactive

Precondition:

* lei:RegistrationStatus IN ['RETIRED'] * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus NOT IN ['DUPLICATE', 'ANNULLED']

Condition:

* rr:RelationshipStatus IN ['INACTIVE']

Verify plausibility of relationship period dates

Precondition:

* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipPeriod/rr:StartDate $PRESENT * rr:RelationshipPeriod/rr:EndDate $PRESENT

Condition:

* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * rr:RelationshipPeriod/rr:StartDate

Ensure valid connection between relationship and registration statuses

Precondition:

* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipStatus IN ['INACTIVE']

Condition:

* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * rr:RegistrationStatus IN ['RETIRED', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL']

Avoid redundancy in legal address and addresses in alternative languages

Precondition:

* lei:OtherAddress@type IN ['ALTERNATIVE_LANGUAGE_LEGAL_ADDRESS']

Condition:

* FOR ALL-APPLICABLE lei:OtherAddress: * lei:OtherAddress@lang $PRESENT * lei:OtherAddress@lang NOT $EQUALS lei:LegalAddress@lang * lei:OtherAddress NOT $EQUALS_NORMALIZED lei:LegalAddress * FOR FIELD IN [lei:FirstAddressLine, lei:AdditionalAddressLine{0,3}, lei:AddressNumber, lei:AddressNumberWithinBuilding, lei:MailRouting, lei:City, lei:PostalCode]: * lei:OtherAddress NOT $EQUALS_NORMALIZED FIELD

Avoid redundancy in headquarters address and addresses in alternative languages

Precondition:

* lei:OtherAddress@type IN ['ALTERNATIVE_LANGUAGE_HEADQUARTERS_ADDRESS']

Condition:

* FOR ALL-APPLICABLE lei:OtherAddress: * lei:OtherAddress@lang $PRESENT * lei:OtherAddress@lang NOT $EQUALS lei:HeadquartersAddress@lang * lei:OtherAddress NOT $EQUALS_NORMALIZED lei:HeadquartersAddress * FOR FIELD IN [lei:FirstAddressLine, lei:AdditionalAddressLine{0,3}, lei:AddressNumber, lei:AddressNumberWithinBuilding, lei:MailRouting, lei:City, lei:PostalCode]: * lei:OtherAddress $UNIQUE

No validation information is provided for self-supplied entities

Precondition:

* lei:ValidationAuthority $PRESENT * lei:ValidationSources $PRESENT * lei:ValidationSources IN ['ENTITY_SUPPLIED_ONLY'] * lei:ValidationAuthorityID NOT IN ['RA888888']

Condition:

* lei:ValidationAuthorityID IN ['RA999999'] * lei:ValidationAuthorityEntityID NOT $PRESENT

Ensure complete relationship periods with start date for active entities

Precondition:

* lei:EntityStatus IN ['ACTIVE'] * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus NOT IN ['ANNULLED', 'DUPLICATE']

Condition:

* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $COUNT(rr:RelationshipPeriod) >= 1 WITH: * rr:PeriodType IN ['RELATIONSHIP_PERIOD'] * rr:StartDate $PRESENT * IF rr:ValidationDocuments IN ['REGULATORY_FILING']: * $COUNT(rr:RelationshipPeriod) > 0 WITH: * rr:PeriodType IN ['DOCUMENT_FILING_PERIOD'] * rr:StartDate $PRESENT * IF rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY', 'IS_ULTIMATELY_CONSOLIDATED_BY']: * $COUNT(rr:RelationshipPeriod) > 0 WITH: * rr:PeriodType IN ['ACCOUNTING_PERIOD'] * rr:StartDate $PRESENT

Ensure relationship's registration status is correct when child record lapses

Precondition:

* lei:RegistrationStatus IN ['LAPSED'] * $COUNT($REPORTED_RELATIONSHIPS) > 0

Condition:

FOR $REPORTED_RELATIONSHIPS: * rr:RegistrationStatus IN ['LAPSED'] OR * rr:RegistrationStatus $IMMUTABLE

Assert record and relationships share renewal cycle

Precondition:

* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipStatus IN ['ACTIVE'] * rr:RegistrationStatus $MUTABLE

Condition:

* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * rr:NextRenewalDate $PRESENT * rr:NextRenewalDate - lei:NextRenewalDate

Ensure child LEI and relationship records are managed by the same LEI issuer

Precondition:

* lei:RegistrationStatus NOT IN ['PENDING_TRANSFER', 'PENDING_ARCHIVAL'] * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus NOT IN ['PENDING_TRANSFER', 'PENDING_ARCHIVAL']

Condition:

* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * lei:ManagingLOU $EQUALS rr:ManagingLOU

Ensure relationship's registration status is correct when child record is invalid

Precondition:

* lei:RegistrationStatus IN ['DUPLICATE', 'ANNULLED']

Condition:

* rr:RegistrationStatus IN ['ANNULLED']

Ensure relationship's registration status is correct when parent record is invalid

Precondition:

* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * $END_NODE_RECORD lei:RegistrationStatus IN ['DUPLICATE', 'ANNULLED']

Condition:

* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * rr:RegistrationStatus IN ['ANNULLED']

Provide appropriate periods for relationships

Precondition:

* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus NOT IN ['ANNULLED', 'DUPLICATE']

Condition:

* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $COUNT(rr:RelationshipPeriod) >= 1 WITH: * rr:PeriodType IN ['RELATIONSHIP_PERIOD'] * IF rr:ValidationDocuments IN ['REGULATORY_FILING']: * $COUNT(rr:RelationshipPeriod) >= 1 WITH: * rr:PeriodType IN ['DOCUMENT_FILING_PERIOD'] * IF rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY', 'IS_ULTIMATELY_CONSOLIDATED_BY']: * $COUNT(rr:RelationshipPeriod) >= 1 WITH: * rr:PeriodType IN ['ACCOUNTING_PERIOD']

Ensure correct transfer statuses for relationship records

Precondition:

* lei:RegistrationStatus IN ['PENDING_TRANSFER', 'PENDING_ARCHIVAL'] * $COUNT($REPORTED_RELATIONSHIPS) > 0

Condition:

* FOR $REPORTED_RELATIONSHIPS: * rr:RegistrationStatus $EQUALS lei:RegistrationStatus

Ensure previous and trading names are unique

Precondition:

* lei:OtherEntityName $PRESENT * lei:OtherEntityNameType IN ['TRADING_OR_OPERATING_NAME']

Condition:

* FOR ALL-APPLICABLE lei:OtherEntityName: * lei:OtherEntityName NOT $EQUALS lei:LegalName * lei:OtherEntityName $UNIQUE

Avoid duplication of validation authority

Precondition:

* lei:OtherValidationAuthorities $PRESENT * lei:ValidationAuthority/lei:ValidationAuthorityID NOT IN ['RA000466']

Condition:

* lei:ValidationAuthority $PRESENT * FOR lei:OtherValidationAuthority: * lei:OtherValidationAuthority/lei:ValidationAuthorityID NOT $EQUALS lei:ValidationAuthority/lei:ValidationAuthorityID

Valid connection between relationship and registration statuses

Precondition:

* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipStatus IN ['ACTIVE']

Condition:

* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * rr:RegistrationStatus $MUTABLE

Ensure RA code corresponds to legal jurisdiction

Precondition:

* lei:RegistrationStatus $MUTABLE * lei:RegistrationAuthority $PRESENT * lei:RegistrationAuthorityID IN $RA_CODE_LIST * lei:EntityCategory NOT IN ['INTERNATIONAL_ORGANIZATION']

Condition:

* lei:RegistrationAuthorityID IN ['RA777777', 'RA888888', 'RA999999', 'RA000463'] OR * IF lei:EntityCategory NOT IN ['BRANCH']: * $RA_CODE_LIST/CountryCode $EQUALS lei:LegalJurisdiction(country-part) OR * IF lei:EntityCategory IN ['BRANCH']: * $RA_CODE_LIST/CountryCode $EQUALS lei:LegalAddress/Country

Ensure the entity's register number has the expected local format

Precondition:

* lei:RegistrationStatus $MUTABLE * lei:RegistrationAuthority $PRESENT * lei:RegistrationAuthorityID IN $RA_FORMAT_LIST/registration_authority * lei:RegistrationAuthorityEntityID $PRESENT

Condition:

* lei:RegistrationAuthorityEntityID $PATTERN_MATCH $RA_FORMAT_LIST/regex

Ensure local registration identifiers are not repeated

Precondition:

* lei:OtherRegistrationAuthorityID $PRESENT

Condition:

* lei:OtherRegistrationAuthorityID NOT $EQUALS_NORMALIZED lei:RegistrationAuthorityEntityID

Verify expected level of validation for unregistered entities

Precondition:

* lei:RegistrationAuthorityID IN ['RA999999'] * lei:RegistrationStatus $MUTABLE

Condition:

IF lei:ValidationAuthorityID IN ['RA777777']: * lei:ValidationSources IN ['PARTIALLY_CORROBORATED', 'FULLY_CORROBORATED'] OR * lei:ValidationSources IN ['ENTITY_SUPPLIED_ONLY']

Verify expected level of validation for registered entities

Precondition:

* lei:RegistrationAuthorityID NOT IN ['RA888888', 'RA999999', 'RA000413]

Condition:

* lei:ValidationSources IN ['PARTIALLY_CORROBORATED', 'FULLY_CORROBORATED']

Ensure ELF code corresponds to legal jurisdiction

Precondition:

* lei:RegistrationStatus $MUTABLE * lei:LegalJurisdiction $PRESENT * lei:LegalFormCode IN $ELF_CODE_LIST

Condition:

* lei:EntityLegalFormCode IN ['8888', '9999'] OR * $ELF_CODE_LIST/CountryCode $EQUALS lei:LegalJurisdiction OR * $ELF_CODE_LIST/SubDivisionCode $EQUALS lei:LegalJurisdiction

Ensure OtherLegalForm is not in ELF codelist

Precondition:

* lei:RegistrationStatus $MUTABLE * lei:OtherLegalForm $PRESENT

Condition:

* lei:OtherLegalForm NOT IN $ELF_CODE_LIST

Ensure appropriate entity categorization for entities declaring branch relationship

Precondition:

* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus $MUTABLE * rr:RelationshipType IN ['IS_INTERNATIONAL_BRANCH_OF']

Condition:

* lei:EntityCategory IN ['BRANCH']

Only one active relationship of type IS_INTERNATIONAL_BRANCH_OF for Branches

Precondition:

* lei:RegistrationStatus $MUTABLE * $COUNT($REPORTED_RELATIONSHIPS) == 1 WITH: * rr:RegistrationStatus $MUTABLE * $COUNT($REPORTED_EXCEPTIONS) == 0

Condition:

* rr:RelationshipType IN ['IS_INTERNATIONAL_BRANCH_OF']

Ensure branches have expected relationship information

Precondition:

* lei:EntityCategory IN ['BRANCH'] * lei:RegistrationStatus IN ['ISSUED', 'LAPSED']

Condition:

* $COUNT($REPORTED_EXCEPTIONS) == 0 * $COUNT($REPORTED_RELATIONSHIPS) == 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY', 'IS_ULTIMATELY_CONSOLIDATED_BY', 'IS_SUBFUND_OF', 'IS_FUND-MANAGED_BY', 'IS_FEEDER_TO'] * $COUNT($REPORTED_RELATIONSHIPS) == 1 WITH: * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * rr:RelationshipType IN ['IS_INTERNATIONAL_BRANCH_OF']

Ensure there is only one branch per country and it has correct country information

Precondition:

* lei:RegistrationStatus IN ['ISSUED', 'LAPSED'] * $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_INTERNATIONAL_BRANCH_OF'] * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED']

Condition:

* FOR ALL-APPLICABLE $REPORTED_PARENT_RELATIONSHIPS: * rr:EndNode/rr:NodeID $VALID * lei:LegalAddress/lei:Country NOT $EQUALS $END_NODE_RECORD lei:LegalJurisdiction * FOR $START_NODE_RECORD WITH: * RUT rr:EndNode/rr:NodeID $EQUALS REFERRED_RECORD rr:EndNode/rr:NodeID * REFERRED_RECORD rr:RelationshipType IN ['IS_INTERNATIONAL_BRANCH_OF'] * REFERRED_RECORD rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED']: * RUT lei:LegalAddress/lei:Country NOT $EQUALS REFERRED_RECORD lei:LegalAddress/lei:Country

No repetition of legal address postal code in other legal address fields

Precondition:

* lei:LegalAddress/lei:PostalCode $PRESENT

Condition:

* lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:FirstAddressLine * lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:AdditionalAddressLine[1] * lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:AdditionalAddressLine[2] * lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:AdditionalAddressLine[3] * lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:City * lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:AddressNumber * lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:AddressNumberWithinBuilding * lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:MailRouting

No repetition of headquarters address postal code in other headquarters address fields

Precondition:

* lei:HeadquartersAddress/lei:PostalCode $PRESENT

Condition:

* lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:FirstAddressLine * lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:AdditionalAddressLine[1] * lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:AdditionalAddressLine[2] * lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:AdditionalAddressLine[3] * lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:City * lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:AddressNumber * lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:AddressNumberWithinBuilding * lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:MailRouting

Declared ultimate parent meets the requirements for ultimate parents

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * $COUNT($REPORTED_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * FOR $END_NODE_RECORD: * lei:RegistrationStatus NOT IN ['PENDING_TRANSFER','PENDING_ARCHIVAL'] * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus $MUTABLE OR * $COUNT($REPORTED_EXCEPTIONS) > 0

Condition:

FOR $END_NODE_RECORD: * $COUNT($REPORTED_RELATIONSHIPS) == 0 WITH: * rr:RegistrationStatus $MUTABLE * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionReason IN ['NATURAL_PERSONS', 'NON_CONSOLIDATING', 'NO_KNOWN_PERSON'] * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionReason IN ['NATURAL_PERSONS', 'NON_CONSOLIDATING', 'NO_KNOWN_PERSON'] * repex:ExceptionCategory IN ['DIRECT_ACCOUNTING_CONSOLIDATION_PARENT']

Entity identifier is not provided for unregistered entities

Precondition:

* lei:RegistrationAuthorityID IN ['RA999999']

Condition:

* lei:RegistrationAuthorityEntityID NOT $PRESENT

Information on other validation authority is not repeated as validation entity identifier

Precondition:

* lei:OtherValidationAuthorityID $PRESENT

Condition:

* lei:OtherValidationAuthorityID NOT $EQUALS_NORMALIZED lei:ValidationAuthorityEntityID

Information on other validation authority is not repeated as validation authority

Precondition:

* lei:OtherValidationAuthorityID $PRESENT

Condition:

* lei:OtherValidationAuthorityID NOT $EQUALS_NORMALIZED lei:ValidationAuthorityID

Successor information corresponds to the registration status or entity events

Precondition:

* lei:RegistrationStatus NOT IN ['ANNULLED'] * lei:SuccessorEntity $PRESENT

Condition:

* IF lei:SuccessorEntityName $PRESENT: * IF lei:SuccessorLEI NOT $PRESENT: * lei:RegistrationStatus IN ['RETIRED'] OR * IF lei:SuccessorLEI $PRESENT: * lei:RegistrationStatus IN ['RETIRED', 'DUPLICATE'] OR * $COUNT($LEGAL_ENTITY_EVENTS) >= 1 WITH: * lei:LegalEntityEventType IN ['DEMERGER', 'SPINOFF'] * lei:LegalEntityEvent@event_status IN ['COMPLETED']

Ensure valid RA code is included

Precondition:

Condition:

* lei:RegistrationAuthorityID $PRESENT * lei:RegistrationAuthorityID IN $RA_CODE_LIST * lei:RegistrationAuthorityID NOT IN ['RA777777']

Ensure valid ELF code is included

Precondition:

Condition:

* lei:EntityLegalFormCode $PRESENT * lei:EntityLegalFormCode IN $ELF_CODE_LIST * IF lei:RegistrationStatus $MUTABLE: * lei:EntityLegalFormCode IN $ELF_CODE_LIST WITH: * $ELF_CODE_LIST/ELF_STATUS == 'ACTV'

Ensure no duplicate relationship records are introduced

Precondition:

* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus NOT IN ['PENDING_TRANSFER', 'PENDING_ARCHIVAL'] * rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY', 'IS_ULTIMATELY_CONSOLIDATED_BY','IS_SUBFUND_OF','IS_FUND-MANAGED_BY','IS_FEEDER_TO'] * rr:PeriodType IN ['RELATIONSHIP_PERIOD'] WITH: * rr:RelationshipPeriod/rr:StartDate $PRESENT * FOR $REPORTED_RELATIONSHIPS AND $EXISTING_RELATIONSHIPS: * rr:RelationshipPeriods/rr:StartDate $PRESENT

Condition:

* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $COUNT($EXISTING_RELATIONSHIPS) == 0 WITH: * $REPORTED_RELATIONSHIPS rr:Header:Originator NOT $EQUALS $EXISTING_RELATIONSHIPS rr:Header:Originator * FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS WITH: * $EXISTING_RELATIONSHIPS rr:RegistrationStatus IN ['RETIRED', 'ANNULLED', 'DUPLICATE'] * $COUNT($EXISTING_RELATIONSHIPS) == 1 WITH: * $REPORTED_RELATIONSHIPS rr:RelationshipType $EQUALS $EXISTING_RELATIONSHIPS rr:RelationshipType * $REPORTED_RELATIONSHIPS rr:Header:Originator $EQUALS $EXISTING_RELATIONSHIPS rr:Header:Originator * $REPORTED_RELATIONSHIPS rr:EndNode/rr:NodeID $EQUALS $EXISTING_RELATIONSHIPS rr:EndNode/rr:NodeID * $REPORTED_RELATIONSHIPS rr:RelationshipPeriod/rr:StartDate $DATE_PART == $EXISTING_RELATIONSHIPS rr:RelationshipPeriod/rr:StartDate $DATE_PART WITH: * $REPORTED_RELATIONSHIPS rr:PeriodType IN ['RELATIONSHIP_PERIOD'] * $EXISTING_RELATIONSHIPS rr:PeriodType IN ['RELATIONSHIP_PERIOD'] * $EXISTING_RELATIONSHIPS rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * $COUNT($EXISTING_RELATIONSHIPS) == 1 WITH: * $REPORTED_RELATIONSHIPS rr:RelationshipType $EQUALS $EXISTING_RELATIONSHIPS rr:RelationshipType * $REPORTED_RELATIONSHIPS rr:Header:Originator $EQUALS $EXISTING_RELATIONSHIPS rr:Header:Originator * $REPORTED_RELATIONSHIPS rr:EndNode/rr:NodeID $EQUALS $EXISTING_RELATIONSHIPS rr:EndNode/rr:NodeID

Ensure source for corroboration is provided

Precondition:

* lei:RegistrationStatus NOT IN ['ANNULLED'] * lei:ValidationSources $PRESENT * lei:ValidationSources IN ['PARTIALLY_CORROBORATED', 'FULLY_CORROBORATED']

Condition:

* lei:ValidationAuthority $PRESENT * lei:ValidationAuthorityID NOT IN ['RA999999', 'RA888888']

Ensure no validation source is given for uncorroborated records

Precondition:

* lei:RegistrationStatus $MUTABLE * lei:ValidationSources $PRESENT * lei:ValidationSources IN ['ENTITY_SUPPLIED_ONLY']" * lei:ValidationAuthority $PRESENT * lei:ValidationAuthorityID NOT IN ['RA999999', 'RA000413']

Condition:

* lei:ValidationAuthorityID IN ['RA888888']

Ensure consistent validation information based on registration

Precondition:

* lei:RegistrationAuthority $PRESENT * lei:RegistrationAuthorityID NOT IN ['RA777777', 'RA888888', 'RA999999'] * lei:ValidationAuthority $PRESENT

Condition:

* lei:ValidationAuthorityID NOT IN ['RA777777', 'RA888888', 'RA999999']

Ensure consistent register information based on validation

Precondition:

* lei:ValidationAuthority $PRESENT * lei:ValidationAuthorityID NOT IN ['RA777777', 'RA888888', 'RA999999'] * lei:RegistrationAuthority $PRESENT

Condition:

* lei:RegistrationAuthorityID NOT IN ['RA777777', 'RA888888', 'RA999999']

Ensure valid register code is used for validation

Precondition:

Condition:

* lei:ValidationAuthority $PRESENT * lei:ValidationAuthorityID IN $RA_CODE_LIST

Ensure deprecated registration status is not used

Precondition:

* lei:RegistrationStatus NOT IN ['TRANSFERRED', 'PENDING_VALIDATION', 'CANCELLED']

Condition:

* lei:RegistrationStatus NOT IN ['MERGED']

Ensure reasonable combination for parent exceptions

Precondition:

* $COUNT(repex:Exception) >= 1 WITH: * repex:ExceptionReason IN ['NON_CONSOLIDATING', 'NATURAL_PERSONS', 'NO_KNOWN_PERSON'] * $COUNT(repex:Exception)

Condition:

* $COUNT($REPORTED_RELATIONSHIPS) == 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * FOR $REPORTED_EXCEPTIONS WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT', 'DIRECT_ACCOUNTING_CONSOLIDATION_PARENT']: * repex:ExceptionReason IN ['NON_CONSOLIDATING', 'NATURAL_PERSONS', 'NO_KNOWN_PERSON']

Ensure local identifier are provided and plausible

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * lei:EntityCategory NOT IN ['FUND'] * lei:RegistrationAuthorityID $PRESENT * lei:RegistrationAuthorityID NOT IN ['RA888888', 'RA999999', 'RA000018', 'RA000397', 'RA000634', 'RA000704', 'RA000711', 'RA000712', 'RA000722', 'RA000723', 'RA000725', 'RA000727', 'RA000733', 'RA000734', 'RA000736', 'RA000737', 'RA000738', 'RA000739', 'RA000740', 'RA000741', 'RA000742', 'RA000743', 'RA000768', 'RA000769', 'RA000770', 'RA000771', 'RA000772', 'RA000773', 'RA000774', 'RA000775']

Condition:

* lei:RegistrationAuthorityEntityID $PRESENT * lei:RegistrationAuthorityEntityID NOT IN $CASE_INSENSITIVE(['NOT AVAILABLE', 'N.A.', 'N.A', 'N/A', 'N A', 'N.V', 'N.V.', 'N V', 'EXENTO', 'EXENTA', 'NO SUJETO', '0']) * lei:RegistrationAuthorityEntityID NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER

Ensure appropriate combination of corroboration level and legal form is used

Precondition:

* lei:EntityCategory NOT IN ['BRANCH'] * lei:RegistrationStatus $ISSUED * lei:EntityLegalFormCode IN $ELF_CORROBORATION_LIST

Condition:

* FOR $ELF_CORROBORATION_LIST/Corroboration IN ['PARTIALLY_CORROBORATED']: * lei:ValidationSources IN ['PARTIALLY_CORROBORATED', 'FULLY_CORROBORATED'] * FOR $ELF_CORROBORATION_LIST/Corroboration IN ['FULLY_CORROBORATED']: * lei:ValidationSources IN ['FULLY_CORROBORATED']

Entity category sole proprietor is assigned for the appropriate legal forms

Precondition:

* lei:RegistrationStatus $MUTABLE * lei:EntityLegalFormCode IN $SOLE_PROPRIETOR_ELF_CODE_LIST WITH: * $SOLE_PROPRIETOR_ELF_CODE_LIST/is_sole_proprietorship == 'yes'

Condition:

* lei:EntityCategory IN ['SOLE_PROPRIETOR']

Ensure that Entity Legal Form Code is applicable for sole proprietors

Precondition:

* lei:RegistrationStatus $MUTABLE * lei:EntityCategory IN ['SOLE_PROPRIETOR'] * lei:EntityLegalFormCode $PRESENT

Condition:

* lei:EntityLegalFormCode NOT IN $SOLE_PROPRIETOR_ELF_CODE_LIST WITH: * $SOLE_PROPRIETOR_ELF_CODE_LIST/is_sole_proprietorship == 'no'

Ensure entity creation date is present

Precondition:

* lei:EntityStatus NOT IN ['NULL'] * lei:RegistrationStatus NOT IN ['ANNULLED'] * lei:InitialRegistrationDate >= $DATETIME('2022-04-01T00:00:00+00:00') OR * lei:NextRenewalDate >= $DATETIME('2023-06-01T00:00:00+00:00')

Condition:

* lei:EntityCreationDate $PRESENT

For completed legal entity events, the effective date is present

Precondition:

* lei:LegalEntityEvents $PRESENT * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent@event_status IN ['COMPLETED']

Condition:

FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * lei:LegalEntityEventEffectiveDate $PRESENT

Corresponding Legal Entity Events lead to correct Registration Status

Precondition:

* lei:RegistrationStatus NOT IN ['ANNULLED', 'DUPLICATE', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL'] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEventType IN ['DISSOLUTION', 'LIQUIDATION'] * lei:LegalEntityEvent@event_status IN ['COMPLETED']

Condition:

* lei:RegistrationStatus IN ['RETIRED']

Ensure deprecated fields for associated entity are not present

Precondition:

Condition:

* lei:AssociatedEntity NOT $PRESENT

Records with legal form of a fund must be categorized as funds

Precondition:

* lei:EntityLegalFormCode IN $ELF_FUND_LIST * lei:RegistrationStatus $MUTABLE

Condition:

* lei:EntityCategory IN ['FUND']

The validation authority of a fund must be applicable for funds

Precondition:

* lei:ValidationAuthorityID $PRESENT * lei:ValidationAuthorityID NOT IN ['RA888888', 'RA999999'] * lei:RegistrationStatus $MUTABLE * lei:EntityCategory IN ['FUND'] * lei:LegalJurisdiction(country-part) IN $RA_FUND_LIST/Country_Code WITH: * $RA_FUND_LIST/is_ValidationAuthority == 'yes'

Condition:

* lei:ValidationAuthorityID IN $RA_FUND_LIST/Registration_Authority_Code WITH: * $RA_FUND_LIST/is_ValidationAuthority == 'yes'

Ensure relationships with status NULL have an appropriate registration status

Precondition:

$COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipStatus IN ['NULL'] * rr:RegistrationStatus NOT IN ['PENDING_TRANSFER', 'PENDING_ARCHIVAL']

Condition:

* IF lei:EntityCategory IN ['FUND']: * rr:RegistrationStatus IN ['DUPLICATE', 'ANNULLED', 'PUBLISHED'] * IF lei:EntityCategory NOT IN ['FUND']: * rr:RegistrationStatus IN ['DUPLICATE', 'ANNULLED']

Entity's expiration date and expiration reason are not populated

Precondition:

Condition:

* lei:EntityExpirationDate NOT $PRESENT * lei:EntityExpirationReason NOT $PRESENT

Retired record has corresponding legal entity event

Precondition:

* lei:RegistrationStatus IN ['RETIRED']

Condition:

* lei:legalEntityEventType IN ['LIQUIDATION', 'INSOLVENCY', 'DISSOLUTION', 'MERGERS_AND_ACQUISITIONS', 'BANKRUPTCY', 'ABSORPTION', 'ACQUISITION_BRANCH', 'BREAKUP', 'TRANSFORMATION_BRANCH_TO_SUBSIDIARY', 'CHANGE_LEGAL_FORM'] WITH: * @event_status IN ['COMPLETED']

Duplicate and annulled relationships have status null

Precondition:

* rr:RegistrationStatus IN ['DUPLICATE', 'ANNULLED']

Condition:

* rr:RelationshipStatus IN ['NULL']

Fund relationship types are only used for fund entities

Precondition:

* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_SUBFUND_OF', 'IS_FUND-MANAGED_BY', 'IS_FEEDER_TO'] * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED']

Condition:

* lei:EntityCategory IN ['FUND']

The category of the legal entity is always provided

Precondition:

Condition:

* lei:EntityCategory $PRESENT

Language information is provided

Precondition:

* lei:RegistrationStatus $MUTABLE

Condition:

* FOR FIELD IN [lei:LegalName, lei:LegalAddress, lei:OtherEntityName, lei:TransliteratedOtherEntityName, lei:OtherAddress, lei:TransliteraterOtherAddress, lei:SuccessorEntityName]: * @lang $PRESENT * FOR $ADMINISTRATIVE_LANGUAGES IN lei:LegalAddress/lei:Country: * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) == 0: * @lang $MATCHES('/^([a-z]{2})(-[A-Z]{1,8}|-[0-9]{1,3})?$/') * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) > 0: * @lang $MATCHES('/^([a-z]){1,3}(-[A-Z]{1,8}|-[0-9]{1,3})?$/') * FOR FIELD IN [lei:HeadquartersAddress]: * @lang $PRESENT * FOR $ADMINISTRATIVE_LANGUAGES IN lei:HeadquartersAddress/lei:Country: * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) == 0: * @lang $MATCHES('/^([a-z]{2})(-[A-Z]{1,8}|-[0-9]{1,3})?$/') * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) > 0: * @lang $MATCHES('/^([a-z]){1,3}(-[A-Z]{1,8}|-[0-9]{1,3})?$/')

The legal name of the entity is provided in local alphabet

Precondition:

* lei:LegalName@lang $PRESENT * lei:LegalName@lang IN $LANGUAGE_CHARACTERS_LIST * lei:LegalName $ALPHABETICAL

Condition:

* lei:LegalName $PATTERN_MATCH $LANGUAGE_CHARACTERS_LIST/language

No successor LEI code references the LEI code in the current LEI Record

Precondition:

* lei:SuccessorLEI $PRESENT

Condition:

FOR lei:SuccessorLEI: * lei:SuccessorLEI NOT $EQUALS lei:LEI

Additional information for not yet listed validation authority is provided

Precondition:

* lei:RegistrationStatus $MUTABLE * lei:ValidationAuthorityID IN ['RA777777', 'RA888888']

Condition:

* lei:OtherValidationAuthorityID $PRESENT * lei:OtherValidationAuthorityID NOT IN $CASE_INSENSITIVE(['TRUST', 'OBCHODNý REGISTER', 'REGISTRAR OF COMPANIES', 'HANDELSREGISTER', 'COMPANIES REGISTER', 'TRADE AND COMPANY REGISTER', 'FUND REGISTER', 'TRADE REGISTER', 'TRUST REGISTER', 'BUSINESS REGISTER', 'DOCUMENT', 'DOCUMENTS', 'REGISTER', '0THER', 'OTHER', 'OTHERS', 'REGISTO COMERCIAL', 'COMMERCIAL_REGISTER', 'NOT AVAILABLE', 'N.A.', 'N.A', 'N/A', 'N A', 'N.V', 'N.V.', 'N V', 'EXENTO', 'EXENTA', 'NO SUJETO', '0']) * lei:OtherValidationAuthorityID NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER

Additional information for not yet listed registration authority is provided

Precondition:

* lei:RegistrationStatus $MUTABLE * lei:RegistrationAuthorityID IN ['RA888888']

Condition:

* lei:OtherRegistrationAuthorityID $PRESENT * lei:OtherRegistrationAuthorityID NOT IN $CASE_INSENSITIVE(['TRUST', 'OBCHODNý REGISTER', 'REGISTRAR OF COMPANIES', 'HANDELSREGISTER', 'COMPANIES REGISTER', 'TRADE AND COMPANY REGISTER', 'FUND REGISTER', 'TRADE REGISTER', 'TRUST REGISTER', 'BUSINESS REGISTER', 'DOCUMENT', 'DOCUMENTS', 'REGISTER', '0THER', 'OTHER', 'OTHERS', 'REGISTO COMERCIAL', 'COMMERCIAL_REGISTER', 'NOT AVAILABLE', 'N.A.', 'N.A', 'N/A', 'N A', 'N.V', 'N.V.', 'N V', 'EXENTO', 'EXENTA', 'NO SUJETO', '0']) * lei:OtherRegistrationAuthorityID NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER

Additional information for validation authority is provided only when suited

Precondition:

* lei:RegistrationStatus $MUTABLE * lei:ValidationAuthorityID $PRESENT * lei:OtherValidationAuthorityID $PRESENT

Condition:

* lei:ValidationAuthorityID IN ['RA777777', 'RA888888']

Additional information for registration authority is provided only when suited

Precondition:

* lei:RegistrationStatus $MUTABLE * lei:RegistrationAuthorityID $PRESENT * lei:OtherRegistrationAuthorityID $PRESENT

Condition:

* lei:RegistrationAuthorityID IN ['RA888888']

Additional information for not yet listed entity legal form code is provided

Precondition:

* lei:RegistrationStatus $MUTABLE * lei:EntityLegalFormCode IN ['8888', '9999']

Condition:

* lei:OtherLegalForm $PRESENT * lei:OtherLegalForm NOT IN $CASE_INSENSITIVE(['0THER', 'OTHERS', 'DIğER', 'OTHER', 'NOT AVAILABLE', 'N.A.', 'N.A', 'N/A', 'N A', 'EXENTO', 'EXENTA', 'NO SUJETO', '0'])

Reserved ELF code is used when Other Legal Form is provided

Precondition:

* lei:RegistrationStatus $MUTABLE * lei:EntityLegalFormCode $PRESENT * lei:OtherLegalForm $PRESENT

Condition:

* lei:EntityLegalFormCode IN ['8888', '9999']

Verify expected level of validation for entities with not yet verified and accepted registration authority

Precondition:

* lei:RegistrationStatus $MUTABLE * lei:RegistrationAuthorityID IN ['RA888888']

Condition:

* IF lei:ValidationAuthorityID IN ['RA777777']: * lei:ValidationSources IN ['PARTIALLY_CORROBORATED', 'FULLY_CORROBORATED'] * IF lei:ValidationAuthorityID NOT IN ['RA777777']: * lei:ValidationSources IN ['ENTITY_SUPPLIED_ONLY']

Entity's validation number has the expected local format

Precondition:

* lei:RegistrationStatus $MUTABLE * lei:ValidationAuthorityID $PRESENT * lei:ValidationAuthorityID IN $RA_FORMAT_LIST/registration_authority * lei:ValidationAuthorityEntityID $PRESENT

Condition:

* lei:ValidationAuthorityEntityID $PATTERN_MATCH $RA_FORMAT_LIST/regex

Entity's validation number in additional validation authorities has the expected local format

Precondition:

* lei:RegistrationStatus $MUTABLE * lei:OtherValidationAuthorities $PRESENT * lei:OtherValidationAuthority/lei:ValidationAuthorityID IN $RA_FORMAT_LIST/registration_authority * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID $PRESENT

Condition:

* FOR lei:OtherValidationAuthority: * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID $PATTERN_MATCH $RA_FORMAT_LIST/regex

Local identifier are provided and plausible for validation

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * lei:EntityCategory NOT IN ['FUND'] * lei:ValidationAuthorityID $PRESENT * lei:ValidationAuthorityID NOT IN ['RA777777', 'RA888888', 'RA999999', 'RA000018', 'RA000397', 'RA000634', 'RA000704', 'RA000711', 'RA000712', 'RA000722', 'RA000723', 'RA000725', 'RA000727', 'RA000733', 'RA000734', 'RA000736', 'RA000737', 'RA000738', 'RA000739', 'RA000740', 'RA000741', 'RA000742', 'RA000743', 'RA000768', 'RA000769', 'RA000770', 'RA000771', 'RA000772', 'RA000773', 'RA000774', 'RA000775', 'RA000831']

Condition:

* lei:ValidationAuthorityEntityID $PRESENT * lei:ValidationAuthorityEntityID NOT IN $CASE_INSENSITIVE(['NOT AVAILABLE', 'N.A.', 'N.A', 'N/A', 'N A', 'N.V', 'N.V.', 'N V', 'EXENTO', 'EXENTA', 'NO SUJETO', '0']) * lei:ValidationAuthorityEntityID NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER

Authoritative Source Check for OtherValidationAuthorities

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * lei:EntityCategory NOT IN ['FUND'] * lei:OtherValidationAuthority/lei:ValidationAuthorityID $PRESENT * lei:OtherValidationAuthority/lei:ValidationAuthorityID NOT IN ['RA777777', 'RA888888', 'RA999999', 'RA000018', 'RA000397', 'RA000634', 'RA000704', 'RA000711', 'RA000712', 'RA000722', 'RA000723', 'RA000725', 'RA000727', 'RA000733', 'RA000734', 'RA000736', 'RA000737', 'RA000738', 'RA000739', 'RA000740', 'RA000741', 'RA000742', 'RA000743', 'RA000768', 'RA000769', 'RA000770', 'RA000771', 'RA000772', 'RA000773', 'RA000774', 'RA000775']

Condition:

FOR ALL-APPLICABLE lei:OtherValidationAuthority: * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID $PRESENT * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID NOT IN $CASE_INSENSITIVE(['NOT AVAILABLE', 'N.A.', 'N.A', 'N/A', 'N A', 'N.V', 'N.V.', 'N V', 'EXENTO', 'EXENTA', 'NO SUJETO', '0']) * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER

No local identifier is provided when authoritative source does not provide any identifier

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * lei:RegistrationAuthorityID $PRESENT * lei:RegistrationAuthorityID IN ['RA999999', 'RA000397', 'RA000704', 'RA000712', 'RA000722', 'RA000723', 'RA000725', 'RA000727', 'RA000733', 'RA000736', 'RA000737', 'RA000738', 'RA000739', 'RA000740', 'RA000741', 'RA000742', 'RA000743', 'RA000768', 'RA000769', 'RA000770', 'RA000771', 'RA000772', 'RA000773', 'RA000774', 'RA000775']

Condition:

* lei:RegistrationAuthorityEntityID NOT $PRESENT

Appropriate code in headuqarters address region

Precondition:

* lei:HeadquartersAddress/lei:Region $PRESENT * lei:RegistrationStatus $MUTABLE

Condition:

* lei:HeadquartersAddress/lei:Region IN $ISO_3166_2

Appropriate code in headuqarters address country

Precondition:

* lei:RegistrationStatus $MUTABLE

Condition:

* lei:HeadquartersAddress/lei:Country IN ['XK', $ISO_3166_1_ALPHA_2]

There is only one single instance of type relationship period per relationship

Precondition:

* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:PeriodType IN ['RELATIONSHIP_PERIOD']

Condition:

* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $COUNT(rr:RelationshipPeriod) == 1 WITH: * rr:PeriodType IN ['RELATIONSHIP_PERIOD']

Entity creation date is plausible

Precondition:

* lei:EntityCategory NOT IN ['FUND'] * lei:EntityCreationDate $PRESENT

Condition:

* leiFileHeader:ContentDate + $TIME_INTERVAL('30 D') >= lei:EntityCreationDate

Plausible entity creation date for funds in formation

Precondition:

* lei:EntityCreationDate NOT $PRESENT * lei:NextRenewalDate >= $DATETIME('2023-06-01T00:00:00+00:00') OR * lei:InitialRegistrationDate >= $DATETIME('2022-04-01T00:00:00+00:00')

Condition:

* lei:EntityStatus IN ['NULL'] * lei:EntityCategory IN ['FUND']

Ensure plausible usage of entity subcategories values for government entities

Precondition:

* lei:EntitySubCategory $PRESENT * lei:EntitySubCategory IN ['CENTRAL_GOVERNMENT', 'STATE_GOVERNMENT', 'LOCAL_GOVERNMENT', 'SOCIAL_SECURITY']

Condition:

* lei:EntityCategory IN ['RESIDENT_GOVERNMENT_ENTITY']

Appropriate usage of government accounting standard

Precondition:

* $COUNT($REPORTED_PARENT_RELATIONSHIPS) > 0 WITH: * rr:QualifierCategory IN ['GOVERNMENT_ACCOUNTING_STANDARD'] * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED', 'RETIRED']

Condition:

* lei:EntityCategory IN ['RESIDENT_GOVERNMENT_ENTITY', 'INTERNATIONAL_ORGANIZATION']

The parent entity of a government entity is also a government entity

Precondition:

* lei:EntityCategory IN ['RESIDENT_GOVERNMENT_ENTITY'] * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * lei:LEI $EQUALS rr:EndNode/rr:NodeID * $END_NODE_RECORD $VALID

Condition:

* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $END_NODE_RECORD lei:EntityCategory IN ['RESIDENT_GOVERNMENT_ENTITY']

Start and end node in a relationship fit the entity category for international organizations

Precondition:

* lei:EntityCategory IN ['INTERNATIONAL_ORGANIZATION'] * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * $END_NODE_RECORD $VALID

Condition:

* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $END_NODE_RECORD lei:EntityCategory IN ['INTERNATIONAL_ORGANIZATION']

Government entities use appropriate relationship exception resons

Precondition:

* lei:EntityCategory IN ['RESIDENT_GOVERNMENT_ENTITY'] * $COUNT($REPORTED_EXCEPTIONS) > 0

Condition:

* FOR ALL-APPLICABLE $REPORTED_EXCEPTIONS: * repex:ExceptionReason IN ['NO_KNOWN_PERSON', 'NO_LEI']

No accounting periods are present for funds

Precondition:

* lei:EntityCategory IN ['FUND'] * $COUNT($REPORTED_FUND_RELATIONSHIPS) > 0

Condition:

* FOR ALL-APPLICABLE $REPORTED_FUND_RELATIONSHIPS: * $COUNT(rr:RelationshipPeriod) == 0 WITH: * rr:PeriodType IN ['ACCOUNTING_PERIOD']

Ensure plausible start date for relationship periods

Precondition:

* lei:EntityCreationDate $PRESENT * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus NOT IN ['ANNULLED'] * rr:PeriodType IN ['RELATIONSHIP_PERIOD'] * rr:StartDate $PRESENT

Condition:

* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * rr:StartDate >= lei:EntityCreationDate

Appropriate usage of reserved codes for public legal documents

Precondition:

* lei:RegistrationAuthorityID $PRESENT * lei:ValidationAuthorityID IN ['RA777777'] OR * lei:RegistrationAuthorityID $PRESENT * lei:OtherValidationAuthority $PRESENT * lei:OtherValidationAuthority/lei:ValidationAuthorityID IN ['RA777777']

Condition:

* lei:EntityCategory IN ['RESIDENT_GOVERNMENT_ENTITY', 'INTERNATIONAL_ORGANIZATION'] * lei:RegistrationAuthorityID IN ['RA888888', 'RA999999']

Appropriate usage of special codes for legal jurisdiction

Precondition:

* lei:LegalJurisdiction IN ['EU','UN','XX']

Condition:

* lei:EntityCategory IN ['INTERNATIONAL_ORGANIZATION']

All successors of all completed legal entity events are listed

Precondition:

* $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent@event_status IN ['COMPLETED'] * lei:AffectedField WITH: * $FIELD_XPATH('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity') $PRESENT

Condition:

* FOR ALL-APPLICABLE lei:AffectedField: * lei:AffectedField WITH: * $FIELD_XPATH('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorEntityName') IN lei:SuccessorEntity * lei:AffectedField WITH: * $FIELD_XPATH('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorLEI') IN lei:SuccessorEntity

All successor LEIs of non-duplicate records are mentioned in a legal entity event

Precondition:

* lei:RegistrationStatus NOT IN ['DUPLICATE', 'ANNULLED', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL'] * lei:SuccessorEntity $PRESENT

Condition:

* $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent@event_status IN ['COMPLETED'] * lei:AffectedField WITH: * lei:SuccessorEntityName IN lei:field_xpath('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntityName') OR * lei:LegalEntityEvent@event_status IN ['COMPLETED'] * lei:AffectedField WITH: * lei:SuccessorLEI IN lei:field_xpath('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorLEI')

Deprecated exception reasons are not used

Precondition:

* $COUNT($REPORTED_EXCEPTIONS) > 0

Condition:

* repex:ExceptionReason NOT IN ['LEGAL_OBSTACLES', 'CONSENT_NOT_OBTAINED', 'BINDING_LEGAL_COMMITMENTS', 'DETRIMENT_NOT_EXCLUDED', 'DISCLOSURE_DETRIMENTAL']

Xpath in affected fields is valid

Precondition:

* lei:LegalEntityEvent/lei:AffectedField $PRESENT

Condition:

* FOR lei:LegalEntityEvent/lei:AffectedField: * lei:field_xpath IN [ '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalName', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:OtherEntityNames/lei:OtherEntityName', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:OtherEntityNames/lei:OtherEntityName@type', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:TransliteratedOtherEntityNames/lei:TransliteratedOtherEntityName', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:TransliteratedOtherEntityNames/lei:TransliteratedOtherEntityName@type', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:FirstAddressLine', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:AdditionalAddressLine[1]', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:AdditionalAddressLine[2]', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:AdditionalAddressLine[3]', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:AddressNumber', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:AddressNumberWithinBuilding', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:MailRouting', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:City', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:PostalCode', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:Country', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:Region', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress@lang', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:HeadquartersAddress/*', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:OtherAddresses/*', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:OtherAddresses@lang', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:OtherAddresses@type', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:TransliteratedOtherAddresses/*', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:TransliteratedOtherAddresses@lang', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:TransliteratedOtherAddresses@type', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalJurisdiction', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:EntityCategory', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalForm/lei:EntityLegalFormCode', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalForm/lei:OtherLegalForm', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorLEI', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorEntityName', '/rr:RelationshipData/rr:RelationshipRecords/rr:RelationshipRecord/rr:Relationship/rr:EndNode/rr:NodeID', '/rr:RelationshipData/rr:RelationshipRecords/rr:RelationshipRecord/rr:Relationship/rr:EndNode/rr:NodeType', '/rr:RelationshipData/rr:RelationshipRecords/rr:RelationshipRecord/rr:Relationship/rr:RelationshipType', '/repex:ReportingExceptionData/repex:ReportingExceptions/repex:Exception/repex:ExceptionCategory', '/repex:ReportingExceptionData/repex:ReportingExceptions/repex:Exception/repex:ExceptionReason' ]

No local identifier is provided for validation when authoritative source does not provide any identifier

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * lei:ValidationAuthorityID $PRESENT * lei:ValidationAuthorityID IN ['RA999999', 'RA000397', 'RA000704', 'RA000712', 'RA000722', 'RA000723', 'RA000725', 'RA000727', 'RA000733', 'RA000736', 'RA000737', 'RA000738', 'RA000739', 'RA000740', 'RA000741', 'RA000742', 'RA000743', 'RA000768', 'RA000769', 'RA000770', 'RA000771', 'RA000772', 'RA000773', 'RA000774', 'RA000775']

Condition:

* lei:ValidationAuthorityEntityID NOT $PRESENT