This wiki has undergone a migration to Confluence found Here

Use of UUIDs in II.extension

From HL7Wiki
Revision as of 20:49, 30 June 2006 by GrahameGrieve (talk | contribs)
Jump to navigation Jump to search

There are two views about whether it is appropriate to send a UUID (GUID) in the II.extension property:

1. It's perfectly ok. The II.root represents the assigning authority which provides semantic context for the UUID issued.

2. It's not terribly appropriate and meaningless. The II.root is not intended to convey semantics, merely ensure uniqueness. UUIDs are already globally unique, so having a separate root is just extra overhead. All semantics are conveyed by other RIM attributes (e.g. Role.classCode, Role.code, Role.scoper, Act.classCode, Act.code, Act.moodCode

So: which is it?

Most implementations use root to identify the ID-scheme, and extension as an ID that exists within (i.e. has been created according to) that ID-scheme. The ID Scheme uses/produces values for the extension attribute, the structure and layout are determined by the ID scheme. If it so happens that in itself it is a UUID then this doesn't change the generic mechanism. The identification of the ID scheme is NOT carried elsewhere in the RIM. A Role.scoper merely uses a particular identification, whetever that ID scheme may be. Rene spronk 03:14, 2 Jun 2006 (CDT)
Root provides uniqueness. If the scheme in use assigns UUID's then you can choose to assign it an OID or something, and put the UUID in extension. This would be technically valid but is fairly pointless, since the point of root + extension is to be unique. Since extension is optional, implementations shouldn't be constructed to expect an extension. We have agreed repeatedly that trying to interpret root to provide semantic context is bad practice, you should find the semantic context elsewhere. However since the semantic context always boils down to identifying a constant string of characters in an II, implementors will always be tempted to pick semantic context from II.root rather and a whole II or a code in some related class. But HL7 must always advise against this use. So the answer is that it's not appropriate. Grahame Grieve 1 Jul 2006


MnM Conference call 20060630

  • This is really a question of whether II.root is to be used for semantics. If that question is answered, the answers to the above fall out
  • Additional discussion required on wiki related to this issue

This page documents an open MnM Hot Topic, i.e. a methodology issue requiring a resolution from Modeling and Methodology.