ores.refdata.party_identifier

Table of Contents

External identifiers for parties, such as LEI codes, BIC/SWIFT codes, national registration numbers, and tax identifiers. Each party can have multiple identifiers across different schemes.

Flags

Columns

id

UUID uniquely identifying this party identifier.

Surrogate key for the party identifier record.

party_id

The party this identifier belongs to.

References the parent party record.

uuid_gen()

id_scheme

The identification scheme for this identifier.

References the party_id_scheme lookup table (e.g. LEI, BIC).

// no_generator_suffix: validated enum, a "-<idx>" suffix would be invalid.
// Rotate so a batch of several identifiers for one party gets distinct
// schemes (max one identifier per scheme per party).
[idx]{
    static constexpr const char* schemes[] = {
        "LEI", "BIC", "MIC", "NATIONAL_ID", "CEDB",
        "NATURAL_PERSON", "ACER", "DTCC_PARTICIPANT_ID", "MPID", "INTERNAL"};
    return std::string(schemes[idx % 10]);
}()

id_value

The identifier value.

The actual identifier string within the scheme. Part of the natural key alongside party_id and id_scheme — a party can hold more than one identifier under the same scheme as long as the value differs.

std::string(faker::string::alphanumeric(20))

description

Optional description of this identifier.

Free text description providing additional context.

std::string("Test identifier")

SQL

Flags

Foreign keys

party_id

Insert trigger

Validations

column validation_function cardinality_limit_table cardinality_limit_column cardinality_scope_column cardinality_noun
id_scheme ores_refdata_validate_party_id_scheme_fn ores_refdata_party_id_schemes_tbl max_cardinality party_id identifier

C++

Flags

Repository

Domain includes

#include <chrono>
#include <string>
#include <boost/uuid/uuid.hpp>

Entity includes

#include <string>
#include "sqlgen/Timestamp.hpp"
#include "sqlgen/PrimaryKey.hpp"

Conventions

Table display

column header
party_id Party
id_scheme Scheme
id_value Value
description Description
modified_by Modified By
version Version

Custom repository methods

Qt

Note: party_id is deliberately not exposed as a Detail field – like Book's parent_portfolio_id, it's always known from the owning context (the party's own Identifiers tab) and set programmatically before the dialog is shown, never user-chosen.

Detail fields

field label widget type is_key is_required placeholder combo_domain_type combo_fetch_include combo_fetch_fn combo_watcher_name combo_code_field combo_tooltip_field combo_sort_field combo_label combo_setter_pascal badge_key
id Id idEdit line_edit true true Party identifier id                    
id_scheme Scheme idSchemeCombo dynamic_combo false true   refdata::domain::party_id_scheme ores.qt/LookupFetcher.hpp fetch_party_id_schemes idSchemeWatcher code description display_order id schemes IdSchemeCombo  
id_value Value idValueEdit line_edit false true Enter identifier value                    
description Description descriptionEdit line_edit false false Enter description                    

Columns (Qt model)

enum_name field header type width
IdScheme id_scheme Scheme string 100
IdValue id_value Value string 180
Description description Description string 200
Version version Version int 80
ModifiedBy modified_by Modified By string 120
RecordedAt recorded_at Recorded At timestamp 150

See also

Emacs 29.3 (Org mode 9.6.15)