StructureMap-CodeableConcept5to4

Sourcehl7.fhir.uv.extensions.r4#1.0.0:FHIR Extensions Pack (v4.0.1)
resourceTypeStructureMap
idCodeableConcept5to4
canonicalhttp://hl7.org/fhir/StructureMap/CodeableConcept5to4
version1.0.0
statusactive
publisherHL7 International / FHIR Infrastructure
nameCodeableConcept5to4
titleFML Conversion for CodeableConcept: R5 to R4
date2023-03-26T08:47:34+11:00
descriptionFMLConversionforCodeableConceptR5toR4
jurisdictionsuv
Usages(none)

    
/// url = 
    
    'http://hl7.org/fhir/StructureMap/CodeableConcept5to4'

    
/// name = 
    
    'CodeableConcept5to4'

    
/// title = 
    
    'FML Conversion for CodeableConcept: R5 to R4'

    
/// status = 
    
    'active'


    uses
     "
http://hl7.org/fhir/4.0/StructureDefinition/CodeableConcept    " 
    alias 
CodeableConceptR4     as 
    target

    uses
     "
http://hl7.org/fhir/4.0/StructureDefinition/Coding    " 
    alias 
CodingR4     as 
    target

    uses
     "
http://hl7.org/fhir/4.0/StructureDefinition/code    " 
    alias 
codeR4     as 
    target

    uses
     "
http://hl7.org/fhir/4.0/StructureDefinition/string    " 
    alias 
stringR4     as 
    target

    uses
     "
    http://hl7.org/fhir/StructureDefinition/CodeableConcept
    " 
    alias 
CodeableConceptR5     as 
    source

    uses
     "
    http://hl7.org/fhir/StructureDefinition/CodeableReference
    " 
    alias 
CodeableReferenceR5     as 
    source

    uses
     "
    http://hl7.org/fhir/StructureDefinition/Coding
    " 
    alias 
CodingR5     as 
    source

    uses
     "
    http://hl7.org/fhir/StructureDefinition/code
    " 
    alias 
codeR5     as 
    source


    imports
     "
http://hl7.org/fhir/StructureMap/*5to4    "


    group 
CodeableConcept    (
    source
     src
     : 
CodeableConceptR5,     target
     tgt
     : 
CodeableConceptR4    )
     extends 
Element     <<type+>>
     {

  src.coding    
 ->     
tgt.coding    ;

  src.text    
 ->     
tgt.text    ;

    }


    group 
CodeableConcept2Coding    (
    source
     src
     : 
CodeableConceptR5,     target
     tgt
     : 
CodingR4    )
     extends 
Element     <<types>>
     {

  src.coding     as 
    s
    
 ->     
    tgt
     as 
    t
     then 
Coding    (
    s
    , 
    t
    )
    ;

    }


    group 
CodeableReference2Coding    (
    source
     src
     : 
CodeableReferenceR5,     target
     tgt
     : 
CodingR4    )
     extends 
Element     <<types>>
     {

  src.concept     as 
    s
    
 ->     
    tgt
     then
     {

    s.coding     as 
    v
    
 ->     
    tgt
     then 
Coding    (
    v
    , 
    tgt
    )
    ;

      }
    ;

    }


    group 
CodeableReference2CodeableConcept    (
    source
     src
     : 
CodeableReferenceR5,     target
     tgt
     : 
CodeableConceptR4    )
     extends 
Element     <<types>>
     {

  src.concept     as 
    s
    
 ->     
    tgt
     as 
    t
     then 
CodeableConcept    (
    s
    , 
    t
    )
    ;

    }


    group 
CodeableConcept2string    (
    source
     src
     : 
CodeableConceptR5,     target
     tgt
     : 
stringR4    )
     extends 
Element     <<types>>
     {

  src.text     as 
    v
    
 ->     
tgt.value =     v
     "CodeableConcept2string"
    ;

    }


    group 
CodeableReference2string    (
    source
     src
     : 
CodeableReferenceR5,     target
     tgt
     : 
stringR4    )
     extends 
Element     <<types>>
     {

  src.concept     as 
    s
    
 ->     
    tgt
     as 
    t
     then 
CodeableConcept2string    (
    s
    , 
    t
    )
    ;

    }


    group 
Coding2CodeableConcept    (
    source
     src
     : 
CodingR5,     target
     tgt
     : 
CodeableConceptR4    )
     extends 
Element     <<types>>
     {

  src     as 
    s
    
 ->     
tgt.coding     as 
    t
     then 
Coding    (
    s
    , 
    t
    )
     "Coding"
    ;

    }


    group 
CodeableConcept2code    (
    source
     src
     : 
CodeableConceptR5,     target
     tgt
     : 
codeR4,     source
     sysUrl
     : 
string    )
     extends 
Element     <<types>>
     {

  src.coding     as 
    s
     where 
s.system = sysUrl    
 ->     
    tgt
     then
     {

    s.code    
 ->     
tgt.value    ;

      }
    ;

    }


    group 
code2CodeableConcept    (
    source
     src
     : 
codeR5,     target
     tgt
     : 
CodeableConceptR4,     source
     sysUrl
     : 
string    )
     extends 
Element     <<types>>
     {

  src.value     as 
    s
    
 ->     
 tgt.coding =     create
    (
    'Coding'
    )
     as 
    t
    , 
 t.system =     sysUrl
    , 
 t.code =     s
    ;

    }


  

Produced 06 Apr 2023