ISO13582-part2: Unterschied zwischen den Versionen

Aus Hl7wiki
Wechseln zu: Navigation, Suche
(category)
 
(36 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=List of Codes and Enumerations=
+
=Information model=
  
==CountryCodes==
+
In order to exchange OID and their metadata between different registries and applications the following additional data items beyond the OID itself need to be taken under consideration (see also
 +
<ref>[http://www.itu.int/rec/T-REC-X.680/en Recommendation ITU-T X.680 (2008) | ISO/IEC 8824-1: 2008, Information Technology – Abstract Syntax Notation One (ASN.1), Specification of Basic Notation, 1997]</ref>
 +
<ref>[http://www.itu.int/rec/T-REC-X.667/en Recommendation ITU-T X.667 | ISO/IEC 9834-8: Information technology – Open Systems Interconnection – Procedures for the operation of OSI Registration Authorities: Generation and registration of Universally Unique Identifiers (UUIDs) and their use as ASN.1 object identifier components]</ref>):
 +
* descriptions
 +
* status information
 +
* categorization
 +
* time information
 +
* comments
 +
* versions
 +
* links
 +
* relationships to other OIDs and external sources
 +
* registering and responsible organizations
 +
* associated persons.
  
ISO 3166-1 alpha two letter country codes are used<ref>[http://www.iso.org/iso/english_country_names_and_code_elements ISO 3166-1-alpha-2 country codes]</ref><ref>ISO 3166 - Codes for the representation of names of countries - The International Organization for Standardization, 3rd edition.</ref>. This list states the country names as given in ISO 3166-1 and the corresponding ISO 3166-1-alpha-2 code elements.
+
An information model with all classes, attributes and their properties aiming on a common understanding of the requirements of an OID registry has been created (Figure 1).
  
==LanguageCodes==
+
[[Datei:Oidmodel.jpg|700px|OID Registry Model (Draft)]]
  
Reflects the Human Language. Language is specified conformant to RFC 3066 (Tags for the Identification of Languages). The format is
+
==XML exchange format==
ss[-CC]
+
Data exchange can be facilitated by a standardized representation of the complete set of information as an XML structure together with the associated checks of underlying constraints and business rules. This XML structure for importing and exporting OID amongst different registries and other healthcare applications is aiming on the availability of reliable information about OIDs.
where '''ss''' is the language code drawn from ISO-639-1<ref>[http://www.loc.gov/standards/iso639-2/php/English_list.php ISO 639-2 Codes for the Representation of Names of Languages]</ref>, and '''CC''' is the country code, conformant to ISO-3166 alpha-2.
 
  
Example:
+
The following sections summarise and explain classes and their attributes.
<syntaxhighlight lang="text">
+
 
en-US
+
==Registry==
</syntaxhighlight>
+
This is the basic information about the OID-Registry hosting the OIDs.
 +
 
 +
[[Datei:Oid-registry.jpg | 300px]]
  
==OIDcategory==
+
===Attributes===
This enumeration reflects the category of the OID (node, leaf) and possible sub categories.
 
  
 
{|class="hl7table"
 
{|class="hl7table"
! Level !! Code !! Description
+
! Attribute !! Description !! DT !! Card !! Conf || Length
|-
 
| 0 || N || node
 
 
|-
 
|-
| 1 || NRA || registration authority (RA)
+
| validTime || validity time interval || IVL_TS || 1..* || mandatory || -
 
|-
 
|-
| 1 || NMN || structure for the management of OIDs (it is not good practice but we know that some of these nodes in some registries also identify objects, which should not be)
+
| scopedOIDs || List of scoped root OIDs || ST.OID || 0..* || optional || 64
 
|-
 
|-
| 0 || L || leaf
+
| name || Official name of the OID registry || ST || 1..1 || mandatory || 64
 
|-
 
|-
| 1 || LIO || an instance of an object
+
| description || Description of the OID registry, possible in multiple languages || ED || 0..* || optional || -
 
|-
 
|-
| 1 || LNS || a namespace identifier
 
 
|}
 
|}
  
==OIDstatusCodes==
+
====validTime====
This code reflects the status of the OID. Valid values are:
+
 
 +
This is the validity time interval, i.e. the begin (and end) time when this registry is/was responsible for registering OIDs. This can be a list of intervals.
 +
{{ConstraintBox|rg-vt:
 +
A ''validTime'' element shall be present and of datatype IVL_TS with at least the low child element populated.
 +
}}
 +
 
 +
====scopedOIDs====
 +
 
 +
List of scoped root OIDs, i.e. the OIDs for which this OID registry is responsible for registration.
 +
{{ConstraintBox|rg-so:
 +
If the OID registry is responsible for issuing/registering a root OID, this OID should be listed in ''scopedOIDs''.
 +
}}
 +
 
 +
====name====
 +
 
 +
Official name of the OID registry
 +
 
 +
====description====
 +
 
 +
A description of the OID registry, possible in multiple languages
 +
{{ConstraintBox|rg-ds:
 +
If at least one ''description'' element is present one of the description's language code shall be English (“en”, “en-US” etc.).
 +
}}
  
 +
===Associations===
 
{|class="hl7table"
 
{|class="hl7table"
! Level !! Code !! Description
+
! Association !! Description !! Class !! Card !! Conf
 
|-
 
|-
| 0 || pending || OID assignment pending
+
| person || Contact person(s) || [[#Person|Person]] || 1..* || mandatory
 
|-
 
|-
| 0 || complete || assignment complete
+
| hostingOrganization || Hosting organization || [[#Organization|Organization]] || 1..* || mandatory
 
|-
 
|-
| 0 || retired || OID retired/withdrawn
+
| oid || List of OIDs || [[#Oid|Oid]] || 0..* || required
 
|-
 
|-
| 0 || unknown || status of the OID unknown
 
 
|}
 
|}
  
==ReferenceType==
+
===Example===
The type of reference covers the following values:
+
<syntaxhighlight lang="xml">
 +
<registry>
 +
 
 +
    <validTime>
 +
        <low value="20100501"/>
 +
    </validTime>
 +
 
 +
    <scopedOID value="1.2.3.4.5"/>
 +
 
 +
    <name value="The best OID registry ever"/>
 +
    <description language="en-US" value="This is a test OID registry, although the best"/>
 +
 
 +
    <person> ... </person>
 +
    <hostingOrganization> ... </hostingOrganization>
 +
 
 +
    <oid> ... </oid>
 +
 
 +
</registry>
 +
</syntaxhighlight>
 +
 
 +
==Oid==
 +
This class contains the registered OID and the associated meta data.
 +
 
 +
[[Datei:Oid-OID.jpg | 300px]]
 +
 
 +
===Attributes===
  
 
{|class="hl7table"
 
{|class="hl7table"
! Level !! Code !! Description
+
! Attribute !! Description !! DT !! Card !! Conf || Length
 
|-
 
|-
| 0 || RPLC || replaced by OID
+
| dotNotation || registered OID, dot notation || ST.OID || 1..1 || mandatory || 64
 
|-
 
|-
| 0 || PREF || preferred OID
+
| asn1Notation || ASN.1 notation || ST.ASN1 || 0..1 || optional || 128
 
|-
 
|-
| 0 || LINK || link access (to code and value set tables)
+
| iriNotation || IRI notation || ST.IRI || 0..1 || optional || 128
 
|-
 
|-
| 0 || IDSD || identification scheme documentation
+
| symbolicName || symbolic name || ST.SYMB || 0..1 || optional || 128
|}
 
 
 
==RoleCodes==
 
This covers the kind of role of an authority. Valid values are:
 
 
 
{|class="hl7table"
 
! Level !! Code !! Description
 
 
|-
 
|-
| 0 || PRI || primary
+
| category || OID category || CS || 1..1 || required || -
 
|-
 
|-
| 0 || SEC || secondary
+
| status || OID status || CS || 1..1 || mandatory || -
 
|-
 
|-
| 0 || OBO || on behalf of
+
| creationDate || date of creation || TS || 0..1 || optional || -
 
|-
 
|-
| 0 || CON || contact person
+
| realm || countries || CS || 0..* || optional || -
|}
 
 
 
==RoleStatus==
 
This covers the status of role:
 
 
 
{|class="hl7table"
 
! Level !! Code !! Description
 
 
|-
 
|-
| 0 || active || active
+
| description || textual description || ED || 1..* || mandatory || -
 
|-
 
|-
| 0 || terminated || terminated
 
 
|}
 
|}
  
=Data types=
+
====dotNotation====
  
ISO 21090 data types<ref>ISO/FDIS 21090:2010 Health Informatics - Harmonized data types for information
+
The OID in dot notation of SNMP or ASN.1/XER.
interchange</ref> are used for the XML representation of data. In some cases additional flavors or constraints are defined.
 
  
The following section gives examples and describes the restrictions / contraints on the generic specification.
 
 
==Address AD==
 
 
Example:
 
Example:
 
<syntaxhighlight lang="xml">
 
<syntaxhighlight lang="xml">
<addr use="HP">
+
2.16.528
<part type="STR" value="Windsteiner Weg"/>
 
<part type="BNR" value="54a"/>
 
<part type="CNT" code="DEU" codeSystem=" 1.0.3166.1.2" value="D"/>
 
<part type="ZIP" value="14165"/>
 
<part type="CTY" value="Berlin"/>
 
</addr>
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
==Coded Simple Value CS==
+
====asn1Notation====
A coded attribute with a simple value. The attribute is always bound to a specific code system mentioned in the section about [[#List of code systems and Enumerations|lists of code systems and enumerations]] .
+
 
 +
The OID in ASN.1 notation with (optional) identifiers and numbers.
  
Example:
+
Examples:
<syntaxhighlight lang="xml">
+
<syntaxhighlight lang="text">
<statusCode code="active"/>
+
{joint-iso-itu-t(2) country(16) nl(528)}
 
</syntaxhighlight>
 
</syntaxhighlight>
  
==Encapsulated Data ED==
+
<syntaxhighlight lang="text">
In this specification this is either plain text (media type "text/plain") and HTML (media type "text/html") only. A language code is required.
+
{itu-t(0) recommendation(0) a(1)}
{{ConstraintBox|ed-lc:
+
</syntaxhighlight>
An element of data type ED SHALL have a language code represented in ''language'' and a ''mediaType'' of "text/plain" or "text/html".
+
{{NoteBox|
 +
Note that the surrounding curly brackets can be omitted.
 +
}}
 +
{{NoteBox|
 +
Note that this information is not necessarily entered by a human, this item maybe populated algorithmically.
 
}}
 
}}
  
Examples:
+
====iriNotation====
<syntaxhighlight lang="xml">
 
<text value="this is plain text" language="en-US" mediaType="text/plain"/>
 
  
<text value="dieses ist normaler Text" language="de-DE" mediaType="text/plain"/>
+
The OID in Internationalized Resource Identifier<ref>http://www.oid-info.com/faq.htm#iri</ref> (IRI) notation.
</syntaxhighlight>
 
  
==Entity Name for a person EN.PN==
 
 
Example:
 
Example:
<syntaxhighlight lang="xml">
+
<syntaxhighlight lang="text">
<name use="OR C">
+
oid:/Country/528
<part type="GIV" value="Selby"/>
 
<part type="FAM" qualifier="SP" value="Butt"/>
 
<part type="FAM" value="Hadrian"/>
 
</name>
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
{{NoteBox|
 +
Note that this information is not necessarily entered by a human, this item maybe populated algorithmically.
 +
}}
  
==Entity Name for a organization EN.ON==
+
====symbolicName / Secondary Arc Identifier ====
Example:
 
<syntaxhighlight lang="xml">
 
<name use="LS">
 
  <part value="Healthy Hospital"/>
 
  <part qualifier="SFX">GmbH</part>
 
</name>
 
</syntaxhighlight>
 
  
==Interval of time stamp IVL_TS==
+
A symbolic short name, unique among the siblings of the arc of the OID.
Example:
 
<syntaxhighlight lang="xml">
 
<validTime>
 
  <low value="20101201" />
 
  <high value="20101224" />
 
</validTime>
 
</syntaxhighlight>
 
  
==String ST==
+
The ISO rules on Secondary Arc Identifiers, as laid out in Rec. ITU-T | ISO/IEC 9834-1 ''Procedures for Registration Authorities'', section 6.2.2, apply:
A character string, with possible translations.
+
* identifiers of an arc are required to commence with a lowercase letter, and to contain only letters, digits, and hyphens.
 +
* the last characters shall not be a hyphen
 +
* there shall be no two consecutive hyphens in the name
  
Example:
+
Example
<syntaxhighlight lang="xml">
+
<syntaxhighlight lang="text">
  <name value="I am a name"/>
+
nl
 
</syntaxhighlight>
 
</syntaxhighlight>
  
==String ST.NT==
+
====category====
A character string, with no translations allowed.
 
  
Example:
+
The type/category of the OID; enumeration, values see value set [[#OIDcategories|OIDcategories]].
<syntaxhighlight lang="xml">
 
  <name value="I am a name"/>
 
</syntaxhighlight>
 
  
==Object Identifier (dot notation) ST.OID==
+
There are actually two main types of OIDs: ''leafs'' (id of an object), and ''nodes'' representing an ontological branch.
This is actually a character string without translation (ST.NT) with a certain pattern.
 
  
The pattern is:
+
The types of ''node'' OID may be
\{?\s*(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))*\s*\}?
+
* a registration authority (RA) or
 +
* a structure for the management of OIDs.
  
Example:
+
The proposal for sub categories of ''leaf'' OIDs are
<syntaxhighlight lang="xml">
+
* identifiers of an instance of an object (for example a person)
<oid value="1.2.3.4.5.0.6.7.8.9"/>
+
* namespace identifiers (for example code systems, value sets)
</syntaxhighlight>
+
{{NoteBox|
{{WorkBox|
+
In addition there are properties of OIDs that can reflect other business needs.
The string pattern needs to be checked.
+
These can be
 +
* tags (simple text)
 +
* other categorizations of the OID, coded or as text
 +
* "sub-types" of the OID
 +
For further information see ''[[#AdditionalProperty|AdditionalProperty]]''.
 
}}
 
}}
==Object Identifier (asn1 notation) ST.ASN1==
 
This is actually a character string without translation (ST.NT) with a certain pattern.
 
  
The pattern is:
+
====status====
\{?\s*(([a-z][a-zA-Z0-9\-]*\s*((\s*(0|[1-9][0-9]*)\s*\))?|(0|[1-9][0-9]*))\s*){2,}\s*\}?
+
 
{{WorkBox|
+
Status of the OID. This is an enumeration, for values see value set [[#OIDstatusCodes|OIDstatusCodes]]
The string pattern needs to be checked.
+
 
}}
+
====creationDate====
==Object Identifier (iri notation) ST.IRI==
+
 
This is actually a character string without translation (ST.NT) with a certain pattern.
+
The creationDate is used to describe when the OID was first registered. It is not the date when the OID description is submitted to the OID repository.
 +
The creationDate, once set, never changes.
 +
 
 +
====realm====
  
The pattern is:
+
In some cases OIDs may apply to a specific county/realm only, e.g. the namespace identifiers for the US Social Security Number (SSN) or the Dutch Citizen Service Number (BSN) or the codes system representing ICD-10 International Classification of Diseases 10th Revision for the use in Germany only (ICD10gm). This can be indicated by ''realm'' which is either the code of country or "UV" for universal. For values see code system [[#CountryCodes| CountryCodes]].
/^[a-z](?:[-a-z0-9\+\.])*:(?:\/\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\._~\x{A0}-\x{D7FF}\x{F900}-\x{FDCF}\x{FDF0}-\x{FFEF}\x{10000}-\x{1FFFD}\x{20000}-\x{2FFFD}\x{30000}-\x{3FFFD}\x{40000}-\x{4FFFD}\x{50000}-\x{5FFFD}\x{60000}-\x{6FFFD}\x{70000}-\x{7FFFD}\x{80000}-\x{8FFFD}\x{90000}-\x{9FFFD}\x{A0000}-\x{AFFFD}\x{B0000}-\x{BFFFD}\x{C0000}-\x{CFFFD}\x{D0000}-\x{DFFFD}\x{E1000}-\x{EFFFD}!\$&'\(\)\*\+,;=:])*@)?(?:\[(?:(?:(?:[0-9a-f]{1,4}:){6}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|::(?:[0-9a-f]{1,4}:){5}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:[0-9a-f]{1,4}:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|v[0-9a-f]+[-a-z0-9\._~!\$&'\(\)\*\+,;=:]+)\]|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}|(?:%[0-9a-f][0-9a-f]|[-a-z0-9\._~\x{A0}-\x{D7FF}\x{F900}-\x{FDCF}\x{FDF0}-\x{FFEF}\x{10000}-\x{1FFFD}\x{20000}-\x{2FFFD}\x{30000}-\x{3FFFD}\x{40000}-\x{4FFFD}\x{50000}-\x{5FFFD}\x{60000}-\x{6FFFD}\x{70000}-\x{7FFFD}\x{80000}-\x{8FFFD}\x{90000}-\x{9FFFD}\x{A0000}-\x{AFFFD}\x{B0000}-\x{BFFFD}\x{C0000}-\x{CFFFD}\x{D0000}-\x{DFFFD}\x{E1000}-\x{EFFFD}!\$&'\(\)\*\+,;=@])*)(?::[0-9]*)?(?:\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\._~\x{A0}-\x{D7FF}\x{F900}-\x{FDCF}\x{FDF0}-\x{FFEF}\x{10000}-\x{1FFFD}\x{20000}-\x{2FFFD}\x{30000}-\x{3FFFD}\x{40000}-\x{4FFFD}\x{50000}-\x{5FFFD}\x{60000}-\x{6FFFD}\x{70000}-\x{7FFFD}\x{80000}-\x{8FFFD}\x{90000}-\x{9FFFD}\x{A0000}-\x{AFFFD}\x{B0000}-\x{BFFFD}\x{C0000}-\x{CFFFD}\x{D0000}-\x{DFFFD}\x{E1000}-\x{EFFFD}!\$&'\(\)\*\+,;=:@]))*)*|\/(?:(?:(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\._~\x{A0}-\x{D7FF}\x{F900}-\x{FDCF}\x{FDF0}-\x{FFEF}\x{10000}-\x{1FFFD}\x{20000}-\x{2FFFD}\x{30000}-\x{3FFFD}\x{40000}-\x{4FFFD}\x{50000}-\x{5FFFD}\x{60000}-\x{6FFFD}\x{70000}-\x{7FFFD}\x{80000}-\x{8FFFD}\x{90000}-\x{9FFFD}\x{A0000}-\x{AFFFD}\x{B0000}-\x{BFFFD}\x{C0000}-\x{CFFFD}\x{D0000}-\x{DFFFD}\x{E1000}-\x{EFFFD}!\$&'\(\)\*\+,;=:@]))+)(?:\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\._~\x{A0}-\x{D7FF}\x{F900}-\x{FDCF}\x{FDF0}-\x{FFEF}\x{10000}-\x{1FFFD}\x{20000}-\x{2FFFD}\x{30000}-\x{3FFFD}\x{40000}-\x{4FFFD}\x{50000}-\x{5FFFD}\x{60000}-\x{6FFFD}\x{70000}-\x{7FFFD}\x{80000}-\x{8FFFD}\x{90000}-\x{9FFFD}\x{A0000}-\x{AFFFD}\x{B0000}-\x{BFFFD}\x{C0000}-\x{CFFFD}\x{D0000}-\x{DFFFD}\x{E1000}-\x{EFFFD}!\$&'\(\)\*\+,;=:@]))*)*)?|(?:(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\._~\x{A0}-\x{D7FF}\x{F900}-\x{FDCF}\x{FDF0}-\x{FFEF}\x{10000}-\x{1FFFD}\x{20000}-\x{2FFFD}\x{30000}-\x{3FFFD}\x{40000}-\x{4FFFD}\x{50000}-\x{5FFFD}\x{60000}-\x{6FFFD}\x{70000}-\x{7FFFD}\x{80000}-\x{8FFFD}\x{90000}-\x{9FFFD}\x{A0000}-\x{AFFFD}\x{B0000}-\x{BFFFD}\x{C0000}-\x{CFFFD}\x{D0000}-\x{DFFFD}\x{E1000}-\x{EFFFD}!\$&'\(\)\*\+,;=:@]))+)(?:\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\._~\x{A0}-\x{D7FF}\x{F900}-\x{FDCF}\x{FDF0}-\x{FFEF}\x{10000}-\x{1FFFD}\x{20000}-\x{2FFFD}\x{30000}-\x{3FFFD}\x{40000}-\x{4FFFD}\x{50000}-\x{5FFFD}\x{60000}-\x{6FFFD}\x{70000}-\x{7FFFD}\x{80000}-\x{8FFFD}\x{90000}-\x{9FFFD}\x{A0000}-\x{AFFFD}\x{B0000}-\x{BFFFD}\x{C0000}-\x{CFFFD}\x{D0000}-\x{DFFFD}\x{E1000}-\x{EFFFD}!\$&'\(\)\*\+,;=:@]))*)*|(?!(?:%[0-9a-f][0-9a-f]|[-a-z0-9\._~\x{A0}-\x{D7FF}\x{F900}-\x{FDCF}\x{FDF0}-\x{FFEF}\x{10000}-\x{1FFFD}\x{20000}-\x{2FFFD}\x{30000}-\x{3FFFD}\x{40000}-\x{4FFFD}\x{50000}-\x{5FFFD}\x{60000}-\x{6FFFD}\x{70000}-\x{7FFFD}\x{80000}-\x{8FFFD}\x{90000}-\x{9FFFD}\x{A0000}-\x{AFFFD}\x{B0000}-\x{BFFFD}\x{C0000}-\x{CFFFD}\x{D0000}-\x{DFFFD}\x{E1000}-\x{EFFFD}!\$&'\(\)\*\+,;=:@])))(?:\?(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\._~\x{A0}-\x{D7FF}\x{F900}-\x{FDCF}\x{FDF0}-\x{FFEF}\x{10000}-\x{1FFFD}\x{20000}-\x{2FFFD}\x{30000}-\x{3FFFD}\x{40000}-\x{4FFFD}\x{50000}-\x{5FFFD}\x{60000}-\x{6FFFD}\x{70000}-\x{7FFFD}\x{80000}-\x{8FFFD}\x{90000}-\x{9FFFD}\x{A0000}-\x{AFFFD}\x{B0000}-\x{BFFFD}\x{C0000}-\x{CFFFD}\x{D0000}-\x{DFFFD}\x{E1000}-\x{EFFFD}!\$&'\(\)\*\+,;=:@])|[\x{E000}-\x{F8FF}\x{F0000}-\x{FFFFD}|\x{100000}-\x{10FFFD}\/\?])*)?(?:\#(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\._~\x{A0}-\x{D7FF}\x{F900}-\x{FDCF}\x{FDF0}-\x{FFEF}\x{10000}-\x{1FFFD}\x{20000}-\x{2FFFD}\x{30000}-\x{3FFFD}\x{40000}-\x{4FFFD}\x{50000}-\x{5FFFD}\x{60000}-\x{6FFFD}\x{70000}-\x{7FFFD}\x{80000}-\x{8FFFD}\x{90000}-\x{9FFFD}\x{A0000}-\x{AFFFD}\x{B0000}-\x{BFFFD}\x{C0000}-\x{CFFFD}\x{D0000}-\x{DFFFD}\x{E1000}-\x{EFFFD}!\$&'\(\)\*\+,;=:@])|[\/\?])*)?$/i
 
{{WorkBox|
 
The string pattern needs to be checked.
 
}}
 
==Symbolic name ST.SYMB==
 
This is actually a character string without translation (ST.NT) with a certain pattern.
 
  
The pattern is:
+
====description====
^[a-z]([a-z]|[A-Z]|[0-9]|[\-][^-])*([^-])?$
 
{{WorkBox|
 
The string pattern needs to be checked.
 
}}
 
==Telecommunication TEL==
 
Example:
 
<syntaxhighlight lang="xml">
 
<telecom value="tel:+491234567890" use="H WP" capabilities="voice fax"/>
 
</syntaxhighlight>
 
  
==Locatable Resource TEL.URL==
+
This element contains a free text description of the OID ("what is the OID?"). The text typically contains an explanation but also can contain:
This points to a locatable resource, e.g. an internet address.
+
* explicit versioning aspects
 +
* licensing information
 +
* Intellectual Property rights information
 +
* trademarks.
  
Example:
+
This element is repeatable for each language.  
<syntaxhighlight lang="xml">
 
<ref value="http://x.y.org"/>
 
</syntaxhighlight>
 
  
See also: <ref>IETF RFC 1738 - Uniform Resource Locators (URL)</ref><ref>IETF RFC 2396 - Uniform Resource Identifiers (URI): Generic Syntax</ref>.
+
The datatype [[#ED|ED]] allows for a thumbnail child element. A thumbnail may be populated describing a short description of the OID (sometimes referred to as ''identifier name'').
  
==Time stamp TS==
 
 
Example:
 
Example:
 
<syntaxhighlight lang="xml">
 
<syntaxhighlight lang="xml">
<applicationDate value="20101205"/>
+
<description language="en-US" value="this is plain text as a long description">
 +
  <thumbnail value="short text"/>
 +
</description>
 
</syntaxhighlight>
 
</syntaxhighlight>
  
= Annex A (informative) =
+
{{NoteBox|
In informative Annex A, a description possible of sub trees reflecting OID categories for e-health related OIDs is given.
+
Note that data type [[#ED|ED]] also reflects the aspect of language of the description (language code).
 +
}}
  
Annex A is a specific description for the registration procedures for e-health related OIDs, and includes a specification of those parts of the OID tree that are known to be used for national and for international e-health applications.
+
{{ConstraintBox|oi-ds:
 +
There SHALL be one description instance with language code English (“en”, “en-US” etc.).
 +
}}
  
==ObjectType==
+
===Associations===
Type of object identified by the OID.
+
{|class="hl7table"
 +
! Association !! Description !! Class !! Card !! Conf
 +
|-
 +
| registrationAuthority || Registration Authority || [[#RegistrationAuthority|RegistrationAuthority]] || 1..1 || required
 +
|-
 +
| responsibleAuthority || Responsible Authority || [[#ResponsibleAuthority | ResponsibleAuthority]] || 1..* || required
 +
|-
 +
| submittingAuthority || Submitting Authority || [[#SubmittingAuthority | SubmittingAuthority]] || 0..1 || optional
 +
|-
 +
| additionalProperty || Additional Properties || [[#AdditionalProperty | AdditionalProperty]] || 0..* || optional
 +
|-
 +
| historyAnnotation || History Annotations || [[#HistoryAnnotation | HistoryAnnotation]] || 0..* || optional
 +
|-
 +
| reference || References || [[#Reference | Reference]] || 0..* || optional
 +
|-
 +
|}
  
HL7 International makes a suggestion<ref>http://wiki.hl7.org/index.php?title=HL7_OID_Registry_Frequently_Asked_Questions</ref> for a structure of object types
+
==RegistrationAuthority==
* .1 HL7 registered internal objects (other than organizational bodies)
 
* .2 HL7 organizational bodies and groups
 
* .3 External (not HL7) group functioning as a Registration Authority
 
* .4 Registered externally maintained identifier systems and namespaces
 
* .5 HL7 Internal Code Systems
 
* .6 Registered external coding systems
 
* .7 HL7 published document artifacts
 
* .9 HL7 Registered conformance profiles
 
* .10 HL7 Registered Templates
 
* .11 HL7 defined and registered Value Sets
 
* .12 HL7 Version 2.x tables
 
* .13 Externally authored and curated Value Sets
 
* .14 Assignment Ontology node
 
* .15 Small code sets externally defined
 
* .17 Non-specified type
 
* .18 HL7 Version 2.8 Coding Systems
 
* .19 HL7 Examples
 
  
From a policy perspective it is common practice in several healthcare related (European) OID registries
+
[[Datei:Oid-RegistrationAuthority.jpg | 600px]]
<ref>http://www.dimdi.de/dynamic/de/ehealth/oid/verzeichnis.html OID registry Germany</ref>
 
<ref>http://oid.refdata.ch/ OID registry Switzerland</ref>
 
<ref>https://www.gesundheit.gv.at/OID_Frontend/ OID registry Austria</ref>
 
and makes sense to distinguish at least between the following types of OIDs:
 
* .3 organizational bodies and groups
 
* .4 identifier systems
 
* .5 code systems
 
* .7 documents
 
* .9 conformance profiles
 
* .10 templates
 
* .11 value sets
 
* .19 examples
 
* .99 experimental
 
  
{{OIBox|
+
This class represents the Registration Authority (RA).
Are there other types of objects? How far should this recommendation go?
 
}}
 
  
= Annex B (informative)  =
+
===Attributes===
Informative Annex B specifies the use cases of an OID registry/repository and an Object Identifier Resolution System (ORS) for e-health related OIDs based on RESTful Web Services.
 
  
==Use Cases==
+
{|class="hl7table"
A list of OID Registry Use Cases has been defined in order to drive metadata model requirements, and functional requirements for Registry interoperability.
+
! Attribute !! Description !! DT !! Card !! Conf || Length
 +
|-
 +
| code || RA role code || CS || 1..1 || mandatory || -
 +
|-
 +
|}
  
===U1: OID Creation where the registry owner is the RA===
+
====code====
* Creation of a new OID in the standard ontological structure
+
The code holds information about the role type of the RA. Valid codes are listed in [[#RoleCodes|RoleCodes]].
* Creation of a new OID in a sub-structure
 
  
===U2: OID Registration===
+
===Associations===
* Registration where the registry owner created the OID
+
{|class="hl7table"
* Registration of an OID created elsewhere
+
! Association !! Description !! Class !! Card !! Conf
 +
|-
 +
| scopingOrganization || Scoping organization || [[#Organization|Organization]] || 1..1 || mandatory
 +
|-
 +
| person || Contact person(s) || [[#Person|Person]] || 0..1 || optional
 +
|-
 +
|}
  
===U3: OID Withdrawal/Replacement===
+
==ResponsibleAuthority==
* Withdraw an OID created in error with no replacement
+
This is a class representing the (managing) authority that is responsible for the object that is identified by the OID (not for the OID itself).
* Withdraw an OID created in error with specified replacement
 
* Withdraw an OID registered in error with no replacement
 
* Withdraw an OID registered in error with specified replacement
 
* Withdraw an OID that is found to be a duplicate, with original specified
 
  
===U4: OID Metadata Update/Editing===
+
[[Datei:Oid-ResponsibleAuthority.jpg | 600px]]
* Permissions model
 
* Distributed effort model
 
* Proxies for Editors
 
  
===U5: OID Information Publication===
+
===Attributes===
* Web presence
 
* Internet-accessible API (Web service presence)
 
* Full registry output to machine-readable form
 
* Full registry output to human-readable form
 
* Partial registry output to machine-readable form
 
* Partial registry output to human-readable form
 
  
===U6: OID Information Request===
+
{|class="hl7table"
* Search for the OID of an object
+
! Attribute !! Description !! DT !! Card !! Conf || Length
* Search for the object identified by an OID
+
|-
* Search for a list of kinds of OIDs
+
| code || role code || CS || 1..1 || mandatory || -
* Search for a list of OID based on various sub-criteria, with and without wildcards
+
|-
** Those registered by a particular entity
+
| statusCode || status code || CS || 1..1 || mandatory || -
** Those associated with a type of information object
+
|-
** Those associated with implementation guides
+
| validTime || validity time || IVL_TS || 1..* || mandatory || -
** Those registered during some time period
+
|-
** etc.
+
|}
  
==Basic interactions between OID registries==
+
====code====
A set of basic interactions is developed and documented in order to facilitate the exchange of OID-related information between registries. This will include at least the following transactions:
+
The code holds information about the role type of the ResponsibleAuthority. Valid codes are listed in [[#RoleCodes|RoleCodes]].
*Share OID list
 
*Retrieve OID list
 
  
{{OIBox|
+
====statusCode====
Needs to be further elaborated. How far should this go?
+
The statusCode holds information about the status of the ResponsibleAuthority. Valid codes are listed in [[#RoleStatus|RoleStatus]].
}}
 
  
== RESTful Web Servcies for an Object Identifier Resolution System ==
+
====validTime====
 +
This is an interval of time, representing the period when the ResponsibleAuthority is/was responsible for the object that is identified by the OID. If the ResponsibleAuthority is still responsible, only ''validTime.low'' is populated.
  
'''Representational state transfer''' ('''REST''') is a style of software architecture for distributed hypermedia systems such as the World Wide Web. The term ''representational state transfer'' was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation.<ref name="Fielding-Ch5">Chapter 5 of Fielding's dissertation is [http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm "Representational State Transfer (REST)"].</ref><ref>[http://tech.groups.yahoo.com/group/rest-discuss/message/6735 "Fielding discussing the definition of the REST term"]</ref>
+
===Associations===
 +
{|class="hl7table"
 +
! Association !! Description !! Class !! Card !! Conf
 +
|-
 +
| scopingOrganization || Scoping organization || [[#Organization|Organization]] || 1..1 || mandatory
 +
|-
 +
| person || Contact person(s) || [[#Person|Person]] || 0..1 || optional
 +
|-
 +
|}
  
A RESTful web service is implemented using HTTP and the principles of REST. It is a collection of resources, with four defined aspects:
+
==SubmittingAuthority==
* the base URI for the web service, such as <code><nowiki>http://oid.server.org/</nowiki></code>
+
This is a class representing the submitting authority that originally asked for a new OID.
* the Internet media type of the data supported by the web service, in this case either XML or HTML only.
 
* the set of operations supported by the web service using HTTP methods, in this case GET only.
 
  
Simple mechanisms should be provided in order to retrieve lists of OIDs from a registry, details of a particular OID or an extract of the entire OID registry. Various formats should be supported like HTML and the original XML format.
+
[[Datei:Oid-SubmittingAuthority.jpg | 600px]]
  
The suggested calls should be implemented as RESTful Web Services and their parameters are stated as follows.
+
(Please note: to avoid redundancy, the classes ''Organization'' and ''Peron'' are shown with attributes here, at all other places only a "shadow" class of these two classes is shown)
  
{|class="wikitable"
+
===Attributes===
! Resource
+
{|class="hl7table"
! Description GET
+
! Attribute !! Description !! DT !! Card !! Conf || Length
! Parameters
+
|-
 +
| code || role code || CS || 1..1 || mandatory || -
 +
|-
 +
| applicationDate || date of application || TS || 0..1 || optional || -
 
|-
 
|-
| '''OIDIndex'''
+
|}
| retrieves an index of all OIDs in the OID registry in HTML format
+
 
|  
+
====code====
format (default, fixed): html
+
The code holds information about the role type of the submitting authority. Valid codes are listed in [[#RoleCodes|RoleCodes]].
  
id (optional): an OID
+
====applicationDate====
  
language (optional): language
+
Date of application (submission or certified submission) of the requested OID.
 +
 
 +
===Associations===
 +
{|class="hl7table"
 +
! Association !! Description !! Class !! Card !! Conf
 +
|-
 +
| scopingOrganization || Scoping organization || [[#Organization|Organization]] || 1..1 || mandatory
 +
|-
 +
| person || Contact person(s) || [[#Person|Person]] || 1..1 || mandatory
 
|-
 
|-
|
+
|}
| colspan=2 |
 
<syntaxhighlight lang="email">http://oid.server.org/OIDIndex</syntaxhighlight>
 
  
gets an HTML table of all OIDs in the registry with links to the details for each OID
+
==HistoryAnnotation==
 +
This class reflects historical annotations of the OID and records the changes of any data over time.
  
<syntaxhighlight lang="email">http://oid.server.org/OIDIndex?id=1.0.3166.1.2.2</syntaxhighlight>
+
[[Datei:Oid-HistoryAnnotation.jpg | 300px]]
  
gets an HTML table of OID 1.0.3166.1.2.2 with links to the details for this OID
+
===Attributes===
 +
{|class="hl7table"
 +
! Attribute !! Description !! Datatype !! Cardinality !! Conformance || Recommended Length
 +
|-
 +
| annotationDate || date annotation was created || TS || 0..1 || required || -
 +
|-
 +
| text || annotation || ED || 1..1 || mandatory || -
 +
|-
 +
|}
 +
{{NoteBox|
 +
Note that data type ED also reflects the aspect of language of the description (language code).
 +
}}
  
<syntaxhighlight lang="email">http://oid.server.org/OIDIndex?id=1.0.3166.1.2.2&language=de-DE</syntaxhighlight>
+
==Reference==
  
gets an HTML table of OID 1.0.3166.1.2.2 with links to the details for this OID in the German language
+
[[Datei:Oid-Reference.jpg | 300px]]
 +
 
 +
This class provides a link to
 +
* other data sources, code tables, value sets, descriptions etc; typically this is a URL and always points to an object with different semantics than the OID itself.
 +
* other OIDs (within or outside this OID registry) in order to be able to express that an OID has been superseded/replaced or that there is a preferred OID.
 +
 
 +
===Attributes===
 +
{|class="hl7table"
 +
! Attribute !! Description !! DT !! Card !! Conf || Length
 
|-
 
|-
 +
| ref || reference URI || URI || 1..1 || mandatory || -
 
|-
 
|-
| '''RetrieveOID'''
+
| type || type of reference || CS || 1..1 || mandatory || -
| retrieves a particular OID in the OID registry
+
|-
|
+
| lastVisitedDate || date URI last visited || TS || 0..1 || optional || -
id (required): an OID
+
|-
 +
|}
 +
 
 +
====ref====
 +
The referenced URI.
  
format (optional): html or xml
+
====type====
 +
The nature of the reference is coded in the ''type'' attribute, for vocabulary see [[#ReferenceType|ReferenceType]].
  
language (optional): language
+
====lastVisitedDate====
|-
+
Specifies the date the UIR was last visited.
|
 
| colspan=2 |
 
<syntaxhighlight lang="email">http://oid.server.org/RetrieveOID?id=1.0.3166.1.2.2&format=html</syntaxhighlight>
 
  
gets details of OID 1.0.3166.1.2.2 in HTML format
+
==AdditionalProperty==
  
<syntaxhighlight lang="email">http://oid.server.org/RetrieveOID?id=1.0.3166.1.2.2&format=html&language=de-DE</syntaxhighlight>
+
[[Datei:Oid-AdditionalProperty.jpg | 300px]]
  
gets details of OID 1.0.3166.1.2.2 in HTML format in the German language
+
This class reflects additional properties of an OID that might be used to fit business rules that cannot (or should not) be standardized. This includes:
 +
* additional categories
 +
* additional status information
 +
* tags, simple text
 +
* coded properties
  
<syntaxhighlight lang="email">http://oid.server.org/RetrieveOID?id=1.0.3166.1.2.2&format=xml</syntaxhighlight>
+
It is made of
 +
* attribute, describing the type of the additional property
 +
* value, the value of the additional property.
  
gets details of OID 1.0.3166.1.2.2 in XML format
+
{|class="hl7table"
 +
! Attribute !! Description !! DT !! Card !! Conf || Length
 
|-
 
|-
| '''GetOIDRegistry'''
+
| attribute || Additional property type || ST.NT || 1..1 || mandatory || -
| gets the entire content of the OID registry in XML format
 
|
 
format (default, fixed): xml
 
 
|-
 
|-
|
+
| value || Additional property value || ST.NT || 1..1 || mandatory || -
| colspan=2 |
+
|-
<syntaxhighlight lang="email">http://oid.server.org/GetOIDRegistry</syntaxhighlight>
+
|}
 +
 
 +
==Person==
 +
A class to hold the properties of a person.
 +
 
 +
[[Datei:Oid-Person.jpg | 300px]]
  
gets the entire content of the OID registry in XML format
+
===Attributes===
 +
{|class="hl7table"
 +
! Attribute !! Description !! DT !! Card !! Conf || Length
 +
|-
 +
| name || person's name || EN.PN || 1..* || mandatory || -
 +
|-
 +
| addr || person's address || AD || 0..* || optional || -
 +
|-
 +
| telecom || person's telecommunication contact || TEL || 0..* || optional || -
 
|-
 
|-
 
|}
 
|}
  
= Annex C (informative): W3C schema for the XML representation=
+
==Organization==
Informative Annex C references a W3C schema for the XML representation.
+
A class to hold the properties of an organization.
 +
 
 +
[[Datei:Oid-Organization.jpg | 300px]]
 +
 
 +
===Attributes===
 +
{|class="hl7table"
 +
! Attribute !! Description !! DT !! Card !! Conf || Length
 +
|-
 +
| id || id (OID) of the organization || ST.OID || 0..* || optional || -
 +
|-
 +
| name || name of the organization || EN.ON || 1..* || mandatory || -
 +
|-
 +
| addr || address of the organization || AD || 0..* || optional || -
 +
|-
 +
| telecom || telecommunication contact of the organization || TEL || 0..* || optional || -
 +
|-
 +
|}

Aktuelle Version vom 3. März 2012, 17:13 Uhr

Information model

In order to exchange OID and their metadata between different registries and applications the following additional data items beyond the OID itself need to be taken under consideration (see also [1] [2]):

  • descriptions
  • status information
  • categorization
  • time information
  • comments
  • versions
  • links
  • relationships to other OIDs and external sources
  • registering and responsible organizations
  • associated persons.

An information model with all classes, attributes and their properties aiming on a common understanding of the requirements of an OID registry has been created (Figure 1).

OID Registry Model (Draft)

XML exchange format

Data exchange can be facilitated by a standardized representation of the complete set of information as an XML structure together with the associated checks of underlying constraints and business rules. This XML structure for importing and exporting OID amongst different registries and other healthcare applications is aiming on the availability of reliable information about OIDs.

The following sections summarise and explain classes and their attributes.

Registry

This is the basic information about the OID-Registry hosting the OIDs.

Oid-registry.jpg

Attributes

Attribute Description DT Card Conf Length
validTime validity time interval IVL_TS 1..* mandatory -
scopedOIDs List of scoped root OIDs ST.OID 0..* optional 64
name Official name of the OID registry ST 1..1 mandatory 64
description Description of the OID registry, possible in multiple languages ED 0..* optional -

validTime

This is the validity time interval, i.e. the begin (and end) time when this registry is/was responsible for registering OIDs. This can be a list of intervals.

scopedOIDs

List of scoped root OIDs, i.e. the OIDs for which this OID registry is responsible for registration.

name

Official name of the OID registry

description

A description of the OID registry, possible in multiple languages

Associations

Association Description Class Card Conf
person Contact person(s) Person 1..* mandatory
hostingOrganization Hosting organization Organization 1..* mandatory
oid List of OIDs Oid 0..* required

Example

<registry>

    <validTime>
        <low value="20100501"/>
    </validTime>

    <scopedOID value="1.2.3.4.5"/>

    <name value="The best OID registry ever"/>
    <description language="en-US" value="This is a test OID registry, although the best"/>

    <person> ... </person>
    <hostingOrganization> ... </hostingOrganization>

    <oid> ... </oid>

</registry>

Oid

This class contains the registered OID and the associated meta data.

Oid-OID.jpg

Attributes

Attribute Description DT Card Conf Length
dotNotation registered OID, dot notation ST.OID 1..1 mandatory 64
asn1Notation ASN.1 notation ST.ASN1 0..1 optional 128
iriNotation IRI notation ST.IRI 0..1 optional 128
symbolicName symbolic name ST.SYMB 0..1 optional 128
category OID category CS 1..1 required -
status OID status CS 1..1 mandatory -
creationDate date of creation TS 0..1 optional -
realm countries CS 0..* optional -
description textual description ED 1..* mandatory -

dotNotation

The OID in dot notation of SNMP or ASN.1/XER.

Example:

2.16.528

asn1Notation

The OID in ASN.1 notation with (optional) identifiers and numbers.

Examples:

{joint-iso-itu-t(2) country(16) nl(528)}
{itu-t(0) recommendation(0) a(1)}

iriNotation

The OID in Internationalized Resource Identifier[3] (IRI) notation.

Example:

oid:/Country/528

symbolicName / Secondary Arc Identifier

A symbolic short name, unique among the siblings of the arc of the OID.

The ISO rules on Secondary Arc Identifiers, as laid out in Rec. ITU-T | ISO/IEC 9834-1 Procedures for Registration Authorities, section 6.2.2, apply:

  • identifiers of an arc are required to commence with a lowercase letter, and to contain only letters, digits, and hyphens.
  • the last characters shall not be a hyphen
  • there shall be no two consecutive hyphens in the name

Example

nl

category

The type/category of the OID; enumeration, values see value set OIDcategories.

There are actually two main types of OIDs: leafs (id of an object), and nodes representing an ontological branch.

The types of node OID may be

  • a registration authority (RA) or
  • a structure for the management of OIDs.

The proposal for sub categories of leaf OIDs are

  • identifiers of an instance of an object (for example a person)
  • namespace identifiers (for example code systems, value sets)

status

Status of the OID. This is an enumeration, for values see value set OIDstatusCodes

creationDate

The creationDate is used to describe when the OID was first registered. It is not the date when the OID description is submitted to the OID repository. The creationDate, once set, never changes.

realm

In some cases OIDs may apply to a specific county/realm only, e.g. the namespace identifiers for the US Social Security Number (SSN) or the Dutch Citizen Service Number (BSN) or the codes system representing ICD-10 International Classification of Diseases 10th Revision for the use in Germany only (ICD10gm). This can be indicated by realm which is either the code of country or "UV" for universal. For values see code system CountryCodes.

description

This element contains a free text description of the OID ("what is the OID?"). The text typically contains an explanation but also can contain:

  • explicit versioning aspects
  • licensing information
  • Intellectual Property rights information
  • trademarks.

This element is repeatable for each language.

The datatype ED allows for a thumbnail child element. A thumbnail may be populated describing a short description of the OID (sometimes referred to as identifier name).

Example:

<description language="en-US" value="this is plain text as a long description">
   <thumbnail value="short text"/>
</description>

Associations

Association Description Class Card Conf
registrationAuthority Registration Authority RegistrationAuthority 1..1 required
responsibleAuthority Responsible Authority ResponsibleAuthority 1..* required
submittingAuthority Submitting Authority SubmittingAuthority 0..1 optional
additionalProperty Additional Properties AdditionalProperty 0..* optional
historyAnnotation History Annotations HistoryAnnotation 0..* optional
reference References Reference 0..* optional

RegistrationAuthority

Oid-RegistrationAuthority.jpg

This class represents the Registration Authority (RA).

Attributes

Attribute Description DT Card Conf Length
code RA role code CS 1..1 mandatory -

code

The code holds information about the role type of the RA. Valid codes are listed in RoleCodes.

Associations

Association Description Class Card Conf
scopingOrganization Scoping organization Organization 1..1 mandatory
person Contact person(s) Person 0..1 optional

ResponsibleAuthority

This is a class representing the (managing) authority that is responsible for the object that is identified by the OID (not for the OID itself).

Oid-ResponsibleAuthority.jpg

Attributes

Attribute Description DT Card Conf Length
code role code CS 1..1 mandatory -
statusCode status code CS 1..1 mandatory -
validTime validity time IVL_TS 1..* mandatory -

code

The code holds information about the role type of the ResponsibleAuthority. Valid codes are listed in RoleCodes.

statusCode

The statusCode holds information about the status of the ResponsibleAuthority. Valid codes are listed in RoleStatus.

validTime

This is an interval of time, representing the period when the ResponsibleAuthority is/was responsible for the object that is identified by the OID. If the ResponsibleAuthority is still responsible, only validTime.low is populated.

Associations

Association Description Class Card Conf
scopingOrganization Scoping organization Organization 1..1 mandatory
person Contact person(s) Person 0..1 optional

SubmittingAuthority

This is a class representing the submitting authority that originally asked for a new OID.

Oid-SubmittingAuthority.jpg

(Please note: to avoid redundancy, the classes Organization and Peron are shown with attributes here, at all other places only a "shadow" class of these two classes is shown)

Attributes

Attribute Description DT Card Conf Length
code role code CS 1..1 mandatory -
applicationDate date of application TS 0..1 optional -

code

The code holds information about the role type of the submitting authority. Valid codes are listed in RoleCodes.

applicationDate

Date of application (submission or certified submission) of the requested OID.

Associations

Association Description Class Card Conf
scopingOrganization Scoping organization Organization 1..1 mandatory
person Contact person(s) Person 1..1 mandatory

HistoryAnnotation

This class reflects historical annotations of the OID and records the changes of any data over time.

Oid-HistoryAnnotation.jpg

Attributes

Attribute Description Datatype Cardinality Conformance Recommended Length
annotationDate date annotation was created TS 0..1 required -
text annotation ED 1..1 mandatory -

Reference

Oid-Reference.jpg

This class provides a link to

  • other data sources, code tables, value sets, descriptions etc; typically this is a URL and always points to an object with different semantics than the OID itself.
  • other OIDs (within or outside this OID registry) in order to be able to express that an OID has been superseded/replaced or that there is a preferred OID.

Attributes

Attribute Description DT Card Conf Length
ref reference URI URI 1..1 mandatory -
type type of reference CS 1..1 mandatory -
lastVisitedDate date URI last visited TS 0..1 optional -

ref

The referenced URI.

type

The nature of the reference is coded in the type attribute, for vocabulary see ReferenceType.

lastVisitedDate

Specifies the date the UIR was last visited.

AdditionalProperty

Oid-AdditionalProperty.jpg

This class reflects additional properties of an OID that might be used to fit business rules that cannot (or should not) be standardized. This includes:

  • additional categories
  • additional status information
  • tags, simple text
  • coded properties

It is made of

  • attribute, describing the type of the additional property
  • value, the value of the additional property.
Attribute Description DT Card Conf Length
attribute Additional property type ST.NT 1..1 mandatory -
value Additional property value ST.NT 1..1 mandatory -

Person

A class to hold the properties of a person.

Oid-Person.jpg

Attributes

Attribute Description DT Card Conf Length
name person's name EN.PN 1..* mandatory -
addr person's address AD 0..* optional -
telecom person's telecommunication contact TEL 0..* optional -

Organization

A class to hold the properties of an organization.

Oid-Organization.jpg

Attributes

Attribute Description DT Card Conf Length
id id (OID) of the organization ST.OID 0..* optional -
name name of the organization EN.ON 1..* mandatory -
addr address of the organization AD 0..* optional -
telecom telecommunication contact of the organization TEL 0..* optional -