StructureMap-Coverage4Bto5

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

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

    
/// name = 
    
    'Coverage4Bto5'

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

    
/// status = 
    
    'active'


    conceptmap
     "
CoverageStatus    " {

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

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


  s    :
active     -
 t    :
active
  s    :
cancelled     -
 t    :
cancelled
  s    :
draft     -
 t    :
draft
  s    :
"entered-in-error"     -
 t    :
    "
entered-in-error    "

    }


    uses
     "
http://hl7.org/fhir/4.3/StructureDefinition/Coverage    " 
    alias 
CoverageR4B     as 
    source

    uses
     "
    http://hl7.org/fhir/StructureDefinition/Coverage
    " 
    alias 
CoverageR5     as 
    target


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


    group 
Coverage    (
    source
     src
     : 
CoverageR4B,     target
     tgt
     : 
CoverageR5    )
     extends 
DomainResource     <<type+>>
     {

  src.identifier    
 ->     
tgt.identifier    ;

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

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

  src.policyHolder    
 ->     
tgt.policyHolder    ;

  src.subscriber    
 ->     
tgt.subscriber    ;

  src.subscriberId     as 
    s
    
 ->     
 tgt.subscriberId     as 
    t
    , 
 t.value =     s
    ;

  src.beneficiary    
 ->     
tgt.beneficiary    ;

  src.dependent    
 ->     
tgt.dependent    ;

  src.relationship    
 ->     
tgt.relationship    ;

  src.period    
 ->     
tgt.period    ;

  src.class     as 
    s
    
 ->     
tgt.class     as 
    t
     then 
CoverageClass    (
    s
    , 
    t
    )
    ;
     // 
    src.insurer -> tgt.insurer;

  src.order    
 ->     
tgt.order    ;

  src.network    
 ->     
tgt.network    ;

  src.costToBeneficiary     as 
    s
    
 ->     
tgt.costToBeneficiary     as 
    t
     then 
CoverageCostToBeneficiary    (
    s
    , 
    t
    )
    ;

  src.subrogation    
 ->     
tgt.subrogation    ;

  src.contract    
 ->     
tgt.contract    ;

    }


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

    // src.party -> tgt.party;

    // src.responsibility -> tgt.responsibility;

    // 
    }

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

  src.type    
 ->     
tgt.type    ;

  src.value     as 
    s
    
 ->     
 tgt.value     as 
    t
    , 
 t.value =     s
     "classValue"
    ;

  src.name    
 ->     
tgt.name    ;

    }


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

  src.type    
 ->     
tgt.type    ;

  src.value     : 
Quantity    
 ->     
tgt.value    ;
     // 
    src.category -> tgt.category;

  src.value     : 
Money    
 ->     
tgt.value    ;

  src.exception     as 
    s
    
 ->     
tgt.exception     as 
    t
     then 
CoverageCostToBeneficiaryException    (
    s
    , 
    t
    )
    ;

    }


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

  src.type    
 ->     
tgt.type    ;

  src.period    
 ->     
tgt.period    ;

    }


  

Produced 06 Apr 2023