Canonical Resource Management Infrastructure Implementation Guide
1.0.0-ballot2 - Ballot International flag

This page is part of the Canonical Resource Management Infrastructure Implementation Guide (v1.0.0-ballot2: STU1 Ballot 2) based on FHIR (HL7® FHIR® Standard) R4. . For a full list of available versions, see the Directory of published versions

Resource Profile: CRMI Shareable NamingSystem

Official URL: http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablenamingsystem Version: 1.0.0-ballot2
Standards status: Trial-use Maturity Level: 1 Computable Name: CRMIShareableNamingSystem

Enforces the minimum information set for the naming system metadata required by HL7 and other organizations that share and publish naming systems

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from NamingSystem

NameFlagsCard.TypeDescription & Constraintsdoco
.. NamingSystem 1..1NamingSystemSystem of unique identification
... knowledgeRepresentationLevel S0..*codenarrative | semi-structured | structured | executable
URL: http://hl7.org/fhir/StructureDefinition/cqf-knowledgeRepresentationLevel
Binding: KnowledgeRepresentationLevelValues (required)
... url S1..1uriCanonical identifier for this {{title}}, represented as a URI (globally unique)
URL: http://hl7.org/fhir/StructureDefinition/artifact-url
... version S1..1stringBusiness version of the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-version
... versionPolicy S0..1CodeableConceptmetadata | strict
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionPolicy
Binding: Artifact Version Policy (extensible): The versioning policy of the artifact

... title S1..1stringName for this {{title}} (human friendly)
URL: http://hl7.org/fhir/StructureDefinition/artifact-title
... experimental S0..1booleanFor testing purposes, not real usage
URL: http://hl7.org/fhir/StructureDefinition/artifact-experimental
... name S1..1stringName for this naming system (computer friendly)
... status S1..1codedraft | active | retired | unknown
... publisher S0..1stringName of the publisher (organization or individual)
... description S1..1markdownNatural language description of the naming system

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. NamingSystem C1..1NamingSystemSystem of unique identification
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 3..*ExtensionExtension
Slice: Unordered, Open by value:url
... knowledgeRepresentationLevel S0..*codenarrative | semi-structured | structured | executable
URL: http://hl7.org/fhir/StructureDefinition/cqf-knowledgeRepresentationLevel
Binding: KnowledgeRepresentationLevelValues (required)
... version S1..1stringBusiness version of the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-version
... versionAlgorithm S0..1string, CodingHow to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible)
... versionPolicy S0..1CodeableConceptmetadata | strict
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionPolicy
Binding: Artifact Version Policy (extensible): The versioning policy of the artifact


... title S1..1stringName for this {{title}} (human friendly)
URL: http://hl7.org/fhir/StructureDefinition/artifact-title
... experimental S0..1booleanFor testing purposes, not real usage
URL: http://hl7.org/fhir/StructureDefinition/artifact-experimental
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... name SΣC1..1stringName for this naming system (computer friendly)
... status ?!SΣ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... kind Σ1..1codecodesystem | identifier | root
Binding: NamingSystemType (required): Identifies the purpose of the naming system.

... date Σ1..1dateTimeDate last changed
... publisher SΣ0..1stringName of the publisher (organization or individual)
... description S1..1markdownNatural language description of the naming system
... uniqueId Σ1..*BackboneElementUnique identifiers used for system
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type Σ1..1codeoid | uuid | uri | other
Binding: NamingSystemIdentifierType (required): Identifies the style of unique identifier used to identify a namespace.

.... value Σ1..1stringThe unique identifier

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
NamingSystem.statusrequiredPublicationStatus
NamingSystem.kindrequiredNamingSystemType
NamingSystem.uniqueId.typerequiredNamingSystemIdentifierType

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorNamingSystemIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorNamingSystemIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorNamingSystemIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorNamingSystemIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceNamingSystemA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
nsd-0warningNamingSystemName should be usable as an identifier for the module by machine processing applications such as code generation
: name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
nsd-1errorNamingSystemRoot systems cannot have uuid identifiers
: kind != 'root' or uniqueId.all(type != 'uuid')
nsd-2errorNamingSystemCan't have more than one preferred identifier for a type
: uniqueId.where(preferred = true).select(type).isDistinct()
NameFlagsCard.TypeDescription & Constraintsdoco
.. NamingSystem C1..1NamingSystemSystem of unique identification
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 3..*ExtensionExtension
Slice: Unordered, Open by value:url
... knowledgeRepresentationLevel S0..*codenarrative | semi-structured | structured | executable
URL: http://hl7.org/fhir/StructureDefinition/cqf-knowledgeRepresentationLevel
Binding: KnowledgeRepresentationLevelValues (required)
... url S1..1uriCanonical identifier for this {{title}}, represented as a URI (globally unique)
URL: http://hl7.org/fhir/StructureDefinition/artifact-url
... version S1..1stringBusiness version of the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-version
... versionAlgorithm S0..1string, CodingHow to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible)
... versionPolicy S0..1CodeableConceptmetadata | strict
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionPolicy
Binding: Artifact Version Policy (extensible): The versioning policy of the artifact


... title S1..1stringName for this {{title}} (human friendly)
URL: http://hl7.org/fhir/StructureDefinition/artifact-title
... experimental S0..1booleanFor testing purposes, not real usage
URL: http://hl7.org/fhir/StructureDefinition/artifact-experimental
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... name SΣC1..1stringName for this naming system (computer friendly)
... status ?!SΣ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... kind Σ1..1codecodesystem | identifier | root
Binding: NamingSystemType (required): Identifies the purpose of the naming system.

... date Σ1..1dateTimeDate last changed
... publisher SΣ0..1stringName of the publisher (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... responsible 0..1stringWho maintains system namespace?
... type 0..1CodeableConcepte.g. driver, provider, patient, bank etc.
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

... description S1..1markdownNatural language description of the naming system
... useContext Σ0..*UsageContextThe context that the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for naming system (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... usage 0..1stringHow/where is it used
... uniqueId Σ1..*BackboneElementUnique identifiers used for system
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type Σ1..1codeoid | uuid | uri | other
Binding: NamingSystemIdentifierType (required): Identifies the style of unique identifier used to identify a namespace.

.... value Σ1..1stringThe unique identifier
.... preferred 0..1booleanIs this the id that should be used for this type
.... comment 0..1stringNotes about identifier usage
.... period 0..1PeriodWhen is identifier valid?

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
NamingSystem.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
NamingSystem.statusrequiredPublicationStatus
NamingSystem.kindrequiredNamingSystemType
NamingSystem.typeextensibleIdentifier Type Codes
NamingSystem.jurisdictionextensibleJurisdiction ValueSet
NamingSystem.uniqueId.typerequiredNamingSystemIdentifierType

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorNamingSystemIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorNamingSystemIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorNamingSystemIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorNamingSystemIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceNamingSystemA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
nsd-0warningNamingSystemName should be usable as an identifier for the module by machine processing applications such as code generation
: name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
nsd-1errorNamingSystemRoot systems cannot have uuid identifiers
: kind != 'root' or uniqueId.all(type != 'uuid')
nsd-2errorNamingSystemCan't have more than one preferred identifier for a type
: uniqueId.where(preferred = true).select(type).isDistinct()

Differential View

This structure is derived from NamingSystem

NameFlagsCard.TypeDescription & Constraintsdoco
.. NamingSystem 1..1NamingSystemSystem of unique identification
... knowledgeRepresentationLevel S0..*codenarrative | semi-structured | structured | executable
URL: http://hl7.org/fhir/StructureDefinition/cqf-knowledgeRepresentationLevel
Binding: KnowledgeRepresentationLevelValues (required)
... url S1..1uriCanonical identifier for this {{title}}, represented as a URI (globally unique)
URL: http://hl7.org/fhir/StructureDefinition/artifact-url
... version S1..1stringBusiness version of the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-version
... versionPolicy S0..1CodeableConceptmetadata | strict
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionPolicy
Binding: Artifact Version Policy (extensible): The versioning policy of the artifact

... title S1..1stringName for this {{title}} (human friendly)
URL: http://hl7.org/fhir/StructureDefinition/artifact-title
... experimental S0..1booleanFor testing purposes, not real usage
URL: http://hl7.org/fhir/StructureDefinition/artifact-experimental
... name S1..1stringName for this naming system (computer friendly)
... status S1..1codedraft | active | retired | unknown
... publisher S0..1stringName of the publisher (organization or individual)
... description S1..1markdownNatural language description of the naming system

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. NamingSystem C1..1NamingSystemSystem of unique identification
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 3..*ExtensionExtension
Slice: Unordered, Open by value:url
... knowledgeRepresentationLevel S0..*codenarrative | semi-structured | structured | executable
URL: http://hl7.org/fhir/StructureDefinition/cqf-knowledgeRepresentationLevel
Binding: KnowledgeRepresentationLevelValues (required)
... version S1..1stringBusiness version of the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-version
... versionAlgorithm S0..1string, CodingHow to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible)
... versionPolicy S0..1CodeableConceptmetadata | strict
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionPolicy
Binding: Artifact Version Policy (extensible): The versioning policy of the artifact


... title S1..1stringName for this {{title}} (human friendly)
URL: http://hl7.org/fhir/StructureDefinition/artifact-title
... experimental S0..1booleanFor testing purposes, not real usage
URL: http://hl7.org/fhir/StructureDefinition/artifact-experimental
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... name SΣC1..1stringName for this naming system (computer friendly)
... status ?!SΣ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... kind Σ1..1codecodesystem | identifier | root
Binding: NamingSystemType (required): Identifies the purpose of the naming system.

... date Σ1..1dateTimeDate last changed
... publisher SΣ0..1stringName of the publisher (organization or individual)
... description S1..1markdownNatural language description of the naming system
... uniqueId Σ1..*BackboneElementUnique identifiers used for system
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type Σ1..1codeoid | uuid | uri | other
Binding: NamingSystemIdentifierType (required): Identifies the style of unique identifier used to identify a namespace.

.... value Σ1..1stringThe unique identifier

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
NamingSystem.statusrequiredPublicationStatus
NamingSystem.kindrequiredNamingSystemType
NamingSystem.uniqueId.typerequiredNamingSystemIdentifierType

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorNamingSystemIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorNamingSystemIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorNamingSystemIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorNamingSystemIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceNamingSystemA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
nsd-0warningNamingSystemName should be usable as an identifier for the module by machine processing applications such as code generation
: name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
nsd-1errorNamingSystemRoot systems cannot have uuid identifiers
: kind != 'root' or uniqueId.all(type != 'uuid')
nsd-2errorNamingSystemCan't have more than one preferred identifier for a type
: uniqueId.where(preferred = true).select(type).isDistinct()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. NamingSystem C1..1NamingSystemSystem of unique identification
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 3..*ExtensionExtension
Slice: Unordered, Open by value:url
... knowledgeRepresentationLevel S0..*codenarrative | semi-structured | structured | executable
URL: http://hl7.org/fhir/StructureDefinition/cqf-knowledgeRepresentationLevel
Binding: KnowledgeRepresentationLevelValues (required)
... url S1..1uriCanonical identifier for this {{title}}, represented as a URI (globally unique)
URL: http://hl7.org/fhir/StructureDefinition/artifact-url
... version S1..1stringBusiness version of the {{title}}
URL: http://hl7.org/fhir/StructureDefinition/artifact-version
... versionAlgorithm S0..1string, CodingHow to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible)
... versionPolicy S0..1CodeableConceptmetadata | strict
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionPolicy
Binding: Artifact Version Policy (extensible): The versioning policy of the artifact


... title S1..1stringName for this {{title}} (human friendly)
URL: http://hl7.org/fhir/StructureDefinition/artifact-title
... experimental S0..1booleanFor testing purposes, not real usage
URL: http://hl7.org/fhir/StructureDefinition/artifact-experimental
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... name SΣC1..1stringName for this naming system (computer friendly)
... status ?!SΣ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... kind Σ1..1codecodesystem | identifier | root
Binding: NamingSystemType (required): Identifies the purpose of the naming system.

... date Σ1..1dateTimeDate last changed
... publisher SΣ0..1stringName of the publisher (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... responsible 0..1stringWho maintains system namespace?
... type 0..1CodeableConcepte.g. driver, provider, patient, bank etc.
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

... description S1..1markdownNatural language description of the naming system
... useContext Σ0..*UsageContextThe context that the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for naming system (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... usage 0..1stringHow/where is it used
... uniqueId Σ1..*BackboneElementUnique identifiers used for system
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type Σ1..1codeoid | uuid | uri | other
Binding: NamingSystemIdentifierType (required): Identifies the style of unique identifier used to identify a namespace.

.... value Σ1..1stringThe unique identifier
.... preferred 0..1booleanIs this the id that should be used for this type
.... comment 0..1stringNotes about identifier usage
.... period 0..1PeriodWhen is identifier valid?

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
NamingSystem.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
NamingSystem.statusrequiredPublicationStatus
NamingSystem.kindrequiredNamingSystemType
NamingSystem.typeextensibleIdentifier Type Codes
NamingSystem.jurisdictionextensibleJurisdiction ValueSet
NamingSystem.uniqueId.typerequiredNamingSystemIdentifierType

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorNamingSystemIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorNamingSystemIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorNamingSystemIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorNamingSystemIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceNamingSystemA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
nsd-0warningNamingSystemName should be usable as an identifier for the module by machine processing applications such as code generation
: name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
nsd-1errorNamingSystemRoot systems cannot have uuid identifiers
: kind != 'root' or uniqueId.all(type != 'uuid')
nsd-2errorNamingSystemCan't have more than one preferred identifier for a type
: uniqueId.where(preferred = true).select(type).isDistinct()

 

Other representations of profile: CSV, Excel, Schematron