athenahealth Appointments API

The Appointments API from athenahealth — 6 operation(s) for appointments.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

athena-health-appointments-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: athenahealth athenaOne REST AllergyIntolerance Appointments API
  description: 'The athenaOne proprietary REST API exposes the full provider, patient,

    scheduling, clinical, and biller workflow surface of the athenahealth

    cloud-based EHR and practice management platform. All resources are

    scoped to a practice via the practiceid path parameter.

    '
  version: 1.0.0
  contact:
    name: athenahealth Developer Support
    url: https://docs.athenahealth.com/api/support
  license:
    name: athenahealth API Terms
    url: https://www.athenahealth.com/legal/terms
servers:
- url: https://api.platform.athenahealth.com/v1/{practiceid}
  description: Production athenaOne API
  variables:
    practiceid:
      default: '195900'
      description: athenaOne practice identifier
- url: https://api.preview.platform.athenahealth.com/v1/{practiceid}
  description: Preview (sandbox) athenaOne API
  variables:
    practiceid:
      default: '195900'
      description: athenaOne preview practice identifier
security:
- oauth2: []
tags:
- name: Appointments
paths:
  /appointments:
    get:
      summary: Search Appointments
      operationId: searchAppointments
      tags:
      - Appointments
      parameters:
      - name: departmentid
        in: query
        required: true
        schema:
          type: integer
      - name: startdate
        in: query
        schema:
          type: string
      - name: enddate
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Appointments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppointmentList'
  /appointments/open:
    get:
      summary: Get Open Appointment Slots
      operationId: getOpenAppointmentSlots
      tags:
      - Appointments
      parameters:
      - name: departmentid
        in: query
        required: true
        schema:
          type: integer
      - name: providerid
        in: query
        schema:
          type: integer
      - name: startdate
        in: query
        schema:
          type: string
      - name: enddate
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Open slots
  /appointments/{appointmentid}:
    get:
      summary: Get Appointment
      operationId: getAppointment
      tags:
      - Appointments
      parameters:
      - name: appointmentid
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Appointment
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Appointment'
  /appointments/{appointmentid}/cancel:
    put:
      summary: Cancel Appointment
      operationId: cancelAppointment
      tags:
      - Appointments
      parameters:
      - name: appointmentid
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Cancellation result
  /appointments/{appointmentid}/checkin:
    post:
      summary: Check In Appointment
      operationId: checkInAppointment
      tags:
      - Appointments
      parameters:
      - name: appointmentid
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Check-in result
  /appointments/{appointmentid}/reschedule:
    put:
      summary: Reschedule Appointment
      operationId: rescheduleAppointment
      tags:
      - Appointments
      parameters:
      - name: appointmentid
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Reschedule result
components:
  schemas:
    AppointmentList:
      type: array
      items:
        $ref: '#/components/schemas/Appointment'
    Appointment:
      type: object
      properties:
        appointmentid:
          type: string
        date:
          type: string
          format: date
        starttime:
          type: string
        duration:
          type: integer
        patientid:
          type: string
        providerid:
          type: integer
        departmentid:
          type: integer
        appointmenttype:
          type: string
        appointmentstatus:
          type: string
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.platform.athenahealth.com/oauth2/v1/token
          scopes:
            athena/service/Athenanet.MDP.*: athenahealth MDP scope
        authorizationCode:
          authorizationUrl: https://api.platform.athenahealth.com/oauth2/v1/authorize
          tokenUrl: https://api.platform.athenahealth.com/oauth2/v1/token
          scopes:
            athena/service/Athenanet.MDP.*: athenahealth MDP scope