StructureMap-RequestOrchestration5to4B

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

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

    
/// name = 
    
    'RequestOrchestration5to4B'

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

    
/// status = 
    
    'active'


    conceptmap
     "
ActionCardinalityBehavior    " {

      prefix 
s     = "
    http://hl7.org/fhir/action-cardinality-behavior
    "

      prefix 
t     = "
http://hl7.org/fhir/4.3/action-cardinality-behavior    "


  s    :
single     -
 t    :
single
  s    :
multiple     -
 t    :
multiple
    }


    conceptmap
     "
ActionConditionKind    " {

      prefix 
s     = "
    http://hl7.org/fhir/action-condition-kind
    "

      prefix 
t     = "
http://hl7.org/fhir/4.3/action-condition-kind    "


  s    :
applicability     -
 t    :
applicability
  s    :
start     -
 t    :
start
  s    :
stop     -
 t    :
stop
    }


    conceptmap
     "
ActionGroupingBehavior    " {

      prefix 
s     = "
    http://hl7.org/fhir/action-grouping-behavior
    "

      prefix 
t     = "
http://hl7.org/fhir/4.3/action-grouping-behavior    "


  s    :
"visual-group"     -
 t    :
    "
visual-group    "

  s    :
"logical-group"     -
 t    :
    "
logical-group    "

  s    :
"sentence-group"     -
 t    :
    "
sentence-group    "

    }


    conceptmap
     "
ActionPrecheckBehavior    " {

      prefix 
s     = "
    http://hl7.org/fhir/action-precheck-behavior
    "

      prefix 
t     = "
http://hl7.org/fhir/4.3/action-precheck-behavior    "


  s    :
yes     -
 t    :
yes
  s    :
no     -
 t    :
no
    }


    conceptmap
     "
ActionRelationshipType    " {

      prefix 
s     = "
    http://hl7.org/fhir/action-relationship-type
    "

      prefix 
t     = "
http://hl7.org/fhir/4.3/action-relationship-type    "


  s    :
before     -
 t    :
before
  s    :
"before-start"     -
 t    :
    "
before-start    "

  s    :
"before-end"     -
 t    :
    "
before-end    "

  s    :
concurrent     -
 t    :
concurrent
  s    :
"concurrent-with-start"     -
 t    :
    "
concurrent-with-start    "

  s    :
"concurrent-with-end"     -
 t    :
    "
concurrent-with-end    "

  s    :
after     -
 t    :
after
  s    :
"after-start"     -
 t    :
    "
after-start    "

  s    :
"after-end"     -
 t    :
    "
after-end    "

    }


    conceptmap
     "
ActionRequiredBehavior    " {

      prefix 
s     = "
    http://hl7.org/fhir/action-required-behavior
    "

      prefix 
t     = "
http://hl7.org/fhir/4.3/action-required-behavior    "


  s    :
must     -
 t    :
must
  s    :
could     -
 t    :
could
  s    :
"must-unless-documented"     -
 t    :
    "
must-unless-documented    "

    }


    conceptmap
     "
ActionSelectionBehavior    " {

      prefix 
s     = "
    http://hl7.org/fhir/action-selection-behavior
    "

      prefix 
t     = "
http://hl7.org/fhir/4.3/action-selection-behavior    "


  s    :
any     -
 t    :
any
  s    :
all     -
 t    :
all
  s    :
"all-or-none"     -
 t    :
    "
all-or-none    "

  s    :
"exactly-one"     -
 t    :
    "
exactly-one    "

  s    :
"at-most-one"     -
 t    :
    "
at-most-one    "

  s    :
"one-or-more"     -
 t    :
    "
one-or-more    "

    }


    conceptmap
     "
RequestIntent    " {

      prefix 
s     = "
    http://hl7.org/fhir/request-intent
    "

      prefix 
t     = "
http://hl7.org/fhir/4.3/request-intent    "


  s    :
proposal     -
 t    :
proposal
  s    :
plan     -
 t    :
plan
  s    :
directive     -
 t    :
directive
  s    :
order     -
 t    :
order
  s    :
"original-order"     -
 t    :
    "
original-order    "

  s    :
"reflex-order"     -
 t    :
    "
reflex-order    "

  s    :
"filler-order"     -
 t    :
    "
filler-order    "

  s    :
"instance-order"     -
 t    :
    "
instance-order    "

  s    :
option     -
 t    :
option
    }


    conceptmap
     "
RequestPriority    " {

      prefix 
s     = "
    http://hl7.org/fhir/request-priority
    "

      prefix 
t     = "
http://hl7.org/fhir/4.3/request-priority    "


  s    :
routine     -
 t    :
routine
  s    :
urgent     -
 t    :
urgent
  s    :
asap     -
 t    :
asap
  s    :
stat     -
 t    :
stat
    }


    conceptmap
     "
RequestStatus    " {

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

      prefix 
t     = "
http://hl7.org/fhir/4.3/request-status    "


  s    :
draft     -
 t    :
draft
  s    :
active     -
 t    :
active
  s    :
"on-hold"     -
 t    :
    "
on-hold    "

  s    :
revoked     -
 t    :
revoked
  s    :
completed     -
 t    :
completed
  s    :
"entered-in-error"     -
 t    :
    "
entered-in-error    "

  s    :
unknown     -
 t    :
unknown
    }


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

    uses
     "
http://hl7.org/fhir/4.3/StructureDefinition/RequestGroup    " 
    alias 
RequestGroupR4B     as 
    target


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


    group 
RequestOrchestration    (
    source
     src
     : 
RequestOrchestrationR5,     target
     tgt
     : 
RequestGroupR4B    )
     extends 
DomainResource     <<type+>>
     {

  src.identifier    
 ->     
tgt.identifier    ;

  src.instantiatesCanonical    
 ->     
tgt.instantiatesCanonical    ;

  src.instantiatesUri    
 ->     
tgt.instantiatesUri    ;

  src.basedOn    
 ->     
tgt.basedOn    ;

  src.replaces    
 ->     
tgt.replaces    ;

  src.groupIdentifier    
 ->     
tgt.groupIdentifier    ;

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

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

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

  src.code    
 ->     
tgt.code    ;

  src.subject    
 ->     
tgt.subject    ;

  src.encounter    
 ->     
tgt.encounter    ;

  src.authoredOn    
 ->     
tgt.authoredOn    ;

  src.author    
 ->     
tgt.author    ;

  src.reason    
 ->     
tgt.reasonCode    ;

  src.reason    
 ->     
tgt.reasonReference    ;

  src.note    
 ->     
tgt.note    ;
     // 
    src.goal -> tgt.goal;

  src.action     as 
    s
    
 ->     
tgt.action     as 
    t
     then 
RequestOrchestrationAction    (
    s
    , 
    t
    )
    ;

    }


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

  src.prefix    
 ->     
tgt.prefix    ;
     // 
    src.linkId -> tgt.linkId;

  src.title    
 ->     
tgt.title    ;

  src.description    
 ->     
tgt.description    ;

  src.textEquivalent    
 ->     
tgt.textEquivalent    ;

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

  src.code    
 ->     
tgt.code    ;

  src.documentation    
 ->     
tgt.documentation    ;

  src.condition     as 
    s
    
 ->     
tgt.condition     as 
    t
     then 
RequestOrchestrationActionCondition    (
    s
    , 
    t
    )
    ;
     // 
    src.goal -> tgt.goal;

  src.relatedAction     as 
    s
    
 ->     
tgt.relatedAction     as 
    t
     then 
RequestOrchestrationActionRelatedAction    (
    s
    , 
    t
    )
    ;
     // 
    src.input as s -> tgt.input as t then RequestOrchestrationActionInput(s,t);

  src.timing     : 
dateTime    
 ->     
tgt.timing    ;

  src.timing     : 
Age    
 ->     
tgt.timing    ;

  src.timing     : 
Period    
 ->     
tgt.timing    ;

  src.timing     : 
Duration    
 ->     
tgt.timing    ;

  src.timing     : 
Range    
 ->     
tgt.timing    ;

  src.timing     : 
Timing    
 ->     
tgt.timing    ;

  src.participant     as 
    s
    
 ->     
tgt.participant =     s.actor
    ;
     // 
    src.location -> tgt.location;

  src.type    
 ->     
tgt.type    ;

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

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

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

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

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

  src.resource    
 ->     
tgt.resource    ;

    }


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

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

  src.expression    
 ->     
tgt.expression    ;

    }


    // 
    group RequestOrchestrationActionInput(source src, target tgt) extends BackboneElement {

    // src.title -> tgt.title;

    // src.requirement -> tgt.requirement;

    // src.relatedData -> tgt.relatedData;

    // 
    }

    // 
    group RequestOrchestrationActionOutput(source src, target tgt) extends BackboneElement {

    // src.title -> tgt.title;

    // src.requirement -> tgt.requirement;

    // src.relatedData -> tgt.relatedData;

    // 
    }

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

  src.targetId    
 ->     
tgt.actionId    ;

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

  src.offset     : 
Duration    
 ->     
tgt.offset    ;
     // 
    src.endRelationship as v -> tgt.endRelationship = translate(v, '#ActionRelationshipType', 'code');

  src.offset     : 
Range    
 ->     
tgt.offset    ;

    }


  

Produced 06 Apr 2023