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

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

Resource Profile: CRMI Shareable ConceptMap

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

Enforces the minimum information set for the concept map metadata required by HL7 and other organizations that share and publish concept maps

Usage:

Formal Views of Profile Content

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

This structure is derived from ConceptMap

NameFlagsCard.TypeDescription & Constraintsdoco
.. ConceptMap 1..1ConceptMapA map from one set of concepts to one or more other concepts
... knowledgeRepresentationLevel S0..*codenarrative | semi-structured | structured | executable
URL: http://hl7.org/fhir/StructureDefinition/cqf-knowledgeRepresentationLevel
Binding: KnowledgeRepresentationLevelValues (required)
... versionAlgorithm S0..1string, CodingHow to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible): The algorithm used to compare versions for the artifact

... versionPolicy S0..1Codingmetadata | strict
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionPolicy
Binding: Artifact Version Policy Values (extensible): The versioning policy of the artifact

... version S1..1stringBusiness version of the concept map
... name S0..1stringName for this concept map (computer friendly)
... title S1..1stringName for this concept map (human friendly)
... status S1..1codedraft | active | retired | unknown
... experimental S1..1booleanFor testing purposes, not real usage
... publisher S0..1stringName of the publisher (organization or individual)
... description S1..1markdownNatural language description of the concept map

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. ConceptMap C1..1ConceptMapA map from one set of concepts to one or more other concepts
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... knowledgeRepresentationLevel S0..*codenarrative | semi-structured | structured | executable
URL: http://hl7.org/fhir/StructureDefinition/cqf-knowledgeRepresentationLevel
Binding: KnowledgeRepresentationLevelValues (required)
... versionAlgorithm S0..1string, CodingHow to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible): The algorithm used to compare versions for the artifact


... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url SΣ1..1uriCanonical identifier for this concept map, represented as a URI (globally unique)
... version SΣ1..1stringBusiness version of the concept map
... name SΣC0..1stringName for this concept map (computer friendly)
... title SΣ1..1stringName for this concept map (human friendly)
... status ?!SΣ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental SΣ1..1booleanFor testing purposes, not real usage
... publisher SΣ0..1stringName of the publisher (organization or individual)
... description S1..1markdownNatural language description of the concept map

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
ConceptMap.statusrequiredPublicationStatus

Constraints

IdGradePath(s)DetailsRequirements
cmd-0warningConceptMapName 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}')
dom-2errorConceptMapIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorConceptMapIf 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-4errorConceptMapIf 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-5errorConceptMapIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceConceptMapA 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()
NameFlagsCard.TypeDescription & Constraintsdoco
.. ConceptMap C1..1ConceptMapA map from one set of concepts to one or more other concepts
... 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 0..*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)
... versionAlgorithm S0..1string, CodingHow to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible): The algorithm used to compare versions for the artifact


... versionPolicy S0..1Codingmetadata | strict
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionPolicy
Binding: Artifact Version Policy Values (extensible): The versioning policy of the artifact


... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url SΣ1..1uriCanonical identifier for this concept map, represented as a URI (globally unique)
... identifier Σ0..1IdentifierAdditional identifier for the concept map
... version SΣ1..1stringBusiness version of the concept map
... name SΣC0..1stringName for this concept map (computer friendly)
... title SΣ1..1stringName for this concept map (human friendly)
... status ?!SΣ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental SΣ1..1booleanFor testing purposes, not real usage
... date Σ0..1dateTimeDate last changed
... publisher SΣ0..1stringName of the publisher (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description S1..1markdownNatural language description of the concept map
... useContext Σ0..*UsageContextThe context that the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for concept map (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1markdownWhy this concept map is defined
... copyright 0..1markdownUse and/or publishing restrictions
... source[x] Σ0..1The source value set that contains the concepts that are being mapped
.... sourceUriuri
.... sourceCanonicalcanonical(ValueSet)
... target[x] Σ0..1The target value set which provides context for the mappings
.... targetUriuri
.... targetCanonicalcanonical(ValueSet)
... group 0..*BackboneElementSame source and target systems
.... 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
.... source 0..1uriSource system where concepts to be mapped are defined
.... sourceVersion 0..1stringSpecific version of the code system
.... target 0..1uriTarget system that the concepts are to be mapped to
.... targetVersion 0..1stringSpecific version of the code system
.... element 1..*BackboneElementMappings for a concept from the source set
..... 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
..... code 0..1codeIdentifies element being mapped
..... display 0..1stringDisplay for the code
..... target C0..*BackboneElementConcept in target system for element
...... 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
...... code 0..1codeCode that identifies the target element
...... display 0..1stringDisplay for the code
...... equivalence ?!1..1coderelatedto | equivalent | equal | wider | subsumes | narrower | specializes | inexact | unmatched | disjoint
Binding: ConceptMapEquivalence (required): The degree of equivalence between concepts.

...... comment C0..1stringDescription of status/issues in mapping
...... dependsOn 0..*BackboneElementOther elements required for this mapping (from context)
....... 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
....... property 1..1uriReference to property mapping depends on
....... system 0..1canonical(CodeSystem)Code System (if necessary)
....... value 1..1stringValue of the referenced element
....... display 0..1stringDisplay for the code (if value is a code)
...... product 0..*See dependsOn (ConceptMap)Other concepts that this mapping also produces
.... unmapped C0..1BackboneElementWhat to do when there is no mapping for the source concept
..... 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
..... mode 1..1codeprovided | fixed | other-map
Binding: ConceptMapGroupUnmappedMode (required): Defines which action to take if there is no match in the group.

..... code 0..1codeFixed code when mode = fixed
..... display 0..1stringDisplay for the code
..... url 0..1canonical(ConceptMap)canonical reference to an additional ConceptMap to use for mapping if the source concept is unmapped

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
ConceptMap.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
ConceptMap.statusrequiredPublicationStatus
ConceptMap.jurisdictionextensibleJurisdiction ValueSet
ConceptMap.group.element.target.equivalencerequiredConceptMapEquivalence
ConceptMap.group.unmapped.moderequiredConceptMapGroupUnmappedMode

Constraints

IdGradePath(s)DetailsRequirements
cmd-1errorConceptMap.group.element.targetIf the map is narrower or inexact, there SHALL be some comments
: comment.exists() or equivalence.empty() or ((equivalence != 'narrower') and (equivalence != 'inexact'))
cmd-2errorConceptMap.group.unmappedIf the mode is 'fixed', a code must be provided
: (mode = 'fixed') implies code.exists()
cmd-3errorConceptMap.group.unmappedIf the mode is 'other-map', a url must be provided
: (mode = 'other-map') implies url.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()

This structure is derived from ConceptMap

Differential View

This structure is derived from ConceptMap

NameFlagsCard.TypeDescription & Constraintsdoco
.. ConceptMap 1..1ConceptMapA map from one set of concepts to one or more other concepts
... knowledgeRepresentationLevel S0..*codenarrative | semi-structured | structured | executable
URL: http://hl7.org/fhir/StructureDefinition/cqf-knowledgeRepresentationLevel
Binding: KnowledgeRepresentationLevelValues (required)
... versionAlgorithm S0..1string, CodingHow to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible): The algorithm used to compare versions for the artifact

... versionPolicy S0..1Codingmetadata | strict
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionPolicy
Binding: Artifact Version Policy Values (extensible): The versioning policy of the artifact

... version S1..1stringBusiness version of the concept map
... name S0..1stringName for this concept map (computer friendly)
... title S1..1stringName for this concept map (human friendly)
... status S1..1codedraft | active | retired | unknown
... experimental S1..1booleanFor testing purposes, not real usage
... publisher S0..1stringName of the publisher (organization or individual)
... description S1..1markdownNatural language description of the concept map

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ConceptMap C1..1ConceptMapA map from one set of concepts to one or more other concepts
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... knowledgeRepresentationLevel S0..*codenarrative | semi-structured | structured | executable
URL: http://hl7.org/fhir/StructureDefinition/cqf-knowledgeRepresentationLevel
Binding: KnowledgeRepresentationLevelValues (required)
... versionAlgorithm S0..1string, CodingHow to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible): The algorithm used to compare versions for the artifact


... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url SΣ1..1uriCanonical identifier for this concept map, represented as a URI (globally unique)
... version SΣ1..1stringBusiness version of the concept map
... name SΣC0..1stringName for this concept map (computer friendly)
... title SΣ1..1stringName for this concept map (human friendly)
... status ?!SΣ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental SΣ1..1booleanFor testing purposes, not real usage
... publisher SΣ0..1stringName of the publisher (organization or individual)
... description S1..1markdownNatural language description of the concept map

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
ConceptMap.statusrequiredPublicationStatus

Constraints

IdGradePath(s)DetailsRequirements
cmd-0warningConceptMapName 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}')
dom-2errorConceptMapIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorConceptMapIf 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-4errorConceptMapIf 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-5errorConceptMapIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceConceptMapA 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()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ConceptMap C1..1ConceptMapA map from one set of concepts to one or more other concepts
... 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 0..*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)
... versionAlgorithm S0..1string, CodingHow to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible): The algorithm used to compare versions for the artifact


... versionPolicy S0..1Codingmetadata | strict
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionPolicy
Binding: Artifact Version Policy Values (extensible): The versioning policy of the artifact


... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url SΣ1..1uriCanonical identifier for this concept map, represented as a URI (globally unique)
... identifier Σ0..1IdentifierAdditional identifier for the concept map
... version SΣ1..1stringBusiness version of the concept map
... name SΣC0..1stringName for this concept map (computer friendly)
... title SΣ1..1stringName for this concept map (human friendly)
... status ?!SΣ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental SΣ1..1booleanFor testing purposes, not real usage
... date Σ0..1dateTimeDate last changed
... publisher SΣ0..1stringName of the publisher (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description S1..1markdownNatural language description of the concept map
... useContext Σ0..*UsageContextThe context that the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for concept map (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1markdownWhy this concept map is defined
... copyright 0..1markdownUse and/or publishing restrictions
... source[x] Σ0..1The source value set that contains the concepts that are being mapped
.... sourceUriuri
.... sourceCanonicalcanonical(ValueSet)
... target[x] Σ0..1The target value set which provides context for the mappings
.... targetUriuri
.... targetCanonicalcanonical(ValueSet)
... group 0..*BackboneElementSame source and target systems
.... 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
.... source 0..1uriSource system where concepts to be mapped are defined
.... sourceVersion 0..1stringSpecific version of the code system
.... target 0..1uriTarget system that the concepts are to be mapped to
.... targetVersion 0..1stringSpecific version of the code system
.... element 1..*BackboneElementMappings for a concept from the source set
..... 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
..... code 0..1codeIdentifies element being mapped
..... display 0..1stringDisplay for the code
..... target C0..*BackboneElementConcept in target system for element
...... 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
...... code 0..1codeCode that identifies the target element
...... display 0..1stringDisplay for the code
...... equivalence ?!1..1coderelatedto | equivalent | equal | wider | subsumes | narrower | specializes | inexact | unmatched | disjoint
Binding: ConceptMapEquivalence (required): The degree of equivalence between concepts.

...... comment C0..1stringDescription of status/issues in mapping
...... dependsOn 0..*BackboneElementOther elements required for this mapping (from context)
....... 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
....... property 1..1uriReference to property mapping depends on
....... system 0..1canonical(CodeSystem)Code System (if necessary)
....... value 1..1stringValue of the referenced element
....... display 0..1stringDisplay for the code (if value is a code)
...... product 0..*See dependsOn (ConceptMap)Other concepts that this mapping also produces
.... unmapped C0..1BackboneElementWhat to do when there is no mapping for the source concept
..... 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
..... mode 1..1codeprovided | fixed | other-map
Binding: ConceptMapGroupUnmappedMode (required): Defines which action to take if there is no match in the group.

..... code 0..1codeFixed code when mode = fixed
..... display 0..1stringDisplay for the code
..... url 0..1canonical(ConceptMap)canonical reference to an additional ConceptMap to use for mapping if the source concept is unmapped

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
ConceptMap.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
ConceptMap.statusrequiredPublicationStatus
ConceptMap.jurisdictionextensibleJurisdiction ValueSet
ConceptMap.group.element.target.equivalencerequiredConceptMapEquivalence
ConceptMap.group.unmapped.moderequiredConceptMapGroupUnmappedMode

Constraints

IdGradePath(s)DetailsRequirements
cmd-1errorConceptMap.group.element.targetIf the map is narrower or inexact, there SHALL be some comments
: comment.exists() or equivalence.empty() or ((equivalence != 'narrower') and (equivalence != 'inexact'))
cmd-2errorConceptMap.group.unmappedIf the mode is 'fixed', a code must be provided
: (mode = 'fixed') implies code.exists()
cmd-3errorConceptMap.group.unmappedIf the mode is 'other-map', a url must be provided
: (mode = 'other-map') implies url.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()

This structure is derived from ConceptMap

 

Other representations of profile: CSV, Excel, Schematron