FHIR Mapping Language (FML)
0.1.0 - STU 1 International flag

FHIR Mapping Language (FML), published by HL7 International / FHIR Infrastructure. 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/mapping-language-ig/ and changes regularly. See the Directory of published versions

Artifacts Summary

This page provides a list of the FHIR artifacts defined as part of this implementation guide.

Global profiles

There are no Global profiles defined

Behavior: Operation Definitions

These are custom operations that can be supported by and/or invoked by systems conforming to this implementation guide.

Model Instance Transformation

The transform operation takes input content, applies a structure map transform, and then returns the output.

Behavior: Search Parameters

These define the properties by which a RESTful server can be searched. They can also be used for sorting and including related resources.

StructureMapContextQuantitySearchParam

A quantity- or range-valued use context assigned to the structure map

StructureMapContextSearchParam

A use context assigned to the structure map

StructureMapContextTypeQuantitySearchParam

A use context type and quantity- or range-based value assigned to the structure map

StructureMapContextTypeSearchParam

A type of use context assigned to the structure map

StructureMapContextTypeValueSearchParam

A use context type and value assigned to the structure map

StructureMapDateSearchParam

The structure map publication date

StructureMapDescriptionSearchParam

The description of the structure map

StructureMapExperimentalSearchParam

Whether the StructureMap is experimental

StructureMapIdentifierSearchParam

External identifier for the structure map

StructureMapJurisdictionSearchParam

Jurisdiction of the authority that maintains the the structure map

StructureMapNameSearchParam

Computationally friendly name of the structure map

StructureMapProducedSearchParam

A produced StructureDefinition for the map

StructureMapPublisherSearchParam

Name of the publisher of the structure map

StructureMapQueriedSearchParam

A queried StructureDefinition for the map

StructureMapSourceSearchParam

A source StructureDefinition for the map

StructureMapStatusSearchParam

The current status of the structure map

StructureMapTargetSearchParam

A target StructureDefinition for the map

StructureMapTitleSearchParam

The human-friendly name of the structure map

StructureMapUrlSearchParam

The uri that identifies the structure map

StructureMapVersionSearchParam

The business version of the structure map

Terminology: Value Sets

These define sets of codes used by systems conforming to this implementation guide.

Structure Map Group Type Mode

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

Structure Map Input Mode

Mode for this instance of data.

Structure Map Model Mode

How the referenced structure is used in this mapping.

Structure Map Source List Mode

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

Structure Map Target List Mode

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

Structure Map Transform

How data is copied/created.

Terminology: Code Systems

These define new code systems used by systems conforming to this implementation guide.

Structure Map Group Type Mode

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

Structure Map Input Mode

Mode for this instance of data.

Structure Map Model Mode

How the referenced structure is used in this mapping.

Structure Map Source List Mode

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

Structure Map Target List Mode

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

Structure Map Transform

How data is copied/created.

Example: Example Instances

These are example instances that show what data produced and consumed by systems conforming with this implementation guide might look like.

Comments

Example demonstrating the use of comments in FML

ConceptMapEmbedded

Example Map to demonstrate an embedded ConceptMap

DependentGroup

Example demonstrating invoking another group by name using then GroupName(params)

DependentInline

Example demonstrating inline dependent rules in a then { } block

DependentMultiGroup

Example demonstrating invoking multiple groups in sequence separated by commas

Example Map

Example Structure Map

FhirPathSourceAsVar

Example demonstrating the where clause for filtering source elements with FHIRPath

GroupBasic

Example demonstrating a basic group with typed source and target parameters

GroupExtends

Example demonstrating a group that extends another group to inherit its rules

GroupTypePlus

Example demonstrating the type+ stereotype that also creates the target type when not fixed

GroupTypes

Example demonstrating the types stereotype marking a default mapping for a type pair

Imports

Example demonstrating the imports statement with wildcard support

MetadataBasic

Example demonstrating required metadata: url, name, and status

SimpleIdentity

Example demonstrating the identity transform shorthand src.element -> tgt.element

SourceCardinality

Example demonstrating cardinality constraints on source elements

SourceCheck

Example demonstrating the check clause that raises an error on failed conditions

SourceCopy

Example demonstrating a simple copy of a source element to a target element

SourceListFirst

Example demonstrating the first list option to select only the first element

SourceListLast

Example demonstrating the last list option to select only the last element

SourceListNotFirst

Example demonstrating the not_first list option to skip the first element

SourceListNotLast

Example demonstrating the not_last list option to skip the last element

SourceListOnlyOne

Example demonstrating the only_one list option that errors on multiple elements

SourceMultiple

Example demonstrating multiple source statements producing a cross-product

SourceTypeFilter

Example demonstrating source type filtering with the : type syntax

SourceWhere

Example demonstrating the where clause for filtering source elements with FHIRPath

StructArrayToArray

Example demonstrating mapping a repeating source array to a repeating target array

StructArrayToProp

Example demonstrating extracting a single value from an array into a scalar property

StructNestedToTop

Example demonstrating pulling a nested child element up to a top-level property

StructPropToArray

Example demonstrating mapping a scalar property into a repeating array element

StructTopToNested

Example demonstrating pushing a top-level property down into a nested structure

SyntaxBackticks

Example demonstrating backtick-escaped identifiers for reserved words and special characters

TargetMultiple

Example demonstrating multiple target assignments in a single rule

TargetSubelement

Example demonstrating target sub-element access using dot notation

Transform from an ActivityDefinition to a SupplyRequest

Transform from an ActivityDefinition to a SupplyRequest

TransformAppend

Example demonstrating the append transform to concatenate string values

TransformC

Example demonstrating the c transform to create a Coding

TransformCast

Example demonstrating the cast transform for type conversion

TransformCc

Example demonstrating the cc transform to create a CodeableConcept

TransformCp

Example demonstrating the cp transform to create a ContactPoint

TransformCreate

Example demonstrating the create transform to construct a new typed instance

TransformEvaluate

Example demonstrating the evaluate transform to execute a FHIRPath expression

TransformEvaluate2

Additional examples demonstrating the evaluate transform to execute a FHIRPath expression

TransformEvaluateConcise

Example demonstrating the evaluate transform to execute a FHIRPath expression

TransformId

Example demonstrating the id transform to create an Identifier

TransformQty

Example demonstrating the qty transform to create a Quantity

TransformReference

Example demonstrating the reference transform to generate a resource reference

TransformTranslate

Example demonstrating the translate transform using a ConceptMap for code mapping

TransformTruncate

Example demonstrating the truncate transform to limit string length

TransformUuid

Example demonstrating the uuid transform to generate a unique identifier

UsesAlias

Example demonstrating the alias keyword for uses declarations

UsesQueriedProduced

Example demonstrating queried and produced modes in uses declarations - Only demonstrates produced, doesn''t demonstrate queried.

UsesSourceTarget

Example demonstrating basic source and target uses declarations

Other

These are resources that are used within this implementation guide that do not fit into one of the other categories.

Structure Map

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

StructureMap-examples
StructureMap-operations