NexHealth Locations API

A singular Practice/clinic/office

OpenAPI Specification

nexhealth-locations-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: NexHealth Adjustment Types Locations 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: Locations
  description: A singular Practice/clinic/office
paths:
  /locations:
    get:
      summary: View locations
      description: This endpoint returns the institutions accessible to the caller, each with its nested list of locations. Pass subdomain to scope the response to a single institution.
      parameters:
      - in: query
        name: subdomain
        description: Used to scope the request to the specified institution
        required: false
        schema:
          type: string
      - in: query
        name: inactive
        description: Filter by inactive status
        required: false
        example: false
        schema:
          type: boolean
      - in: query
        name: foreign_id
        description: Find location by the integrated system Id
        required: false
        example: '1'
        schema:
          type: string
      - in: query
        name: filter_by_subscription_feature
        description: Filter by subscription feature
        required: false
        schema:
          type: string
          enum:
          - messaging
          - campaigns
          - reviews
          - recalls
          - reminders
          - online_booking
          - waitlist
          - forms
          - payments
          - ledger_sync
          - enterprise
          - insurance_verification
      responses:
        '200':
          description: Successful
          content:
            application/vnd.Nexhealth+json;version=2:
              schema:
                $ref: '#/components/schemas/API_V2_Entities_InstitutionBasicWithLocations_Collection_Response'
        '400':
          description: Bad Request
          content:
            application/vnd.Nexhealth+json;version=2:
              schema:
                $ref: '#/components/schemas/API_Errors_BadRequest'
        '401':
          description: Unauthorized
          content:
            application/vnd.Nexhealth+json;version=2:
              schema:
                $ref: '#/components/schemas/API_Errors_Unauthorized'
        '403':
          description: Forbidden
          content:
            application/vnd.Nexhealth+json;version=2:
              schema:
                $ref: '#/components/schemas/API_Errors_Forbidden'
        '500':
          description: Internal Server Error
          content:
            application/vnd.Nexhealth+json;version=2:
              schema:
                $ref: '#/components/schemas/API_Errors_InternalServerError'
      tags:
      - Locations
      operationId: getLocations
  /locations/{id}:
    get:
      summary: View location
      parameters:
      - in: path
        name: id
        description: The NexHealth location id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Successful
          content:
            application/vnd.Nexhealth+json;version=2:
              schema:
                $ref: '#/components/schemas/API_Entities_Location_Response'
        '400':
          description: Bad Request
          content:
            application/vnd.Nexhealth+json;version=2:
              schema:
                $ref: '#/components/schemas/API_Errors_BadRequest'
        '401':
          description: Unauthorized
          content:
            application/vnd.Nexhealth+json;version=2:
              schema:
                $ref: '#/components/schemas/API_Errors_Unauthorized'
        '404':
          description: Not Found
          content:
            application/vnd.Nexhealth+json;version=2:
              schema:
                $ref: '#/components/schemas/API_Errors_NotFound'
        '500':
          description: Internal Server Error
          content:
            application/vnd.Nexhealth+json;version=2:
              schema:
                $ref: '#/components/schemas/API_Errors_InternalServerError'
      tags:
      - Locations
      operationId: getLocationsId
  /locations/{id}/appointment_descriptors:
    get:
      summary: View location appointment descriptors
      parameters:
      - in: path
        name: id
        description: The NexHealth location id
        required: true
        schema:
          type: integer
          format: int32
      - in: query
        name: descriptor_type
        description: Query by descriptor type
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful
          content:
            application/vnd.Nexhealth+json;version=2:
              schema:
                $ref: '#/components/schemas/API_V2_Entities_EmrApptDescriptor_Collection_Response'
        '400':
          description: Bad Request
          content:
            application/vnd.Nexhealth+json;version=2:
              schema:
                $ref: '#/components/schemas/API_Errors_BadRequest'
        '401':
          description: Unauthorized
          content:
            application/vnd.Nexhealth+json;version=2:
              schema:
                $ref: '#/components/schemas/API_Errors_Unauthorized'
        '404':
          description: Not Found
          content:
            application/vnd.Nexhealth+json;version=2:
              schema:
                $ref: '#/components/schemas/API_Errors_NotFound'
        '500':
          description: Internal Server Error
          content:
            application/vnd.Nexhealth+json;version=2:
              schema:
                $ref: '#/components/schemas/API_Errors_InternalServerError'
      tags:
      - Locations
      operationId: getLocationsIdAppointmentDescriptors
components:
  schemas:
    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_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_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_V2_Entities_InstitutionBasicWithLocations:
      type: object
      properties:
        id:
          type: integer
          format: int32
          example: 1
          description: Institution Id
        name:
          type: string
          example: General Practice - Dr. P. Sherman DDS
          description: Institution Name
        subdomain:
          type: string
          example: example-subdomain
          description: Institution subdomain
        locations:
          type: array
          items:
            $ref: '#/components/schemas/API_V2_Entities_Location'
          description: List of locations belonging to the institution
    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_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_V2_Entities_EmrApptDescriptor_Collection_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:
          type: array
          items:
            $ref: '#/components/schemas/API_V2_Entities_EmrApptDescriptor'
        count:
          type: integer
          format: int32
          example: 2
          description: Number of total objects, in case of collection.
      description: API_V2_Entities_EmrApptDescriptor_Collection_Response model
    API_V2_Entities_InstitutionBasicWithLocations_Collection_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:
          type: array
          items:
            $ref: '#/components/schemas/API_V2_Entities_InstitutionBasicWithLocations'
        count:
          type: integer
          format: int32
          example: 2
          description: Number of total objects, in case of collection.
      description: API_V2_Entities_InstitutionBasicWithLocations_Collection_Response model
    API_Entities_Location_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_Entities_Location'
        count:
          type: integer
          format: int32
          example: 2
          description: Number of total objects, in case of collection.
      description: API_Entities_Location_Response 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_V2_Entities_EmrApptDescriptor:
      type: object
      properties:
        id:
          type: integer
          format: int32
          example: 1822
          description: Descriptor id
        descriptor_type:
          type: string
          example: Procedure Code
          description: The type of descriptor
        name:
          type: string
          example: EHR Descriptor Name
          description: The name of descriptor
        code:
          type: string
          example: EHR Descriptor Code
          description: The code of descriptor
        location_id:
          type: integer
          format: int32
          example: 13
          description: The location this object belongs to
        foreign_id:
          type: string
          example: '94'
          description: Unique identifier of this resource from the integrated system
        foreign_id_type:
          type: string
          example: msg-dentrix-DataSource-100
          description: Unique identifier for the integrated system itself
        data:
          type: object
          example: {}
          description: The configuration object, structure depends on the underlying EHR
        active:
          type: boolean
          example: true
          description: Is descriptor active?
        last_sync_time:
          type: string
          format: date-time
          example: '2021-05-21T16:23:03.046Z'
          description: Last Sync time in UTC
        created_at:
          type: string
          format: date-time
          example: '2021-05-21T16:23:03.046Z'
          description: The datetime the descriptor was created in UTC
        updated_at:
          type: string
          format: date-time
          example: '2021-05-21T16:23:03.046Z'
          description: The datetime the descriptor was last updated in UTC
    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