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: Primitive Transforms: R3 to R4

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

PrimitiveTransformsR3toR4

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

uses "http://hl7.org/fhir/3.0/base64Binary" alias base64BinaryR3 as source
uses "http://hl7.org/fhir/4.0/base64Binary" as target
uses "http://hl7.org/fhir/3.0/boolean" alias booleanR3 as source
uses "http://hl7.org/fhir/4.0/boolean" as target
uses "http://hl7.org/fhir/3.0/canonical" alias canonicalR3 as source
uses "http://hl7.org/fhir/4.0/canonical" as target
uses "http://hl7.org/fhir/3.0/code" alias codeR3 as source
uses "http://hl7.org/fhir/4.0/code" as target
uses "http://hl7.org/fhir/3.0/date" alias dateR3 as source
uses "http://hl7.org/fhir/4.0/date" as target
uses "http://hl7.org/fhir/3.0/dateTime" alias dateTimeR3 as source
uses "http://hl7.org/fhir/4.0/dateTime" as target
uses "http://hl7.org/fhir/3.0/decimal" alias decimalR3 as source
uses "http://hl7.org/fhir/4.0/decimal" as target
uses "http://hl7.org/fhir/3.0/id" alias idR3 as source
uses "http://hl7.org/fhir/4.0/id" as target
uses "http://hl7.org/fhir/3.0/instant" alias instantR3 as source
uses "http://hl7.org/fhir/4.0/instant" as target
uses "http://hl7.org/fhir/3.0/integer" alias integerR3 as source
uses "http://hl7.org/fhir/4.0/integer" as target
uses "http://hl7.org/fhir/3.0/markdown" alias markdownR3 as source
uses "http://hl7.org/fhir/4.0/markdown" as target
uses "http://hl7.org/fhir/3.0/oid" alias oidR3 as source
uses "http://hl7.org/fhir/4.0/oid" as target
uses "http://hl7.org/fhir/3.0/positiveInt" alias positiveIntR3 as source
uses "http://hl7.org/fhir/4.0/positiveInt" as target
uses "http://hl7.org/fhir/3.0/string" alias stringR3 as source
uses "http://hl7.org/fhir/4.0/string" as target
uses "http://hl7.org/fhir/3.0/time" alias timeR3 as source
uses "http://hl7.org/fhir/4.0/time" as target
uses "http://hl7.org/fhir/3.0/unsignedInt" alias unsignedIntR3 as source
uses "http://hl7.org/fhir/4.0/unsignedInt" as target
uses "http://hl7.org/fhir/3.0/uri" alias uriR3 as source
uses "http://hl7.org/fhir/4.0/uri" as target
uses "http://hl7.org/fhir/3.0/url" alias urlR3 as source
uses "http://hl7.org/fhir/4.0/url" as target
uses "http://hl7.org/fhir/3.0/uuid" alias uuidR3 as source
uses "http://hl7.org/fhir/4.0/uuid" as target
uses "http://hl7.org/fhir/3.0/xhtml" alias xhtmlR3 as source
uses "http://hl7.org/fhir/4.0/xhtml" as target

imports "http://hl7.org/fhir/StructureMap/Element3to4"

group base64Binary(source src : base64BinaryR3, target tgt : base64Binary) extends Element <<type+>> {
  src.value as v -> tgt.value = v "base64Binary-value";
}

group boolean(source src : booleanR3, target tgt : boolean) extends Element <<type+>> {
  src.value as v -> tgt.value = v "boolean-value";
}

group canonical(source src : canonicalR3, target tgt : canonical) extends Element <<type+>> {
  src.value as v -> tgt.value = v "canonical-value";
}

group code(source src : codeR3, target tgt : code) extends Element <<type+>> {
  src.value as v -> tgt.value = v "code-value";
}

group date(source src : dateR3, target tgt : date) extends Element <<type+>> {
  src.value as v -> tgt.value = v "date-value";
}

group dateTime(source src : dateTimeR3, target tgt : dateTime) extends Element <<type+>> {
  src.value as v -> tgt.value = v "dateTime-value";
}

group decimal(source src : decimalR3, target tgt : decimal) extends Element <<type+>> {
  src.value as v -> tgt.value = v "decimal-value";
}

group id(source src : idR3, target tgt : id) extends Element <<type+>> {
  src.value as v -> tgt.value = v "id-value";
}

group instant(source src : instantR3, target tgt : instant) extends Element <<type+>> {
  src.value as v -> tgt.value = v "instant-value";
}

group integer(source src : integerR3, target tgt : integer) extends Element <<type+>> {
  src.value as v -> tgt.value = v "integer-value";
}

group markdown(source src : markdownR3, target tgt : markdown) extends Element <<type+>> {
  src.value as v -> tgt.value = v "markdown-value";
}

group oid(source src : oidR3, target tgt : oid) extends Element <<type+>> {
  src.value as v -> tgt.value = v "oid-value";
}

group positiveInt(source src : positiveIntR3, target tgt : positiveInt) extends Element <<type+>> {
  src.value as v -> tgt.value = v "positiveInt-value";
}

group string(source src : stringR3, target tgt : string) extends Element <<type+>> {
  src.value as v -> tgt.value = v "string-value";
}

group time(source src : timeR3, target tgt : time) extends Element <<type+>> {
  src.value as v -> tgt.value = v "time-value";
}

group unsignedInt(source src : unsignedIntR3, target tgt : unsignedInt) extends Element <<type+>> {
  src.value as v -> tgt.value = v "unsignedInt-value";
}

group uri(source src : uriR3, target tgt : uri) extends Element <<type+>> {
  src.value as v -> tgt.value = v "uri-value";
}

group uri2Canonical(source src : uriR3, target tgt : canonical) extends Element <<types>> {
  src.value as v -> tgt.value = v "uri-value";
}

group url(source src : urlR3, target tgt : url) extends Element <<type+>> {
  src.value as v -> tgt.value = v "url-value";
}

group uuid(source src : uuidR3, target tgt : uuid) extends Element <<type+>> {
  src.value as v -> tgt.value = v "uuid-value";
}

group xhtml(source src : xhtmlR3, target tgt : xhtml) extends Element <<type+>> {
  src.value as v -> tgt.value = v "xhtml-value";
}

group stringToMarkdown(source src : stringR3, target tgt : markdown) extends Element <<types>> {
  src.value as v -> tgt.value = v "stringToMarkdown-value";
}

group id2code(source src : idR3, target tgt : code) extends Element <<types>> {
  src.value as v -> tgt.value = v "id2code-value";
}

group code2uri(source src : codeR3, target tgt : uri) extends Element <<types>> {
  src.value as v -> tgt.value = v "code2uri-value";
}

group code2string(source src : codeR3, target tgt : string) extends Element <<types>> {
  src.value as v -> tgt.value = v "code2uri-value";
}

group string2code(source src : stringR3, target tgt : code) extends Element <<types>> {
  src.value as v -> tgt.value = v "code2uri-value";
}

group uri2url(source src : uriR3, target tgt : url) extends Element <<types>> {
  src.value as v -> tgt.value = v "code2uri-value";
}

group id2string(source src : idR3, target tgt : string) extends Element <<type+>> {
  src.value as v -> tgt.value = v;
}

group uri2string(source src : uriR3, target tgt : string) extends Element <<types>> {
  src.value as v -> tgt.value = v "code2uri-value";
}

group unsignedInt2decimal(source src : unsignedIntR3, target tgt : decimal) extends Element <<types>> {
  src.value as v -> tgt.value = v "unsignedInt2decimal-value";
}

group oid2string(source src : oidR3, target tgt : string) extends Element <<type+>> {
  src.value as v -> tgt.value = v;
}

group oid2id(source src : oidR3, target tgt : id) extends Element <<type+>> {
  src.value as v -> tgt.value = v;
}

group positiveInt2integer(source src : positiveIntR3, target tgt : integer) extends Element <<types>> {
  src.value as v -> tgt.value = v "unsignedInt2decimal-value";
}

group integer2positiveInt(source src : integerR3, target tgt : positiveInt) extends Element <<types>> {
  src.value as v -> tgt.value = v "unsignedInt2decimal-value";
}

group positiveInt2unsignedInt(source src : positiveIntR3, target tgt : unsignedInt) extends Element <<types>> {
  src.value as v -> tgt.value = v;
}