Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

First, it has a locally-scoped identifier (ReferenceId) which allows its parent object to be used by reference within a given collection of data (dataset). When dealing with especially large datasets, the ability to use objects by reference results in a smaller footprint when persisting to storage or attempting transmission.

Second, it enables the association of multiple unique identifiers and their origin information (UniqueId) to an object. This results in allows for an enhanced exchange of data between different systems because each system can include its internal, unique identifier for an object without compromising any of the others.

 

Systems One historic pain point in data exchange has been that systems vary in the way they choose to construct unique identifiers. It is for this reason, that the UniqueId class uses a combination of string (Id) and enumeration (CompoundIdentifierTypeEnum) to fully describe the unique identifier. This allows us to support a broad variety of identification methods. For example, Company A might use integers as their unique (only inside their system) identifier but that is fundamentally incompatible with Company B which uses UUIDs (globally unique). 

Almost as important is the need to capture the originating source, or issuing authority of the identifier. Again, a combination of string (Source) and enumeration (IdSourceTypeEnum) are used to fully describe the identifier's source. 

...

The Presentations property is a collection of Presentation objects. One of the challenges in collecting quality data is being able to make sure that it is entered properly.The Presentation object contains a "friendly" name description, regular expressions that define how the value is supposed to look when entered or displayed, and a list of GeoPoliticalContext objects that describe "where" this presentation is used. A regular expression is a sequence of one or more characters, alone or in groups, that can be used to describe an expected pattern. It is used to test a given string to see if it follows the pattern

The EnumItems property is a collection of ContextItemEnumItem objects. This is how we encode the enumerated values for a ContextItemDefinition of ValueType "Enum". The ContextItemEnumItem contains some of the same properties that ContextItemDefinition does. Instead of having a Code property, it has a Value. This Value is expected to be unique within the domain of the ContextItemDefinition it is attached to. When creating a ContextItem using an "Enum" type ContextItemDefinition, the ContextItem Value property corresponds to the Value property of the selected ContextItemEnumItem.

...