Data Quality Checks Details
Currently following checks are building the Rule Setting applied for the generation of the Data Quality Reports.
The Rule Setting is also available as PDF or 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']