Question
We are trying to load the address and account details for a HCP record using two JSON files.
The first JSON file contains the Account details like Name , Gender, Identifiers etc
The second JSON file contains Address details for the same record which also includes Address crosswalk
But when we insert both the files then on the UI we see that two HCP IDs are generated.
We want that for a particular record only on HCP ID gets generated even if we insert the data using 2 or 3 JSON files. How can this be achieved?
Answer
If you look at this configuration here:
{
"label": "HCP ID",
"name": "HCPID",
"description": "An auto-generated unique id assigned to an HCP",
"type": "String",
"hidden": false,
"important": false,
"system": false,
"autoGenerated": true,
"generator": "SEQ_MDMID_NEWHCP_k5uHnzeTmW9BUlN",
"autoGenerationPattern": "P{value}",
"generateIfEmpty": true,
"generateIfNotEmpty": false,
"generatedValueUniqueForCrosswalk": false,
"attributeOrdering": {
"orderingStrategy": "LUD"
},
"uri": "configuration/entityTypes/HCP/attributes/HCPID",
"skipInDataAccess": false
},
You will see "autoGenerationPattern": "P{value}", "value" is the definition of each of the crosswalk defined in your JSON Payload.
1st JSON
"value": "0011500001UfI",
2nd JSON
"value": "0011500001UfI",
"value": "f303ea1ade0c4bbbfd7759785e30295d".
The issue is not that you are passing in two JSON file. You are processing two distinct and different crosswalks that are associated with an entity. As designed, you will receive a distinct ID for each unique crosswalk that you POST.
The newly created crosswalk is associated with the contributor which contains a non-"dataProvider" crosswalk marked as the contributor provider.
Each crosswalk, in this case, has a unique id defined in value
{
"type": "configuration/sources/CRM",
"value": "0011500001UfI",
"dataProvider": "false",
"contributorProvider": "true"
},
{
"type": "configuration/sources/CRM",
"value": "f303ea1ade0c4bbbfd7759785e30295d",
"dataprovider": "true"
}
Setting "generatedValueUniqueForCrosswalk" to true will avoid overriding of the ID. If generatedValueUniqueForCrosswalk is set to true
, the existing value by crosswalk will be reused instead of generating a new one. We do not have the option to generate only one ID for one entity with multiple crosswalks. It will always have one ID for each crosswalk. generatedValueUniqueForCrosswalk is just to avoid overriding of IDs.
References
https://docs.reltio.com/entitiesapi/associatecrosswalk.html
https://docs.reltio.com/matchingmerging/survivorshiprules.html
https://docs.reltio.com/infoandconfig/autgenidswithentity.html?hl=generatedvalueuniqueforcrosswalk
Comments
Please sign in to leave a comment.