Page tree
Skip to end of metadata
Go to start of metadata

Track overview

Short Description

Mapping other data formats (HL7 v2, CSV, ...) to FHIR will always be necessary. The FHIR Mapping Language provides an extensive set of methods to produce such mappings, let's improve the maturity of the specification.

Long Description

The FHIR Mapping Language has recently seen an increasing adoption rate across a broad range of projects. Additional to the official Java implementation, third-party implementation are now available. Due to the relatively low maturity level of this part of the specification, it is expected that tooling still differs in the supported feature and interpretation of the standard. The main purpose of this connectathon track are:

  • Complete the tutorial for the FHIR Mapping Language and adjust it to the newest language features
  • Test the interoperability of StructureMaps generated by different tooling
  • Discuss language limitations seen in different projects


  • Test the design of a Resource/set of Resources

Submitting Work Group/Project/Accelerator/Affiliate/Implementer Group

FHIR Infrastructure

Proposed Track Lead

Alexander Zautke,

Related tracks


FHIR Version

  • FHIR R4

Specification(s) this track uses

Artifacts of focus

Clinical input requested (if any)


Patient input requested (if any)


Expected participants

Expected are 5-10 participants

Zulip stream

Track Orientation

To be discussed on

Track details

System Roles

This tracks enables participants to create mapping clients as well as to test different mapping servers. Both roles are equally relevant to the success of the track.

Knowledge of the FHIR Mapping Language would be helpful to start with testing different mapping servers, however an introduction in the language itself may be offered if needed.


Scenario Step 1: Test the FHIR Mapping Tutorial

Action: Choose an available mapping server and follow the FHIR Mapping Language Tutorial](

Precondition: None

Success Criteria:

  • Create StructureMaps and StructureDefinitions needed to execute the mappings described by the tutorial

Bonus point:

  • Find open questions not answered by the tutorial
  • Create a draft for sections which are marked as "TODO" in the published Tutorial

Scenario Step 2: Exchange StructureMaps between different Mapping Servers

Action: Create a StructureMap based on a mapping language file. Validate and execute the StructureMap using different mapping servers.

Precondition: None

Success Criteria:

  • Mapping files can be used to generate a StructureMap with different implementations
  • Verify the StructureMaps produced by different implementations are valid

Bonus point:

  • Create mapping files based on your own source data independent of the FHIR Mapping Language tutorial
  • Mappings can be successfully executed regardless of the mapping server being used



Security and Privacy Considerations


Report Out

JIRA Tickets:
- - Replace isInteger with convertsToInteger() in Mapping Language Tutorial

Identified Issues with StructureMap:
- Documentation needed on how to store a embedded ConceptMap as a contained resource inside a StructureMap
- Java and .NET Reference Implementation handle the illegal (Specification only allows 'id' datatype) use of "_" in a variable or rule name differently. Java is more relaxed.
- Open question: Should the SourceRuleMode only_one throw an error or skip the rule if multiple sources are found. See

The GitHub tutorial for the FHIR Mapping Language ( was extended:
- It now contains a list which tests succeed in the Java / .NET Implementation
- Mapping files, StructureMaps and StructureDefinitions for step 10 of the FML tutorial were added


Alexander Zautke (Firely)
Oliver Egger (ahdis, HL7 Switzerland)

Teresa Autery (TIBCO)

  • No labels