Thanks Vignesh.
What I am doing is slightly different because I am working in the UI only and there is no PhoneNumberMatchToken in the match rule builder.
Things stopped working as expected though when I added a second rule involving phone numbers.
In my case, the original suspect rule involves the org name and phone and the match rule worked when phone number is 1 800 555 1234 compared to 800 555 1234. However, when I needed a new auto rule with the same org and phone conditions plus address added in to this new auto rule, the original, untouched suspect rule stopped working for phones that are not identical numerically. In other words 1 800 555 1234 compared to 800 555 1234 is no longer a match.
Original Message:
Sent: 07-30-2024 12:40
From: Vignesh Chandran
Subject: Matching on Phone numbers using PhoneNumberComparator
Hi Ronald,
I tried this on my end, and it seems to be working with the following configuration:
The snippet explicitly mentions the `matchTokenClasses` and `comparatorClasses` to ensure the tokens are generated correctly.
To verify why two records did not match, you can use the `_verifyMatches` API:
```json
{
"uri": "configuration/entityTypes/HCP/matchGroups/Phone",
"label": "Phone",
"type": "suspect",
"scope": "INTERNAL",
"useOvOnly": "false",
"rule": {
"matchTokenClasses": {
"mapping": [
{
"attribute": "configuration/entityTypes/HCP/attributes/Phone/attributes/Number",
"class": "com.reltio.match.token.PhoneNumberMatchToken"
}
]
},
"comparatorClasses": {
"mapping": [
{
"attribute": "configuration/entityTypes/HCP/attributes/Phone/attributes/Number",
"class": "com.reltio.match.comparator.PhoneNumberComparator"
}
]
},
"and": {
"exact": [
"configuration/entityTypes/HCP/attributes/Phone/attributes/Number",
"configuration/entityTypes/HCP/attributes/LastName"
]
}
},
"scoreStandalone": 0,
"scoreIncremental": 0
}
```
### Verify Matches API Call
```http
POST {{tenantURL}}/entities/_verifyMatches?documentsFromDatabase=true&show=full&hashedTokens=false
```
### Request Payload
```json
{
"first": {
"uri": "entities/0YK6oq4"
},
"second": {
"uri": "entities/0OCUolq"
}
}
```
This API call helps in understanding why the two records did not match by providing detailed match analysis.
------------------------------
Vignesh Chandran
Advisory Services Manager
Reltio
Original Message:
Sent: 07-25-2024 14:53
From: Ronald Connor
Subject: Matching on Phone numbers using PhoneNumberComparator
I am setting up a match rule that uses phone number where the dataset includes phones with a country code and phones without. Example 1 800 555 1234 vs 800 555 1234. According to the documentation of the PhoneNumberComparator, these should match since the rightmost 10 digits are identical.
However, that is not the behaviour I am seeing today.
A couple weeks ago, I uses the same suspect rule and it behaved as I expected. Now I am in round 2 of the match tuning exercise and this rule hasn't changed but the it's behaviour has, which is confusing me. So my question is did something change on the Reltio side? What could be causing me to experience different behaviour?
The documentation I am going by is https://docs.reltio.com/en/explore/get-a-crash-course/get-ready-to-turn-your-data-into-action/learn-about-multidomain-mdm/reltio-match-and-merge/match-group-elements---description-and-configuration/rule-element/comparator-classes which states in part
The comparator strips the strings of all non-numeric characters. The comparator is specifically expecting a result of 10 digits for the purpose of comparison. So if either of the resulting strings is less than 10 characters, the comparator returns false. Whereas if the resulting strings are >= 10 chars AND the right-most 10 chars are identical, the comparator returns true.
More details
match rule components
- org name and phone - if both match, create a potential match task
I also introduced a new auto rule which I suspect has impacted the suspect rule. the new rule is identical to the above suspect rule except I added country and state from a verified addresses
match rule components
- org name, phone, country, state - if all match, auto merge
Ronald
I am noticing that some of the profiles that auto-merged actually did so based on the new auto rule when the phone number looks like my example above - one with country code and one without (I am still exploring this last bit of detail).
------------------------------
Ronald Connor
------------------------------