This page is part of the FHIR Core Extensions Registry (v5.1.0-ballot: Releases Ballot 4) based on FHIR (HL7® FHIR® Standard) v5.0.0. The current version which supersedes this version is 1.0.0. For a full list of available versions, see the Directory of published versions
Official URL: http://hl7.org/fhir/StructureMap/Appointment5to4B | Version: 5.1.0-ballot1 | |||
Standards status: Trial-use | Maturity Level: 1 | Computable Name: Appointment5to4B |
FMLConversionforAppointmentR5toR4B
/// url = 'http://hl7.org/fhir/StructureMap/Appointment5to4B' /// name = 'Appointment5to4B' /// title = 'FML Conversion for Appointment: R5 to R4B' /// status = 'active' conceptmap "AppointmentStatus" { prefix s = "http://hl7.org/fhir/appointmentstatus" prefix t = "http://hl7.org/fhir/4.3/appointmentstatus" s:proposed - t:proposed s:pending - t:pending s:booked - t:booked s:arrived - t:arrived s:fulfilled - t:fulfilled s:cancelled - t:cancelled s:noshow - t:noshow s:"entered-in-error" - t:"entered-in-error" s:"checked-in" - t:"checked-in" s:waitlist - t:waitlist } conceptmap "ParticipationStatus" { prefix s = "http://hl7.org/fhir/participationstatus" prefix t = "http://hl7.org/fhir/4.3/participationstatus" s:accepted - t:accepted s:declined - t:declined s:tentative - t:tentative s:"needs-action" - t:"needs-action" } uses "http://hl7.org/fhir/StructureDefinition/Appointment" alias AppointmentR5 as source uses "http://hl7.org/fhir/4.3/StructureDefinition/Appointment" alias AppointmentR4B as target imports "http://hl7.org/fhir/StructureMap/*5to4B" group Appointment(source src : AppointmentR5, target tgt : AppointmentR4B) extends DomainResource <<type+>> { src.identifier -> tgt.identifier; src.status as v -> tgt.status = translate(v, '#AppointmentStatus', 'code'); src.cancellationReason -> tgt.cancelationReason; src.serviceCategory -> tgt.serviceCategory; // src.class -> tgt.class; src.serviceType -> tgt.serviceType; src.specialty -> tgt.specialty; src.appointmentType -> tgt.appointmentType; src.reason -> tgt.reasonCode; src.description -> tgt.description; // src.priority -> tgt.priority; // CodeableConcept.text -> unsignedInt ?? src.supportingInformation -> tgt.supportingInformation; // src.replaces -> tgt.replaces; src.start -> tgt.start; // src.previousAppointment -> tgt.previousAppointment; src.end -> tgt.end; src.minutesDuration -> tgt.minutesDuration; src.requestedPeriod -> tgt.requestedPeriod; src.slot -> tgt.slot; src.created -> tgt.created; // src.account -> tgt.account; src.note -> tgt.comment; // src.cancellationDate -> tgt.cancellationDate; src.patientInstruction -> tgt.patientInstruction; src.basedOn -> tgt.basedOn; src.participant as s -> tgt.participant as t then AppointmentParticipant(s, t); // src.subject -> tgt.subject; } group AppointmentParticipant(source src, target tgt) extends BackboneElement { src.type -> tgt.type; src.period -> tgt.period; src.actor -> tgt.actor; src.required as s where required = 'true' -> tgt.required as t, t.value = 'required'; src.required as s where required = 'false' -> tgt.required as t, t.value = 'optional'; src.status as v -> tgt.status = translate(v, '#ParticipationStatus', 'code'); }