StructureMap-HealthcareService4to5

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

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

    
/// name = 
    
    'HealthcareService4to5'

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

    
/// status = 
    
    'active'


    uses
     "
http://hl7.org/fhir/4.0/StructureDefinition/HealthcareService    " 
    alias 
HealthcareServiceR4     as 
    source

    uses
     "
    http://hl7.org/fhir/StructureDefinition/HealthcareService
    " 
    alias 
HealthcareServiceR5     as 
    target


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


    group 
HealthcareService    (
    source
     src
     : 
HealthcareServiceR4,     target
     tgt
     : 
HealthcareServiceR5    )
     extends 
DomainResource     <<type+>>
     {

  src.identifier    
 ->     
tgt.identifier    ;

  src.active    
 ->     
tgt.active    ;

  src.providedBy    
 ->     
tgt.providedBy    ;

  src.category    
 ->     
tgt.category    ;
     // 
    src.offeredIn -> tgt.offeredIn;

  src.type    
 ->     
tgt.type    ;

  src.specialty    
 ->     
tgt.specialty    ;

  src.location    
 ->     
tgt.location    ;

  src.name    
 ->     
tgt.name    ;

  src.comment    
 ->     
tgt.comment    ;

  src.extraDetails    
 ->     
tgt.extraDetails    ;

  src.photo    
 ->     
tgt.photo    ;

  src.coverageArea    
 ->     
tgt.coverageArea    ;
     // 
    src.contact -> tgt.contact;

  src.serviceProvisionCode    
 ->     
tgt.serviceProvisionCode    ;

  src.eligibility     as 
    s
    
 ->     
tgt.eligibility     as 
    t
     then 
HealthcareServiceEligibility    (
    s
    , 
    t
    )
    ;

  src.program    
 ->     
tgt.program    ;

  src.characteristic    
 ->     
tgt.characteristic    ;

  src.communication    
 ->     
tgt.communication    ;

  src.referralMethod    
 ->     
tgt.referralMethod    ;

  src.appointmentRequired    
 ->     
tgt.appointmentRequired    ;

  src.availableTime     : 
BackboneElement     as 
    s
    
 ->     
tgt.availability     as 
    t
     then 
HealthcareServiceAvailabilityAvailableTime    (
    s
    , 
    t
    )
    ;

  src.notAvailable     : 
BackboneElement     as 
    s
    
 ->     
tgt.availability =     create
    (
    'Availability'
    )
     as 
    t
     then 
HealthcareServiceAvailabilityNotAvailableTime    (
    s
    , 
    t
    )
     "notAvailableTime"
    ;

  src.endpoint    
 ->     
tgt.endpoint    ;

    }


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

  src.code    
 ->     
tgt.code    ;

  src.comment    
 ->     
tgt.comment    ;

    }


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

  src.daysOfWeek     as 
    s
    
 ->     
 tgt.availableTime     as 
    t
    , 
 t.daysOfWeek =     s
    ;

  src.allDay     : 
boolean     as 
    s
    
 ->     
 tgt.availableTime     as 
    t
    , 
 t.allDay =     s
    ;

  src.availableStartTime     : 
time     as 
    s
    
 ->     
 tgt.availableTime     as 
    t
    , 
 t.availableStartTime =     s
    ;

  src.availableEndTime     : 
time     as 
    s
    
 ->     
 tgt.availableTime     as 
    t
    , 
 t.availableEndTime =     s
    ;

    }


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

  src.description     as 
    s
    
 ->     
 tgt.notAvailableTime     as 
    t
    , 
 t.description =     s
    ;

  src.during     : 
Period     as 
    s
    
 ->     
 tgt.notAvailableTime     as 
    t
    , 
 t.during =     s
    ;

    }


  

Produced 06 Apr 2023