Siebel Financial Services Connector for ACORD P&C and Surety Guide > Data Types > ACORD XML Data Types >

Identifiers


This specification provides three different types of identifiers:

  • Assigned Identifiers
  • Transient Unique Identifiers
  • Universally Unique Identifiers

Assigned Identifiers

An assigned identifier is created by an organization, carrier, agent, state, or other body. These include policy numbers, social security numbers, passport IDs, driver's license numbers, and so on.

Object identifiers in the specification are of the data type "Assigned Identifier". This is a Character data type with a maximum length of 36.

Transient Unique Identifiers

An ACORD document provides a unique identifier with the XML stream that is used for referencing information within the document. This is a transient identifier, as listed in Table 32, that is only used to link information within a document stream. As the word transient implies, the identifiers are not meant for use once the message has been processed by the receiving system.

Transient identifiers in the specification are of the data type "Identifier." This is Character data that matches the XML rules for ID attribute data type values.

Table 32. Transient Identifier
Tag
Type
Usage
Description

@id

Identifier

Optional

A document unique identifier used when an object (element) needs to be referenced elsewhere in the document.

An ID should only be present on an element when it is being referenced within the stream.

Transient identifiers are not used on framework tags. These identifiers are used on all elements and aggregates below the business message level except:

  • <ActionCd>
  • <PreviousValue>
  • <ChangeDesc>
  • <RqUID>
  • <SystemID>

The transient identifier is optional, except when used with the following tags, when it is required:

  • <SPFieldEditDefinition>
  • <SPRelationalEditDefinition>

Universally Unique Identifier (UUID)

UUID elements are Narrow Character with a maximum length of 36. Applications can often obtain conforming UUIDs by calls to the operating system or the run-time environment.

A UUID is an identifier that is unique across both space and time, with respect to the space of all UUIDs. To be precise, the UUID consists of a finite bit space. Thus, the time value used for constructing a UUID is limited and will roll over in the future (approximately at A.D. 3400, based on the specified algorithm). A UUID may be used for multiple purposes, from tagging objects with an extremely short lifetime to reliably identifying very persistent objects across a network. The following information on UUID is based on Internet-Draft <leach-uuids-uuids-01.txt>:

The generation of UUIDs does not require that a registration authority be contacted for each identifier. Instead, it requires a unique value over space for each UUID generator. This spatially unique value is specified as an IEEE 802 address, which is usually already available to network-connected systems. This 48-bit address may be assigned based on an address block obtained through the IEEE registration authority. This section of the UUID specification assumes the availability of an IEEE 802 address to a system desiring to generate a UUID, but if one is not available,

section 4 specifies a way to generate a probabilistically unique one that cannot conflict with any properly assigned IEEE 802 address.3.1 Format. In its most general form, all that may be said of the UUID format is that a UUID is 16 octets, and that some bits of octet 8 of the UUID called the variant field (specified in the next section) determine finer structure.

For use in human-readable text, a UUID string representation is specified as a sequence of fields, some of which are separated by single dashes. Each field is treated as an integer and has its value printed as a zero-filled hexadecimal digit string with the most significant digit first. The hexadecimal values a to f inclusive are output as lowercase characters, and are not case sensitive on input. The sequence is the same as the UUID constructed type. The formal definition of the UUID string representation is provided by the following extended BNF:

Element
Value

UUID

<time_low> "-" <time_mid> "-" <time_high_and_version> "-" <clock_seq_and_reserved> <clock_seq_low> "-" <node>

time_low

4*<hexOctet>

time_mid

2*<hexOctet>

time_high_and_version

2*<hexOctet>

clock_seq_and_reserved

<hexOctet>

clock_seq_low

<hexOctet>

node

6*<hexOctet

hexOctet

<hexDigit> <hexDigit>

hexDigit

zero | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"| "a" | "b" | "c" | "d" | "e" | "f" | "A" | "B" | "C" | "D" | "E" | "F"

The following is an example of the string representation of a UUID:

f81d4fae-7dec-11d0-a765-00a0c91e6bf6

Siebel Financial Services Connector for ACORD P&C and Surety Guide