- Type: Controller
- Verb: POST
- Default URL Path for Single-Source System: <base-url>/Appointment/{sourceAppointmentId}
- Default URL Path for Multi-Source System:* <base-url>/Appointment/{sourceSystem}/{sourceAppointmentId}
Where:
- sourceSystem identifies the source system.
- sourceAppointmentId is the ID of an appointment in the source system.
Your Base URL is configured in Setup > Appointment Scheduling.
All communications with the external system use the FHIR R4 standard.
Request Body
{
"resourceType": "Appointment",
"id": "1839594",
"status": "cancelled",
"cancelationReason" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/appointment-cancellation-reason",
"code" : "pat-mv"
}
]
}
}
Response Codes
- 200: Success
- 401: Unauthorized
- 404: Appointment not found
- 5xx: Server error
To map slots, resourceType, id, identifier, serviceType, appointmentType, slot, participant, actor, and status are required in the FHIR response.
{
"resourceType" : "Appointment",
"id" : "<string>"
"identifier" : [{ Identifier }], //Source system identifier mandatory in the response if there are multiple source systems
"cancelationReason" : { CodeableConcept },
"serviceCategory" : [{ CodeableConcept }],
"serviceType" : [{ CodeableConcept }],
"specialty" : [{ CodeableConcept }],
"appointmentType" : { CodeableConcept },
"reasonCode" : [{ CodeableConcept }],
"reasonReference" : [{ Reference(Condition|Procedure|Observation|ImmunizationRecommendation) }],
"priority" : "<unsignedInt>",
"description" : "<string>",
"supportingInformation" : [{ Reference(Any) }],
"start" : "<instant>",// start of the appointment - ISO 8601 format
"end" : "<instant>",// end of the appointment - ISO 8601 format
"minutesDuration" : "<positiveInt>",
"slot" : [{ Reference(Slot) }],
"created" : "<dateTime>",
"comment" : "<string>",
"patientInstruction" : "<string>",
"basedOn" : [{ Reference(ServiceRequest) }],
"participant" : [{"type" : [{ CodeableConcept }],//Patient EHR id
"actor" : { Reference(Patient|Practitioner|PractitionerRole|RelatedPerson | Device|HealthcareService|Location) }, //Practitioner EHR id
"required" : "<code>",
"status" : "<code>", // Mandatory in the response
"period" : { Period }}],
"requestedPeriod" : [{ Period }
]
}
The valid values for status are:
- proposed
- pending
- booked
- arrived
- fulfilled
- cancelled
- noshow
- entered-in-error
- checked-in
- waitlist
If the request cannot be processed for any reason (e.g. it’s unsupported, there’s a timeout, etc.) status is returned as proposed.