Metadata Update

From IHE Wiki
Revision as of 12:39, 2 February 2010 by BillM (talk | contribs)
Jump to navigation Jump to search

This page contains background information on the Metadata Update profile.

OASIS ebXML Registry 3.0 support for Metadata Versioning

This work is enabled by new metadata management features introduced into version 3.0 of the ebXML Registry standard (ebRIM and ebRS). The key new concept is the ability to maintain multiple copies or versions of a metadata object, such as an ExtrinsicObject, which represents in metadata a single real document in a repository. In terminology of the standard, all objects stored in the registry are called Registry Objects. A new concept is the Registry Object Instance, a specific version of a Registry Object. Collectively, all the versions of a Registry Object are called a Logical Registry Object.

All Registry Objects are identifiable by their id attribute. All objects in the registry must have a unique value for their id attribute. This sense of identity is maintained when metadata versioning is introduced. To allow a collection of registry objects to be grouped together and be identified as versions of the same object, two new attributes are introduced: the Logical ID and the VersionInfo element. While all objects must have unique value for their id attribute to maintain their identity, all objects that are versions of the same logical object have the same logical id or lid attribute.

The simplest form of an ExtrinsicObject, as specified in ebRIM 2.1, looks like:

<ExtrinsicObject id=”urn:uuid:123...”>     
</ExtrinsicObject>

containing only an id attribute giving it its identity. Note that we use a shortened format for UUIDs to improve readability. In ebRIM 3.0 this same object could be coded as:

<ExtrinsicObject id=”urn:uuid:123...” lid=”urn:uuid:123...”>     
</ExtrinsicObject>

In this version of the standard, the registry object still maintains its identity by having a unique value for the id attribute. The presence of the lid attribute having the same value as the id attribute indicates that this is the first, the original, version of the object. Current XDS, XDS.a and XDS.b, return this format from a Stored Query since that transaction is coded in ebRIM 3.0. Future versions of an object, that is version 2..n of an object, will have new values for the id attribute but the original value for the lid attribute. The value of the lid attribute is always equal to the value of the id attribute of the first version of the registry object. To query, in SQL, for all versions of this ExtrinsicObject one would use an SQL clause of

	lid='urn:uuid:123...'

and each ExtrinsicObject returned would have the same value for the lid attribute but a different value for its id attribute.