scheduleRetailAppointment

abstract fun scheduleRetailAppointment(paymentMethod: PaymentMethod, retailVisitInformation: RetailVisitInformation, timeSlot: TimeSlot, ehrSystemName: String, patientDexCarePatient: DexCarePatient, actorDexCarePatient: DexCarePatient? = null): DataObserver<String>

Provides an api to schedule a retail appointment

See also

Parameters

paymentMethod

A PaymentMethod object containing the patient's payment information

retailVisitInformation

A RetailVisitInformation object containing additional details required to schedule the retail appointment.

timeSlot

A TimeSlot that the user is requesting to schedule the appointment in. TimeSlots are returned by getTimeSlots.

ehrSystemName

The EHR system the appointment will be scheduled in. This is determined based on the Retail RetailDepartment's ehrSystemName property.

patientDexCarePatient

A DexCarePatient object containing demographics information about the patient.

actorDexCarePatient

Optional, a DexCarePatient object containing information about a parent or app user who's booking the visit for someone else. This is only used when VirtualVisitInformation.patientDeclaration is org.dexcare.services.models.PatientDeclaration.Other.

Throws

Returned when any of the following required properties are empty string:

This error is additionally returned when:

Returned when another user has already claimed this time slot.

Returned when the user has already booked another appointment at the same time.

An unexpected error occurred when communicating with Epic and the appointment failed to book.

This error indicates the time slot selected is unavailable.

Returned when the selected time slot is in the past and is no longer available.