Dane LEI Zarządzanie jakością danych GLEIF

Szczegóły kontroli jakości danych



Obecnie zestaw reguł stosowanych do generowania raportów dot. jakości danych tworzą następujące kontrole.
Zestaw reguł jest również dostępny w formacie PDF lub 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

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_PARENT_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_PARENT_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_PARENT_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_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RegistrationStatus IN ['PUBLISHED'] * FOR $REPORTED_ULTIMATE_PARENT_INFO: * $COUNT($REPORTED_EXCEPTIONS) == 1 * OR * $COUNT($REPORTED_PARENT_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']: * FOR ALL-APPLICABLE rr:RelationshipPeriod: * 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:RegistrationStatus IN ['PUBLISHED', 'LAPSED', 'RETIRED'] * rr:RelationshipPeriod/rr:StartDate $PRESENT * rr:RelationshipPeriod/rr:EndDate $PRESENT

Condition:

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

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/@xml:lang $PRESENT * lei:OtherAddress/@xml:lang NOT $EQUALS lei:LegalAddress/@xml:lang * lei:OtherAddress/@xml:lang $UNIQUE * lei:OtherAddress NOT $EQUALS_NORMALIZED lei:LegalAddress * FOR FIELD IN [lei:FirstAddressLine, lei:AdditionalAddressLine[1], lei:AdditionalAddressLine[2], lei:AdditionalAddressLine[3], lei:AddressNumber, lei:AddressNumberWithinBuilding, lei:MailRouting, lei:City, lei:PostalCode]: * lei:OtherAddress $UNIQUE

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/@xml:lang $PRESENT * lei:OtherAddress/@xml:lang NOT $EQUALS lei:HeadquartersAddress/@xml:lang * lei:OtherAddress NOT $EQUALS_NORMALIZED lei:HeadquartersAddress * FOR FIELD IN [lei:FirstAddressLine, lei:AdditionalAddressLine[1], lei:AdditionalAddressLine[2], lei:AdditionalAddressLine[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','PENDING_TRANSFER', 'PENDING_ARCHIVAL']

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', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL']

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 trading names are unique

Precondition:

* COUNT(lei:OtherEntityName) > 0 WITH: * lei:OtherEntityName/@type 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', 'RA000585', 'RA000586', 'RA000587', 'RA000754']

Condition:

* lei:ValidationAuthority $PRESENT * IF EntityCategory NOT IN ['SOLE_PROPRIETOR']: * FOR lei:OtherValidationAuthority: * lei:OtherValidationAuthority/lei:ValidationAuthorityID NOT $EQUALS lei:ValidationAuthority/lei:ValidationAuthorityID * IF EntityCategory IN ['SOLE_PROPRIETOR']: * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID $UNIQUE * FOR lei:OtherValidationAuthority: * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID NOT $EQUALS lei:ValidationAuthority/lei:ValidationAuthorityEntityID

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 * IF $ELF_CODE_LIST/SubDivisionCode $PRESENT: * $ELF_CODE_LIST/SubDivisionCode $EQUALS lei:LegalJurisdiction * OR * IF $ELF_CODE_LIST/SubDivisionCode NOT $PRESENT: * $ELF_CODE_LIST/CountryCode $EQUALS lei:LegalJurisdiction

Ensure OtherLegalForm is not in ELF codelist

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * lei:OtherLegalForm $PRESENT * lei:LegalJurisdiction $PRESENT

Condition:

* lei:OtherLegalForm NOT IN ['9999', '8888'] * IF lei:LegalJurisdiction $EQUALS $ELF_CODE_LIST/SubDivisionCode WITH $ELF_CODE_LIST/ELF_STATUS == 'ACTV': * lei:OtherLegalForm NOT $EQUALS_NORMALIZED $ELF_CODE_LIST/ELF Code WITH lei:LegalJurisdiction $EQUALS $ELF_CODE_LIST/SubDivisionCode * lei:OtherLegalForm NOT $EQUALS_NORMALIZED $ELF_CODE_LIST/Entity Legal Form name Local name WITH lei:LegalJurisdiction $EQUALS $ELF_CODE_LIST/SubDivisionCode * lei:OtherLegalForm NOT $EQUALS $ELF_CODE_LIST/Abbreviations Local language WITH lei:LegalJurisdiction $EQUALS $ELF_CODE_LIST/SubDivisionCode * lei:OtherLegalForm NOT $EQUALS_NORMALIZED $ELF_CODE_LIST/Entity Legal Form name Transliterated name WITH lei:LegalJurisdiction $EQUALS $ELF_CODE_LIST/SubDivisionCode * IF lei:LegalJurisdiction $EQUALS $ELF_CODE_LIST/CountryCode WITH $ELF_CODE_LIST/ELF_STATUS == 'ACTV': * lei:OtherLegalForm NOT $EQUALS_NORMALIZED $ELF_CODE_LIST/ELF Code WITH lei:LegalJurisdiction $COUNTRY_PART $EQUALS $ELF_CODE_LIST/CountryCode * lei:OtherLegalForm NOT $EQUALS_NORMALIZED $ELF_CODE_LIST/Entity Legal Form name Local name WITH lei:LegalJurisdiction $COUNTRY_PART $EQUALS $ELF_CODE_LIST/CountryCode * lei:OtherLegalForm NOT $EQUALS $ELF_CODE_LIST/Abbreviations Local language WITH lei:LegalJurisdiction $COUNTRY_PART $EQUALS $ELF_CODE_LIST/CountryCode * lei:OtherLegalForm NOT $EQUALS_NORMALIZED $ELF_CODE_LIST/Entity Legal Form name Transliterated name WITH lei:LegalJurisdiction $COUNTRY_PART $EQUALS $ELF_CODE_LIST/CountryCode

Ensure appropriate entity categorization for entities declaring branch relationship

Precondition:

* $COUNT($REPORTED_PARENT_RELATIONSHIPS) > 0 WITH: * rr:RelationshipStatus IN ['ACTIVE'] * 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_PARENT_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 $COUNTRY_PART * lei:HeadQuartersAddress/lei:Country $EQUALS $END_NODE_RECORD lei:LegalJurisdiction $COUNTRY_PART * lei:LegalJurisdiction $COUNTRY_PART $EQUALS $END_NODE_RECORD lei:LegalJurisdiction $COUNTRY_PART * 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_PARENT_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'] * FOR $END_NODE_RECORD: * $COUNT($REPORTED_PARENT_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus $MUTABLE * OR * $COUNT($REPORTED_EXCEPTIONS)

Condition:

* FOR $END_NODE_RECORD: * $COUNT($REPORTED_PARENT_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', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL'] * 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', 'IS_INTERNATIONAL_BRANCH_OF'] * 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:

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_PARENT_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', 'RA000029', 'RA000397', 'RA000634', 'RA000704', 'RA000711', 'RA000712', 'RA000722', 'RA000723', 'RA000725', 'RA000727', 'RA000733', 'RA000734', 'RA000736', 'RA000737', 'RA000738', 'RA000739', 'RA000740', 'RA000741', 'RA000742', 'RA000743', 'RA000747', 'RA000750', 'RA000768', 'RA000769', 'RA000770', 'RA000771', 'RA000772', 'RA000773', 'RA000774', 'RA000775', 'RA000831']

Condition:

* lei:RegistrationAuthorityEntityID $PRESENT * lei:RegistrationAuthorityEntityID NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST) * 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

Records with complex reverse takeover events contain all required single event items

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent/@group_type IN ['REVERSE_TAKEOVER'] * lei:LegalEntityEvent/@event_status IN ['COMPLETED'] * $COUNT($LEGAL_ENTITY_EVENTS) == 0 WITH: * lei:LegalEntityEvent/@group_type IN ['REVERSE_TAKEOVER'] * lei:LegalEntityEvent/@event_status IN ['WITHDRAWN_CANCELLED']

Condition:

FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * $COUNT($LEGAL_ENTITY_EVENTS) == 1 WITH: * lei:LegalEntityEvent/@group_id == $REFERRED_EVENT lei:LegalEntityEvent/@group_id * lei:LegalEntityEventType IN ['MERGERS_AND_ACQUISITIONS'] * lei:LegalEntityEvent/@group_sequence_no == 1 * $COUNT($LEGAL_ENTITY_EVENTS) == 1 WITH: * lei:LegalEntityEvent/@group_id == $REFERRED_EVENT lei:LegalEntityEvent/@group_id * lei:LegalEntityEventType IN ['ABSORPTION'] * lei:LegalEntityEvent/@group_sequence_no == 2 * $COUNT($LEGAL_ENTITY_EVENTS) == 1 WITH: * lei:LegalEntityEvent/@group_id == $REFERRED_EVENT lei:LegalEntityEvent/@group_id * lei:LegalEntityEventType IN ['CHANGE_LEGAL_NAME'] * lei:LegalEntityEvent/@group_sequence_no == 3

Corresponding Legal Entity Events lead to retired 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'] * OR * FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * $COUNT($REFERRED_EVENT) > 0 WITH: * $REFERRED_EVENT lei:LegalEntityEvent/@event_status IN ['WITHDRAWN_CANCELLED'] * lei:LegalEntityEventEffectiveDate $DATE_PART == $REFERRED_EVENT lei:LegalEntityEventEffectiveDate $DATE_PART * lei:LegalEntityEventType == $REFERRED_EVENT lei:LegalEntityEventType * lei:ValidationDocuments == $REFERRED_EVENT lei:ValidationDocuments

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_v1.4.10/Country_Code WITH: * $RA_FUND_LIST_v1.4.10/is_ValidationAuthority == 'yes'

Condition:

* IF lei:LegalJurisdiction $COUNTRY_PART NOT $EQUALS 'US': * lei:ValidationAuthorityID IN $RA_FUND_LIST_v1.4.10/Registration_Authority_Code WITH: * $RA_FUND_LIST_v1.4.10/is_ValidationAuthority == 'yes' * IF lei:LegalJurisdiction $COUNTRY_PART $EQUALS 'US': * lei:ValidationAuthorityID IN $RA_FUND_LIST_v1.4.10/Registration_Authority_Code WITH: * $RA_FUND_LIST_v1.4.10/is_ValidationAuthority == 'yes' * OR * lei:OtherLegalForm IN ['Collective Investment Trust'] * OR * lei:EntityLegalFormCode IN ['4FSX', 'HZEH']

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:

* COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:legalEntityEventType IN ['LIQUIDATION', 'INSOLVENCY', 'DISSOLUTION', 'MERGERS_AND_ACQUISITIONS', 'BANKRUPTCY', 'ABSORPTION', 'ACQUISITION_BRANCH', 'BREAKUP', 'TRANSFORMATION_BRANCH_TO_SUBSIDIARY', 'CHANGE_LEGAL_FORM'] * lei:LegalEntityEvent/@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:SuccessorEntityName]: * /@xml:lang $PRESENT * FOR $ADMINISTRATIVE_LANGUAGES IN lei:LegalAddress/lei:Country: * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) == 0: * /@xml:lang $PATTERN_MATCH('/^([a-z]{2})(-[A-Z]{1,8}|-[0-9]{1,3})?$/') * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) > 0: * /@xml:lang $PATTERN_MATCH('/^([a-z]){1,3}(-[A-Z]{1,8}|-[0-9]{1,3})?$/') * FOR FIELD IN [lei:HeadquartersAddress]: * /@xml:lang $PRESENT * FOR $ADMINISTRATIVE_LANGUAGES IN lei:HeadquartersAddress/lei:Country: * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) == 0: * /@xml:lang $PATTERN_MATCH('/^([a-z]{2})(-[A-Z]{1,8}|-[0-9]{1,3})?$/') * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) > 0: * /@xml:lang $PATTERN_MATCH('/^([a-z]){1,3}(-[A-Z]{1,8}|-[0-9]{1,3})?$/') * FOR FIELD IN [lei:OtherAddress]: * /@xml:lang $PRESENT * FOR $ADMINISTRATIVE_LANGUAGES IN lei:OtherAddress/lei:Country: * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) == 0: * /@xml:lang $PATTERN_MATCH '/^([a-z]{2})(-[A-Z]{1,8}|-[0-9]{1,3})?$/' * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) > 0: * /@xml:lang $PATTERN_MATCH '/^([a-z]){1,3}(-[A-Z]{1,8}|-[0-9]{1,3})?$/' * FOR FIELD IN [lei:TransliteratedOtherAddress]: * /@xml:lang $PRESENT * FOR $ADMINISTRATIVE_LANGUAGES IN lei:TransliteratedOtherAddress/lei:Country: * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) == 0: * /@xml:lang $PATTERN_MATCH '/^([a-z]{2})(-[A-Z]{1,8}|-[0-9]{1,3})?$/' * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) > 0: * /@xml:lang $PATTERN_MATCH '/^([a-z]){1,3}(-[A-Z]{1,8}|-[0-9]{1,3})?$/'

At least one character in the legal name of the entity is provided in local alphabet

Precondition:

* lei:LegalName/@xml:lang $PRESENT * lei:LegalName/@xml: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($PLACEHOLDER_LIST) * 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($PLACEHOLDER_LIST) * lei:OtherRegistrationAuthorityID NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER * $NORMALIZED(lei:OtherRegistrationAuthorityID) NOT $PATTERN_MATCH('/^RAd{6}$/')

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 listed entity legal form code is provided

Precondition:

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

Condition:

* lei:OtherLegalForm $PRESENT * lei:OtherLegalForm NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER * lei:OtherLegalForm $ALPHABETICAL * lei:OtherLegalForm NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST/Applicable_for_OtherLegalForm == yes)

Reserved ELF code is used when Other Legal Form is provided

Precondition:

* lei:RegistrationStatus $MUTABLE * lei:EntityLegalFormCode $PRESENT * lei:OtherLegalForm $PRESENT * IF lei:LegalJurisdiction $STARTS_WITH('US'): * lei:OtherLegalForm NOT IN ['Collective Investment Trust']

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', 'RA000029', 'RA000397', 'RA000634', 'RA000704', 'RA000711', 'RA000712', 'RA000722', 'RA000723', 'RA000725', 'RA000727', 'RA000733', 'RA000734', 'RA000736', 'RA000737', 'RA000738', 'RA000739', 'RA000740', 'RA000741', 'RA000742', 'RA000743', 'RA000747', 'RA000750', 'RA000768', 'RA000769', 'RA000770', 'RA000771', 'RA000772', 'RA000773', 'RA000774', 'RA000775', 'RA000831']

Condition:

* lei:ValidationAuthorityEntityID $PRESENT * lei:ValidationAuthorityEntityID NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST) * 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', 'RA000029', 'RA000397', 'RA000634', 'RA000704', 'RA000711', 'RA000712', 'RA000722', 'RA000723', 'RA000725', 'RA000727', 'RA000733', 'RA000734', 'RA000736', 'RA000737', 'RA000738', 'RA000739', 'RA000740', 'RA000741', 'RA000742', 'RA000743', 'RA000747', 'RA000750', 'RA000768', 'RA000769', 'RA000770', 'RA000771', 'RA000772', 'RA000773', 'RA000774', 'RA000775', 'RA000831']

Condition:

FOR ALL-APPLICABLE lei:OtherValidationAuthority: * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID $PRESENT * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST) * 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', 'RA000741', 'RA000742', 'RA000743', 'RA000768', 'RA000769', 'RA000770', 'RA000771', 'RA000772', 'RA000773', 'RA000774', 'RA000775']

Condition:

* lei:RegistrationAuthorityEntityID NOT $PRESENT

Appropriate code in headquarters address region

Precondition:

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

Condition:

* lei:HeadquartersAddress/lei:Region IN $ISO_3166_2

Appropriate code in headquarters 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_PARENT_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * lei:LEI $EQUALS rr:EndNode/rr:NodeID * $END_NODE_RECORD $VALID

Condition:

* FOR ALL-APPLICABLE $REPORTED_PARENT_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', 'PENDING_ARCHIVAL', 'PENDING_TRANSFER'] * 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: * lei:AffectedField/@field_xpath IN ['/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorEntityName', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorLEI']

Condition:

* FOR ALL-APPLICABLE lei:AffectedField: * lei:AffectedField WITH: * lei:AffectedField/@field_xpath IN ['/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorLEI'] == lei:SuccessorEntity/lei:SuccessorLEI * lei:AffectedField WITH: * lei:AffectedField/@field_xpath IN ['/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorEntityName'] == lei:SuccessorEntity/lei:SuccessorEntityName * OR * FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * $COUNT($REFERRED_EVENT) > 0 WITH: * $REFERRED_EVENT lei:LegalEntityEvent/@event_status IN ['WITHDRAWN_CANCELLED'] * lei:LegalEntityEventEffectiveDate $DATE_PART == $REFERRED_EVENT lei:LegalEntityEventEffectiveDate $DATE_PART * lei:LegalEntityEventType == $REFERRED_EVENT lei:LegalEntityEventType * lei:ValidationDocuments == $REFERRED_EVENT lei:ValidationDocuments * lei:AffectedField/@field_xpath == $REFERRED_EVENT $FIELD_XPATH * lei:field_xpath == $REFERRED_EVENT $lei:field_xpath

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:AffectedField/@field_xpath('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorEntityName') * OR * lei:LegalEntityEvent/@event_status IN ['COMPLETED'] * lei:AffectedField WITH: * lei:SuccessorLEI IN lei:AffectedField/@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:AffectedFields/lei:AffectedField: * lei:AffectedField/@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', 'RA000741', 'RA000742', 'RA000743', 'RA000768', 'RA000769', 'RA000770', 'RA000771', 'RA000772', 'RA000773', 'RA000774', 'RA000775']

Condition:

* lei:ValidationAuthorityEntityID NOT $PRESENT

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

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * lei:OtherValidationAuthority/lei:ValidationAuthorityID $PRESENT * lei:OtherValidationAuthority/lei:ValidationAuthorityID IN ['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:

* FOR ALL-APPLICABLE lei:OtherValidationAuthority: * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID NOT $PRESENT

Ensure RecordedDate is plausible for completed legal entity events

Precondition:

* $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent/@event_status IN [‘COMPLETED’]

Condition:

* FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * lei:LegalEntityEventRecordedDate >= lei:LegalEntityEventEffectiveDate

Legal name language tag shall be appropriate to the legal name characters

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * lei:LegalName/@xml:lang $PRESENT * lei:LegalName/@xml:lang IN $LANGUAGE_CHARACTERS_LIST * lei:LegalName $ALPHABETICAL

Condition:

* IF lei:LegalName $PATTERN_MATCH($LANGUAGE_CHARACTERS_LIST/unicode_range): * lei:LegalName/@xml:lang $EQUALS $LANGUAGE_CHARACTERS_LIST/lang_code

Verify that care of address is provided for funds with external fund manager

Precondition:

* lei:RegistrationStatus IN ['ISSUED','LAPSED'] * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_FUND-MANAGED_BY'] * rr:RegistrationStatus IN ['PUBLISHED','LAPSED'] * lei:LEI NOT $EQUALS rr:EndNode/rr:NodeID

Condition:

* $NORMALIZED(lei:HeadquartersAddress/lei:FirstAddressLine) $STARTS_WITH('c/o') * OR * $NORMALIZED(lei:HeadquartersAddress/lei:AdditionalAddressLine[1]) $STARTS_WITH('c/o') * OR * $NORMALIZED(lei:HeadquartersAddress/lei:AdditionalAddressLine[2]) $STARTS_WITH('c/o') * OR * $NORMALIZED(lei:HeadquartersAddress/lei:AdditionalAddressLine[3]) $STARTS_WITH('c/o') * OR * $NORMALIZED(lei:HeadquartersAddress/lei:MailRouting) $STARTS_WITH('c/o')

Transliterated name is provided for non-Latin legal names

Precondition:

* lei:RegistrationStatus $MUTABLE * lei:LegalName NOT $PATTERN_MATCH ('/^[A-Za-z0-9./:;?_!"%&'()*+,-s]+$/')

Condition:

* lei:TransliteratedOtherEntityNames $PRESENT

Ensure fund relationships have appropriate parent

Precondition:

* lei:RegistrationStatus IN ['ISSUED', 'LAPSED'] * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_SUBFUND_OF', 'IS_FEEDER_TO'] * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * $END_NODE_RECORD $VALID * $END_NODE_RECORD lei:LegalJurisdiction NOT IN ['JP']

Condition:

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

Ensure fund entities use correct entity category

Precondition:

* lei:RegistrationStatus IN ['ISSUED', 'LAPSED'] * lei:LegalJurisdiction NOT IN ['JP'] * $COUNT($REPORTED_CHILD_RELATIONSHIPS) > 0 with: * rr:RelationshipType IN ['IS_SUBFUND_OF', 'IS_FEEDER_TO'] * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED']

Condition:

* lei:EntityCategory 'FUND' * OR * lei:EntityLegalFormCode IN ['MP7S']

Funds are managed by appropriate entities

Precondition:

* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_FUND-MANAGED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * rr:EndNode/rr:NodeID NOT $EQUALS lei:LEI

Condition:

* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $END_NODE_RECORD lei:EntityCategory NOT IN ['FUND'] * OR * FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $END_NODE_RECORD lei:EntityCategory IN ['FUND'] * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_SUBFUND_OF'] * rr:RegistrationStatus IN ['PUBLISHED'] * rr:EndNode/rr:NodeID $EQUALS $REFERRED_RECORD lei:LEI

Ensure fund managers have appropriate entity category

Precondition:

* $COUNT($REPORTED_CHILD_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED'] * rr:RelationshipType IN ['IS_FUND-MANAGED_BY'] * rr:StartNode/rr:NodeID NOT $EQUALS lei:LEI

Condition:

* lei:EntityCategory NOT IN ['FUND'] * OR * $COUNT($REPORTED_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_FUND-MANAGED_BY'] * rr:RegistrationStatus $MUTABLE * rr:EndNode/rr:NodeID $EQUALS lei:LEI * FOR ALL-APPLICABLE rr:StartNode/rr:NodeID: * $COUNT($REPORTED_CHILD_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_FUND-MANAGED_BY']: * rr:RegistrationStatus IN ['PUBLISHED'] * rr:EndNode/rr:NodeID $EQUALS lei:LEI * $COUNT($REPORTED_CHILD_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_SUBFUND_OF'] * rr:RegistrationStatus IN ['PUBLISHED'] * rr:EndNode/rr:NodeID $EQUALS lei:LEI

Fund entities declare only one active fund manager relationship

Precondition:

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

Condition:

* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $COUNT($REPORTED_RELATIONSHIPS)

Ensure that standalone and complex change legal form events do not belong to any group

Precondition:

* lei:RegistrationStatus IN ['ISSUED', 'LAPSED'] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent/@group_type IN ['STANDALONE', 'COMPLEX_CHANGE_LEGAL_FORM']

Condition:

* FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * lei:LegalEntityEvent/@group_id NOT $PRESENT

Ensure that withdrawn events have a corresponding event

Precondition:

* lei:RegistrationStatus NOT IN ['ANNULLED'] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent/@event_status IN ['WITHDRAWN_CANCELLED']

Condition:

* FOR ALL-APPLICABLE lei:LegalEntityEventType: * $COUNT($LEGAL_ENTITY_EVENTS) WITH lei:LegalEntityEvent/@event_status IN ['WITHDRAWN_CANCELLED'] $COUNT($LEGAL_ENTITY_EVENTS) WITH lei:LegalEntityEvent/@event_status IN ['IN_PROGRESS'] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEventEffectiveDate $DATE_PART WITH lei:LegalEntityEvent/@event_status IN ['COMPLETED'] == lei:LegalEntityEventEffectiveDate $DATE_PART WITH lei:LegalEntityEvent/@event_status IN ['WITHDRAWN_CANCELLED']

Guarantee plausibility of successor information for duplicate records

Precondition:

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

Condition:

* $COUNT($UNIQUE(lei:SuccessorLEI)) - 1 == ($COUNT($UNIQUE $REFERRED_EVENT lei:SuccessorLEI) - $COUNT($UNIQUE lei:SuccessorLEI) WITH: * lei:LegalEntityEvent/@event_status IN ['WITHDRAWN_CANCELLED']) * lei:LegalEntityEventEffectiveDate $DATE_PART == $REFERRED_EVENT lei:LegalEntityEventEffectiveDate $DATE_PART * lei:LegalEntityEventType == $REFERRED_EVENT lei:LegalEntityEventType * lei:ValidationDocuments == $REFERRED_EVENT lei:ValidationDocuments

Verify that group sequence is not provided for events that do not have any sequence information

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent/@group_type IN ['STANDALONE', 'CHANGE_LEGAL_FORM_AND_NAME']

Condition:

* FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * lei:LegalEntityEvent/@group_sequence_no NOT $PRESENT

Successor information is not repeated outside of legal entity events

Precondition:

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

Condition:

* FOR lei:SuccessorEntityName: * FOR lei:SuccessorLEI: * RUT lei:SuccessorEntityName NOT $EQUALS lei:LegalName WITH lei:LEI $EQUALS RUT lei:SuccessorLEI * RUT lei:SuccessorEntityName NOT $EQUALS lei:OtherEntityName WITH lei:OtherEntityNameType IN ['TRADING_OR_OPERATING_NAME', 'PREVIOUS_LEGAL_NAME'] WITH lei:LEI $EQUALS RUT lei:SuccessorLEI

All characters comply with UTF-8

Precondition:

Condition:

* lei:LegalName $UTF_8 * FOR ALL-APPLICABLE lei:OtherEntityNames: * OtherEntityName $UTF_8 * lei:LegalAddress/lei:FirstAddressLine $UTF_8 * FOR ALL-APPLICABLE lei:LegalAddress: * lei:AdditionalAddressLine $UTF_8 * lei:AdditionalAddressLine[1] $UTF_8 * lei:AdditionalAddressLine[2] $UTF_8 * lei:AdditionalAddressLine[3] $UTF_8 * lei:MailRouting $UTF_8 * lei:City $UTF_8 * lei:AddressNumber $UTF_8 * lei:HeadquartersAddress/lei:FirstAddressLine $UTF_8 * FOR ALL-APPLICABLE lei:HeadquartersAddress: * lei:AdditionalAddressLine $UTF_8 * lei:AdditionalAddressLine[1] $UTF_8 * lei:AdditionalAddressLine[2] $UTF_8 * lei:AdditionalAddressLine[3] $UTF_8 * lei:MailRouting $UTF_8 * lei:City $UTF_8 * lei:AddressNumber $UTF_8 * lei:OtherLegalForm $UTF_8 * lei:OtherRegistrationAuthorityID $UTF_8 * lei:OtherValidationAuthorityID $UTF_8

Verify that branch entities use correct address information

Precondition:

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

Condition:

* lei:LegalJurisdiction $COUNTRY_PART NOT $EQUALS lei:LegalAddress/lei:Country

Postal code matches the country's prescribed format

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * lei:LegalAddress/lei:Country $PRESENT * lei:LegalAddress/lei:Country IN $POSTAL_CODES_LIST/country_code * lei:LegalAddress/lei:PostalCode $PRESENT * OR * lei:HeadquartersAddress/lei:Country $PRESENT * lei:HeadquartersAddress/lei:Country IN $POSTAL_CODES_LIST/country_code * lei:HeadquartersAddress/lei:PostalCode $PRESENT

Condition:

* lei:LegalAddress/lei:PostalCode $PATTERN_MATCH $POSTAL_CODES_LIST/regex * lei:HeadquartersAddress/lei:PostalCode $PATTERN_MATCH $POSTAL_CODES_LIST/regex

Successor information is present for relevant retired records

Precondition:

* lei:RegistrationStatus IN ['RETIRED'] * $COUNT($LEGAL_ENTITY_EVENTS) == 0 WITH: * lei:LegalEntityEventType IN ['ABSORPTION', 'BANKRUPTCY', 'CHANGE_LEGAL_FORM', 'DISSOLUTION', 'LIQUIDATION', 'MERGERS_AND_ACQUISITIONS'] * lei:LegalEntityEvent/@event_status IN ['COMPLETED'] * lei:LegalEntityEventEffectiveDate $PRESENT * lei:LegalEntityEventEffectiveDate > $REFERRED_EVENT lei:LegalEntityEventEffectiveDate WITH lei:LegalEntityEventType IN ['ABSORPTION', 'ACQUISITION_BRANCH', 'BREAKUP', 'DEMERGER', 'MERGERS_AND_ACQUISITIONS', 'SPINOFF', 'TRANSFORMATION_BRANCH_TO_SUBSIDIARY', 'TRANSFORMATION_UMBRELLA_TO_STANDALONE'] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent/@event_status IN ['COMPLETED'] * lei:LegalEntityEventEffectiveDate $PRESENT * lei:LegalEntityEventType IN ['ABSORPTION', 'ACQUISITION_BRANCH', 'BREAKUP', 'DEMERGER', 'MERGERS_AND_ACQUISITIONS', 'SPINOFF', 'TRANSFORMATION_BRANCH_TO_SUBSIDIARY', 'TRANSFORMATION_UMBRELLA_TO_STANDALONE'] * lei:LegalEntityEventEffectiveDate

Condition:

* lei:SuccessorLEI $PRESENT * OR * lei:SuccessorEntityName $PRESENT

No duplicate legal entity events are present

Precondition:

* lei:RegistrationStatus IN ['ISSUED', 'LAPSED', 'RETIRED'] * COUNT($LEGAL_ENTITY_EVENTS) > 1 WITH: * lei:LegalEntityEventType NOT IN ['ACQUISITION_BRANCH', 'TRANSFORMATION_BRANCH_TO_SUBSIDIARY', 'MERGERS_AND_ACQUISITIONS', 'ABSORPTION'] * OR * COUNT($LEGAL_ENTITY_EVENTS) > 1 WITH: * lei:LegalEntityEventType IN ['ACQUISITION_BRANCH', 'TRANSFORMATION_BRANCH_TO_SUBSIDIARY', 'MERGERS_AND_ACQUISITIONS', 'ABSORPTION'] * lei:AffectedField WITH: * lei:AffectedField/@field_xpath('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorLEI') $PRESENT * OR * lei:AffectedField/@field_xpath('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorEntityName') $PRESENT

Condition:

* FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS WITH lei:LegalEntityEventType NOT IN ['ACQUISITION_BRANCH', 'TRANSFORMATION_BRANCH_TO_SUBSIDIARY', 'MERGERS_AND_ACQUISITIONS', 'ABSORPTION']: * lei:LegalEntityEventType NOT $EQUALS $REFERRED_EVENT lei:LegalEntityEventType * OR * lei:LegalEntityEvent/@event_status NOT $EQUALS $REFERRED_EVENT lei:LegalEntityEvent/@event_status * OR * lei:LegalEntityEventEffectiveDate $DATE_PART NOT $EQUALS $REFERRED_EVENT lei:LegalEntityEventEffectiveDate $DATE_PART * OR * lei:LegalEntityEvent/@group_id NOT $EQUALS $REFERRED_EVENT lei:LegalEntityEvent/@group_id * OR * lei:ValidationDocuments NOT $EQUALS $REFERRED_EVENT lei:ValidationDocuments * FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS WITH lei:LegalEntityEventType IN ['ACQUISITION_BRANCH', 'TRANSFORMATION_BRANCH_TO_SUBSIDIARY', 'MERGERS_AND_ACQUISITIONS', 'ABSORPTION']: * lei:LegalEntityEventType NOT $EQUALS $REFERRED_EVENT lei:LegalEntityEventType * OR * lei:LegalEntityEvent/@event_status NOT $EQUALS $REFERRED_EVENT lei:LegalEntityEvent/@event_status * OR * lei:LegalEntityEventEffectiveDate $DATE_PART NOT $EQUALS $REFERRED_EVENT lei:LegalEntityEventEffectiveDate $DATE_PART * OR * lei:LegalEntityEvent/@group_id NOT $EQUALS $REFERRED_EVENT lei:LegalEntityEvent/@group_id * OR * lei:ValidationDocuments NOT $EQUALS $REFERRED_EVENT lei:ValidationDocuments * OR * lei:SuccessorLEI IN lei:AffectedField/@field_xpath('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorLEI') NOT $EQUALS $REFERRED_EVENT lei:SuccessorLEI IN lei:field_xpath('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorLEI') * OR * lei:SuccessorEntityName IN lei:AffectedField/@field_xpath('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorEntityName') NOT $EQUALS $REFERRED_EVENT lei:SuccessorEntityName IN lei:field_xpath('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorEntityName')

Ensure that child relationships use correct registration status when record is inactive

Precondition:

* lei:RegistrationStatus IN ['RETIRED'] * $COUNT($REPORTED_CHILD_RELATIONSHIPS) > 0 WITH: * lei:ManagingLOU $EQUALS rr:ManagingLOU * rr:RegistrationStatus NOT IN ['ANNULLED', 'DUPLICATE', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL', 'LAPSED']

Condition:

* FOR ALL-APPLICABLE $REPORTED_CHILD_RELATIONSHIPS: * rr:RegistrationStatus IN ['RETIRED']

Detect illegal state transitions from erroneous registrations

Precondition:

* lei:LEI $VALID * $PREVIOUS_VERSION(RUT lei:RegistrationStatus) IN ['ANNULLED', 'DUPLICATE']

Condition:

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

Detect implausible city names

Precondition:

* lei:RegistrationStatus IN ['ISSUED', 'LAPSED'] * $COUNT(CITY_NAMES_LIST/ID) > 0 WITH: * CITY_NAMES_LIST/COUNTRY_CODE == lei:LegalAddress/lei:Country * CITY_NAMES_LIST/PCODE == lei:LegalAddress/lei:PostalCode * CITY_NAMES_LIST/LOC_LANGUAGE == lei:LegalAddress/@xml:lang * OR * $COUNT(CITY_NAMES_LIST/ID) > 0 WITH: * CITY_NAMES_LIST/COUNTRY_CODE == lei:HeadquartersAddress/lei:Country * CITY_NAMES_LIST/PCODE == lei:HeadquartersAddress/lei:PostalCode * CITY_NAMES_LIST/LOC_LANGUAGE == lei:HeadquartersAddress/@xml:lang

Condition:

* $COUNT(CITY_NAMES_LIST/ID) == 1 WITH: * CITY_NAMES_LIST/CITY_NAME == lei:LegalAddress/lei:City * $COUNT(CITY_NAMES_LIST/ID) == 1 WITH: * CITY_NAMES_LIST/CITY_NAME == lei:HeadquartersAddress/lei:City

Direct parents do not describe a circular relationship

Precondition:

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

Condition:

* FOR ALL-APPLICABLE $REPORTED_PARENT_RELATIONSHIPS IN $RELATIONSHIP_CHAIN: * rr:EndNode/rr:NodeID NOT $EQUALS lei:LEI

Detect violations of transfer protocol

Precondition:

* lei:LEI $VALID * $COUNT($PREVIOUS_VERSION) == 1 * $PREVIOUS_VERSION(RUT lei:RegistrationStatus) IN ['PENDING_ARCHIVAL'] * lei:ManagingLOU NOT $EQUALS $PREVIOUS_VERSION(lei:ManagingLOU)

Condition:

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

All characters in the legal name match corresponding language unicode range

Precondition:

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

Condition:

* lei:LegalName $STRICT_PATTERN_MATCH $LANGUAGE_CHARACTERS_LIST/language

Entity status NULL must correspond to registration status

Precondition:

* lei:EntityStatus IN ['NULL'] * lei:EntityCategory NOT IN ['FUND'] * lei:RegistrationStatus NOT IN ['PENDING_TRANSFER', 'PENDING_ARCHIVAL']

Condition:

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

Change legal form and name group contains plausible event types

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent/@group_id $PRESENT * lei:LegalEntityEvent/@group_type IN ['CHANGE_LEGAL_FORM_AND_NAME'] * lei:LegalEntityEvent/@event_status NOT IN ['WITHDRAWN_CANCELLED']

Condition:

* FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * $COUNT($LEGAL_ENTITY_EVENTS) == 1 WITH: * lei:LegalEntityEvent/@group_id == $REFERRED_EVENT lei:LegalEntityEvent/@group_id * lei:LegalEntityEvent IN ['CHANGE_LEGAL_NAME'] * lei:LegalEntityEvent/@event_status IN ['COMPLETED'] * OR * lei:LegalEntityEvent/@group_id == $REFERRED_EVENT lei:LegalEntityEvent/@group_id * lei:LegalEntityEvent IN ['CHANGE_LEGAL_NAME'] * lei:LegalEntityEvent/@event_status IN ['IN_PROGRESS'] * $COUNT($LEGAL_ENTITY_EVENTS) == 1 WITH: * lei:LegalEntityEvent/@group_id == $REFERRED_EVENT lei:LegalEntityEvent/@group_id * lei:LegalEntityEventType IN ['CHANGE_LEGAL_FORM'] * lei:LegalEntityEvent/@event_status IN ['COMPLETED'] * OR * lei:LegalEntityEvent/@group_id == $REFERRED_EVENT lei:LegalEntityEvent/@group_id * lei:LegalEntityEventType IN ['CHANGE_LEGAL_FORM'] * lei:LegalEntityEvent/@event_status IN ['IN_PROGRESS']

The address information is provided in local language that matches the legal and headquarters address country

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * lei:EntityCategory NOT IN ['BRANCH'] * lei:LegalAddress WITH: * lei:LegalAddress/@xml:lang $PRESENT * lei:LegalAddress/lei:Country IN ['BG', 'BY', 'CN', 'EE', 'FR', 'GE', 'JP', 'KH', 'KR', 'MD', 'MK', 'PL', 'RU', 'TH', 'UA', 'VN'] * OR * lei:HeadquartersAddress WITH: * lei:HeadquartersAddress/@xml:lang $PRESENT * lei:HeadquartersAddress/lei:Country IN ['BG', 'BY', 'CN', 'EE', 'FR', 'GE', 'JP', 'KH', 'KR', 'MD', 'MK', 'PL', 'RU', 'TH', 'UA', 'VN']

Condition:

* lei:LegalAddress/@xml:lang $EQUALS $COUNTRY_LANGUAGE_LIST/country * lei:HeadquartersAddress/@xml:lang $EQUALS $COUNTRY_LANGUAGE_LIST/country * OR * lei:HeadquartersAddress/@xml:lang $EQUALS lei:LegalAddress/lei:Country $COUNTRY_LANGUAGE_LIST/country

Group id is provided for relevant event group types

Precondition:

* lei:RegistrationStatus IN ['ISSUED', 'LAPSED', 'RETIRED'] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent/@group_type IN ['CHANGE_LEGAL_FORM_AND_NAME', 'REVERSE_TAKEOVER']

Condition:

* FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * lei:LegalEntityEvent/@group_id $PRESENT

Successor name does not contain an LEI Code

Precondition:

* lei:RegistrationStatus IN ['ISSUED', 'LAPSED', 'RETIRED', 'DUPLICATE'] * lei:SuccessorEntityName $PRESENT

Condition:

* FOR ALL-APPLICABLE lei:SuccessorEntityName: * lei:SuccessorEntityName NOT $PATTERN_MATCH ^[0-9A-Z]{18}[0-9]{2}$

Postal code shall be included for countries in scope of postal code pattern matching

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * lei:LegalAddress/lei:Country NOT IN ['HK', 'JM'] * lei:LegalAddress/lei:Country IN $POSTAL_CODES_LIST/country_code * OR * lei:HeadquartersAddress/lei:Country NOT IN ['HK', 'JM'] * lei:HeadquartersAddress/lei:Country IN $POSTAL_CODES_LIST/country_code

Condition:

* lei:LegalAddress/lei:PostalCode $PRESENT * lei:HeadquartersAddress/lei:PostalCode $PRESENT

No affected fields shall be present for completed events reporting no successor entities

Precondition:

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

Condition:

* FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * lei:AffectedFields NOT $PRESENT * OR * $COUNT(lei:AffectedField) > 0 WITH: * lei:AffectedField/@field_xpath IN ['/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorLEI', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorEntityName']

Plausible next renewal date for lapsed records is used

Precondition:

* lei:RegistrationStatus IN ['LAPSED']

Condition:

* lei:NextRenewalDate $DATE_PART

All direct parents use the same ultimate parent

Precondition:

* $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * rr:EndNode/rr:NodeID $VALID * $END_NODE_RECORD lei:RegistrationStatus IN ['ISSUED'] * $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * rr:EndNode/rr:NodeID $VALID

Condition:

* FOR ALL-APPLICABLE $REPORTED_PARENT_RELATIONSHIPS IN $RELATIONSHIP_CHAIN WITH rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY']: * $REFERRED_RECORD rr:EndNode/rr:NodeID $EQUALS RUT rr:EndNode/rr:NodeID WITH: * RUT rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * RUT rr:RegistrationStatus IN ['PUBLISHED'] * OR * $REFERRED_RECORD $COUNT($REPORTED_EXCEPTIONS) > 0 WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * repex:ExceptionReason IN ['NON_PUBLIC']

No placeholders shall be used in address information

Precondition:

* lei:RegistrationStatus IN ['ISSUED']

Condition:

* FOR FIELD IN [lei:LegalAddress, lei:HeadquartersAddress, lei:OtherAddress, lei:TransliteratedOtherAddress]: * lei:AdditionalAddressLine[1] NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST) * lei:AdditionalAddressLine[2] NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST) * lei:AdditionalAddressLine[3] NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST) * lei:City NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST) * lei:PostalCode NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST) * lei:MailRouting NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST) * lei:FirstAddressLine NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER * lei:AdditionalAddressLine[1] NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER * lei:AdditionalAddressLine[2] NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER * lei:AdditionalAddressLine[3] NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER * lei:City NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER * lei:PostalCode NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER * lei:MailRouting NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER

RA999999 is not used as OtherValidationAuthority

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * lei:OtherValidationAuthorities $PRESENT

Condition:

* FOR lei:OtherValidationAuthority: * lei:OtherValidationAuthority/lei:ValidationAuthorityID NOT IN ['RA999999']

Transliterated language information shall be correct

Precondition:

* lei:RegistrationStatus NOT IN ['ANNULLED', 'DUPLICATE'] * $COUNT(lei:TransliteratedOtherEntityName) > 0 WITH: * lei:TransliteratedOtherEntityName/@xml:lang $PRESENT * lei:LegalName/@xml:lang $PRESENT * OR * lei:OtherEntityName/@xml:lang $PRESENT * $COUNT(lei:TransliteratedOtherAddress) > 0 WITH: * lei:TransliteratedOtherAddress/@xml:lang $PRESENT * lei:LegalAddress/@xml:lang $PRESENT * OR * lei:HeadquartersAddress/@xml:lang $PRESENT

Condition:

* FOR ALL-APPLICABLE lei:TransliteratedOtherEntityName: * lei:TransliteratedOtherEntityName/@xml:lang $EQUALS lei:LegalName/@xml:lang * OR * lei:TransliteratedOtherEntityName/@xml:lang $EQUALS lei:OtherEntityName/@xml:lang * FOR ALL-APPLICABLE lei:TransliteratedOtherAddress WITH: * lei:TransliteratedOtherAddress/@type IN ['AUTO_ASCII_TRANSLITERATED_LEGAL_ADDRESS', 'PREFERRED_ASCII_TRANSLITERATED_LEGAL_ADDRESS']: * lei:TransliteratedOtherAddress/@xml:lang $UNIQUE * lei:TransliteratedOtherAddress/@xml:lang $EQUALS lei:LegalAddress/@xml:lang * FOR ALL-APPLICABLE lei:TransliteratedOtherAddress WITH: * lei:TransliteratedOtherAddress/@type IN ['AUTO_ASCII_TRANSLITERATED_HEADQUARTERS_ADDRESS', 'PREFERRED_ASCII_TRANSLITERATED_HEADQUARTERS_ADDRESS']: * lei:TransliteratedOtherAddress/@xml:lang $UNIQUE * lei:TransliteratedOtherAddress/@xml:lang $EQUALS lei:HeadquartersAddress/@xml:lang

Ensure previous legal names are unique and not repetitive

Precondition:

* COUNT(lei:OtherEntityName) > 0 WITH: * lei:OtherEntityNameType IN ['PREVIOUS_LEGAL_NAME'] * lei:RegistrationStatus NOT IN ['ANNULLED']

Condition:

* FOR ALL-APPLICABLE lei:OtherEntityName: * lei:OtherEntityName $UNIQUE

Correct legal form is provided for branch entities

Precondition:

* lei:EntityCategory IN ['BRANCH'] * lei:RegistrationStatus IN ['ISSUED', 'LAPSED'] * $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_INTERNATIONAL_BRANCH_OF'] * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * rr:EndNode/rr:NodeID $VALID * rr:StartNode/rr:NodeID NOT $EQUALS rr:EndNode/rr:NodeID

Condition:

* lei:EntityLegalFormCode $EQUALS $END_NODE_RECORD lei:EntityLegalFormCode

Other Validation Authorities is present where applicable

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * lei:ValidationAuthorityID $PRESENT * lei:ValidationAuthorityID IN ['RA000533']

Condition:

* lei:OtherValidationAuthorities $PRESENT

Avoid redundancy in legal name and alternative language legal name languages

Precondition:

* lei:LegalName/@xml:lang $PRESENT * lei:OtherEntityNames $PRESENT * $COUNT(lei:OtherEntityName) > 0 WITH: * lei:OtherEntityName/@xml:lang $PRESENT * lei:OtherEntityName/@type IN ['ALTERNATIVE_LANGUAGE_LEGAL_NAME'] * lei:RegistrationStatus NOT IN ['ANNULLED']

Condition:

* FOR ALL-APPLICABLE lei:OtherEntityName: * lei:OtherEntityName/@xml:lang NOT $EQUALS lei:LegalName/@xml:lang * $COUNT(ALL-APPLICABLE NOT $UNIQUE lei:OtherEntityName/@xml:lang)

Last update date and recorded date are plausible

Precondition:

* $COUNT($LEGAL_ENTITY_EVENTS) > 1 * lei:RegistrationStatus NOT IN ['ANNULLED','DUPLICATE']

Condition:

* FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * lei:LegalEntityEventRecordedDate

Report no parent entities for sole proprietors

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * lei:EntityCategory IN ['SOLE_PROPRIETOR']

Condition:

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

Branch entity must be registered

Precondition:

* lei:RegistrationStatus NOT IN ['ANNULLED', 'DUPLICATE'] * lei:EntityCategory IN ['BRANCH'] * lei:RegistrationAuthority $PRESENT * lei:RegistrationAuthorityID $PRESENT * OR * lei:ValidationAuthority $PRESENT * lei:ValidationAuthorityID $PRESENT

Condition:

* lei:RegistrationAuthorityID NOT IN ['RA999999'] * lei:ValidationAuthorityID NOT IN ['RA999999']

International organizations use correct reporting exception reason

Precondition:

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

Condition:

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

Detect inactive entities that become active

Precondition:

* lei:LEI $VALID * $PREVIOUS_VERSION(RUT lei:RegistrationStatus) IN ['RETIRED']

Condition:

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

Ensure address region matches with country information

Precondition:

* lei:RegistrationStatus IN ['ISSUED', 'LAPSED'] * lei:LegalAddress/lei:Region $PRESENT * lei:LegalAddress/lei:Region IN ISO_3166_2 * OR * lei:HeadquartersAddress/lei:Region $PRESENT * lei:HeadquartersAddress/lei:Region IN ISO_3166_2 * OR * COUNT(lei:OtherAddresses) > 0 WITH: * lei:OtherAddress/lei:Region $PRESENT * lei:OtherAddress/lei:Region IN ISO_3166_2 * OR * COUNT(lei:TransliteratedOtherAddresses) > 0 WITH: * lei:TransliteratedOtherAddress/lei:Region $PRESENT * lei:TransliteratedOtherAddress/lei:Region IN ISO_3166_2

Condition:

* lei:LegalAddress/lei:Country $EQUALS lei:LegalAddress/lei:Region ISO_3166_1_ALPHA_2 * lei:HeadquartersAddress/lei:Country $EQUALS lei:HeadquartersAddress/lei:Region ISO_3166_1_ALPHA_2 * FOR ALL-APPLICABLE lei:OtherAddress: * lei:OtherAddress/lei:Country $EQUALS lei:OtherAddress/lei:Region ISO_3166_1_ALPHA_2 * FOR ALL-APPLICABLE lei:TransliteratedOtherAddress: * lei:TransliteratedOtherAddress/lei:Country $EQUALS lei:TransliteratedOtherAddress/lei:Region ISO_3166_1_ALPHA_2

Successor information does not contain any placeholder values

Precondition:

* lei:RegistrationStatus IN ['ISSUED', 'LAPSED', 'RETIRED'] * lei:SuccessorEntityName $PRESENT * OR * COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:AffectedField WITH: * lei:AffectedField/@field_xpath IN ['/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorEntityName']

Condition:

* FOR ALL-APPLICABLE lei:SuccessorEntityName: * lei:SuccessorEntityName NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER * lei:SuccessorEntityName NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST) * FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * lei:SuccessorEntityName NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER * lei:SuccessorEntityName NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST)

Appropriate code in other addresses region and transliterated other addresses region

Precondition:

* lei:RegistrationStatus IN ['ISSUED', 'LAPSED'] * COUNT(lei:OtherAddress) > 0 WITH: * lei:OtherAddress/lei:Region $PRESENT * OR * COUNT(lei:TransliteratedOtherAddress) > 0 WITH: * lei:TransliteratedOtherAddress/lei:Region $PRESENT

Condition:

* FOR ALL-APPLICABLE lei:OtherAddresses: * lei:OtherAddress/lei:Region IN ISO_3166_2 * FOR ALL-APPLICABLE lei:TransliteratedOtherAddresses: * lei:TransliteratedOtherAddress/lei:Region IN ISO_3166_2

Initial registration date is plausible

Precondition:

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

Condition:

* IF lei:LEI $STARTS_WITH $LEI_ISSUER_PREFIXES/PREFIX: * lei:InitialRegistrationDate $DATE_PART >= $LEI_ISSUER_LIST/START_DATE $DATE_PART * IF lei:LEI NOT $STARTS_WITH $LEI_ISSUER_PREFIXES/PREFIX: * lei:InitialRegistrationDate $DATE_PART >= $DATETIME('2012-06-05T00:00:00+00:00') $DATE_PART

Ensure translated legal names are unique

Precondition:

* COUNT(lei:OtherEntityName) > 0 WITH: * lei:OtherEntityName/@type IN ['ALTERNATIVE_LANGUAGE_LEGAL_NAME'] * lei:LegalJurisdiction NOT IN ['CH']

Condition:

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

Ensure transliterated legal names are unique

Precondition:

* lei:TransliteratedOtherEntityNames $PRESENT * lei:LegalJurisdiction NOT IN ['CH']

Condition:

* FOR lei:TransliteratedOtherEntityName: * lei:TransliteratedOtherEntityName NOT $EQUALS lei:LegalName * lei:TransliteratedOtherEntityName $UNIQUE

Translated names shall be different than transliterated names

Precondition:

* lei:TransliteratedOtherEntityNames $PRESENT * COUNT(lei:OtherEntityName) > 0 WITH: * lei:OtherEntityNameType IN ['ALTERNATIVE_LANGUAGE_LEGAL_NAME']

Condition:

* FOR ALL-APPLICABLE lei:OtherEntityName: * FOR lei:TransliteratedOtherEntityName: * lei:OtherEntityName NOT $EQUALS lei:TransliteratedOtherEntityName

Branches shall be inactive if their head office is inactive

Precondition:

* lei:EntityCategory IN ['BRANCH'] * lei:RegistrationStatus NOT IN ['ANNULLED', 'DUPLICATE'] * $COUNT($REPORTED_PARENT_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_INTERNATIONAL_BRANCH_OF'] * rr:EndNode/rr:NodeID $VALID * $END_NODE_RECORD lei:RegistrationStatus IN ['RETIRED'] * rr:StartNode/rr:NodeID NOT $EQUALS rr:EndNode/rr:NodeID

Condition:

* lei:RegistrationStatus IN ['RETIRED'] * OR * $COUNT($REPORTED_PARENT_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_INTERNATIONAL_BRANCH_OF'] * rr:EndNode/rr:NodeID $VALID * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL'] * $END_NODE_RECORD lei:RegistrationStatus IN ['ISSUED', 'LAPSED', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL']

Provide complete, distinct parent information for RETIRED non-branches

Precondition:

* lei:EntityCategory NOT IN ['BRANCH'] * lei:InitialRegistrationDate >= $DATETIME('2024-04-11T00:00:00+00:00') * lei:RegistrationStatus IN ['RETIRED']

Condition:

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

Provide complete, distinct parent information for LAPSED non-branches

Precondition:

* lei:EntityCategory NOT IN ['BRANCH'] * lei:InitialRegistrationDate >= $DATETIME('2018-01-01T00:00:00+00:00') * lei:RegistrationStatus IN ['LAPSED']

Condition:

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

Relationships for funds in formation are applied correctly

Precondition:

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

Condition:

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

All direct children use the same ultimate parent

Precondition:

* $COUNT($REPORTED_CHILD_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * rr:EndNode/rr:NodeID $VALID

Condition:

* FOR ALL-APPLICABLE $REPORTED_CHILD_RELATIONSHIPS IN $RELATIONSHIP_CHAIN WITH rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY']: * $REFERRED_RECORD rr:EndNode/rr:NodeID $EQUALS RUT rr:EndNode/rr:NodeID WITH: * RUT rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * RUT rr:RegistrationStatus IN ['PUBLISHED'] * OR * $REFERRED_RECORD $COUNT($REPORTED_EXCEPTIONS) > 0 WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * repex:ExceptionReason IN ['NON_PUBLIC']

Ensure other validation authority is used correctly

Precondition:

* lei:RegistrationStatus IN ['ISSUED', 'LAPSED'] * lei:OtherValidationAuthorityID $PRESENT

Condition:

* $NORMALIZED(lei:OtherValidationAuthorityID) NOT $PATTERN_MATCH('/^RAd{6}$/')

The legal name information is provided in local language that matches the jurisdiction

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * lei:LegalJurisdiction IN ['BG', 'GE', 'KH', 'KR', 'MK', 'RU', 'TH', 'UA', 'VN'] * lei:EntityCategory NOT IN ['BRANCH'] * lei:LegalName/@xml:lang $PRESENT

Condition:

* lei:LegalName/@xml:lang $MATCHES $COUNTRY_LANGUAGE_LIST/country

All direct children use the same reporting exception

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * $COUNT($REPORTED_CHILD_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * $COUNT($REPORTED_CHILD_RELATIONSHIPS) == 0 WITH: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * repex:ExceptionReason IN ['NO_LEI', 'NON_CONSOLIDATING', 'NATURAL_PERSONS', 'NO_KNOWN_PERSON']

Condition:

* FOR ALL-APPLICABLE $REPORTED_CHILD_RELATIONSHIPS IN $RELATIONSHIP_CHAIN WITH rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY']: * $REFERRED_RECORD $COUNT($REPORTED_EXCEPTIONS) > 0 WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * repex:ExceptionReason $EQUALS RUT repex:ExceptionReason * $REFERRED_RECORD $COUNT($REPORTED_RELATIONSHIPS) == 0 WITH: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * OR * repex:ExceptionReason IN ['NON_PUBLIC']

All direct parents use the same reporting exception

Precondition:

* $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * rr:EndNode/rr:NodeID $VALID * $END_NODE_RECORD lei:RegistrationStatus IN ['ISSUED'] * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * repex:ExceptionReason IN ['NO_LEI', 'NON_CONSOLIDATING', 'NATURAL_PERSONS', 'NO_KNOWN_PERSON']

Condition:

* FOR ALL-APPLICABLE $REPORTED_PARENT_RELATIONSHIPS IN $RELATIONSHIP_CHAIN WITH rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY']: * $REFERRED_RECORD $COUNT($REPORTED_EXCEPTIONS) > 0 WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * repex:ExceptionReason $EQUALS RUT repex:ExceptionReason * $REFERRED_RECORD $COUNT($REPORTED_RELATIONSHIPS) == 0 WITH: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * OR * repex:ExceptionReason IN ['NON_PUBLIC']

Previous legal names are listed after legal name change

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEventType IN ['CHANGE_LEGAL_NAME'] * lei:LegalEntityEventEffectiveDate >= $DATETIME('2022-04-01T00:00:00+00:00') * lei:LegalEntityEvent/@event_status IN ['COMPLETED'] * $COUNT($REFERRED_EVENT) == 0 WITH: * $REFERRED_EVENT lei:LegalEntityEvent/@event_status IN ['WITHDRAWN_CANCELLED'] * lei:LegalEntityEventEffectiveDate $DATE_PART == $REFERRED_EVENT lei:LegalEntityEventEffectiveDate $DATE_PART * lei:LegalEntityEventType == $REFERRED_EVENT lei:LegalEntityEventType * lei:ValidationDocuments == $REFERRED_EVENT lei:ValidationDocuments

Condition:

* $COUNT(lei:OtherEntityName) > 0 WITH: * lei:OtherEntityNameType IN ['PREVIOUS_LEGAL_NAME']

All previous name changes have corresponding legal entity events

Precondition:

* lei:EntityCreationDate >= $DATETIME('2022-04-01T00:00:00+00:00') * lei:RegistrationStatus IN ['ISSUED'] * $COUNT(lei:OtherEntityName) > 0 WITH: * lei:OtherEntityNameType IN ['PREVIOUS_LEGAL_NAME']

Condition:

* $COUNT($LEGAL_ENTITY_EVENTS) >= $COUNT(ALL-APPLICABLE lei:OtherEntityName) WITH: * lei:LegalEntityEvent/@event_status IN ['COMPLETED'] * lei:LegalEntityEventType IN ['CHANGE_LEGAL_NAME'] * $COUNT($REFERRED_EVENT) == 0 WITH: * $REFERRED_EVENT lei:LegalEntityEvent/@event_status IN ['WITHDRAWN_CANCELLED'] * lei:LegalEntityEventEffectiveDate $DATE_PART == $REFERRED_EVENT lei:LegalEntityEventEffectiveDate $DATE_PART * lei:LegalEntityEventType == $REFERRED_EVENT lei:LegalEntityEventType * lei:ValidationDocuments == $REFERRED_EVENT lei:ValidationDocuments

All direct children confirm that the ultimate parent is not public

Precondition:

* lei:RegistrationStatus IN ['ISSUED'] * $COUNT($REPORTED_CHILD_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * $COUNT($REPORTED_CHILD_RELATIONSHIPS) == 0 WITH: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * repex:ExceptionReason IN ['NON_PUBLIC']

Condition:

* FOR ALL-APPLICABLE $REPORTED_CHILD_RELATIONSHIPS IN $RELATIONSHIP_CHAIN WITH rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY']: * $REFERRED_RECORD $COUNT($REPORTED_EXCEPTIONS) > 0 WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * repex:ExceptionReason $EQUALS RUT repex:ExceptionReason * $REFERRED_RECORD $COUNT($REPORTED_RELATIONSHIPS) == 0 WITH: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED']

All direct parents confirm that the ultimate parent is not public

Precondition:

* $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * rr:EndNode/rr:NodeID $VALID * $END_NODE_RECORD lei:RegistrationStatus IN ['ISSUED'] * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * repex:ExceptionReason IN ['NON_PUBLIC']

Condition:

* FOR ALL-APPLICABLE $REPORTED_PARENT_RELATIONSHIPS IN $RELATIONSHIP_CHAIN WITH rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY']: * $REFERRED_RECORD $COUNT($REPORTED_EXCEPTIONS) > 0 WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * repex:ExceptionReason $EQUALS RUT repex:ExceptionReason * $REFERRED_RECORD $COUNT($REPORTED_RELATIONSHIPS) == 0 WITH: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED']