Current Build
Patient Administration Work GroupMaturity Level: N/ABallot Status: Informative Compartments: Device, Patient, Practitioner, RelatedPerson

R3 : R4 Conversion maps for Appointment.

Functional status for this map: 3 tests of which 3 fail to execute. (see documentation)

map "http://hl7.org/fhir/StructureMap/Appointment3to4" = "R3 to R4 Conversions for Appointment"


uses "http://hl7.org/fhir/3.0/StructureDefinition/Appointment" alias AppointmentR3 as source
uses "http://hl7.org/fhir/StructureDefinition/Appointment" alias Appointment as target

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



group Appointment extends DomainResource
  input src : AppointmentR3 as source
  input tgt : Appointment as target

  "Appointment.identifier" : for src.identifier as vs make tgt.identifier as vt
  "Appointment.status" : for src.status as vs make tgt.status as vt
  "Appointment.serviceCategory" : for src.serviceCategory as vs make tgt.serviceCategory as vt
  "Appointment.serviceType" : for src.serviceType as vs make tgt.serviceType as vt
  "Appointment.specialty" : for src.specialty as vs make tgt.specialty as vt
  "Appointment.appointmentType" : for src.appointmentType as vs make tgt.appointmentType as vt
  "Appointment.reason" : for src.reason as vs make tgt.reason as vt
  "Appointment.indication" : for src.indication as vs make tgt.indication as vt
  "Appointment.priority" : for src.priority as vs make tgt.priority as vt
  "Appointment.description" : for src.description as vs make tgt.description as vt
  "Appointment.supportingInformation" : for src.supportingInformation as vs make tgt.supportingInformation as vt
  "Appointment.start" : for src.start as vs make tgt.start as vt
  "Appointment.end" : for src.end as vs make tgt.end as vt
  "Appointment.minutesDuration" : for src.minutesDuration as vs make tgt.minutesDuration as vt
  "Appointment.slot" : for src.slot as vs make tgt.slot as vt
  "Appointment.created" : for src.created as vs make tgt.created as vt
  "Appointment.comment" : for src.comment as vs make tgt.comment as vt
  "Appointment.basedOn" : for src.incomingReferral as vs make tgt.basedOn as vt
  "Appointment.participant" : for src.participant as vs0 make tgt.participant as vt0 then {
    "Appointment.participant.type" : for vs0.type as vs make vt0.type as vt
    "Appointment.participant.actor" : for vs0.actor as vs make vt0.actor as vt
    "Appointment.participant.required" : for vs0.required as vs make vt0.required as vt
    "Appointment.participant.status" : for vs0.status as vs make vt0.status as vt
  }
  "Appointment.requestedPeriod" : for src.requestedPeriod as vs make tgt.requestedPeriod as vt
endgroup


map "http://hl7.org/fhir/StructureMap/Appointment4to3" = "R4 to R3 Conversion for Appointment"


uses "http://hl7.org/fhir/StructureDefinition/Appointment" alias Appointment as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/Appointment" alias AppointmentR3 as target

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



group Appointment extends DomainResource
  input src : Appointment as source
  input tgt : AppointmentR3 as target

  "Appointment.identifier" : for src.identifier as vs make tgt.identifier as vt
  "Appointment.status" : for src.status as vs make tgt.status as vt
  "Appointment.serviceCategory" : for src.serviceCategoryFirstRep as vs make tgt.serviceCategory as vt
  "Appointment.serviceType" : for src.serviceType as vs make tgt.serviceType as vt
  "Appointment.specialty" : for src.specialty as vs make tgt.specialty as vt
  "Appointment.appointmentType" : for src.appointmentType as vs make tgt.appointmentType as vt
  "Appointment.reason" : for src.reason as vs make tgt.reason as vt
  "Appointment.indication" : for src.indication as vs make tgt.indication as vt
  "Appointment.priority" : for src.priority as vs make tgt.priority as vt
  "Appointment.description" : for src.description as vs make tgt.description as vt
  "Appointment.supportingInformation" : for src.supportingInformation as vs make tgt.supportingInformation as vt
  "Appointment.start" : for src.start as vs make tgt.start as vt
  "Appointment.end" : for src.end as vs make tgt.end as vt
  "Appointment.minutesDuration" : for src.minutesDuration as vs make tgt.minutesDuration as vt
  "Appointment.slot" : for src.slot as vs make tgt.slot as vt
  "Appointment.created" : for src.created as vs make tgt.created as vt
  "Appointment.comment" : for src.comment as vs make tgt.comment as vt
  "Appointment.incomingReferral" : for src.basedOn as vs make tgt.incomingReferral as vt
  "Appointment.participant" : for src.participant as vs0 make tgt.participant as vt0 then {
    "Appointment.participant.type" : for vs0.type as vs make vt0.type as vt
    "Appointment.participant.actor" : for vs0.actor as vs make vt0.actor as vt
    "Appointment.participant.required" : for vs0.required as vs make vt0.required as vt
    "Appointment.participant.status" : for vs0.status as vs make vt0.status as vt
  }
  "Appointment.requestedPeriod" : for src.requestedPeriod as vs make tgt.requestedPeriod as vt
endgroup