ADAPT - Compound Identifier Discussion

CompoundIdentifier is a class that enables associating one or more unique identifiers (plus information regarding the creator of the identifiers) to the various objects in the application data model. Compound identifiers will be used by every class that needs to "stand alone" and be referenced by other objects.

CompoundIdentifier

AttributeTypeMultiplicityDescription
ReferenceIdInteger1

A unique (integer, locally-scoped) ID for a particular instance of an object.

UniqueIdsUniqueId0..n

Can be created in a distributed fashion (i.e., without a centralized naming authority, as long as 
there is reasonable certainty of its uniqueness. Note that a given object can be associated with multiple unique IDs.

Example (represented as XML) of something that has two unique identifiers for it, each produced by a different source.

<CompoundIdentifier ReferenceID = "1">

<UniqueId Id = "bcb9cef2-3055-4512-b45b-04f2362f462a" CIType = "UUID" Source = "1234567890123" SourceType = "GLN">

<UniqueId Id= "a388f51b-554f-4b2e-8015-5008f0bb047e" CIType = "UUID" Source = "11122233334445" SourceType = "GLN">
</CompoundIdentifier>

UniqueId

AttributeTypeMultiplicityDescription
IdString1Can be created in a distributed fashion (i.e., without a centralized naming authority, as long as 
there is reasonable certainty of its uniqueness.
CITypeCompoundIdentifierType1

An enumeration. Its possible values are:

  • UUID
  • GLN
  • URI
  • String
  • Long
IdTypeIdTypeEnum1
SourceString0..1Source may be a URI or GLN; in principle, this should be a unique string off of some controlled vocabulary. This can be a GLN or a URI.
SourceTypeIdSourceTypeEnum0..1
  • GLN
  • URI

Required if Source is Present.


Example (represented as XML)

<UniqueId Id = "bcb9cef2-3055-4512-b45b-04f2362f462a" CIType = "UUID" Source = "1234567890123" SourceType = "GLN">

IDTypeEnum

Enumeration LiteralDescription
UUID
String
LongInt
URI

IdSourceTypeEnum

Enumeration LiteralDescription
GLN
URI