Skip to content

@provided_by

Info

New in Atfinity 17.

Description

@provided_by returns who set the value of a field. Write it at the end of a field path, including one that starts with OLD., which then gives you who set the value in the previous state of the instance.

What comes back depends on where the value came from:

Source of the value Result
A user in the Case Manager That user, the same object USERS.<email> returns
An end user wizard The text Wizard
The API The text API
A document an Identification read The text Document extraction
A rule An internal identifier of that rule, which is not stable enough to compare against

If nothing is on record, the result is unknown.

A provenance operator attaches to a field path and to nothing else. Expressions such as (p.first_name + ' ' + p.last_name)@provided_by, CASE.state@provided_by and COUNT(p.accounts)@provided_by are rejected when the rule is validated. A path that ends in an occurrence index is not a field path either, so p.addresses[0]@provided_by is rejected. Ask for the field you mean inside that occurrence, as in p.addresses[0].city@provided_by.

In an ADX template and in a document box the same operator returns the plain text that is on record, so a user is printed as their email address rather than resolved.

Example

p is Person
p.is_pep@provided_by = USERS.compliance@bank.example

This is true only when that user answered the PEP question themselves, and false when the answer came from a wizard, from the API, from a rule or from a document an Identification read.

An Identification leaves a mapped field alone once a person has provided its value, whether that was a user in the Case Manager or an end user in a wizard, so a correction entered by hand survives every later upload. It fills a field that is empty, and replaces a value that came from the API, from a rule or from an earlier read of the document.