Skip to main content

Finding the 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 recommended high-level flow for verifying PSC availability at Junction is:
  1. Fetch PSC location data via the GET Area Info endpoint, the response payload should look like this:
    {
      "zip_code": "85004",
      "central_labs": {
        "labcorp": {
            "within_radius": 5, # the number of PSC's within radius of provided zip code
            "radius": "25", # miles
            "capabilities": ["stat", "appointment_scheduling_with_lab"] # aggregate list of capabilities provided by PSCs within the radius
        }
      }
      ...
    }
    
  2. Then you can query the GET Psc Info endpoint for specific information on the PSCs within the radius of the provided zip code, which will look like this:
    {
      "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", "appointment_scheduling_with_lab"]
        },
      ]
    }
    
A capability is a specific service that a PSC provides, for example, STAT testing or appointment scheduling.

Booking appointments at Patient Service Centers

Currently only available for Quest

Appointment Scheduling Capability

The ability to schedule appointments is designated with the capabilities field in the response from the GET Area Info or GET Psc Info endpoints as:
  • appointment_scheduling_via_junction: Indicates that the PSC allows scheduling appointments via Junction’s API.
  • appointment_scheduling_with_lab: Indicates that the PSC allows scheduling appointments directly with the lab, either online or via phone.
    • ⚠️ This capability indicates that scheduling appointments is not available through Junction’s API.
  • If neither of these capabilities is present, it indicates that the PSC either does not allow scheduling appointments or that we do not have visibility into whether they do.

Appointment Availability

Use the POST PSC Appointment Availability endpoint to obtain the available slots. You can provide the site_code you obtain from the GET Psc Info endpoint, or supply a zip code directly.
  • If you provide a zip code, a maximum of 3 PSC locations will be displayed.
Note that since this endpoint can return availability for multiple PSCs, there may be multiple time zones associated with the returned data.
  • ⚠️ The individual start and end times are in UTC, and each location has its own iana_timezone key, which should be used to convert these start and end dates to the correct time zone.
  • The overarching timezone key will always be null in this endpoint.

Booking

Patient Service Centers have access to the booked appointment, which can be canceled or updated outside of our system. When this occurs, the lab does not expose this to us, and so we do not have visibility, and it will not be reflected in our system or API.
In order to book these appointments, you can use the POST PSC Appointment Availability endpoint to find available appointment slots. You can then book, reschedule, or cancel with Junction as many times as you want. To allow the patient to track their appointment individually, we expose the external_id parameter in the appointment endpoints and webhooks.
  • This code is the unique identifier for the appointment at the provider and should be made available to the patient.
  • We provide it to the patient via SMS communications for the appointment.

External ID Format

The external_id field contains the provider’s unique appointment identifier:
ProviderFormatExampleDescription
Quest6-letter codeABCDEFUsed by Quest to identify appointments in their system
I