Book an appointment
URL: {{base-url}}/providers/{{provider-id}}/appointments
Method: POST
Parameters description:
provider-id - The id field key in an Organization object
{
"slot_id": "5b16a68e-66dc-442f-8e2e-8715f328c4ec",
"patient_id": "54e020a2-0aec-4bc9-beab-9c60516e55f7",
"healthcare_service_id": "ae3687a2-65d5-40c9-83ee-4b59a56cf9a4",
"appointment_type": "ROUTINE",
"service_tier_id": "2aa74d11-be6a-4d14-8888-31995b1142b2",
"requested_period": 0,
"minutes_duration": 0,
"priority": 0
}
{
"success": true,
"message": "Appointment was successfully booked",
"data": {
"id": "e7b55dde-d671-4a15-a3fa-2cf1d63de154",
"healthcare_service_name": "Dermatology",
"patient_full_name": "Aspden Christopher R.",
"patient_age": 34,
"patient_gender": "MALE",
"patient_mobile": "+2433205",
"patient_id": "54e020a2-0aec-4bc9-beab-9c60516e55f7",
"slot_start": "2022-04-22T13:15:00Z",
"slot_end": "2022-04-22T13:30:00Z",
"slot_practitioner_name": "Mr Chris Dare",
"service_tier": {
"id": 1,
"uuid": "2aa74d11-be6a-4d14-8888-31995b1142b2",
"created_at": "2021-11-01T18:22:11.625041Z",
"display": "Standard",
"charge": "137.00",
"currency": "GHS",
"description": "Standard Pricing",
"priority": "routine",
"turnaround_time_value": null,
"turnaround_time_unit": null
},
"uuid": "631977f0-1fe6-4536-a3d9-4ae7ae65c3e5",
"resource_type": null,
"status": "pending",
"cancellation_reason": null,
"appointment_type": "ROUTINE",
"reason": null,
"priority": 0,
"description": null,
"start": null,
"end": null,
"minutes_duration": 0,
"created": "2022-04-22T12:39:25.473568Z",
"comment": null,
"patient_instruction": null,
"requested_period": 0,
"is_deleted": false,
"practitioner_name": "Mr Chris Dare",
"slot": "60d8f264-994c-43b8-8022-c179adacbde4",
"healthcare_service": "449560da-0432-46be-a919-2df8fbb182da",
"patient": 266,
"practitioner": "195f155e-60bd-4ed6-b6fb-f062fe750a9d",
"booking_user": 14729,
"provider": "951ce6e6-abf8-4cd1-9986-36505a512b7e",
"service_request_based_on": []
},
"errors": null
}
Request fields/keys descriptions:
slot_id - The uuid field key in a slot object.
patient_id - The uuid field key in a patient object.
healthcare_service_id - The uuid field key in a Healthcareservice object.
service_tier_id - The uuid field key in a ServicePriceTiers object.
Get appointments
URL: {{base_url}}/providers/{{provider_id}}/appointments?start=2021-11-01T23:30:00Z&end=2021-12-01T23:30:00Z
Method: GET
Parameters description:
provider-id - The id field key in an Organization object
Filter Query Pramaters:
- start (DateTime)
- end (DateTime)
- status (str) Options: proposed, pending, booked, arrived, fullfilled, cancelled, noshow, entered-in-error, waitlist
- appointment_type (str) Options: EMERGENCY, CHECKUP, FOLLOWUP, ROUTINE, WALKIN
- patient_id (str) patient uuid field
- healthcare_service_id (str): healthcare_service uuid field
- search
The search value can be any of the following
- Patient
- first_name
- last_name
- user_mobile
- user__national_mobile_number
- user__email
- other_names
- mr_number
- practitioner_name
- healthcare_service__name
{
"success": true,
"message": "Operation successful",
"meta": {
"current": 1,
"page_size_query": "page_size",
"next": "http://127.0.0.1:8090/v1/providers/951ce6e6-abf8-4cd1-9986-36505a512b7e/appointments?page=2&page_size=5&start=2022-3-01T23%3A30%3A00Z",
"previous": null,
"page_size": 5,
"total": 6
},
"results": [
{
"id": "e7b55dde-d671-4a15-a3fa-2cf1d63de154",
"healthcare_service_name": "Dermatology",
"patient_full_name": "Aspden Christopher R.",
"patient_age": 34,
"patient_gender": "MALE",
"patient_mobile": "+2433205",
"patient_id": "54e020a2-0aec-4bc9-beab-9c60516e55f7",
"slot_start": "2022-04-22T13:15:00Z",
"slot_end": "2022-04-22T13:30:00Z",
"slot_practitioner_name": "Mr Chris Dare",
"service_tier": {
"id": 1,
"uuid": "2aa74d11-be6a-4d14-8888-31995b1142b2",
"created_at": "2021-11-01T18:22:11.625041Z",
"display": "Standard",
"charge": "137.00",
"currency": "GHS",
"description": "Standard Pricing",
"priority": "routine",
"turnaround_time_value": null,
"turnaround_time_unit": null
},
"uuid": "631977f0-1fe6-4536-a3d9-4ae7ae65c3e5",
"resource_type": null,
"status": "pending",
"cancellation_reason": null,
"appointment_type": "ROUTINE",
"reason": null,
"priority": 0,
"description": null,
"start": null,
"end": null,
"minutes_duration": 0,
"created": "2022-04-22T12:39:25.473568Z",
"comment": null,
"patient_instruction": null,
"requested_period": 0,
"is_deleted": false,
"practitioner_name": "Mr Chris Dare",
"slot": "60d8f264-994c-43b8-8022-c179adacbde4",
"healthcare_service": "449560da-0432-46be-a919-2df8fbb182da",
"patient": 266,
"practitioner": "195f155e-60bd-4ed6-b6fb-f062fe750a9d",
"booking_user": 14729,
"provider": "951ce6e6-abf8-4cd1-9986-36505a512b7e",
"service_request_based_on": []
},
...
]
}
Update an appointment
URL: {{base-url}}/providers/{{provider-id}}/appointments/{{appointment-id}}
Method: PATCH
The endpoint updates an appointment. You can change the patient, service tier, healthcare service and reschedule the appointment with this endpoint. The presence of a slot_id key means the appointment will be rescheduled appointment also.
Parameters description:
provider-id - The id field key in an Organization object
appointment-id - The uuid field key in an appointment object
{
"appointment_type": "CHECKUP",
"healthcare_service_id": "08317631-3b9f-4057-96e0-07f1d91d3abc",
"patient_id": "cf5f80b0-dacd-4405-a2dd-8bbc3f2f17fd",
"service_tier_id": "bc6534ec-8ef7-4824-96a5-f707f33b473a",
"slot_id": "3fb248c4-ecf0-45b0-b3ce-3fed54b41eb9"
}
{
"success": true,
"message": "The appointment was successfully updated",
"data": {
"id": "d5955264-7e0e-4efa-b103-e677bf2d76c0",
"healthcare_service_name": "GP Consultation",
"patient_full_name": "Evans Boadi",
"patient_age": null,
"patient_gender": "UNKNOWN",
"patient_mobile": "+233209404045",
"patient_id": "cf5f80b0-dacd-4405-a2dd-8bbc3f2f17fd",
"slot_start": "2022-06-05T09:15:00Z",
"slot_end": "2022-06-05T09:30:00Z",
"slot_practitioner_name": "Mr Jean baptiste Tuyizere",
"service_tier": {
"id": 1347,
"uuid": "bc6534ec-8ef7-4824-96a5-f707f33b473a",
"created_at": "2021-11-25T13:55:17.545129Z",
"display": "GP Consultation cash (GH Resident)",
"charge": "137.00",
"currency": "GHS",
"description": "GP Consultation cash (GH Resident)",
"priority": "routine",
"turnaround_time_value": 0,
"turnaround_time_unit": ""
},
"uuid": "0a662bcb-1e48-42e8-910e-2e2c2e693eab",
"resource_type": null,
"status": "pending",
"cancellation_reason": null,
"appointment_type": "CHECKUP",
"reason": null,
"priority": 0,
"description": null,
"start": null,
"end": null,
"minutes_duration": 0,
"created": "2022-04-04T09:54:20.115467Z",
"comment": "Just a check up on my back",
"patient_instruction": null,
"requested_period": 0,
"is_deleted": false,
"practitioner_name": null,
"slot": "c0a5b0b7-4925-4471-9a85-b1b8c5307675",
"healthcare_service": "773550b0-1d92-40a5-a859-b3cfd70353d3",
"patient": 17,
"practitioner": null,
"booking_user": null,
"provider": "951ce6e6-abf8-4cd1-9986-36505a512b7e",
"provider_location": null,
"service_request_based_on": []
},
"errors": null
}
Request fields/keys description:
Delete an appointment
URL: {{base-url}}/providers/{{provider-id}}/appointments/{{appointment-id}}
Method: DELETE
Parameters description:
provider-id - The id field key in an Organization object
appointment-id - The uuid field key in an appointment object
Not Implemented yet
Perform an action on an Appointment
URL: {{base-url}}/providers/{{provider-id}}/appointments/{{appointment-id}}/action
Method: PATCH
Parameters description:
provider-id - The id field key in an Organization object
appointment-id - The uuid field key in an appointment object
{
"action": "CANCEL"
}
{
"success": true,
"message": "The action CANCEL was successfully executed on the appointment",
"data": {
"id": "df986bbd-c079-49f7-9559-a06b728a6d1c",
"uuid": "8c5bc09b-ce3d-4e0c-bdfb-436586044418",
"resource_type": null,
"status": "cancelled",
"cancellation_reason": null,
"appointment_type": "ROUTINE",
"reason": null,
"priority": 0,
"description": null,
"start": null,
"end": null,
"minutes_duration": 0,
"created": "2022-04-19T18:31:12.780845Z",
"comment": null,
"patient_instruction": null,
"requested_period": 0,
"is_deleted": false,
"practitioner_name": "Mr Jean baptiste Tuyizere",
"slot": "9d72fc2c-72f4-40ea-a40e-1b7058e3f254",
"healthcare_service": "449560da-0432-46be-a919-2df8fbb182da",
"patient": 266,
"practitioner": "43ca8bea-9874-4d9c-bcfd-6e524d4dd5a7",
"booking_user": 14729,
"provider": "951ce6e6-abf8-4cd1-9986-36505a512b7e",
"service_tier": 1,
"service_request_based_on": []
},
"errors": null
}
Request fields/keys description:
slot_id - The uuid field key in a slot object. Required for action RESCHEDULE.
action - The action type to perform. Options are: RESCHEDULE, CANCEL, CHECK-IN