Ringholm-Logo Ringholm
 Whitepaper
Ringholm page header

Overview of OIDs used in European HL7 artefacts

Copyright Ringholm bv © 2003, 2009. All Rights Reserved.
See http://www.ringholm.com/docs/00900_en.htm for the latest version of this document.
Authors: Rene Spronk, Senior Consultant, Ringholm bv
Document status: Final, version 2.3, (2008-12-23)  
Please send questions and comments to Rene.Spronk@Ringholm.com.


HL7 European OID Reference Page

1. Introduction

HL7 Version 3 artefacts use OIDs (unique Object IDentifiers, an ISO standard) to identify coding schemes and identifier namespaces. OIDs can be allocated by any organisation using a unique OID root. A single message can use OIDs from various sources and a single scheme can be identified by more than one OID (e.g. by an OID from more than one organisation). Once issued an OID is never withdrawn and always identifies the same scheme or object.

2. OID Basics

OIDs (Object IDentifier) are an ISO mechanism used to uniquely identify objects. For the formal definition of OIDs, see RFC 3001 - A URN Namespace of Object Identifiers, or Wikipedia.

Example OID tree
Figure 1. Example OID tree

The basic principles of OIDs are best explained with the aid of an example.

  • OIDs are based on a tree structure. The OID of the "Dr.Smith" object is 1.16.321.123456.876.3.1.373, which is constructed by concatening all nodes in the tree until one arrives at "Dr.Smith". Nodes have to be numeric, may be equal to 0, but may not have "0" prefixes (i.e. 007 as a node label isn't allowed, 7 is a valid node label).
  • The allocation of new OIDs (by adding branches or leaf-nodes to the OID tree) can be done by any organization that owns an "OID root", i.e. the right the allocate OIDs below its own node. The "You" organization has the OID root 1.16.321.123456.876 and manages all OIDs below that node.
  • An organization that doesn't have its own OID root can request another organization to assign an OID root to it. In the above example the "SomeOtherOrg" organization has been assigned the OID root 1.16.321.123456.876.1.1100. The SomeOtherOrganization is now able to allocate OIDs within its own OID tree as it sees fit.
  • Whenever an OID is allocated, it should be uniquely associated with one object. An OID shall never be reassigned to a different object. Once issued an OID is never withdrawn and always identifies the same scheme or object.
A single object can be identified by more than one OID (e.g. by an OID from more than one organisation). The "Dr.Smith" object probably has multiple OIDs assigned to it. This raises a couple of questions:
  • How do I find out if an object already has an OID assigned to it?
    Two recommendations: (1) use OID Registries (see the next chapter) to search for OIDs for objects that need to be identified across organizations. In the example above, the "You" organization has allocated 1.16.321.123456.876.2.1 to identify the "LOINC vocabulary" (as an object). The LOINC vocabulary is widely used, and probably already has an OID assigned to it by some other organization. (2) Use a search engine and search for "LOINC OID"; this tends to yield good results given that the the "OID" acronym is almost exclusively used for object identifiers. LOINC has an OID allocated to it by HL7: 2.16.840.1.113883.6.1
  • If someone sends me an OID, how do I know what it identifies?
    First of all, this is only relevant when the object is a "namespace", e.g. an identification of a vocabulary table (e.g. SNOMED, LOINC or ICD-10) or an identification scheme (e.g. NHS Number, BSN or Sozialversicherungsnummer). Most objects identifiers are just that: identifiers, i.e. meaningless identifiers. Two recommendations if one wants to get hold of the description of an OID: (1) use OID Registries (see the next chapter) to search for the description of OIDs.(2) Use a search engine and search for the OID, e.g. "2.16.840.1.113883.6.1".
  • If an object has multiple OIDs allocated to it, which one do I use?
    All OIDs are equally valid. Most HL7 implementation guides (e.g. created by a HL7 affiliate) identify the OIDs one should use in a particular context. If the OID hasn't been specified by the implementation guide, the OID for the concept should be taken from the affiliate OID registry, or the international HL7 OID registry (in that order of preference).
An OID has an internal structure (a concatenation of nodes). The OID should not be parsed (broken into parts) by a receiving software application.
  • The OID should be processed as an identifier-string and compared to the list of known identifier-strings to see if there is a match. In terms of processing 1.2.16.578.9 should be processed in the same way as the string G8H43J8K88G5 or the string {GHH77-FF88GG-HH66GG-99}. The tree stucture used by OIDs shall only be used by those that assign and OID to ensure that one and the same OID is never assigned to a different object.

3. OID Registries

OID Registries contain OIDs and descriptions of the object identified by those OIDs. An OID Registry may be limited to OIDs allocated by one single organization, to ensure that it never reassigns a previously allocated OID to a different object. The OID registry may also have a larger scope and accept registrations of OIDs allocated by third party organizations.

Registration of an OID is not a precondition for the allocation or use of OIDs. Registration is recommended if an OID will be used outside of the confines of one's own organization.

Registration of an OID does not imply any statement of quality about the object (e.g. vocabulary, identification scheme) registered. The OID merely identifies the object. Inclusion of an OID (for a vocabulary) in a registry does not imply a right to access the associated coding scheme data which in many case is associated with copyright restrictions.

Advertisement for Firely training.

Global OID Registries

Large parts of the global OID tree can be browsed online at the OID Info website. This is the largest OID registry in existence. The HL7 organization (which has the OID root 2.16.840.1.113883) maintains an OID registry for HL7-allocated OIDs as well as OIDs relevant for use in HL7v3 artefacts. See the HL7 OID Registry page in the Members Only section of the HL7 website.

The remainder of this section documents the OID registration procedures of various European countries.

CH - Switzerland

The HL7 Switzerland affiliate organization (which has OID root 1.2.756.5.30 as well as 2.16.840.1.113883.2.5) allocates OIDs to its member organizations upon request. The OID registry can be found at Swiss OID register.

DE - Germany

The HL7 Germany affiliate organization (which has OID root 2.16.840.1.113883.2.6) has allocated OIDs to objects and member organizations in the past, but has stopped doing so. All OIDs (formally speaking: eine Registrierungskennzahl von Informationsobjekten nach DIN 66334) for use in healthcare IT in Germany are allocated by DIMDI organization (the Deutsches Institut für Medizinische Dokumentation und Information within the 1.2.276.0.76 OID root. OIDs can be requested (for free) via DIMDI.

The OID registry can be found at DIMDI OID Verzeichnis.

ES - Spain

The HL7 Spain affiliate (which has OID 2.16.840.1.113883.2.19) has allocated OIDs to national coding systems and identification mechanisms. They have also developed an implementation guide for the use, and assignment, of OIDs in HL7 version 3 and CDA.

The OID registry can be found on the HL7 Spain website.

FI - Finland

The HL7 Finland affiliate organization (which has OID root 1.2.246.777) allocates OIDs to its member organizations upon request. There is no known country-specific OID registry.

FR - France

The HL7 France affiliate organization (which has OID root 2.16.840.1.113883.2.8) allocates OIDs to its member organizations upon request. There is no known country-specific OID registry.

IT - Italy

The HL7 Italy affiliate organization (which has OID root 2.16.840.1.113883.2.9) allocates OIDs to its member organizations upon request. There is no known country-specific OID registry.

NL - Netherlands

The HL7 Netherlands affiliate organization (which has OID root 2.16.840.1.113883.2.4) allocates OIDs to its member organizations upon request. All OID requests (for registration with HL7 Netherlands or HL7 International) should use the OID request form as found on the HL7 Netherlands website.

OIDs registered by the Dutch standards organisation NEN (1.2.528.1 and 2.16.528.1 OID trees) have been included in the HL7 Netherlands OIDs registry - where relevant to healthcare.

UK - United Kingdom

The HL7 UK affiliate organization (which has OID root 2.16.840.1.113883.2.1) allocates OIDs to its member organizations upon request. OIDs can be found in the HL7 UK OIDs registry.


About Ringholm bv

Ringholm bv is a group of European experts in the field of messaging standards and systems integration in healthcare IT. We provide the industry's most advanced training courses and consulting on healthcare information exchange standards.