FHIR Extensions Pack
5.1.0 - 5.1.0 (April 2024) International flag

This page is part of the FHIR Core Extensions Registry (v5.1.0: Release 5.1) based on FHIR (HL7® FHIR® Standard) v5.0.0. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

StructureMap: FML Conversion for primitive datatypes: R4 to R5

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

FMLConversionforprimitivedatatypesR4toR5

/// url = 'http://hl7.org/fhir/StructureMap/Primitives4to5'
/// name = 'Primitives4to5'
/// title = 'FML Conversion for primitive datatypes: R4 to R5'
/// status = 'draft'

uses "http://hl7.org/fhir/4.0/StructureDefinition/base64Binary" alias base64BinaryR4 as source
uses "http://hl7.org/fhir/StructureDefinition/base64Binary" alias base64BinaryR5 as target
uses "http://hl7.org/fhir/4.0/StructureDefinition/boolean" alias booleanR4 as source
uses "http://hl7.org/fhir/StructureDefinition/boolean" alias booleanR5 as target
uses "http://hl7.org/fhir/4.0/StructureDefinition/canonical" alias canonicalR4 as source
uses "http://hl7.org/fhir/StructureDefinition/canonical" alias canonicalR5 as target
uses "http://hl7.org/fhir/4.0/StructureDefinition/code" alias codeR4 as source
uses "http://hl7.org/fhir/StructureDefinition/code" alias codeR5 as target
uses "http://hl7.org/fhir/4.0/StructureDefinition/date" alias dateR4 as source
uses "http://hl7.org/fhir/StructureDefinition/date" alias dateR5 as target
uses "http://hl7.org/fhir/4.0/StructureDefinition/dateTime" alias dateTimeR4 as source
uses "http://hl7.org/fhir/StructureDefinition/dateTime" alias dateTimeR5 as target
uses "http://hl7.org/fhir/4.0/StructureDefinition/decimal" alias decimalR4 as source
uses "http://hl7.org/fhir/StructureDefinition/decimal" alias decimalR5 as target
uses "http://hl7.org/fhir/4.0/StructureDefinition/id" alias idR4 as source
uses "http://hl7.org/fhir/StructureDefinition/id" alias idR5 as target
uses "http://hl7.org/fhir/4.0/StructureDefinition/instant" alias instantR4 as source
uses "http://hl7.org/fhir/StructureDefinition/instant" alias instantR5 as target
uses "http://hl7.org/fhir/4.0/StructureDefinition/integer" alias integerR4 as source
uses "http://hl7.org/fhir/StructureDefinition/integer" alias integerR5 as target
uses "http://hl7.org/fhir/StructureDefinition/integer64" alias integer64R5 as target
uses "http://hl7.org/fhir/4.0/StructureDefinition/markdown" alias markdownR4 as source
uses "http://hl7.org/fhir/StructureDefinition/markdown" alias markdownR5 as target
uses "http://hl7.org/fhir/4.0/StructureDefinition/oid" alias oidR4 as source
uses "http://hl7.org/fhir/StructureDefinition/oid" alias oidR5 as target
uses "http://hl7.org/fhir/4.0/StructureDefinition/positiveInt" alias positiveIntR4 as source
uses "http://hl7.org/fhir/StructureDefinition/positiveInt" alias positiveIntR5 as target
uses "http://hl7.org/fhir/4.0/StructureDefinition/string" alias stringR4 as source
uses "http://hl7.org/fhir/StructureDefinition/string" alias stringR5 as target
uses "http://hl7.org/fhir/4.0/StructureDefinition/time" alias timeR4 as source
uses "http://hl7.org/fhir/StructureDefinition/time" alias timeR5 as target
uses "http://hl7.org/fhir/4.0/StructureDefinition/unsignedInt" alias unsignedIntR4 as source
uses "http://hl7.org/fhir/StructureDefinition/unsignedInt" alias unsignedIntR5 as target
uses "http://hl7.org/fhir/4.0/StructureDefinition/uri" alias uriR4 as source
uses "http://hl7.org/fhir/StructureDefinition/uri" alias uriR5 as target
uses "http://hl7.org/fhir/4.0/StructureDefinition/url" alias urlR4 as source
uses "http://hl7.org/fhir/StructureDefinition/url" alias urlR5 as target
uses "http://hl7.org/fhir/4.0/StructureDefinition/uuid" alias uuidR4 as source
uses "http://hl7.org/fhir/StructureDefinition/uuid" alias uuidR5 as target
uses "http://hl7.org/fhir/4.0/StructureDefinition/xhtml" alias xhtmlR4 as source
uses "http://hl7.org/fhir/StructureDefinition/xhtml" alias xhtmlR5 as target

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

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

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

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

group canonical2uri(source src : canonicalR4, target tgt : uriR5) extends Element <<types>> {
  src.value as v -> tgt.value = v "canonical2uriValue";
}

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

group code2id(source src : codeR4, target tgt : idR5) extends Element <<types>> {
  src.value as v -> tgt.value = v "code2idValue";
}

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

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

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

group date2dateTime(source src : dateR4, target tgt : dateTimeR5) extends Element <<types>> {
  src.value as v -> tgt.value = v "date2dateTimeValue";
}

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

group dateTime2date(source src : dateTimeR4, target tgt : dateR5) extends Element <<types>> {
  src.value as v -> tgt.value = v "dateTime2dateValue";
}

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

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

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

group id2string(source src : idR4, target tgt : stringR5) extends Element <<types>> {
  src.value as v -> tgt.value = v "id2stringValue";
}

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

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

group integer2integer64(source src : integerR4, target tgt : integer64R5) extends Element <<types>> {
  src.value as v -> tgt.value = v "integer2integer64Value";
}

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

group markdown2string(source src : markdownR4, target tgt : stringR5) extends Element <<type+>> {
  src.value as v -> tgt.value = v "markdown2stringValue"; // todo: deal with markdown escaping issues
}

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

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

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

group string2markdown(source src : stringR4, target tgt : markdownR5) extends Element <<types>> {
  src.value as v -> tgt.value = v "string2markdownValue"; // todo: deal with markdown escaping issues
}

group string2id(source src : stringR4, target tgt : idR5) extends Element <<types>> {
  src.value as v -> tgt.value = v "string2idValue";
}

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

group string2integer64(source src : stringR4, target tgt : integer64R5) extends Element <<types>> {
  src.value as v -> tgt.value = v "string2integer64Value";
}

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

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

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

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

group uri2canonical(source src : uriR4, target tgt : canonicalR5) extends Element <<types>> {
  src.value as v -> tgt.value = v "uri2canonicalValue";
}

group uri2code(source src : uriR4, target tgt : codeR5) extends Element <<types>> {
  src.value as v -> tgt.value = v "uri2codeValue";
}

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

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

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