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_RELATIONSHIPS) == 0 WITH: * rr:RegistrationStatus $MUTABLE * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionReason IN ['NATURAL_PERSONS', 'NON_CONSOLIDATING', 'NO_KNOWN_PERSON'] * repex:ExceptionCategory IN ['DIRECT_ACCOUNTING_CONSOLIDATION_PARENT'] * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionReason IN ['NATURAL_PERSONS', 'NON_CONSOLIDATING', 'NO_KNOWN_PERSON'] * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT']
Reporting exceptions are distinct and without concurrent relationship records
Precondition:
* $COUNT($REPORTED_EXCEPTIONS) > 0
Condition:
* FOR $REPORTED_EXCEPTIONS: * repex:ExceptionCategory $UNIQUE * IF repex:ExceptionCategory IN ['DIRECT_ACCOUNTING_CONSOLIDATION_PARENT']: * $COUNT($REPORTED_RELATIONSHIPS) == 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED','LAPSED']: * rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY'] * IF repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * $COUNT($REPORTED_RELATIONSHIPS) == 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED','LAPSED']: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY']
Provide complete, distinct parent information for non-branches
Precondition:
* lei:EntityCategory NOT IN ['BRANCH'] * lei:RegistrationStatus IN ['ISSUED']
Condition:
* FOR $REPORTED_DIRECT_PARENT_INFO: * $COUNT($REPORTED_EXCEPTIONS) == 1 * OR * $COUNT($REPORTED_RELATIONSHIPS) == 1 WITH: * rr:RegistrationStatus IN ['PUBLISHED'] * FOR $REPORTED_ULTIMATE_PARENT_INFO: * $COUNT($REPORTED_EXCEPTIONS) == 1 * OR * $COUNT($REPORTED_RELATIONSHIPS) == 1 WITH: * rr:RegistrationStatus IN ['PUBLISHED']
Published relationships point to an appropriate parent
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED']
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS WITH: * lei:LEI NOT $EQUALS rr:EndNode/rr:NodeID: * rr:EndNode/rr:NodeID $VALID * lei:RegistrationStatus $MUTABLE * FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS WITH: * lei:LEI $EQUALS rr:EndNode/rr:NodeID: * rr:RelationshipType IN ['IS_FUND-MANAGED_BY']
Validation reference is provided for public regulatory filiings
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:ValidationDocuments IN ['REGULATORY_FILING'] * rr:ValidationSources IN ['FULLY_CORROBORATED', 'PARTIALLY_CORROBORATED']
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * rr:ValidationReference $PRESENT
Ensure correct period dates of retired relationships
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus IN ['RETIRED']
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $COUNT(rr:RelationshipPeriod) > 0 WITH: * rr:PeriodType IN ['RELATIONSHIP_PERIOD'] * rr:StartDate $PRESENT * rr:EndDate $PRESENT * IF rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY','IS_ULTIMATELY_CONSOLIDATED_BY']: * $COUNT(rr:RelationshipPeriod) > 0 WITH: * rr:PeriodType IN ['ACCOUNTING_PERIOD'] * IF $COUNT(rr:RelationshipPeriod) > 0 WITH: * rr:PeriodType IN ['ACCOUNTING_PERIOD']: * rr:StartDate $PRESENT * rr:EndDate $PRESENT
Relationship status is correct when parent record is inactive
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus NOT IN ['DUPLICATE', 'ANNULLED', 'PENDING_ARCHIVAL', 'PENDING_TRANSFER'] * $END_NODE_RECORD lei:RegistrationStatus IN ['RETIRED']
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * rr:RelationshipStatus IN ['INACTIVE']
Ensure relationship status is correct when child record is inactive
Precondition:
* lei:RegistrationStatus IN ['RETIRED'] * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus NOT IN ['DUPLICATE', 'ANNULLED']
Condition:
* rr:RelationshipStatus IN ['INACTIVE']
Verify plausibility of relationship period dates
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipPeriod/rr:StartDate $PRESENT * rr:RelationshipPeriod/rr:EndDate $PRESENT
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * rr:RelationshipPeriod/rr:StartDate
Ensure valid connection between relationship and registration statuses
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipStatus IN ['INACTIVE']
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * rr:RegistrationStatus IN ['RETIRED', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL']
Avoid redundancy in legal address and addresses in alternative languages
Precondition:
* lei:OtherAddress@type IN ['ALTERNATIVE_LANGUAGE_LEGAL_ADDRESS']
Condition:
* FOR ALL-APPLICABLE lei:OtherAddress: * lei:OtherAddress@lang $PRESENT * lei:OtherAddress@lang NOT $EQUALS lei:LegalAddress@lang * lei:OtherAddress NOT $EQUALS_NORMALIZED lei:LegalAddress * FOR FIELD IN [lei:FirstAddressLine, lei:AdditionalAddressLine{0,3}, lei:AddressNumber, lei:AddressNumberWithinBuilding, lei:MailRouting, lei:City, lei:PostalCode]: * lei:OtherAddress NOT $EQUALS_NORMALIZED FIELD
Avoid redundancy in headquarters address and addresses in alternative languages
Precondition:
* lei:OtherAddress@type IN ['ALTERNATIVE_LANGUAGE_HEADQUARTERS_ADDRESS']
Condition:
* FOR ALL-APPLICABLE lei:OtherAddress: * lei:OtherAddress@lang $PRESENT * lei:OtherAddress@lang NOT $EQUALS lei:HeadquartersAddress@lang * lei:OtherAddress NOT $EQUALS_NORMALIZED lei:HeadquartersAddress * FOR FIELD IN [lei:FirstAddressLine, lei:AdditionalAddressLine{0,3}, lei:AddressNumber, lei:AddressNumberWithinBuilding, lei:MailRouting, lei:City, lei:PostalCode]: * lei:OtherAddress $UNIQUE
No validation information is provided for self-supplied entities
Precondition:
* lei:ValidationAuthority $PRESENT * lei:ValidationSources $PRESENT * lei:ValidationSources IN ['ENTITY_SUPPLIED_ONLY'] * lei:ValidationAuthorityID NOT IN ['RA888888']
Condition:
* lei:ValidationAuthorityID IN ['RA999999'] * lei:ValidationAuthorityEntityID NOT $PRESENT
Ensure complete relationship periods with start date for active entities
Precondition:
* lei:EntityStatus IN ['ACTIVE'] * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus NOT IN ['ANNULLED', 'DUPLICATE','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 previous and trading names are unique
Precondition:
* lei:OtherEntityName $PRESENT * lei:OtherEntityNameType IN ['TRADING_OR_OPERATING_NAME']
Condition:
* FOR ALL-APPLICABLE lei:OtherEntityName: * lei:OtherEntityName NOT $EQUALS lei:LegalName * lei:OtherEntityName $UNIQUE
Avoid duplication of validation authority
Precondition:
* lei:OtherValidationAuthorities $PRESENT * lei:ValidationAuthority/lei:ValidationAuthorityID NOT IN ['RA000466', 'RA000585', 'RA000586', 'RA000587']
Condition:
* lei:ValidationAuthority $PRESENT * FOR lei:OtherValidationAuthority: * lei:OtherValidationAuthority/lei:ValidationAuthorityID NOT $EQUALS lei:ValidationAuthority/lei:ValidationAuthorityID
Valid connection between relationship and registration statuses
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipStatus IN ['ACTIVE']
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * rr:RegistrationStatus $MUTABLE
Ensure RA code corresponds to legal jurisdiction
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:RegistrationAuthority $PRESENT * lei:RegistrationAuthorityID IN $RA_CODE_LIST * lei:EntityCategory NOT IN ['INTERNATIONAL_ORGANIZATION']
Condition:
* lei:RegistrationAuthorityID IN ['RA777777', 'RA888888', 'RA999999', 'RA000463'] * OR * IF lei:EntityCategory NOT IN ['BRANCH']: * $RA_CODE_LIST/CountryCode $EQUALS lei:LegalJurisdiction(country-part) * OR * IF lei:EntityCategory IN ['BRANCH']: * $RA_CODE_LIST/CountryCode $EQUALS lei:LegalAddress/Country
Ensure the entity's register number has the expected local format
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:RegistrationAuthority $PRESENT * lei:RegistrationAuthorityID IN $RA_FORMAT_LIST/registration_authority * lei:RegistrationAuthorityEntityID $PRESENT
Condition:
* lei:RegistrationAuthorityEntityID $PATTERN_MATCH $RA_FORMAT_LIST/regex
Ensure local registration identifiers are not repeated
Precondition:
* lei:OtherRegistrationAuthorityID $PRESENT
Condition:
* lei:OtherRegistrationAuthorityID NOT $EQUALS_NORMALIZED lei:RegistrationAuthorityEntityID
Verify expected level of validation for unregistered entities
Precondition:
* lei:RegistrationAuthorityID IN ['RA999999'] * lei:RegistrationStatus $MUTABLE
Condition:
* IF lei:ValidationAuthorityID IN ['RA777777']: * lei:ValidationSources IN ['PARTIALLY_CORROBORATED', 'FULLY_CORROBORATED'] * OR * lei:ValidationSources IN ['ENTITY_SUPPLIED_ONLY']
Verify expected level of validation for registered entities
Precondition:
* lei:RegistrationAuthorityID NOT IN ['RA888888', 'RA999999', 'RA000413]
Condition:
* lei:ValidationSources IN ['PARTIALLY_CORROBORATED', 'FULLY_CORROBORATED']
Ensure ELF code corresponds to legal jurisdiction
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:LegalJurisdiction $PRESENT * lei:LegalFormCode IN $ELF_CODE_LIST
Condition:
* lei:EntityLegalFormCode IN ['8888', '9999'] * OR * $ELF_CODE_LIST/CountryCode $EQUALS lei:LegalJurisdiction * OR * $ELF_CODE_LIST/SubDivisionCode $EQUALS lei:LegalJurisdiction
Ensure OtherLegalForm is not in ELF codelist
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:OtherLegalForm $PRESENT
Condition:
* lei:OtherLegalForm NOT IN $ELF_CODE_LIST
Ensure appropriate entity categorization for entities declaring branch relationship
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus $MUTABLE * rr:RelationshipType IN ['IS_INTERNATIONAL_BRANCH_OF']
Condition:
* lei:EntityCategory IN ['BRANCH']
Only one active relationship of type IS_INTERNATIONAL_BRANCH_OF for Branches
Precondition:
* lei:RegistrationStatus $MUTABLE * $COUNT($REPORTED_RELATIONSHIPS) == 1 WITH: * rr:RegistrationStatus $MUTABLE * $COUNT($REPORTED_EXCEPTIONS) == 0
Condition:
* rr:RelationshipType IN ['IS_INTERNATIONAL_BRANCH_OF']
Ensure branches have expected relationship information
Precondition:
* lei:EntityCategory IN ['BRANCH'] * lei:RegistrationStatus IN ['ISSUED', 'LAPSED']
Condition:
* $COUNT($REPORTED_EXCEPTIONS) == 0 * $COUNT($REPORTED_RELATIONSHIPS) == 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY', 'IS_ULTIMATELY_CONSOLIDATED_BY', 'IS_SUBFUND_OF', 'IS_FUND-MANAGED_BY', 'IS_FEEDER_TO'] * $COUNT($REPORTED_RELATIONSHIPS) == 1 WITH: * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * rr:RelationshipType IN ['IS_INTERNATIONAL_BRANCH_OF']
Ensure there is only one branch per country and it has correct country information
Precondition:
* lei:RegistrationStatus IN ['ISSUED', 'LAPSED'] * $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_INTERNATIONAL_BRANCH_OF'] * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED']
Condition:
* FOR ALL-APPLICABLE $REPORTED_PARENT_RELATIONSHIPS: * rr:EndNode/rr:NodeID $VALID * lei:LegalAddress/lei:Country NOT $EQUALS $END_NODE_RECORD lei:LegalJurisdiction * FOR $START_NODE_RECORD WITH: * RUT rr:EndNode/rr:NodeID $EQUALS REFERRED_RECORD rr:EndNode/rr:NodeID * REFERRED_RECORD rr:RelationshipType IN ['IS_INTERNATIONAL_BRANCH_OF'] * REFERRED_RECORD rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED']: * RUT lei:LegalAddress/lei:Country NOT $EQUALS REFERRED_RECORD lei:LegalAddress/lei:Country
No repetition of legal address postal code in other legal address fields
Precondition:
* lei:LegalAddress/lei:PostalCode $PRESENT
Condition:
* lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:FirstAddressLine * lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:AdditionalAddressLine[1] * lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:AdditionalAddressLine[2] * lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:AdditionalAddressLine[3] * lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:City * lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:AddressNumber * lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:AddressNumberWithinBuilding * lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:MailRouting
No repetition of headquarters address postal code in other headquarters address fields
Precondition:
* lei:HeadquartersAddress/lei:PostalCode $PRESENT
Condition:
* lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:FirstAddressLine * lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:AdditionalAddressLine[1] * lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:AdditionalAddressLine[2] * lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:AdditionalAddressLine[3] * lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:City * lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:AddressNumber * lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:AddressNumberWithinBuilding * lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:MailRouting
Declared ultimate parent meets the requirements for ultimate parents
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * $COUNT($REPORTED_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * FOR $END_NODE_RECORD: * lei:RegistrationStatus NOT IN ['PENDING_TRANSFER','PENDING_ARCHIVAL'] * FOR $END_NODE_RECORD: * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus $MUTABLE * OR * $COUNT($REPORTED_EXCEPTIONS)
Condition:
* FOR $END_NODE_RECORD: * $COUNT($REPORTED_RELATIONSHIPS) == 0 WITH: * rr:RegistrationStatus $MUTABLE * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionReason IN ['NATURAL_PERSONS', 'NON_CONSOLIDATING', 'NO_KNOWN_PERSON'] * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionReason IN ['NATURAL_PERSONS', 'NON_CONSOLIDATING', 'NO_KNOWN_PERSON'] * repex:ExceptionCategory IN ['DIRECT_ACCOUNTING_CONSOLIDATION_PARENT']
Entity identifier is not provided for unregistered entities
Precondition:
* lei:RegistrationAuthorityID IN ['RA999999']
Condition:
* lei:RegistrationAuthorityEntityID NOT $PRESENT
Information on other validation authority is not repeated as validation entity identifier
Precondition:
* lei:OtherValidationAuthorityID $PRESENT
Condition:
* lei:OtherValidationAuthorityID NOT $EQUALS_NORMALIZED lei:ValidationAuthorityEntityID
Information on other validation authority is not repeated as validation authority
Precondition:
* lei:OtherValidationAuthorityID $PRESENT
Condition:
* lei:OtherValidationAuthorityID NOT $EQUALS_NORMALIZED lei:ValidationAuthorityID
Successor information corresponds to the registration status or entity events
Precondition:
* lei:RegistrationStatus NOT IN ['ANNULLED', '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'] * rr:PeriodType IN ['RELATIONSHIP_PERIOD'] WITH: * rr:RelationshipPeriod/rr:StartDate $PRESENT * FOR $REPORTED_RELATIONSHIPS AND $EXISTING_RELATIONSHIPS: * rr:RelationshipPeriods/rr:StartDate $PRESENT
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $COUNT($EXISTING_RELATIONSHIPS) == 0 WITH: * $REPORTED_RELATIONSHIPS rr:Header:Originator NOT $EQUALS $EXISTING_RELATIONSHIPS rr:Header:Originator * FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS WITH: * $EXISTING_RELATIONSHIPS rr:RegistrationStatus IN ['RETIRED', 'ANNULLED', 'DUPLICATE'] * $COUNT($EXISTING_RELATIONSHIPS) == 1 WITH: * $REPORTED_RELATIONSHIPS rr:RelationshipType $EQUALS $EXISTING_RELATIONSHIPS rr:RelationshipType * $REPORTED_RELATIONSHIPS rr:Header:Originator $EQUALS $EXISTING_RELATIONSHIPS rr:Header:Originator * $REPORTED_RELATIONSHIPS rr:EndNode/rr:NodeID $EQUALS $EXISTING_RELATIONSHIPS rr:EndNode/rr:NodeID * $REPORTED_RELATIONSHIPS rr:RelationshipPeriod/rr:StartDate $DATE_PART == $EXISTING_RELATIONSHIPS rr:RelationshipPeriod/rr:StartDate $DATE_PART WITH: * $REPORTED_RELATIONSHIPS rr:PeriodType IN ['RELATIONSHIP_PERIOD'] * $EXISTING_RELATIONSHIPS rr:PeriodType IN ['RELATIONSHIP_PERIOD'] * $EXISTING_RELATIONSHIPS rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * $COUNT($EXISTING_RELATIONSHIPS) == 1 WITH: * $REPORTED_RELATIONSHIPS rr:RelationshipType $EQUALS $EXISTING_RELATIONSHIPS rr:RelationshipType * $REPORTED_RELATIONSHIPS rr:Header:Originator $EQUALS $EXISTING_RELATIONSHIPS rr:Header:Originator * $REPORTED_RELATIONSHIPS rr:EndNode/rr:NodeID $EQUALS $EXISTING_RELATIONSHIPS rr:EndNode/rr:NodeID
Ensure source for corroboration is provided
Precondition:
* lei:RegistrationStatus NOT IN ['ANNULLED'] * lei:ValidationSources $PRESENT * lei:ValidationSources IN ['PARTIALLY_CORROBORATED', 'FULLY_CORROBORATED']
Condition:
* lei:ValidationAuthority $PRESENT * lei:ValidationAuthorityID NOT IN ['RA999999', 'RA888888']
Ensure no validation source is given for uncorroborated records
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:ValidationSources $PRESENT * lei:ValidationSources IN ['ENTITY_SUPPLIED_ONLY']" * lei:ValidationAuthority $PRESENT * lei:ValidationAuthorityID NOT IN ['RA999999', 'RA000413']
Condition:
* lei:ValidationAuthorityID IN ['RA888888']
Ensure consistent validation information based on registration
Precondition:
* lei:RegistrationAuthority $PRESENT * lei:RegistrationAuthorityID NOT IN ['RA777777', 'RA888888', 'RA999999'] * lei:ValidationAuthority $PRESENT
Condition:
* lei:ValidationAuthorityID NOT IN ['RA777777', 'RA888888', 'RA999999']
Ensure consistent register information based on validation
Precondition:
* lei:ValidationAuthority $PRESENT * lei:ValidationAuthorityID NOT IN ['RA777777', 'RA888888', 'RA999999'] * lei:RegistrationAuthority $PRESENT
Condition:
* lei:RegistrationAuthorityID NOT IN ['RA777777', 'RA888888', 'RA999999']
Ensure valid register code is used for validation
Precondition:
Condition:
* lei:ValidationAuthority $PRESENT * lei:ValidationAuthorityID IN $RA_CODE_LIST
Ensure deprecated registration status is not used
Precondition:
* lei:RegistrationStatus NOT IN ['TRANSFERRED', 'PENDING_VALIDATION', 'CANCELLED']
Condition:
* lei:RegistrationStatus NOT IN ['MERGED']
Ensure reasonable combination for parent exceptions
Precondition:
* $COUNT(repex:Exception) >= 1 WITH: * repex:ExceptionReason IN ['NON_CONSOLIDATING', 'NATURAL_PERSONS', 'NO_KNOWN_PERSON'] * $COUNT(repex:Exception)
Condition:
* $COUNT($REPORTED_RELATIONSHIPS) == 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * FOR $REPORTED_EXCEPTIONS WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT', 'DIRECT_ACCOUNTING_CONSOLIDATION_PARENT']: * repex:ExceptionReason IN ['NON_CONSOLIDATING', 'NATURAL_PERSONS', 'NO_KNOWN_PERSON']
Ensure local identifier are provided and plausible
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * lei:EntityCategory NOT IN ['FUND'] * lei:RegistrationAuthorityID $PRESENT * lei:RegistrationAuthorityID NOT IN ['RA888888', 'RA999999', 'RA000018', 'RA000397', 'RA000634', 'RA000704', 'RA000711', 'RA000712', 'RA000722', 'RA000723', 'RA000725', 'RA000727', 'RA000733', 'RA000734', 'RA000736', 'RA000737', 'RA000738', 'RA000739', 'RA000740', 'RA000741', 'RA000742', 'RA000743', 'RA000750', 'RA000768', 'RA000769', 'RA000770', 'RA000771', 'RA000772', 'RA000773', 'RA000774', 'RA000775']
Condition:
* lei:RegistrationAuthorityEntityID $PRESENT * lei:RegistrationAuthorityEntityID NOT IN $CASE_INSENSITIVE(['NOT AVAILABLE', 'N.A.', 'N.A', 'N/A', 'N A', 'N.V', 'N.V.', 'N V', 'EXENTO', 'EXENTA', 'NO SUJETO', '0']) * lei:RegistrationAuthorityEntityID NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER
Ensure appropriate combination of corroboration level and legal form is used
Precondition:
* lei:EntityCategory NOT IN ['BRANCH'] * lei:RegistrationStatus $ISSUED * lei:EntityLegalFormCode IN $ELF_CORROBORATION_LIST
Condition:
* FOR $ELF_CORROBORATION_LIST/Corroboration IN ['PARTIALLY_CORROBORATED']: * lei:ValidationSources IN ['PARTIALLY_CORROBORATED', 'FULLY_CORROBORATED'] * FOR $ELF_CORROBORATION_LIST/Corroboration IN ['FULLY_CORROBORATED']: * lei:ValidationSources IN ['FULLY_CORROBORATED']
Entity category sole proprietor is assigned for the appropriate legal forms
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:EntityLegalFormCode IN $SOLE_PROPRIETOR_ELF_CODE_LIST WITH: * $SOLE_PROPRIETOR_ELF_CODE_LIST/is_sole_proprietorship == 'yes'
Condition:
* lei:EntityCategory IN ['SOLE_PROPRIETOR']
Ensure that Entity Legal Form Code is applicable for sole proprietors
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:EntityCategory IN ['SOLE_PROPRIETOR'] * lei:EntityLegalFormCode $PRESENT
Condition:
* lei:EntityLegalFormCode NOT IN $SOLE_PROPRIETOR_ELF_CODE_LIST WITH: * $SOLE_PROPRIETOR_ELF_CODE_LIST/is_sole_proprietorship == 'no'
Ensure entity creation date is present
Precondition:
* lei:EntityStatus NOT IN ['NULL'] * lei:RegistrationStatus NOT IN ['ANNULLED'] * lei:InitialRegistrationDate >= $DATETIME('2022-04-01T00:00:00+00:00') * OR * lei:NextRenewalDate >= $DATETIME('2023-06-01T00:00:00+00:00')
Condition:
* lei:EntityCreationDate $PRESENT
For completed legal entity events, the effective date is present
Precondition:
* lei:LegalEntityEvents $PRESENT * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent@event_status IN ['COMPLETED']
Condition:
FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * lei:LegalEntityEventEffectiveDate $PRESENT
Corresponding Legal Entity Events lead to correct Registration Status
Precondition:
* lei:RegistrationStatus NOT IN ['ANNULLED', 'DUPLICATE', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL'] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEventType IN ['DISSOLUTION', 'LIQUIDATION'] * lei:LegalEntityEvent@event_status IN ['COMPLETED']
Condition:
* lei:RegistrationStatus IN ['RETIRED']
Ensure deprecated fields for associated entity are not present
Precondition:
Condition:
* lei:AssociatedEntity NOT $PRESENT
Records with legal form of a fund must be categorized as funds
Precondition:
* lei:EntityLegalFormCode IN $ELF_FUND_LIST * lei:RegistrationStatus $MUTABLE
Condition:
* lei:EntityCategory IN ['FUND']
The validation authority of a fund must be applicable for funds
Precondition:
* lei:ValidationAuthorityID $PRESENT * lei:ValidationAuthorityID NOT IN ['RA888888', 'RA999999'] * lei:RegistrationStatus $MUTABLE * lei:EntityCategory IN ['FUND'] * lei:LegalJurisdiction(country-part) IN $RA_FUND_LIST_v1.3.7/Country_Code WITH: * $RA_FUND_LIST_v1.3.7/is_ValidationAuthority == 'yes'
Condition:
* lei:ValidationAuthorityID IN $RA_FUND_LIST_v1.3.7/Registration_Authority_Code WITH: * $RA_FUND_LIST_v1.3.7/is_ValidationAuthority == 'yes'
Ensure relationships with status NULL have an appropriate registration status
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipStatus IN ['NULL'] * rr:RegistrationStatus NOT IN ['PENDING_TRANSFER', 'PENDING_ARCHIVAL']
Condition:
* IF lei:EntityCategory IN ['FUND']: * rr:RegistrationStatus IN ['DUPLICATE', 'ANNULLED', 'PUBLISHED'] * IF lei:EntityCategory NOT IN ['FUND']: * rr:RegistrationStatus IN ['DUPLICATE', 'ANNULLED']
Entity's expiration date and expiration reason are not populated
Precondition:
Condition:
* lei:EntityExpirationDate NOT $PRESENT * lei:EntityExpirationReason NOT $PRESENT
Retired record has corresponding legal entity event
Precondition:
* lei:RegistrationStatus IN ['RETIRED']
Condition:
* lei:legalEntityEventType IN ['LIQUIDATION', 'INSOLVENCY', 'DISSOLUTION', 'MERGERS_AND_ACQUISITIONS', 'BANKRUPTCY', 'ABSORPTION', 'ACQUISITION_BRANCH', 'BREAKUP', 'TRANSFORMATION_BRANCH_TO_SUBSIDIARY', 'CHANGE_LEGAL_FORM'] WITH: * @event_status IN ['COMPLETED']
Duplicate and annulled relationships have status null
Precondition:
* rr:RegistrationStatus IN ['DUPLICATE', 'ANNULLED']
Condition:
* rr:RelationshipStatus IN ['NULL']
Fund relationship types are only used for fund entities
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_SUBFUND_OF', 'IS_FUND-MANAGED_BY', 'IS_FEEDER_TO'] * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED']
Condition:
* lei:EntityCategory IN ['FUND']
The category of the legal entity is always provided
Precondition:
Condition:
* lei:EntityCategory $PRESENT
Language information is provided
Precondition:
* lei:RegistrationStatus $MUTABLE
Condition:
* FOR FIELD IN [lei:LegalName, lei:LegalAddress, lei:OtherEntityName, lei:TransliteratedOtherEntityName, lei:OtherAddress, lei:TransliteraterOtherAddress, lei:SuccessorEntityName]: * @lang $PRESENT * FOR $ADMINISTRATIVE_LANGUAGES IN lei:LegalAddress/lei:Country: * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) == 0: * @lang $MATCHES('/^([a-z]{2})(-[A-Z]{1,8}|-[0-9]{1,3})?$/') * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) > 0: * @lang $MATCHES('/^([a-z]){1,3}(-[A-Z]{1,8}|-[0-9]{1,3})?$/') * FOR FIELD IN [lei:HeadquartersAddress]: * @lang $PRESENT * FOR $ADMINISTRATIVE_LANGUAGES IN lei:HeadquartersAddress/lei:Country: * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) == 0: * @lang $MATCHES('/^([a-z]{2})(-[A-Z]{1,8}|-[0-9]{1,3})?$/') * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) > 0: * @lang $MATCHES('/^([a-z]){1,3}(-[A-Z]{1,8}|-[0-9]{1,3})?$/')
The legal name of the entity is provided in local alphabet
Precondition:
* lei:LegalName@lang $PRESENT * lei:LegalName@lang IN $LANGUAGE_CHARACTERS_LIST * lei:LegalName $ALPHABETICAL
Condition:
* lei:LegalName $PATTERN_MATCH $LANGUAGE_CHARACTERS_LIST/language
No successor LEI code references the LEI code in the current LEI Record
Precondition:
* lei:SuccessorLEI $PRESENT
Condition:
* FOR lei:SuccessorLEI: * lei:SuccessorLEI NOT $EQUALS lei:LEI
Additional information for not yet listed validation authority is provided
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:ValidationAuthorityID IN ['RA777777', 'RA888888']
Condition:
* lei:OtherValidationAuthorityID $PRESENT * lei:OtherValidationAuthorityID NOT IN $CASE_INSENSITIVE(['TRUST', 'OBCHODNý REGISTER', 'REGISTRAR OF COMPANIES', 'HANDELSREGISTER', 'COMPANIES REGISTER', 'TRADE AND COMPANY REGISTER', 'FUND REGISTER', 'TRADE REGISTER', 'TRUST REGISTER', 'BUSINESS REGISTER', 'DOCUMENT', 'DOCUMENTS', 'REGISTER', '0THER', 'OTHER', 'OTHERS', 'REGISTO COMERCIAL', 'COMMERCIAL_REGISTER', 'NOT AVAILABLE', 'N.A.', 'N.A', 'N/A', 'N A', 'N.V', 'N.V.', 'N V', 'EXENTO', 'EXENTA', 'NO SUJETO', '0']) * lei:OtherValidationAuthorityID NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER
Additional information for not yet listed registration authority is provided
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:RegistrationAuthorityID IN ['RA888888']
Condition:
* lei:OtherRegistrationAuthorityID $PRESENT * lei:OtherRegistrationAuthorityID NOT IN $CASE_INSENSITIVE(['TRUST', 'OBCHODNý REGISTER', 'REGISTRAR OF COMPANIES', 'HANDELSREGISTER', 'COMPANIES REGISTER', 'TRADE AND COMPANY REGISTER', 'FUND REGISTER', 'TRADE REGISTER', 'TRUST REGISTER', 'BUSINESS REGISTER', 'DOCUMENT', 'DOCUMENTS', 'REGISTER', '0THER', 'OTHER', 'OTHERS', 'REGISTO COMERCIAL', 'COMMERCIAL_REGISTER', 'NOT AVAILABLE', 'N.A.', 'N.A', 'N/A', 'N A', 'N.V', 'N.V.', 'N V', 'EXENTO', 'EXENTA', 'NO SUJETO', '0']) * lei:OtherRegistrationAuthorityID NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER
Additional information for validation authority is provided only when suited
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:ValidationAuthorityID $PRESENT * lei:OtherValidationAuthorityID $PRESENT
Condition:
* lei:ValidationAuthorityID IN ['RA777777', 'RA888888']
Additional information for registration authority is provided only when suited
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:RegistrationAuthorityID $PRESENT * lei:OtherRegistrationAuthorityID $PRESENT
Condition:
* lei:RegistrationAuthorityID IN ['RA888888']
Additional information for not yet listed entity legal form code is provided
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:EntityLegalFormCode IN ['8888', '9999']
Condition:
* lei:OtherLegalForm $PRESENT * lei:OtherLegalForm NOT IN $CASE_INSENSITIVE(['0THER', 'OTHERS', 'DIğER', 'OTHER', 'NOT AVAILABLE', 'N.A.', 'N.A', 'N/A', 'N A', 'EXENTO', 'EXENTA', 'NO SUJETO', '0'])
Reserved ELF code is used when Other Legal Form is provided
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:EntityLegalFormCode $PRESENT * lei:OtherLegalForm $PRESENT
Condition:
* lei:EntityLegalFormCode IN ['8888', '9999']
Verify expected level of validation for entities with not yet verified and accepted registration authority
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:RegistrationAuthorityID IN ['RA888888']
Condition:
* IF lei:ValidationAuthorityID IN ['RA777777']: * lei:ValidationSources IN ['PARTIALLY_CORROBORATED', 'FULLY_CORROBORATED'] * IF lei:ValidationAuthorityID NOT IN ['RA777777']: * lei:ValidationSources IN ['ENTITY_SUPPLIED_ONLY']
Entity's validation number has the expected local format
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:ValidationAuthorityID $PRESENT * lei:ValidationAuthorityID IN $RA_FORMAT_LIST/registration_authority * lei:ValidationAuthorityEntityID $PRESENT
Condition:
* lei:ValidationAuthorityEntityID $PATTERN_MATCH $RA_FORMAT_LIST/regex
Entity's validation number in additional validation authorities has the expected local format
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:OtherValidationAuthorities $PRESENT * lei:OtherValidationAuthority/lei:ValidationAuthorityID IN $RA_FORMAT_LIST/registration_authority * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID $PRESENT
Condition:
* FOR lei:OtherValidationAuthority: * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID $PATTERN_MATCH $RA_FORMAT_LIST/regex
Local identifier are provided and plausible for validation
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * lei:EntityCategory NOT IN ['FUND'] * lei:ValidationAuthorityID $PRESENT * lei:ValidationAuthorityID NOT IN ['RA777777', 'RA888888', 'RA999999', 'RA000018', 'RA000397', 'RA000634', 'RA000704', 'RA000711', 'RA000712', 'RA000722', 'RA000723', 'RA000725', 'RA000727', 'RA000733', 'RA000734', 'RA000736', 'RA000737', 'RA000738', 'RA000739', 'RA000740', 'RA000741', 'RA000742', 'RA000743', 'RA000750', 'RA000768', 'RA000769', 'RA000770', 'RA000771', 'RA000772', 'RA000773', 'RA000774', 'RA000775', 'RA000831']
Condition:
* lei:ValidationAuthorityEntityID $PRESENT * lei:ValidationAuthorityEntityID NOT IN $CASE_INSENSITIVE(['NOT AVAILABLE', 'N.A.', 'N.A', 'N/A', 'N A', 'N.V', 'N.V.', 'N V', 'EXENTO', 'EXENTA', 'NO SUJETO', '0']) * lei:ValidationAuthorityEntityID NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER
Authoritative Source Check for OtherValidationAuthorities
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * lei:EntityCategory NOT IN ['FUND'] * lei:OtherValidationAuthority/lei:ValidationAuthorityID $PRESENT * lei:OtherValidationAuthority/lei:ValidationAuthorityID NOT IN ['RA777777', 'RA888888', 'RA999999', 'RA000018', 'RA000397', 'RA000634', 'RA000704', 'RA000711', 'RA000712', 'RA000722', 'RA000723', 'RA000725', 'RA000727', 'RA000733', 'RA000734', 'RA000736', 'RA000737', 'RA000738', 'RA000739', 'RA000740', 'RA000741', 'RA000742', 'RA000743', 'RA000750', 'RA000768', 'RA000769', 'RA000770', 'RA000771', 'RA000772', 'RA000773', 'RA000774', 'RA000775']
Condition:
FOR ALL-APPLICABLE lei:OtherValidationAuthority: * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID $PRESENT * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID NOT IN $CASE_INSENSITIVE(['NOT AVAILABLE', 'N.A.', 'N.A', 'N/A', 'N A', 'N.V', 'N.V.', 'N V', 'EXENTO', 'EXENTA', 'NO SUJETO', '0']) * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER
No local identifier is provided when authoritative source does not provide any identifier
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * lei:RegistrationAuthorityID $PRESENT * lei:RegistrationAuthorityID IN ['RA999999', 'RA000397', 'RA000704', 'RA000712', 'RA000722', 'RA000723', 'RA000725', 'RA000727', 'RA000733', 'RA000736', 'RA000737', 'RA000738', 'RA000739', 'RA000740', 'RA000741', 'RA000742', 'RA000743', 'RA000768', 'RA000769', 'RA000770', 'RA000771', 'RA000772', 'RA000773', 'RA000774', 'RA000775']
Condition:
* lei:RegistrationAuthorityEntityID NOT $PRESENT
Appropriate code in headquarters address region
Precondition:
* lei:HeadquartersAddress/lei:Region $PRESENT * lei:RegistrationStatus $MUTABLE
Condition:
* lei:HeadquartersAddress/lei:Region IN $ISO_3166_2
Appropriate code in headuqarters address country
Precondition:
* lei:RegistrationStatus $MUTABLE
Condition:
* lei:HeadquartersAddress/lei:Country IN ['XK', $ISO_3166_1_ALPHA_2]
There is only one single instance of type relationship period per relationship
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:PeriodType IN ['RELATIONSHIP_PERIOD']
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $COUNT(rr:RelationshipPeriod) == 1 WITH: * rr:PeriodType IN ['RELATIONSHIP_PERIOD']
Entity creation date is plausible
Precondition:
* lei:EntityCategory NOT IN ['FUND'] * lei:EntityCreationDate $PRESENT
Condition:
* leiFileHeader:ContentDate + $TIME_INTERVAL('30 D') >= lei:EntityCreationDate
Plausible entity creation date for funds in formation
Precondition:
* lei:EntityCreationDate NOT $PRESENT * lei:NextRenewalDate >= $DATETIME('2023-06-01T00:00:00+00:00') * OR * lei:InitialRegistrationDate >= $DATETIME('2022-04-01T00:00:00+00:00')
Condition:
* lei:EntityStatus IN ['NULL'] * lei:EntityCategory IN ['FUND']
Ensure plausible usage of entity subcategories values for government entities
Precondition:
* lei:EntitySubCategory $PRESENT * lei:EntitySubCategory IN ['CENTRAL_GOVERNMENT', 'STATE_GOVERNMENT', 'LOCAL_GOVERNMENT', 'SOCIAL_SECURITY']
Condition:
* lei:EntityCategory IN ['RESIDENT_GOVERNMENT_ENTITY']
Appropriate usage of government accounting standard
Precondition:
* $COUNT($REPORTED_PARENT_RELATIONSHIPS) > 0 WITH: * rr:QualifierCategory IN ['GOVERNMENT_ACCOUNTING_STANDARD'] * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED', 'RETIRED']
Condition:
* lei:EntityCategory IN ['RESIDENT_GOVERNMENT_ENTITY', 'INTERNATIONAL_ORGANIZATION']
The parent entity of a government entity is also a government entity
Precondition:
* lei:EntityCategory IN ['RESIDENT_GOVERNMENT_ENTITY'] * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * lei:LEI $EQUALS rr:EndNode/rr:NodeID * $END_NODE_RECORD $VALID
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $END_NODE_RECORD lei:EntityCategory IN ['RESIDENT_GOVERNMENT_ENTITY']
Start and end node in a relationship fit the entity category for international organizations
Precondition:
* lei:EntityCategory IN ['INTERNATIONAL_ORGANIZATION'] * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * $END_NODE_RECORD $VALID
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $END_NODE_RECORD lei:EntityCategory IN ['INTERNATIONAL_ORGANIZATION']
Government entities use appropriate relationship exception resons
Precondition:
* lei:EntityCategory IN ['RESIDENT_GOVERNMENT_ENTITY'] * $COUNT($REPORTED_EXCEPTIONS) > 0
Condition:
* FOR ALL-APPLICABLE $REPORTED_EXCEPTIONS: * repex:ExceptionReason IN ['NO_KNOWN_PERSON', 'NO_LEI']
No accounting periods are present for funds
Precondition:
* lei:EntityCategory IN ['FUND'] * $COUNT($REPORTED_FUND_RELATIONSHIPS) > 0
Condition:
* FOR ALL-APPLICABLE $REPORTED_FUND_RELATIONSHIPS: * $COUNT(rr:RelationshipPeriod) == 0 WITH: * rr:PeriodType IN ['ACCOUNTING_PERIOD']
Ensure plausible start date for relationship periods
Precondition:
* lei:EntityCreationDate $PRESENT * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus NOT IN ['ANNULLED', '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: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:field_xpath('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorLEI')
Deprecated exception reasons are not used
Precondition:
* $COUNT($REPORTED_EXCEPTIONS) > 0
Condition:
* repex:ExceptionReason NOT IN ['LEGAL_OBSTACLES', 'CONSENT_NOT_OBTAINED', 'BINDING_LEGAL_COMMITMENTS', 'DETRIMENT_NOT_EXCLUDED', 'DISCLOSURE_DETRIMENTAL']
Xpath in affected fields is valid
Precondition:
* lei:LegalEntityEvent/lei:AffectedField $PRESENT
Condition:
* FOR lei:LegalEntityEvent/lei:AffectedField: * lei:field_xpath IN [ * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalName', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:OtherEntityNames/lei:OtherEntityName', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:OtherEntityNames/lei:OtherEntityName@type', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:TransliteratedOtherEntityNames/lei:TransliteratedOtherEntityName', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:TransliteratedOtherEntityNames/lei:TransliteratedOtherEntityName@type', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:FirstAddressLine', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:AdditionalAddressLine[1]', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:AdditionalAddressLine[2]', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:AdditionalAddressLine[3]', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:AddressNumber', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:AddressNumberWithinBuilding', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:MailRouting', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:City', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:PostalCode', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:Country', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:Region', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress@lang', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:HeadquartersAddress/*', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:OtherAddresses/*', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:OtherAddresses@lang', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:OtherAddresses@type', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:TransliteratedOtherAddresses/*', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:TransliteratedOtherAddresses@lang', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:TransliteratedOtherAddresses@type', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalJurisdiction', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:EntityCategory', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalForm/lei:EntityLegalFormCode', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalForm/lei:OtherLegalForm', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorLEI', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorEntityName', * '/rr:RelationshipData/rr:RelationshipRecords/rr:RelationshipRecord/rr:Relationship/rr:EndNode/rr:NodeID', * '/rr:RelationshipData/rr:RelationshipRecords/rr:RelationshipRecord/rr:Relationship/rr:EndNode/rr:NodeType', * '/rr:RelationshipData/rr:RelationshipRecords/rr:RelationshipRecord/rr:Relationship/rr:RelationshipType', * '/repex:ReportingExceptionData/repex:ReportingExceptions/repex:Exception/repex:ExceptionCategory', * '/repex:ReportingExceptionData/repex:ReportingExceptions/repex:Exception/repex:ExceptionReason' ]
No local identifier is provided for validation when authoritative source does not provide any identifier
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * lei:ValidationAuthorityID $PRESENT * lei:ValidationAuthorityID IN ['RA999999', 'RA000397', 'RA000704', 'RA000712', 'RA000722', 'RA000723', 'RA000725', 'RA000727', 'RA000733', 'RA000736', 'RA000737', 'RA000738', 'RA000739', 'RA000740', 'RA000741', 'RA000742', 'RA000743', 'RA000768', 'RA000769', 'RA000770', 'RA000771', 'RA000772', 'RA000773', 'RA000774', 'RA000775']
Condition:
* lei:ValidationAuthorityEntityID NOT $PRESENT