StructureMap-PractitionerRole4Bto5

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

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

    
/// name = 
    
    'PractitionerRole4Bto5'

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

    
/// status = 
    
    'active'


    uses
     "
http://hl7.org/fhir/4.3/StructureDefinition/PractitionerRole    " 
    alias 
PractitionerRoleR4B     as 
    source

    uses
     "
    http://hl7.org/fhir/StructureDefinition/PractitionerRole
    " 
    alias 
PractitionerRoleR5     as 
    target


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


    group 
PractitionerRole    (
    source
     src
     : 
PractitionerRoleR4B,     target
     tgt
     : 
PractitionerRoleR5    )
     extends 
DomainResource     <<type+>>
     {

  src.identifier    
 ->     
tgt.identifier    ;

  src.active    
 ->     
tgt.active    ;

  src.period    
 ->     
tgt.period    ;

  src.practitioner    
 ->     
tgt.practitioner    ;

  src.organization    
 ->     
tgt.organization    ;

  src.code    
 ->     
tgt.code    ;

  src.specialty    
 ->     
tgt.specialty    ;

  src.location    
 ->     
tgt.location    ;

  src.healthcareService    
 ->     
tgt.healthcareService    ;

  src.telecom     as 
    s
    
 ->     
 tgt.contact =     create
    (
    'ExtendedContactDetail'
    )
     as 
    t
    , 
 t.telecom     as 
    telecom
     then 
ContactPoint    (
    s
    , 
    telecom
    )
     "contact"
    ;

  src.availableTime     as 
    s
    
 ->     
 tgt.availability =     create
    (
    'Availability'
    )
     as 
    av
     share
     av
    , 
 av.availableTime     as 
    t
     then 
PractitionerRoleAvailabilityAvailableTime    (
    s
    , 
    t
    )
    ;
     // 
    src.characteristic -> tgt.characteristic;

  src.notAvailable     as 
    s
    
 ->     
 tgt.availability =     create
    (
    'Availability'
    )
     as 
    av
     share
     av
    , 
 av.notAvailableTime     as 
    t
     then 
PractitionerRoleAvailabilityNotAvailableTime    (
    s
    , 
    t
    )
     "notAvailableTime"
    ;

  src.endpoint    
 ->     
tgt.endpoint    ;

    }


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

  src.daysOfWeek    
 ->     
tgt.daysOfWeek    ;

  src.allDay    
 ->     
tgt.allDay    ;

  src.availableStartTime    
 ->     
tgt.availableStartTime    ;

  src.availableEndTime    
 ->     
tgt.availableEndTime    ;

    }


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

  src.description    
 ->     
tgt.description    ;

  src.during    
 ->     
tgt.during    ;

    }


  

Produced 06 Apr 2023