FHIR Release 3 (STU) Current Build
This page is part of FHIR STU 3 (v3.0.1) in it's permanent home (it will always be available at this URL). It has been superceded by R4 . For a full list of available versions, see the Directory of published versions .
FHIR Infrastructure Work Group Maturity Level : 2   Trial Use Security Category : Anonymous Compartments : Not linked to any defined compartments

Detailed Descriptions for the elements in the StructureMap resource.

StructureMap
Element Id StructureMap
Definition

A Map of relationships between 2 structures that can be used to transform data.

Control Cardinality 1..1 0..*
Type DomainResource
Alternate Names Template; Profile
Invariants
Defined on this element
smp-0 Warning 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}')
StructureMap.url
Element Id StructureMap.url
Definition

An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance. instance; also called its canonical identifier. This SHALL be a URL, SHOULD be globally unique, unique and SHOULD be an a literal address at which at which an authoritative instance of this structure map is (or will be) published. The This URL SHOULD include can be the major version target of a canonical reference. It SHALL remain the same when the structure map. For more information see Technical and Business Versions . map is stored on different servers.

Control Cardinality 1..1
Type uri
Requirements

Allows the structure map to be referenced by a single globally unique identifier.

Alternate Names url; authoritative-url; destination; identity
Summary true
Comments

Can be a urn:uuid: or a urn:oid:, urn:oid: but real http: addresses are preferred. Multiple instances may share the same url URL if they have a distinct version.

The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in Technical and Business Versions .

In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the meta.source element to indicate where the current master source of the resource can be found.

StructureMap.identifier
Element Id StructureMap.identifier
Definition

A formal identifier that is used to identify this structure map when it is represented in other formats, or referenced in a specification, model, design or an instance.

Note This is a business identifer, identifier, not a resource identifier (see discussion )
Control Cardinality 0..*
Type Identifier
Requirements

Allows externally provided and/or usable business identifiers to be easily associated with the module.

Summary true
Comments

Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to and can then identify this structure map outside of FHIR, where it is not possible to use the logical URI.

StructureMap.version
Element Id StructureMap.version
Definition

The identifier that is used to identify this version of the structure map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the structure map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.

Note This is a business versionId, not a resource version id (see discussion )
Control Cardinality 0..1
Type string
Summary true
Comments

There may be different structure map instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence reference to a particular business version of the structure map with the format [url]|[version].

StructureMap.name
Element Id StructureMap.name
Definition

A natural language name identifying the structure map. This name should be usable as an identifier for the module by machine processing applications such as code generation.

Control Cardinality 1..1
Type string
Requirements

Support human navigation and code generation.

Summary true
Comments

The name is not expected to be globally unique. The name should be a simple alpha-numeric alphanumeric type name to ensure that it is computable machine-processing friendly.

Invariants
Affect this element
inv-0 Warning 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}')
StructureMap.title
Element Id StructureMap.title
Definition

A short, descriptive, user-friendly title for the structure map.

Control Cardinality 0..1
Type string
Summary true
Comments

This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.

StructureMap.status
Element Id StructureMap.status
Definition

The status of this structure map. Enables tracking the life-cycle of the content.

Control Cardinality 1..1
Terminology Binding PublicationStatus ( Required )
Type code
Is Modifier true (Reason: This is labeled as "Is Modifier" because applications should not use a retired {{title}} without due consideration)
Summary true
Comments

Allows filtering of structure maps that are appropriate for use vs. versus not. This is labeled as "Is Modifier" because applications should not use a retired structure map without due consideration.

StructureMap.experimental
Element Id StructureMap.experimental
Definition

A boolean Boolean value to indicate that this structure map is authored for testing purposes (or education/evaluation/marketing), education/evaluation/marketing) and is not intended to be used for genuine usage.

Control Cardinality 0..1
Type boolean
Is Modifier true Requirements

Enables experimental content to be developed following the same lifecycle that would be used for a production-level structure map.

Summary true
Comments

Allows filtering of structure map maps that are appropriate for use vs. versus not. This is labeled as "Is Modifier" because applications should not use an experimental structure map in production.

StructureMap.date
Element Id StructureMap.date
Definition

The date (and optionally time) when the structure map was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure map changes.

Control Cardinality 0..1
Type dateTime
Alternate Names Revision Date
Summary true
Comments

Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the structure map. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.

StructureMap.publisher
Element Id StructureMap.publisher
Definition

The name of the individual or organization or individual that published the structure map.

Control Cardinality 0..1
Type string
Requirements

Helps establish the "authority/credibility" of the structure map. May also allow for contact.

Summary true
Comments

Usually an organization, organization but may be an individual. The publisher (or steward) of the structure map is the organization or individual primarily responsible for the maintenance and upkeep of the structure map. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the structure map. This item SHOULD be populated unless the information is available from context.

StructureMap.contact
Element Id StructureMap.contact
Definition

Contact details to assist a user in finding and communicating with the publisher.

Control Cardinality 0..*
Type ContactDetail
Summary true
Comments

May be a web site, an email address, a telephone number, etc.

StructureMap.description
Element Id StructureMap.description
Definition

A free text natural language description of the structure map from a consumer's perspective.

Control Cardinality 0..1
Type markdown
Comments

This description can be used to capture details such as why the structure map was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the structure map as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile structure map is presumed to be the predominant language in the place the profile structure map was created).

StructureMap.useContext
Element Id StructureMap.useContext
Definition

The content was developed with a focus and intent of supporting the contexts that are listed. These terms contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate structure map instances.

Control Cardinality 0..*
Type UsageContext
Requirements

Assist in searching for appropriate content.

Summary true
Comments

When multiple useContexts are specified, there is no expectation whether that all or any of the contexts apply.

StructureMap.jurisdiction
Element Id StructureMap.jurisdiction
Definition

A legal or geographic region in which the structure map is intended to be used.

Control Cardinality 0..*
Terminology Binding Jurisdiction ValueSet ( Extensible )
Type CodeableConcept
Summary true
Comments

It may be possible for the structure map to be used in jurisdictions other than those for which it was originally designed or intended.

StructureMap.purpose
Element Id StructureMap.purpose
Definition

Explaination Explanation of why this structure map is needed and why it has been designed as it has.

Control Cardinality 0..1
Type markdown
Comments

This element does not describe the usage of the structure map Instead map. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this structure map.

StructureMap.copyright
Element Id StructureMap.copyright
Definition

A copyright statement relating to the structure map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure map.

Control Cardinality 0..1
Type markdown
Requirements

Consumers must be able to determine any legal restrictions on the use of the structure map and/or its content.

Alternate Names License; Restrictions
StructureMap.structure
Element Id StructureMap.structure
Definition

A structure definition used by this map. The structure definition may describe instances that are converted, or the instances that are produced.

Control Cardinality 0..*
Summary true
Comments

It is not necessary for a structure map to identify any dependent structures, though not losting listing them may restrict its usefulness.

StructureMap.structure.url
Element Id StructureMap.structure.url
Definition

The canonical URL that identifies reference to the structure.

Control Cardinality 1..1
Type uri canonical ( StructureDefinition )
Summary true
StructureMap.structure.mode
Element Id StructureMap.structure.mode
Definition

How the referenced structure is used in this mapping.

Control Cardinality 1..1
Terminology Binding StructureMapModelMode ( Required )
Type code
Summary true
StructureMap.structure.alias
Element Id StructureMap.structure.alias
Definition

The name used for this type in the map.

Control Cardinality 0..1
Type string
Summary true
Comments

This is needed if both types have the same name (e.g. version conversion).

StructureMap.structure.documentation
Element Id StructureMap.structure.documentation
Definition

Documentation that describes how the structure is used in the mapping.

Control Cardinality 0..1
Type string
StructureMap.import
Element Id StructureMap.import
Definition

Other maps used by this map (canonical URLs).

Control Cardinality 0..*
Type uri canonical ( StructureMap )
Summary true
StructureMap.group
Element Id StructureMap.group
Definition

Organizes the mapping into managable manageable chunks for human review/ease of maintenance.

Control Cardinality 1..*
Summary true
StructureMap.group.name
Element Id StructureMap.group.name
Definition

A unique name for the group for the convenience of human readers.

Control Cardinality 1..1
Type id
Summary true
StructureMap.group.extends
Element Id StructureMap.group.extends
Definition

Another group that this group adds rules to.

Control Cardinality 0..1
Type id
Summary true
StructureMap.group.typeMode
Element Id StructureMap.group.typeMode
Definition

If this is the default rule set to apply for thie the source type, type or this combination of types.

Control Cardinality 1..1
Terminology Binding StructureMapGroupTypeMode ( Required )
Type code
Summary true
Comments

Not applicable if the underlying model is untyped. There can only be one default mapping for any particular type combination.

StructureMap.group.documentation
Element Id StructureMap.group.documentation
Definition

Additional supporting documentation that explains the purpose of the group and the types of mappings within it.

Control Cardinality 0..1
Type string
Summary true
StructureMap.group.input
Element Id StructureMap.group.input
Definition

A name assigned to an instance of data. The instance must be provided when the mapping is invoked.

Control Cardinality 1..*
Summary true
Comments

If no inputs are named, then the entry mappings are type based.

StructureMap.group.input.name
Element Id StructureMap.group.input.name
Definition

Name for this instance of data.

Control Cardinality 1..1
Type id
Summary true
StructureMap.group.input.type
Element Id StructureMap.group.input.type
Definition

Type for this instance of data.

Control Cardinality 0..1
Type string
Summary true
StructureMap.group.input.mode
Element Id StructureMap.group.input.mode
Definition

Mode for this instance of data.

Control Cardinality 1..1
Terminology Binding StructureMapInputMode ( Required )
Type code
Summary true
StructureMap.group.input.documentation
Element Id StructureMap.group.input.documentation
Definition

Documentation for this instance of data.

Control Cardinality 0..1
Type string
StructureMap.group.rule
Element Id StructureMap.group.rule
Definition

Transform Rule from source to target.

Control Cardinality 1..*
Summary true
StructureMap.group.rule.name
Element Id StructureMap.group.rule.name
Definition

Name of the rule for internal references.

Control Cardinality 1..1
Type id
Summary true
StructureMap.group.rule.source
Element Id StructureMap.group.rule.source
Definition

Source inputs to the mapping.

Control Cardinality 1..*
Summary true
StructureMap.group.rule.source.context
Element Id StructureMap.group.rule.source.context
Definition

Type or variable this rule applies to.

Control Cardinality 1..1
Type id
Summary true
StructureMap.group.rule.source.min
Element Id StructureMap.group.rule.source.min
Definition

Specified minimum cardinality for the element. This is optional; if present, it acts an implicit check on the input content.

Control Cardinality 0..1
Type integer
Summary true
StructureMap.group.rule.source.max
Element Id StructureMap.group.rule.source.max
Definition

Specified maximum cardinality for the element - a number or a " ". This is optional; if present, it acts an implicit check on the input content ( just serves as documentation; it's the default value).

Control Cardinality 0..1
Type string
Summary true
StructureMap.group.rule.source.type
Element Id StructureMap.group.rule.source.type
Definition

Specified type for the element. This works as a condition on the mapping - use for polymorphic elements.

Control Cardinality 0..1
Type string
Summary true
StructureMap.group.rule.source.defaultValue[x]
Element Id StructureMap.group.rule.source.defaultValue[x]
Definition

A value to use if there is no existing value in the source object.

Control Cardinality 0..1
Type *
[x] Note See Choice of Data Types for further information about how to use [x]
Summary true
Comments

If there's a default value on an item that can repeat, it will only be used once.

StructureMap.group.rule.source.element
Element Id StructureMap.group.rule.source.element
Definition

Optional field for this source.

Control Cardinality 0..1
Type string
Summary true
StructureMap.group.rule.source.listMode
Element Id StructureMap.group.rule.source.listMode
Definition

How to handle the list mode for this element.

Control Cardinality 0..1
Terminology Binding StructureMapSourceListMode ( Required )
Type code
Summary true
StructureMap.group.rule.source.variable
Element Id StructureMap.group.rule.source.variable
Definition

Named context for field, if a field is specified.

Control Cardinality 0..1
Type id
Summary true
StructureMap.group.rule.source.condition
Element Id StructureMap.group.rule.source.condition
Definition

FHIRPath expression - must be true or the rule does not apply.

Control Cardinality 0..1
Type string
Summary true
StructureMap.group.rule.source.check
Element Id StructureMap.group.rule.source.check
Definition

FHIRPath expression - must be true or the mapping engine throws an error instead of completing.

Control Cardinality 0..1
Type string
Summary true
StructureMap.group.rule.source.logMessage
Element Id StructureMap.group.rule.source.logMessage
Definition

A FHIRPath expression which specifies a message to put in the transform log when content matching the source rule is found.

Cardinality 0..1
Type string
Summary true
Comments

This is typically used for recording that something Is not transformed to the target for some reason.

StructureMap.group.rule.target
Element Id StructureMap.group.rule.target
Definition

Content to create because of this mapping rule.

Control Cardinality 0..*
Summary true
Invariants
Defined on this element
smp-1 : Rule Can only have a an element if you have a context ( expression : element.exists() implies context.exists(), xpath: not(f:element) or (f:context)) context.exists()
smp-2 : Rule Must have a contextType if you have a context ( expression : context.exists() implies contextType.exists(), xpath: not(f:context) or (f:contextType)) contextType.exists()
StructureMap.group.rule.target.context
Element Id StructureMap.group.rule.target.context
Definition

Type or variable this rule applies to.

Control Cardinality 0..1
Type id
Summary true
StructureMap.group.rule.target.contextType
Element Id StructureMap.group.rule.target.contextType
Definition

How to interpret the context.

Control Cardinality 0..1
Terminology Binding StructureMapContextType ( Required )
Type code
Summary true
StructureMap.group.rule.target.element
Element Id StructureMap.group.rule.target.element
Definition

Field to create in the context.

Control Cardinality 0..1
Type string
Summary true
StructureMap.group.rule.target.variable
Element Id StructureMap.group.rule.target.variable
Definition

Named context for field, if desired, and a field is specified.

Control Cardinality 0..1
Type id
Summary true
StructureMap.group.rule.target.listMode
Element Id StructureMap.group.rule.target.listMode
Definition

If field is a list, how to manage the list.

Control Cardinality 0..*
Terminology Binding StructureMapTargetListMode ( Required )
Type code
Summary true
StructureMap.group.rule.target.listRuleId
Element Id StructureMap.group.rule.target.listRuleId
Definition

Internal rule reference for shared list items.

Control Cardinality 0..1
Type id
Summary true
StructureMap.group.rule.target.transform
Element Id StructureMap.group.rule.target.transform
Definition

How the data is copied / created.

Control Cardinality 0..1
Terminology Binding StructureMapTransform ( Required )
Type code
Summary true
StructureMap.group.rule.target.parameter
Element Id StructureMap.group.rule.target.parameter
Definition

Parameters to the transform.

Control Cardinality 0..*
Summary true
StructureMap.group.rule.target.parameter.value[x]
Element Id StructureMap.group.rule.target.parameter.value[x]
Definition

Parameter value - variable or literal.

Control Cardinality 1..1
Type id | string | boolean | integer | decimal
[x] Note See Choice of Data Types for further information about how to use [x]
Summary true
StructureMap.group.rule.rule
Element Id StructureMap.group.rule.rule
Definition

Rules contained in this rule.

Control Cardinality 0..*
Type See StructureMap.group.rule
Summary true
StructureMap.group.rule.dependent
Element Id StructureMap.group.rule.dependent
Definition

Which other rules to apply in the context of this rule.

Control Cardinality 0..*
Summary true
StructureMap.group.rule.dependent.name
Element Id StructureMap.group.rule.dependent.name
Definition

Name of a rule or group to apply.

Control Cardinality 1..1
Type id
Summary true
StructureMap.group.rule.dependent.variable
Element Id StructureMap.group.rule.dependent.variable
Definition

Variable to pass to the rule or group.

Control Cardinality 1..*
Type string
Summary true
StructureMap.group.rule.documentation
Element Id StructureMap.group.rule.documentation
Definition

Documentation for this instance of data.

Control Cardinality 0..1
Type string