StructureMap-Consent4Bto5

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

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

    
/// name = 
    
    'Consent4Bto5'

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

    
/// status = 
    
    'active'


    conceptmap
     "
ConsentDataMeaning    " {

      prefix 
s     = "
http://hl7.org/fhir/4.3/consent-data-meaning    "

      prefix 
t     = "
    http://hl7.org/fhir/consent-data-meaning
    "


  s    :
instance     -
 t    :
instance
  s    :
related     -
 t    :
related
  s    :
dependents     -
 t    :
dependents
  s    :
authoredby     -
 t    :
authoredby
    }


    conceptmap
     "
ConsentProvisionType    " {

      prefix 
s     = "
http://hl7.org/fhir/4.3/consent-provision-type    "

      prefix 
t     = "
    http://hl7.org/fhir/consent-provision-type
    "


  s    :
deny     -
 t    :
deny
  s    :
permit     -
 t    :
permit
    }


    conceptmap
     "
ConsentState    " {

      prefix 
s     = "
http://hl7.org/fhir/4.3/consent-state-codes    "

      prefix 
t     = "
    http://hl7.org/fhir/consent-state-codes
    "


  s    :
draft     -
 t    :
draft
  s    :
active     -
 t    :
active
  s    :
inactive     -
 t    :
inactive
  s    :
rejected     -
 t    :
    "
not-done    "

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

  s    :
proposed     -
 t    :
unknown
    }


    uses
     "
http://hl7.org/fhir/4.3/StructureDefinition/Consent    " 
    alias 
ConsentR4B     as 
    source

    uses
     "
    http://hl7.org/fhir/StructureDefinition/Consent
    " 
    alias 
ConsentR5     as 
    target


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


    group 
Consent    (
    source
     src
     : 
ConsentR4B,     target
     tgt
     : 
ConsentR5    )
     extends 
DomainResource     <<type+>>
     {

  src.identifier    
 ->     
tgt.identifier    ;

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

  src.category    
 ->     
tgt.category    ;

  src.patient    
 ->     
tgt.subject    ;

  src.dateTime    
 ->     
tgt.date    ;

  src.performer    
 ->     
tgt.grantee    ;
     // 
    src.period -> tgt.period;

  src.source     : 
Attachment    
 ->     
tgt.sourceAttachment    ;
     // 
    src.manager -> tgt.manager;

  src.source     : 
Reference    
 ->     
tgt.sourceReference    ;

  src.policyRule    
 ->     
tgt.regulatoryBasis    ;

  src.policy     as 
    s
    
 ->     
 tgt.policyBasis     as 
    t
    , 
 t.url =     s.uri
    ;

  src.verification     as 
    s
    
 ->     
tgt.verification     as 
    t
     then 
ConsentVerification    (
    s
    , 
    t
    )
    ;
     // 
    src.policyText -> tgt.policyText;

  src.provision     as 
    s
    
 ->     
tgt.provision     as 
    t
     then 
ConsentProvision    (
    s
    , 
    t
    )
    ;
     // 
    src.decision as v -> tgt.decision = translate(v, '#ConsentProvisionType', 'code');

    }


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

    // src.reference -> tgt.reference;

    // src.url -> tgt.url;

    // 
    }

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

  src.verified    
 ->     
tgt.verified    ;

  src.verifiedWith    
 ->     
tgt.verifiedWith    ;
     // 
    src.verificationType -> tgt.verificationType;

  src.verificationDate    
 ->     
tgt.verificationDate    ;

    }


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

  src.period    
 ->     
tgt.period    ;

  src.actor     as 
    s
    
 ->     
tgt.actor     as 
    t
     then 
ConsentProvisionActor    (
    s
    , 
    t
    )
    ;

  src.action    
 ->     
tgt.action    ;

  src.securityLabel    
 ->     
tgt.securityLabel    ;

  src.purpose    
 ->     
tgt.purpose    ;

  src.class    
 ->     
tgt.documentType    ;

  src.code    
 ->     
tgt.code    ;
     // 
    src.resourceType -> tgt.resourceType;

  src.dataPeriod    
 ->     
tgt.dataPeriod    ;

  src.data     as 
    s
    
 ->     
tgt.data     as 
    t
     then 
ConsentProvisionData    (
    s
    , 
    t
    )
    ;

    }


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

  src.role    
 ->     
tgt.role    ;

  src.reference    
 ->     
tgt.reference    ;

    }


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

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

  src.reference    
 ->     
tgt.reference    ;

    }


  

Produced 06 Apr 2023