STU3 Candidate

This page is part of the FHIR Specification (v1.8.0: STU 3 Draft). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

Detailed Descriptions for the elements in the NamingSystem resource.

NamingSystem
Definition

A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a "System" used within the Identifier and Coding data types.

Control1..1
InvariantsDefined on this element
nsd-1: Root systems cannot have uuid identifiers (expression : kind != 'root' or uniqueId.type = 'uuid', xpath: not(f:kind/@value='root' and f:uniqueId/f:type/@value='uuid'))
nsd-2: Can't have more than one preferred identifier for a type (expression : uniqueId.where(preferred = true).select(type).isDistinct(), xpath: not(exists(for $type in distinct-values(f:uniqueId/f:type/@value) return if (count(f:uniqueId[f:type/@value=$type and f:preferred/@value=true()])>1) then $type else ())))
nsd-3: Can only have replacedBy if naming system is retired (expression : replacedBy.empty() or status = 'retired', xpath: not(f:replacedBy) or f:status/@value='retired')
NamingSystem.name
Definition

A natural language name identifying the naming system. This name should be usable as an identifier for the module by machine processing applications such as code generation.

Control1..1
Typestring
Requirements

Support human navigation & code generation.

Summarytrue
Comments

The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure it is computable friendly. The"symbolic name" for an OID would be captured as an extension.

NamingSystem.status
Definition

The status of this naming system. Enables tracking the life-cycle of the content.

Control1..1
Terminology BindingPublicationStatus (Required)
Typecode
Is Modifiertrue
Summarytrue
Comments

Allows filtering of naming system that are appropriate for use vs. not.

NamingSystem.kind
Definition

Indicates the purpose for the naming system - what kinds of things does it make unique?

Control1..1
Terminology BindingNamingSystemType (Required)
Typecode
NamingSystem.date
Definition

The date (and optionally time) when the naming system was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the naming system changes.

Control1..1
TypedateTime
Summarytrue
Comments

Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the naming system. Additional specific dates may be added as extensions.

NamingSystem.publisher
Definition

The name of the individual or organization that published the naming system.

Control0..1
Typestring
Requirements

Helps establish the "authority/credibility" of the naming system. May also allow for contact.

Summarytrue
Comments

Usually an organization, but may be an individual. The publisher (or steward) of the naming system is the organization or individual primarily responsible for the maintenance and upkeep of the naming system. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the naming system. This item SHOULD be populated unless the information is available from context.

NamingSystem.contact
Definition

Contact details to assist a user in finding and communicating with the publisher.

Control0..*
TypeContactDetail
Summarytrue
Comments

May be a web site, an email address, a telephone number, etc.

NamingSystem.responsible
Definition

The name of the organization that is responsible for issuing identifiers or codes for this namespace and ensuring their non-collision.

Control0..1
Typestring
Comments

This is the primary organization. Responsibility for some aspects of a namespace may be delegated.

NamingSystem.type
Definition

Categorizes a naming system for easier search by grouping related naming systems.

Control0..1
Terminology BindingIdentifier Type Codes (Extensible)
TypeCodeableConcept
Comments

This will most commonly be used for identifier namespaces, but categories could potentially be useful for code systems and authorities as well.

NamingSystem.description
Definition

A free text natural language description of the naming system from the consumer's perspective. Details about what the namespace identifies including scope, granularity, version labeling, etc.

Control0..1
Typemarkdown
Comments

This description can be used to capture details such as why the naming system was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the module as conveyed in the text field of the resource itself. This item SHOULD be populated unless the information is available from context.

NamingSystem.useContext
Definition

The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of code system definitions.

Control0..*
TypeUsageContext
Requirements

Assist in searching for appropriate content.

Summarytrue
Comments

When multiple usageContexts are specified, there is no expectation for whether all or any of the contexts apply.

NamingSystem.jurisdiction
Definition

A jurisdiction in which the naming system is intended to be used.

Control0..*
Terminology BindingJurisdiction ValueSet (Extensible)
TypeCodeableConcept
Summarytrue
NamingSystem.usage
Definition

Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc.

Control0..1
Typestring
NamingSystem.uniqueId
Definition

Indicates how the system may be identified when referenced in electronic exchange.

Control1..*
Comments

Multiple identifiers may exist, either due to duplicate registration, regional rules, needs of different communication technologies, etc.

NamingSystem.uniqueId.type
Definition

Identifies the unique identifier scheme used for this particular identifier.

Control1..1
Terminology BindingNamingSystemIdentifierType (Required)
Typecode
Comments

Different identifier types may be used in different types of communications (OIDs for v3, URIs for FHIR, etc.). Other includes RUIDs from v3, standard v2 code name strings, etc.

NamingSystem.uniqueId.value
Definition

The string that should be sent over the wire to identify the code system or identifier system.

Control1..1
Typestring
Comments

If the value is a URI intended for use as FHIR system identifier, the URI should not contain "\" or "?" or "," since this makes escaping very difficult.

NamingSystem.uniqueId.preferred
Definition

Indicates whether this identifier is the "preferred" identifier of this type.

Control0..1
Typeboolean
Meaning if MissingIf there are multiple ids, and one is labelled "preferred", then the assumption is that the others are not preferred. In the absence of any id marked as preferred, no inference can be drawn
NamingSystem.uniqueId.comment
Definition

Notes about the past or intended usage of this identifier.

Control0..1
Typestring
Comments

e.g. "must be used in Germany" or "was initially published in error with this value".

NamingSystem.uniqueId.period
Definition

Identifies the period of time over which this identifier is considered appropriate to refer to the naming system. Outside of this window, the identifier might be non-deterministic.

Control0..1
TypePeriod
Comments

Within a registry, a given identifier should only be "active" for a single namespace at a time. (Ideally, an identifier should only ever be associated with a single namespace across all time).

NamingSystem.replacedBy
Definition

For naming systems that are retired, indicates the naming system that should be used in their place (if any).

Control0..1
TypeReference(NamingSystem)
InvariantsAffect this element
nsd-3: Can only have replacedBy if naming system is retired (expression : replacedBy.empty() or status = 'retired', xpath: not(f:replacedBy) or f:status/@value='retired')