API Reference

Availabilities


Availabilities represent a provider's working hours (they don't represent when the provider is free to accept new bookings).

To schedule appointments through NexHealth's API, you first need to set up provider availabilities. NexHealth offers two types of availabilities:

  1. Synced availability: NexHealth reads these availabilities directly from the practice’s health record system. This feature is only supported for some integrations (eClinicalWorks, Open Dental, Orthotrac, Dentrix Enterprise, and Eaglesoft).
  2. Manually configured availability: These are developer-configured. They’re useful if you want to offer patients only a subset of availabilities that exist in the practice’s health record system, or if you want to offer patients ad hoc time slots that might not exist in the EHR. They’re necessary for the systems NexHealth doesn’t offer synced availability for.

The relationship between get appointment slots and availabilities

The get appointment_slots endpoint returns time slots when a provider is free to accept new bookings. These slots are computed by subtracting unavailable time blocks and existing appointments from provider availabilities.

Setting up synced availability

To enable synced availability, you need to send an email to [email protected] specifying the locations you want it enabled for. Once you email us, we’ll take care of the rest.

You can view the synced data by calling get availabilities.

Setting up manual availability

Use the post availabilities endpoint to set up manual availability. These objects won't get inserted into health record systems. They will just be used to power get appointment_slots.

📘

Recurring availability

Availabilities can either repeat on specific days of each week like Monday Tuesday and Friday, or on a custom recurrence. To set up a custom recurrence you need to provide a ref, specifying when the recurrence begins, a unit specifying whether the recurrence is daily, weekly, or monthly, and anum specifying how many days/weeks/months happen between each recurrence.

📘

Timezones

All availability times are shown in the location’s local time zone. You can check the time zone using the tz_offset property, which shows the difference from Coordinated Universal Time (UTC) in hours and minutes.

Availabilities response object

{
  "code": false,
  "description": "Description",
  "error": [
    "Error"
  ],
  "data": [
    {
      "id": 12,
      "provider_id": 7,
      "operatory_id": 149,
      "begin_time": "10:30",
      "end_time": "17:00",
      "appointment_types": [
        {
          "id": 1,
          "name": "Medical",
          "parent_type": "Institution",
          "parent_id": 1,
          "minutes": 15,
          "bookable_online": false
        }
      ],
      "days": [
        [
          "Monday",
          "Tuesday",
          "Wednesday",
          "Thursday",
          "Friday"
        ]
      ],
      "specific_date": "2022-11-03",
      "custom_recurrence": {
        "num": 3,
        "unit": "day",
        "ref": "2022-11-03"
      },
      "active": true,
      "synced": true
    }
  ],
  "count": 2
}