NamingSystem
Introduction
Scope and Usage
Defines a specific code system or identifier system, so that it can be noted in a registry for other systems to find and understand an identifier.
Boundaries and Relationships
A NamingSystem resource manages identifiers of a code system or identifier system, identifier metadata (e.g. type), and limited code system or identifier system specific metadata (e.g. publisher and description). A CodeSystem resource represents a code system, its key properties, and may include the content, identifiers, and other metadata. There is known overlap between the CodeSystem and NamingSystem resource elements. However, the key differences between the resources are as follows:
CodeSystemresources may include the concept and property content of the code system, whereasNamingSystemresources do not.CodeSystemresources also allow identifiers to be supplemented by specific metadata. The metadata are supported with extensions.NamingSystemresources allow the identifiers for code systems or identifier systems to be supplemented by metadata specific to the identifiers. For example: preferred, authoritative, and validity period.
Background and Context
For discussion of policy for creating well maintained OIDs and URIs for resources, see The HL7 Confluence site.
Notes
Dealing with duplicate entries
In some cases, the same code or identifier system might accidentally be created more than once in a registry, for example because someone failed to check for an existing entry before adding a new one or if they didn't recognize that their addition replicates another. If this occurs, the system publisher should be contacted for guidance.
NamingSystem.url
The NamingSystem resource has a url property. The NamingSystem resource also specifies preferred identifiers for the Identifier or Code system that is being described. These are not the same thing; the url property of the NamingSystem itself identifies the registration of the system - the description itself, where as the preferred identifiers identify the system being described.
The NamingSystem.url SHOULD not be the same as a URL in the preferred identifiers list, and it would not therefore appear in a Coding.system or an Identifier.system.
StructureDefinition
Elements (Simplified)
- NamingSystem [0..*]: - System of unique identification
- NamingSystem.url [0..1]: uri Canonical identifier for this naming system, represented as a URI (globally unique)
- NamingSystem.identifier [0..*]: Identifier Additional identifier for the naming system (business identifier)
- NamingSystem.version [0..1]: string Business version of the naming system
- NamingSystem.versionAlgorithm[x] [0..1]: string, Coding extensible:version-algorithm How to compare versions
- NamingSystem.name [1..1]: string Name for this naming system (computer friendly)
- NamingSystem.title [0..1]: string Title for this naming system (human friendly)
- NamingSystem.status [1..1]: code required:publication-status draft | active | retired | unknown
- NamingSystem.kind [1..1]: code required:namingsystem-type codesystem | identifier | root
- NamingSystem.experimental [0..1]: boolean For testing only - never for real usage
- NamingSystem.date [1..1]: dateTime Date last changed
- NamingSystem.publisher [0..1]: string Name of the publisher/steward (organization or individual)
- NamingSystem.contact [0..*]: ContactDetail Contact details for the publisher
- NamingSystem.responsible [0..1]: string Who maintains system namespace?
- NamingSystem.type [0..1]: CodeableConcept preferred:namingsystem-identifier-system-type e.g. driver, provider, patient, bank etc
- NamingSystem.description [0..1]: markdown Natural language description of the naming system
- NamingSystem.useContext [0..*]: UsageContext The context that the content is intended to support
- NamingSystem.jurisdiction [0..*]: CodeableConcept extensible:jurisdiction Jurisdiction of the authority that maintains the naming system (if applicable)
- NamingSystem.purpose [0..1]: markdown Why this naming system is defined
- NamingSystem.copyright [0..1]: markdown Notice about intellectual property ownership, can include restrictions on use
- NamingSystem.copyrightLabel [0..1]: string Copyright holder and year(s)
- NamingSystem.approvalDate [0..1]: date When the NamingSystem was approved by publisher
- NamingSystem.lastReviewDate [0..1]: date When the NamingSystem was last reviewed by the publisher
- NamingSystem.effectivePeriod [0..1]: Period When the NamingSystem is expected to be used
- NamingSystem.topic [0..*]: CodeableConcept example:definition-topic E.g. Education, Treatment, Assessment, etc
- NamingSystem.author [0..*]: ContactDetail Who authored the CodeSystem
- NamingSystem.editor [0..*]: ContactDetail Who edited the NamingSystem
- NamingSystem.reviewer [0..*]: ContactDetail Who reviewed the NamingSystem
- NamingSystem.endorser [0..*]: ContactDetail Who endorsed the NamingSystem
- NamingSystem.relatedArtifact [0..*]: RelatedArtifact Additional documentation, citations, etc
- NamingSystem.usage [0..1]: string How/where is it used
- NamingSystem.uniqueId [1..*]: BackboneElement Unique identifiers used for system
- NamingSystem.uniqueId.type [1..1]: code required:namingsystem-identifier-type oid | uuid | uri | iri-stem | v2csmnemonic | other
- NamingSystem.uniqueId.value [1..1]: string The unique identifier
- NamingSystem.uniqueId.preferred [0..1]: boolean Is this the id that should be used for this type
- NamingSystem.uniqueId.comment [0..1]: string Notes about identifier usage
- NamingSystem.uniqueId.period [0..1]: Period When is identifier valid?
- NamingSystem.uniqueId.authoritative [0..1]: boolean Whether the identifier is authoritative
Mappings
- NamingSystem Mappings — 20 mapping entries
Implementation Guide
implementationguide-NamingSystem-core.xml
<?xml version="1.0" encoding="UTF-8"?>
<ImplementationGuide xmlns="http://hl7.org/fhir">
<id value="NamingSystem-core"/>
<version value="0.01"/>
<name value="NamingSystemCore"/>
<title value="NamingSystem Core"/>
<status value="draft"/>
<date value="1970-01-01T10:00:00+10:00"/>
<publisher value="HL7"/>
<description value="Defines common extensions and profiles used with or related to the NamingSystem resource"/>
<definition>
</definition>
</ImplementationGuide>
Operations
- preferred-id — Fetch Preferred id — This operation returns the preferred identifiers for identifiers, and terminologies.
- translate-id — Translate id — This operation returns an identifier of the target type.
Resource Packs
list-NamingSystem-packs.xml
<?xml version="1.0" encoding="UTF-8"?>
<List xmlns="http://hl7.org/fhir">
<id value="NamingSystem-packs"/>
<status value="current"/>
<mode value="working"/>
<entry>
<item>
<reference value="ImplementationGuide/NamingSystem-core"/>
</item>
</entry>
</List>
Search Parameters
- contact — string — Name of an individual to contact —
NamingSystem.contact.name - context — token — A use context assigned to the naming system —
(NamingSystem.useContext.value.ofType(CodeableConcept)) - context-quantity — quantity — A quantity- or range-valued use context assigned to the naming system —
(NamingSystem.useContext.value.ofType(Quantity)) | (NamingSystem.useContext.value.ofType(Range)) - context-type — token — A type of use context assigned to the naming system —
NamingSystem.useContext.code - context-type-quantity — composite — A use context type and quantity- or range-based value assigned to the naming system —
NamingSystem.useContext - context-type-value — composite — A use context type and value assigned to the naming system —
NamingSystem.useContext - date — date — The naming system publication date —
NamingSystem.date - description — string — The description of the naming system —
NamingSystem.description - identifier — token — External identifier for the naming system —
NamingSystem.identifier - id-type — token — oid | uuid | uri | other —
NamingSystem.uniqueId.type - jurisdiction — token — Jurisdiction of the authority that maintains the the naming system —
NamingSystem.jurisdiction - kind — token — codesystem | identifier | root —
NamingSystem.kind - name — string — Computationally friendly name of the naming system —
NamingSystem.name - period — date — When is identifier valid? —
NamingSystem.uniqueId.period - publisher — string — Name of the publisher of the naming system —
NamingSystem.publisher - responsible — string — Who maintains system namespace? —
NamingSystem.responsible - status — token — The current status of the naming system —
NamingSystem.status - telecom — token — Contact details for individual or organization —
NamingSystem.contact.telecom - type — token — e.g. driver, provider, patient, bank etc. —
NamingSystem.type - url — uri — The uri that identifies the naming system —
NamingSystem.url - value — string — The unique identifier —
NamingSystem.uniqueId.value - version — token — The business version of the naming system —
NamingSystem.version - effective — date — The time during which the NamingSystem is intended to be in use —
NamingSystem.effectivePeriod - derived-from — reference — A resource that the NamingSystem is derived from —
NamingSystem.relatedArtifact.where(type='derived-from').resource - predecessor — reference — The predecessor of the NamingSystem —
NamingSystem.relatedArtifact.where(type='predecessor').resource - topic — token — Topics associated with the NamingSystem —
NamingSystem.topic - experimental — token — Whether the NamingSystem is experimental —
NamingSystem.experimental
Examples
- example — namingsystem-example — Example of how to use Naming System for a code system
- example-id — namingsystem-example-id — Example of naming system for an identifier
- example-metadata — namingsystem-example-metadata — Example Naming System Metadata
- example-metadata-2 — namingsystem-example-metadata-2 — Example Naming System Metadata v2
- namingsystem-example — namingsystem-example
- namingsystem-example-id — namingsystem-example-id
- namingsystem-example-metadata — namingsystem-example-metadata
- namingsystem-example-metadata-2 — namingsystem-example-metadata-2
- namingsystem-examples-header — namingsystem-examples-header
Mapping Exceptions
namingsystem-fivews-mapping-exceptions.xml
Unmapped Elements
- FiveWs.what — Unknown
- FiveWs.author — Unknown
- FiveWs.actor — Unknown
- FiveWs.cause — Unknown
- FiveWs.where — Unknown
- FiveWs.context — Unknown
- FiveWs.init — Unknown
- FiveWs.source — Unknown
- FiveWs.who — Unknown
- FiveWs.grade — Unknown
- FiveWs.planned — Unknown
- FiveWs.done — Unknown
- FiveWs.subject — Unknown