Détails des contrôles de qualité des données
Actuellement, les contrôles suivants établissent le paramètre de règle appliqué à la génération des rapports sur la qualité des données.
L'établissement des règles est également disponible au format PDF ou 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@lang $PRESENT * lei:OtherAddress@lang NOT $EQUALS lei:LegalAddress@lang * lei:OtherAddress@lang $UNIQUE * 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 $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@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 trading names are unique
Precondition:
* COUNT(lei:OtherEntityName) > 0 WITH: * 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', 'RA000754']
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 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'] * 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' * lei:OtherLegalForm NOT IN ['Collective Investment Trust']
Condition:
* lei:ValidationAuthorityID IN $RA_FUND_LIST_v1.4.10/Registration_Authority_Code WITH: * $RA_FUND_LIST_v1.4.10/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:SuccessorEntityName]: * @lang $PRESENT * FOR $ADMINISTRATIVE_LANGUAGES IN lei:LegalAddress/lei:Country: * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) == 0: * @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: * @lang $PATTERN_MATCH('/^([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 $PATTERN_MATCH('/^([a-z]{2})(-[A-Z]{1,8}|-[0-9]{1,3})?$/') * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) > 0: * @lang $PATTERN_MATCH('/^([a-z]){1,3}(-[A-Z]{1,8}|-[0-9]{1,3})?$/') * FOR FIELD IN [lei:OtherAddress]: * @lang $PRESENT * FOR $ADMINISTRATIVE_LANGUAGES IN lei:OtherAddress/lei:Country: * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) == 0: * @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: * @lang $PATTERN_MATCH '/^([a-z]){1,3}(-[A-Z]{1,8}|-[0-9]{1,3})?$/' * FOR FIELD IN [lei:TransliteratedOtherAddress]: * @lang $PRESENT * FOR $ADMINISTRATIVE_LANGUAGES IN lei:TransliteratedOtherAddress/lei:Country: * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) == 0: * @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: * @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@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($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
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 NOT IN $CASE_INSENSITIVE(['0THER', 'OTHERS', 'DIğER', 'OTHER', 'NOT AVAILABLE', 'N.A.', 'N.A', 'N/A', 'N A', 'EXENTO', 'EXENTA', 'NO SUJETO', '0', 'OTHERLEGALFORM', 'BRANCH'])
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: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', '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
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')
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: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
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 ['DISSOLUTION', 'LIQUIDATION', 'MERGERS_AND_ACQUISITIONS', 'BANKRUPTCY', 'ABSORPTION', 'CHANGE_LEGAL_FORM'] * lei:LegalEntityEvent@event_status IN ['COMPLETED'] * lei:LegalEntityEventEffectiveDate $PRESENT * lei:LegalEntityEventEffectiveDate > $REFERRED_EVENT lei:LegalEntityEventEffectiveDate WITH lei:LegalEntityEventType IN ['DEMERGER', 'SPINOFF', 'ACQUISITION_BRANCH', 'TRANSFORMATION_BRANCH_TO_SUBSIDIARY', 'BREAKUP'] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent@event_status IN ['COMPLETED'] * lei:LegalEntityEventEffectiveDate $PRESENT * lei:LegalEntityEventType IN ['DEMERGER', 'SPINOFF', 'ACQUISITION_BRANCH', 'TRANSFORMATION_BRANCH_TO_SUBSIDIARY', 'BREAKUP'] * 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']
Condition:
* FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * 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
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/@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/@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@lang $PRESENT * lei:LegalName@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 legal name and address information is provided in local language that matches the jurisdiction and headquarters address country
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * lei:LegalJurisdiction IN ['JP', 'BG', 'RU', 'TH', 'KR', 'KH', 'MK'] * lei:EntityCategory NOT IN ['BRANCH'] * IF lei:LegalJurisdiction NOT IN ['JP']: * lei:LegalName@lang $PRESENT * OR * lei:LegalAddress@lang $PRESENT * OR * lei:HeadquartersAddress@lang $PRESENT
Condition:
* IF lei:LegalJurisdiction NOT IN ['JP']: * lei:LegalName@lang $MATCHES $COUNTRY_LANGUAGE_LIST/country * lei:LegalAddress@lang $MATCHES $COUNTRY_LANGUAGE_LIST/country * IF lei:HeadquartersAddress/lei:Country IN ['JP', 'BG', 'RU', 'TH', 'KR', 'KH', 'MK'] * lei:HeadquartersAddress@lang $MATCHES $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