OpenAPI Specification
openapi: 3.0.0
info:
title: NexHealth Adjustment Types Providers API
description: v3.0.0 and v20240412 are two names for the same API version; the Nex-Api-Version header accepts either value. Welcome to the developer hub and documentation for NexHealth API. This section of guide describes the operations, response parameters, request parameters, and parameter constraints related to User API. The term Operations refer to functions or methods. The operations are included in requests and send to the web server. Each operation performs a different action or a query on database.
termsOfService: https://www.nexhealth.com/terms-of-service
contact:
name: NexHealth
email: info@nexhealth.com
license:
name: NexHealth License 1.0
url: https://www.nexhealth.com/privacy
version: v20240412
servers:
- url: https://nexhealth.info
security:
- Authorization: []
tags:
- name: Providers
description: A providers resource
paths:
/providers:
get:
summary: View providers
description: This endpoint returns the providers for the institution, narrowed down by the optional filters configured.
parameters:
- in: header
name: Nex-Api-Version
description: The NexHealth API version
required: true
schema:
type: string
default: v3.0.0
- in: query
name: subdomain
description: Used to scope the request to the specified institution
required: true
schema:
type: string
- in: query
name: start_cursor
description: First item of the current page. Starts empty
required: false
schema:
type: string
- in: query
name: end_cursor
description: Last item of the current page. Starts empty
required: false
schema:
type: string
- in: query
name: per_page
description: Number of results to return per page. Maximum allowed amount is 1000.
required: false
schema:
type: integer
format: int32
default: 5
- in: query
name: sort
description: "Optional comma-separated string of fields to sort on.\nInclude a leading dash for descending order.\n\nAvailable fields:\n * updated_at\n * -updated_at\n"
required: false
schema:
type: string
- in: query
name: location_id
description: Only return providers associated with the specified Location Id
required: false
example: 1
schema:
type: integer
format: int32
- in: query
name: foreign_id
description: Unique provider id from the EHR
required: false
example: '100437'
schema:
type: string
- in: query
name: requestable
description: Only return providers who are bookable via NexHealth online booking at the specified location_id
required: false
example: true
schema:
type: boolean
- in: query
name: inactive
description: Filter result set based on inactive status, defaults to false if not specified
required: false
example: false
schema:
type: boolean
default: false
- in: query
name: updated_since
description: Query providers whose records have updated since the specified datetime in ISO8601 format. Must be a parseable Date, recommended formats are YYYY-MM-DD or YYYY-MM-DDThh:mm:ss+0000
required: false
example: '2024-04-12T10:30:00Z'
schema:
type: string
format: date-time
- in: query
name: include[]
description: Resources to be included in the response
required: false
explode: true
schema:
type: array
items:
type: string
enum:
- locations
- availabilities
- appointment_types
default: locations
- in: query
name: ids[]
description: NexHealth IDs
required: false
example:
- 83
style: form
explode: false
schema:
type: array
items:
type: integer
format: int32
responses:
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/API_V20240412_Entities_ProviderWithResources_Collection_Response_WithCursor'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/API_Errors_BadRequest'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/API_Errors_Unauthorized'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/API_Errors_Forbidden'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/API_Errors_NotFound'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/API_Errors_InternalServerError'
tags:
- Providers
operationId: getProviders
/providers/{id}:
get:
summary: View provider
description: This endpoint returns a single provider.
parameters:
- in: header
name: Nex-Api-Version
description: The NexHealth API version
required: true
schema:
type: string
default: v3.0.0
- in: path
name: id
description: The NexHealth id of the Provider
required: true
schema:
type: integer
format: int32
- in: query
name: subdomain
description: Used to scope the request to the specified institution
required: true
schema:
type: string
- in: query
name: include[]
description: Resources to be included in the response
required: false
explode: true
schema:
type: array
items:
type: string
enum:
- locations
- availabilities
- appointment_types
default: locations
responses:
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/API_V20240412_Entities_ProviderWithResources_Response'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/API_Errors_BadRequest'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/API_Errors_Unauthorized'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/API_Errors_Forbidden'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/API_Errors_NotFound'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/API_Errors_InternalServerError'
tags:
- Providers
operationId: getProvidersId
components:
schemas:
API_V20240412_Entities_ProviderWithResources:
type: object
properties:
id:
type: integer
format: int32
example: 415
description: User id
email:
type: string
example: Amy.Ramos@nexhealth.com
description: User email
nullable: true
first_name:
type: string
example: John
description: First name
middle_name:
type: string
example: Anthony
description: Middle name
nullable: true
last_name:
type: string
example: Smith
description: Last name
name:
type: string
example: John Smith
description: Full name
created_at:
type: string
format: date-time
example: '2020-06-05T20:16:57.007Z'
description: User creation date in UTC
updated_at:
type: string
format: date-time
example: '2020-06-05T20:16:57.007Z'
description: User last updation date in UTC
institution_id:
type: integer
format: int32
example: 105
description: The institution this user belongs to
foreign_id:
type: string
example: '100437'
description: Foreign Id is a unique identifier from the integrated system
nullable: true
foreign_id_type:
type: string
example: --DataSource-
description: Foreign Id type is a unique string identifier for the integrated system
bio:
type: object
example:
city: New York
state: NY
gender: Female
zip_code: '20814'
new_patient: false
non_patient: true
phone_number: '5163042196'
date_of_birth: '1964-05-03'
address_line_1: ''
address_line_2: ''
street_address: ''
cell_phone_number: ''
home_phone_number: ''
work_phone_number: ''
description: Patient biographical data, fields shown in our example response represent all possible data we retrieve but depending on system and what is actually saved in the health records system you cannot assume any field will consistently be returned
inactive:
type: boolean
example: false
description: Is the user inactivated?
last_sync_time:
type: string
format: date-time
example: '2024-04-12T10:30:00Z'
description: The most recent time the resource's data changed meaningfully at the source
nullable: true
display_name:
type: string
example: John Smith
description: Display name
nullable: true
npi:
type: string
example: '1912507500'
description: National Provider Identifier as registered in NPPES. May be null if the practice did not enter it into the integrated system.
nullable: true
tin:
type: string
example: 078051120
description: Taxpayer Identification Number (SSN or ITIN). May be null if the practice did not enter it into the integrated system.
nullable: true
state_license:
type: string
example: R219935
description: State license number. May be null if the practice did not enter it into the integrated system.
nullable: true
specialty_code:
type: string
example: 363L00000X
description: Specialty code corresponding to the provider's state license and NPI. May be null if the practice did not enter it into the integrated system.
nullable: true
locations:
type: array
items:
$ref: '#/components/schemas/API_Entities_Location'
description: Locations the provider is associated with
provider_requestables:
type: array
items:
$ref: '#/components/schemas/API_V2_Entities_ProviderRequestable'
description: List of locations this provider can be booked with at
availabilities:
type: array
items:
$ref: '#/components/schemas/API_V20240412_Entities_WorkingHourWithAppointmentTypes'
description: List of availabilities for the provider, each with its associated appointment types
API_V20240412_Entities_WorkingHourWithAppointmentTypes:
type: object
properties:
id:
type: integer
format: int32
example: 12
description: Resource id
provider_id:
type: integer
format: int32
example: 7
description: Provider id
nullable: true
location_id:
type: integer
format: int32
example: 3
description: Location id
nullable: true
operatory_id:
type: integer
format: int64
example: 149
description: Operatory id
nullable: true
begin_time:
type: string
example: '10:30'
description: Availability start time in the practices timezone
end_time:
type: string
example: '17:00'
description: Availability end time in the practices timezone
days:
type: array
items:
type: string
example:
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
description: Configured week days. Empty when the working hour is configured for a custom recurrence
nullable: true
specific_date:
type: string
format: date
example: '2022-11-03'
description: Configured specific date
nullable: true
custom_recurrence:
type: object
example:
num: 3
unit: day
ref: '2022-11-03'
description: Configured custom recurrence, with the fields num (recurrence interval count), ref (starting date), and unit (day, week, or month)
nullable: true
tz_offset:
type: string
example: '-0700'
description: UTC offset for the practice
active:
type: boolean
example: true
description: Is active?
source:
type: string
enum:
- manual
- synced
example: synced
description: Source of the working hour
label:
$ref: '#/components/schemas/API_V20240412_Entities_WorkingHourLabel'
appointment_types:
type: array
items:
$ref: '#/components/schemas/API_V2_Entities_AppointmentTypeBasic'
description: Associated appointment types
API_Errors_InternalServerError:
type: object
properties:
code:
type: boolean
description: Indicates the success or failure of the request.
description:
type: string
description: Additional context about the request to help with debugging.
data:
type: object
error:
type: array
items:
type: string
description: Any errors that occured during the execution of the request.
description: API_Errors_InternalServerError model
API_Errors_Forbidden:
type: object
properties:
code:
type: boolean
description: Indicates the success or failure of the request.
description:
type: string
description: Additional context about the request to help with debugging.
data:
type: object
error:
type: array
items:
type: string
description: Any errors that occured during the execution of the request.
description: API_Errors_Forbidden model
API_V2_Entities_AppointmentTypeBasic:
type: object
properties:
id:
type: integer
format: int32
example: 1
description: Appointment type Id
name:
type: string
example: Medical
description: Appointment type name. Unique string identifier
parent_type:
type: string
example: Institution
description: Parent type for appointment type. Defines the belongs to relationship with either Institution or Location
parent_id:
type: integer
format: int32
example: 1
description: Identifies the specific resource the appointment type belongs to (see parent_type)
minutes:
type: integer
format: int32
example: 15
description: Default duration of appointments of this appointment type
bookable_online:
type: boolean
example: false
description: True if this appointment type should be bookable via the NexHealth online booking page
API_Errors_Unauthorized:
type: object
properties:
code:
type: boolean
description: Indicates the success or failure of the request.
description:
type: string
description: Additional context about the request to help with debugging.
data:
type: object
error:
type: array
items:
type: string
description: Any errors that occured during the execution of the request.
description: API_Errors_Unauthorized model
API_V20240412_Entities_WorkingHourLabel:
type: object
properties:
id:
type: integer
format: int64
example: 113
description: Resource id
location_id:
type: integer
format: int32
example: 115
description: The location ID
nullable: true
name:
type: string
example: New patient appointments
description: The name for working hour label
API_Entities_Location:
type: object
properties:
id:
type: integer
format: int32
example: 7
description: Location id
name:
type: string
example: Default
description: Location name
institution_id:
type: integer
format: int32
example: 1
description: Institution id
street_address:
type: string
example: 123 Law St
description: Location street address
nullable: true
street_address_2:
type: string
example: 85335, North East
description: Location street address 2
nullable: true
city:
type: string
example: New York
description: Location city
nullable: true
state:
type: string
example: NY
description: 2 letter state code
nullable: true
zip_code:
type: string
example: '54700'
description: Location zip code
nullable: true
country_code:
type: string
example: US
description: Location country code
nullable: true
created_at:
type: string
example: '2020-06-05T20:16:57.007Z'
description: Location created time in UTC
updated_at:
type: string
example: '2020-06-05T20:16:57.007Z'
description: Location last updation time in UTC
latitude:
type: number
format: float
example: 37.7775028
description: Geolocated latitude determined by the address
nullable: true
longitude:
type: number
format: float
example: -122.3970603
description: Geolocated longitude determined by the address
nullable: true
phone_number:
type: string
example: '8888750851'
description: Practice phone number
nullable: true
foreign_id:
type: string
example: '1'
description: Unique identifier from the integrated system
foreign_id_type:
type: string
example: --DataSource-
description: Unique identifier for the integrated system
email:
type: string
example: defaultLocation@nexhealth.com
description: Location email id
nullable: true
tz:
type: string
example: America/Los_Angeles
description: Timezone name
last_sync_time:
type: string
example: '2020-06-17T19:23:49.176Z'
description: Last time the resource was refreshed with data from the data source
nullable: true
insert_appt_client:
type: boolean
example: true
description: True if appointments created at this location are inserted into the EHR
map_by_operatory:
type: boolean
example: true
description: True if this location uses and therefore requires an operatory to schedule appointments
set_availability_by_operatory:
type: boolean
example: false
description: True if the location has appointment types specific to an operatory, false if the appointment types are specific to a provider
inactive:
type: boolean
example: false
description: Is this location not being actively used?
specialty:
$ref: '#/components/schemas/API_Entities_Specialty'
API_V20240412_Entities_ProviderWithResources_Collection_Response_WithCursor:
type: object
properties:
code:
type: boolean
example: false
description: Indicates the success or failure of the request
description:
type: string
example: Description
description: Additional context on the request to help with debugging.
error:
type: array
items:
type: string
example:
- Error message
description: Any errors that occur during the execution of the request.
data:
type: array
items:
$ref: '#/components/schemas/API_V20240412_Entities_ProviderWithResources'
page_info:
type: object
example:
has_previous_page: false
has_next_page: false
start_cursor: AAAAA
end_cursor: BBBBBB
description: Pagination information that can be used for fetching previous and next pages.
description: API_V20240412_Entities_ProviderWithResources_Collection_Response_WithCursor model
API_V2_Entities_ProviderRequestable:
type: object
properties:
location_id:
type: integer
format: int32
example: 4
description: Location id
API_V20240412_Entities_ProviderWithResources_Response:
type: object
properties:
code:
type: boolean
example: false
description: Indicates the success or failure of the request
description:
type: string
example: Description
description: Additional context on the request to help with debugging.
error:
type: array
items:
type: string
example:
- Error message
description: Any errors that occur during the execution of the request.
data:
$ref: '#/components/schemas/API_V20240412_Entities_ProviderWithResources'
count:
type: integer
format: int32
example: 2
description: Number of total objects, in case of collection.
description: API_V20240412_Entities_ProviderWithResources_Response model
API_Errors_BadRequest:
type: object
properties:
code:
type: boolean
description: Indicates the success or failure of the request.
description:
type: string
description: Additional context about the request to help with debugging.
data:
type: object
error:
type: array
items:
type: string
description: Any errors that occured during the execution of the request.
description: API_Errors_BadRequest model
API_Errors_NotFound:
type: object
properties:
code:
type: boolean
description: Indicates the success or failure of the request.
description:
type: string
description: Additional context about the request to help with debugging.
data:
type: object
error:
type: array
items:
type: string
description: Any errors that occured during the execution of the request.
description: API_Errors_NotFound model
API_Entities_Specialty:
type: object
properties:
id:
type: integer
format: int32
description: Specialty id
name:
type: string
description: Specialty name
securitySchemes:
Authorization:
type: apiKey
name: Authorization
in: header