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
FHIR
Infrastructure
Work
Group
|
Maturity Level : 1 | Compartments : Not linked to any defined compartments |
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.
Defines a specific code system or identifier system, so that it can be noted in a registry for other systems to find and understand the identifier.
The
CodeSystem
resource
defines
the
content
of
a
code
system,
and
also
it's
preferred
identifier.
The
NamingSystem
resource
identifies
the
existence
of
a
code
or
identifier
system,
and
its
possible
and
preferred
identifiers.
The
key
difference
between
the
resources
is
who
creates
and
manages
them
-
CodeSystem
resources
are
managed
by
the
owner
of
the
code
system
resource,
who
can
properly
define
the
features
and
content
of
the
code
system.
NamingSystem
resources,
on
the
other
hand,
are
frequently
defined
by
3rd
parties
that
encounter
the
code
system
in
use,
and
need
to
describe
the
use,
but
do
not
have
the
authority
to
define
the
features
and
content.
Additionally,
there
may
be
multiple
authoritative
NamingSystem
resources
for
a
code
systemn,
but
there
should
only
be
one
CodeSystem
resource.
For
discussion
of
policy
for
creating
well
maintained
OIDs
and
URIs
for
resources,
see
The
HL7
WIKI
.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
I | DomainResource |
System
of
unique
identification
Root systems cannot have uuid identifiers Can only have replacedBy if naming system is retired Can't have more than one preferred identifier for a type |
|
|
Σ | 1..1 | string | Name for this naming system (Computer friendly) |
|
?! Σ | 1..1 | code |
draft
|
active
|
retired
PublicationStatus ( Required ) |
|
1..1 | code |
codesystem
|
identifier
|
root
NamingSystemType ( Required ) |
|
|
Σ | 1..1 | dateTime | Date this was last changed |
|
Σ | 0..1 | string | Name of the publisher (Organization or individual) |
|
Σ | 0..* | ContactDetail | Contact details for the publisher |
|
0..1 | string | Who maintains system namespace? | |
|
0..1 | CodeableConcept |
e.g.
driver,
provider,
patient,
bank
etc.
Identifier Type Codes ( Extensible ) |
|
|
0..1 | markdown | Natural language description of the naming system | |
|
Σ | 0..* | UsageContext | Content intends to support these contexts |
|
Σ | 0..* | CodeableConcept |
Intended
jurisdiction
for
naming
system
(if
applicable)
Jurisdiction ValueSet ( Extensible ) |
|
0..1 | string | How/where is it used | |
|
1..* | BackboneElement | Unique identifiers used for system | |
|
1..1 | code |
oid
|
uuid
|
uri
|
other
NamingSystemIdentifierType ( Required ) |
|
|
1..1 | string | The unique identifier | |
|
0..1 | boolean | Is this the id that should be used for this type | |
|
0..1 | string | Notes about identifier usage | |
|
0..1 | Period | When is identifier valid? | |
|
I | 0..1 | Reference ( NamingSystem ) | Use this instead |
Documentation
for
this
format
|
||||
UML Diagram ( Legend )
XML Template
<NamingSystem xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <name value="[string]"/><!-- 1..1 Name for this naming system (Computer friendly) --> <status value="[code]"/><!-- 1..1 draft | active | retired --> <kind value="[code]"/><!-- 1..1 codesystem | identifier | root --> <date value="[dateTime]"/><!-- 1..1 Date this was last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher (Organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <responsible value="[string]"/><!-- 0..1 Who maintains system namespace? --> <type><!-- 0..1 CodeableConcept e.g. driver, provider, patient, bank etc. --></type> <description value="[markdown]"/><!-- 0..1 Natural language description of the naming system --> <useContext><!-- 0..* UsageContext Content intends to support these contexts --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for naming system (if applicable) --></jurisdiction> <usage value="[string]"/><!-- 0..1 How/where is it used --> <uniqueId> <!-- 1..* Unique identifiers used for system --> <type value="[code]"/><!-- 1..1 oid | uuid | uri | other --> <value value="[string]"/><!-- 1..1 The unique identifier --> <preferred value="[boolean]"/><!-- 0..1 Is this the id that should be used for this type --> <comment value="[string]"/><!-- 0..1 Notes about identifier usage --> <period><!-- 0..1 Period When is identifier valid? --></period> </uniqueId> <replacedBy><!--
0..1 Reference(NamingSystem) Use this instead --></replacedBy> </NamingSystem>
JSON Template
{
"resourceType" : "NamingSystem",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"name" : "<string>", // R! Name for this naming system (Computer friendly)
"status" : "<code>", // R! draft | active | retired
"kind" : "<code>", // R! codesystem | identifier | root
"date" : "<dateTime>", // R! Date this was last changed
"publisher" : "<string>", // Name of the publisher (Organization or individual)
"contact" : [{ ContactDetail }], // Contact details for the publisher
"responsible" : "<string>", // Who maintains system namespace?
"type" : { CodeableConcept }, // e.g. driver, provider, patient, bank etc.
"description" : "<markdown>", // Natural language description of the naming system
"useContext" : [{ UsageContext }], // Content intends to support these contexts
"jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for naming system (if applicable)
"usage" : "<string>", // How/where is it used
"uniqueId" : [{ // R! Unique identifiers used for system
"type" : "<code>", // R! oid | uuid | uri | other
"value" : "<string>", // R! The unique identifier
"preferred" : <boolean>, // Is this the id that should be used for this type
"comment" : "<string>", // Notes about identifier usage
"period" : { Period } // When is identifier valid?
}],
"replacedBy" : { Reference(NamingSystem) } // C? Use this instead
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:NamingSystem; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:NamingSystem.name [ string ]; # 1..1 Name for this naming system (Computer friendly) fhir:NamingSystem.status [ code ]; # 1..1 draft | active | retired fhir:NamingSystem.kind [ code ]; # 1..1 codesystem | identifier | root fhir:NamingSystem.date [ dateTime ]; # 1..1 Date this was last changed fhir:NamingSystem.publisher [ string ]; # 0..1 Name of the publisher (Organization or individual) fhir:NamingSystem.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher fhir:NamingSystem.responsible [ string ]; # 0..1 Who maintains system namespace? fhir:NamingSystem.type [ CodeableConcept ]; # 0..1 e.g. driver, provider, patient, bank etc. fhir:NamingSystem.description [ markdown ]; # 0..1 Natural language description of the naming system fhir:NamingSystem.useContext [ UsageContext ], ... ; # 0..* Content intends to support these contexts fhir:NamingSystem.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for naming system (if applicable) fhir:NamingSystem.usage [ string ]; # 0..1 How/where is it used fhir:NamingSystem.uniqueId [ # 1..* Unique identifiers used for system fhir:NamingSystem.uniqueId.type [ code ]; # 1..1 oid | uuid | uri | other fhir:NamingSystem.uniqueId.value [ string ]; # 1..1 The unique identifier fhir:NamingSystem.uniqueId.preferred [ boolean ]; # 0..1 Is this the id that should be used for this type fhir:NamingSystem.uniqueId.comment [ string ]; # 0..1 Notes about identifier usage fhir:NamingSystem.uniqueId.period [ Period ]; # 0..1 When is identifier valid? ], ...; fhir:NamingSystem.replacedBy [ Reference(NamingSystem) ]; # 0..1 Use this instead ]
Changes since DSTU2
| NamingSystem | |
| NamingSystem.status | Change value set from http://hl7.org/fhir/ValueSet/conformance-resource-status to http://hl7.org/fhir/ValueSet/publication-status |
| NamingSystem.contact | Type changed from BackboneElement to ContactDetail |
| NamingSystem.description | Type changed from string to markdown |
| NamingSystem.useContext |
Type
changed
from
CodeableConcept
to
UsageContext
Remove Binding http://hl7.org/fhir/ValueSet/use-context (extensible) |
| NamingSystem.jurisdiction | added Element |
| NamingSystem.uniqueId.comment | added Element |
| NamingSystem.contact.name | deleted |
| NamingSystem.contact.telecom | deleted |
See the Full Difference for further information
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
I | DomainResource |
System
of
unique
identification
Root systems cannot have uuid identifiers Can only have replacedBy if naming system is retired Can't have more than one preferred identifier for a type |
|
|
Σ | 1..1 | string | Name for this naming system (Computer friendly) |
|
?! Σ | 1..1 | code |
draft
|
active
|
retired
PublicationStatus ( Required ) |
|
1..1 | code |
codesystem
|
identifier
|
root
NamingSystemType ( Required ) |
|
|
Σ | 1..1 | dateTime | Date this was last changed |
|
Σ | 0..1 | string | Name of the publisher (Organization or individual) |
|
Σ | 0..* | ContactDetail | Contact details for the publisher |
|
0..1 | string | Who maintains system namespace? | |
|
0..1 | CodeableConcept |
e.g.
driver,
provider,
patient,
bank
etc.
Identifier Type Codes ( Extensible ) |
|
|
0..1 | markdown | Natural language description of the naming system | |
|
Σ | 0..* | UsageContext | Content intends to support these contexts |
|
Σ | 0..* | CodeableConcept |
Intended
jurisdiction
for
naming
system
(if
applicable)
Jurisdiction ValueSet ( Extensible ) |
|
0..1 | string | How/where is it used | |
|
1..* | BackboneElement | Unique identifiers used for system | |
|
1..1 | code |
oid
|
uuid
|
uri
|
other
NamingSystemIdentifierType ( Required ) |
|
|
1..1 | string | The unique identifier | |
|
0..1 | boolean | Is this the id that should be used for this type | |
|
0..1 | string | Notes about identifier usage | |
|
0..1 | Period | When is identifier valid? | |
|
I | 0..1 | Reference ( NamingSystem ) | Use this instead |
Documentation
for
this
format
|
||||
XML Template
<NamingSystem xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <name value="[string]"/><!-- 1..1 Name for this naming system (Computer friendly) --> <status value="[code]"/><!-- 1..1 draft | active | retired --> <kind value="[code]"/><!-- 1..1 codesystem | identifier | root --> <date value="[dateTime]"/><!-- 1..1 Date this was last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher (Organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <responsible value="[string]"/><!-- 0..1 Who maintains system namespace? --> <type><!-- 0..1 CodeableConcept e.g. driver, provider, patient, bank etc. --></type> <description value="[markdown]"/><!-- 0..1 Natural language description of the naming system --> <useContext><!-- 0..* UsageContext Content intends to support these contexts --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for naming system (if applicable) --></jurisdiction> <usage value="[string]"/><!-- 0..1 How/where is it used --> <uniqueId> <!-- 1..* Unique identifiers used for system --> <type value="[code]"/><!-- 1..1 oid | uuid | uri | other --> <value value="[string]"/><!-- 1..1 The unique identifier --> <preferred value="[boolean]"/><!-- 0..1 Is this the id that should be used for this type --> <comment value="[string]"/><!-- 0..1 Notes about identifier usage --> <period><!-- 0..1 Period When is identifier valid? --></period> </uniqueId> <replacedBy><!--
0..1 Reference(NamingSystem) Use this instead --></replacedBy> </NamingSystem>
JSON Template
{
"resourceType" : "NamingSystem",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"name" : "<string>", // R! Name for this naming system (Computer friendly)
"status" : "<code>", // R! draft | active | retired
"kind" : "<code>", // R! codesystem | identifier | root
"date" : "<dateTime>", // R! Date this was last changed
"publisher" : "<string>", // Name of the publisher (Organization or individual)
"contact" : [{ ContactDetail }], // Contact details for the publisher
"responsible" : "<string>", // Who maintains system namespace?
"type" : { CodeableConcept }, // e.g. driver, provider, patient, bank etc.
"description" : "<markdown>", // Natural language description of the naming system
"useContext" : [{ UsageContext }], // Content intends to support these contexts
"jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for naming system (if applicable)
"usage" : "<string>", // How/where is it used
"uniqueId" : [{ // R! Unique identifiers used for system
"type" : "<code>", // R! oid | uuid | uri | other
"value" : "<string>", // R! The unique identifier
"preferred" : <boolean>, // Is this the id that should be used for this type
"comment" : "<string>", // Notes about identifier usage
"period" : { Period } // When is identifier valid?
}],
"replacedBy" : { Reference(NamingSystem) } // C? Use this instead
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:NamingSystem; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:NamingSystem.name [ string ]; # 1..1 Name for this naming system (Computer friendly) fhir:NamingSystem.status [ code ]; # 1..1 draft | active | retired fhir:NamingSystem.kind [ code ]; # 1..1 codesystem | identifier | root fhir:NamingSystem.date [ dateTime ]; # 1..1 Date this was last changed fhir:NamingSystem.publisher [ string ]; # 0..1 Name of the publisher (Organization or individual) fhir:NamingSystem.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher fhir:NamingSystem.responsible [ string ]; # 0..1 Who maintains system namespace? fhir:NamingSystem.type [ CodeableConcept ]; # 0..1 e.g. driver, provider, patient, bank etc. fhir:NamingSystem.description [ markdown ]; # 0..1 Natural language description of the naming system fhir:NamingSystem.useContext [ UsageContext ], ... ; # 0..* Content intends to support these contexts fhir:NamingSystem.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for naming system (if applicable) fhir:NamingSystem.usage [ string ]; # 0..1 How/where is it used fhir:NamingSystem.uniqueId [ # 1..* Unique identifiers used for system fhir:NamingSystem.uniqueId.type [ code ]; # 1..1 oid | uuid | uri | other fhir:NamingSystem.uniqueId.value [ string ]; # 1..1 The unique identifier fhir:NamingSystem.uniqueId.preferred [ boolean ]; # 0..1 Is this the id that should be used for this type fhir:NamingSystem.uniqueId.comment [ string ]; # 0..1 Notes about identifier usage fhir:NamingSystem.uniqueId.period [ Period ]; # 0..1 When is identifier valid? ], ...; fhir:NamingSystem.replacedBy [ Reference(NamingSystem) ]; # 0..1 Use this instead ]
Changes since DSTU2
| NamingSystem | |
| NamingSystem.status | Change value set from http://hl7.org/fhir/ValueSet/conformance-resource-status to http://hl7.org/fhir/ValueSet/publication-status |
| NamingSystem.contact | Type changed from BackboneElement to ContactDetail |
| NamingSystem.description | Type changed from string to markdown |
| NamingSystem.useContext |
Type
changed
from
CodeableConcept
to
UsageContext
Remove Binding http://hl7.org/fhir/ValueSet/use-context (extensible) |
| NamingSystem.jurisdiction | added Element |
| NamingSystem.uniqueId.comment | added Element |
| NamingSystem.contact.name | deleted |
| NamingSystem.contact.telecom | deleted |
See the Full Difference for further information
Alternate definitions: Master Definition ( XML , JSON ), XML Schema / Schematron (for ) + JSON Schema , ShEx (for Turtle ), JSON-LD (for RDF as JSON-LD ),
| Path | Definition | Type | Reference |
|---|---|---|---|
| NamingSystem.status | The lifecycle status of a Value Set or Concept Map. | Required | PublicationStatus |
| NamingSystem.kind | Identifies the purpose of the naming system. | Required | NamingSystemType |
| NamingSystem.type | A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | Extensible | Identifier Type Codes |
| NamingSystem.jurisdiction | Countries and regions within which this artifact is targeted for use | Extensible | Jurisdiction ValueSet |
| NamingSystem.uniqueId.type | Identifies the style of unique identifier used to identify a namespace. | Required | NamingSystemIdentifierType |
:
kind
!=
'root'
or
uniqueId.type
=
'uuid'
)
:
uniqueId.where(preferred
=
true).select(type).isDistinct()
)
:
replacedBy.empty()
or
status
=
'retired'
)
In some cases, the same code or identifier system might accidentally get created more than once in a registry (perhaps because someone failed to check for an existing entry before adding a new one or knows the same concept with a different name. If this occurs, one of the system entries should be deleted and the remaining entry should have its information updated to include any identifiers present on the original entry (and possibly have its descriptive information modified to include additional information gleaned from the duplicate entry).
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
| Name | Type | Description | Paths | In Common |
| contact | string | Name of an individual to contact | NamingSystem.contact.name | |
| date | date | The naming system publication date | NamingSystem.date | |
| description | string | Text search against the description of the naming system | NamingSystem.description | |
| id-type | token | oid | uuid | uri | other | NamingSystem.uniqueId.type | |
| jurisdiction | token | Intended jurisdiction for naming system | NamingSystem.jurisdiction | |
| kind | token | codesystem | identifier | root | NamingSystem.kind | |
| name | string | 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 | |
| replaced-by | reference | Use this instead |
NamingSystem.replacedBy
( NamingSystem ) |
|
| 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 | |
| value | string | The unique identifier | NamingSystem.uniqueId.value |