Finding nearest serviceable Patient Service Centers

Verifying if a particular zip code is serviceable is an important step, as not all labs have patient service centers within a state or within a reasonable distance. The recommend high level flow for verifying PSC availability at Vital is:
{
  "zip_code": "85004",
  "central_labs": {
    "labcorp": {
        "within_radius": 5, # number of PSC's within radius of provided zip code
        "radius": "25", # miles
        "capabilities": ["stat"] # aggregate list of capabilities provided by PSCs within the radius
    }
  }
  ...
}
A capability is a specific service that a PSC provides, for example STAT testing.
If specific data regarding the PSC’s is required, then you can also query the GET /v3/order/psc/info for specific information on the PSC’s within the radius of the provided zip code.
{
  "lab_id": 27,
  "slug": "labcorp",
  "patient_service_centers": [
    {
      "metadata": {
        "name": "LABCORP",
        "state": "AZ",
        "city": "Phoenix",
        "zip_code": "85006",
        "first_line": "1300 N 12th St",
        "second_line": "Ste 300",
        "phone_number": "480-878-3988",
        "fax_number": "844-346-5903",
        "hours": null
      },
      "distance": "25",
      "site_code": "ABC",
      "capabilities": ["stat"]
    },
  ]
}

Booking appointments at Patient Service Centers

Currently only available for Quest
Vital allows booking of appointments directly with the Patient Service Centers for some labs. In order to book these appointments, you can use the PSC Appointment API. Patient Service Centers have access to the booked appointment, and these can be cancelled/updated outside our system. When this happens, we do not have visibility. In order for the patient/customer to be able to track the appointment individually, we expose the external_id paramenter in the appointment endpoints/webhooks. This code is the unique identifier of the appointment at the provider, and should be made aware to the patient. We provide it to the patient via the SMS communications for the appointment.

Appointment Availability

You can use the availability API to obtain the available slots. You can feed in the site_code you obtain from the GET /v3/order/psc/info endpoint, or supply a zip code directly. If you provider a zip code, a max of 3 PSC locations will be displayed. Note that since this endpoint can return availability for multiple PSC’s, there may be multiple timezones. The individual start and end times are in UTC, and each location has it’s own iana_timezone key which should be used to convert these start and end dates to the correct timezone. The overarching timezone key will always be null in this endpoint`

Booking

You can book, reschedule or cancel with Vital, as many times as you want.