APPC Alert Dossier Creation Provider
🎯 Functional documentation
This scheduled provider polls SAS AML for alerted parties and automatically creates or updates an alert Dossier per SAS AML alert in Harmoney.
For each alerted party, the provider fetches the full alert details from SAS AML and:
- Creates or updates a Dossier of type
ALERTand serviceALERTfor each SAS alert, identified by the alert's external identifier (alert ID). - Maps the alerted party's watch list information (name, date of birth, citizenship, PEP flag, identification, sanction lists, etc.) to the associated party on the Dossier.
- Generates a PDF report for the alert and attaches it as a document on the Dossier.
If a Dossier or alert PDF already exists for a given alert ID, it is not recreated.
⚙️ Configuration
- Implementation class:
AppcAlertDossierCreationScheduledProvider - Resource URI:
https://conformite-appc.com/SASBIWS/rest/storedProcesses/Products/SAS%20Compliance%20Solutions%20FCFBU_${APPC_URI_VAR_1}/Stored%20Processes
Allows the use of a variable ${APPC_URI_VAR_1} which is taken from the external metadata of the FSP.
Settings
Settings Configuration
Examples
Additional information about the settings:
- For the
SYSTEM_USERsee gateway user
Event action: AppcAlertDossierCreationEvent
Configuration
- Add the action
AppcAlertDossierCreationEvent. - Link this action to an appropriate event or status transition (e.g., a
GENERATE_APPC_ALERT_DOSSIERfor a specific status).
The action fetches detailed alert data from SAS AML (API_Export_Alert_Json) using the authentication credentials configured in its own settings.
Settings
Settings Configuration
Examples
Mapped data
One Dossier is created per AlertInfo in the APPC response.
Dossier fields
| Dossier field | Source (AlertInfo) | Notes |
|---|---|---|
number | alert_id | Stored as string |
externalIdentifier | alert_id | Stored as string |
name | alerted_entity_name | |
description | alert_description | |
externalStatus | alert_status_code | ACT -> OPEN, CLS -> DONE |
type | hardcoded | DossierType.ALERT |
service | hardcoded | DossierService.ALERT |
client | primary_entity_number | Stored as externalIdentifier on the client reference |
Metadata fields
All metadata is stored on the dossier under the key metadata.
| Metadata key | Source (AlertInfo) | Notes |
|---|---|---|
money_laundering_risk_score | risk_scores.money_laundering_risk_score | |
terror_financing_risk_score | risk_scores.terror_financing_risk_score | |
total_transaction_amount | total_transaction_amount | |
run_date | run_date | SAS datetime string |
create_date | create_date | SAS datetime string |
entity_segment_id | entity_segment_id | |
scenario_name | scenario_name | Name of the triggered AML rule |
actual_values_text | actual_values_text | Raw evidence string from APPC |
watch_list_category | watch_list_info.category_desc | |
watch_list_type | watch_list_info.type_desc | |
entity_watch_list_number | watch_list_info.entity_watch_list_number | |
politically_exposed_person_ind | watch_list_info.politically_exposed_person_ind | |
citizenship_country_code | watch_list_info.citizenship_country_code | |
citizenship_country_name | watch_list_info.citizenship_country_name | |
watch_list_programs | watch_list_info.programs | |
identification_id | watch_list_info.identification_id | |
identification_type_desc | watch_list_info.identification_type_desc | |
sanction_list_references | watch_list_info.complementary_watch_list_info.sanction_list_info[].sanctions_list_reference | Multiple references joined with "; " |
Associated party fields
One PartyDTO is created per alert when primary_entity_number is present.
| Party field | Source | Notes |
|---|---|---|
externalIdentifier | primary_entity_number | |
individual.firstName | watch_list_info.first_name | Falls back to alerted_entity_name when absent |
individual.lastName | watch_list_info.last_name | Falls back to alerted_entity_name when absent |
individual.dateOfBirth | watch_list_info.date_of_birth | Parsed from SAS datetime format (ddMMMyyyy:HH:mm:ss) |
individual.occupation | watch_list_info.occupation_desc | |
individual.nationality | watch_list_info.citizenship_country_code | Mapped to ISO 3166-1 alpha-2 via HarmoneyUtils |
individual.nationalRegistrationNumber | watch_list_info.identification_id | |
individual.placeOfBirth | watch_list_info.complementary_watch_list_info.birth_date_info[0].place_of_birth | |
state | watch_list_info.deceased_ind | Set to "deceased" when value is "Y" |