Skip Headers
Oracle® Healthcare Master Person Index Configuration Reference
Release 1.1

Part Number E18592-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
View PDF

3 Master Person Index Field Notations

This chapter introduces you to Oracle Healthcare Master Person Index field notations and provides examples of each type of notation.

This chapter includes the following section:

Learning About Master Person Index Field Notations

The configuration files use specific notations to define a specific field or a group of fields in an enterprise or system object. There are three different types of notations used by Oracle Healthcare Master Person Index.

The following sections describe each type of notation used:

ePath Notation

In update.xml, an element path, called an ePath, is used to specify the location of a field or list of fields. ePaths are also used in the StandardizationConfig element of mefa.xml. An ePath is a sequence of nested nodes in an enterprise record where the most nested element is a data field or a list of data fields. ePaths allow you to retrieve and transform values that are located in the object tree.

ePath strings can be of four basic types:

  • ObjectField - A field defined in the master person index object structure.

  • ObjectNode - A parent or child object defined in the master person index object structure.

  • ObjectField List - A list of references to certain ObjectFields in the master person index object structure.

  • ObjectNode List - A list of references to certain ObjectNodes in the master person index object structure.

A context node is specified when evaluating each ePath expression. The context is considered as the root node of the structure for evaluation.

These topics describe and illustrate how to form ePath strings:

ePath Syntax

The syntax of an ePath consists of three components: nodes, qualifiers, and fields, as shown below.

node{.node{"["qualifier']'}+}+.field
  • Node - Specifies the node type and optionally includes qualifiers to restrict the number of nodes. A node without any qualifier defaults to only the first node of the specified type. Use “node.*” to address a node rather than a field.

  • Qualifier - Restricts the number of nodes addressed at each level. The following qualifiers are allowed:

    • * (asterisk) - Denotes all nodes of the specified type.

    • int - Accesses the node by index.

    • @keystring= valuestring - Accesses the node using a key-value pair. Only one instance of the node is addressed using keys. If a composite key is defined, then multiple key-value pairs can be separated by a comma in the ePath (for example, [@key1=value1,@key2=value2]). The following ePath uses the keystring qualifier and returns the alias where the unique key field type is “Main”. It returns only one alias in a given record.

      Person.Alias[@type=Main]

    • filter=value - Considers only nodes whose field matches the specified value. A subset of nodes is addressed using filters. Multiple filter-value pairs can be separated by a comma (for example, [filter1=value1, filter2=value2]). The following ePath uses the filter qualifier and returns all aliases where the last name is “Jones”.

      Person.Alias[lastname=Jones]

  • Field - Designates the field to return and is in the form of a string.

ePath Notation Example

The following sample illustrates an object structure containing a system object from Site A with a local ID of 111. The object contains a first name, last name, and three addresses. Following the sample, there are several ePath examples that refer to various elements of this object structure along with a description of the data in the sample object structure referred by each ePath.

Enterprise
   SystemObject - A 111
      Person
         FirstName
         LastName
         -Address
            AddressType = Home
            Street = 800 Royal Oaks Dr.
            City = Monrovia
            State = CA
            PostalCode = 91016
         -Address
            AddressType = Office
            Street = 181 2nd Ave..
            City = Monrovia
            State = CA
            PostalCode = 91016
         -Address
            AddressType = Billing
            Street = 100 Grand Avenue
            City = El Segundo
            State = CA
            PostalCode = 90245
  • Person.Address.City - Equivalent to Person.Address[0].City.

  • Person.FirstName - Uses Person as the context, and is equivalent to Enterprise.SystemObject[@SystemCode=A, @Lid= 111].Person.FirstName with Enterprise as the context.

  • Person.Address[@AddressType=Home].City - Returns a single ObjectField reference to “Monrovia” (the City field of the home address).

  • Person.Address[City=Monrovia,State=CA].Street - Returns a list of ObjectField references: “800 Royal Oaks Dr.”, “181 2nd Ave.” (the street fields for both addresses where the city is Monrovia and the state is CA). Note that a reference to the Billing address is not returned.

  • Person.Address[*].Street - Returns a list of ObjectField references: “800 Royal Oaks Dr.”, “181 2nd Ave.”, “100 Grand Avenue”. Note that all references to Street are returned.

  • Person.Address[2].* - Addresses the second address object as an ObjectNode instead of an ObjectField.

Qualified Field Name Notation

In query.xml and the MatchingConfig element of mefa.xml use qualified field names to specify the location of a field. This method defines a specific field and is not used to define a list of fields. A qualified field name is a sequence of nested nodes in an enterprise record where the most nested element is a data field.

There are two types of qualified field names.

  • Fully qualified field names - Allow you to define fields within the context of the enterprise object; that is, the field name uses Enterprise as the root. These are used in the MatchingConfig element of mefa.xml and to specify the fields in a query block in query.xml.

  • Qualified field names - Allow you to define fields within the context of the parent object; that is, the field name uses the name of the parent object as the root. These are used in query.xml to specify the source fields for the blocking query criteria.

The following topics describe and illustrate how to form qualified field name strings.

Qualified Field Name Syntax

The syntax of a fully qualified field name is:

Enterprise.SystemSBR.parent_object.child_object.field_name

where parent_object refers to the name of the parent object in the index, child_object refers to the name of the child object that contains the field, and field_name is the full name of the field. If the parent object contains the field being defined, the child object is not required in the path.

The syntax of a qualified field name is:

parent_object.child_object.field_name

Qualified Field Name Example

The following sample illustrates an object structure that could be defined in object.xml. The object contains a Person parent object, and Address and Phone child objects.

Person
   FirstName
   LastName
   DateOfBirth
   Gender
   -Address
      AddressType
      StreetAddress
      Street
      City
      State
      PostalCode
   -Phone
      PhoneType
      PhoneNumber

The following fully qualified field names are valid for the sample structure above.

  • Enterprise.SystemSBR.Person.FirstName

  • Enterprise.SystemSBR.Person.Address.StreetAddress

  • Enterprise SystemSBR.Person.Phone.PhoneNumber

The qualified field names that correspond with the fully qualified names listed above are:

  • Person.FirstName

  • Person.Address.StreetAddress

  • Person.Phone.PhoneNumber

Simple Field Name Notation

In midm.xml, simple field names are used to specify the location of a field that appears on the MIDM. These are used in the GUI configuration section of the file. Simple field names define a specific field and are not used to define a list of fields. They include only the field name and the name of the object that contains the field. Simple field names allow you to define fields within the context of an object.

The following topics describe and illustrate how to form simple field notations:

Simple Field Notation Syntax

The syntax of a simple field name is:

object.field_name

where object refers to the name of the object that contains the field being defined and field_name is the full name of the field.

Simple Field Notation Example

The following sample illustrates an object structure that could be defined in object.xml. The object contains a Person parent object, and Address and Phone child objects.

Person
   FirstName
   LastName
   DateOfBirth
   Gender
   -Address
      AddressType
      StreetAddress
      Street
      City
      State
      PostalCode
   -Phone
      PhoneType
      PhoneNumber

The following simple field names are valid for the sample structure above.

  • Person.FirstName

  • Address.StreetAddress

  • Phone.PhoneNumber