This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Difference between revisions of "Concept Domain Naming Conventions"

From HL7Wiki
Jump to navigation Jump to search
Line 3: Line 3:
 
== Naming Conventions ==
 
== Naming Conventions ==
  
When naming Concept Domains, the following naming conventions will be applied:
+
''Root'' concept domains are assigned to a specific RIM class attribute or HL7 Abstract Datatype property.  The naming standard for all ''Root'' concept domains is as follows:
 +
 +
* ['''RIM Class Name'''] + ['''attribute name'''] or
  
* Concept Domain names shall begin with the applicable parent '''class name''' as appropriate.
+
* ['''Abstract Datatype Name'''] + ['''property name''']
  
* Concept Domains shall end with '''Type'''
+
For all concept domains that specialize a root concept domain, they're names shall begin with a print name qualifier followed by the root concept domain name.
  
  
 +
=== Example - RIM Class ===
  
=== Act Examples ===
+
Where ['''RIM Class Name'''] = ''Act'' and ['''attribute name'''] = ''Mood'', the concept domain is ''ActMood''
  
Where ''PrintName'' is the name of the domain being considered for addition, the following examples attempt to illustrate the application of the naming conventions.
 
  
==== ActReason ====
+
==== Example - Domains That Specialize a Root Concept Domain ====
  
ActReason -> '''Act'''''PrintName''''''ReasonType'''
+
Where the ['''concept domain'''] is ''ActMood'', and the specialized print name qualifier is ''Proposal'' the specialized concept domain is ''ProposalActMood''
  
==== ActConsentType ====
 
 
ActConsentType -> '''Act'''''PrintName'''''ConsentType'''
 
 
==== ObservationType Subdomain ====
 
 
ObservationType -> '''Act'''''PrintName'''''ObservationType'''
 
 
 
=== Role and Entity Examples===
 
 
For the RoleCode and EntityClass concept domains, the concatenation of the '''Class''' and '''Type''' strings will be added as a suffix to the ''PrintName''.
 
 
==== RoleCode ====
 
 
RoleCode -> '''PrintName''''''RoleType'''
 
 
SpecializedRoleType -> ''PrintName'''''SpecializedRoleType'''
 
 
==== EntityCode ====
 
 
EntityCode -> '''PrintName''''''EntityType'''
 
 
SpecializedEntityType -> ''PrintName'''''SpecializedEntityType'''
 
  
 
== Backwards Compatibility ==  
 
== Backwards Compatibility ==  
  
There will be no effort to modify existing concept domains to adhere to the naming conventions specified here.  Any modification of an existing domain name will necessitate an update to all models making use of that domain.  For the time being, this effort is considered unreasonable and focus will be directed at ensuring new domains are named in accordance with the recommended naming conventions.
+
At this time there will be no effort to modify existing concept domains to adhere to the naming conventions specified here.  While changing the name of a domain is easy, any modification of an existing domain name will necessitate an update to all models making use of that domain.  For the time being, this effort is considered unreasonable and focus will be directed at ensuring new domains are named in accordance with the recommended naming conventions.

Revision as of 19:15, 9 June 2009

Overview

Naming Conventions

Root concept domains are assigned to a specific RIM class attribute or HL7 Abstract Datatype property. The naming standard for all Root concept domains is as follows:

  • [RIM Class Name] + [attribute name] or
  • [Abstract Datatype Name] + [property name]

For all concept domains that specialize a root concept domain, they're names shall begin with a print name qualifier followed by the root concept domain name.


Example - RIM Class

Where [RIM Class Name] = Act and [attribute name] = Mood, the concept domain is ActMood


Example - Domains That Specialize a Root Concept Domain

Where the [concept domain] is ActMood, and the specialized print name qualifier is Proposal the specialized concept domain is ProposalActMood


Backwards Compatibility

At this time there will be no effort to modify existing concept domains to adhere to the naming conventions specified here. While changing the name of a domain is easy, any modification of an existing domain name will necessitate an update to all models making use of that domain. For the time being, this effort is considered unreasonable and focus will be directed at ensuring new domains are named in accordance with the recommended naming conventions.