---
type: "resource"
title: "NamingSystem"
resource: "NamingSystem"
---
# 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:
- `CodeSystem` resources may include the concept and property content of the code system, whereas `NamingSystem` resources do not. `CodeSystem` resources also allow identifiers to be supplemented by specific metadata. The metadata are supported with extensions.
- `NamingSystem` resources 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](https://confluence.hl7.org/display/FHIR/Migrating+OIDs+to+FHIR).
## 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](/namingsystem-definitions#NamingSystem)** [0..*]: - System of unique identification
- **[NamingSystem.url](/namingsystem-definitions#NamingSystem.url)** [0..1]: [uri](/uri) Canonical identifier for this naming system, represented as a URI (globally unique)
- **[NamingSystem.identifier](/namingsystem-definitions#NamingSystem.identifier)** [0..*]: [Identifier](/Identifier) Additional identifier for the naming system (business identifier)
- **[NamingSystem.version](/namingsystem-definitions#NamingSystem.version)** [0..1]: [string](/string) Business version of the naming system
- **[NamingSystem.versionAlgorithm[x]](/namingsystem-definitions#NamingSystem.versionAlgorithm%5Bx%5D)** [0..1]: [string](/string), [Coding](/Coding) extensible:[version-algorithm](/valueset-version-algorithm) How to compare versions
- **[NamingSystem.name](/namingsystem-definitions#NamingSystem.name)** [1..1]: [string](/string) Name for this naming system (computer friendly)
- **[NamingSystem.title](/namingsystem-definitions#NamingSystem.title)** [0..1]: [string](/string) Title for this naming system (human friendly)
- **[NamingSystem.status](/namingsystem-definitions#NamingSystem.status)** [1..1]: [code](/code) required:[publication-status](/valueset-publication-status) draft | active | retired | unknown
- **[NamingSystem.kind](/namingsystem-definitions#NamingSystem.kind)** [1..1]: [code](/code) required:[namingsystem-type](/valueset-namingsystem-type) codesystem | identifier | root
- **[NamingSystem.experimental](/namingsystem-definitions#NamingSystem.experimental)** [0..1]: [boolean](/boolean) For testing only - never for real usage
- **[NamingSystem.date](/namingsystem-definitions#NamingSystem.date)** [1..1]: [dateTime](/dateTime) Date last changed
- **[NamingSystem.publisher](/namingsystem-definitions#NamingSystem.publisher)** [0..1]: [string](/string) Name of the publisher/steward (organization or individual)
- **[NamingSystem.contact](/namingsystem-definitions#NamingSystem.contact)** [0..*]: [ContactDetail](/ContactDetail) Contact details for the publisher
- **[NamingSystem.responsible](/namingsystem-definitions#NamingSystem.responsible)** [0..1]: [string](/string) Who maintains system namespace?
- **[NamingSystem.type](/namingsystem-definitions#NamingSystem.type)** [0..1]: [CodeableConcept](/CodeableConcept) preferred:[namingsystem-identifier-system-type](/valueset-namingsystem-identifier-system-type) e.g. driver, provider, patient, bank etc
- **[NamingSystem.description](/namingsystem-definitions#NamingSystem.description)** [0..1]: [markdown](/markdown) Natural language description of the naming system
- **[NamingSystem.useContext](/namingsystem-definitions#NamingSystem.useContext)** [0..*]: [UsageContext](/UsageContext) The context that the content is intended to support
- **[NamingSystem.jurisdiction](/namingsystem-definitions#NamingSystem.jurisdiction)** [0..*]: [CodeableConcept](/CodeableConcept) extensible:[jurisdiction](/valueset-jurisdiction) Jurisdiction of the authority that maintains the naming system (if applicable)
- **[NamingSystem.purpose](/namingsystem-definitions#NamingSystem.purpose)** [0..1]: [markdown](/markdown) Why this naming system is defined
- **[NamingSystem.copyright](/namingsystem-definitions#NamingSystem.copyright)** [0..1]: [markdown](/markdown) Notice about intellectual property ownership, can include restrictions on use
- **[NamingSystem.copyrightLabel](/namingsystem-definitions#NamingSystem.copyrightLabel)** [0..1]: [string](/string) Copyright holder and year(s)
- **[NamingSystem.approvalDate](/namingsystem-definitions#NamingSystem.approvalDate)** [0..1]: [date](/date) When the NamingSystem was approved by publisher
- **[NamingSystem.lastReviewDate](/namingsystem-definitions#NamingSystem.lastReviewDate)** [0..1]: [date](/date) When the NamingSystem was last reviewed by the publisher
- **[NamingSystem.effectivePeriod](/namingsystem-definitions#NamingSystem.effectivePeriod)** [0..1]: [Period](/Period) When the NamingSystem is expected to be used
- **[NamingSystem.topic](/namingsystem-definitions#NamingSystem.topic)** [0..*]: [CodeableConcept](/CodeableConcept) example:[definition-topic](/valueset-definition-topic) E.g. Education, Treatment, Assessment, etc
- **[NamingSystem.author](/namingsystem-definitions#NamingSystem.author)** [0..*]: [ContactDetail](/ContactDetail) Who authored the CodeSystem
- **[NamingSystem.editor](/namingsystem-definitions#NamingSystem.editor)** [0..*]: [ContactDetail](/ContactDetail) Who edited the NamingSystem
- **[NamingSystem.reviewer](/namingsystem-definitions#NamingSystem.reviewer)** [0..*]: [ContactDetail](/ContactDetail) Who reviewed the NamingSystem
- **[NamingSystem.endorser](/namingsystem-definitions#NamingSystem.endorser)** [0..*]: [ContactDetail](/ContactDetail) Who endorsed the NamingSystem
- **[NamingSystem.relatedArtifact](/namingsystem-definitions#NamingSystem.relatedArtifact)** [0..*]: [RelatedArtifact](/RelatedArtifact) Additional documentation, citations, etc
- **[NamingSystem.usage](/namingsystem-definitions#NamingSystem.usage)** [0..1]: [string](/string) How/where is it used
- **[NamingSystem.uniqueId](/namingsystem-definitions#NamingSystem.uniqueId)** [1..*]: [BackboneElement](/BackboneElement) Unique identifiers used for system
- **[NamingSystem.uniqueId.type](/namingsystem-definitions#NamingSystem.uniqueId.type)** [1..1]: [code](/code) required:[namingsystem-identifier-type](/valueset-namingsystem-identifier-type) oid | uuid | uri | iri-stem | v2csmnemonic | other
- **[NamingSystem.uniqueId.value](/namingsystem-definitions#NamingSystem.uniqueId.value)** [1..1]: [string](/string) The unique identifier
- **[NamingSystem.uniqueId.preferred](/namingsystem-definitions#NamingSystem.uniqueId.preferred)** [0..1]: [boolean](/boolean) Is this the id that should be used for this type
- **[NamingSystem.uniqueId.comment](/namingsystem-definitions#NamingSystem.uniqueId.comment)** [0..1]: [string](/string) Notes about identifier usage
- **[NamingSystem.uniqueId.period](/namingsystem-definitions#NamingSystem.uniqueId.period)** [0..1]: [Period](/Period) When is identifier valid?
- **[NamingSystem.uniqueId.authoritative](/namingsystem-definitions#NamingSystem.uniqueId.authoritative)** [0..1]: [boolean](/boolean) Whether the identifier is authoritative
## Mappings
- [NamingSystem Mappings](/namingsystem-mappings) — 20 mapping entries
## Implementation Guide
### implementationguide-NamingSystem-core.xml
```xml
```
## Operations
- [preferred-id](/namingsystem-operation-preferred-id) — Fetch Preferred id — This operation returns the preferred identifiers for identifiers, and terminologies.
- [translate-id](/namingsystem-operation-translate-id) — Translate id — This operation returns an identifier of the target type.
[Full Operations](/namingsystem-operations)
## Resource Packs
### list-NamingSystem-packs.xml
```xml
-
```
## Search Parameters
- [contact](/namingsystem-search#contact) — **string** — Name of an individual to contact — `NamingSystem.contact.name`
- [context](/namingsystem-search#context) — **token** — A use context assigned to the naming system — `(NamingSystem.useContext.value.ofType(CodeableConcept))`
- [context-quantity](/namingsystem-search#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](/namingsystem-search#context-type) — **token** — A type of use context assigned to the naming system — `NamingSystem.useContext.code`
- [context-type-quantity](/namingsystem-search#context-type-quantity) — **composite** — A use context type and quantity- or range-based value assigned to the naming system — `NamingSystem.useContext`
- [context-type-value](/namingsystem-search#context-type-value) — **composite** — A use context type and value assigned to the naming system — `NamingSystem.useContext`
- [date](/namingsystem-search#date) — **date** — The naming system publication date — `NamingSystem.date`
- [description](/namingsystem-search#description) — **string** — The description of the naming system — `NamingSystem.description`
- [identifier](/namingsystem-search#identifier) — **token** — External identifier for the naming system — `NamingSystem.identifier`
- [id-type](/namingsystem-search#id-type) — **token** — oid | uuid | uri | other — `NamingSystem.uniqueId.type`
- [jurisdiction](/namingsystem-search#jurisdiction) — **token** — Jurisdiction of the authority that maintains the the naming system — `NamingSystem.jurisdiction`
- [kind](/namingsystem-search#kind) — **token** — codesystem | identifier | root — `NamingSystem.kind`
- [name](/namingsystem-search#name) — **string** — Computationally friendly name of the naming system — `NamingSystem.name`
- [period](/namingsystem-search#period) — **date** — When is identifier valid? — `NamingSystem.uniqueId.period`
- [publisher](/namingsystem-search#publisher) — **string** — Name of the publisher of the naming system — `NamingSystem.publisher`
- [responsible](/namingsystem-search#responsible) — **string** — Who maintains system namespace? — `NamingSystem.responsible`
- [status](/namingsystem-search#status) — **token** — The current status of the naming system — `NamingSystem.status`
- [telecom](/namingsystem-search#telecom) — **token** — Contact details for individual or organization — `NamingSystem.contact.telecom`
- [type](/namingsystem-search#type) — **token** — e.g. driver, provider, patient, bank etc. — `NamingSystem.type`
- [url](/namingsystem-search#url) — **uri** — The uri that identifies the naming system — `NamingSystem.url`
- [value](/namingsystem-search#value) — **string** — The unique identifier — `NamingSystem.uniqueId.value`
- [version](/namingsystem-search#version) — **token** — The business version of the naming system — `NamingSystem.version`
- [effective](/namingsystem-search#effective) — **date** — The time during which the NamingSystem is intended to be in use — `NamingSystem.effectivePeriod`
- [derived-from](/namingsystem-search#derived-from) — **reference** — A resource that the NamingSystem is derived from — `NamingSystem.relatedArtifact.where(type='derived-from').resource`
- [predecessor](/namingsystem-search#predecessor) — **reference** — The predecessor of the NamingSystem — `NamingSystem.relatedArtifact.where(type='predecessor').resource`
- [topic](/namingsystem-search#topic) — **token** — Topics associated with the NamingSystem — `NamingSystem.topic`
- [experimental](/namingsystem-search#experimental) — **token** — Whether the NamingSystem is experimental — `NamingSystem.experimental`
[Full Search Parameters](/namingsystem-search)
## Examples
- [example](/namingsystem-example-example) — namingsystem-example — Example of how to use Naming System for a code system
- [example-id](/namingsystem-example-example-id) — namingsystem-example-id — Example of naming system for an identifier
- [example-metadata](/namingsystem-example-example-metadata) — namingsystem-example-metadata — Example Naming System Metadata
- [example-metadata-2](/namingsystem-example-example-metadata-2) — namingsystem-example-metadata-2 — Example Naming System Metadata v2
- [namingsystem-example](/namingsystem-example-namingsystem-example) — namingsystem-example
- [namingsystem-example-id](/namingsystem-example-namingsystem-example-id) — namingsystem-example-id
- [namingsystem-example-metadata](/namingsystem-example-namingsystem-example-metadata) — namingsystem-example-metadata
- [namingsystem-example-metadata-2](/namingsystem-example-namingsystem-example-metadata-2) — namingsystem-example-metadata-2
- [namingsystem-examples-header](/namingsystem-example-namingsystem-examples-header) — namingsystem-examples-header
[Full Examples](/namingsystem-examples)
## 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