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: Extension Transforms: R3 to R2

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

ExtensionTransformsR3toR2

/// url = 'http://hl7.org/fhir/StructureMap/Extension3to2'
/// name = 'Extension3to2'
/// title = 'Extension Transforms: R3 to R2'
/// status = 'active'

uses "http://hl7.org/fhir/3.0/Extension" alias Extension as source
uses "http://hl7.org/fhir/1.0/Extension" alias ExtensionR2 as target

imports "http://hl7.org/fhir/StructureMap/primitives3to2"
imports "http://hl7.org/fhir/StructureMap/Element3to2"
imports "http://hl7.org/fhir/StructureMap/Meta3to2"
imports "http://hl7.org/fhir/StructureMap/Address3to2"
imports "http://hl7.org/fhir/StructureMap/Attachment3to2"
imports "http://hl7.org/fhir/StructureMap/ContactPoint3to2"
imports "http://hl7.org/fhir/StructureMap/HumanName3to2"
imports "http://hl7.org/fhir/StructureMap/Identifier3to2"
imports "http://hl7.org/fhir/StructureMap/Coding3to2"
imports "http://hl7.org/fhir/StructureMap/SampledData3to2"
imports "http://hl7.org/fhir/StructureMap/Ratio3to2"
imports "http://hl7.org/fhir/StructureMap/Reference3to2"
imports "http://hl7.org/fhir/StructureMap/Period3to2"
imports "http://hl7.org/fhir/StructureMap/Quantity3to2"
imports "http://hl7.org/fhir/StructureMap/Range3to2"
imports "http://hl7.org/fhir/StructureMap/Annotation3to2"
imports "http://hl7.org/fhir/StructureMap/Signature3to2"
imports "http://hl7.org/fhir/StructureMap/Timing3to2"
imports "http://hl7.org/fhir/StructureMap/CodeableConcept3to2"

group Extension(source src : Extension, target tgt : ExtensionR2) extends Element <<type+>> {
  src.url -> tgt.url "Extension-url";
  src.value : base64Binary as vs -> tgt.value = create('base64Binary') as vt then base64Binary(vs, vt) "Extension-value-base64Binary";
  src.value : boolean as vs -> tgt.value = create('boolean') as vt then boolean(vs, vt) "Extension-value-boolean";
  src.value : code as vs -> tgt.value = create('code') as vt then code(vs, vt) "Extension-value-code";
  src.value : date as vs -> tgt.value = create('date') as vt then date(vs, vt) "Extension-value-date";
  src.value : dateTime as vs -> tgt.value = create('dateTime') as vt then dateTime(vs, vt) "Extension-value-dateTime";
  src.value : decimal as vs -> tgt.value = create('decimal') as vt then decimal(vs, vt) "Extension-value-decimal";
  src.value : id as vs -> tgt.value = create('id') as vt then id(vs, vt) "Extension-value-id";
  src.value : instant as vs -> tgt.value = create('instant') as vt then instant(vs, vt) "Extension-value-instant";
  src.value : integer as vs -> tgt.value = create('integer') as vt then integer(vs, vt) "Extension-value-integer";
  src.value : markdown as vs -> tgt.value = create('markdown') as vt then markdown(vs, vt) "Extension-value-markdown";
  src.value : oid as vs -> tgt.value = create('oid') as vt then oid(vs, vt) "Extension-value-oid";
  src.value : positiveInt as vs -> tgt.value = create('positiveInt') as vt then positiveInt(vs, vt) "Extension-value-positiveInt";
  src.value : string as vs -> tgt.value = create('string') as vt then string(vs, vt) "Extension-value-string";
  src.value : time as vs -> tgt.value = create('time') as vt then time(vs, vt) "Extension-value-time";
  src.value : unsignedInt as vs -> tgt.value = create('unsignedInt') as vt then unsignedInt(vs, vt) "Extension-value-unsignedInt";
  src.value : uri as vs -> tgt.value = create('uri') as vt then uri(vs, vt) "Extension-value-uri";
  src.value : Address as vs -> tgt.value = create('Address') as vt then Address(vs, vt) "Extension-value-Address";
  src.value : Annotation as vs -> tgt.value = create('Annotation') as vt then Annotation(vs, vt) "Extension-value-Annotation";
  src.value : Attachment as vs -> tgt.value = create('Attachment') as vt then Attachment(vs, vt) "Extension-value-Attachment";
  src.value : CodeableConcept as vs -> tgt.value = create('CodeableConcept') as vt then CodeableConcept(vs, vt) "Extension-value-CodeableConcept";
  src.value : Coding as vs -> tgt.value = create('Coding') as vt then Coding(vs, vt) "Extension-value-Coding";
  src.value : ContactPoint as vs -> tgt.value = create('ContactPoint') as vt then ContactPoint(vs, vt) "Extension-value-ContactPoint";
  src.value : HumanName as vs -> tgt.value = create('HumanName') as vt then HumanName(vs, vt) "Extension-value-HumanName";
  src.value : Identifier as vs -> tgt.value = create('Identifier') as vt then Identifier(vs, vt) "Extension-value-Identifier";
  src.value : Period as vs -> tgt.value = create('Period') as vt then Period(vs, vt) "Extension-value-Period";
  src.value : Quantity as vs -> tgt.value = create('Quantity') as vt then Quantity(vs, vt) "Extension-value-Quantity";
  src.value : Range as vs -> tgt.value = create('Range') as vt then Range(vs, vt) "Extension-value-Range";
  src.value : Ratio as vs -> tgt.value = create('Ratio') as vt then Ratio(vs, vt) "Extension-value-Ratio";
  src.value : Reference as vs -> tgt.value = create('Reference') as vt then Reference(vs, vt) "Extension-value-Reference";
  src.value : SampledData as vs -> tgt.value = create('SampledData') as vt then SampledData(vs, vt) "Extension-value-SampledData";
  src.value : Signature as vs -> tgt.value = create('Signature') as vt then Signature(vs, vt) "Extension-value-Signature";
  src.value : Timing as vs -> tgt.value = create('Timing') as vt then Timing(vs, vt) "Extension-value-Timing";
  src.value : Meta as vs -> tgt.value = create('Meta') as vt then Meta(vs, vt) "Extension-value-Meta";
}