StructureMap-StructureDefinition5to4

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

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

    
/// name = 
    
    'StructureDefinition5to4'

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

    
/// status = 
    
    'active'


    conceptmap
     "
ExtensionContextType    " {

      prefix 
s     = "
    http://hl7.org/fhir/extension-context-type
    "

      prefix 
t     = "
http://hl7.org/fhir/4.0/extension-context-type    "


  s    :
fhirpath     -
 t    :
fhirpath
  s    :
element     -
 t    :
element
  s    :
extension     -
 t    :
extension
    }


    conceptmap
     "
PublicationStatus    " {

      prefix 
s     = "
    http://hl7.org/fhir/publication-status
    "

      prefix 
t     = "
http://hl7.org/fhir/4.0/publication-status    "


  s    :
draft     -
 t    :
draft
  s    :
active     -
 t    :
active
  s    :
retired     -
 t    :
retired
  s    :
unknown     -
 t    :
unknown
    }


    conceptmap
     "
StructureDefinitionKind    " {

      prefix 
s     = "
    http://hl7.org/fhir/structure-definition-kind
    "

      prefix 
t     = "
http://hl7.org/fhir/4.0/structure-definition-kind    "


  s    :
"primitive-type"     -
 t    :
    "
primitive-type    "

  s    :
"complex-type"     -
 t    :
    "
complex-type    "

  s    :
resource     -
 t    :
resource
  s    :
logical     -
 t    :
logical
    }


    conceptmap
     "
TypeDerivationRule    " {

      prefix 
s     = "
    http://hl7.org/fhir/type-derivation-rule
    "

      prefix 
t     = "
http://hl7.org/fhir/4.0/type-derivation-rule    "


  s    :
specialization     -
 t    :
specialization
  s    :
constraint     -
 t    :
constraint
    }


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

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


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


    group 
StructureDefinition    (
    source
     src
     : 
StructureDefinitionR5,     target
     tgt
     : 
StructureDefinitionR4    )
     extends 
DomainResource     <<type+>>
     {

  src.url    
 ->     
tgt.url    ;

  src.identifier    
 ->     
tgt.identifier    ;

  src.version    
 ->     
tgt.version    ;

  src.name    
 ->     
tgt.name    ;
     // 
    src.versionAlgorithm : string -> tgt.versionAlgorithm;

  src.title    
 ->     
tgt.title    ;

  src.status     as 
    v
    
 ->     
tgt.status =     translate
    (
    v
    , 
    '#PublicationStatus'
    , 
    'code'
    )
    ;

  src.experimental    
 ->     
tgt.experimental    ;

  src.date    
 ->     
tgt.date    ;

  src.publisher    
 ->     
tgt.publisher    ;

  src.contact    
 ->     
tgt.contact    ;

  src.description    
 ->     
tgt.description    ;

  src.useContext    
 ->     
tgt.useContext    ;

  src.jurisdiction    
 ->     
tgt.jurisdiction    ;

  src.purpose    
 ->     
tgt.purpose    ;

  src.copyright    
 ->     
tgt.copyright    ;

  src.keyword    
 ->     
tgt.keyword    ;
     // 
    src.copyrightLabel -> tgt.copyrightLabel;

  src.fhirVersion    
 ->     
tgt.fhirVersion    ;

  src.mapping     as 
    s
    
 ->     
tgt.mapping     as 
    t
     then 
StructureDefinitionMapping    (
    s
    , 
    t
    )
    ;

  src.kind     as 
    v
    
 ->     
tgt.kind =     translate
    (
    v
    , 
    '#StructureDefinitionKind'
    , 
    'code'
    )
    ;

  src.abstract    
 ->     
tgt.abstract    ;

  src.context     as 
    s
    
 ->     
tgt.context     as 
    t
     then 
StructureDefinitionContext    (
    s
    , 
    t
    )
    ;

  src.contextInvariant    
 ->     
tgt.contextInvariant    ;

  src.type    
 ->     
tgt.type    ;

  src.baseDefinition    
 ->     
tgt.baseDefinition    ;

  src.derivation     as 
    v
    
 ->     
tgt.derivation =     translate
    (
    v
    , 
    '#TypeDerivationRule'
    , 
    'code'
    )
    ;

  src.snapshot     as 
    s
    
 ->     
tgt.snapshot     as 
    t
     then 
StructureDefinitionSnapshot    (
    s
    , 
    t
    )
    ;

  src.differential     as 
    s
    
 ->     
tgt.differential     as 
    t
     then 
StructureDefinitionDifferential    (
    s
    , 
    t
    )
    ;

    }


    group 
StructureDefinitionMapping    (
    source
     src
,     target
     tgt
    )
     extends 
BackboneElement     {

  src.identity    
 ->     
tgt.identity    ;

  src.uri    
 ->     
tgt.uri    ;

  src.name    
 ->     
tgt.name    ;

  src.comment    
 ->     
tgt.comment    ;

    }


    group 
StructureDefinitionContext    (
    source
     src
,     target
     tgt
    )
     extends 
BackboneElement     {

  src.type     as 
    v
    
 ->     
tgt.type =     translate
    (
    v
    , 
    '#ExtensionContextType'
    , 
    'code'
    )
    ;

  src.expression    
 ->     
tgt.expression    ;

    }


    group 
StructureDefinitionSnapshot    (
    source
     src
,     target
     tgt
    )
     extends 
BackboneElement     {

  src.element    
 ->     
tgt.element    ;

    }


    group 
StructureDefinitionDifferential    (
    source
     src
,     target
     tgt
    )
     extends 
BackboneElement     {

  src.element    
 ->     
tgt.element    ;

    }


  

Produced 06 Apr 2023