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 primitive datatypes: R4B to R5

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

FMLConversionforprimitivedatatypesR4BtoR5

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

uses "http://hl7.org/fhir/4.3/StructureDefinition/base64Binary" alias base64BinaryR4B as source
uses "http://hl7.org/fhir/StructureDefinition/base64Binary" alias base64BinaryR5 as target
uses "http://hl7.org/fhir/4.3/StructureDefinition/boolean" alias booleanR4B as source
uses "http://hl7.org/fhir/StructureDefinition/boolean" alias booleanR5 as target
uses "http://hl7.org/fhir/4.3/StructureDefinition/canonical" alias canonicalR4B as source
uses "http://hl7.org/fhir/StructureDefinition/canonical" alias canonicalR5 as target
uses "http://hl7.org/fhir/4.3/StructureDefinition/code" alias codeR4B as source
uses "http://hl7.org/fhir/StructureDefinition/code" alias codeR5 as target
uses "http://hl7.org/fhir/4.3/StructureDefinition/date" alias dateR4B as source
uses "http://hl7.org/fhir/StructureDefinition/date" alias dateR5 as target
uses "http://hl7.org/fhir/4.3/StructureDefinition/dateTime" alias dateTimeR4B as source
uses "http://hl7.org/fhir/StructureDefinition/dateTime" alias dateTimeR5 as target
uses "http://hl7.org/fhir/4.3/StructureDefinition/decimal" alias decimalR4B as source
uses "http://hl7.org/fhir/StructureDefinition/decimal" alias decimalR5 as target
uses "http://hl7.org/fhir/4.3/StructureDefinition/id" alias idR4B as source
uses "http://hl7.org/fhir/StructureDefinition/id" alias idR5 as target
uses "http://hl7.org/fhir/4.3/StructureDefinition/instant" alias instantR4B as source
uses "http://hl7.org/fhir/StructureDefinition/instant" alias instantR5 as target
uses "http://hl7.org/fhir/4.3/StructureDefinition/integer" alias integerR4B 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.3/StructureDefinition/markdown" alias markdownR4B as source
uses "http://hl7.org/fhir/StructureDefinition/markdown" alias markdownR5 as target
uses "http://hl7.org/fhir/4.3/StructureDefinition/oid" alias oidR4B as source
uses "http://hl7.org/fhir/StructureDefinition/oid" alias oidR5 as target
uses "http://hl7.org/fhir/4.3/StructureDefinition/positiveInt" alias positiveIntR4B as source
uses "http://hl7.org/fhir/StructureDefinition/positiveInt" alias positiveIntR5 as target
uses "http://hl7.org/fhir/4.3/StructureDefinition/string" alias stringR4B as source
uses "http://hl7.org/fhir/StructureDefinition/string" alias stringR5 as target
uses "http://hl7.org/fhir/4.3/StructureDefinition/time" alias timeR4B as source
uses "http://hl7.org/fhir/StructureDefinition/time" alias timeR5 as target
uses "http://hl7.org/fhir/4.3/StructureDefinition/unsignedInt" alias unsignedIntR4B as source
uses "http://hl7.org/fhir/StructureDefinition/unsignedInt" alias unsignedIntR5 as target
uses "http://hl7.org/fhir/4.3/StructureDefinition/uri" alias uriR4B as source
uses "http://hl7.org/fhir/StructureDefinition/uri" alias uriR5 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
uses "http://hl7.org/fhir/4.3/StructureDefinition/uuid" alias uuidR4B as source
uses "http://hl7.org/fhir/StructureDefinition/uuid" alias uuidR5 as target
uses "http://hl7.org/fhir/4.3/StructureDefinition/xhtml" alias xhtmlR4B as source
uses "http://hl7.org/fhir/StructureDefinition/xhtml" alias xhtmlR5 as target

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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