StructureMap-ChargeItem4to5

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

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

    
/// name = 
    
    'ChargeItem4to5'

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

    
/// status = 
    
    'active'


    conceptmap
     "
ChargeItemStatus    " {

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

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


  s    :
planned     -
 t    :
planned
  s    :
billable     -
 t    :
billable
  s    :
"not-billable"     -
 t    :
    "
not-billable    "

  s    :
aborted     -
 t    :
aborted
  s    :
billed     -
 t    :
billed
  s    :
"entered-in-error"     -
 t    :
    "
entered-in-error    "

  s    :
unknown     -
 t    :
unknown
    }


    uses
     "
http://hl7.org/fhir/4.0/StructureDefinition/ChargeItem    " 
    alias 
ChargeItemR4     as 
    source

    uses
     "
    http://hl7.org/fhir/StructureDefinition/ChargeItem
    " 
    alias 
ChargeItemR5     as 
    target


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


    group 
ChargeItem    (
    source
     src
     : 
ChargeItemR4,     target
     tgt
     : 
ChargeItemR5    )
     extends 
DomainResource     <<type+>>
     {

  src.identifier    
 ->     
tgt.identifier    ;

  src.definitionUri    
 ->     
tgt.definitionUri    ;

  src.definitionCanonical    
 ->     
tgt.definitionCanonical    ;

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

  src.partOf    
 ->     
tgt.partOf    ;

  src.code    
 ->     
tgt.code    ;

  src.subject    
 ->     
tgt.subject    ;

  src.context    
 ->     
tgt.encounter    ;

  src.occurrence     : 
dateTime    
 ->     
tgt.occurrence    ;

  src.occurrence     : 
Period    
 ->     
tgt.occurrence    ;

  src.occurrence     : 
Timing    
 ->     
tgt.occurrence    ;

  src.performer     as 
    s
    
 ->     
tgt.performer     as 
    t
     then 
ChargeItemPerformer    (
    s
    , 
    t
    )
    ;

  src.performingOrganization    
 ->     
tgt.performingOrganization    ;

  src.requestingOrganization    
 ->     
tgt.requestingOrganization    ;

  src.costCenter    
 ->     
tgt.costCenter    ;

  src.quantity    
 ->     
tgt.quantity    ;

  src.bodysite    
 ->     
tgt.bodysite    ;

  src.priceOverride     : 
Money     as 
    s
    
 ->     
 tgt.totalPriceComponent =     create
    (
    'MonetaryComponent'
    )
     as 
    t
    , 
 t.type =     'base'
    , 
 t.amount =     s
    ;

  src.overrideReason    
 ->     
tgt.overrideReason    ;

  src.enterer    
 ->     
tgt.enterer    ;

  src.enteredDate    
 ->     
tgt.enteredDate    ;

  src.reason    
 ->     
tgt.reason    ;

  src.service    
 ->     
tgt.service    ;

  src.product     : 
Reference    
 ->     
tgt.product    ;

  src.product     : 
CodeableConcept    
 ->     
tgt.product    ;

  src.account    
 ->     
tgt.account    ;

  src.note    
 ->     
tgt.note    ;

  src.supportingInformation    
 ->     
tgt.supportingInformation    ;

    }


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

    // src.value as v -> tgt.type = "base";

    // src.value as v -> tgt.amount = v "money";

    // 
    }

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

  src.function    
 ->     
tgt.function    ;

  src.actor    
 ->     
tgt.actor    ;

    }


  

Produced 06 Apr 2023