StructureMap-PractitionerRole5to4

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

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

    
/// name = 
    
    'PractitionerRole5to4'

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

    
/// status = 
    
    'active'


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

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


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


    group 
PractitionerRole    (
    source
     src
     : 
PractitionerRoleR5,     target
     tgt
     : 
PractitionerRoleR4    )
     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.contact     as 
    s
     then
     {

    s.telecom    
 ->     
tgt.telecom    ;

      }
    ;

  src.availability     as 
    sav
     then
     {

    sav.availableTime     as 
    s
    
 ->     
tgt.availableTime     as 
    t
     then 
PractitionerRoleAvailabilityAvailableTime    (
    s
    , 
    t
    )
    ;

    sav.notAvailableTime     as 
    s
    
 ->     
tgt.notAvailable     as 
    t
     then 
PractitionerRoleAvailabilityNotAvailableTime    (
    s
    , 
    t
    )
     "availableTime"
    ;

      }
    ;
     // 
    src.characteristic -> tgt.characteristic;

  src.endpoint    
 ->     
tgt.endpoint    ;

    }


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

  src.daysOfWeek    
 ->     
tgt.daysOfWeek    ;

  src.allDay    
 ->     
tgt.allDay    ;

  src.availableStartTime    
 ->     
tgt.availableStartTime    ;

  src.availableEndTime    
 ->     
tgt.availableEndTime    ;

    }


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

  src.description    
 ->     
tgt.description    ;

  src.during    
 ->     
tgt.during    ;

    }


  

Produced 06 Apr 2023