StructureMap-Subscription5to4B

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

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

    
/// name = 
    
    'Subscription5to4B'

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

    
/// status = 
    
    'active'


    conceptmap
     "
SubscriptionStatusCodes    " {

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

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


  s    :
requested     -
 t    :
requested
  s    :
active     -
 t    :
active
  s    :
error     -
 t    :
error
  s    :
off     -
 t    :
off
    }


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

    uses
     "
http://hl7.org/fhir/4.3/StructureDefinition/Subscription    " 
    alias 
SubscriptionR4B     as 
    target


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


    group 
Subscription    (
    source
     src
     : 
SubscriptionR5,     target
     tgt
     : 
SubscriptionR4B    )
     extends 
DomainResource     <<type+>>
     {

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

  src.contact    
 ->     
tgt.contact    ;
     // 
    src.topic -> tgt.topic;

  src.end    
 ->     
tgt.end    ;

  src.reason    
 ->     
tgt.reason    ;
     // 
    src.managingEntity -> tgt.managingEntity;

  src    
 ->     
tgt.channel     as 
    t
     then
     {

    src.channelType     as 
    s
    
 ->     
    tgt
     then
     {

      s.code    
 ->     
t.type    ;

        }
     "type"
    ;

    src.endpoint    
 ->     
t.endpoint    ;

    src.contentType    
 ->     
t.payload    ;

    src.parameter     as 
    p
    
 ->     
t.header =     (
%p.name + ': ' + %p.value    )
    ;

      }
     "channel"
    ;
     // 
    criteria replaced - see subscriptions backport IG

    }


  

Produced 06 Apr 2023