| Left: | SMART Guidelines StructureMap (http://smart.who.int/base/StructureDefinition/SGStructureMap) |
| Right: | SMART Guidelines StructureMap (http://smart.who.int/base/StructureDefinition/SGStructureMap) |
| Error | StructureDefinition.version | Values for version differ: '1.0.0' vs '0.3.0' |
| Information | StructureDefinition.status | Values for status differ: 'active' vs 'draft' |
| Information | StructureDefinition.date | Values for date differ: '2026-08-27T08:31:36+00:00' vs '2026-10-20T16:33:47+00:00' |
| Information | StructureDefinition.jurisdiction | Added the item 'null#null' |
| Name | Value | Comments | |
|---|---|---|---|
abstract | false | ||
baseDefinition | http://hl7.org/fhir/StructureDefinition/StructureMap | ||
copyright | |||
date | 2026-08-27T08:31:36+00:00 | 2026-10-20T16:33:47+00:00 |
|
description | Defines the minimum expectations for StructureMap resources used in SMART Guidelines | ||
experimental | |||
fhirVersion | 4.0.1 | ||
jurisdiction | |||
![]() jurisdiction[0] | null#null |
| |
kind | resource | ||
name | SGStructureMap | ||
publisher | WHO | ||
purpose | |||
status | active | draft |
|
title | SMART Guidelines StructureMap | ||
type | StructureMap | ||
url | http://smart.who.int/base/StructureDefinition/SGStructureMap | ||
version | 1.0.0 | 0.3.0 |
|
| Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | R Type | R Description & Constraints | Comments![]() | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | C | 0..* | StructureMap | A Map of relationships between 2 structures that can be used to transform data | C | 0..* | StructureMap | A Map of relationships between 2 structures that can be used to transform data | |||||||||
![]() ![]() | 0..1 | id | Logical id of this artifact | 0..1 | id | Logical id of this artifact | |||||||||||
![]() ![]() | 0..1 | Meta | Metadata about the resource | 0..1 | Meta | Metadata about the resource | |||||||||||
![]() ![]() | 0..1 | uri | A set of rules under which this content was created | 0..1 | uri | A set of rules under which this content was created | |||||||||||
![]() ![]() | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
| 0..1 | code | Language of the resource content Binding: ?? (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..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..* | Resource | Contained, inline Resources | |||||||||||
![]() ![]() | 0..* | Extension | Additional content defined by implementations | 0..* | Extension | Additional content defined by implementations | |||||||||||
![]() ![]() | 0..* | Extension | Extensions that cannot be ignored | 0..* | Extension | Extensions that cannot be ignored | |||||||||||
![]() ![]() | 1..1 | uri | Canonical identifier for this structure map, represented as a URI (globally unique) | 1..1 | uri | Canonical identifier for this structure map, represented as a URI (globally unique) | |||||||||||
![]() ![]() | 0..* | Identifier | Additional identifier for the structure map | 0..* | Identifier | Additional identifier for the structure map | |||||||||||
![]() ![]() | 1..1 | string | Business version of the structure map | 1..1 | string | Business version of the structure map | |||||||||||
![]() ![]() | C | 1..1 | string | Name for this structure map (computer friendly) | C | 1..1 | string | Name for this structure map (computer friendly) | |||||||||
![]() ![]() | 1..1 | string | Name for this structure map (human friendly) | 1..1 | string | Name for this structure map (human friendly) | |||||||||||
![]() ![]() | 1..1 | code | draft | active | retired | unknown Binding: ?? (required): The lifecycle status of an artifact. | 1..1 | code | draft | active | retired | unknown Binding: ?? (required): The lifecycle status of an artifact. | |||||||||||
![]() ![]() | 0..1 | boolean | For testing purposes, not real usage | 0..1 | boolean | For testing purposes, not real usage | |||||||||||
![]() ![]() | 0..1 | dateTime | Date last changed | 0..1 | dateTime | Date last changed | |||||||||||
![]() ![]() | 1..1 | string | Name of the publisher (organization or individual) | 1..1 | string | Name of the publisher (organization or individual) | |||||||||||
![]() ![]() | 0..* | ContactDetail | Contact details for the publisher | 0..* | ContactDetail | Contact details for the publisher | |||||||||||
![]() ![]() | 1..1 | markdown | Natural language description of the structure map | 1..1 | markdown | Natural language description of the structure map | |||||||||||
![]() ![]() | 0..* | UsageContext | The context that the content is intended to support | 0..* | UsageContext | The context that the content is intended to support | |||||||||||
![]() ![]() | 0..* | CodeableConcept | Intended jurisdiction for structure map (if applicable) Binding: ?? (extensible): Countries and regions within which this artifact is targeted for use. | 0..* | CodeableConcept | Intended jurisdiction for structure map (if applicable) Binding: ?? (extensible): Countries and regions within which this artifact is targeted for use. | |||||||||||
![]() ![]() | 0..1 | markdown | Why this structure map is defined | 0..1 | markdown | Why this structure map is defined | |||||||||||
![]() ![]() | 0..1 | markdown | Use and/or publishing restrictions | 0..1 | markdown | Use and/or publishing restrictions | |||||||||||
![]() ![]() | 0..* | BackboneElement | Structure Definition used by this map | 0..* | BackboneElement | Structure Definition used by this map | |||||||||||
![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations | 0..* | Extension | Additional content defined by implementations | |||||||||||
![]() ![]() ![]() | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||||||||
![]() ![]() ![]() | 1..1 | canonical(StructureDefinition) | Canonical reference to structure definition | 1..1 | canonical(StructureDefinition) | Canonical reference to structure definition | |||||||||||
![]() ![]() ![]() | 1..1 | code | source | queried | target | produced Binding: ?? (required): How the referenced structure is used in this mapping. | 1..1 | code | source | queried | target | produced Binding: ?? (required): How the referenced structure is used in this mapping. | |||||||||||
![]() ![]() ![]() | 0..1 | string | Name for type in this map | 0..1 | string | Name for type in this map | |||||||||||
![]() ![]() ![]() | 0..1 | string | Documentation on use of structure | 0..1 | string | Documentation on use of structure | |||||||||||
![]() ![]() | 0..* | canonical(StructureMap) | Other maps used by this map (canonical URLs) | 0..* | canonical(StructureMap) | Other maps used by this map (canonical URLs) | |||||||||||
![]() ![]() | 1..* | BackboneElement | Named sections for reader convenience | 1..* | BackboneElement | Named sections for reader convenience | |||||||||||
![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations | 0..* | Extension | Additional content defined by implementations | |||||||||||
![]() ![]() ![]() | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||||||||
![]() ![]() ![]() | 1..1 | id | Human-readable label | 1..1 | id | Human-readable label | |||||||||||
![]() ![]() ![]() | 0..1 | id | Another group that this group adds rules to | 0..1 | id | Another group that this group adds rules to | |||||||||||
![]() ![]() ![]() | 1..1 | code | none | types | type-and-types Binding: ?? (required): If this is the default rule set to apply for the source type, or this combination of types. | 1..1 | code | none | types | type-and-types Binding: ?? (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 | 0..1 | string | Additional description/explanation for group | |||||||||||
![]() ![]() ![]() | 1..* | BackboneElement | Named instance provided when invoking the map | 1..* | BackboneElement | Named instance provided when invoking the map | |||||||||||
![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
![]() ![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations | 0..* | Extension | Additional content defined by implementations | |||||||||||
![]() ![]() ![]() ![]() | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||||||||
![]() ![]() ![]() ![]() | 1..1 | id | Name for this instance of data | 1..1 | id | Name for this instance of data | |||||||||||
![]() ![]() ![]() ![]() | 0..1 | string | Type for this instance of data | 0..1 | string | Type for this instance of data | |||||||||||
![]() ![]() ![]() ![]() | 1..1 | code | source | target Binding: ?? (required): Mode for this instance of data. | 1..1 | code | source | target Binding: ?? (required): Mode for this instance of data. | |||||||||||
![]() ![]() ![]() ![]() | 0..1 | string | Documentation for this instance of data | 0..1 | string | Documentation for this instance of data | |||||||||||
![]() ![]() ![]() | 1..* | BackboneElement | Transform Rule from source to target | 1..* | BackboneElement | Transform Rule from source to target | |||||||||||
![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
![]() ![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations | 0..* | Extension | Additional content defined by implementations | |||||||||||
![]() ![]() ![]() ![]() | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||||||||
![]() ![]() ![]() ![]() | 1..1 | id | Name of the rule for internal references | 1..1 | id | Name of the rule for internal references | |||||||||||
![]() ![]() ![]() ![]() | 1..* | BackboneElement | Source inputs to the mapping | 1..* | BackboneElement | Source inputs to the mapping | |||||||||||
![]() ![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
![]() ![]() ![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations | 0..* | Extension | Additional content defined by implementations | |||||||||||
![]() ![]() ![]() ![]() ![]() | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||||||||
![]() ![]() ![]() ![]() ![]() | 1..1 | id | Type or variable this rule applies to | 1..1 | id | Type or variable this rule applies to | |||||||||||
![]() ![]() ![]() ![]() ![]() | 0..1 | integer | Specified minimum cardinality | 0..1 | integer | Specified minimum cardinality | |||||||||||
![]() ![]() ![]() ![]() ![]() | 0..1 | string | Specified maximum cardinality (number or *) | 0..1 | string | Specified maximum cardinality (number or *) | |||||||||||
![]() ![]() ![]() ![]() ![]() | 0..1 | string | Rule only applies if source has this type | 0..1 | string | Rule only applies if source has this type | |||||||||||
![]() ![]() ![]() ![]() ![]() | 0..1 | 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 | Default value if no value exists | 0..1 | 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 | Default value if no value exists | |||||||||||
![]() ![]() ![]() ![]() ![]() | 0..1 | string | Optional field for this source | 0..1 | string | Optional field for this source | |||||||||||
![]() ![]() ![]() ![]() ![]() | 0..1 | code | first | not_first | last | not_last | only_one Binding: ?? (required): If field is a list, how to manage the source. | 0..1 | code | first | not_first | last | not_last | only_one Binding: ?? (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 | 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 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 | 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) | 0..1 | string | Message to put in log if source exists (FHIRPath) | |||||||||||
![]() ![]() ![]() ![]() | C | 0..* | BackboneElement | Content to create because of this mapping rule | C | 0..* | BackboneElement | Content to create because of this mapping rule | |||||||||
![]() ![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
![]() ![]() ![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations | 0..* | Extension | Additional content defined by implementations | |||||||||||
![]() ![]() ![]() ![]() ![]() | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||||||||
![]() ![]() ![]() ![]() ![]() | 0..1 | id | Type or variable this rule applies to | 0..1 | id | Type or variable this rule applies to | |||||||||||
![]() ![]() ![]() ![]() ![]() | 0..1 | code | type | variable Binding: ?? (required): How to interpret the context. | 0..1 | code | type | variable Binding: ?? (required): How to interpret the context. | |||||||||||
![]() ![]() ![]() ![]() ![]() | 0..1 | string | Field to create in 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..1 | id | Named context for field, if desired, and a field is specified | |||||||||||
![]() ![]() ![]() ![]() ![]() | 0..* | code | first | share | last | collate Binding: ?? (required): If field is a list, how to manage the production. | 0..* | code | first | share | last | collate Binding: ?? (required): If field is a list, how to manage the production. | |||||||||||
![]() ![]() ![]() ![]() ![]() | 0..1 | id | Internal rule reference for shared list items | 0..1 | id | Internal rule reference for shared list items | |||||||||||
![]() ![]() ![]() ![]() ![]() | 0..1 | code | create | copy + Binding: ?? (required): How data is copied/created. | 0..1 | code | create | copy + Binding: ?? (required): How data is copied/created. | |||||||||||
![]() ![]() ![]() ![]() ![]() | 0..* | BackboneElement | Parameters to the transform | 0..* | BackboneElement | Parameters to the transform | |||||||||||
![]() ![]() ![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
![]() ![]() ![]() ![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations | 0..* | Extension | Additional content defined by implementations | |||||||||||
![]() ![]() ![]() ![]() ![]() ![]() | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||||||||
![]() ![]() ![]() ![]() ![]() ![]() | 1..1 | id, string, boolean, integer, decimal | Parameter value - variable or literal | 1..1 | id, string, boolean, integer, decimal | Parameter value - variable or literal | |||||||||||
![]() ![]() ![]() ![]() | 0..* | See rule (StructureMap) | Rules contained in this rule | 0..* | See rule (StructureMap) | Rules contained in this rule | |||||||||||
![]() ![]() ![]() ![]() | 0..* | BackboneElement | Which other rules to apply in the context of 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..1 | string | Unique id for inter-element referencing | |||||||||||
![]() ![]() ![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations | 0..* | Extension | Additional content defined by implementations | |||||||||||
![]() ![]() ![]() ![]() ![]() | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||||||||
![]() ![]() ![]() ![]() ![]() | 1..1 | id | Name of a rule or group to apply | 1..1 | id | Name of a rule or group to apply | |||||||||||
![]() ![]() ![]() ![]() ![]() | 1..* | string | Variable to pass to the rule or group | 1..* | string | Variable to pass to the rule or group | |||||||||||
![]() ![]() ![]() ![]() | 0..1 | string | Documentation for this instance of data | 0..1 | string | Documentation for this instance of data | |||||||||||
Documentation for this format | |||||||||||||||||