FHIR Mapping Language (FML)
0.1.0 - STU 1 World

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

StructureMap: GroupTypePlus

Official URL: http://hl7.org/fhir/uv/mapping-language/StructureMap/GroupTypePlus Version:
Standards status: Informative Computable Name: GroupTypePlus

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

/// url = 'http://hl7.org/fhir/uv/mapping-language/StructureMap/GroupTypePlus'
/// name = 'GroupTypePlus'
/// status = 'active'
/// description = 'Example demonstrating the type+ stereotype that also creates the target type when not fixed'

uses "http://hl7.org/fhir/StructureDefinition/Observation" as source
uses "http://hl7.org/fhir/StructureDefinition/Observation" as target
uses "http://hl7.org/fhir/StructureDefinition/Patient" as source
uses "http://hl7.org/fhir/StructureDefinition/Patient" as target
uses "http://hl7.org/fhir/StructureDefinition/Practitioner" as source
uses "http://hl7.org/fhir/StructureDefinition/Practitioner" as target

group UseDefaultTypePlus(source src : Observation, target tgt : Observation) {
  src.id -> tgt.id;
  // the datatype of contained is Resource (which is the base for all resources)
  // thus the source/target mapping isn't enough to work out what to do here.
  // So FML falls back to the "default" map to use given this source type
  src.contained -> tgt.contained;
}

group GroupTypePlusPatient(source src : Patient, target tgt : Patient) <<type+>> {
  src.id -> tgt.id;
  src.name -> tgt.name;
}

group GroupTypePlusPractitioner(source src : Practitioner, target tgt : Practitioner) <<type+>> {
  src.id -> tgt.id;
  src.name -> tgt.name;
}