Accelerate the Value of Data

Enable automatic unmerge on the tenant configuration

Learn how to enable automatic unmerge, for an entity type, on the tenant L3 configuration

You need the ROLE_ADMIN_TENANT, or a custom role with MDM:config.businessModel UPDATE to enable this feature on your tenant's configuration.
When you enable automatic unmerge for a specific entity — if data on source crosswalks is updated — the system performs an in-memory testing, and automatically unmerges records that not longer follow matching criteria.
To enable automatic unmerge follow these steps:
  1. Get your tenant's (L3) configuration, see topic GET Configuration
  2. Update your tenant's (L3) configuration — see topic Set Configuration — with the following code block, at the EntityType level:
Code and descriptionExample
"unmerge": {
      "enabled": true
  }
Enables the automatic unmerge feature in your tenant. The following is applicable when evaluating profiles:
  • All automatic match rules and relevance based match rules with auto_merge threshold.
  • No protected source systems

  • Manual merges are not considered during automatic unmerge process.

...
{
	"uri": "configuration/entityTypes/HCP",
         "label": "HCP",
          "description": "Health care provider",
          "singleDefaultCrosswalk": false,
          "typeColor": "#99CCFF",
            "unmerge": {
                "enabled": true
            },
            "extendsTypeURI": "configuration/entityTypes/Individual",
            "attributes": [
                {
                    "label": "First Name",
                    "name": "FirstName",
                    "description": "First Name",
                    "type": "String",
                    "hidden": false,
                    "important": false,
                    "system": false,
                    "searchable": true,
                    "attributeOrdering": {
                        "orderType": "ASC",
                        "orderingStrategy": "LUD"
                    },
                    "uri": "configuration/entityTypes/HCP/attributes/FirstName",
                    "skipInDataAccess": false
                },
                {
                    "label": "Last Name",
                    "name": "LastName",
                    "description": "Last Name",
                    "type": "String",
                    "hidden": false,
                    "important": false,
                    "system": false,
                    "searchable": true,
                    "attributeOrdering": {
                        "orderType": "ASC",
                        "orderingStrategy": "LUD"
                    },
                    "uri": "configuration/entityTypes/HCP/attributes/LastName",
                    "skipInDataAccess": false
                },
                ...
{
 "unmerge": 
 {        "enabled": true,       
	  "retainManualMerges": false
  }
}
When you use this code, the following is applicable when evaluating profiles:
  • All automatic match rules and relevance based match rules with auto_merge threshold.
  • No protected source systems

  • Manual merges are considered during the unmerge process and will be automatically unmerged.

...
            {
            "uri": "configuration/entityTypes/HCP",
            "label": "HCP",
            "description": "Health care provider",
            "singleDefaultCrosswalk": false,
            "typeColor": "#99CCFF",
            "unmerge": {
               "enabled": true,
       "retainManualMerges": false
            },
       "extendsTypeURI": "configuration/entityTypes/Individual",
            "attributes": [
                {
                    "label": "First Name",
                    "name": "FirstName",
                    "description": "First Name",
                    "type": "String",
                    "hidden": false,
                    "important": false,
                    "system": false,
                    "searchable": true,
                    "attributeOrdering": {
                        "orderType": "ASC",
                        "orderingStrategy": "LUD"
                    },
                    "uri": "configuration/entityTypes/HCP/attributes/FirstName",
                    "skipInDataAccess": false
                },
                  ...
{
    "unmerge": {
        "enabled": true,
        "retainMergeConditions": {
            "sources": [
                "configuration/sources/Salesforce",
                "configuration/sources/HR"
            ]
        }
    }
}
When you use this code, the following is applicable when evaluating profiles:
  • All automatic match rules and relevance based match rules with auto_merge threshold.
  • The contributors from source systems listed in the retainMergeConditions > sources are ignored during automatic unmerge.

...
            {
            "uri": "configuration/entityTypes/HCP",
            "label": "HCP",
            "description": "Health care provider",
            "singleDefaultCrosswalk": false,
            "typeColor": "#99CCFF",
            "unmerge": {
               "enabled": true,
       "retainMergeConditions": {
            "sources": [
                "configuration/sources/Salesforce",
                "configuration/sources/HR"
            ]
        }
            },
       "extendsTypeURI": "configuration/entityTypes/Individual",
            "attributes": [
                {
                    "label": "First Name",
                    "name": "FirstName",
                    "description": "First Name",
                    "type": "String",
                    "hidden": false,
                    "important": false,
                    "system": false,
                    "searchable": true,
                    "attributeOrdering": {
                        "orderType": "ASC",
                        "orderingStrategy": "LUD"
                    },
                    "uri": "configuration/entityTypes/HCP/attributes/FirstName",
                    "skipInDataAccess": false
                },
                  ...
{
  "unmerge": {
    "enabled": true,
    "retainMergeConditions": {
        "sources": [
          "configuration/sources/Salesforce",
          "configuration/sources/HR"
        ],
        "matchGroups": [
          {
            "uri": "configuration/entityTypes/HCP/matchGroups/Rule1"
          },
          {
            "uri": "configuration/entityTypes/HCP/matchGroups/Rule2"
          }
        ]
      },
When you use this code, the following is applicable when evaluating profiles:
  • Automatic match rules listed in the retainMergeConditions.matchGroups section are excluded from the automatic unmerge process.
  • The contributors from source systems listed in the retainMergeConditions.sources are ignored during automatic merge.

  • Manual merges are not considered during the automatic unmerge process.
...
            {
            "uri": "configuration/entityTypes/HCP",
            "label": "HCP",
            "description": "Health care provider",
            "singleDefaultCrosswalk": false,
            "typeColor": "#99CCFF",
            "unmerge": {
    "enabled": true,
    "retainMergeConditions": {
        "sources": [
          "configuration/sources/Salesforce",
          "configuration/sources/HR"
        ],
        "matchGroups": [
          {
            "uri": "configuration/entityTypes/HCP/matchGroups/Rule1"
          },
          {
            "uri": "configuration/entityTypes/HCP/matchGroups/Rule2"
          }
        ]
      },
    "retainManualMerges": true
  },
       "extendsTypeURI": "configuration/entityTypes/Individual",
            "attributes": [
                {
                    "label": "First Name",
                    "name": "FirstName",
                    "description": "First Name",
                    "type": "String",
                    "hidden": false,
                    "important": false,
                    "system": false,
                    "searchable": true,
                    "attributeOrdering": {
                        "orderType": "ASC",
                        "orderingStrategy": "LUD"
                    },
                    "uri": "configuration/entityTypes/HCP/attributes/FirstName",
                    "skipInDataAccess": false
                },
                  ...

To make it easier for you, here's a list of parameters you can use in the automatic unmerge configuration:

Table 1. Parameters
NameRequired?DescriptionExample
enabledYesDenotes if the Automatic unmerge option is enabled in your tenant for the selected entity type.
"unmerge": {
      "enabled": true
  }
retainManualMergesNoDenotes if the entities that were manually merged must be evaluated during automatic unmerge. By default, this value is set to true.
{
 "unmerge": 
 {        "enabled": true,       
	  "retainManualMerges": true
  }
}
retainMergeConditions > sourcesNoDenotes the sources and crosswalks that must be ignored during automatic unmerge.
{
    "unmerge": {
        "enabled": true,
        "retainMergeConditions": {
            "sources": [
                "configuration/sources/Salesforce",
                "configuration/sources/HR"
            ]
        }
    }
}
retainMergeConditions > matchGroupsNoDenotes the match rules that must be ignored during automatic unmerge.
{
  "unmerge": {
    "enabled": true,
    "retainMergeConditions": {
        "matchGroups": [
          {
            "uri": "configuration/entityTypes/HCP/matchGroups/Rule1"
          },
          {
            "uri": "configuration/entityTypes/HCP/matchGroups/Rule2"
          }
        ]
      },