5 Using Business Services
This chapter includes the following sections:
The provided business services are ready for integration with Siebel Customer Relationship Management (CRM) or Universal Customer Master (UCM) and may also be called by other applications if they are configured to do so.
Ready-to-use, EDQ-CDS provides pre-configured data quality services which can be modified or enhanced by editing the underlying EDQ processes that implement their functionality. These three types of service can be used with Individual, Entity, and Address records:
-
Cleaning
-
Key Profile (for use in Matching integrations)
-
Matching
Cleaning Services
There are three cleaning services provided in EDQ-CDS: Address Clean, Individual Clean and Entity Clean. The Individual and Entity Clean services are provided as placeholders, which are pre-integrated with Siebel, and easily integrated with other applications, but which need to be modified towards specific requirements.
Address Clean
The EDQ-CDS Address Clean web service provides the following functionality:
-
Verification of an input address (returning a verification code and description)
-
Geocoding of an address (returning latitude and longitude co-ordinates, with additional metadata)
-
Correction, standardization and completion of input addresses (provided the address was verified to a sufficient, configurable, level)
The service is N:N
; that is, single and multiple record input and output is possible, but only one record is returned for each record submitted. Each input address is verified and may be corrected, enhanced and geocoded, depending on the options that the job is run with, and the input parameters.
Siebel's Data Quality interface always calls the service with a single record per request, whether running in real-time or batch.
Using Address Clean
The Address Clean web service is normally used for real-time verification and cleansing of addresses as they are entered and updated in an application, such as Siebel.
In the case of Siebel, the web service is also used in batch. When a batch address cleansing job is run, the web service will be used on all of the in-scope records in the batch job.
For other applications, it is recommended to add configuration to EDQ-CDS to map data from and to the Address Clean data interface in order to run the service in batch mode.
Interface
The following table provides a guide to the interface attributes of the Address Clean web service.
Attribute Name | Data Type | Use | Notes |
---|---|---|---|
|
String |
In/Out |
Unique identifier for the address. |
|
String |
In/Out |
Address line 1 |
|
String |
In/Out |
Address line 2 |
|
String |
In/Out |
Address line 3 |
|
String |
In/Out |
Address line 4 |
|
String |
In/Out |
A smaller population center data element, dependent on the contents of the |
|
String |
In/Out |
The smallest population center data element, dependent on both the contents of the |
|
String |
In/Out |
The locality, town or city of the address. |
|
String |
In/Out |
The smallest geographic data element within a country. For example, a county in the USA. |
|
String |
In/Out |
The most common geographic data element within a country. For example, a State in the USA or a Province in Canada. |
|
String |
In/Out |
Postal or zip code for the address, if relevant for the country. |
|
String |
In/Out |
On input, an ISO two-character country code (preferred) or country name. On output, the full country name (even if the input is the country ISO code). Note: If the country field is blank, the service attempts to derive the country from the city attribute. When this is not present, the default specified in the Run Profile is used. |
|
String |
Input only |
Default ISO two-character country code to use if country not populated. This overrides the default value used when running the job. |
|
String |
Input only |
Transforms output according to the setting:
|
|
String |
Input only |
Mode in which the request is to be run. Currently, only |
|
Number |
Input only |
A numeric value between 0 and 100, representing the minimum score which a match must achieve to be used as a cleaned address. Input addresses will be left unchanged if the Match Score of the Address Verification processor for the address is lower than the input value. |
|
Number |
Input only |
A numeric value between 1 and 5, representing the minimum verification level which a match must achieve to be used as a cleaned address. Input addresses will be left unchanged if the Verification Level of the Address Verification processor for the address is lower than the input value. |
|
String |
Input only |
A list of any of the following single-letter result codes with no separator (for example, 'VPA'):
Input addresses will be left unchanged if the Verification Result Code. For example, the first character of the |
|
String |
Output only |
Full verified address returned from address verification. The address lines are pipe-separated. |
|
String |
Output only |
ISO 2 char country code of verified address country. |
|
String |
Output only |
Verification code for the address. |
|
String |
Output only |
Whether the result produced was verified to a sufficient level, according to the configuration of the process and the resultant verification code. This also indicates whether or not the input address was changed to the returned address from address verification. Possible returned values are |
|
String |
Output only |
US English description of the verification code. |
|
Number |
Output only |
WGS 84 latitude in decimal degrees format. |
|
Number |
Output only |
WGS 84 longitude in decimal degrees format. |
|
String |
Output only |
A code indicating the level of accuracy of the returned geocodes (latitude and longitude) co-ordinates. |
|
String |
Output only |
US English description of the |
|
Number |
Output only |
Radius of accuracy (in meters) for the returned geocodes. The higher the value, the less accurate the geocoding result. |
Parameters
The Address Clean web service uses a number of input parameters to control its behavior when processing addresses, as listed and described in the table above.
The minimumverificationmatchscore
, minimumverificationlevel
and allowedverificationresultcodes
parameters are all used as message-level thresholds to override whether or not to change (clean) an input address based on the confidence level that the EDQ Address Verification processor reaches when processing it. Normally, and when using the Address Clean service with Siebel, these parameters are not used, and the underlying settings in the Address Clean process are used to drive whether or not to change the address. In this process it is possible to set these same parameters on a per-country basis if required. Where country-specific thresholds are not provided, global default settings are applied, and these may be set using the EDQ-CDS Run Profile. The priority in which the thresholds are applied is therefore:
-
Per-message threshold settings using the parameter attributes as above
-
Per-country threshold values expressed in the Reference Data set
Address Clean - Country verification level and results
-
The global default settings expressed in the process and overridden on a per-run basis by the use of a run profile.
An additional configuration option is available to control the number of address lines that are returned from the service. This is not exposed as a parameter on the interface, but can be set using the phase.*.process.Clean\ -\ Address.Number\ Of\ Address\ Lines
Run Profile setting. The default number of lines to return is 4
.
Notes on Verification Levels
The following verification levels are possible. The maximum verification level that it is possible to reach varies by country. For information on the maximum level in each country, see the Loqate Oracle EDQ Portal website at
The verification level is output as the second character of the Accuracy Code returned by the EDQ Address Verification processor. The 'post-processed' verification level is used (not the 'pre-processed' level); that is, the verification level achieved after EDQ Address Verification applies standardization and parsing to the input address.
Verification Level | Description |
---|---|
1 |
Verified to Administrative Area (State, Region or County) level |
2 |
Verified to Locality (City or Town) level |
3 |
Verified to Thoroughfare (Street) level |
4 |
Verified to Premise (Building Number) level |
5 |
Verified to Delivery Point (Sub-Building Number) level |
Note:
If EDQ Address Verification is not installed (or not installed correctly), the Address Clean service can still be installed, and the job that implements it can still be run. However, if a request is made to the service, all the output fields will be blank, except for the verified
output field, which will have the value X
, and the verificationcode
output, which will have the value -1.0
.
Note:
If you upgrade from Enterprise Data Quality version 12.2.1 to 12.2.1.1, and you have the Address Verification processor installed, you must also upgrade your Address Verification data. Contact Loqate to upgrade your data.
Individual Clean
The Individual Clean web service is designed to verify, correct, standardize or enhance records representing individuals, whether these be customers, prospective customers, contacts, or employees.
The Clean - Individual process that implements this service in EDQ-CDS is just a placeholder, and must be customized to requirements. A default process that converts the input name attributes to upper case is provided so that when connecting this service to Siebel or other applications, it is simple to test that the service is correctly connected.
The service is N:N
; that is, single and multiple record input and output is possible, but only one record is returned for each record submitted.
The Siebel Data Quality interface always calls the service with a single record per request, whether running in real-time or batch.
Using Individual Clean
The Individual Clean web service may be extended for many purposes, including (but not limited to):
-
Verification of input details related to individuals (for example, an email address)
-
Standardization of input details related to individuals (for example, a job title)
-
Enhancement of data related to individuals (for example, by matching reference data for individuals and returning additional attributes, such as social media handles)
Normally, the web service will be called in real-time, when individual records are added or updated in an application.
In the case of Siebel, the web service is also used in batch. When a batch contact cleansing job is run, the web service will be used on all of the in-scope records in the batch job.
For other applications, it is recommended to add configuration to EDQ-CDS to map data from and to the Individual Clean data interface in order to run the service in batch mode.
The interface used by the service is designed to map directly to the Contact business component in Siebel, but can be freely extended with new attributes on both input and output. Siebel's DQ vendor parameters may be extended to pass through different attributes to the service.
Interface
The following table provides a guide to the default Individual Clean web service interface. All attributes are both input and output by default. It is possible to input an empty value to the interface but to populate the attribute on output, so providing a data enhancement service.
Attribute Name | Data Type | Notes |
---|---|---|
|
String |
A unique identifier for the individual record. |
|
String |
3 character Siebel language code. This can be used to determine whether a name containing Kanji should be treated as Japanese or Chinese. |
|
String |
Unique identifier for the name. |
|
String |
Title |
|
String |
First name |
|
String |
Middle name |
|
String |
Last Name |
|
String |
|
|
String |
Date of Birth |
|
String |
Job Title |
|
String |
Home Phone Number |
|
String |
Work Phone Number |
|
String |
Mobile Phone Number |
|
String |
Fax Number |
|
String |
Alternate Phone Number |
|
String |
Email Address |
|
String |
Tax Number |
|
String |
Social Security Number (US) or equivalent. |
Entity Clean
The Entity Clean web service is designed to verify, correct, standardize or enhance records representing entities, whether these be company customers, prospective company customers, suppliers, or other organizations.
The Clean - Entity process that implements this service in EDQ-CDS is just a placeholder, and must be customized to requirements. A default process that converts the input name and subname attributes to upper case is provided so that when connecting this service to Siebel or other applications, it is simple to test that the service is correctly connected.
The service is N:N
; that is, single and multiple record input and output is possible, but only one record is returned for each record submitted.
The Siebel Data Quality interface always calls the service with a single record per request, whether running in real-time or batch.
Using Entity Clean
The Entity Clean web service may be extended for many purposes, including (but not limited to):
-
Verification of input details related to entities (for example to check that a website is syntactically valid)
-
Standardization of input details related to entities (for example company names and locations)
-
Enhancement of data related to entities (for example by matching reference data for entities and returning additional attributes, such as DUNS numbers from Dun and Bradstreet)
Normally, the web service will be called in real-time, when entity records are added or updated in an application.
In the case of Siebel, the web service is also used in batch. When a batch account cleansing job is run, the web service will be used on all of the in-scope records in the batch job.
For other applications, it is recommended to add configuration to EDQ-CDS to map data from and to the Entity Clean data interface in order to run the service in batch mode.
The interface used by the service is designed to map directly to the Account business component in Siebel, but can be freely extended with new attributes on both input and output. Siebel's Data Quality vendor parameters may be extended to pass through different attributes to the service.
Interface
The following table provides a guide to the default Entity Clean web service interface. All attributes are both input and output by default. It is possible to input an empty value to the interface but to populate the attribute on output, so providing a data enhancement service.
Attribute Name | Data Type | Notes |
---|---|---|
|
String |
A unique identifier for the entity record. |
|
String |
3 character Siebel language code. This can be used to determine whether a name containing Kanji should be treated as Japanese or Chinese. |
|
String |
Unique identifier for the name. |
|
String |
Organization name for example, "Oracle Corporation UK". |
|
String |
Department or site for example, "Reading", "Accounts Payable", etc. |
|
String |
Phone Number |
|
String |
Alternate Phone Number |
|
String |
Website Address |
|
String |
Company Tax Number |
|
String |
Company VAT Number |
Key Generation Services
EDQ-CDS key generation services are designed to generate a number of key values for an individual, entity or address record. The returned key values for a record are then used by applications such as Siebel to select 'candidate' records for matching, where any existing record that shares any key value with the 'driving' record (the record submitted to the key generation service) should be considered a candidate. The driving and candidate records are then submitted in a single request to the relevant Matching service.
In addition to being called in real-time in order to prevent the insertion of duplicate records into an application, the key generation services are used in batch mode to populate the key values on all existing records in the application, so that real-time and incremental batch matching jobs, both of which use the key values for existing records for candidate selection, work correctly.
The key generation services are N:N
; meaning that single and multiple record input and output is possible. In real-time, a single output record is returned containing an array of keys. In batch mode, each key is returned as a separate record in the staging table.
Using Key Generation Services
The real-time key generation services are normally used as the first call to EDQ-CDS when a new or updated record needs to be checked for matches against records in an application. The returned key values are used to select candidate records to be submitted with the driving record to the matching service.
In order to ensure that keys are always up-to-date, the key generation services should be called whenever a record is updated. This includes the scenario when a master record in Siebel UCM, or other hub, is updated due to a confirmed match with an incoming driver record.
The key generation services are exposed using the following:
Web Services:
-
IndividualKeygen
-
EntityKeygen
-
AddressKeygen
Batch Jobs:
-
Batch Individual Key Generation
-
Batch Entity Key Generation
-
Batch Address Key Generation
Interface
The key generation web services present input interfaces with direct mappings to the shared 'Candidate' data interfaces as follows:
Web Service | Input Interface |
---|---|
|
|
|
See Entity Candidates. |
|
See Address Candidates. |
All the key generation web services return output attributes using the common Real-time Key Generation Results Interface data interface, see Key Generation Results Interfaces.
The IndividualKeygen
, EntityKeygen
and AddressKeygen
web services all accept a keyprofile
attribute in the message header, which is used to specify the enablement of key methods, extending EDQ-CDS to offer a wider menu of key method algorithms.
Due to their verbose nature, automatic profiles are only expected to be generated during Key Analysis and passed in to Key Generation directly from a calling application.
The following out-of-the-box manual profiles are provided with CDS for selection by users:
-
Strict
-
Typical
-
Loose
The actual key methods assigned to these profiles can be seen in the 'Key Profiles - Predefined' reference data in the EDQ-CDS project. Note that they do not necessarily use all the equivalent strict/typical/loose key methods, nor do they exactly correspond to the 1/2/3 legacy cluster levels.
On premise customers can easily add to the list of available key profiles by modifying this reference data accordingly, selecting from the available key methods in the 'Key Methods Master Definition' reference data. New key methods cannot be created without customizing the CDS processes themselves.
Matching Services
The matching services - sometimes referred to as the Match Scoring services in Siebel Universal Data Quality documentation - compare input (driver and candidate) records and produce a list of possible matches, with scores to indicate how good the matches are, and additional information about how the records matched.
In the matching services, the record for comparison is called a driver, and the records it is compared with are known as candidates. Driver records are also compared with each other, but candidate records are never compared with other candidates. Only the highest scoring match for any given record pair is returned.
Note:
Siebel currently does not use the Address Matching service, in either batch or real-time, though this service may be integrated with other applications.
Using Matching Services
There are three forms of matching supported:
- Real Time
-
A single driver record (possibly with multiple child entity records) is compared against many candidates.
- Full Batch
-
All records are compared against one another (subject to key generation); for example, all are specified as drivers. This is an extensive operation that can take some time. It is normally used on a new installation, or perhaps as part of a regular maintenance operation.
- Incremental Batch
-
A specific subset of record types are identified and specified as the driver records. Next, other records with matching key methods are identified, and specified as the candidates. The driver and candidate records are compared, and the driver records are compared with each other. An example of how this might be used is a regular check on all new records during a set time period, such as a week or month, against pre-existing records.
The real-time matching services are exposed via the following web services in EDQ-CDS:
-
IndividualMatch
-
EntityMatch
-
AddressMatch
The batch and real-time processes that implement the matching services use the following Data Interfaces for input data (mapped to the above web services respectively for real-time matching):
-
Individual Candidates
-
Entity Candidates
-
Address Candidates
The Matches data interface is used as a common output interface for all record types (Individual, Entity and Address), although the fields mapped for each record type vary.
Matching Using Multiple Identifier Values
Matching services within EDQ-CDS are designed to enable users to submit any number of alternative identifier values to use when matching a given individual or entity; for example, multiple email addresses, addresses or names.
EDQ-CDS can perform matching on multiple values of the following attributes if submitted as pipe-delimited lists:
-
uid and eid attributes
-
alternatephone
-
email
-
website
-
taxnumber
-
nationalidnumber
-
vatnumber
However, in order for EDQ-CDS to match Individual or Entity records with multiple names or addresses, such records must first be split into multiple records. Each of these records must have the same entityid
or individualid
, but with different nameid
and/or addressid
attributes.
So, an Individual record with three names must be split into three records, as follows:
individualid | nameid | firstname | lastname | enail | address1 |
---|---|---|---|---|---|
A1 |
1 |
John |
Smith |
jsmith@jsmith.com |
56 High Street |
A1 |
2 |
Jon |
Smith |
jsmith@jsmith.com |
56 High Street |
A1 |
3 |
J |
Smith |
jsmith@jsmith.com |
56 High Street |
Similarly, an Entity record with two addresses must be split into two records:
entityid | nameid | name | subname | website | address1 |
---|---|---|---|---|---|
B1 |
1 |
OracleLtd |
Accounts Payable |
www.oracle.com |
Oracle Parkway |
B1 |
2 |
Oracle Corporation UK |
Accounts Payable |
www.oracle.com |
Oracle Parkway |
And finally, an Entity record with two names and two addresses must be split into four records:
entityid | nameid | name | subname | website | addressid | address1 |
---|---|---|---|---|---|---|
C1 |
1 |
OracleLtd |
Accounts Payable |
www.oracle.com |
A |
Oracle Parkway |
C1 |
1 |
OracleLtd |
Accounts Payable |
www.oracle.com |
B |
Thames Valley Park |
C1 |
2 |
Oracle Corporation UK |
Accounts Payable |
www.oracle.com |
A |
Oracle Parkway |
C1 |
2 |
Oracle Corporation UK |
Accounts Payable |
www.oracle.com |
B |
Thames Valley Park |
The EDQ Siebel Connector automatically prepares the data to use the matching service appropriately, where EDQ-CDS is integrated with Siebel. If the use of multiple child entities has been configured in Siebel, then the data is prepared in the structure required by the EDQ-CDS matching services. For example, concatenating multiple phone numbers into a pipe-delimited list, and splitting out multiple records if the use of multiple names or addresses is configured.
Note:
For records with multiple child entities, only one match will ever be returned between a pair of records. This will always be the highest scoring match according to the match rules.
Interfaces
The matching web services present input interfaces with direct mappings to the shared 'Candidate' data interfaces as follows:
Web Service | Input Interface |
---|---|
|
|
|
See Entity Candidates. |
|
See Address Candidates. |
All the matching services return output attributes using the common Matches Interface data interface.
Data Interfaces
This section describes the following EDQ-CDS data interfaces:
Candidate Interfaces
The Candidate interfaces are used for data input to individual/entity/address matching and key generation in both batch and real-time.
Note:
In real-time each interface has some associated options which can be passed in on a per-message basis in the header. These all have corresponding options that can be set in the run profile. The header options, if set in real-time, override any values set in the run profile.
Individual Candidates
Attribute Name | Data Type | Supports Multiple Values? (Y/N) | Notes |
---|---|---|---|
|
String |
N |
0 = driving record, 1 = candidate. Used in matching only. All driving records are compared against each other and against each candidate, but candidates are not compared against each other. Note that in real-time matching, there must be one and only one logical driving record representing an Individual, Entity or Address. Multiple physical records for the same Individual or Entity are allowed if multiple child entities are in use. Multiple candidate records may always be presented. |
|
String |
N |
Unique identifier of the individual (for example, customer, employee, or contact). Mandatory for batch jobs and real time requests containing multiple driver records. |
|
String |
Y |
3 character Siebel language code. Only used in name standardization to help determine whether a name containing Kanji is Japanese or Chinese. |
|
String |
Y |
Unique ID 1 (single or pipe-delimited list of multiple values). Note: The Unique ID fields are used to match records based on custom unique identifiers, such as passport or tax numbers. For more information, see Oracle Enterprise Data Quality Customer Data Services Pack Guide for Enterprise Data Quality. |
|
String |
Y |
A single or pipe-delimited list of multiple values corresponding to the ID values in |
|
String |
Y |
Unique ID 2 (single or pipe-delimited list of multiple values). |
|
String |
Y |
A single or pipe-delimited list of multiple values corresponding to the ID values in |
|
String |
Y |
Unique ID 3 (single or pipe-delimited list of multiple values). |
|
String |
Y |
A single or pipe-delimited list of multiple values corresponding to the ID values in |
|
String |
Y |
Elimination ID 1 (single or pipe-delimited list of multiple values). Note: The Elimination ID fields are used to eliminate possible matches between records based on custom unique identifiers, such as passport or tax numbers. For more information, see Oracle Enterprise Data Quality Customer Data Services Pack Guide for Enterprise Data Quality. |
|
String |
Y |
Elimination ID 2 (single or pipe-delimited list of multiple values). |
|
String |
Y |
Elimination ID 3 (single or pipe-delimited list of multiple values). |
|
String |
Y |
Inverted Elimination ID 1 (single or pipe-delimited list of multiple values). |
|
String |
Y |
Inverted Elimination ID 2 (single or pipe-delimited list of multiple values). |
|
String |
Y |
Inverted Elimination ID 3 (single or pipe-delimited list of multiple values). |
|
String |
N |
Unique identifier for the name, used to distinguish between different names for the same individual when multiple child entities are used. For more information, see Using Matching Services. |
|
String |
N |
Title |
|
String |
N |
First Name |
|
String |
N |
Middle Name |
|
String |
N |
Last Name |
|
String |
N |
Gender (M or F) |
|
String |
N |
Date of Birth, in any of the formats recognized by the *Date Formats reference data set in EDQ. |
|
String |
N |
Job Title |
|
String |
N |
Home Phone Number |
|
String |
N |
Work Phone Number |
|
String |
N |
Mobile Phone Number |
|
String |
N |
Fax Number |
|
String |
Y |
Alternative Phone Number - either a single value, or a pipe-delimited list of multiple values. |
|
String |
Y |
A single or pipe-delimited list of multiple values corresponding to the ID values in |
|
String |
Y |
A single value or a pipe-delimited list of multiple email addresses. |
|
String |
Y |
A single or pipe-delimited list of multiple values corresponding to the ID values in |
|
String |
Y |
A single value or a pipe-delimited list of multiple tax numbers. |
|
String |
Y |
Social Security Number (US) or equivalent, single value or pipe-limited list. |
|
String |
N |
The name of the account (for example, entity) to which this individual belongs, if relevant. |
|
String |
N |
An ID field for the |
|
String |
N |
Unique identifier for the address, used to distinguish between different addresses for the same individual when multiple child entities are used. For more information, see Using Matching Services. |
|
String |
N |
Address line 1 |
|
String |
N |
Address line 2 |
|
String |
N |
Address line 3 |
|
String |
N |
Address line 4 |
|
String |
N |
A smaller population center data element, dependent on the contents of the |
|
String |
N |
The smallest population center data element, dependent on both the contents of the |
|
String |
N |
The locality, town or city of the address. |
|
String |
N |
The smallest geographic data element within a country. For example, a county in the USA. |
|
String |
N |
The most common geographic data element within a country. For example, USA State or Canadian Province. |
|
String |
N |
Postal or zip code for the address, if relevant for the country. Note: With matching services, leading zeroes are stripped only on numeric |
|
String |
N |
Country name or ISO 2 char code. |
|
String |
N |
Custom field for matching on string attribute not provided in interface. |
|
String |
N |
Custom field for matching on string attribute not provided in interface. |
|
String |
N |
Custom field for matching on string attribute not provided in interface. |
|
String |
N |
Custom field for matching on string attribute not provided in interface. |
|
String |
N |
Custom field for matching on string attribute not provided in interface. |
|
String |
N |
Custom field for matching on string attribute not provided in interface. |
|
String |
N |
Custom field for matching on date attribute not provided in interface. |
|
String |
N |
Custom field for matching on date attribute not provided in interface. |
|
String |
N |
Custom field for matching on date attribute not provided in interface. |
Entity Candidates
Attribute Name | Data Type | Supports Multiple Values? (Y/N) | Notes |
---|---|---|---|
|
String |
N |
0 = driving record, 1 = candidate. Used in matching only. All driving records are compared against each other and against each candidate, but candidates are not compared against each other. |
|
String |
N |
Unique record identifier. Mandatory for batch jobs and real time requests containing multiple driver records. |
|
String |
Y |
3 character Siebel language code. Only used in name standardization to help determine whether a name containing Kanji is Japanese or Chinese. |
|
String |
Y |
Unique ID 1 (single or pipe-delimited list of multiple values). Note: The Unique ID fields are used to match records based on custom unique identifiers, such as passport or tax numbers. For more information, see Oracle Enterprise Data Quality Customer Data Services Pack Guide for Enterprise Data Quality. |
|
String |
Y |
A single or pipe-delimited list of multiple values corresponding to the ID values in |
|
String |
Y |
Unique ID 2 (single or pipe-delimited list of multiple values). |
|
String |
Y |
A single or pipe-delimited list of multiple values corresponding to the ID values in |
|
String |
Y |
Unique ID 3 (single or pipe-delimited list of multiple values). |
|
String |
Y |
A single or pipe-delimited list of multiple values corresponding to the ID values in |
|
String |
Y |
Elimination ID 1 (single or pipe-delimited list of multiple values). Note: The Elimination ID fields are used to eliminate possible matches between records based on custom unique identifiers, such as passport or tax numbers. For more information, see Oracle Enterprise Data Quality . |
|
String |
Y |
Elimination ID 2 (single or pipe-delimited list of multiple values). |
|
String |
Y |
Elimination ID 3 (single or pipe-delimited list of multiple values). |
|
String |
Y |
Inverted Elimination ID 1 (single or pipe-delimited list of multiple values). |
|
String |
Y |
Inverted Elimination ID 2 (single or pipe-delimited list of multiple values). |
|
String |
Y |
Inverted Elimination ID 3 (single or pipe-delimited list of multiple values). |
|
String |
N |
Unique identifier for the name, used to distinguish between different names for the same entity when multiple child entities are used. For more information, see Using Matching Services. |
|
String |
N |
Organization name, for example, "Oracle Corporation UK". |
|
String |
N |
Department or site, for example, "Reading" or "Accounts Payable". |
|
String |
N |
|
|
String |
Y |
A single or pipe-delimited list of multiple alternative phone number values. |
|
String |
Y |
A single or pipe-delimited list of multiple alternative web site addresses. |
|
String |
Y |
A single or pipe-delimited list of multiple tax numbers. |
|
String |
Y |
A single or pipe-delimited list of multiple VAT numbers. |
|
String |
N |
Unique identifier for the address, used to distinguish between different addresses for the same entity when multiple child entities are used. For more information, see Using Matching Services. |
|
String |
N |
Address line 1 |
|
String |
N |
Address line 2 |
|
String |
N |
Address line 3 |
|
String |
N |
Address line 4 |
|
String |
N |
A smaller population center data element, dependent on the contents of the |
|
String |
N |
The smallest population center data element, dependent on both the contents of the |
|
String |
N |
|
|
String |
N |
The smallest geographic data element within a country. For example, USA County. |
|
String |
N |
The most common geographic data element within a country. For example, USA State or Canadian Province. |
|
String |
N |
Postal or zip code for the address, if relevant for the country. Note: With matching services, leading zeroes are stripped only on numeric |
|
String |
N |
Country name or ISO 2 char code. |
|
String |
N |
Custom field for matching on string attribute not provided in interface. |
|
String |
N |
Custom field for matching on string attribute not provided in interface. |
|
String |
N |
Custom field for matching on string attribute not provided in interface. |
|
String |
N |
Custom field for matching on string attribute not provided in interface. |
|
String |
N |
Custom field for matching on string attribute not provided in interface. |
|
String |
N |
Custom field for matching on string attribute not provided in interface. |
|
String |
N |
Custom field for matching on date attribute not provided in interface. |
|
String |
N |
Custom field for matching on date attribute not provided in interface. |
|
String |
N |
Custom field for matching on date attribute not provided in interface. |
Address Candidates
Attribute Name | Data Type | Supports Multiple Values? (Y/N) | Notes |
---|---|---|---|
|
String |
N |
0 = driving record, 1 = candidate. Used in matching only. |
|
String |
N |
Unique identifier for the address. |
|
String |
N |
Address line 1 |
|
String |
N |
Address line 2 |
|
String |
N |
Address line 3 |
|
String |
N |
Address line 4 |
|
String |
N |
A smaller population center data element, dependent on the contents of the |
|
String |
N |
The smallest population center data element, dependent on both the contents of the |
|
String |
N |
|
|
String |
N |
The smallest geographic data element within a country. For example, USA County. |
|
String |
N |
The most common geographic data element within a country. For example, USA State or Canadian Province. |
|
String |
N |
Postal or zip code for the address, if relevant for the country. |
|
String |
N |
Country name or ISO 2 char code. |
Table 5-1 Individual Candidates - Header Parameters
Name | Type | Default | Description | Run profile param |
---|---|---|---|---|
matchthreshold |
Numeric |
70 |
Match threshold (previously on the interface) |
phase.Individual\ Match.process.*.matchthreshold |
keyprofile |
String |
Typical |
The key profile to use, this is either a named key profile (Typical, etc), or an encoded key profile |
phase.*.process.*.keyprofile |
overallscore.name.weighting |
Positive numeric |
7 |
Weighting for the name compound comparison |
phase.Individual\ Match.process.*.overallscore.name.weighting |
overallscore.name.enabled |
Boolean (Y/N) |
Y |
Whether to enable the name compound comparison |
phase.Individual\ Match.process.*.overallscore.name.enabled |
overallscore.address.weighting |
Positive numeric |
9 |
Weighting for the address compound comparison |
phase.Individual\ Match.process.*.overallscore.address.weighting |
overallscore.address.enabled |
Boolean (Y/N) |
Y |
Whether to enable the address compound comparison |
phase.Individual\ Match.process.*.overallscore.address.enabled |
overallscore.accountname.weighting |
Positive numeric |
0.75 |
Weighting for the account name compound comparison |
phase.Individual\ Match.process.*.overallscore.accountname.weighting |
overallscore.accountname.enabled |
Boolean (Y/N) |
Y |
Whether to enable the account name compound comparison |
phase.Individual\ Match.process.*.overallscore.accountname.enabled |
overallscore.dob.weighting |
Positive numeric |
6 |
Weighting for the date of birth compound comparison |
phase.Individual\ Match.process.*.overallscore.dob.weighting |
overallscore.dob.enabled |
Boolean (Y/N) |
Y |
Whether to enable the date of birth compound comparison |
phase.Individual\ Match.process.*.overallscore.dob.enabled |
overallscore.phonenumber.weighting |
Positive numeric |
5 |
Weighting for the phone number compound comparison |
phase.Individual\ Match.process.*.overallscore.phonenumber.weighting |
overallscore.phonenumber.enabled |
Boolean (Y/N) |
Y |
Whether to enable the phone number compound comparison |
phase.Individual\ Match.process.*.overallscore.phonenumber.enabled |
overallscore.email.weighting |
Positive numeric |
9 |
Weighting for the email compound comparison |
phase.Individual\ Match.process.*.overallscore.email.weighting |
overallscore.email.enabled |
Boolean (Y/N) |
Y |
Whether to enable the email compound comparison |
phase.Individual\ Match.process.*.overallscore.email.enabled |
overallscore.nationalidnumber.weighting |
Positive numeric |
12 |
Weighting for the nationalid number compound comparison |
phase.Individual\ Match.process.*.overallscore.nationalidnumber.weighting |
overallscore.nationalidnumber.enabled |
Boolean (Y/N) |
Y |
Whether to enable the nationalid number compound comparison |
phase.Individual\ Match.process.*.overallscore.nationalidnumber.enabled |
overallscore.taxnumber.weighting |
Positive numeric |
12 |
Weighting for the tax number compound comparison |
phase.Individual\ Match.process.*.overallscore.taxnumber.weighting |
overallscore.taxnumber.enabled |
Boolean (Y/N) |
Y |
Whether to enable the tax number compound comparison |
phase.Individual\ Match.process.*.overallscore.taxnumber.enabled |
overallscore.customstring1exact.weighting |
Positive numeric |
1 |
Weighting for the custom string 1 exact compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring1exact.weighting |
overallscore.customstring1exact.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 1 exact compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring1exact.enabled |
overallscore.customstring1fuzzy.weighting |
Positive numeric |
1 |
Weighting for the custom string 1 fuzzy compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring1fuzzy.weighting |
overallscore.customstring1fuzzy.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 1 fuzzy compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring1fuzzy.enabled |
overallscore.customstring2exact.weighting |
Positive numeric |
1 |
Weighting for the custom string 2 exact compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring2exact.weighting |
overallscore.customstring2exact.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 2 exact compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring2exact.enabled |
overallscore.customstring2fuzzy.weighting |
Positive numeric |
1 |
Weighting for the custom string 2 fuzzy compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring2fuzzy.weighting |
overallscore.customstring2fuzzy.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 2 fuzzy compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring2fuzzy.enabled |
overallscore.customstring3exact.weighting |
Positive numeric |
1 |
Weighting for the custom string 3 exact compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring3exact.weighting |
overallscore.customstring3exact.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 3 exact compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring3exact.enabled |
overallscore.customstring3fuzzy.weighting |
Positive numeric |
1 |
Weighting for the custom string 3 fuzzy compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring3fuzzy.weighting |
overallscore.customstring3fuzzy.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 3 fuzzy compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring3fuzzy.enabled |
overallscore.customstring4exact.weighting |
Positive numeric |
1 |
Weighting for the custom string 4 exact compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring4exact.weighting |
overallscore.customstring4exact.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 4 exact compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring4exact.enabled |
overallscore.customstring4fuzzy.weighting |
Positive numeric |
1 |
Weighting for the custom string 4 fuzzy compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring4fuzzy.weighting |
overallscore.customstring4fuzzy.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 4 fuzzy compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring4fuzzy.enabled |
overallscore.customstring5exact.weighting |
Positive numeric |
1 |
Weighting for the custom string 5 exact compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring5exact.weighting |
overallscore.customstring5exact.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 5 exact compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring5exact.enabled |
overallscore.customstring5fuzzy.weighting |
Positive numeric |
1 |
Weighting for the custom string 5 fuzzy compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring5fuzzy.weighting |
overallscore.customstring5fuzzy.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 5 fuzzy compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring5fuzzy.enabled |
overallscore.customstring6exact.weighting |
Positive numeric |
1 |
Weighting for the custom string 6 exact compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring6exact.weighting |
overallscore.customstring6exact.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 6 exact compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring6exact.enabled |
overallscore.customstring6fuzzy.weighting |
Positive numeric |
1 |
Weighting for the custom string 6 fuzzy compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring6fuzzy.weighting |
overallscore.customstring6fuzzy.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 6 fuzzy compound comparison |
phase.Individual\ Match.process.*.overallscore.customstring6fuzzy.enabled |
overallscore.customdate1exact.weighting |
Positive numeric |
1 |
Weighting for the custom date 1 exact compound comparison |
phase.Individual\ Match.process.*.overallscore.customdate1exact.weighting |
overallscore.customdate1exact.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom date 1 exact compound comparison |
phase.Individual\ Match.process.*.overallscore.customdate1exact.enabled |
overallscore.customdate1fuzzy.weighting |
Positive numeric |
1 |
Weighting for the custom date 1 fuzzy compound comparison |
phase.Individual\ Match.process.*.overallscore.customdate1fuzzy.weighting |
overallscore.customdate1fuzzy.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom date 1 fuzzy compound comparison |
phase.Individual\ Match.process.*.overallscore.customdate1fuzzy.enabled |
overallscore.customdate2exact.weighting |
Positive numeric |
1 |
Weighting for the custom date 2 exact compound comparison |
phase.Individual\ Match.process.*.overallscore.customdate2exact.weighting |
overallscore.customdate2exact.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom date 2 exact compound comparison |
phase.Individual\ Match.process.*.overallscore.customdate2exact.enabled |
overallscore.customdate2fuzzy.weighting |
Positive numeric |
1 |
Weighting for the custom date 2 fuzzy compound comparison |
phase.Individual\ Match.process.*.overallscore.customdate2fuzzy.weighting |
overallscore.customdate2fuzzy.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom date 2 fuzzy compound comparison |
phase.Individual\ Match.process.*.overallscore.customdate2fuzzy.enabled |
overallscore.customdate3exact.weighting |
Positive numeric |
1 |
Weighting for the custom date 3 exact compound comparison |
phase.Individual\ Match.process.*.overallscore.customdate3exact.weighting |
overallscore.customdate3exact.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom date 3 exact compound comparison |
phase.Individual\ Match.process.*.overallscore.customdate3exact.enabled |
overallscore.customdate3fuzzy.weighting |
Positive numeric |
1 |
Weighting for the custom date 3 fuzzy compound comparison |
phase.Individual\ Match.process.*.overallscore.customdate3fuzzy.weighting |
overallscore.customdate3fuzzy.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom date 3 fuzzy compound comparison |
phase.Individual\ Match.process.*.overallscore.customdate3fuzzy.enabled |
clusterlevel |
1, 2, 3 |
2 |
Legacy clusterlevel (previously on the interface) |
phase.*.process.*.clusterlevel |
uselegacykeygen |
Boolean (Y/N) |
N |
Whether to use the legacy cluster level setting for key generation |
phase.*.process.*.uselegacykeygen |
customstring1key |
Boolean (Y/N) |
N |
Whether to key on this custom attribute |
phase.*.process.*.customstring1key |
customstring1type |
String (text/identifier) |
text |
Type of data contained in the custom attribute - defines whether to strip whitespace when standardizing or not |
phase.*.process.*.customstring1type |
customstring2key |
Boolean (Y/N) |
N |
Whether to key on this custom attribute |
phase.*.process.*.customstring2key |
customstring2type |
String (text/identifier) |
text |
Type of data contained in the custom attribute - defines whether to strip whitespace when standardizing or not |
phase.*.process.*.customstring2type |
customstring3key |
Boolean (Y/N) |
N |
Whether to key on this custom attribute |
phase.*.process.*.customstring3key |
customstring3type |
String (text/identifier) |
text |
Type of data contained in the custom attribute - defines whether to strip whitespace when standardizing or not |
phase.*.process.*.customstring3type |
customstring4key |
Boolean (Y/N) |
N |
Whether to key on this custom attribute |
phase.*.process.*.customstring4key |
customstring4type |
String (text/identifier) |
text |
Type of data contained in the custom attribute - defines whether to strip whitespace when standardizing or not |
phase.*.process.*.customstring4type |
customstring5key |
Boolean (Y/N) |
N |
Whether to key on this custom attribute |
phase.*.process.*.customstring5key |
customstring5type |
String (text/identifier) |
text |
Type of data contained in the custom attribute - defines whether to strip whitespace when standardizing or not |
phase.*.process.*.customstring5type |
customstring6key |
Boolean (Y/N) |
N |
Whether to key on this custom attribute |
phase.*.process.*.customstring6key |
customstring6type |
String (text/identifier) |
text |
Type of data contained in the custom attribute - defines whether to strip whitespace when standardizing or not |
phase.*.process.*.customstring6type |
customdate1key |
Boolean (Y/N) |
N |
Whether to key on this custom attribute |
phase.*.process.*.customdate1key |
customdate2key |
Boolean (Y/N) |
N |
Whether to key on this custom attribute |
phase.*.process.*.customdate2key |
customdate3key |
Boolean (Y/N) |
N |
Whether to key on this custom attribute |
phase.*.process.*.customdate3key |
Table 5-2 Entity Candidates - Header Parameters
Name | Type | Default | Description | Runprofile param |
---|---|---|---|---|
matchthreshold |
Numeric |
70 |
Match threshold |
phase.Entity\ Match.process.*.matchthreshold |
keyprofile |
String |
Typical |
The key profile to use, this is either a named key profile (Typical, etc), or an encoded key profile |
phase.*.process.*.keyprofile |
overallscore.name.weighting |
Positive numeric |
10 |
Weighting for the name compound comparison |
phase.Entity\ Match.process.*.overallscore.name.weighting |
overallscore.name.enabled |
Boolean (Y/N) |
Y |
Whether to enable the name compound comparison |
phase.Entity\ Match.process.*.overallscore.name.enabled |
overallscore.address.weighting |
Positive numeric |
4 |
Weighting for the address compound comparison |
phase.Entity\ Match.process.*.overallscore.address.weighting |
overallscore.address.enabled |
Boolean (Y/N) |
Y |
Whether to enable the address compound comparison |
phase.Entity\ Match.process.*.overallscore.address.enabled |
overallscore.website.weighting |
Positive numeric |
0.3 |
Weighting for the website compound comparison |
phase.Entity\ Match.process.*.overallscore.website.weighting |
overallscore.website.enabled |
Boolean (Y/N) |
Y |
Whether to enable the website compound comparison |
phase.Entity\ Match.process.*.overallscore.website.enabled |
overallscore.phonenumber.weighting |
Positive numeric |
0.5 |
Weighting for the phone number compound comparison |
phase.Entity\ Match.process.*.overallscore.phonenumber.weighting |
overallscore.phonenumber.enabled |
Boolean (Y/N) |
Y |
Whether to enable the phone number compound comparison |
phase.Entity\ Match.process.*.overallscore.phonenumber.enabled |
overallscore.taxnumber.weighting |
Positive numeric |
1 |
Weighting for the tax number compound comparison |
phase.Entity\ Match.process.*.overallscore.taxnumber.weighting |
overallscore.taxnumber.enabled |
Boolean (Y/N) |
Y |
Whether to enable the tax number compound comparison |
phase.Entity\ Match.process.*.overallscore.taxnumber.enabled |
overallscore.vatnumber.weighting |
Positive numeric |
1 |
Weighting for the vat number compound comparison |
phase.Entity\ Match.process.*.overallscore.vatnumber.weighting |
overallscore.vatnumber.enabled |
Boolean (Y/N) |
Y |
Whether to enable the vat number compound comparison |
phase.Entity\ Match.process.*.overallscore.vatnumber.enabled |
overallscore.customstring1exact.weighting |
Positive numeric |
1 |
Weighting for the custom string 1 exact compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring1exact.weighting |
overallscore.customstring1exact.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 1 exact compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring1exact.enabled |
overallscore.customstring1fuzzy.weighting |
Positive numeric |
1 |
Weighting for the custom string 1 fuzzy compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring1fuzzy.weighting |
overallscore.customstring1fuzzy.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 1 fuzzy compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring1fuzzy.enabled |
overallscore.customstring2exact.weighting |
Positive numeric |
1 |
Weighting for the custom string 2 exact compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring2exact.weighting |
overallscore.customstring2exact.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 2 exact compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring2exact.enabled |
overallscore.customstring2fuzzy.weighting |
Positive numeric |
1 |
Weighting for the custom string 2 fuzzy compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring2fuzzy.weighting |
overallscore.customstring2fuzzy.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 2 fuzzy compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring2fuzzy.enabled |
overallscore.customstring3exact.weighting |
Positive numeric |
1 |
Weighting for the custom string 3 exact compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring3exact.weighting |
overallscore.customstring3exact.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 3 exact compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring3exact.enabled |
overallscore.customstring3fuzzy.weighting |
Positive numeric |
1 |
Weighting for the custom string 3 fuzzy compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring3fuzzy.weighting |
overallscore.customstring3fuzzy.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 3 fuzzy compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring3fuzzy.enabled |
overallscore.customstring4exact.weighting |
Positive numeric |
1 |
Weighting for the custom string 4 exact compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring4exact.weighting |
overallscore.customstring4exact.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 4 exact compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring4exact.enabled |
overallscore.customstring4fuzzy.weighting |
Positive numeric |
1 |
Weighting for the custom string 4 fuzzy compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring4fuzzy.weighting |
overallscore.customstring4fuzzy.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 4 fuzzy compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring4fuzzy.enabled |
overallscore.customstring5exact.weighting |
Positive numeric |
1 |
Weighting for the custom string 5 exact compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring5exact.weighting |
overallscore.customstring5exact.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 5 exact compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring5exact.enabled |
overallscore.customstring5fuzzy.weighting |
Positive numeric |
1 |
Weighting for the custom string 5 fuzzy compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring5fuzzy.weighting |
overallscore.customstring5fuzzy.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 5 fuzzy compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring5fuzzy.enabled |
overallscore.customstring6exact.weighting |
Positive numeric |
1 |
Weighting for the custom string 6 exact compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring6exact.weighting |
overallscore.customstring6exact.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 6 exact compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring6exact.enabled |
overallscore.customstring6fuzzy.weighting |
Positive numeric |
1 |
Weighting for the custom string 6 fuzzy compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring6fuzzy.weighting |
overallscore.customstring6fuzzy.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom string 6 fuzzy compound comparison |
phase.Entity\ Match.process.*.overallscore.customstring6fuzzy.enabled |
overallscore.customdate1exact.weighting |
Positive numeric |
1 |
Weighting for the custom date 1 exact compound comparison |
phase.Entity\ Match.process.*.overallscore.customdate1exact.weighting |
overallscore.customdate1exact.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom date 1 exact compound comparison |
phase.Entity\ Match.process.*.overallscore.customdate1exact.enabled |
overallscore.customdate1fuzzy.weighting |
Positive numeric |
1 |
Weighting for the custom date 1 fuzzy compound comparison |
phase.Entity\ Match.process.*.overallscore.customdate1fuzzy.weighting |
overallscore.customdate1fuzzy.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom date 1 fuzzy compound comparison |
phase.Entity\ Match.process.*.overallscore.customdate1fuzzy.enabled |
overallscore.customdate2exact.weighting |
Positive numeric |
1 |
Weighting for the custom date 2 exact compound comparison |
phase.Entity\ Match.process.*.overallscore.customdate2exact.weighting |
overallscore.customdate2exact.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom date 2 exact compound comparison |
phase.Entity\ Match.process.*.overallscore.customdate2exact.enabled |
overallscore.customdate2fuzzy.weighting |
Positive numeric |
1 |
Weighting for the custom date 2 fuzzy compound comparison |
phase.Entity\ Match.process.*.overallscore.customdate2fuzzy.weighting |
overallscore.customdate2fuzzy.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom date 2 fuzzy compound comparison |
phase.Entity\ Match.process.*.overallscore.customdate2fuzzy.enabled |
overallscore.customdate3exact.weighting |
Positive numeric |
1 |
Weighting for the custom date 3 exact compound comparison |
phase.Entity\ Match.process.*.overallscore.customdate3exact.weighting |
overallscore.customdate3exact.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom date 3 exact compound comparison |
phase.Entity\ Match.process.*.overallscore.customdate3exact.enabled |
overallscore.customdate3fuzzy.weighting |
Positive numeric |
1 |
Weighting for the custom date 3 fuzzy compound comparison |
phase.Entity\ Match.process.*.overallscore.customdate3fuzzy.weighting |
overallscore.customdate3fuzzy.enabled |
Boolean (Y/N) |
Y |
Whether to enable the custom date 3 fuzzy compound comparison |
phase.Entity\ Match.process.*.overallscore.customdate3fuzzy.enabled |
clusterlevel |
1, 2, 3 |
2 |
Legacy clusterlevel |
phase.*.process.*.clusterlevel |
uselegacykeygen |
Boolean (Y/N) |
N |
Whether to use the legacy cluster level setting for key generation |
phase.*.process.*.uselegacykeygen |
customstring1key |
Boolean (Y/N) |
N |
Whether to key on this custom attribute |
phase.*.process.*.customstring1key |
customstring1type |
String (text/identifier) |
text |
Type of data contained in the custom attribute - defines whether to strip whitespace when standardizing or not |
phase.*.process.*.customstring1type |
customstring2key |
Boolean (Y/N) |
N |
Whether to key on this custom attribute |
phase.*.process.*.customstring2key |
customstring2type |
String (text/identifier) |
text |
Type of data contained in the custom attribute - defines whether to strip whitespace when standardizing or not |
phase.*.process.*.customstring2type |
customstring3key |
Boolean (Y/N) |
N |
Whether to key on this custom attribute |
phase.*.process.*.customstring3key |
customstring3type |
String (text/identifier) |
text |
Type of data contained in the custom attribute - defines whether to strip whitespace when standardizing or not |
phase.*.process.*.customstring3type |
customstring4key |
Boolean (Y/N) |
N |
Whether to key on this custom attribute |
phase.*.process.*.customstring4key |
customstring4type |
String (text/identifier) |
text |
Type of data contained in the custom attribute - defines whether to strip whitespace when standardizing or not |
phase.*.process.*.customstring4type |
customstring5key |
Boolean (Y/N) |
N |
Whether to key on this custom attribute |
phase.*.process.*.customstring5key |
customstring5type |
String (text/identifier) |
text |
Type of data contained in the custom attribute - defines whether to strip whitespace when standardizing or not |
phase.*.process.*.customstring5type |
customstring6key |
Boolean (Y/N) |
N |
Whether to key on this custom attribute |
phase.*.process.*.customstring6key |
customstring6type |
String (text/identifier) |
text |
Type of data contained in the custom attribute - defines whether to strip whitespace when standardizing or not |
phase.*.process.*.customstring6type |
customdate1key |
Boolean (Y/N) |
N |
Whether to key on this custom attribute |
phase.*.process.*.customdate1key |
customdate2key |
Boolean (Y/N) |
N |
Whether to key on this custom attribute |
phase.*.process.*.customdate2key |
customdate3key |
Boolean (Y/N) |
N |
Whether to key on this custom attribute |
phase.*.process.*.customdate3key |
Table 5-3 Address Candidates - Header Parameters
Name | Type | Default | Description | Run profile param |
---|---|---|---|---|
matchthreshold |
Numeric |
70 |
Match threshold |
phase.Address\ Match.process.*.matchthreshold |
keyprofile |
String |
Typical |
The key profile to use, this is either a named key profile (Typical, etc), or an encoded key profile |
phase.*.process.*.keyprofile |
clusterlevel |
1, 2, 3 |
2 |
Legacy clusterlevel |
phase.*.process.*.clusterlevel |
uselegacykeygen |
Boolean (Y/N) |
N |
Whether to use the legacy cluster level setting for key generation |
phase.*.process.*.uselegacykeygen |
Matches Interface
The Matches interface is used for the output of the matching services in batch and real-time. It is used for individuals, entities and addresses because it contains no attributes specific to any business object.
With Individual and Entity matching, if there are multiple matches between records with the same masterid
and matchids
(for example, due to multiple matches with different names and addresses), only the strongest match (by match score) is returned for the record pair. Siebel does not currently use the returned masternameid
, matchnameid
, masteraddressid
and matchaddressid
attributes, though these may be used in other integrations to display the correct records in the application according to the best matches.
Attribute Name | Data Type | Notes |
---|---|---|
|
String |
Server ID. Not applicable to Siebel. |
|
String |
Job ID. Not applicable to Siebel. |
|
String |
Driving record ID. Only used in Batch. |
|
String |
Matching record ID. |
|
String |
Driving record name ID. Used to identify which name matched on the driving record, where multiple names were presented. |
|
String |
Matching record name ID. Used to identify which name matched on the candidate record, where multiple names were presented. |
|
String |
Driving record account name ID. Used to identify which account name matched on the driving record, where multiple account names were presented. |
|
String |
Matching record account name ID. Used to identify which account name matched on the candidate record, where multiple account names were presented. |
|
String |
Driving record address ID. Used to identify which address matched on the driving record, where multiple addresses were presented. |
|
String |
Matching record address ID. Used to identify which address matched on the candidate record, where multiple addresses were presented. |
|
String |
Driving record email ID. Used to identify which email address matched on the driving record, where multiple emails were presented. |
|
String |
Matching record email ID. Used to identify which email address matched on the candidate record, where multiple emails were presented. |
|
String |
Driving record phone number ID. Used to identify which phone number matched on the driving record, where multiple phone numbers were presented. |
|
String |
Matching record phone number ID. Used to identify which phone number matched on the candidate record, where multiple phone numbers were presented. |
|
String |
Driving record website ID. Used to identify which website matched on the driving record, where multiple websites were presented. |
|
String |
Matching record website ID. Used to identify which website matched on the candidate record, where multiple websites were presented. |
|
String |
Driving record unique identifier 1 ID. Used to identify which unique identifier 1 (UID1) value matched on the driving record, where multiple UID1 values were presented. |
|
String |
Matching record unique identifier 1 ID. Used to identify which unique identifier 1 (UID1) value matched on the candidate record, where multiple UID1 values were presented. |
|
String |
Driving record unique identifier 2 ID. Used to identify which unique identifier 2 (UID2) value matched on the driving record, where multiple UID2 values were presented. |
|
String |
Matching record unique identifier 2 ID. Used to identify which unique identifier 2 (UID2) value matched on the candidate record, where multiple UID2 values were presented. |
|
String |
Driving record unique identifier 3 ID. Used to identify which unique identifier 3 (UID3) value matched on the driving record, where multiple UID3 values were presented. |
|
String |
Matching record unique identifier 3 ID. Used to identify which unique identifier 3 (UID3) value matched on the candidate record, where multiple UID3 values were presented. |
|
Number |
Match score. |
|
String |
Match rule name. This may be taken from a compound score result if the relationship was generated from a compound score based rule |
|
String |
A flag indicating that an additional, reversed match record has been generated where there is a match between driving records in Batch matching. Valid values are |
|
String |
Comma separated list of attributes contributing to the relationship, and how they matched (for example, Name Exact, Address Fuzzy). |
|
String |
Result for the name compound comparison. |
|
Number |
Score for the name compound comparison. |
|
String |
Category (Exact, Fuzzy, etc.) for the name compound comparison. |
|
String |
Result for the address compound comparison. |
|
Number |
Score for the address compound comparison. |
|
String |
Category (Exact, Fuzzy, etc.) for the address compound comparison. |
|
String |
Result for the accountname compound comparison. |
|
Number |
Score for the accountname compound comparison. |
|
String |
Category (Exact, Fuzzy, etc.) for the accountname compound comparison. |
|
String |
Result for the email compound comparison. |
|
Number |
Score for the email compound comparison. |
|
String |
Category (Exact, Fuzzy, etc.) for the email compound comparison. |
|
String |
Result for the phonenumber compound comparison. |
|
Number |
Score for the phonenumber compound comparison. |
|
String |
Category (Exact, Fuzzy, etc.) for the phonenumber compound comparison. |
|
String |
Result for the dob compound comparison. |
|
Number |
Score for the dob compound comparison. |
|
String |
Category (Exact, Fuzzy, etc.) for the dob compound comparison. |
|
String |
Result for the website compound comparison. |
|
Number |
Score for the website compound comparison. |
|
String |
Category (Exact, Fuzzy, etc.) for the website compound comparison. |
|
String |
Result for the nationalidnumber compound comparison. |
|
Number |
Score for the nationalidnumber compound comparison. |
|
String |
Category (Exact, Fuzzy, etc.) for the nationalidnumber compound comparison. |
|
String |
Result for the vatnumber compound comparison. |
|
Number |
Score for the vatnumber compound comparison. |
|
String |
Category (Exact, Fuzzy, etc.) for the vatnumber compound comparison. |
|
String |
Result for the taxnumber compound comparison. |
|
Number |
Score for the taxnumber compound comparison. |
|
String |
Category (Exact, Fuzzy, etc.) for the taxnumber compound comparison. |
|
String |
Result for the customstring1 compound comparison. |
|
Number |
Score for the customstring1 compound comparison. |
|
String |
Category (Exact, Fuzzy, etc.) for the customstring1 compound comparison. |
|
String |
Result for the customstring2 compound comparison. |
|
Number |
Score for the customstring2 compound comparison. |
|
String |
Category (Exact, Fuzzy, etc.) for the customstring2 compound comparison. |
|
String |
Result for the customstring3 compound comparison. |
|
Number |
Score for the customstring3 compound comparison. |
|
String |
Category (Exact, Fuzzy, etc.) for the customstring3 compound comparison. |
|
String |
Result for the customstring4 compound comparison. |
|
Number |
Score for the customstring4 compound comparison. |
|
String |
Category (Exact, Fuzzy, etc.) for the customstring4 compound comparison. |
|
String |
Result for the customstring5 compound comparison. |
|
Number |
Score for the customstring5 compound comparison. |
|
String |
Category (Exact, Fuzzy, etc.) for the customstring5 compound comparison. |
|
String |
Result for the customstring6 compound comparison. |
|
Number |
Score for the customstring6 compound comparison. |
|
String |
Category (Exact, Fuzzy, etc.) for the customstring6 compound comparison. |
|
String |
Result for the customdate1 compound comparison. |
|
Number |
Score for the customdate1 compound comparison. |
|
String |
Category (Exact, Fuzzy, etc.) for the customdate1 compound comparison. |
|
String |
Result for the customdate2 compound comparison. |
|
Number |
Score for the customdate2 compound comparison. |
|
String |
Category (Exact, Fuzzy, etc.) for the customdate2 compound comparison. |
|
String |
Result for the customdate3 compound comparison. |
|
Number |
Score for the customdate3 compound comparison. |
|
String |
Category (Exact, Fuzzy, etc.) for the customdate3 compound comparison. |
Note:
-
In Siebel integrations, the driving record(s) are also returned in the output from real-time matching requests, with a blank match score and rule name. This behavior is controlled by the
phase.*.process.*.Return\ Real-time\ Driving\ Record
Run Profile property, and therefore could be configured for other types of integration if required. -
So that external applications, such as Siebel, can simply consume the output from batch matching to update both records in a match, CDS batch matching provides two records for each match between driving records. Therefore, if A matches B, a record is returned with
masterid
A andmatchid
B, and an additional record is generated and returned withmasterid
B andmatchid
A. This additionally generated record will havereversedriverflag
set toY
in case the external application does not need the additionally generated record. -
The Match Rule Name cannot be displayed in Siebel due to the limitations of the Siebel Data Quality interface that only accepts a returned score related to each matched record.
Key Generation Results Interfaces
Two data interfaces are used for the output of the results of key generation services; one for batch and one for real-time. They are used for entities, individuals, and addresses as they contain no attributes specific to a particular business object. The Batch and Real-Time Results Interfaces contain similar information, the main difference is the way in which the results are processed.
Real-Time Key Generation Results Interface
The Real-time Key Generation Results interface is used for the output of key generation services in real-time. The output values are returned in arrays of key values for a record, in no particular order. This interface differs from the batch version in that it returns arrays of key values for a record, rather than a row per key value per record.
Note:
If the legacy cluster level is in use, the level will be returned in the key priorities field, unless clusterlevel
= D in which case it will not be returned (as keypriorities
is numeric).
Attribute Name | Data Type | Notes |
---|---|---|
|
String |
ID of the individual, entity or address of the key generated record. |
|
String |
Key profile of the generated keys. |
|
StringArray |
Key value array. |
|
NumberArray |
Key priority array. |
Batch Key Generation Results Interface
The Batch Key Generation Results interface is only used for the output for key generation services in the Batch Key Generation service. This interface differs from the Real-time Key Generation Results interface in that it returns a row per key value per record, rather than arrays of key values for a record.
Note:
If the legacy cluster level is in use, the level will be returned in the key priority field, unless clusterlevel
= D in which case it will not be returned (as keypriority
is numeric).
Attribute Name | Data Type | Notes |
---|---|---|
|
String |
Server ID. Not applicable to Siebel. |
|
String |
Job ID. Not applicable to Siebel. |
|
String |
ID of the individual, entity, or address of the key generated record. |
|
String |
Key profile of the generated key. |
|
String |
Key value. |
|
Number |
Key priority |
Real-Time Integration
The EDQ-CDS real-time matching services can be called by an external application without any changes to the default configuration. It is the responsibility of the calling application to manage the storage of record keys and to perform the selection of match candidates to be passed to the matching service.
A typical interaction between the calling application (for example, a CRM or Master Data Management [MDM] application) and EDQ-CDS during real-time matching (for example, Contact duplicate prevention) is illustrated as follows:
Figure 5-1 Overview of Expected Integration Architecture with Matching Services

Description of "Figure 5-1 Overview of Expected Integration Architecture with Matching Services"
In detail the matching services operate and are used as follows:
-
Send Driving Record — The application sends the new (driving) record and the configured key profile to EDQ-CDS.
-
Generate Keys — EDQ-CDS generates the key(s) for the driving record.
-
Return Keys — EDQ-CDS returns the driving record's keys to the MDM application.
-
Select Candidates — The MDM application selects all (candidate) records that share any of the same generated keys. If no candidates are identified then go to the Store Keys.
-
Construct Match Data — The MDM application constructs the match data for the driving and candidate records
-
Send Match Records — The MDM application sends the data for the new (driving) record and candidates to EDQ-CDS.
-
Perform Matching — EDQ-CDS matches the driving record against the candidates to identify potential duplicates. Each match is assigned a score indicating the strength of match.
-
Return Duplicates with score — EDQ-CDS returns the IDs of the matched candidates (and scores) to the MDM application. The driving record is also returned, but with a blank score. If no duplicates were identified by EDQ-CDS then go to the Store Keys.
-
User reviews Duplicates — As indicated.
-
Send Master Record — If duplicates were identified by EDQ-CDS and selected by the user, then the driving record is merged with the existing duplicate record. If a merge operation occurred then the MDM application sends the new merged (master) record details back to EDQ-CDS.
-
Generate Keys — EDQ-CDS uses the details of the master record to generate key values.
-
Return Keys — EDQ-CDS returns the master record's keys to the MDM application.
-
Store Keys — The MDM application stores the keys for the new master record.