Concept Domain Revision
A concept domain represents an abstract conceptual space that can be associated with RIM-derived coded attributes. A concept domain can be represented by one or more value sets, where each associated value set applies in a given context. Further, sub-sets of concept domains may, themselves, be represented as concept domains in a parent-child semantic hierarchy. The set of operations that can be made on concept domains includes: create, define (or redefine), rename, move (in the hierarchy) and delete, as indicated below:
Creating Concept Domains
The vast majority of the concept domains will be created during the RIM modeling process. The following operation can be used in cases where the domain doesn’t already exist in the RIM model.
The creation of a new domain needs to be voted upon, therefore createVocabularyDomain has an optional ballotStatus element. The description is technically optional, but is virtually required by HL7's style and balloting guides. It provides a description of the concept domain. createVocabularyDomain has the following attributes:
|vocabularyDomain||The name of the new concept domain to be created|
|restrictsDomain||The name of the parent concept domain (optional).|
The example above creates two concept domains – OrderableBeers and OrderableAles. OrderableAles is defined as a proper subset (restriction or constraint) on OrderableBeers.
Define or Redefine Concept Domain
A new or revised definition can be assigned to a concept domain with the defineVocabularyDomain element.
As with all updates, defineVocabularyDomain can have its own ballotStatus if needed to reflect special cases. It has a newDescription element that contains the revised description or can be empty if the description is to be completely removed. defineVocabularyDomain has a single attribute:
|vocabularyDomain||The name of the concept domain to be (re)defined.|
Rename Concept Domain
A new name can be assigned to a concept domain with the renameVocabularyDomain element.
As with all updates, renameVocabularyDomain can have its own ballotStatus if needed to reflect special cases. renameVocaabularyDomain has two attributes:
|vocabularyDomain||The current name of the concept domain to be (re)defined.|
|newDomainName||The new name of the concept domain.|
Move Concept Domain
A concept domain can be moved within the domain hierarchy – made a child of another domain, made a child of a different domain than previously, or removed from under its parent -- using the moveVocabularyDomain element.
As with all updates, moveVocabularyDomain can have its own ballotStatus if needed to reflect special cases. moveVocaabularyDomain has three attributes:
|vocabularyDomain||The name of the concept domain being moved.|
|fromDomain||The current direct parent of the concept domain, if any. This attribute should be omitted if the concept domain doesn’t currently occur under any other node.|
|toDomain||The new parent of the concept domain. If omitted, the concept domain no longer has a parent in the domain hierarchy.|
Delete Concept Domain
A concept domain can be deleted from the set of HL7 domains using the moveVocabularyDomain element.
As with all updates, moveVocabularyDomain can have its own ballotStatus if needed to reflect special cases. moveVocaabularyDomain has one attributes:
|vocabularyDomain||The name of the concept domain to be deleted.|