Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

20150427: R. Andres Ferreyra (Unlicensed) comment for PAIL's benefit: Adopting this scheme in the Inbound / Offsite schemas would lead to a very compact representation. The caveat is that we always need to make sure to include Setup records (at least the CompoundIdentifiers) along with the data, in order to provide global context to the locally-scoped data IDs. This is NOT going to happen in the short term for irrigation as-applied data, but the scheme is promising for Inbound/Offsite.

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.

Another note: If we are exporting to a format / destination that can only accept 1 ID, we will use the UniqueID that has IsFirstSource set to True.

If none of the objects in the list has a FirstSource = True, then it is left to the plug-in to decide which one it wants.

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" IsFirstSource = "TRUE">

<UniqueId Id= "a388f51b-554f-4b2e-8015-5008f0bb047e" CIType = "UUID" Source = "11122233334445" SourceType = "GLN" IsFirstSource = "FALSE">
</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
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.

IsFirstSourceBoolean1

Denotes whether this is the first source of the ID (e.g., this object began in the domain of a machine made by manufacturer X. The UniqueID object corresponding to the ID provided initially by that manufacturer would have this field set to true.

Business rule: "There can be only one." i.e., only one UniqueID under a Compound Identifier can have this field set to True.

 

Example (represented as XML)

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

 

  • No labels