CDA to FHIR Maps
0.1.0 - ci-build Italy flag

CDA to FHIR Maps, published by HL7 Italy. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7-it/cda2fhir/ and changes regularly. See the Directory of published versions

Resource Profile: StructureMapProfile

Official URL: http://hl7.it/fhir/cda2fhir/StructureDefinition/StructureMapProfile Version: 0.1.0
Draft as of 2025-10-01 Computable Name: StructureMapProfile

Usages:

  • This Profile is not used by any profiles in this Implementation Guide

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. StructureMap C 0..* StructureMap A Map of relationships between 2 structures that can be used to transform data
Constraints: smp-0
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:referenceConceptMap 0..* base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta reference
URL: http://hl7.it/fhir/cda2fhir/StructureDefinition/references-C
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... name ΣC 1..1 string Name for this structure map (computer friendly)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... group Σ 1..* BackboneElement Named sections for reader convenience
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... name Σ 1..1 id Human-readable label
.... typeMode Σ 1..1 code none | types | type-and-types
Binding: StructureMapGroupTypeMode (required): If this is the default rule set to apply for the source type, or this combination of types.
.... input Σ 1..* BackboneElement Named instance provided when invoking the map
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... name Σ 1..1 id Name for this instance of data
..... mode Σ 1..1 code source | target
Binding: StructureMapInputMode (required): Mode for this instance of data.
.... rule Σ 1..* BackboneElement Transform Rule from source to target
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... name Σ 1..1 id Name of the rule for internal references
..... source Σ 1..* BackboneElement Source inputs to the mapping
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... context Σ 1..1 id Type or variable this rule applies to

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
StructureMap.status Base required PublicationStatus 📍4.0.1 FHIR Std.
StructureMap.group.typeMode Base required StructureMapGroupTypeMode 📍4.0.1 FHIR Std.
StructureMap.group.input.​mode Base required StructureMapInputMode 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error StructureMap If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error StructureMap If 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-4 error StructureMap If 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-5 error StructureMap If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice StructureMap A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
smp-0 warning StructureMap Name 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}')

This structure is derived from StructureMap

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. StructureMap 0..* StructureMap A Map of relationships between 2 structures that can be used to transform data
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:referenceConceptMap 0..* base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta reference
URL: http://hl7.it/fhir/cda2fhir/StructureDefinition/references-C

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. StructureMap C 0..* StructureMap A Map of relationships between 2 structures that can be used to transform data
Constraints: smp-0
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:referenceConceptMap 0..* base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta reference
URL: http://hl7.it/fhir/cda2fhir/StructureDefinition/references-C
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... url Σ 1..1 uri Canonical identifier for this structure map, represented as a URI (globally unique)
... identifier Σ 0..* Identifier Additional identifier for the structure map
... version Σ 0..1 string Business version of the structure map
... name ΣC 1..1 string Name for this structure map (computer friendly)
... title Σ 0..1 string Name for this structure map (human friendly)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... experimental Σ 0..1 boolean For testing purposes, not real usage
... date Σ 0..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description 0..1 markdown Natural language description of the structure map
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for structure map (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
... purpose 0..1 markdown Why this structure map is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... structure Σ 0..* BackboneElement Structure Definition used by this map
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... url Σ 1..1 canonical(StructureDefinition) Canonical reference to structure definition
.... mode Σ 1..1 code source | queried | target | produced
Binding: StructureMapModelMode (required): How the referenced structure is used in this mapping.
.... alias Σ 0..1 string Name for type in this map
.... documentation 0..1 string Documentation on use of structure
... import Σ 0..* canonical(StructureMap) Other maps used by this map (canonical URLs)
... group Σ 1..* BackboneElement Named sections for reader convenience
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... name Σ 1..1 id Human-readable label
.... extends Σ 0..1 id Another group that this group adds rules to
.... typeMode Σ 1..1 code none | types | type-and-types
Binding: StructureMapGroupTypeMode (required): If this is the default rule set to apply for the source type, or this combination of types.
.... documentation Σ 0..1 string Additional description/explanation for group
.... input Σ 1..* BackboneElement Named instance provided when invoking the map
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... name Σ 1..1 id Name for this instance of data
..... type Σ 0..1 string Type for this instance of data
..... mode Σ 1..1 code source | target
Binding: StructureMapInputMode (required): Mode for this instance of data.
..... documentation 0..1 string Documentation for this instance of data
.... rule Σ 1..* BackboneElement Transform Rule from source to target
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... name Σ 1..1 id Name of the rule for internal references
..... source Σ 1..* BackboneElement Source inputs to the mapping
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... context Σ 1..1 id Type or variable this rule applies to
...... min Σ 0..1 integer Specified minimum cardinality
...... max Σ 0..1 string Specified maximum cardinality (number or *)
...... type Σ 0..1 string Rule only applies if source has this type
...... defaultValue[x] Σ 0..1 Default value if no value exists
....... defaultValueBase64Binary base64Binary
....... defaultValueBoolean boolean
....... defaultValueCanonical canonical(Any)
....... defaultValueCode code
....... defaultValueDate date
....... defaultValueDateTime dateTime
....... defaultValueDecimal decimal
....... defaultValueId id
....... defaultValueInstant instant
....... defaultValueInteger integer
....... defaultValueMarkdown markdown
....... defaultValueOid oid
....... defaultValuePositiveInt positiveInt
....... defaultValueString string
....... defaultValueTime time
....... defaultValueUnsignedInt unsignedInt
....... defaultValueUri uri
....... defaultValueUrl url
....... defaultValueUuid uuid
....... defaultValueAddress Address
....... defaultValueAge Age
....... defaultValueAnnotation Annotation
....... defaultValueAttachment Attachment
....... defaultValueCodeableConcept CodeableConcept
....... defaultValueCoding Coding
....... defaultValueContactPoint ContactPoint
....... defaultValueCount Count
....... defaultValueDistance Distance
....... defaultValueDuration Duration
....... defaultValueHumanName HumanName
....... defaultValueIdentifier Identifier
....... defaultValueMoney Money
....... defaultValuePeriod Period
....... defaultValueQuantity Quantity
....... defaultValueRange Range
....... defaultValueRatio Ratio
....... defaultValueReference Reference(Any)
....... defaultValueSampledData SampledData
....... defaultValueSignature Signature
....... defaultValueTiming Timing
....... defaultValueContactDetail ContactDetail
....... defaultValueContributor Contributor
....... defaultValueDataRequirement DataRequirement
....... defaultValueExpression Expression
....... defaultValueParameterDefinition ParameterDefinition
....... defaultValueRelatedArtifact RelatedArtifact
....... defaultValueTriggerDefinition TriggerDefinition
....... defaultValueUsageContext UsageContext
....... defaultValueDosage Dosage
....... defaultValueMeta Meta
...... element Σ 0..1 string Optional field for this source
...... listMode Σ 0..1 code first | not_first | last | not_last | only_one
Binding: StructureMapSourceListMode (required): If field is a list, how to manage the source.
...... variable Σ 0..1 id Named context for field, if a field is specified
...... condition Σ 0..1 string FHIRPath expression - must be true or the rule does not apply
...... check Σ 0..1 string FHIRPath expression - must be true or the mapping engine throws an error instead of completing
...... logMessage Σ 0..1 string Message to put in log if source exists (FHIRPath)
..... target ΣC 0..* BackboneElement Content to create because of this mapping rule
Constraints: smp-1, smp-2
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... context Σ 0..1 id Type or variable this rule applies to
...... contextType Σ 0..1 code type | variable
Binding: StructureMapContextType (required): How to interpret the context.
...... element Σ 0..1 string Field to create in the context
...... variable Σ 0..1 id Named context for field, if desired, and a field is specified
...... listMode Σ 0..* code first | share | last | collate
Binding: StructureMapTargetListMode (required): If field is a list, how to manage the production.
...... listRuleId Σ 0..1 id Internal rule reference for shared list items
...... transform Σ 0..1 code create | copy +
Binding: StructureMapTransform (required): How data is copied/created.
...... parameter Σ 0..* BackboneElement Parameters to the transform
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
....... value[x] Σ 1..1 Parameter value - variable or literal
........ valueId id
........ valueString string
........ valueBoolean boolean
........ valueInteger integer
........ valueDecimal decimal
..... rule Σ 0..* See rule (StructureMap) Rules contained in this rule
..... dependent Σ 0..* BackboneElement Which other rules to apply in the context of this rule
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name Σ 1..1 id Name of a rule or group to apply
...... variable Σ 1..* string Variable to pass to the rule or group
..... documentation 0..1 string Documentation for this instance of data

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
StructureMap.language Base preferred Common Languages 📍4.0.1 FHIR Std.
StructureMap.status Base required PublicationStatus 📍4.0.1 FHIR Std.
StructureMap.jurisdiction Base extensible Jurisdiction 📍4.0.1 FHIR Std.
StructureMap.structure.​mode Base required StructureMapModelMode 📍4.0.1 FHIR Std.
StructureMap.group.typeMode Base required StructureMapGroupTypeMode 📍4.0.1 FHIR Std.
StructureMap.group.input.​mode Base required StructureMapInputMode 📍4.0.1 FHIR Std.
StructureMap.group.rule.​source.listMode Base required StructureMapSourceListMode 📍4.0.1 FHIR Std.
StructureMap.group.rule.​target.contextType Base required StructureMapContextType 📍4.0.1 FHIR Std.
StructureMap.group.rule.​target.listMode Base required StructureMapTargetListMode 📍4.0.1 FHIR Std.
StructureMap.group.rule.​target.transform Base required StructureMapTransform 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error StructureMap If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error StructureMap If 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-4 error StructureMap If 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-5 error StructureMap If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice StructureMap A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
smp-0 warning StructureMap Name 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}')
smp-1 error StructureMap.group.rule.target Can only have an element if you have a context element.exists() implies context.exists()
smp-2 error StructureMap.group.rule.target Must have a contextType if you have a context context.exists() implies contextType.exists()

This structure is derived from StructureMap

Summary

Extensions

This structure refers to these extensions:

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. StructureMap C 0..* StructureMap A Map of relationships between 2 structures that can be used to transform data
Constraints: smp-0
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:referenceConceptMap 0..* base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta reference
URL: http://hl7.it/fhir/cda2fhir/StructureDefinition/references-C
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... name ΣC 1..1 string Name for this structure map (computer friendly)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... group Σ 1..* BackboneElement Named sections for reader convenience
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... name Σ 1..1 id Human-readable label
.... typeMode Σ 1..1 code none | types | type-and-types
Binding: StructureMapGroupTypeMode (required): If this is the default rule set to apply for the source type, or this combination of types.
.... input Σ 1..* BackboneElement Named instance provided when invoking the map
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... name Σ 1..1 id Name for this instance of data
..... mode Σ 1..1 code source | target
Binding: StructureMapInputMode (required): Mode for this instance of data.
.... rule Σ 1..* BackboneElement Transform Rule from source to target
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... name Σ 1..1 id Name of the rule for internal references
..... source Σ 1..* BackboneElement Source inputs to the mapping
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... context Σ 1..1 id Type or variable this rule applies to

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
StructureMap.status Base required PublicationStatus 📍4.0.1 FHIR Std.
StructureMap.group.typeMode Base required StructureMapGroupTypeMode 📍4.0.1 FHIR Std.
StructureMap.group.input.​mode Base required StructureMapInputMode 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error StructureMap If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error StructureMap If 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-4 error StructureMap If 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-5 error StructureMap If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice StructureMap A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
smp-0 warning StructureMap Name 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}')

Differential View

This structure is derived from StructureMap

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. StructureMap 0..* StructureMap A Map of relationships between 2 structures that can be used to transform data
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:referenceConceptMap 0..* base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta reference
URL: http://hl7.it/fhir/cda2fhir/StructureDefinition/references-C

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. StructureMap C 0..* StructureMap A Map of relationships between 2 structures that can be used to transform data
Constraints: smp-0
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:referenceConceptMap 0..* base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta reference
URL: http://hl7.it/fhir/cda2fhir/StructureDefinition/references-C
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... url Σ 1..1 uri Canonical identifier for this structure map, represented as a URI (globally unique)
... identifier Σ 0..* Identifier Additional identifier for the structure map
... version Σ 0..1 string Business version of the structure map
... name ΣC 1..1 string Name for this structure map (computer friendly)
... title Σ 0..1 string Name for this structure map (human friendly)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... experimental Σ 0..1 boolean For testing purposes, not real usage
... date Σ 0..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description 0..1 markdown Natural language description of the structure map
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for structure map (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
... purpose 0..1 markdown Why this structure map is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... structure Σ 0..* BackboneElement Structure Definition used by this map
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... url Σ 1..1 canonical(StructureDefinition) Canonical reference to structure definition
.... mode Σ 1..1 code source | queried | target | produced
Binding: StructureMapModelMode (required): How the referenced structure is used in this mapping.
.... alias Σ 0..1 string Name for type in this map
.... documentation 0..1 string Documentation on use of structure
... import Σ 0..* canonical(StructureMap) Other maps used by this map (canonical URLs)
... group Σ 1..* BackboneElement Named sections for reader convenience
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... name Σ 1..1 id Human-readable label
.... extends Σ 0..1 id Another group that this group adds rules to
.... typeMode Σ 1..1 code none | types | type-and-types
Binding: StructureMapGroupTypeMode (required): If this is the default rule set to apply for the source type, or this combination of types.
.... documentation Σ 0..1 string Additional description/explanation for group
.... input Σ 1..* BackboneElement Named instance provided when invoking the map
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... name Σ 1..1 id Name for this instance of data
..... type Σ 0..1 string Type for this instance of data
..... mode Σ 1..1 code source | target
Binding: StructureMapInputMode (required): Mode for this instance of data.
..... documentation 0..1 string Documentation for this instance of data
.... rule Σ 1..* BackboneElement Transform Rule from source to target
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... name Σ 1..1 id Name of the rule for internal references
..... source Σ 1..* BackboneElement Source inputs to the mapping
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... context Σ 1..1 id Type or variable this rule applies to
...... min Σ 0..1 integer Specified minimum cardinality
...... max Σ 0..1 string Specified maximum cardinality (number or *)
...... type Σ 0..1 string Rule only applies if source has this type
...... defaultValue[x] Σ 0..1 Default value if no value exists
....... defaultValueBase64Binary base64Binary
....... defaultValueBoolean boolean
....... defaultValueCanonical canonical(Any)
....... defaultValueCode code
....... defaultValueDate date
....... defaultValueDateTime dateTime
....... defaultValueDecimal decimal
....... defaultValueId id
....... defaultValueInstant instant
....... defaultValueInteger integer
....... defaultValueMarkdown markdown
....... defaultValueOid oid
....... defaultValuePositiveInt positiveInt
....... defaultValueString string
....... defaultValueTime time
....... defaultValueUnsignedInt unsignedInt
....... defaultValueUri uri
....... defaultValueUrl url
....... defaultValueUuid uuid
....... defaultValueAddress Address
....... defaultValueAge Age
....... defaultValueAnnotation Annotation
....... defaultValueAttachment Attachment
....... defaultValueCodeableConcept CodeableConcept
....... defaultValueCoding Coding
....... defaultValueContactPoint ContactPoint
....... defaultValueCount Count
....... defaultValueDistance Distance
....... defaultValueDuration Duration
....... defaultValueHumanName HumanName
....... defaultValueIdentifier Identifier
....... defaultValueMoney Money
....... defaultValuePeriod Period
....... defaultValueQuantity Quantity
....... defaultValueRange Range
....... defaultValueRatio Ratio
....... defaultValueReference Reference(Any)
....... defaultValueSampledData SampledData
....... defaultValueSignature Signature
....... defaultValueTiming Timing
....... defaultValueContactDetail ContactDetail
....... defaultValueContributor Contributor
....... defaultValueDataRequirement DataRequirement
....... defaultValueExpression Expression
....... defaultValueParameterDefinition ParameterDefinition
....... defaultValueRelatedArtifact RelatedArtifact
....... defaultValueTriggerDefinition TriggerDefinition
....... defaultValueUsageContext UsageContext
....... defaultValueDosage Dosage
....... defaultValueMeta Meta
...... element Σ 0..1 string Optional field for this source
...... listMode Σ 0..1 code first | not_first | last | not_last | only_one
Binding: StructureMapSourceListMode (required): If field is a list, how to manage the source.
...... variable Σ 0..1 id Named context for field, if a field is specified
...... condition Σ 0..1 string FHIRPath expression - must be true or the rule does not apply
...... check Σ 0..1 string FHIRPath expression - must be true or the mapping engine throws an error instead of completing
...... logMessage Σ 0..1 string Message to put in log if source exists (FHIRPath)
..... target ΣC 0..* BackboneElement Content to create because of this mapping rule
Constraints: smp-1, smp-2
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... context Σ 0..1 id Type or variable this rule applies to
...... contextType Σ 0..1 code type | variable
Binding: StructureMapContextType (required): How to interpret the context.
...... element Σ 0..1 string Field to create in the context
...... variable Σ 0..1 id Named context for field, if desired, and a field is specified
...... listMode Σ 0..* code first | share | last | collate
Binding: StructureMapTargetListMode (required): If field is a list, how to manage the production.
...... listRuleId Σ 0..1 id Internal rule reference for shared list items
...... transform Σ 0..1 code create | copy +
Binding: StructureMapTransform (required): How data is copied/created.
...... parameter Σ 0..* BackboneElement Parameters to the transform
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
....... value[x] Σ 1..1 Parameter value - variable or literal
........ valueId id
........ valueString string
........ valueBoolean boolean
........ valueInteger integer
........ valueDecimal decimal
..... rule Σ 0..* See rule (StructureMap) Rules contained in this rule
..... dependent Σ 0..* BackboneElement Which other rules to apply in the context of this rule
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name Σ 1..1 id Name of a rule or group to apply
...... variable Σ 1..* string Variable to pass to the rule or group
..... documentation 0..1 string Documentation for this instance of data

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
StructureMap.language Base preferred Common Languages 📍4.0.1 FHIR Std.
StructureMap.status Base required PublicationStatus 📍4.0.1 FHIR Std.
StructureMap.jurisdiction Base extensible Jurisdiction 📍4.0.1 FHIR Std.
StructureMap.structure.​mode Base required StructureMapModelMode 📍4.0.1 FHIR Std.
StructureMap.group.typeMode Base required StructureMapGroupTypeMode 📍4.0.1 FHIR Std.
StructureMap.group.input.​mode Base required StructureMapInputMode 📍4.0.1 FHIR Std.
StructureMap.group.rule.​source.listMode Base required StructureMapSourceListMode 📍4.0.1 FHIR Std.
StructureMap.group.rule.​target.contextType Base required StructureMapContextType 📍4.0.1 FHIR Std.
StructureMap.group.rule.​target.listMode Base required StructureMapTargetListMode 📍4.0.1 FHIR Std.
StructureMap.group.rule.​target.transform Base required StructureMapTransform 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error StructureMap If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error StructureMap If 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-4 error StructureMap If 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-5 error StructureMap If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice StructureMap A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
smp-0 warning StructureMap Name 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}')
smp-1 error StructureMap.group.rule.target Can only have an element if you have a context element.exists() implies context.exists()
smp-2 error StructureMap.group.rule.target Must have a contextType if you have a context context.exists() implies contextType.exists()

This structure is derived from StructureMap

Summary

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron