IdentityNow Transforms - Name Normalizer
Overview
The name normalizer transform allows you to clean or standardize the spelling of strings coming in from source systems. Most commonly, this pertains to names and other proper nouns, but the transform is not necessarily limited to those data elements.
The normalization logic within the transform handles a wide array of use cases:
-
Proper casing/capitalization of names
- Any string containing either a space, a hyphen or an apostrophe will be split by that character and the first character of each resulting substring will be capitalized
-
Special replacements of patterns that include "MC" and "MAC" (or case-based variations of those two strings)
- The transform will automatically convert "MC" to "Mc" and "MAC" to "Mac" when they are part of a patronymic last name
-
Consistent capitalization of strings that are part of a toponymic surname or a generational suffix:
- Convert "VON" to "von"
- Convert "DEL" to "del"
- Convert "OF" to "of"
- Convert "DE" to "de"
- Convert "LA" to "la"
- Convert "Y" to "y"
- Convert Roman numeral suffixes to all capitalized letters (e.g., "iii" becomes "III")
Other Considerations
- N/A
Transform Structure
The transform for name normalizer is quite simple. All that is necessary is the transform's type
and name
attributes, as described in the below example:
Example
{
"type": "normalizeNames",
"name": "Test Name Normalizer Transform"
}
Attributes
-
Required Attributes
- type - This must always be set to
normalizeNames
- name - This is a required attribute for all transforms, and represents the name of the transform as it will appear in the UI's dropdowns
- type - This must always be set to
-
Optional Attributes
- requiresPeriodicRefresh - A
true
orfalse
value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process. - input - This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If
input
is not provided, the transform will take its input from the source and attribute combination configured via the UI.
- requiresPeriodicRefresh - A
Examples
Example 1
Input: "jOHN VON SmITh"
Output: "John von Smith"
{
"attributes": {
"input": {
"attributes": {
"value": "jOHN VON SmITh"
},
"type": "static"
}
},
"type": "normalizeNames",
"name": "Test Name Normalizer Transform"
}
This transform takes a static value and normalizes it to a consistent format.
Example 2
Input: "Dr. JOHN D. O'BRIEN"
Output: "Dr. John D. O'Brien"
{
"attributes": {
"input": {
"attributes": {
"sourceName": "HR Source",
"attributeName": "LastName"
},
"type": "accountAttribute"
}
},
"type": "normalizeNames",
"name": "Test Name Normalizer Transform"
}
This transform takes the user's "LastName" attribute from the "HR Source" and normalizes the name to a consistent format.
References
- N/A
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Content to Moderator
Can this transform automatically remove accent marks (i.e. Colón = Colon)?
Also, I tested this transform and it seemed to work for many of my uses cases but one of my user's last name had changed when it shouldn't have been (i.e. Macasek = MacAsek) I understand the transform saw the 'Mac' and performed it's predetermined action but is there a way to edit either the transform itself or write in an exception for an individual?
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Content to Moderator
@colonm
Did you find a way in transforms to convert accent characters ?
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Content to Moderator
This one should help you: IdentityNow Transforms - Decompose Diacritial Marks - Compass (sailpoint.com)