Attribute definitions are the at the core of the match service. Attribute definitions are used to construct the Matchgrid, and to determine what attributes are accepted over the REST API.
Attribute Configuration
Each attribute definition has several configuration options that determine how the attribute is used within Match Rules.
- Alphanumeric: If true, non-alphanumeric characters in values for the Attribute are ignored.
- Attribute Map: If set, equivalent values for this Attribute may be looked up in an Attribute Map.
- Case Sensitive: If true, values provided for this Attribute are compared in a case-sensitive manner. (Otherwise, case is ignored by default.)
- Null Equivalents: Treat values consisting only of blanks, zeroes, and punctuation as null or empty. For example, if used for dateOfBirth and the provided value is
0000-00-00
, it will be treated as if no date of birth was provided.Null equivalency is processed on the inbound attribute. In other words, if the inbound request includes the string
0000-00-00
, it will be treated as null and stored in the matchgrid as null (not0000-00-00
).
- Search Distance: If specified, when an Attribute is configured with Search Type "Distance" with a Rule, the maximum Levenshtein Distance permitted for the value. This can be thought of as the number of transpositions, so that "Smith" and "Simth" have a distance of 2.
- Search Exact:
- Search Substring From: In Substring searches, begin searching at this position in the attribute value. Note that the first index is 1, not 0.
- Search Substring For: In Substring searches, use the first n characters (starting at the from position) of the attribute value. For example, From 1 For 3 will only consider the letters "smi" when comparing against the string "smith".
Attribute Display
Attributes can be configured to appear as columns in the Matchgrid Index by enabling Display Field in Matchgrid Index.
If at Attribute is switched from Case Sensitive to Case Insensitive after the Matchgrid is built, the index for that Attribute should be reconstructed. Currently, this requires manually dropping the appropriate index using SQL, then rebuilding the Matchgrid as described below. (CO-2217)
Attribute Groups
Attribute Groups link sets of Attributes together when there are multiple components to a complex Attribute. For example, a name typically consists of a "given" and a "family" component. Furthermore, there could be an "official" or "preferred" name. By creating an Attribute Group (eg: "official"), the individual Attribute components (eg: "given" and "family") can be linked together.
The name of the Attribute Group must match the type of the complex Attribute, as conveyed over the API. For example, if the following fragment is sent as part of an API request:
"names"
:[
{
"type"
:
"official"
,
"given"
:
"Pat"
,
"family"
:
"Lee"
}
]
the Attribute Group name must be configured as "official".
COmanage Registry Attributes
When connecting to COmanage Registry as a client, the following sample attribute configurations may be useful:
Date of Birth | Email Address | Identifier | Given Name1 | Family Name1 | |
---|---|---|---|---|---|
API Name | dateOfBirth | emailAddresses:address/type3 | identifiers:identifier/type 3 | names:given | names:family |
Alphanumeric | |||||
Case Sensitive | |||||
Null Equivalents | |||||
Attribute Map | If desired | ||||
Attribute Group2 | official | official |
1Name is configured as a single attribute (per type/group) in Registry, but multiple attributes (per type/group/field) in Match.
2The Attribute Group value must match the Match Server Attribute Type configured in Registry.
3type
must match the Match Server Attribute Type configured in Registry.
Predefined Attributes
As of Match v1.1.0, a predefined set of Attributes may be instantiated via Configure > Attributes > Install Default Attributes. This set of predefined Attributes is not necessarily intended for production use, but instead to provide a starting point for Attribute configuration. This option will create an Attribute Group called "official" as well as several Attributes.
Building the Matchgrid
After the Attributes are defined (or subsequently updated), the Matchgrid must be built. This is the process where the configuration is translated to a SQL table for runtime use. If Attributes are updated, the Matchgrid will also be updated. Existing data will be preserved to the extent permitted by the new configuration.
To build a Matchgrid, go to the Matchgrid Management page (Match > Matchgrid Selection > Manage) and click Build.