StructureMap-Procedure5to4

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

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

    
/// name = 
    
    'Procedure5to4'

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

    
/// status = 
    
    'active'


    conceptmap
     "
ProcedureStatus    " {

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

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


  s    :
preparation     -
 t    :
preparation
  s    :
"in-progress"     -
 t    :
    "
in-progress    "

  s    :
"not-done"     -
 t    :
    "
not-done    "

  s    :
"on-hold"     -
 t    :
    "
on-hold    "

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

  s    :
unknown     -
 t    :
unknown
    }


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

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


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


    group 
Procedure    (
    source
     src
     : 
ProcedureR5,     target
     tgt
     : 
ProcedureR4    )
     extends 
DomainResource     <<type+>>
     {

  src.identifier    
 ->     
tgt.identifier    ;

  src.instantiatesCanonical    
 ->     
tgt.instantiatesCanonical    ;

  src.instantiatesUri    
 ->     
tgt.instantiatesUri    ;

  src.basedOn    
 ->     
tgt.basedOn    ;

  src.partOf    
 ->     
tgt.partOf    ;

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

  src.statusReason    
 ->     
tgt.statusReason    ;

  src.category    
 ->     
tgt.category    ;

  src.code    
 ->     
tgt.code    ;

  src.subject    
 ->     
tgt.subject    ;

  src.encounter    
 ->     
tgt.encounter    ;
     // 
    src.focus -> tgt.focus;

  src.occurrence     : 
dateTime    
 ->     
tgt.performed    ;

  src.occurrence     : 
Period    
 ->     
tgt.performed    ;

  src.occurrence     : 
string    
 ->     
tgt.performed    ;

  src.occurrence     : 
Age    
 ->     
tgt.performed    ;

  src.occurrence     : 
Range    
 ->     
tgt.performed    ;

  src.recorder    
 ->     
tgt.recorder    ;
     // 
    src.occurrence : Timing -> tgt.occurrence;

  src.performer     as 
    s
    
 ->     
tgt.performer     as 
    t
     then 
ProcedurePerformer    (
    s
    , 
    t
    )
    ;
     // 
    src.reported : boolean -> tgt.reported;

  src.location    
 ->     
tgt.location    ;

  src.reason    
 ->     
tgt.reasonCode    ;

  src.reason    
 ->     
tgt.reasonReference    ;

  src.bodySite    
 ->     
tgt.bodySite    ;

  src.outcome    
 ->     
tgt.outcome    ;

  src.report    
 ->     
tgt.report    ;

  src.complication    
 ->     
tgt.complication    ;

  src.followUp    
 ->     
tgt.followUp    ;

  src.note    
 ->     
tgt.note    ;

  src.focalDevice     as 
    s
    
 ->     
tgt.focalDevice     as 
    t
     then 
ProcedureFocalDevice    (
    s
    , 
    t
    )
    ;

  src.used    
 ->     
tgt.usedCode    ;

  src.used    
 ->     
tgt.usedReference    ;

    }


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

  src.function    
 ->     
tgt.function    ;

  src.actor    
 ->     
tgt.actor    ;

  src.onBehalfOf    
 ->     
tgt.onBehalfOf    ;

    }


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

  src.action    
 ->     
tgt.action    ;

  src.manipulated    
 ->     
tgt.manipulated    ;

    }


  

Produced 06 Apr 2023