StructureMap-Primitives4Bto5

Sourcehl7.fhir.uv.extensions.r4#1.0.0:FHIR Extensions Pack (v4.0.1)
resourceTypeStructureMap
idPrimitives4Bto5
canonicalhttp://hl7.org/fhir/StructureMap/Primitives4Bto5
version1.0.0
statusdraft
publisherHL7 International / FHIR Infrastructure
namePrimitives4Bto5
titleFML Conversion for primitive datatypes: R4B to R5
date2023-03-26T08:47:34+11:00
descriptionFMLConversionforprimitivedatatypesR4BtoR5
jurisdictionsuv
Usages(none)

    
/// 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"
    ;

    }


  

Produced 06 Apr 2023