FHIR Extensions Pack
5.1.0-cibuild - Working Copy International flag

FHIR Extensions Pack, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 5.1.0-cibuild built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-extensions/ and changes regularly. See the Directory of published versions

StructureMap: FML Conversion for Reference: R4B to R5

Official URL: http://hl7.org/fhir/StructureMap/Reference4Bto5 Version: 5.1.0-cibuild
Standards status: Trial-use Maturity Level: 1 Computable Name: Reference4Bto5

FMLConversionforReferenceR4BtoR5

/// url = 'http://hl7.org/fhir/StructureMap/Reference4Bto5'
/// name = 'Reference4Bto5'
/// title = 'FML Conversion for Reference: R4B to R5'
/// status = 'active'

uses "http://hl7.org/fhir/4.3/StructureDefinition/Reference" alias ReferenceR4B as source
uses "http://hl7.org/fhir/StructureDefinition/CodeableReference" alias CodeableReferenceR5 as target
uses "http://hl7.org/fhir/StructureDefinition/Reference" alias ReferenceR5 as target
uses "http://hl7.org/fhir/StructureDefinition/canonical" alias canonicalR5 as target
uses "http://hl7.org/fhir/4.3/StructureDefinition/url" alias urlR4B as source
uses "http://hl7.org/fhir/StructureDefinition/url" alias urlR5 as target

imports "http://hl7.org/fhir/StructureMap/*4Bto5"

group Reference(source src : ReferenceR4B, target tgt : ReferenceR5) extends Element <<type+>> {
  src.reference -> tgt.reference;
  src.type -> tgt.type;
  src.identifier -> tgt.identifier;
  src.display -> tgt.display;
}

group Reference2canonical(source src : ReferenceR4B, target tgt : canonicalR5) extends Element <<type+>> {
  src.reference as v -> tgt.value = v "canonicalValue";
}

group Reference2Url(source src : ReferenceR4B, target tgt : urlR5) extends Element <<type+>> {
  src.reference as v -> tgt.value = v "canonicalValue";
}

group url2Reference(source src : urlR4B, target tgt : ReferenceR5) extends Element <<type+>> {
  src.value as v -> tgt.reference = v "canonicalValue";
}

group Reference2CodeableReference(source src : ReferenceR4B, target tgt : CodeableReferenceR5) extends Element <<type+>> {
  src.reference as v ->  tgt.reference as t,  t.reference = v;
  src.type as v ->  tgt.reference as t,  t.type = v;
  src.identifier as v ->  tgt.reference as t,  t.identifier = v;
  src.display as v ->  tgt.reference as t,  t.display = v;
}