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
| Official URL: http://hl7.it/fhir/cda2fhir/StructureDefinition/StructureMapProfile | Version: 0.1.0 | |||
| Draft as of 2026-10-20 | Computable Name: StructureMapProfile | |||
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | StructureMap | A Map of relationships between 2 structures that can be used to transform data Constraints: smp-0 |
![]() ![]() |
0..1 | uri | A set of rules under which this content was created | |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them | |
![]() ![]() ![]() |
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 | |
![]() ![]() |
0..* | Extension | Extensions that cannot be ignored | |
![]() ![]() |
1..1 | uri | Canonical identifier for this structure map, represented as a URI (globally unique) | |
![]() ![]() |
C | 1..1 | string | Name for this structure map (computer friendly) |
![]() ![]() |
1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. | |
![]() ![]() |
1..* | BackboneElement | Named sections for reader convenience | |
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |
![]() ![]() ![]() |
1..1 | id | Human-readable label | |
![]() ![]() ![]() |
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. | |
![]() ![]() ![]() |
1..* | BackboneElement | Named instance provided when invoking the map | |
![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |
![]() ![]() ![]() ![]() |
1..1 | id | Name for this instance of data | |
![]() ![]() ![]() ![]() |
1..1 | code | source | target Binding: StructureMapInputMode (required): Mode for this instance of data. | |
![]() ![]() ![]() |
1..* | BackboneElement | Transform Rule from source to target | |
![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |
![]() ![]() ![]() ![]() |
1..1 | id | Name of the rule for internal references | |
![]() ![]() ![]() ![]() |
1..* | BackboneElement | Source inputs to the mapping | |
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |
![]() ![]() ![]() ![]() ![]() |
1..1 | id | Type or variable this rule applies to | |
Documentation for this format | ||||
| 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. |
| 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
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | StructureMap | A Map of relationships between 2 structures that can be used to transform data Constraints: smp-0 | ||||
![]() ![]() |
0..1 | id | Logical id of this artifact | |||||
![]() ![]() |
0..1 | Meta | Metadata about the resource | |||||
![]() ![]() |
0..1 | uri | A set of rules under which this content was created | |||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them | |||||
![]() ![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Extension | Extensions that cannot be ignored | |||||
![]() ![]() |
1..1 | uri | Canonical identifier for this structure map, represented as a URI (globally unique) | |||||
![]() ![]() |
0..* | Identifier | Additional identifier for the structure map | |||||
![]() ![]() |
0..1 | string | Business version of the structure map | |||||
![]() ![]() |
C | 1..1 | string | Name for this structure map (computer friendly) | ||||
![]() ![]() |
0..1 | string | Name for this structure map (human friendly) | |||||
![]() ![]() |
1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. | |||||
![]() ![]() |
0..1 | boolean | For testing purposes, not real usage | |||||
![]() ![]() |
0..1 | dateTime | Date last changed | |||||
![]() ![]() |
0..1 | string | Name of the publisher (organization or individual) | |||||
![]() ![]() |
0..* | ContactDetail | Contact details for the publisher | |||||
![]() ![]() |
0..1 | markdown | Natural language description of the structure map | |||||
![]() ![]() |
0..* | UsageContext | The context that the content is intended to support | |||||
![]() ![]() |
0..* | CodeableConcept | Intended jurisdiction for structure map (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use. | |||||
![]() ![]() |
0..1 | markdown | Why this structure map is defined | |||||
![]() ![]() |
0..1 | markdown | Use and/or publishing restrictions | |||||
![]() ![]() |
0..* | BackboneElement | Structure Definition used by this map | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() |
1..1 | canonical(StructureDefinition) | Canonical reference to structure definition | |||||
![]() ![]() ![]() |
1..1 | code | source | queried | target | produced Binding: StructureMapModelMode (required): How the referenced structure is used in this mapping. | |||||
![]() ![]() ![]() |
0..1 | string | Name for type in this map | |||||
![]() ![]() ![]() |
0..1 | string | Documentation on use of structure | |||||
![]() ![]() |
0..* | canonical(StructureMap) | Other maps used by this map (canonical URLs) | |||||
![]() ![]() |
1..* | BackboneElement | Named sections for reader convenience | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() |
1..1 | id | Human-readable label | |||||
![]() ![]() ![]() |
0..1 | id | Another group that this group adds rules to | |||||
![]() ![]() ![]() |
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. | |||||
![]() ![]() ![]() |
0..1 | string | Additional description/explanation for group | |||||
![]() ![]() ![]() |
1..* | BackboneElement | Named instance provided when invoking the map | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() ![]() |
1..1 | id | Name for this instance of data | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Type for this instance of data | |||||
![]() ![]() ![]() ![]() |
1..1 | code | source | target Binding: StructureMapInputMode (required): Mode for this instance of data. | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Documentation for this instance of data | |||||
![]() ![]() ![]() |
1..* | BackboneElement | Transform Rule from source to target | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() ![]() |
1..1 | id | Name of the rule for internal references | |||||
![]() ![]() ![]() ![]() |
1..* | BackboneElement | Source inputs to the mapping | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() ![]() ![]() |
1..1 | id | Type or variable this rule applies to | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | integer | Specified minimum cardinality | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Specified maximum cardinality (number or *) | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Rule only applies if source has this type | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | Default value if no value exists | ||||||
![]() ![]() ![]() ![]() ![]() ![]() |
base64Binary | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
canonical(Any) | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
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(Any) | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Signature | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Timing | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Contributor | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Expression | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
UsageContext | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Dosage | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Meta | |||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Optional field for this source | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | code | first | not_first | last | not_last | only_one Binding: StructureMapSourceListMode (required): If field is a list, how to manage the source. | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Named context for field, if a field is specified | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | FHIRPath expression - must be true or the rule does not apply | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | FHIRPath expression - must be true or the mapping engine throws an error instead of completing | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Message to put in log if source exists (FHIRPath) | |||||
![]() ![]() ![]() ![]() |
C | 0..* | BackboneElement | Content to create because of this mapping rule Constraints: smp-1, smp-2 | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Type or variable this rule applies to | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | code | type | variable Binding: StructureMapContextType (required): How to interpret the context. | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Field to create in the context | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Named context for field, if desired, and a field is specified | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | code | first | share | last | collate Binding: StructureMapTargetListMode (required): If field is a list, how to manage the production. | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Internal rule reference for shared list items | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | code | create | copy + Binding: StructureMapTransform (required): How data is copied/created. | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | BackboneElement | Parameters to the transform | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Parameter value - variable or literal | ||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
id | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() |
0..* | See rule (StructureMap) | Rules contained in this rule | |||||
![]() ![]() ![]() ![]() |
0..* | BackboneElement | Which other rules to apply in the context of this rule | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() ![]() ![]() |
1..1 | id | Name of a rule or group to apply | |||||
![]() ![]() ![]() ![]() ![]() |
1..* | string | Variable to pass to the rule or group | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Documentation for this instance of data | |||||
Documentation for this format | ||||||||
| 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. |
| 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
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | StructureMap | A Map of relationships between 2 structures that can be used to transform data Constraints: smp-0 |
![]() ![]() |
0..1 | uri | A set of rules under which this content was created | |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them | |
![]() ![]() ![]() |
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 | |
![]() ![]() |
0..* | Extension | Extensions that cannot be ignored | |
![]() ![]() |
1..1 | uri | Canonical identifier for this structure map, represented as a URI (globally unique) | |
![]() ![]() |
C | 1..1 | string | Name for this structure map (computer friendly) |
![]() ![]() |
1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. | |
![]() ![]() |
1..* | BackboneElement | Named sections for reader convenience | |
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |
![]() ![]() ![]() |
1..1 | id | Human-readable label | |
![]() ![]() ![]() |
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. | |
![]() ![]() ![]() |
1..* | BackboneElement | Named instance provided when invoking the map | |
![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |
![]() ![]() ![]() ![]() |
1..1 | id | Name for this instance of data | |
![]() ![]() ![]() ![]() |
1..1 | code | source | target Binding: StructureMapInputMode (required): Mode for this instance of data. | |
![]() ![]() ![]() |
1..* | BackboneElement | Transform Rule from source to target | |
![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |
![]() ![]() ![]() ![]() |
1..1 | id | Name of the rule for internal references | |
![]() ![]() ![]() ![]() |
1..* | BackboneElement | Source inputs to the mapping | |
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |
![]() ![]() ![]() ![]() ![]() |
1..1 | id | Type or variable this rule applies to | |
Documentation for this format | ||||
| 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. |
| 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
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | StructureMap | A Map of relationships between 2 structures that can be used to transform data Constraints: smp-0 | ||||
![]() ![]() |
0..1 | id | Logical id of this artifact | |||||
![]() ![]() |
0..1 | Meta | Metadata about the resource | |||||
![]() ![]() |
0..1 | uri | A set of rules under which this content was created | |||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them | |||||
![]() ![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Extension | Extensions that cannot be ignored | |||||
![]() ![]() |
1..1 | uri | Canonical identifier for this structure map, represented as a URI (globally unique) | |||||
![]() ![]() |
0..* | Identifier | Additional identifier for the structure map | |||||
![]() ![]() |
0..1 | string | Business version of the structure map | |||||
![]() ![]() |
C | 1..1 | string | Name for this structure map (computer friendly) | ||||
![]() ![]() |
0..1 | string | Name for this structure map (human friendly) | |||||
![]() ![]() |
1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. | |||||
![]() ![]() |
0..1 | boolean | For testing purposes, not real usage | |||||
![]() ![]() |
0..1 | dateTime | Date last changed | |||||
![]() ![]() |
0..1 | string | Name of the publisher (organization or individual) | |||||
![]() ![]() |
0..* | ContactDetail | Contact details for the publisher | |||||
![]() ![]() |
0..1 | markdown | Natural language description of the structure map | |||||
![]() ![]() |
0..* | UsageContext | The context that the content is intended to support | |||||
![]() ![]() |
0..* | CodeableConcept | Intended jurisdiction for structure map (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use. | |||||
![]() ![]() |
0..1 | markdown | Why this structure map is defined | |||||
![]() ![]() |
0..1 | markdown | Use and/or publishing restrictions | |||||
![]() ![]() |
0..* | BackboneElement | Structure Definition used by this map | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() |
1..1 | canonical(StructureDefinition) | Canonical reference to structure definition | |||||
![]() ![]() ![]() |
1..1 | code | source | queried | target | produced Binding: StructureMapModelMode (required): How the referenced structure is used in this mapping. | |||||
![]() ![]() ![]() |
0..1 | string | Name for type in this map | |||||
![]() ![]() ![]() |
0..1 | string | Documentation on use of structure | |||||
![]() ![]() |
0..* | canonical(StructureMap) | Other maps used by this map (canonical URLs) | |||||
![]() ![]() |
1..* | BackboneElement | Named sections for reader convenience | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() |
1..1 | id | Human-readable label | |||||
![]() ![]() ![]() |
0..1 | id | Another group that this group adds rules to | |||||
![]() ![]() ![]() |
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. | |||||
![]() ![]() ![]() |
0..1 | string | Additional description/explanation for group | |||||
![]() ![]() ![]() |
1..* | BackboneElement | Named instance provided when invoking the map | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() ![]() |
1..1 | id | Name for this instance of data | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Type for this instance of data | |||||
![]() ![]() ![]() ![]() |
1..1 | code | source | target Binding: StructureMapInputMode (required): Mode for this instance of data. | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Documentation for this instance of data | |||||
![]() ![]() ![]() |
1..* | BackboneElement | Transform Rule from source to target | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() ![]() |
1..1 | id | Name of the rule for internal references | |||||
![]() ![]() ![]() ![]() |
1..* | BackboneElement | Source inputs to the mapping | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() ![]() ![]() |
1..1 | id | Type or variable this rule applies to | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | integer | Specified minimum cardinality | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Specified maximum cardinality (number or *) | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Rule only applies if source has this type | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | Default value if no value exists | ||||||
![]() ![]() ![]() ![]() ![]() ![]() |
base64Binary | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
canonical(Any) | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
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(Any) | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Signature | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Timing | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Contributor | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Expression | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
UsageContext | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Dosage | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Meta | |||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Optional field for this source | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | code | first | not_first | last | not_last | only_one Binding: StructureMapSourceListMode (required): If field is a list, how to manage the source. | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Named context for field, if a field is specified | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | FHIRPath expression - must be true or the rule does not apply | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | FHIRPath expression - must be true or the mapping engine throws an error instead of completing | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Message to put in log if source exists (FHIRPath) | |||||
![]() ![]() ![]() ![]() |
C | 0..* | BackboneElement | Content to create because of this mapping rule Constraints: smp-1, smp-2 | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Type or variable this rule applies to | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | code | type | variable Binding: StructureMapContextType (required): How to interpret the context. | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Field to create in the context | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Named context for field, if desired, and a field is specified | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | code | first | share | last | collate Binding: StructureMapTargetListMode (required): If field is a list, how to manage the production. | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Internal rule reference for shared list items | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | code | create | copy + Binding: StructureMapTransform (required): How data is copied/created. | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | BackboneElement | Parameters to the transform | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Parameter value - variable or literal | ||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
id | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() |
0..* | See rule (StructureMap) | Rules contained in this rule | |||||
![]() ![]() ![]() ![]() |
0..* | BackboneElement | Which other rules to apply in the context of this rule | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() ![]() ![]() |
1..1 | id | Name of a rule or group to apply | |||||
![]() ![]() ![]() ![]() ![]() |
1..* | string | Variable to pass to the rule or group | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Documentation for this instance of data | |||||
Documentation for this format | ||||||||
| 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. |
| 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
Other representations of profile: CSV, Excel, Schematron