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.
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
Proposed Track Lead
Alexander Zautke, email@example.com
- FHIR R4
Specification(s) this track uses
Artifacts of focus
Clinical input requested (if any)
Patient input requested (if any)
Expected are 5-10 participants
To be discussed on https://chat.fhir.org/#narrow/stream/181579-mapping-framework
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](https://www.hl7.org/fhir/mapping-tutorial.html).
- Create StructureMaps and StructureDefinitions needed to execute the mappings described by the tutorial
- 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.
- Mapping files can be used to generate a StructureMap with different implementations
- Verify the StructureMaps produced by different implementations are valid
- 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
- https://jira.hl7.org/browse/FHIR-28465 - 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 https://chat.fhir.org/#narrow/stream/181579-mapping-framework/topic/source-list-mode.20only_one
The GitHub tutorial for the FHIR Mapping Language (https://github.com/ahdis/fhir-mapping-tutorial) 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)