数据质量检查的详细信息
目前,以下检查正在构建用于生成数据质量报告的规则制定。
您也可以下载 PDF 格式或 Excel 格式的规则制定。
Legal name is plausible
Precondition:
* lei:RegistrationStatus NOT IN ['ANNULLED']
Condition:
* lei:LegalName $PRESENT * lei:LegalName NOT IN $CASE_INSENSITIVE(['NOT AVAILABLE', 'N.A.', 'N/A']) * lei:LegalName NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER
Ensure LEI code is ISO 17442 compliant
Precondition:
* lei:RegistrationStatus IN ['ISSUED', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL'] * lei:InitialRegistrationDate >= $DATETIME('2016-07-07T00:00:00+00:00')
Condition:
* lei:LEI $ISO_17442_COMPLIANT
Ensure appropriate code in legal address region
Precondition:
* lei:LegalAddress/lei:Region $PRESENT * lei:RegistrationStatus $MUTABLE
Condition:
* lei:LegalAddress/lei:Region IN $ISO_3166_2
Ensure appropriate code in legal address country
Precondition:
* lei:RegistrationStatus $MUTABLE
Condition:
* lei:LegalAddress/lei:Country IN ['XK', $ISO_3166_1_ALPHA_2]
Ensure compliance with GLEIF Accepted Legal Jurisdictions Code List
Precondition:
* lei:RegistrationStatus $MUTABLE
Condition:
* lei:LegalJurisdiction IN $GLEIF_ACCEPTED_LEGAL_JURISDICTIONS
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']
Condition:
* $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED'] * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionReason IN ['NATURAL_PERSONS', 'NON_CONSOLIDATING', 'NO_KNOWN_PERSON'] * repex:ExceptionCategory IN ['DIRECT_ACCOUNTING_CONSOLIDATION_PARENT'] * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionReason IN ['NATURAL_PERSONS', 'NON_CONSOLIDATING', 'NO_KNOWN_PERSON'] * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT']
Reporting exceptions are distinct and without concurrent relationship records
Precondition:
* $COUNT($REPORTED_EXCEPTIONS) > 0
Condition:
* FOR $REPORTED_EXCEPTIONS: * repex:ExceptionCategory $UNIQUE * IF repex:ExceptionCategory IN ['DIRECT_ACCOUNTING_CONSOLIDATION_PARENT']: * $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED','LAPSED']: * rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY'] * IF repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED','LAPSED']: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY']
Provide complete, distinct parent information for non-branches
Precondition:
* lei:EntityCategory NOT IN ['BRANCH'] * lei:RegistrationStatus IN ['ISSUED']
Condition:
* FOR $REPORTED_DIRECT_PARENT_INFO: * $COUNT($REPORTED_EXCEPTIONS) == 1 * OR * $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RegistrationStatus IN ['PUBLISHED'] * FOR $REPORTED_ULTIMATE_PARENT_INFO: * $COUNT($REPORTED_EXCEPTIONS) == 1 * OR * $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RegistrationStatus IN ['PUBLISHED']
Published relationships point to an appropriate parent
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED']
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS WITH: * lei:LEI NOT $EQUALS rr:EndNode/rr:NodeID: * rr:EndNode/rr:NodeID $VALID * lei:RegistrationStatus $MUTABLE * FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS WITH: * lei:LEI $EQUALS rr:EndNode/rr:NodeID: * rr:RelationshipType IN ['IS_FUND-MANAGED_BY']
Validation reference is provided for public regulatory filiings
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:ValidationDocuments IN ['REGULATORY_FILING'] * rr:ValidationSources IN ['FULLY_CORROBORATED', 'PARTIALLY_CORROBORATED']
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * rr:ValidationReference $PRESENT
Ensure correct period dates of retired relationships
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus IN ['RETIRED']
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $COUNT(rr:RelationshipPeriod) > 0 WITH: * rr:PeriodType IN ['RELATIONSHIP_PERIOD'] * rr:StartDate $PRESENT * rr:EndDate $PRESENT * IF rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY','IS_ULTIMATELY_CONSOLIDATED_BY']: * $COUNT(rr:RelationshipPeriod) > 0 WITH: * rr:PeriodType IN ['ACCOUNTING_PERIOD'] * IF $COUNT(rr:RelationshipPeriod) > 0 WITH rr:PeriodType IN ['ACCOUNTING_PERIOD']: * FOR ALL-APPLICABLE rr:RelationshipPeriod: * rr:StartDate $PRESENT * rr:EndDate $PRESENT
Relationship status is correct when parent record is inactive
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus NOT IN ['DUPLICATE', 'ANNULLED', 'PENDING_ARCHIVAL', 'PENDING_TRANSFER'] * $END_NODE_RECORD lei:RegistrationStatus IN ['RETIRED']
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * rr:RelationshipStatus IN ['INACTIVE']
Ensure relationship status is correct when child record is inactive
Precondition:
* lei:RegistrationStatus IN ['RETIRED'] * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus NOT IN ['DUPLICATE', 'ANNULLED']
Condition:
* rr:RelationshipStatus IN ['INACTIVE']
Verify plausibility of relationship period dates
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED', 'RETIRED'] * rr:RelationshipPeriod/rr:StartDate $PRESENT * rr:RelationshipPeriod/rr:EndDate $PRESENT
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * rr:RelationshipPeriod/rr:StartDate $DATE_PART
Ensure valid connection between relationship and registration statuses
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipStatus IN ['INACTIVE']
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * rr:RegistrationStatus IN ['RETIRED', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL']
Avoid redundancy in legal address and addresses in alternative languages
Precondition:
* lei:OtherAddress/@type IN ['ALTERNATIVE_LANGUAGE_LEGAL_ADDRESS']
Condition:
* FOR ALL-APPLICABLE lei:OtherAddress: * lei:OtherAddress/@xml:lang $PRESENT * lei:OtherAddress/@xml:lang NOT $EQUALS lei:LegalAddress/@xml:lang * lei:OtherAddress/@xml:lang $UNIQUE * lei:OtherAddress NOT $EQUALS_NORMALIZED lei:LegalAddress * FOR FIELD IN [lei:FirstAddressLine, lei:AdditionalAddressLine[1], lei:AdditionalAddressLine[2], lei:AdditionalAddressLine[3], lei:AddressNumber, lei:AddressNumberWithinBuilding, lei:MailRouting, lei:City, lei:PostalCode]: * lei:OtherAddress $UNIQUE
Avoid redundancy in headquarters address and addresses in alternative languages
Precondition:
* lei:OtherAddress/@type IN ['ALTERNATIVE_LANGUAGE_HEADQUARTERS_ADDRESS']
Condition:
* FOR ALL-APPLICABLE lei:OtherAddress: * lei:OtherAddress/@xml:lang $PRESENT * lei:OtherAddress/@xml:lang NOT $EQUALS lei:HeadquartersAddress/@xml:lang * lei:OtherAddress NOT $EQUALS_NORMALIZED lei:HeadquartersAddress * FOR FIELD IN [lei:FirstAddressLine, lei:AdditionalAddressLine[1], lei:AdditionalAddressLine[2], lei:AdditionalAddressLine[3], lei:AddressNumber, lei:AddressNumberWithinBuilding, lei:MailRouting, lei:City, lei:PostalCode]: * lei:OtherAddress $UNIQUE
No validation information is provided for self-supplied entities
Precondition:
* lei:ValidationAuthority $PRESENT * lei:ValidationSources $PRESENT * lei:ValidationSources IN ['ENTITY_SUPPLIED_ONLY'] * lei:ValidationAuthorityID NOT IN ['RA888888', 'RA000413', 'RA001124']
Condition:
* lei:ValidationAuthorityID IN ['RA999999'] * lei:ValidationAuthorityEntityID NOT $PRESENT
Ensure complete relationship periods with start date for active entities
Precondition:
* lei:EntityStatus IN ['ACTIVE'] * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus NOT IN ['ANNULLED', 'DUPLICATE','PENDING_TRANSFER', 'PENDING_ARCHIVAL']
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $COUNT(rr:RelationshipPeriod) >= 1 WITH: * rr:PeriodType IN ['RELATIONSHIP_PERIOD'] * rr:StartDate $PRESENT * IF rr:ValidationDocuments IN ['REGULATORY_FILING']: * $COUNT(rr:RelationshipPeriod) > 0 WITH: * rr:PeriodType IN ['DOCUMENT_FILING_PERIOD'] * rr:StartDate $PRESENT * IF rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY', 'IS_ULTIMATELY_CONSOLIDATED_BY']: * $COUNT(rr:RelationshipPeriod) > 0 WITH: * rr:PeriodType IN ['ACCOUNTING_PERIOD'] * rr:StartDate $PRESENT
Ensure relationship's registration status is correct when child record lapses
Precondition:
* lei:RegistrationStatus IN ['LAPSED'] * $COUNT($REPORTED_RELATIONSHIPS) > 0
Condition:
* FOR $REPORTED_RELATIONSHIPS: * rr:RegistrationStatus IN ['LAPSED'] * OR * rr:RegistrationStatus $IMMUTABLE
Assert record and relationships share renewal cycle
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipStatus IN ['ACTIVE'] * rr:RegistrationStatus $MUTABLE
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * rr:NextRenewalDate $PRESENT * rr:NextRenewalDate - lei:NextRenewalDate
Ensure child LEI and relationship records are managed by the same LEI issuer
Precondition:
* lei:RegistrationStatus NOT IN ['PENDING_TRANSFER', 'PENDING_ARCHIVAL'] * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus NOT IN ['PENDING_TRANSFER', 'PENDING_ARCHIVAL']
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * lei:ManagingLOU $EQUALS rr:ManagingLOU
Ensure relationship's registration status is correct when child record is invalid
Precondition:
* lei:RegistrationStatus IN ['DUPLICATE', 'ANNULLED']
Condition:
* rr:RegistrationStatus IN ['ANNULLED']
Ensure relationship's registration status is correct when parent record is invalid
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * $END_NODE_RECORD lei:RegistrationStatus IN ['DUPLICATE', 'ANNULLED']
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * rr:RegistrationStatus IN ['ANNULLED']
Provide appropriate periods for relationships
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus NOT IN ['ANNULLED', 'DUPLICATE', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL']
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $COUNT(rr:RelationshipPeriod) >= 1 WITH: * rr:PeriodType IN ['RELATIONSHIP_PERIOD'] * IF rr:ValidationDocuments IN ['REGULATORY_FILING']: * $COUNT(rr:RelationshipPeriod) >= 1 WITH: * rr:PeriodType IN ['DOCUMENT_FILING_PERIOD'] * IF rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY', 'IS_ULTIMATELY_CONSOLIDATED_BY']: * $COUNT(rr:RelationshipPeriod) >= 1 WITH: * rr:PeriodType IN ['ACCOUNTING_PERIOD']
Ensure correct transfer statuses for relationship records
Precondition:
* lei:RegistrationStatus IN ['PENDING_TRANSFER', 'PENDING_ARCHIVAL'] * $COUNT($REPORTED_RELATIONSHIPS) > 0
Condition:
* FOR $REPORTED_RELATIONSHIPS: * rr:RegistrationStatus $EQUALS lei:RegistrationStatus
Ensure trading names are unique
Precondition:
* COUNT(lei:OtherEntityName) > 0 WITH: * lei:OtherEntityName/@type IN ['TRADING_OR_OPERATING_NAME']
Condition:
* FOR ALL-APPLICABLE lei:OtherEntityName: * lei:OtherEntityName NOT $EQUALS lei:LegalName * lei:OtherEntityName $UNIQUE
Avoid duplication of validation authority
Precondition:
* lei:OtherValidationAuthorities $PRESENT * lei:ValidationAuthority/lei:ValidationAuthorityID NOT IN ['RA000466', 'RA000585', 'RA000586', 'RA000587', 'RA000754']
Condition:
* lei:ValidationAuthority $PRESENT * IF EntityCategory NOT IN ['SOLE_PROPRIETOR']: * FOR lei:OtherValidationAuthority: * lei:OtherValidationAuthority/lei:ValidationAuthorityID NOT $EQUALS lei:ValidationAuthority/lei:ValidationAuthorityID * IF EntityCategory IN ['SOLE_PROPRIETOR']: * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID $UNIQUE * FOR lei:OtherValidationAuthority: * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID NOT $EQUALS lei:ValidationAuthority/lei:ValidationAuthorityEntityID
Valid connection between relationship and registration statuses
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipStatus IN ['ACTIVE']
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * rr:RegistrationStatus $MUTABLE
Ensure RA code corresponds to legal jurisdiction
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:RegistrationAuthority $PRESENT * lei:RegistrationAuthorityID IN $RA_CODE_LIST * lei:EntityCategory NOT IN ['INTERNATIONAL_ORGANIZATION']
Condition:
* lei:RegistrationAuthorityID IN ['RA777777', 'RA888888', 'RA999999', 'RA000463'] * OR * IF lei:EntityCategory NOT IN ['BRANCH']: * $RA_CODE_LIST/CountryCode $EQUALS lei:LegalJurisdiction(country-part) * OR * IF lei:EntityCategory IN ['BRANCH']: * $RA_CODE_LIST/CountryCode $EQUALS lei:LegalAddress/Country
Ensure the entity's register number has the expected local format
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:RegistrationAuthority $PRESENT * lei:RegistrationAuthorityID IN $RA_FORMAT_LIST/registration_authority * lei:RegistrationAuthorityEntityID $PRESENT
Condition:
* lei:RegistrationAuthorityEntityID $PATTERN_MATCH $RA_FORMAT_LIST/regex
Ensure local registration identifiers are not repeated
Precondition:
* lei:OtherRegistrationAuthorityID $PRESENT
Condition:
* lei:OtherRegistrationAuthorityID NOT $EQUALS_NORMALIZED lei:RegistrationAuthorityEntityID
Verify expected level of validation for unregistered entities
Precondition:
* lei:RegistrationAuthorityID IN ['RA999999'] * lei:RegistrationStatus $MUTABLE
Condition:
* IF lei:ValidationAuthorityID IN ['RA777777']: * lei:ValidationSources IN ['PARTIALLY_CORROBORATED', 'FULLY_CORROBORATED'] * OR * lei:ValidationSources IN ['ENTITY_SUPPLIED_ONLY']
Verify expected level of validation for registered entities
Precondition:
* lei:RegistrationAuthorityID NOT IN ['RA888888', 'RA999999', 'RA000413', 'RA001124']
Condition:
* lei:ValidationSources IN ['PARTIALLY_CORROBORATED', 'FULLY_CORROBORATED']
Ensure ELF code corresponds to legal jurisdiction
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:LegalJurisdiction $PRESENT * lei:LegalFormCode IN $ELF_CODE_LIST
Condition:
* lei:EntityLegalFormCode IN ['8888', '9999'] * OR * IF $ELF_CODE_LIST/SubDivisionCode $PRESENT: * $ELF_CODE_LIST/SubDivisionCode $EQUALS lei:LegalJurisdiction * OR * IF $ELF_CODE_LIST/SubDivisionCode NOT $PRESENT: * $ELF_CODE_LIST/CountryCode $EQUALS lei:LegalJurisdiction
Ensure OtherLegalForm is not in ELF codelist
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * lei:OtherLegalForm $PRESENT * lei:LegalJurisdiction $PRESENT
Condition:
* lei:OtherLegalForm NOT IN ['9999', '8888'] * IF lei:LegalJurisdiction $EQUALS $ELF_CODE_LIST/SubDivisionCode WITH $ELF_CODE_LIST/ELF_STATUS == 'ACTV': * lei:OtherLegalForm NOT $EQUALS_NORMALIZED $ELF_CODE_LIST/ELF Code WITH lei:LegalJurisdiction $EQUALS $ELF_CODE_LIST/SubDivisionCode * lei:OtherLegalForm NOT $EQUALS_NORMALIZED $ELF_CODE_LIST/Entity Legal Form name Local name WITH lei:LegalJurisdiction $EQUALS $ELF_CODE_LIST/SubDivisionCode * lei:OtherLegalForm NOT $EQUALS $ELF_CODE_LIST/Abbreviations Local language WITH lei:LegalJurisdiction $EQUALS $ELF_CODE_LIST/SubDivisionCode * lei:OtherLegalForm NOT $EQUALS_NORMALIZED $ELF_CODE_LIST/Entity Legal Form name Transliterated name WITH lei:LegalJurisdiction $EQUALS $ELF_CODE_LIST/SubDivisionCode * IF lei:LegalJurisdiction $EQUALS $ELF_CODE_LIST/CountryCode WITH $ELF_CODE_LIST/ELF_STATUS == 'ACTV': * lei:OtherLegalForm NOT $EQUALS_NORMALIZED $ELF_CODE_LIST/ELF Code WITH lei:LegalJurisdiction $COUNTRY_PART $EQUALS $ELF_CODE_LIST/CountryCode * lei:OtherLegalForm NOT $EQUALS_NORMALIZED $ELF_CODE_LIST/Entity Legal Form name Local name WITH lei:LegalJurisdiction $COUNTRY_PART $EQUALS $ELF_CODE_LIST/CountryCode * lei:OtherLegalForm NOT $EQUALS $ELF_CODE_LIST/Abbreviations Local language WITH lei:LegalJurisdiction $COUNTRY_PART $EQUALS $ELF_CODE_LIST/CountryCode * lei:OtherLegalForm NOT $EQUALS_NORMALIZED $ELF_CODE_LIST/Entity Legal Form name Transliterated name WITH lei:LegalJurisdiction $COUNTRY_PART $EQUALS $ELF_CODE_LIST/CountryCode
Ensure appropriate entity categorization for entities declaring branch relationship
Precondition:
* $COUNT($REPORTED_PARENT_RELATIONSHIPS) > 0 WITH: * rr:RelationshipStatus IN ['ACTIVE'] * rr:RelationshipType IN ['IS_INTERNATIONAL_BRANCH_OF']
Condition:
* lei:EntityCategory IN ['BRANCH']
Only one active relationship of type IS_INTERNATIONAL_BRANCH_OF for Branches
Precondition:
* lei:RegistrationStatus $MUTABLE * $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RegistrationStatus $MUTABLE * $COUNT($REPORTED_EXCEPTIONS) == 0
Condition:
* rr:RelationshipType IN ['IS_INTERNATIONAL_BRANCH_OF']
Ensure branches have expected relationship information
Precondition:
* lei:EntityCategory IN ['BRANCH'] * lei:RegistrationStatus IN ['ISSUED', 'LAPSED']
Condition:
* $COUNT($REPORTED_EXCEPTIONS) == 0 * $COUNT($REPORTED_RELATIONSHIPS) == 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY', 'IS_ULTIMATELY_CONSOLIDATED_BY', 'IS_SUBFUND_OF', 'IS_FUND-MANAGED_BY', 'IS_FEEDER_TO'] * $COUNT($REPORTED_RELATIONSHIPS) == 1 WITH: * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * rr:RelationshipType IN ['IS_INTERNATIONAL_BRANCH_OF']
Ensure there is only one branch per country and it has correct country information
Precondition:
* lei:RegistrationStatus IN ['ISSUED', 'LAPSED'] * $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_INTERNATIONAL_BRANCH_OF'] * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED']
Condition:
* FOR ALL-APPLICABLE $REPORTED_PARENT_RELATIONSHIPS: * rr:EndNode/rr:NodeID $VALID * lei:LegalAddress/lei:Country NOT $EQUALS $END_NODE_RECORD lei:LegalJurisdiction $COUNTRY_PART * lei:HeadQuartersAddress/lei:Country $EQUALS $END_NODE_RECORD lei:LegalJurisdiction $COUNTRY_PART * lei:LegalJurisdiction $COUNTRY_PART $EQUALS $END_NODE_RECORD lei:LegalJurisdiction $COUNTRY_PART * FOR $START_NODE_RECORD WITH: * RUT rr:EndNode/rr:NodeID $EQUALS REFERRED_RECORD rr:EndNode/rr:NodeID * REFERRED_RECORD rr:RelationshipType IN ['IS_INTERNATIONAL_BRANCH_OF'] * REFERRED_RECORD rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED']: * RUT lei:LegalAddress/lei:Country NOT $EQUALS REFERRED_RECORD lei:LegalAddress/lei:Country
No repetition of legal address postal code in other legal address fields
Precondition:
* lei:LegalAddress/lei:PostalCode $PRESENT
Condition:
* lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:FirstAddressLine * lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:AdditionalAddressLine[1] * lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:AdditionalAddressLine[2] * lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:AdditionalAddressLine[3] * lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:City * lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:AddressNumber * lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:AddressNumberWithinBuilding * lei:LegalAddress/lei:PostalCode NOT $SUBSTRING lei:LegalAddress/lei:MailRouting
No repetition of headquarters address postal code in other headquarters address fields
Precondition:
* lei:HeadquartersAddress/lei:PostalCode $PRESENT
Condition:
* lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:FirstAddressLine * lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:AdditionalAddressLine[1] * lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:AdditionalAddressLine[2] * lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:AdditionalAddressLine[3] * lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:City * lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:AddressNumber * lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:AddressNumberWithinBuilding * lei:HeadquartersAddress/lei:PostalCode NOT $SUBSTRING lei:HeadquartersAddress/lei:MailRouting
Declared ultimate parent meets the requirements for ultimate parents
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * FOR $END_NODE_RECORD: * lei:RegistrationStatus NOT IN ['LAPSED', 'PENDING_TRANSFER','PENDING_ARCHIVAL'] * FOR $END_NODE_RECORD: * $COUNT($REPORTED_PARENT_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL'] * OR * $COUNT($REPORTED_EXCEPTIONS)
Condition:
* FOR $END_NODE_RECORD: * $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL'] * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionReason IN ['NATURAL_PERSONS', 'NON_CONSOLIDATING', 'NO_KNOWN_PERSON'] * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionReason IN ['NATURAL_PERSONS', 'NON_CONSOLIDATING', 'NO_KNOWN_PERSON'] * repex:ExceptionCategory IN ['DIRECT_ACCOUNTING_CONSOLIDATION_PARENT']
Entity identifier is not provided for unregistered entities
Precondition:
* lei:RegistrationAuthorityID IN ['RA999999']
Condition:
* lei:RegistrationAuthorityEntityID NOT $PRESENT
Information on other validation authority is not repeated as validation entity identifier
Precondition:
* lei:OtherValidationAuthorityID $PRESENT
Condition:
* lei:OtherValidationAuthorityID NOT $EQUALS_NORMALIZED lei:ValidationAuthorityEntityID
Information on other validation authority is not repeated as validation authority
Precondition:
* lei:OtherValidationAuthorityID $PRESENT
Condition:
* lei:OtherValidationAuthorityID NOT $EQUALS_NORMALIZED lei:ValidationAuthorityID
Successor information corresponds to the registration status or entity events
Precondition:
* lei:RegistrationStatus NOT IN ['ANNULLED', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL'] * lei:SuccessorEntity $PRESENT
Condition:
* IF lei:SuccessorEntityName $PRESENT: * IF lei:SuccessorLEI NOT $PRESENT: * lei:RegistrationStatus IN ['RETIRED'] * OR * IF lei:SuccessorLEI $PRESENT: * lei:RegistrationStatus IN ['RETIRED', 'DUPLICATE'] * OR * $COUNT($LEGAL_ENTITY_EVENTS) >= 1 WITH: * lei:LegalEntityEventType IN ['DEMERGER', 'SPINOFF'] * lei:LegalEntityEvent/@event_status IN ['COMPLETED']
Ensure valid RA code is included
Precondition:
Condition:
* lei:RegistrationAuthorityID $PRESENT * lei:RegistrationAuthorityID IN $RA_CODE_LIST * lei:RegistrationAuthorityID NOT IN ['RA777777']
Ensure valid ELF code is included
Precondition:
Condition:
* lei:EntityLegalFormCode $PRESENT * lei:EntityLegalFormCode IN $ELF_CODE_LIST * IF lei:RegistrationStatus $MUTABLE: * lei:EntityLegalFormCode IN $ELF_CODE_LIST WITH: * $ELF_CODE_LIST/ELF_STATUS == 'ACTV'
Ensure no duplicate relationship records are introduced
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus NOT IN ['PENDING_TRANSFER', 'PENDING_ARCHIVAL'] * rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY', 'IS_ULTIMATELY_CONSOLIDATED_BY', 'IS_SUBFUND_OF', 'IS_FUND-MANAGED_BY', 'IS_FEEDER_TO', 'IS_INTERNATIONAL_BRANCH_OF'] * rr:PeriodType IN ['RELATIONSHIP_PERIOD'] WITH: * rr:RelationshipPeriod/rr:StartDate $PRESENT * FOR $REPORTED_RELATIONSHIPS AND $EXISTING_RELATIONSHIPS: * rr:RelationshipPeriods/rr:StartDate $PRESENT
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $COUNT($EXISTING_RELATIONSHIPS) == 0 WITH: * $REPORTED_RELATIONSHIPS rr:Header:Originator NOT $EQUALS $EXISTING_RELATIONSHIPS rr:Header:Originator * FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS WITH: * $EXISTING_RELATIONSHIPS rr:RegistrationStatus IN ['RETIRED', 'ANNULLED', 'DUPLICATE'] * $COUNT($EXISTING_RELATIONSHIPS) == 1 WITH: * $REPORTED_RELATIONSHIPS rr:RelationshipType $EQUALS $EXISTING_RELATIONSHIPS rr:RelationshipType * $REPORTED_RELATIONSHIPS rr:Header:Originator $EQUALS $EXISTING_RELATIONSHIPS rr:Header:Originator * $REPORTED_RELATIONSHIPS rr:EndNode/rr:NodeID $EQUALS $EXISTING_RELATIONSHIPS rr:EndNode/rr:NodeID * $REPORTED_RELATIONSHIPS rr:RelationshipPeriod/rr:StartDate $DATE_PART == $EXISTING_RELATIONSHIPS rr:RelationshipPeriod/rr:StartDate $DATE_PART WITH: * $REPORTED_RELATIONSHIPS rr:PeriodType IN ['RELATIONSHIP_PERIOD'] * $EXISTING_RELATIONSHIPS rr:PeriodType IN ['RELATIONSHIP_PERIOD'] * $EXISTING_RELATIONSHIPS rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * $COUNT($EXISTING_RELATIONSHIPS) == 1 WITH: * $REPORTED_RELATIONSHIPS rr:RelationshipType $EQUALS $EXISTING_RELATIONSHIPS rr:RelationshipType * $REPORTED_RELATIONSHIPS rr:Header:Originator $EQUALS $EXISTING_RELATIONSHIPS rr:Header:Originator * $REPORTED_RELATIONSHIPS rr:EndNode/rr:NodeID $EQUALS $EXISTING_RELATIONSHIPS rr:EndNode/rr:NodeID
Ensure source for corroboration is provided
Precondition:
* lei:RegistrationStatus NOT IN ['ANNULLED'] * lei:ValidationSources $PRESENT * lei:ValidationSources IN ['PARTIALLY_CORROBORATED', 'FULLY_CORROBORATED']
Condition:
* lei:ValidationAuthority $PRESENT * lei:ValidationAuthorityID NOT IN ['RA999999', 'RA888888']
Ensure no validation source is given for uncorroborated records
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:ValidationSources $PRESENT * lei:ValidationSources IN ['ENTITY_SUPPLIED_ONLY'] * lei:ValidationAuthority $PRESENT * lei:ValidationAuthorityID NOT IN ['RA999999', 'RA000413', 'RA001124']
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', RA001112]
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/Country_Code WITH: * $RA_FUND_LIST/is_ValidationAuthority == 'yes'
Condition:
* IF lei:LegalJurisdiction $COUNTRY_PART NOT $EQUALS 'US': * lei:ValidationAuthorityID IN $RA_FUND_LIST/Registration_Authority_Code WITH: * $RA_FUND_LIST/is_ValidationAuthority == 'yes' * IF lei:LegalJurisdiction $COUNTRY_PART $EQUALS 'US': * lei:ValidationAuthorityID IN $RA_FUND_LIST/Registration_Authority_Code WITH: * $RA_FUND_LIST/is_ValidationAuthority == 'yes' * OR * lei:OtherLegalForm IN ['Collective Investment Trust'] * OR * lei:EntityLegalFormCode IN ['4FSX', 'HZEH', 'T91T']
Ensure relationships with status NULL have an appropriate registration status
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipStatus IN ['NULL'] * rr:RegistrationStatus NOT IN ['PENDING_TRANSFER', 'PENDING_ARCHIVAL']
Condition:
* IF lei:EntityCategory IN ['FUND']: * rr:RegistrationStatus IN ['DUPLICATE', 'ANNULLED', 'PUBLISHED'] * IF lei:EntityCategory NOT IN ['FUND']: * rr:RegistrationStatus IN ['DUPLICATE', 'ANNULLED']
Entity's expiration date and expiration reason are not populated
Precondition:
Condition:
* lei:EntityExpirationDate NOT $PRESENT * lei:EntityExpirationReason NOT $PRESENT
Retired record has corresponding legal entity event
Precondition:
* lei:RegistrationStatus IN ['RETIRED']
Condition:
* COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:legalEntityEventType IN ['LIQUIDATION', 'INSOLVENCY', 'DISSOLUTION', 'MERGERS_AND_ACQUISITIONS', 'BANKRUPTCY', 'ABSORPTION', 'ACQUISITION_BRANCH', 'BREAKUP', 'TRANSFORMATION_BRANCH_TO_SUBSIDIARY', 'CHANGE_LEGAL_FORM'] * lei:LegalEntityEvent/@event_status IN ['COMPLETED']
Duplicate and annulled relationships have status null
Precondition:
* rr:RegistrationStatus IN ['DUPLICATE', 'ANNULLED']
Condition:
* rr:RelationshipStatus IN ['NULL']
Fund relationship types are only used for fund entities
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_SUBFUND_OF', 'IS_FUND-MANAGED_BY', 'IS_FEEDER_TO'] * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED']
Condition:
* lei:EntityCategory IN ['FUND']
The category of the legal entity is always provided
Precondition:
Condition:
* lei:EntityCategory $PRESENT
Language information is provided
Precondition:
* lei:RegistrationStatus $MUTABLE
Condition:
* FOR FIELD IN [lei:LegalName, lei:LegalAddress, lei:OtherEntityName, lei:TransliteratedOtherEntityName, lei:SuccessorEntityName]: * /@xml:lang $PRESENT * FOR $ADMINISTRATIVE_LANGUAGES IN lei:LegalAddress/lei:Country: * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) == 0: * /@xml:lang $PATTERN_MATCH('/^([a-z]{2})(-[A-Z]{1,8}|-[0-9]{1,3})?$/') * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) > 0: * /@xml:lang $PATTERN_MATCH('/^([a-z]){1,3}(-[A-Z]{1,8}|-[0-9]{1,3})?$/') * FOR FIELD IN [lei:HeadquartersAddress]: * /@xml:lang $PRESENT * FOR $ADMINISTRATIVE_LANGUAGES IN lei:HeadquartersAddress/lei:Country: * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) == 0: * /@xml:lang $PATTERN_MATCH('/^([a-z]{2})(-[A-Z]{1,8}|-[0-9]{1,3})?$/') * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) > 0: * /@xml:lang $PATTERN_MATCH('/^([a-z]){1,3}(-[A-Z]{1,8}|-[0-9]{1,3})?$/') * FOR FIELD IN [lei:OtherAddress]: * /@xml:lang $PRESENT * FOR $ADMINISTRATIVE_LANGUAGES IN lei:OtherAddress/lei:Country: * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) == 0: * /@xml:lang $PATTERN_MATCH '/^([a-z]{2})(-[A-Z]{1,8}|-[0-9]{1,3})?$/' * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) > 0: * /@xml:lang $PATTERN_MATCH '/^([a-z]){1,3}(-[A-Z]{1,8}|-[0-9]{1,3})?$/' * FOR FIELD IN [lei:TransliteratedOtherAddress]: * /@xml:lang $PRESENT * FOR $ADMINISTRATIVE_LANGUAGES IN lei:TransliteratedOtherAddress/lei:Country: * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) == 0: * /@xml:lang $PATTERN_MATCH '/^([a-z]{2})(-[A-Z]{1,8}|-[0-9]{1,3})?$/' * IF $COUNT($LANGUAGE_ISO_3166_1_ALPHA_2 NOT $PRESENT) > 0: * /@xml:lang $PATTERN_MATCH '/^([a-z]){1,3}(-[A-Z]{1,8}|-[0-9]{1,3})?$/'
At least one character in the legal name of the entity is provided in local alphabet
Precondition:
* lei:LegalName/@xml:lang $PRESENT * lei:LegalName/@xml:lang IN $LANGUAGE_CHARACTERS_LIST * lei:LegalName $ALPHABETICAL
Condition:
* lei:LegalName $PATTERN_MATCH $LANGUAGE_CHARACTERS_LIST/language
No successor LEI code references the LEI code in the current LEI Record
Precondition:
* lei:SuccessorLEI $PRESENT
Condition:
* FOR lei:SuccessorLEI: * lei:SuccessorLEI NOT $EQUALS lei:LEI
Additional information for not yet listed validation authority is provided
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:ValidationAuthorityID IN ['RA777777', 'RA888888']
Condition:
* lei:OtherValidationAuthorityID $PRESENT * lei:OtherValidationAuthorityID NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST) * lei:OtherValidationAuthorityID NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER
Additional information for not yet listed registration authority is provided
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:RegistrationAuthorityID IN ['RA888888']
Condition:
* lei:OtherRegistrationAuthorityID $PRESENT * lei:OtherRegistrationAuthorityID NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST) * lei:OtherRegistrationAuthorityID NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER * $NORMALIZED(lei:OtherRegistrationAuthorityID) NOT $PATTERN_MATCH('/^RAd{6}$/')
Additional information for validation authority is provided only when suited
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:ValidationAuthorityID $PRESENT * lei:OtherValidationAuthorityID $PRESENT
Condition:
* lei:ValidationAuthorityID IN ['RA777777', 'RA888888']
Additional information for registration authority is provided only when suited
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:RegistrationAuthorityID $PRESENT * lei:OtherRegistrationAuthorityID $PRESENT
Condition:
* lei:RegistrationAuthorityID IN ['RA888888']
Additional information for not listed entity legal form code is provided
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:EntityLegalFormCode IN ['8888', '9999']
Condition:
* lei:OtherLegalForm $PRESENT * lei:OtherLegalForm NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER * lei:OtherLegalForm $ALPHABETICAL * lei:OtherLegalForm NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST/Applicable_for_OtherLegalForm == yes)
Reserved ELF code is used when Other Legal Form is provided
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:EntityLegalFormCode $PRESENT * lei:OtherLegalForm $PRESENT * IF lei:LegalJurisdiction $STARTS_WITH('US'): * lei:OtherLegalForm NOT IN ['Collective Investment Trust']
Condition:
* lei:EntityLegalFormCode IN ['8888', '9999']
Verify expected level of validation for entities with not yet verified and accepted registration authority
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:RegistrationAuthorityID IN ['RA888888']
Condition:
* IF lei:ValidationAuthorityID IN ['RA777777']: * lei:ValidationSources IN ['PARTIALLY_CORROBORATED', 'FULLY_CORROBORATED'] * IF lei:ValidationAuthorityID NOT IN ['RA777777']: * lei:ValidationSources IN ['ENTITY_SUPPLIED_ONLY']
Entity's validation number has the expected local format
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:ValidationAuthorityID $PRESENT * lei:ValidationAuthorityID IN $RA_FORMAT_LIST/registration_authority * lei:ValidationAuthorityEntityID $PRESENT
Condition:
* lei:ValidationAuthorityEntityID $PATTERN_MATCH $RA_FORMAT_LIST/regex
Entity's validation number in additional validation authorities has the expected local format
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:OtherValidationAuthorities $PRESENT * lei:OtherValidationAuthority/lei:ValidationAuthorityID IN $RA_FORMAT_LIST/registration_authority * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID $PRESENT
Condition:
* FOR lei:OtherValidationAuthority: * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID $PATTERN_MATCH $RA_FORMAT_LIST/regex
Local identifier are provided and plausible for validation
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * lei:EntityCategory NOT IN ['FUND'] * lei:ValidationAuthorityID $PRESENT * lei:ValidationAuthorityID NOT IN ['RA777777', 'RA888888', 'RA999999', 'RA000018', 'RA000029', 'RA000397', 'RA000634', 'RA000704', 'RA000711', 'RA000712', 'RA000722', 'RA000723', 'RA000725', 'RA000727', 'RA000733', 'RA000734', 'RA000736', 'RA000737', 'RA000738', 'RA000739', 'RA000740', 'RA000741', 'RA000742', 'RA000743', 'RA000747', 'RA000750', 'RA000768', 'RA000769', 'RA000770', 'RA000771', 'RA000772', 'RA000773', 'RA000774', 'RA000775', 'RA000831', 'RA001112']
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', 'RA001112']
Condition:
FOR ALL-APPLICABLE lei:OtherValidationAuthority: * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID $PRESENT * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST) * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER
No local identifier is provided when authoritative source does not provide any identifier
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * lei:RegistrationAuthorityID $PRESENT * lei:RegistrationAuthorityID IN ['RA999999', 'RA000397', 'RA000704', 'RA000712', 'RA000722', 'RA000723', 'RA000725', 'RA000727', 'RA000733', 'RA000736', 'RA000737', 'RA000738', 'RA000739', 'RA000741', 'RA000742', 'RA000743', 'RA000768', 'RA000769', 'RA000770', 'RA000771', 'RA000772', 'RA000773', 'RA000774', 'RA000775']
Condition:
* lei:RegistrationAuthorityEntityID NOT $PRESENT
Appropriate code in headquarters address region
Precondition:
* lei:HeadquartersAddress/lei:Region $PRESENT * lei:RegistrationStatus $MUTABLE
Condition:
* lei:HeadquartersAddress/lei:Region IN $ISO_3166_2
Appropriate code in headquarters address country
Precondition:
* lei:RegistrationStatus $MUTABLE
Condition:
* lei:HeadquartersAddress/lei:Country IN ['XK', $ISO_3166_1_ALPHA_2]
There is only one single instance of type relationship period per relationship
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:PeriodType IN ['RELATIONSHIP_PERIOD']
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $COUNT(rr:RelationshipPeriod) == 1 WITH: * rr:PeriodType IN ['RELATIONSHIP_PERIOD']
Entity creation date is plausible
Precondition:
* lei:EntityCategory NOT IN ['FUND'] * lei:EntityCreationDate $PRESENT
Condition:
* leiFileHeader:ContentDate + $TIME_INTERVAL('30 D') >= lei:EntityCreationDate
Plausible entity creation date for funds in formation
Precondition:
* lei:EntityCreationDate NOT $PRESENT * lei:NextRenewalDate >= $DATETIME('2023-06-01T00:00:00+00:00') * OR * lei:InitialRegistrationDate >= $DATETIME('2022-04-01T00:00:00+00:00')
Condition:
* lei:EntityStatus IN ['NULL'] * lei:EntityCategory IN ['FUND']
Ensure plausible usage of entity subcategories values for government entities
Precondition:
* lei:EntitySubCategory $PRESENT * lei:EntitySubCategory IN ['CENTRAL_GOVERNMENT', 'STATE_GOVERNMENT', 'LOCAL_GOVERNMENT', 'SOCIAL_SECURITY']
Condition:
* lei:EntityCategory IN ['RESIDENT_GOVERNMENT_ENTITY']
Appropriate usage of government accounting standard
Precondition:
* $COUNT($REPORTED_PARENT_RELATIONSHIPS) > 0 WITH: * rr:QualifierCategory IN ['GOVERNMENT_ACCOUNTING_STANDARD'] * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED', 'RETIRED']
Condition:
* lei:EntityCategory IN ['RESIDENT_GOVERNMENT_ENTITY', 'INTERNATIONAL_ORGANIZATION']
The parent entity of a government entity is also a government entity
Precondition:
* lei:EntityCategory IN ['RESIDENT_GOVERNMENT_ENTITY'] * $COUNT($REPORTED_PARENT_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * lei:LEI $EQUALS rr:EndNode/rr:NodeID * $END_NODE_RECORD $VALID
Condition:
* FOR ALL-APPLICABLE $REPORTED_PARENT_RELATIONSHIPS: * $END_NODE_RECORD lei:EntityCategory IN ['RESIDENT_GOVERNMENT_ENTITY']
Start and end node in a relationship fit the entity category for international organizations
Precondition:
* lei:EntityCategory IN ['INTERNATIONAL_ORGANIZATION'] * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * $END_NODE_RECORD $VALID
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $END_NODE_RECORD lei:EntityCategory IN ['INTERNATIONAL_ORGANIZATION']
Government entities use appropriate relationship exception resons
Precondition:
* lei:EntityCategory IN ['RESIDENT_GOVERNMENT_ENTITY'] * $COUNT($REPORTED_EXCEPTIONS) > 0
Condition:
* FOR ALL-APPLICABLE $REPORTED_EXCEPTIONS: * repex:ExceptionReason IN ['NO_KNOWN_PERSON', 'NO_LEI']
No accounting periods are present for funds
Precondition:
* lei:EntityCategory IN ['FUND'] * $COUNT($REPORTED_FUND_RELATIONSHIPS) > 0
Condition:
* FOR ALL-APPLICABLE $REPORTED_FUND_RELATIONSHIPS: * $COUNT(rr:RelationshipPeriod) == 0 WITH: * rr:PeriodType IN ['ACCOUNTING_PERIOD']
Ensure plausible start date for relationship periods
Precondition:
* lei:EntityCreationDate $PRESENT * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus NOT IN ['ANNULLED', 'PENDING_ARCHIVAL', 'PENDING_TRANSFER'] * rr:PeriodType IN ['RELATIONSHIP_PERIOD'] * rr:StartDate $PRESENT
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * rr:StartDate >= lei:EntityCreationDate
Appropriate usage of reserved codes for public legal documents
Precondition:
* lei:RegistrationAuthorityID $PRESENT * lei:ValidationAuthorityID IN ['RA777777'] * OR * lei:RegistrationAuthorityID $PRESENT * lei:OtherValidationAuthority $PRESENT * lei:OtherValidationAuthority/lei:ValidationAuthorityID IN ['RA777777']
Condition:
* lei:EntityCategory IN ['RESIDENT_GOVERNMENT_ENTITY', 'INTERNATIONAL_ORGANIZATION'] * lei:RegistrationAuthorityID IN ['RA888888', 'RA999999']
Appropriate usage of special codes for legal jurisdiction
Precondition:
* lei:LegalJurisdiction IN ['EU','UN','XX']
Condition:
* lei:EntityCategory IN ['INTERNATIONAL_ORGANIZATION']
All successors of all completed legal entity events are listed
Precondition:
* $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent/@event_status IN ['COMPLETED'] * lei:AffectedField WITH: * lei:AffectedField/@field_xpath IN ['/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorEntityName', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorLEI']
Condition:
* FOR ALL-APPLICABLE lei:AffectedField: * lei:AffectedField WITH: * lei:AffectedField/@field_xpath IN ['/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorLEI'] == lei:SuccessorEntity/lei:SuccessorLEI * lei:AffectedField WITH: * lei:AffectedField/@field_xpath IN ['/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorEntityName'] == lei:SuccessorEntity/lei:SuccessorEntityName * OR * FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * $COUNT($REFERRED_EVENT) > 0 WITH: * $REFERRED_EVENT lei:LegalEntityEvent/@event_status IN ['WITHDRAWN_CANCELLED'] * lei:LegalEntityEventEffectiveDate $DATE_PART == $REFERRED_EVENT lei:LegalEntityEventEffectiveDate $DATE_PART * lei:LegalEntityEventType == $REFERRED_EVENT lei:LegalEntityEventType * lei:ValidationDocuments == $REFERRED_EVENT lei:ValidationDocuments * lei:AffectedField/@field_xpath == $REFERRED_EVENT $FIELD_XPATH * lei:field_xpath == $REFERRED_EVENT $lei:field_xpath
All successor LEIs of non-duplicate records are mentioned in a legal entity event
Precondition:
* lei:RegistrationStatus NOT IN ['DUPLICATE', 'ANNULLED', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL'] * lei:SuccessorEntity $PRESENT
Condition:
* $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent/@event_status IN ['COMPLETED'] * lei:AffectedField WITH: * lei:SuccessorEntityName IN lei:AffectedField/@field_xpath('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorEntityName') * OR * lei:LegalEntityEvent/@event_status IN ['COMPLETED'] * lei:AffectedField WITH: * lei:SuccessorLEI IN lei:AffectedField/@field_xpath('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorLEI')
Deprecated exception reasons are not used
Precondition:
* $COUNT($REPORTED_EXCEPTIONS) > 0
Condition:
* repex:ExceptionReason NOT IN ['LEGAL_OBSTACLES', 'CONSENT_NOT_OBTAINED', 'BINDING_LEGAL_COMMITMENTS', 'DETRIMENT_NOT_EXCLUDED', 'DISCLOSURE_DETRIMENTAL']
Xpath in affected fields is valid
Precondition:
* lei:LegalEntityEvent/lei:AffectedField $PRESENT
Condition:
* FOR lei:LegalEntityEvent/lei:AffectedFields/lei:AffectedField: * lei:AffectedField/@field_xpath IN [ * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalName', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:OtherEntityNames/lei:OtherEntityName', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:OtherEntityNames/lei:OtherEntityName@type', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:TransliteratedOtherEntityNames/lei:TransliteratedOtherEntityName', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:TransliteratedOtherEntityNames/lei:TransliteratedOtherEntityName@type', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:FirstAddressLine', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:AdditionalAddressLine[1]', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:AdditionalAddressLine[2]', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:AdditionalAddressLine[3]', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:AddressNumber', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:AddressNumberWithinBuilding', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:MailRouting', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:City', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:PostalCode', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:Country', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress/lei:Region', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalAddress@lang', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:HeadquartersAddress/*', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:OtherAddresses/*', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:OtherAddresses@lang', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:OtherAddresses@type', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:TransliteratedOtherAddresses/*', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:TransliteratedOtherAddresses@lang', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:TransliteratedOtherAddresses@type', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalJurisdiction', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:EntityCategory', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalForm/lei:EntityLegalFormCode', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:LegalForm/lei:OtherLegalForm', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorLEI', * '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorEntityName', * '/rr:RelationshipData/rr:RelationshipRecords/rr:RelationshipRecord/rr:Relationship/rr:EndNode/rr:NodeID', * '/rr:RelationshipData/rr:RelationshipRecords/rr:RelationshipRecord/rr:Relationship/rr:EndNode/rr:NodeType', * '/rr:RelationshipData/rr:RelationshipRecords/rr:RelationshipRecord/rr:Relationship/rr:RelationshipType', * '/repex:ReportingExceptionData/repex:ReportingExceptions/repex:Exception/repex:ExceptionCategory', * '/repex:ReportingExceptionData/repex:ReportingExceptions/repex:Exception/repex:ExceptionReason' ]
No local identifier is provided for validation when authoritative source does not provide any identifier
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * lei:ValidationAuthorityID $PRESENT * lei:ValidationAuthorityID IN ['RA999999', 'RA000397', 'RA000704', 'RA000712', 'RA000722', 'RA000723', 'RA000725', 'RA000727', 'RA000733', 'RA000736', 'RA000737', 'RA000738', 'RA000739', 'RA000741', 'RA000742', 'RA000743', 'RA000768', 'RA000769', 'RA000770', 'RA000771', 'RA000772', 'RA000773', 'RA000774', 'RA000775']
Condition:
* lei:ValidationAuthorityEntityID NOT $PRESENT
No local identifier is provided for additional validation sources when authoritative source does not provide any identifier
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * lei:OtherValidationAuthority/lei:ValidationAuthorityID $PRESENT * lei:OtherValidationAuthority/lei:ValidationAuthorityID IN ['RA000397', 'RA000704', 'RA000712', 'RA000722', 'RA000723', 'RA000725', 'RA000727', 'RA000733', 'RA000736', 'RA000737', 'RA000738', 'RA000739', 'RA000740', 'RA000741', 'RA000742', 'RA000743', 'RA000768', 'RA000769', 'RA000770', 'RA000771', 'RA000772', 'RA000773', 'RA000774', 'RA000775']
Condition:
* FOR ALL-APPLICABLE lei:OtherValidationAuthority: * lei:OtherValidationAuthority/lei:ValidationAuthorityEntityID NOT $PRESENT
Ensure RecordedDate is plausible for completed legal entity events
Precondition:
* $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent/@event_status IN [‘COMPLETED’]
Condition:
* FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * lei:LegalEntityEventRecordedDate >= lei:LegalEntityEventEffectiveDate
Legal name language tag shall be appropriate to the legal name characters
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * lei:LegalName/@xml:lang $PRESENT * lei:LegalName/@xml:lang IN $LANGUAGE_CHARACTERS_LIST * lei:LegalName $ALPHABETICAL
Condition:
* IF lei:LegalName $PATTERN_MATCH($LANGUAGE_CHARACTERS_LIST/unicode_range): * lei:LegalName/@xml:lang $EQUALS $LANGUAGE_CHARACTERS_LIST/lang_code
Verify that care of address is provided for funds with external fund manager
Precondition:
* lei:RegistrationStatus IN ['ISSUED','LAPSED'] * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_FUND-MANAGED_BY'] * rr:RegistrationStatus IN ['PUBLISHED','LAPSED'] * lei:LEI NOT $EQUALS rr:EndNode/rr:NodeID
Condition:
* $NORMALIZED(lei:HeadquartersAddress/lei:FirstAddressLine) $STARTS_WITH('c/o') * OR * $NORMALIZED(lei:HeadquartersAddress/lei:AdditionalAddressLine[1]) $STARTS_WITH('c/o') * OR * $NORMALIZED(lei:HeadquartersAddress/lei:AdditionalAddressLine[2]) $STARTS_WITH('c/o') * OR * $NORMALIZED(lei:HeadquartersAddress/lei:AdditionalAddressLine[3]) $STARTS_WITH('c/o') * OR * $NORMALIZED(lei:HeadquartersAddress/lei:MailRouting) $STARTS_WITH('c/o')
Transliterated name is provided for non-Latin legal names
Precondition:
* lei:RegistrationStatus $MUTABLE * lei:LegalName NOT $PATTERN_MATCH ('/^[A-Za-z0-9./:;?_!"%&'()*+,-s]+$/')
Condition:
* lei:TransliteratedOtherEntityNames $PRESENT
Ensure fund relationships have appropriate parent
Precondition:
* lei:RegistrationStatus IN ['ISSUED', 'LAPSED'] * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_SUBFUND_OF', 'IS_FEEDER_TO'] * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * $END_NODE_RECORD $VALID * $END_NODE_RECORD lei:LegalJurisdiction NOT IN ['JP']
Condition:
* FOR ALL-APPLICABLE END_NODE_RECORD: * $END_NODE_RECORD lei:EntityCategory IN ['FUND']
Ensure fund entities use correct entity category
Precondition:
* lei:RegistrationStatus IN ['ISSUED', 'LAPSED'] * lei:LegalJurisdiction NOT IN ['JP'] * $COUNT($REPORTED_CHILD_RELATIONSHIPS) > 0 with: * rr:RelationshipType IN ['IS_SUBFUND_OF', 'IS_FEEDER_TO'] * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED']
Condition:
* lei:EntityCategory 'FUND' * OR * lei:EntityLegalFormCode IN ['MP7S']
Funds are managed by appropriate entities
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_FUND-MANAGED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * rr:EndNode/rr:NodeID NOT $EQUALS lei:LEI
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $END_NODE_RECORD lei:EntityCategory NOT IN ['FUND'] * OR * FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $END_NODE_RECORD lei:EntityCategory IN ['FUND'] * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_SUBFUND_OF'] * rr:RegistrationStatus IN ['PUBLISHED'] * rr:EndNode/rr:NodeID $EQUALS $REFERRED_RECORD lei:LEI
Ensure fund managers have appropriate entity category
Precondition:
* $COUNT($REPORTED_CHILD_RELATIONSHIPS) > 0 WITH: * rr:RegistrationStatus IN ['PUBLISHED'] * rr:RelationshipType IN ['IS_FUND-MANAGED_BY'] * rr:StartNode/rr:NodeID NOT $EQUALS lei:LEI
Condition:
* lei:EntityCategory NOT IN ['FUND'] * OR * $COUNT($REPORTED_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_FUND-MANAGED_BY'] * rr:RegistrationStatus $MUTABLE * rr:EndNode/rr:NodeID $EQUALS lei:LEI * FOR ALL-APPLICABLE rr:StartNode/rr:NodeID: * $COUNT($REPORTED_CHILD_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_FUND-MANAGED_BY']: * rr:RegistrationStatus IN ['PUBLISHED'] * rr:EndNode/rr:NodeID $EQUALS lei:LEI * $COUNT($REPORTED_CHILD_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_SUBFUND_OF'] * rr:RegistrationStatus IN ['PUBLISHED'] * rr:EndNode/rr:NodeID $EQUALS lei:LEI
Fund entities declare only one active fund manager relationship
Precondition:
* lei:RegistrationStatus IN ['ISSUED', 'LAPSED'] * $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_FUND-MANAGED_BY']
Condition:
* FOR ALL-APPLICABLE $REPORTED_RELATIONSHIPS: * $COUNT($REPORTED_RELATIONSHIPS)
Ensure that standalone and complex change legal form events do not belong to any group
Precondition:
* lei:RegistrationStatus IN ['ISSUED', 'LAPSED'] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent/@group_type IN ['STANDALONE', 'COMPLEX_CHANGE_LEGAL_FORM']
Condition:
* FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * lei:LegalEntityEvent/@group_id NOT $PRESENT
Ensure that withdrawn events have a corresponding event
Precondition:
* lei:RegistrationStatus NOT IN ['ANNULLED'] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent/@event_status IN ['WITHDRAWN_CANCELLED']
Condition:
* FOR ALL-APPLICABLE lei:LegalEntityEventType: * $COUNT($LEGAL_ENTITY_EVENTS) WITH lei:LegalEntityEvent/@event_status IN ['WITHDRAWN_CANCELLED'] $COUNT($LEGAL_ENTITY_EVENTS) WITH lei:LegalEntityEvent/@event_status IN ['IN_PROGRESS'] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEventEffectiveDate $DATE_PART WITH lei:LegalEntityEvent/@event_status IN ['COMPLETED'] == lei:LegalEntityEventEffectiveDate $DATE_PART WITH lei:LegalEntityEvent/@event_status IN ['WITHDRAWN_CANCELLED']
Guarantee plausibility of successor information for duplicate records
Precondition:
* lei:RegistrationStatus IN ['DUPLICATE'] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent/@event_status IN ['COMPLETED'] * lei:AffectedField WITH: * lei:SuccessorLEI IN lei:AffectedField/@field_xpath('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorLEI')
Condition:
* $COUNT($UNIQUE(lei:SuccessorLEI)) - 1 == ($COUNT($UNIQUE $REFERRED_EVENT lei:SuccessorLEI) - $COUNT($UNIQUE lei:SuccessorLEI) WITH: * lei:LegalEntityEvent/@event_status IN ['WITHDRAWN_CANCELLED']) * lei:LegalEntityEventEffectiveDate $DATE_PART == $REFERRED_EVENT lei:LegalEntityEventEffectiveDate $DATE_PART * lei:LegalEntityEventType == $REFERRED_EVENT lei:LegalEntityEventType * lei:ValidationDocuments == $REFERRED_EVENT lei:ValidationDocuments
Verify that group sequence is not provided for events that do not have any sequence information
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent/@group_type IN ['STANDALONE', 'CHANGE_LEGAL_FORM_AND_NAME']
Condition:
* FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * lei:LegalEntityEvent/@group_sequence_no NOT $PRESENT
Successor information is not repeated outside of legal entity events
Precondition:
* lei:RegistrationStatus NOT IN ['ANNULLED'] * lei:SuccessorEntityName $PRESENT * lei:SuccessorLEI $PRESENT
Condition:
* FOR lei:SuccessorEntityName: * FOR lei:SuccessorLEI: * RUT lei:SuccessorEntityName NOT $EQUALS lei:LegalName WITH lei:LEI $EQUALS RUT lei:SuccessorLEI * RUT lei:SuccessorEntityName NOT $EQUALS lei:OtherEntityName WITH lei:OtherEntityNameType IN ['TRADING_OR_OPERATING_NAME', 'PREVIOUS_LEGAL_NAME'] WITH lei:LEI $EQUALS RUT lei:SuccessorLEI
All characters comply with UTF-8
Precondition:
Condition:
* lei:LegalName $UTF_8 * FOR ALL-APPLICABLE lei:OtherEntityNames: * OtherEntityName $UTF_8 * lei:LegalAddress/lei:FirstAddressLine $UTF_8 * FOR ALL-APPLICABLE lei:LegalAddress: * lei:AdditionalAddressLine $UTF_8 * lei:AdditionalAddressLine[1] $UTF_8 * lei:AdditionalAddressLine[2] $UTF_8 * lei:AdditionalAddressLine[3] $UTF_8 * lei:MailRouting $UTF_8 * lei:City $UTF_8 * lei:AddressNumber $UTF_8 * lei:HeadquartersAddress/lei:FirstAddressLine $UTF_8 * FOR ALL-APPLICABLE lei:HeadquartersAddress: * lei:AdditionalAddressLine $UTF_8 * lei:AdditionalAddressLine[1] $UTF_8 * lei:AdditionalAddressLine[2] $UTF_8 * lei:AdditionalAddressLine[3] $UTF_8 * lei:MailRouting $UTF_8 * lei:City $UTF_8 * lei:AddressNumber $UTF_8 * lei:OtherLegalForm $UTF_8 * lei:OtherRegistrationAuthorityID $UTF_8 * lei:OtherValidationAuthorityID $UTF_8
Verify that branch entities use correct address information
Precondition:
* lei:EntityCategory IN ['BRANCH'] * lei:RegistrationStatus IN ['ISSUED', 'LAPSED']
Condition:
* lei:LegalJurisdiction $COUNTRY_PART NOT $EQUALS lei:LegalAddress/lei:Country
Postal code matches the country's prescribed format
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * lei:LegalAddress/lei:Country $PRESENT * lei:LegalAddress/lei:Country IN $POSTAL_CODES_LIST/country_code * lei:LegalAddress/lei:PostalCode $PRESENT * OR * lei:HeadquartersAddress/lei:Country $PRESENT * lei:HeadquartersAddress/lei:Country IN $POSTAL_CODES_LIST/country_code * lei:HeadquartersAddress/lei:PostalCode $PRESENT
Condition:
* lei:LegalAddress/lei:PostalCode $PATTERN_MATCH $POSTAL_CODES_LIST/regex * lei:HeadquartersAddress/lei:PostalCode $PATTERN_MATCH $POSTAL_CODES_LIST/regex
Successor information is present for relevant retired records
Precondition:
* lei:RegistrationStatus IN ['RETIRED'] * $COUNT($LEGAL_ENTITY_EVENTS) == 0 WITH: * lei:LegalEntityEventType IN ['ABSORPTION', 'BANKRUPTCY', 'CHANGE_LEGAL_FORM', 'DISSOLUTION', 'LIQUIDATION', 'MERGERS_AND_ACQUISITIONS'] * lei:LegalEntityEvent/@event_status IN ['COMPLETED'] * lei:LegalEntityEventEffectiveDate $PRESENT * lei:LegalEntityEventEffectiveDate > $REFERRED_EVENT lei:LegalEntityEventEffectiveDate WITH lei:LegalEntityEventType IN ['ABSORPTION', 'ACQUISITION_BRANCH', 'BREAKUP', 'DEMERGER', 'MERGERS_AND_ACQUISITIONS', 'SPINOFF', 'TRANSFORMATION_BRANCH_TO_SUBSIDIARY', 'TRANSFORMATION_UMBRELLA_TO_STANDALONE'] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent/@event_status IN ['COMPLETED'] * lei:LegalEntityEventEffectiveDate $PRESENT * lei:LegalEntityEventType IN ['ABSORPTION', 'ACQUISITION_BRANCH', 'BREAKUP', 'DEMERGER', 'MERGERS_AND_ACQUISITIONS', 'SPINOFF', 'TRANSFORMATION_BRANCH_TO_SUBSIDIARY', 'TRANSFORMATION_UMBRELLA_TO_STANDALONE'] * lei:LegalEntityEventEffectiveDate
Condition:
* lei:SuccessorLEI $PRESENT * OR * lei:SuccessorEntityName $PRESENT
No duplicate legal entity events are present
Precondition:
* lei:RegistrationStatus IN ['ISSUED', 'LAPSED', 'RETIRED'] * COUNT($LEGAL_ENTITY_EVENTS) > 1 WITH: * lei:LegalEntityEventType NOT IN ['ACQUISITION_BRANCH', 'TRANSFORMATION_BRANCH_TO_SUBSIDIARY', 'MERGERS_AND_ACQUISITIONS', 'ABSORPTION'] * OR * COUNT($LEGAL_ENTITY_EVENTS) > 1 WITH: * lei:LegalEntityEventType IN ['ACQUISITION_BRANCH', 'TRANSFORMATION_BRANCH_TO_SUBSIDIARY', 'MERGERS_AND_ACQUISITIONS', 'ABSORPTION'] * lei:AffectedField WITH: * lei:AffectedField/@field_xpath('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorLEI') $PRESENT * OR * lei:AffectedField/@field_xpath('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorEntityName') $PRESENT
Condition:
* FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS WITH lei:LegalEntityEventType NOT IN ['ACQUISITION_BRANCH', 'TRANSFORMATION_BRANCH_TO_SUBSIDIARY', 'MERGERS_AND_ACQUISITIONS', 'ABSORPTION']: * lei:LegalEntityEventType NOT $EQUALS $REFERRED_EVENT lei:LegalEntityEventType * OR * lei:LegalEntityEvent/@event_status NOT $EQUALS $REFERRED_EVENT lei:LegalEntityEvent/@event_status * OR * lei:LegalEntityEventEffectiveDate $DATE_PART NOT $EQUALS $REFERRED_EVENT lei:LegalEntityEventEffectiveDate $DATE_PART * OR * lei:LegalEntityEvent/@group_id NOT $EQUALS $REFERRED_EVENT lei:LegalEntityEvent/@group_id * OR * lei:ValidationDocuments NOT $EQUALS $REFERRED_EVENT lei:ValidationDocuments * FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS WITH lei:LegalEntityEventType IN ['ACQUISITION_BRANCH', 'TRANSFORMATION_BRANCH_TO_SUBSIDIARY', 'MERGERS_AND_ACQUISITIONS', 'ABSORPTION']: * lei:LegalEntityEventType NOT $EQUALS $REFERRED_EVENT lei:LegalEntityEventType * OR * lei:LegalEntityEvent/@event_status NOT $EQUALS $REFERRED_EVENT lei:LegalEntityEvent/@event_status * OR * lei:LegalEntityEventEffectiveDate $DATE_PART NOT $EQUALS $REFERRED_EVENT lei:LegalEntityEventEffectiveDate $DATE_PART * OR * lei:LegalEntityEvent/@group_id NOT $EQUALS $REFERRED_EVENT lei:LegalEntityEvent/@group_id * OR * lei:ValidationDocuments NOT $EQUALS $REFERRED_EVENT lei:ValidationDocuments * OR * lei:SuccessorLEI IN lei:AffectedField/@field_xpath('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorLEI') NOT $EQUALS $REFERRED_EVENT lei:SuccessorLEI IN lei:field_xpath('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorLEI') * OR * lei:SuccessorEntityName IN lei:AffectedField/@field_xpath('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorEntityName') NOT $EQUALS $REFERRED_EVENT lei:SuccessorEntityName IN lei:field_xpath('/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorEntityName')
Ensure that child relationships use correct registration status when record is inactive
Precondition:
* lei:RegistrationStatus IN ['RETIRED'] * $COUNT($REPORTED_CHILD_RELATIONSHIPS) > 0 WITH: * lei:ManagingLOU $EQUALS rr:ManagingLOU * rr:RegistrationStatus NOT IN ['ANNULLED', 'DUPLICATE', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL', 'LAPSED']
Condition:
* FOR ALL-APPLICABLE $REPORTED_CHILD_RELATIONSHIPS: * rr:RegistrationStatus IN ['RETIRED']
Detect illegal state transitions from erroneous registrations
Precondition:
* lei:LEI $VALID * $PREVIOUS_VERSION(RUT lei:RegistrationStatus) IN ['ANNULLED', 'DUPLICATE']
Condition:
* lei:RegistrationStatus IN ['ANNULLED', 'DUPLICATE', 'PENDING_TRANSFER']
Detect implausible city names
Precondition:
* lei:RegistrationStatus IN ['ISSUED', 'LAPSED'] * $COUNT(CITY_NAMES_LIST/ID) > 0 WITH: * CITY_NAMES_LIST/COUNTRY_CODE == lei:LegalAddress/lei:Country * CITY_NAMES_LIST/PCODE == lei:LegalAddress/lei:PostalCode * CITY_NAMES_LIST/LOC_LANGUAGE == lei:LegalAddress/@xml:lang * OR * $COUNT(CITY_NAMES_LIST/ID) > 0 WITH: * CITY_NAMES_LIST/COUNTRY_CODE == lei:HeadquartersAddress/lei:Country * CITY_NAMES_LIST/PCODE == lei:HeadquartersAddress/lei:PostalCode * CITY_NAMES_LIST/LOC_LANGUAGE == lei:HeadquartersAddress/@xml:lang
Condition:
* $COUNT(CITY_NAMES_LIST/ID) == 1 WITH: * CITY_NAMES_LIST/CITY_NAME == lei:LegalAddress/lei:City * $COUNT(CITY_NAMES_LIST/ID) == 1 WITH: * CITY_NAMES_LIST/CITY_NAME == lei:HeadquartersAddress/lei:City
Direct parents do not describe a circular relationship
Precondition:
* $COUNT($REPORTED_PARENT_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED']
Condition:
* FOR ALL-APPLICABLE $REPORTED_PARENT_RELATIONSHIPS IN $RELATIONSHIP_CHAIN: * rr:EndNode/rr:NodeID NOT $EQUALS lei:LEI
Detect violations of transfer protocol
Precondition:
* lei:LEI $VALID * $COUNT($PREVIOUS_VERSION) == 1 * $PREVIOUS_VERSION(RUT lei:RegistrationStatus) IN ['PENDING_ARCHIVAL'] * lei:ManagingLOU NOT $EQUALS $PREVIOUS_VERSION(lei:ManagingLOU)
Condition:
* lei:RegistrationStatus NOT IN ['LAPSED', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL']
All characters in the legal name match corresponding language unicode range
Precondition:
* lei:LegalName/@xml:lang $PRESENT * lei:LegalName/@xml:lang IN $LANGUAGE_CHARACTERS_LIST * lei:LegalName $ALPHABETICAL
Condition:
* lei:LegalName $STRICT_PATTERN_MATCH $LANGUAGE_CHARACTERS_LIST/language
Entity status NULL must correspond to registration status
Precondition:
* lei:EntityStatus IN ['NULL'] * lei:EntityCategory NOT IN ['FUND'] * lei:RegistrationStatus NOT IN ['PENDING_TRANSFER', 'PENDING_ARCHIVAL']
Condition:
* lei:RegistrationStatus IN ['ANNULLED', 'DUPLICATE']
Change legal form and name group contains plausible event types
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent/@group_id $PRESENT * lei:LegalEntityEvent/@group_type IN ['CHANGE_LEGAL_FORM_AND_NAME'] * lei:LegalEntityEvent/@event_status NOT IN ['WITHDRAWN_CANCELLED']
Condition:
* FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * $COUNT($LEGAL_ENTITY_EVENTS) == 1 WITH: * lei:LegalEntityEvent/@group_id == $REFERRED_EVENT lei:LegalEntityEvent/@group_id * lei:LegalEntityEvent IN ['CHANGE_LEGAL_NAME'] * lei:LegalEntityEvent/@event_status IN ['COMPLETED'] * OR * lei:LegalEntityEvent/@group_id == $REFERRED_EVENT lei:LegalEntityEvent/@group_id * lei:LegalEntityEvent IN ['CHANGE_LEGAL_NAME'] * lei:LegalEntityEvent/@event_status IN ['IN_PROGRESS'] * $COUNT($LEGAL_ENTITY_EVENTS) == 1 WITH: * lei:LegalEntityEvent/@group_id == $REFERRED_EVENT lei:LegalEntityEvent/@group_id * lei:LegalEntityEventType IN ['CHANGE_LEGAL_FORM'] * lei:LegalEntityEvent/@event_status IN ['COMPLETED'] * OR * lei:LegalEntityEvent/@group_id == $REFERRED_EVENT lei:LegalEntityEvent/@group_id * lei:LegalEntityEventType IN ['CHANGE_LEGAL_FORM'] * lei:LegalEntityEvent/@event_status IN ['IN_PROGRESS']
The address information is provided in local language that matches the legal and headquarters address country
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * lei:EntityCategory NOT IN ['BRANCH'] * lei:LegalAddress WITH: * lei:LegalAddress/@xml:lang $PRESENT * lei:LegalAddress/lei:Country IN ['BG', 'BY', 'CN', 'EE', 'FR', 'GE', 'JP', 'KH', 'KR', 'MD', 'MK', 'PL', 'RU', 'TH', 'UA', 'VN'] * OR * lei:HeadquartersAddress WITH: * lei:HeadquartersAddress/@xml:lang $PRESENT * lei:HeadquartersAddress/lei:Country IN ['BG', 'BY', 'CN', 'EE', 'FR', 'GE', 'JP', 'KH', 'KR', 'MD', 'MK', 'PL', 'RU', 'TH', 'UA', 'VN']
Condition:
* lei:LegalAddress/@xml:lang $EQUALS $COUNTRY_LANGUAGE_LIST/country * lei:HeadquartersAddress/@xml:lang $EQUALS $COUNTRY_LANGUAGE_LIST/country * OR * lei:HeadquartersAddress/@xml:lang $EQUALS lei:LegalAddress/lei:Country $COUNTRY_LANGUAGE_LIST/country
Group id is provided for relevant event group types
Precondition:
* lei:RegistrationStatus IN ['ISSUED', 'LAPSED', 'RETIRED'] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent/@group_type IN ['CHANGE_LEGAL_FORM_AND_NAME', 'REVERSE_TAKEOVER']
Condition:
* FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * lei:LegalEntityEvent/@group_id $PRESENT
Successor name does not contain an LEI Code
Precondition:
* lei:RegistrationStatus IN ['ISSUED', 'LAPSED', 'RETIRED', 'DUPLICATE'] * lei:SuccessorEntityName $PRESENT
Condition:
* FOR ALL-APPLICABLE lei:SuccessorEntityName: * lei:SuccessorEntityName NOT $PATTERN_MATCH ^[0-9A-Z]{18}[0-9]{2}$
Postal code shall be included for countries in scope of postal code pattern matching
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * lei:LegalAddress/lei:Country NOT IN ['HK', 'JM'] * lei:LegalAddress/lei:Country IN $POSTAL_CODES_LIST/country_code * OR * lei:HeadquartersAddress/lei:Country NOT IN ['HK', 'JM'] * lei:HeadquartersAddress/lei:Country IN $POSTAL_CODES_LIST/country_code
Condition:
* lei:LegalAddress/lei:PostalCode $PRESENT * lei:HeadquartersAddress/lei:PostalCode $PRESENT
No affected fields shall be present for completed events reporting no successor entities
Precondition:
* lei:RegistrationStatus NOT IN ['ANNULLED', 'DUPLICATE] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEvent/@event_status IN ['COMPLETED']
Condition:
* FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * lei:AffectedFields NOT $PRESENT * OR * $COUNT(lei:AffectedField) > 0 WITH: * lei:AffectedField/@field_xpath IN ['/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorLEI', '/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorEntityName']
Plausible next renewal date for lapsed records is used
Precondition:
* lei:RegistrationStatus IN ['LAPSED']
Condition:
* lei:NextRenewalDate $DATE_PART
All direct parents use the same ultimate parent
Precondition:
* $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * rr:EndNode/rr:NodeID $VALID * $END_NODE_RECORD lei:RegistrationStatus IN ['ISSUED'] * $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * rr:EndNode/rr:NodeID $VALID
Condition:
* FOR ALL-APPLICABLE $REPORTED_PARENT_RELATIONSHIPS IN $RELATIONSHIP_CHAIN WITH $COUNT(REPORTED_ULTIMATE_PARENT_INFO == 1) AND rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY']: * $REFERRED_RECORD rr:EndNode/rr:NodeID $EQUALS RUT rr:EndNode/rr:NodeID WITH: * RUT rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * RUT rr:RegistrationStatus IN ['PUBLISHED'] * OR * $REFERRED_RECORD $COUNT($REPORTED_EXCEPTIONS) > 0 WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * repex:ExceptionReason IN ['NON_PUBLIC']
No placeholders shall be used in address information
Precondition:
* lei:RegistrationStatus IN ['ISSUED']
Condition:
* FOR FIELD IN [lei:LegalAddress, lei:HeadquartersAddress, lei:OtherAddress, lei:TransliteratedOtherAddress]: * lei:AdditionalAddressLine[1] NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST) * lei:AdditionalAddressLine[2] NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST) * lei:AdditionalAddressLine[3] NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST) * lei:City NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST) * lei:PostalCode NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST) * lei:MailRouting NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST) * lei:FirstAddressLine NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER * lei:AdditionalAddressLine[1] NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER * lei:AdditionalAddressLine[2] NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER * lei:AdditionalAddressLine[3] NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER * lei:City NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER * lei:PostalCode NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER * lei:MailRouting NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER
RA999999 is not used as OtherValidationAuthority
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * lei:OtherValidationAuthorities $PRESENT
Condition:
* FOR lei:OtherValidationAuthority: * lei:OtherValidationAuthority/lei:ValidationAuthorityID NOT IN ['RA999999']
Transliterated language information shall be correct
Precondition:
* lei:RegistrationStatus NOT IN ['ANNULLED', 'DUPLICATE'] * $COUNT(lei:TransliteratedOtherEntityName) > 0 WITH: * lei:TransliteratedOtherEntityName/@xml:lang $PRESENT * lei:LegalName/@xml:lang $PRESENT * OR * lei:OtherEntityName/@xml:lang $PRESENT * $COUNT(lei:TransliteratedOtherAddress) > 0 WITH: * lei:TransliteratedOtherAddress/@xml:lang $PRESENT * lei:LegalAddress/@xml:lang $PRESENT * OR * lei:HeadquartersAddress/@xml:lang $PRESENT
Condition:
* FOR ALL-APPLICABLE lei:TransliteratedOtherEntityName: * lei:TransliteratedOtherEntityName/@xml:lang $EQUALS lei:LegalName/@xml:lang * OR * lei:TransliteratedOtherEntityName/@xml:lang $EQUALS lei:OtherEntityName/@xml:lang * FOR ALL-APPLICABLE lei:TransliteratedOtherAddress WITH: * lei:TransliteratedOtherAddress/@type IN ['AUTO_ASCII_TRANSLITERATED_LEGAL_ADDRESS', 'PREFERRED_ASCII_TRANSLITERATED_LEGAL_ADDRESS']: * lei:TransliteratedOtherAddress/@xml:lang $UNIQUE * lei:TransliteratedOtherAddress/@xml:lang $EQUALS lei:LegalAddress/@xml:lang * FOR ALL-APPLICABLE lei:TransliteratedOtherAddress WITH: * lei:TransliteratedOtherAddress/@type IN ['AUTO_ASCII_TRANSLITERATED_HEADQUARTERS_ADDRESS', 'PREFERRED_ASCII_TRANSLITERATED_HEADQUARTERS_ADDRESS']: * lei:TransliteratedOtherAddress/@xml:lang $UNIQUE * lei:TransliteratedOtherAddress/@xml:lang $EQUALS lei:HeadquartersAddress/@xml:lang
Ensure previous legal names are unique and not repetitive
Precondition:
* COUNT(lei:OtherEntityName) > 0 WITH: * lei:OtherEntityNameType IN ['PREVIOUS_LEGAL_NAME'] * lei:RegistrationStatus NOT IN ['ANNULLED']
Condition:
* FOR ALL-APPLICABLE lei:OtherEntityName: * lei:OtherEntityName $UNIQUE
Correct legal form is provided for branch entities
Precondition:
* lei:EntityCategory IN ['BRANCH'] * lei:RegistrationStatus IN ['ISSUED', 'LAPSED'] * $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_INTERNATIONAL_BRANCH_OF'] * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED'] * rr:EndNode/rr:NodeID $VALID * rr:StartNode/rr:NodeID NOT $EQUALS rr:EndNode/rr:NodeID
Condition:
* lei:EntityLegalFormCode $EQUALS $END_NODE_RECORD lei:EntityLegalFormCode
Other Validation Authorities is present where applicable
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * lei:ValidationAuthorityID $PRESENT * lei:ValidationAuthorityID IN ['RA000533']
Condition:
* lei:OtherValidationAuthorities $PRESENT
Avoid redundancy in legal name and alternative language legal name languages
Precondition:
* lei:LegalName/@xml:lang $PRESENT * lei:OtherEntityNames $PRESENT * $COUNT(lei:OtherEntityName) > 0 WITH: * lei:OtherEntityName/@xml:lang $PRESENT * lei:OtherEntityName/@type IN ['ALTERNATIVE_LANGUAGE_LEGAL_NAME'] * lei:RegistrationStatus NOT IN ['ANNULLED']
Condition:
* FOR ALL-APPLICABLE lei:OtherEntityName: * lei:OtherEntityName/@xml:lang NOT $EQUALS lei:LegalName/@xml:lang * $COUNT(ALL-APPLICABLE NOT $UNIQUE lei:OtherEntityName/@xml:lang)
Last update date and recorded date are plausible
Precondition:
* $COUNT($LEGAL_ENTITY_EVENTS) > 1 * lei:RegistrationStatus NOT IN ['ANNULLED','DUPLICATE']
Condition:
* FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * lei:LegalEntityEventRecordedDate
Report no parent entities for sole proprietors
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * lei:EntityCategory IN ['SOLE_PROPRIETOR']
Condition:
* $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 0 WITH: * rr:RegistrationStatus $MUTABLE * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionReason IN ['NON_CONSOLIDATING', 'NATURAL_PERSONS'] * repex:ExceptionCategory IN ['DIRECT_ACCOUNTING_CONSOLIDATION_PARENT'] * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionReason IN ['NON_CONSOLIDATING', 'NATURAL_PERSONS'] * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT']
Branch entity must be registered
Precondition:
* lei:RegistrationStatus NOT IN ['ANNULLED', 'DUPLICATE'] * lei:EntityCategory IN ['BRANCH'] * lei:RegistrationAuthority $PRESENT * lei:RegistrationAuthorityID $PRESENT * OR * lei:ValidationAuthority $PRESENT * lei:ValidationAuthorityID $PRESENT
Condition:
* lei:RegistrationAuthorityID NOT IN ['RA999999'] * lei:ValidationAuthorityID NOT IN ['RA999999']
International organizations use correct reporting exception reason
Precondition:
* lei:EntityCategory IN ['INTERNATIONAL_ORGANIZATION'] * $COUNT($REPORTED_EXCEPTIONS) > 0
Condition:
* FOR ALL-APPLICABLE $REPORTED_EXCEPTIONS: * repex:ExceptionReason IN ['NO_KNOWN_PERSON', 'NO_LEI']
Detect inactive entities that become active
Precondition:
* lei:LEI $VALID * $PREVIOUS_VERSION(RUT lei:RegistrationStatus) IN ['RETIRED']
Condition:
* lei:RegistrationStatus IN ['RETIRED','ANNULLED','DUPLICATE','PENDING_TRANSFER']
Ensure address region matches with country information
Precondition:
* lei:RegistrationStatus IN ['ISSUED', 'LAPSED'] * lei:LegalAddress/lei:Region $PRESENT * lei:LegalAddress/lei:Region IN ISO_3166_2 * OR * lei:HeadquartersAddress/lei:Region $PRESENT * lei:HeadquartersAddress/lei:Region IN ISO_3166_2 * OR * COUNT(lei:OtherAddresses) > 0 WITH: * lei:OtherAddress/lei:Region $PRESENT * lei:OtherAddress/lei:Region IN ISO_3166_2 * OR * COUNT(lei:TransliteratedOtherAddresses) > 0 WITH: * lei:TransliteratedOtherAddress/lei:Region $PRESENT * lei:TransliteratedOtherAddress/lei:Region IN ISO_3166_2
Condition:
* lei:LegalAddress/lei:Country $EQUALS lei:LegalAddress/lei:Region ISO_3166_1_ALPHA_2 * lei:HeadquartersAddress/lei:Country $EQUALS lei:HeadquartersAddress/lei:Region ISO_3166_1_ALPHA_2 * FOR ALL-APPLICABLE lei:OtherAddress: * lei:OtherAddress/lei:Country $EQUALS lei:OtherAddress/lei:Region ISO_3166_1_ALPHA_2 * FOR ALL-APPLICABLE lei:TransliteratedOtherAddress: * lei:TransliteratedOtherAddress/lei:Country $EQUALS lei:TransliteratedOtherAddress/lei:Region ISO_3166_1_ALPHA_2
Successor information does not contain any placeholder values
Precondition:
* lei:RegistrationStatus IN ['ISSUED', 'LAPSED', 'RETIRED'] * lei:SuccessorEntityName $PRESENT * OR * COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:AffectedField WITH: * lei:AffectedField/@field_xpath IN ['/lei:LEIData/lei:LEIRecords/lei:LEIRecord/lei:Entity/lei:SuccessorEntity/lei:SuccessorEntityName']
Condition:
* FOR ALL-APPLICABLE lei:SuccessorEntityName: * lei:SuccessorEntityName NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER * lei:SuccessorEntityName NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST) * FOR ALL-APPLICABLE $LEGAL_ENTITY_EVENTS: * lei:SuccessorEntityName NOT CONSISTING-ONLY-OF $PUNCTUATION_CHARACTER * lei:SuccessorEntityName NOT IN $CASE_INSENSITIVE($PLACEHOLDER_LIST)
Appropriate code in other addresses region and transliterated other addresses region
Precondition:
* lei:RegistrationStatus IN ['ISSUED', 'LAPSED'] * COUNT(lei:OtherAddress) > 0 WITH: * lei:OtherAddress/lei:Region $PRESENT * OR * COUNT(lei:TransliteratedOtherAddress) > 0 WITH: * lei:TransliteratedOtherAddress/lei:Region $PRESENT
Condition:
* FOR ALL-APPLICABLE lei:OtherAddresses: * lei:OtherAddress/lei:Region IN ISO_3166_2 * FOR ALL-APPLICABLE lei:TransliteratedOtherAddresses: * lei:TransliteratedOtherAddress/lei:Region IN ISO_3166_2
Initial registration date is plausible
Precondition:
* lei:RegistrationStatus NOT IN ['ANNULLED', 'DUPLICATE']
Condition:
* IF lei:LEI $STARTS_WITH $LEI_ISSUER_PREFIXES/PREFIX: * lei:InitialRegistrationDate $DATE_PART >= $LEI_ISSUER_LIST/START_DATE $DATE_PART * IF lei:LEI NOT $STARTS_WITH $LEI_ISSUER_PREFIXES/PREFIX: * lei:InitialRegistrationDate $DATE_PART >= $DATETIME('2012-06-05T00:00:00+00:00') $DATE_PART
Ensure translated legal names are unique
Precondition:
* COUNT(lei:OtherEntityName) > 0 WITH: * lei:OtherEntityName/@type IN ['ALTERNATIVE_LANGUAGE_LEGAL_NAME'] * lei:LegalJurisdiction NOT IN ['CH']
Condition:
* FOR ALL-APPLICABLE lei:OtherEntityName: * lei:OtherEntityName NOT $EQUALS lei:LegalName * lei:OtherEntityName $UNIQUE
Ensure transliterated legal names are unique
Precondition:
* lei:TransliteratedOtherEntityNames $PRESENT * lei:LegalJurisdiction NOT IN ['CH']
Condition:
* FOR lei:TransliteratedOtherEntityName: * lei:TransliteratedOtherEntityName NOT $EQUALS lei:LegalName * lei:TransliteratedOtherEntityName $UNIQUE
Translated names shall be different than transliterated names
Precondition:
* lei:TransliteratedOtherEntityNames $PRESENT * COUNT(lei:OtherEntityName) > 0 WITH: * lei:OtherEntityNameType IN ['ALTERNATIVE_LANGUAGE_LEGAL_NAME']
Condition:
* FOR ALL-APPLICABLE lei:OtherEntityName: * FOR lei:TransliteratedOtherEntityName: * lei:OtherEntityName NOT $EQUALS lei:TransliteratedOtherEntityName
Branches shall be inactive if their head office is inactive
Precondition:
* lei:EntityCategory IN ['BRANCH'] * lei:RegistrationStatus NOT IN ['ANNULLED', 'DUPLICATE'] * $COUNT($REPORTED_PARENT_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_INTERNATIONAL_BRANCH_OF'] * rr:EndNode/rr:NodeID $VALID * $END_NODE_RECORD lei:RegistrationStatus IN ['RETIRED'] * rr:StartNode/rr:NodeID NOT $EQUALS rr:EndNode/rr:NodeID
Condition:
* lei:RegistrationStatus IN ['RETIRED'] * OR * $COUNT($REPORTED_PARENT_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_INTERNATIONAL_BRANCH_OF'] * rr:EndNode/rr:NodeID $VALID * rr:RegistrationStatus IN ['PUBLISHED', 'LAPSED', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL'] * $END_NODE_RECORD lei:RegistrationStatus IN ['ISSUED', 'LAPSED', 'PENDING_TRANSFER', 'PENDING_ARCHIVAL']
Provide complete, distinct parent information for RETIRED non-branches
Precondition:
* lei:EntityCategory NOT IN ['BRANCH'] * lei:InitialRegistrationDate >= $DATETIME('2024-04-11T00:00:00+00:00') * lei:RegistrationStatus IN ['RETIRED']
Condition:
* FOR $REPORTED_DIRECT_PARENT_INFO: * $COUNT($REPORTED_EXCEPTIONS) == 1 * OR * $COUNT($REPORTED_PARENT_RELATIONSHIPS) >= 1 WITH: * rr:RegistrationStatus IN ['RETIRED'] * FOR $REPORTED_ULTIMATE_PARENT_INFO: * $COUNT($REPORTED_EXCEPTIONS) == 1 * OR * $COUNT($REPORTED_PARENT_RELATIONSHIPS) >= 1 WITH: * rr:RegistrationStatus IN ['RETIRED']
Provide complete, distinct parent information for LAPSED non-branches
Precondition:
* lei:EntityCategory NOT IN ['BRANCH'] * lei:InitialRegistrationDate >= $DATETIME('2018-01-01T00:00:00+00:00') * lei:RegistrationStatus IN ['LAPSED']
Condition:
* FOR $REPORTED_DIRECT_PARENT_INFO: * $COUNT($REPORTED_EXCEPTIONS) == 1 * OR * $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RegistrationStatus IN ['LAPSED'] * FOR $REPORTED_ULTIMATE_PARENT_INFO: * $COUNT($REPORTED_EXCEPTIONS) == 1 * OR * $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RegistrationStatus IN ['LAPSED']
Relationships for funds in formation are applied correctly
Precondition:
* $COUNT($REPORTED_RELATIONSHIPS) > 0 WITH: * rr:RelationshipStatus IN ['NULL'] * rr:RegistrationStatus IN ['PUBLISHED']
Condition:
* lei:EntityCategory IN ['FUND'] * lei:EntityCreationDate NOT $PRESENT * lei:EntityStatus IN ['NULL']
All direct children use the same ultimate parent
Precondition:
* $COUNT($REPORTED_CHILD_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * rr:EndNode/rr:NodeID $VALID
Condition:
* FOR ALL-APPLICABLE $REPORTED_CHILD_RELATIONSHIPS IN $RELATIONSHIP_CHAIN WITH $COUNT(REPORTED_ULTIMATE_PARENT_INFO) == 1 AND rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY']: * $REFERRED_RECORD rr:EndNode/rr:NodeID $EQUALS RUT rr:EndNode/rr:NodeID WITH: * RUT rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * RUT rr:RegistrationStatus IN ['PUBLISHED'] * OR * $REFERRED_RECORD $COUNT($REPORTED_EXCEPTIONS) > 0 WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * repex:ExceptionReason IN ['NON_PUBLIC']
Ensure other validation authority is used correctly
Precondition:
* lei:RegistrationStatus IN ['ISSUED', 'LAPSED'] * lei:OtherValidationAuthorityID $PRESENT
Condition:
* $NORMALIZED(lei:OtherValidationAuthorityID) NOT $PATTERN_MATCH('/^RAd{6}$/')
The legal name information is provided in local language that matches the jurisdiction
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * lei:LegalJurisdiction IN ['BG', 'GE', 'KH', 'KR', 'MK', 'RU', 'TH', 'UA', 'VN'] * lei:EntityCategory NOT IN ['BRANCH'] * lei:LegalName/@xml:lang $PRESENT
Condition:
* lei:LegalName/@xml:lang $MATCHES $COUNTRY_LANGUAGE_LIST/country
All direct children use the same reporting exception
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * $COUNT($REPORTED_CHILD_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * $COUNT($REPORTED_CHILD_RELATIONSHIPS) == 0 WITH: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * repex:ExceptionReason IN ['NO_LEI', 'NON_CONSOLIDATING', 'NATURAL_PERSONS', 'NO_KNOWN_PERSON']
Condition:
* FOR ALL-APPLICABLE $REPORTED_CHILD_RELATIONSHIPS IN $RELATIONSHIP_CHAIN WITH $COUNT(REPORTED_ULTIMATE_PARENT_INFO) == 1 AND WITH rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY']: * $REFERRED_RECORD $COUNT($REPORTED_EXCEPTIONS) > 0 WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * repex:ExceptionReason $EQUALS RUT repex:ExceptionReason * $REFERRED_RECORD $COUNT($REPORTED_RELATIONSHIPS) == 0 WITH: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * OR * repex:ExceptionReason IN ['NON_PUBLIC']
All direct parents use the same reporting exception
Precondition:
* $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * rr:EndNode/rr:NodeID $VALID * $END_NODE_RECORD lei:RegistrationStatus IN ['ISSUED'] * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * repex:ExceptionReason IN ['NO_LEI', 'NON_CONSOLIDATING', 'NATURAL_PERSONS', 'NO_KNOWN_PERSON']
Condition:
* FOR ALL-APPLICABLE $REPORTED_PARENT_RELATIONSHIPS IN $RELATIONSHIP_CHAIN WITH $COUNT(REPORTED_ULTIMATE_PARENT_INFO == 1) AND WITH rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY']: * $REFERRED_RECORD $COUNT($REPORTED_EXCEPTIONS) > 0 WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * repex:ExceptionReason $EQUALS RUT repex:ExceptionReason * $REFERRED_RECORD $COUNT($REPORTED_RELATIONSHIPS) == 0 WITH: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * OR * repex:ExceptionReason IN ['NON_PUBLIC']
Previous legal names are listed after legal name change
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * $COUNT($LEGAL_ENTITY_EVENTS) > 0 WITH: * lei:LegalEntityEventType IN ['CHANGE_LEGAL_NAME'] * lei:LegalEntityEventEffectiveDate >= $DATETIME('2022-04-01T00:00:00+00:00') * lei:LegalEntityEvent/@event_status IN ['COMPLETED'] * $COUNT($REFERRED_EVENT) == 0 WITH: * $REFERRED_EVENT lei:LegalEntityEvent/@event_status IN ['WITHDRAWN_CANCELLED'] * lei:LegalEntityEventEffectiveDate $DATE_PART == $REFERRED_EVENT lei:LegalEntityEventEffectiveDate $DATE_PART * lei:LegalEntityEventType == $REFERRED_EVENT lei:LegalEntityEventType * lei:ValidationDocuments == $REFERRED_EVENT lei:ValidationDocuments
Condition:
* $COUNT(lei:OtherEntityName) > 0 WITH: * lei:OtherEntityNameType IN ['PREVIOUS_LEGAL_NAME']
All previous name changes have corresponding legal entity events
Precondition:
* lei:EntityCreationDate >= $DATETIME('2022-04-01T00:00:00+00:00') * lei:RegistrationStatus IN ['ISSUED'] * $COUNT(lei:OtherEntityName) > 0 WITH: * lei:OtherEntityNameType IN ['PREVIOUS_LEGAL_NAME']
Condition:
* $COUNT($LEGAL_ENTITY_EVENTS) >= $COUNT(ALL-APPLICABLE lei:OtherEntityName) WITH: * lei:LegalEntityEvent/@event_status IN ['COMPLETED'] * lei:LegalEntityEventType IN ['CHANGE_LEGAL_NAME'] * $COUNT($REFERRED_EVENT) == 0 WITH: * $REFERRED_EVENT lei:LegalEntityEvent/@event_status IN ['WITHDRAWN_CANCELLED'] * lei:LegalEntityEventEffectiveDate $DATE_PART == $REFERRED_EVENT lei:LegalEntityEventEffectiveDate $DATE_PART * lei:LegalEntityEventType == $REFERRED_EVENT lei:LegalEntityEventType * lei:ValidationDocuments == $REFERRED_EVENT lei:ValidationDocuments
All direct children confirm that the ultimate parent is not public
Precondition:
* lei:RegistrationStatus IN ['ISSUED'] * $COUNT($REPORTED_CHILD_RELATIONSHIPS) > 0 WITH: * rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * $COUNT($REPORTED_CHILD_RELATIONSHIPS) == 0 WITH: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * repex:ExceptionReason IN ['NON_PUBLIC']
Condition:
* FOR ALL-APPLICABLE $REPORTED_CHILD_RELATIONSHIPS IN $RELATIONSHIP_CHAIN WITH rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY']: * $REFERRED_RECORD $COUNT($REPORTED_EXCEPTIONS) > 0 WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * repex:ExceptionReason $EQUALS RUT repex:ExceptionReason * $REFERRED_RECORD $COUNT($REPORTED_RELATIONSHIPS) == 0 WITH: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED']
All direct parents confirm that the ultimate parent is not public
Precondition:
* $COUNT($REPORTED_PARENT_RELATIONSHIPS) == 1 WITH: * rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED'] * rr:EndNode/rr:NodeID $VALID * $END_NODE_RECORD lei:RegistrationStatus IN ['ISSUED'] * $COUNT($REPORTED_EXCEPTIONS) == 1 WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * repex:ExceptionReason IN ['NON_PUBLIC']
Condition:
* FOR ALL-APPLICABLE $REPORTED_PARENT_RELATIONSHIPS IN $RELATIONSHIP_CHAIN WITH rr:RelationshipType IN ['IS_DIRECTLY_CONSOLIDATED_BY']: * $REFERRED_RECORD $COUNT($REPORTED_EXCEPTIONS) > 0 WITH: * repex:ExceptionCategory IN ['ULTIMATE_ACCOUNTING_CONSOLIDATION_PARENT'] * repex:ExceptionReason $EQUALS RUT repex:ExceptionReason * $REFERRED_RECORD $COUNT($REPORTED_RELATIONSHIPS) == 0 WITH: * rr:RelationshipType IN ['IS_ULTIMATELY_CONSOLIDATED_BY'] * rr:RegistrationStatus IN ['PUBLISHED']