Skip to main content
Version: 3.4

Understand NSS data flow

The guide is intended to help you understand the Evelyn data flow:

Schema definitions

The section lists the input and output data objects and their properties used for input and output contracts in Evelyn Business Processes.

Input and processing data

ScreenedData

The object represents the input data received for screening.

PropertyTypeDescription
idstringScreenedData ID
categorystringScreenedData category
entityTypeEntityTypeScreenedData entity type
genderGenderScreenedData gender
nameNameEntityScreenedData name
datesList<DateEntity>ScreenedData dates
locationsList<LocationEntity>ScreenedData locations
aliasesList<NameEntity>ScreenedData aliases
additional_dataMap<String, String>ScreenedData additional data

WleData

The object represents the watchlist entity (WLE) information received from a screening system.

PropertyTypeDescription
idstringScreenedData ID
categorystringScreenedData category
entityTypeEntityTypeScreenedData entity type
genderGenderScreenedData gender
nameNameEntityScreenedData name
datesList<DateEntity>ScreenedData dates
locationsList<LocationEntity>ScreenedData locations
aliasesList<NameEntity>ScreenedData aliases
additional_dataMap<String, String>ScreenedData additional data
EntityType
TypeValues
Enum<String>
  • INDIVIDUAL
  • ORGANIZATION
  • SECURITIES
Gender
TypeValues
Enum<String>
  • MALE
  • FEMALE
  • OTHER
NameEntity
PropertyTypeDescription
fullNamestringFull name (for example, Thomas A. Anderson)
firstNamestringFirst name (for example, Thomas)
lastNamestringLast name (for example, Anderson)
middleNamestringMiddle name (for example, A. )
derivedstringThe name derived in TickerLookupTask
sourcestringThe source where the name was received from (for example, TickerLookupTask)
DateEntity
PropertyTypeDescription
originalDetailedDateOriginal date
derivedDetailedDateDate obtained or calculated during processing
sourcestringThe source of information
DetailedDate
PropertyTypeDescription
typestringType of date (for example, DOB)
fullstringFull date (for example, 03/03/2023)
yearstringYear (for example, 2023)
monthstringMonth (for example, 03)
daystringDay (for example, 15)
LocationEntity
PropertyTypeDescription
originalLocationOriginal location
enrichedList<Location>List of enriched locations
sourcestringSource of enriched locations
Location
PropertyTypeDescription
typestringType of location
countrystringLocation country
statestringLocation state
citystringLocation city
streetstringLocation street
addressstringFull location address
latitudestringLocation latitude
longitudestringLocation longitude

Screening results

AlertDecision

PropertyTypeDescription
idstringAlert decision ID
resolutionAlertResolutionAlert resolution
explanationstringDetailed decision explanation
wleDecisionsWleDecisionWLE decision
AlertResolution
TypeValues
Enum<String>
  • NO_HITS
  • ALL_FP
  • NEED_REVIEW
WleDecision
PropertyTypeDescription
idstringWLE decision ID
htmlReportLinkstringLink to the HTML report
resolutionWleResolutionWLE resolution
explanationstringDetailed decision explanation
nameDecisionNameDecisionName decision
dateDecisionDateDecisionDate decision
locationDecisionLocationDecisionLocation decision
entityTypeDecisionEntityTypeDecisionEntity type decision
genderDecisionGenderDecisionGender decision
manualReviewStatusEnum<String>
  • TO_REVIEW
  • SKIPPED
  • REVIEWED
WleResolution
TypeValues
Enum<String>
  • FALSE_POSITIVE
  • MORE_INFORMATION_NEEDED
NameDecision
PropertyTypeDescription
decisionFactorDecisionModel decision
scoredoubleModel decision score
inputstringInput value
wlestringWLE value
DateDecision
PropertyTypeDescription
decisionFactorDecisionModel decision
proximityintegerDistance between the compared input and WLE dates
inputstringInput date
wlestringWLE date
LocationDecision
PropertyTypeDescription
decisionFactorDecisionModel decision
proximitydoubleDistance between the compared input and WLE locations
inputstringInput location
wlestringWLE location
EntityTypeDecision
PropertyTypeDescription
decisionFactorDecisionModel decision
inputstringInput entity type
wlestringWLE entity type
GenderDecision
PropertyTypeDescription
decisionFactorDecisionModel decision
inputstringInput gender
wlestringWLE gender
FactorDecision
TypeValues
Enum<String>
  • NOT_COMPARED
  • BAD_INFO
  • STRONG_MISMATCH
  • WEAK_MISMATCH
  • STRONG_MATCH

FircoMetaData

PropertyTypeDescription
uuidstring, uuidUUID
systemIdstringFirco system ID
messageIdstringFirco message ID
businessUnitstringFirco business unit
unitstringFirco unit
extRecordIdstringFirco external record ID
fpStatusstringFirco False Positive (FP) status
nmiStatusstringFirco Need More Information (NMI) status

Data Store structure

The section represents the structure and content of the Data Store tables storing the data used in Evelyn processes and analytics.

Main processing tables

Transaction table

Data Store name: ds_uc_B_AML_PEP_transaction_v3_0

ColumnTypeIndexDescription
uuidUUID+Transaction UUID
start_timeDate TimeTransaction processing start time
end_timeDate TimeTransaction processing end time
statusStringTransaction status: NEW, PROCESSING, READY_FOR_REPORT, ERROR, COMPLETED
start_bp_uuidUUIDUUID of the BP where the transaction was processed
bp_start_timeDate TimeBP start time
error_messageStringError stack trace in case of an error
error_stepStringThe step where the transaction failed
dw_variationStringDW title
dw_versionStringDW version
model_versionStringVersion of the model configured in the DW user interface
ext_record_idStringREST request ID
auto_qcBoolMarks if the transaction was selected for the Auto quality check feature

Master record table

Data Store name: ds_uc_B_AML_PEP_master_record_v3_0

ColumnTypeIndexDescription
uuidUUID+Transaction UUID
bp_run_idUUIDBP UUID
ext_record_idStringREST request ID

Ticker enrichment table

Data Store name: ds_uc_B_AML_PEP_tickers_v3_0

ColumnTypeIndexDescription
uuidnvarchar(36), UUID
symbolnvarchar(255), String+Ticker symbol
company_namenvarchar(Max), StringCompany name associated with the ticker

Ticker enrichment configuration table

Data Store name: ds_uc_B_AML_PEP_configuration_v3_0

If you enable email notifications from the Ticker Lookup Business Process during the Name enrichment configuration, populate the Data Store with the required technical details:

Configuration nameConfiguration value
smtp.hostSMTP host
smtp.portSMTP port
smtp.credentialsAliasAlias of SecureEntry that stores the username and password for authentication
smtp.fromSender's email address
smtp.authEnabledtrue or false to enable or disable authentication
envEnvironment identifier used in Subject of the email

Tracking request status table

Data Store name: ds_uc_B_AML_PEP_request_status_v3_0

ColumnTypeDescription
UUIDnvarchar(36)
TRANSACTION_IDnvarchar(36)Transaction identifier created by Evelyn
REQUEST_IDnvarchar(255)External request identifier
STATUSnvarchar(255)Request status:
  • IN_PROGRESS
  • READY_FOR_MT
  • MT_COMPLETED
  • FINISHED
  • ERROR
MESSAGEnvarchar(MAX)

QC report aggregation table

Data Store name: ds_uc_B_AML_PEP_qc_report_data_v3_0

ColumnTypeIndexDescription
uuidnvarchar(36)
bp_run_idnvarchar(36)+BP UUID
transaction_idnvarchar(36)+Transaction UUID
screened_data_jsonnvarchar(MAX)Screened data JSON from the Quality Check (QC) report
wle_listnvarchar(MAX)WLE data JSON from the QC report
alert_decisionnvarchar(MAX)Model and review decision for the transaction
auto_qc_indicatorbitIf the transaction was selected for Automatic Quality Check (AutoQC)

Screening system tables

Firco Trust

  • Data Store name: ds_uc_B_AML_PEP_firco_configuration_v3_0

    ColumnTypeIndexDescription
    uuidnvarchar(36), UUID
    batch_sizeint, StringFirco Trust processing batch size
    wait_timeint, StringWait time between batches in milliseconds
  • Data Store name: ds_uc_B_AML_PEP_firco_messages_v3_0

    ColumnTypeIndexDescription
    uuidnvarchar(36), UUID
    system_idnvarchar(255), String+Firco Trust message system ID
    message_idnvarchar(255), StringFirco Trust message ID
    unitnvarchar(MAX), StringFirco Trust message unit
    business_unitnvarchar(255), StringFirco Trust message business unit
    transaction_idnvarchar(36), String+Transaction UUID
    start_bp_uuidnvarchar(36), String+BP run UUID
    ext_record_idnvarchar(255), StringREST request UUID
    statusnvarchar(255), String+Firco message processing status

Dow Jones Risk and Compliance

  • Data Store name: ds_uc_B_AML_PEP_alerts_cache_v3_0

    ColumnTypeIndexDescription
    uuidnvarchar(36), UUID
    alert_idnvarchar(36)Alert ID
    alert_update_datenvarchar(255)Alert last updated date
    alert_responsenvarchar(MAX)Alert Decision Justification (DJ) response
  • Data Store name: ds_uc_B_AML_PEP_search_cache_v3_0

    ColumnTypeIndexDescription
    uuidnvarchar(36), UUID
    search_stringnvarchar(255)+DJ Factiva search request
    searchnvarchar(MAX)DJ Factiva search response

Thomson Reuters

  • Data Store name: ds_uc_b_aml_pep_countries_v3_0

    ColumnTypeIndexDescription
    uuidnvarchar(36), UUID
    iso2_codevarchar(2)+ISO 2 country code
    iso3_codevarchar(3)+ISO 3 country code
    namevarchar(56)Full country name
  • Data Store name: ds_uc_b_aml_pep_us_states_v3_0

    ColumnTypeIndexDescription
    uuidnvarchar(36), UUID
    iso2_codevarchar(2)ISO 2 US state code
    namevarchar(56)+US state name

Analytics tables

  • Data Store name: ds_uc_B_AML_PEP_alert_analytics_v3_0

    ColumnTypeIndexDescription
    uuidnvarchar(36), UUID
    transaction_uuidnvarchar(36), UUID+Transaction UUID
    alert_idnvarchar(MAX), StringAlert ID
    alert_categorynvarchar(MAX), StringAlert category
    alert_entity_typenvarchar(255), StringAlert entity type
    alert_dw_decisionnvarchar(255), StringNSS model decision
    alert_dw_explanationnvarchar(MAX), StringNSS model exlanation
    alert_mt_decisionnvarchar(255), StringManual review decision
    alert_mt_explanationnvarchar(MAX), StringManual review explanation
    worker_full_namenvarchar(255), StringReviewer's full name
    worker_idnvarchar(36), UUIDReviewer ID
    html_report_linknvarchar(MAX), StringHTML report link if enabled
    csv_report_linknvarchar(MAX), StringQC report link if enabled
    autoQCnvarchar(5), boolThe alert was selected for AutoQC
    tickernvarchar(5), boolThe alert name was enriched with ticket information
  • Data Store name: ds_uc_B_AML_PEP_hit_analytics_v3_0

    ColumnTypeIndexDescription
    uuidnvarchar(36), UUID
    transaction_uuidnvarchar(36), UUID+Transaction UUID
    wle_idnvarchar(255), String+WLE ID
    wle_categorynvarchar(255), StringWLE category
    wle_entity_typenvarchar(255), StringWLE type
    wle_dw_decisionnvarchar(255), StringNSS model decision
    wle_dw_explanationnvarchar(255), StringNSS model explanation
    wle_mt_decisionnvarchar(255), StringManual review decision
    wle_mt_explanationnvarchar(255), StringManual review exlanation
    worker_full_namenvarchar(255), StringReviewer's full name
    worker_idnvarchar(36), UUIDReviewer ID
    name_matching_scoreOriginal name matching score
    wle_decision_scoreHit decision score

Data parsing based on format file

During Firco Trust screening, Evelyn can process the following data feeds to retrieve data fields for alert disposition:

  • Security
  • SSI
  • Brokers
  • Employees
  • Investors
  • KYC

Preparing data for screening

Before screening, send the data to be parsed in the RAW format within the MessageData tag of a Firco message. A Firco message contains two XML tags from which data can be extracted:

  • <fir:MessageData>
  • <fir:CustomerInfo>

Additionally, you must prepare a format file:

  1. Configure a format file for either a Firco Unit or a Firco Business Unit, using the following naming conventions:

    • For a Firco Unit: <unit>_format.csv
    • For a Firco Business Unit: <bunit>_format.csv
  2. Make sure to meet the following requirements for the format file:

    • The file must have the CSV extension.
    • The index and nss_column headers are required. All other headers are skipped if present. If the required headers are missing, CustomerInfo is used for mapping, with information logged in Control Tower.

    A sample format file looks as follows:

  3. In MinIO S3, place the format file at doc-upload/name_sanctions_screening/firco_format_files/.

For example, you have the following configuration:

  • Unit: CIF1
  • Business Unit: SECURITY Then, Evelyn checks the predefined location for the following files in order and uses the first available file for processing:
  • CIF1_format.csv
  • SECURITY_format.csv
info

Filenames are not case-sensitive.

Mapping process

When running, Evelyn searches for a format file. If no matching format file is present or if the format file is empty or invalid, MessageData is not processed. If a valid format file is available, Evelyn starts the mapping process:

  1. Extracts data from <fir:MessageData> in a Firco response.

  2. Breaks down the pipe-separated data (|).

  3. Using the format file, maps corresponding values from MessageData into ScreenedData.

  4. After successful mapping, applies the same process to CustomerInfo to further enrich ScreenedData.

    As a result, ScreenedData contains information from both sources.

Collections such as Addresses, Dates, and Aliases are included. If ScreenedData.name is missing due to issues with MessageData, the name from CustomerInfo is used instead. In other cases, names from CustomerInfo are added to Aliases to avoid overwriting. Evelyn ensures that no duplicate entries are created.

If the format file is not found, a fallback mapper uses CustomerInfo to map ScreenedData, with the corresponding message logged in Control Tower logs.

Alias handling

Alias names are used by Evelyn to screen multiple names for an entity. Each alias is treated the same as the primary input name when calculating the similarity score. Additionally, each name in the screened data is compared with each name in the WLE data.

If an alias contains null or empty values, it does not contribute to the screening process but can still consume resources during comparison. To avoid this, all empty or null values should be filtered out during input data parsing.

Having duplicates among aliases also leads to unnecessary resource consumption. Furthermore, if the primary name (input_full_name or hit_matched_name) is enriched in subsequent steps and a duplicate exists in the aliases, it can cause inconsistencies.

During parsing of both input screened data and WLE data:

  • All null or empty alias values are removed.

  • All duplicate aliases are filtered out, including those duplicating the primary name.