5 Using Business Services

This chapter describes how you can use the EDQ-CDS Business Services functionality.

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

5.1 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.

5.1.1 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.

5.1.1.1 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.

5.1.1.2 Interface

The following table provides a guide to the interface attributes of the Address Clean web service.

Attribute Name Data Type Use Notes
addressid String In/Out Unique identifier for the address.
address1 String In/Out Address line 1
address2 String In/Out Address line 2
address3 String In/Out Address line 3
address4 String In/Out Address line 4
dependentlocality String In/Out A smaller population center data element, dependent on the contents of the city field. For example, a Neighborhood in Turkey. For many countries, this attribute is not used.
doubledependentlocality String In/Out The smallest population center data element, dependent on both the contents of the city and dependentlocality fields. For example, a village in the UK. For many countries, this attribute is not used.
city String In/Out The locality, town or city of the address.
subadminarea String In/Out The smallest geographic data element within a country. For example, a county in the USA.
adminarea String In/Out The most common geographic data element within a country. For example, a State in the USA or a Province in Canada.
postalcode String In/Out Postal or zip code for the address, if relevant for the country.
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.

defaultcountrycode 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.
case (parameter) String Input only Transforms output according to the setting:

U (Upper)- Transforms all text to Upper case.

L (Lower)- Transforms all text to Lower case.

M (Mixed) - Transform all text to Mixed case, except postalcode and adminarea. These field values are left as returned from the AV processor if the address was verified. If the address was not verified, the postalcode is left as entered, and the adminarea is converted to Mixed case.

O (Original) - Text is not transformed.

mode (parameter) String Input only Mode in which the request is to be run.

Currently, only V (Verify) is supported.

minimumverificationmatchscore (parameter) 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.
minimumverificationlevel (parameter) 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.

allowedverificationresultcodes (parameter) String Input only A list of any of the following single-letter result codes with no separator (for example, 'VPA'):

V (Verified),

P (Partially Verified)

A (Ambiguous)

R (Reverted)

U (Unverified)

Input addresses will be left unchanged if the Verification Result Code. For example, the first character of the verificationcode) for the address is not one of the listed input values.

fulladdress String Output only Full verified address returned from address verification. The address lines are pipe-separated.
countrycode String Output only ISO 2 char country code of verified address country.
verificationcode String Output only Verification code for the address.
verified 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 Y (verified), N (not verified) or X (EDQ Address Verification is not installed).
verificationcodedescription String Output only US English description of the verification code.
latitude Number Output only WGS 84 latitude in decimal degrees format.
longitude Number Output only WGS 84 longitude in decimal degrees format.
geoaccuracycode String Output only A code indicating the level of accuracy of the returned geocodes (latitude and longitude) co-ordinates.
geoaccuracycodedescription String Output only US English description of the geoaccuracycode.
geodistance Number Output only Radius of accuracy (in meters) for the returned geocodes. The higher the value, the less accurate the geocoding result.

5.1.1.3 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:

  1. Per-message threshold settings using the parameter attributes as above

  2. Per-country threshold values expressed in the Reference Data set Address Clean - Country verification level and results

  3. 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

http://www.loqate.com/oracle

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.

5.1.2 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.

5.1.2.1 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.

5.1.2.2 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
individualid String A unique identifier for the individual record.
languages String 3 character Siebel language code. This can be used to determine whether a name containing Kanji should be treated as Japanese or Chinese.
nameid String Unique identifier for the name.
title String Title
firstname String First name
middlename String Middle name
lastname String Last Name
gender String M or F
dob String Date of Birth
jobtitle String Job Title
homephone String Home Phone Number
workphone String Work Phone Number
mobilephone String Mobile Phone Number
faxphone String Fax Number
alternatephone String Alternate Phone Number
email String Email Address
taxnumber String Tax Number
nationalidnumber String Social Security Number (US) or equivalent.

5.1.3 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.

5.1.3.1 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.

5.1.3.2 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
entityid String A unique identifier for the entity record.
languages String 3 character Siebel language code. This can be used to determine whether a name containing Kanji should be treated as Japanese or Chinese.
nameid String Unique identifier for the name.
name String Organization name for example, "Oracle Corporation UK".
subname String Department or site for example, "Reading", "Accounts Payable", etc.
phone String Phone Number
alternatephone String Alternate Phone Number
website String Website Address
taxnumber String Company Tax Number
vatnumber String Company VAT Number

5.2 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.

5.2.1 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

5.2.2 Interface

The key generation web services present input interfaces with direct mappings to the shared 'Candidate' data interfaces as follows:

Web Service Input Interface
IndividualKeygen See Section 5.4.1.1, "Individual Candidates."
EntityKeygen See Section 5.4.1.2, "Entity Candidates."
AddressKeygen See Section 5.4.1.3, "Address Candidates."

All the key generation web services return output attributes using the common Real-time Key Generation Results Interface data interface, see Section 5.4.3, "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.

5.3 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.

5.3.1 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.

5.3.2 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.

5.3.3 Interfaces

The matching web services present input interfaces with direct mappings to the shared 'Candidate' data interfaces as follows:

Web Service Input Interface
IndividualMatch See Section 5.4.1.1, "Individual Candidates."
EntityMatch See Section 5.4.1.2, "Entity Candidates."
AddressMatch See Section 5.4.1.3, "Address Candidates."

All the matching services return output attributes using the common Matches Interface data interface.

5.4 Data Interfaces

This section describes the following EDQ-CDS data interfaces:

5.4.1 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.

5.4.1.1 Individual Candidates

Attribute Name Data Type Supports Multiple Values? (Y/N) Notes
candidate 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.
individualid 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.
languages String Y 3 character Siebel language code. Only used in name standardization to help determine whether a name containing Kanji is Japanese or Chinese.
uid1 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.

uid1id String Y A single or pipe-delimited list of multiple values corresponding to the ID values in uid1, which you can use to identify, in the case of a match, which of the values matched, and return this from the match service.
uid2 String Y Unique ID 2 (single or pipe-delimited list of multiple values).
uid2id String Y A single or pipe-delimited list of multiple values corresponding to the ID values in uid2, which you can use to identify, in the case of a match, which of the values matched, and return this from the match service.
uid3 String Y Unique ID 3 (single or pipe-delimited list of multiple values).
uid3id String Y A single or pipe-delimited list of multiple values corresponding to the ID values in uid3, which you can use to identify, in the case of a match, which of the values matched, and return this from the match service.
eid1 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.

eid2 String Y Elimination ID 2 (single or pipe-delimited list of multiple values).
eid3 String Y Elimination ID 3 (single or pipe-delimited list of multiple values).
ieid1 String Y Inverted Elimination ID 1 (single or pipe-delimited list of multiple values).
ieid2 String Y Inverted Elimination ID 2 (single or pipe-delimited list of multiple values).
ieid3 String Y Inverted Elimination ID 3 (single or pipe-delimited list of multiple values).
nameid 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 Section 5.3.1, "Using Matching Services."
title String N Title
firstname String N First Name
middlename String N Middle Name
lastname String N Last Name
gender String N Gender (M or F)
dob String N Date of Birth, in any of the formats recognized by the *Date Formats reference data set in EDQ.
jobtitle String N Job Title
homephone String N Home Phone Number
workphone String N Work Phone Number
mobilephone String N Mobile Phone Number
faxphone String N Fax Number
alternatephone String Y Alternative Phone Number - either a single value, or a pipe-delimited list of multiple values.
alternatephoneid String Y A single or pipe-delimited list of multiple values corresponding to the ID values in alternatephone, which you can use to identify, in the case of a match, which of the values matched, and return this from the match service.
email String Y A single value or a pipe-delimited list of multiple email addresses.
emailid String Y A single or pipe-delimited list of multiple values corresponding to the ID values in email, which you can use to identify, in the case of a match, which of the values matched, and return this from the match service.
taxnumber String Y A single value or a pipe-delimited list of multiple tax numbers.
nationalidnumber String Y Social Security Number (US) or equivalent, single value or pipe-limited list.
accountname String N The name of the account (for example, entity) to which this individual belongs, if relevant.
accountnameid String N An ID field for the accountname field, which you can use to identify, in the case of a match, which account name was matched upon.
addressid 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 Section 5.3.1, "Using Matching Services."
address1 String N Address line 1
address2 String N Address line 2
address3 String N Address line 3
address4 String N Address line 4
dependentlocality String N A smaller population center data element, dependent on the contents of the city field. For example, a Neighborhood in Turkey. For many countries, this attribute is not used.
doubledependentlocality String N The smallest population center data element, dependent on both the contents of the city and dependentlocality fields. For example, a village in the UK. For many countries, this attribute is not used.
city String N The locality, town or city of the address.
subadminarea String N The smallest geographic data element within a country. For example, a county in the USA.
adminarea String N The most common geographic data element within a country. For example, USA State or Canadian Province.
postalcode 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 postalcodes to avoid a numeric postalcode reinterpreted as a number by an external programs where leading zeroes are automatically stripped. For example, Excel may reformat numeric postalcodes as a number by removing the leading zeroes. This is enabled by default in the edq-cds-daas.properties Run Profile. If there are any alpha characters present, the leading zeroes are not stripped.

country String N Country name or ISO 2 char code.
customstring1 String N Custom field for matching on string attribute not provided in interface.
customstring2 String N Custom field for matching on string attribute not provided in interface.
customstring3 String N Custom field for matching on string attribute not provided in interface.
customstring4 String N Custom field for matching on string attribute not provided in interface.
customstring5 String N Custom field for matching on string attribute not provided in interface.
customstring6 String N Custom field for matching on string attribute not provided in interface.
customdate1 String N Custom field for matching on date attribute not provided in interface.
customdate2 String N Custom field for matching on date attribute not provided in interface.
customdate3 String N Custom field for matching on date attribute not provided in interface.

5.4.1.2 Entity Candidates

Attribute Name Data Type Supports Multiple Values? (Y/N) Notes
candidate 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.
entityid String N Unique record identifier. Mandatory for batch jobs and real time requests containing multiple driver records.
languages String Y 3 character Siebel language code. Only used in name standardization to help determine whether a name containing Kanji is Japanese or Chinese.
uid1 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.

uid1id String Y A single or pipe-delimited list of multiple values corresponding to the ID values in uid1, which you can use to identify, in the case of a match, which of the values matched, and return this from the match service.
uid2 String Y Unique ID 2 (single or pipe-delimited list of multiple values).
uid2id String Y A single or pipe-delimited list of multiple values corresponding to the ID values in uid2, which you can use to identify, in the case of a match, which of the values matched, and return this from the match service.
uid3 String Y Unique ID 3 (single or pipe-delimited list of multiple values).
uid3id String Y A single or pipe-delimited list of multiple values corresponding to the ID values in uid3, which you can use to identify, in the case of a match, which of the values matched, and return this from the match service.
eid1 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.

eid2 String Y Elimination ID 2 (single or pipe-delimited list of multiple values).
eid3 String Y Elimination ID 3 (single or pipe-delimited list of multiple values).
ieid1 String Y Inverted Elimination ID 1 (single or pipe-delimited list of multiple values).
ieid2 String Y Inverted Elimination ID 2 (single or pipe-delimited list of multiple values).
ieid3 String Y Inverted Elimination ID 3 (single or pipe-delimited list of multiple values).
nameid 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 Section 5.3.1, "Using Matching Services."
name String N Organization name, for example, "Oracle Corporation UK".
subname String N Department or site, for example, "Reading" or "Accounts Payable".
phone String N  
alternatephone String Y A single or pipe-delimited list of multiple alternative phone number values.
website String Y A single or pipe-delimited list of multiple alternative web site addresses.
taxnumber String Y A single or pipe-delimited list of multiple tax numbers.
vatnumber String Y A single or pipe-delimited list of multiple VAT numbers.
addressid 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 Section 5.3.1, "Using Matching Services."
address1 String N Address line 1
address2 String N Address line 2
address3 String N Address line 3
address4 String N Address line 4
dependentlocality String N A smaller population center data element, dependent on the contents of the city field. For example, Turkish Neighborhood.
doubledependentlocality String N The smallest population center data element, dependent on both the contents of the city and dependentlocality fields. For example, UK Village.
city String N  
subadminarea String N The smallest geographic data element within a country. For example, USA County.
adminarea String N The most common geographic data element within a country. For example, USA State or Canadian Province.
postalcode 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 postalcodes to avoid a numeric postalcode reinterpreted as a number by an external programs where leading zeroes are automatically stripped. For example, Excel may reformat numeric postalcodes as a number by removing the leading zeroes. This is enabled by default in the edq-cds-daas.properties Run Profile. If there are any alpha characters present, the leading zeroes are not stripped.

country String N Country name or ISO 2 char code.
customstring1 String N Custom field for matching on string attribute not provided in interface.
customstring2 String N Custom field for matching on string attribute not provided in interface.
customstring3 String N Custom field for matching on string attribute not provided in interface.
customstring4 String N Custom field for matching on string attribute not provided in interface.
customstring5 String N Custom field for matching on string attribute not provided in interface.
customstring6 String N Custom field for matching on string attribute not provided in interface.
customdate1 String N Custom field for matching on date attribute not provided in interface.
customdate2 String N Custom field for matching on date attribute not provided in interface.
customdate3 String N Custom field for matching on date attribute not provided in interface.

5.4.1.3 Address Candidates

Attribute Name Data Type Supports Multiple Values? (Y/N) Notes
candidate String N 0 = driving record, 1 = candidate. Used in matching only.
addressid String N Unique identifier for the address.
address1 String N Address line 1
address2 String N Address line 2
address3 String N Address line 3
address4 String N Address line 4
dependentlocality String N A smaller population center data element, dependent on the contents of the city field. For example, Turkish Neighborhood.
doubledependentlocality String N The smallest population center data element, dependent on both the contents of the city and dependentlocality fields. For example, UK Village.
city String N  
subadminarea String N The smallest geographic data element within a country. For example, USA County.
adminarea String N The most common geographic data element within a country. For example, USA State or Canadian Province.
postalcode String N Postal or zip code for the address, if relevant for the country.
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


5.4.2 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
serverid String Server ID. Not applicable to Siebel.
jobid String Job ID. Not applicable to Siebel.
masterid String Driving record ID. Only used in Batch.
matchid String Matching record ID.
masternameid String Driving record name ID. Used to identify which name matched on the driving record, where multiple names were presented.
matchnameid String Matching record name ID. Used to identify which name matched on the candidate record, where multiple names were presented.
masteraccountnameid String Driving record account name ID. Used to identify which account name matched on the driving record, where multiple account names were presented.
matchaccountnameid String Matching record account name ID. Used to identify which account name matched on the candidate record, where multiple account names were presented.
masteraddressid String Driving record address ID. Used to identify which address matched on the driving record, where multiple addresses were presented.
matchaddressid String Matching record address ID. Used to identify which address matched on the candidate record, where multiple addresses were presented.
masteremailid String Driving record email ID. Used to identify which email address matched on the driving record, where multiple emails were presented.
matchemailid String Matching record email ID. Used to identify which email address matched on the candidate record, where multiple emails were presented.
masterphonenumberid String Driving record phone number ID. Used to identify which phone number matched on the driving record, where multiple phone numbers were presented.
matchphonenumberid String Matching record phone number ID. Used to identify which phone number matched on the candidate record, where multiple phone numbers were presented.
masterwebsiteid String Driving record website ID. Used to identify which website matched on the driving record, where multiple websites were presented.
matchwebsiteid String Matching record website ID. Used to identify which website matched on the candidate record, where multiple websites were presented.
masteruid1id 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.
matchuid1id 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.
masteruid2id 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.
matchuid2id 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.
masteruid3id 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.
matchuid3id 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.
matchscore Number Match score.
rulename String Match rule name. This may be taken from a compound score result if the relationship was generated from a compound score based rule
reversedriverflag 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 Y and N.
comparisonresults String Comma separated list of attributes contributing to the relationship, and how they matched (for example, Name Exact, Address Fuzzy).
nameresult String Result for the name compound comparison.
namescore Number Score for the name compound comparison.
namecategory String Category (Exact, Fuzzy, etc.) for the name compound comparison.
addressresult String Result for the address compound comparison.
addressscore Number Score for the address compound comparison.
addresscategory String Category (Exact, Fuzzy, etc.) for the address compound comparison.
accountnameresult String Result for the accountname compound comparison.
accountnamescore Number Score for the accountname compound comparison.
accountnamecategory String Category (Exact, Fuzzy, etc.) for the accountname compound comparison.
emailresult String Result for the email compound comparison.
emailscore Number Score for the email compound comparison.
emailcategory String Category (Exact, Fuzzy, etc.) for the email compound comparison.
phonenumberresult String Result for the phonenumber compound comparison.
phonenumberscore Number Score for the phonenumber compound comparison.
phonenumbercategory String Category (Exact, Fuzzy, etc.) for the phonenumber compound comparison.
dobresult String Result for the dob compound comparison.
dobscore Number Score for the dob compound comparison.
dobcategory String Category (Exact, Fuzzy, etc.) for the dob compound comparison.
websiteresult String Result for the website compound comparison.
websitescore Number Score for the website compound comparison.
websitecategory String Category (Exact, Fuzzy, etc.) for the website compound comparison.
nationalidnumberresult String Result for the nationalidnumber compound comparison.
nationalidnumberscore Number Score for the nationalidnumber compound comparison.
nationalidnumbercategory String Category (Exact, Fuzzy, etc.) for the nationalidnumber compound comparison.
vatnumberresult String Result for the vatnumber compound comparison.
vatnumberscore Number Score for the vatnumber compound comparison.
vatnumbercategory String Category (Exact, Fuzzy, etc.) for the vatnumber compound comparison.
taxnumberresult String Result for the taxnumber compound comparison.
taxnumberscore Number Score for the taxnumber compound comparison.
taxnumbercategory String Category (Exact, Fuzzy, etc.) for the taxnumber compound comparison.
customstring1result String Result for the customstring1 compound comparison.
customstring1score Number Score for the customstring1 compound comparison.
customstring1category String Category (Exact, Fuzzy, etc.) for the customstring1 compound comparison.
customstring2result String Result for the customstring2 compound comparison.
customstring2score Number Score for the customstring2 compound comparison.
customstring2category String Category (Exact, Fuzzy, etc.) for the customstring2 compound comparison.
customstring3result String Result for the customstring3 compound comparison.
customstring3score Number Score for the customstring3 compound comparison.
customstring3category String Category (Exact, Fuzzy, etc.) for the customstring3 compound comparison.
customstring4result String Result for the customstring4 compound comparison.
customstring4score Number Score for the customstring4 compound comparison.
customstring4category String Category (Exact, Fuzzy, etc.) for the customstring4 compound comparison.
customstring5result String Result for the customstring5 compound comparison.
customstring5score Number Score for the customstring5 compound comparison.
customstring5category String Category (Exact, Fuzzy, etc.) for the customstring5 compound comparison.
customstring6result String Result for the customstring6 compound comparison.
customstring6score Number Score for the customstring6 compound comparison.
customstring6category String Category (Exact, Fuzzy, etc.) for the customstring6 compound comparison.
customdate1result String Result for the customdate1 compound comparison.
customdate1score Number Score for the customdate1 compound comparison.
customdate1category String Category (Exact, Fuzzy, etc.) for the customdate1 compound comparison.
customdate2result String Result for the customdate2 compound comparison.
customdate2score Number Score for the customdate2 compound comparison.
customdate2category String Category (Exact, Fuzzy, etc.) for the customdate2 compound comparison.
customdate3result String Result for the customdate3 compound comparison.
customdate3score Number Score for the customdate3 compound comparison.
customdate3category 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 and matchid B, and an additional record is generated and returned with masterid B and matchid A. This additionally generated record will have reversedriverflag set to Y 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.

5.4.3 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.

5.4.3.1 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
externalid String ID of the individual, entity or address of the key generated record.
keyprofile String Key profile of the generated keys.
keyvalues StringArray Key value array.
keypriorities NumberArray Key priority array.

5.4.3.2 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
serverid String Server ID. Not applicable to Siebel.
jobid String Job ID. Not applicable to Siebel.
externalid String ID of the individual, entity, or address of the key generated record.
keyprofile String Key profile of the generated key.
keyvalue String Key value.
keypriority Number Key priority

5.5 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 follows
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.