Elation Health Insurance API

Insurance company, plan, and policy management

OpenAPI Specification

elation-insurance-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Elation Health REST Allergies Insurance API
  description: RESTful API for Elation's primary care EHR platform enabling management of patient profiles, visit notes, clinical documents, problems, allergies, immunizations, vitals, medications, lab orders, imaging orders, referrals, appointments, insurance, billing, pharmacy, messaging, and practice administration. Supports OAuth2 client credentials authentication with both sandbox and production environments.
  version: '2.0'
  contact:
    name: Elation Health Developer Support
    url: https://docs.elationhealth.com/reference/api-overview
  termsOfService: https://www.elationhealth.com/
servers:
- url: https://app.elationemr.com/api/2.0
  description: Production
- url: https://sandbox.elationemr.com/api/2.0
  description: Sandbox
security:
- oauth2: []
tags:
- name: Insurance
  description: Insurance company, plan, and policy management
paths:
  /insurance_companies/:
    get:
      operationId: insurance_companies_list
      summary: List insurance companies
      description: Retrieve a paginated list of insurance companies.
      tags:
      - Insurance
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      responses:
        '200':
          description: Paginated list of insurance companies
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedInsuranceCompanyList'
    post:
      operationId: insurance_companies_create
      summary: Create an insurance company
      tags:
      - Insurance
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InsuranceCompanyCreate'
      responses:
        '201':
          description: Insurance company created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsuranceCompany'
  /insurance_companies/{id}/:
    get:
      operationId: insurance_companies_retrieve
      summary: Retrieve an insurance company
      tags:
      - Insurance
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: Insurance company details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsuranceCompany'
    put:
      operationId: insurance_companies_update
      summary: Update an insurance company
      tags:
      - Insurance
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InsuranceCompanyCreate'
      responses:
        '200':
          description: Insurance company updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsuranceCompany'
    patch:
      operationId: insurance_companies_partial_update
      summary: Partially update an insurance company
      tags:
      - Insurance
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InsuranceCompanyCreate'
      responses:
        '200':
          description: Insurance company updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsuranceCompany'
    delete:
      operationId: insurance_companies_destroy
      summary: Delete an insurance company
      tags:
      - Insurance
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '204':
          description: Insurance company deleted
components:
  parameters:
    offset:
      name: offset
      in: query
      schema:
        type: integer
        default: 0
      description: Pagination offset
    id:
      name: id
      in: path
      required: true
      schema:
        type: integer
      description: Unique resource identifier
    limit:
      name: limit
      in: query
      schema:
        type: integer
        default: 25
      description: Number of results to return
  schemas:
    InsuranceCompanyCreate:
      type: object
      required:
      - name
      properties:
        name:
          type: string
          description: Insurance company name
        address:
          $ref: '#/components/schemas/Address'
        phone:
          type: string
        fax:
          type: string
        payer_id:
          type: string
          description: Electronic payer identifier
    Address:
      type: object
      properties:
        address_line1:
          type: string
          description: Primary street address
        address_line2:
          type: string
          description: Secondary address line
        city:
          type: string
        state:
          type: string
          description: Two-letter state code
        zip:
          type: string
          description: ZIP or postal code
    PaginationMeta:
      type: object
      properties:
        count:
          type: integer
          description: Total number of results
        next:
          type: string
          nullable: true
          description: URL for next page
        previous:
          type: string
          nullable: true
          description: URL for previous page
    InsuranceCompany:
      allOf:
      - $ref: '#/components/schemas/InsuranceCompanyCreate'
      - type: object
        properties:
          id:
            type: integer
            readOnly: true
          created_date:
            type: string
            format: date-time
            readOnly: true
          deleted_date:
            type: string
            format: date-time
            nullable: true
            readOnly: true
    PaginatedInsuranceCompanyList:
      allOf:
      - $ref: '#/components/schemas/PaginationMeta'
      - type: object
        properties:
          results:
            type: array
            items:
              $ref: '#/components/schemas/InsuranceCompany'
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://sandbox.elationemr.com/api/2.0/oauth2/token/
          scopes:
            apiv2: Full API access