FHIR Cross-Version Mapping Pack
0.1.0 - Ballot for Release 5.1.0 International flag

FHIR Cross-Version Mapping Pack, 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/fhir-cross-version/ and changes regularly. See the Directory of published versions

StructureMap: Reference Transforms: R3 to R4

Official URL: http://hl7.org/fhir/StructureMap/Reference3to4 Version: 0.1.0
Standards status: Draft Maturity Level: 1 Computable Name: Reference3to4

ReferenceTransformsR3toR4

/// url = 'http://hl7.org/fhir/StructureMap/Reference3to4'
/// name = 'Reference3to4'
/// title = 'Reference Transforms: R3 to R4'
/// status = 'active'

uses "http://hl7.org/fhir/3.0/Reference" alias ReferenceR3 as source
uses "http://hl7.org/fhir/4.0/Reference" alias Reference as target

imports "http://hl7.org/fhir/StructureMap/*3to4"

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

group Reference2Canonical(source src : ReferenceR3, target tgt : canonical) extends Element <<types>> {
  src.reference as vs then uri2Canonical(vs, tgt);
  src.display as v ->  tgt.extension as vt,  vt.url = 'http://hl7.org/fhir/StructureDefinition/rendered-value',  vt.value = v;
}

group Reference2uri(source src : ReferenceR3, target tgt : uri) extends Element <<types>> {
  src.reference as vs then uri(vs, tgt);
  src.display as v ->  tgt.extension as vt,  vt.url = 'http://hl7.org/fhir/StructureDefinition/rendered-value',  vt.value = v;
}

group Identifier2Reference(source src : IdentifierR3, target tgt : Reference) extends Element <<types>> {
  src -> tgt.identifier as vt0 then Identifier(src, vt0) "inner";
}