StructureMap-CodeableConcept4Bto5

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

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

    
/// name = 
    
    'CodeableConcept4Bto5'

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

    
/// status = 
    
    'active'


    uses
     "
http://hl7.org/fhir/4.3/StructureDefinition/string    " 
    alias 
stringR4B     as 
    source

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

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

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

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

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

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

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

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


    imports
     "
http://hl7.org/fhir/StructureMap/*4Bto5    "


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

  src.coding    
 ->     
tgt.coding    ;

  src.text    
 ->     
tgt.text    ;

    }


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

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

    }


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

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

    }


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

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

    }


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

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

    }


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

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

    }


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

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

    }


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

  src     as 
    s
    
 ->     
 tgt.concept =     create
    (
    'CodeableConcept'
    )
     as 
    t
    , 
 t.coding     as 
    tc
     then 
Coding    (
    s
    , 
    tc
    )
     "Coding"
    ;
     // 
    src as s -> tgt.concept = create('CodeableConcept') as tc, tc.coding = create ('Coding') as tcc, tcc.system = (a.system), tcc.code = (s.code), tcc.display = s.display "Coding2CodeableReference";

    }


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

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

    s.code    
 ->     
tgt.value    ;

      }
    ;

    }


    group 
code2CodeableConcept    (
    source
     src
     : 
codeR4B,     target
     tgt
     : 
CodeableConceptR5,     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