Elation Health Visit Notes API

Clinical encounter documentation

OpenAPI Specification

elation-visit-notes-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Elation Health REST Allergies Visit Notes 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: Visit Notes
  description: Clinical encounter documentation
paths:
  /visit_notes/:
    get:
      operationId: visit_notes_list
      summary: List visit notes
      description: Retrieve a paginated list of visit notes.
      tags:
      - Visit Notes
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      - name: patient
        in: query
        schema:
          type: integer
        description: Filter by patient ID
      - name: physician
        in: query
        schema:
          type: integer
        description: Filter by physician ID
      responses:
        '200':
          description: Paginated list of visit notes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedVisitNoteList'
    post:
      operationId: visit_notes_create
      summary: Create a visit note
      description: Create a new clinical visit note.
      tags:
      - Visit Notes
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VisitNoteCreate'
      responses:
        '201':
          description: Visit note created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisitNote'
  /visit_notes/{id}/:
    get:
      operationId: visit_notes_retrieve
      summary: Retrieve a visit note
      description: Get details for a specific visit note.
      tags:
      - Visit Notes
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: Visit note details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisitNote'
    put:
      operationId: visit_notes_update
      summary: Update a visit note
      description: Replace all visit note fields with the provided values.
      tags:
      - Visit Notes
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VisitNoteCreate'
      responses:
        '200':
          description: Visit note updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisitNote'
    patch:
      operationId: visit_notes_partial_update
      summary: Partially update a visit note
      description: Update one or more visit note fields.
      tags:
      - Visit Notes
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VisitNoteCreate'
      responses:
        '200':
          description: Visit note updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisitNote'
    delete:
      operationId: visit_notes_destroy
      summary: Delete a visit note
      description: Soft-delete a visit note.
      tags:
      - Visit Notes
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '204':
          description: Visit note deleted
components:
  schemas:
    VisitNote:
      allOf:
      - $ref: '#/components/schemas/VisitNoteCreate'
      - type: object
        properties:
          id:
            type: integer
            format: int64
            readOnly: true
          checklists:
            type: object
            description: PE and ROS checklist items
          edits:
            type: array
            readOnly: true
            items:
              type: object
          signatures:
            type: array
            readOnly: true
            items:
              type: object
          signed_date:
            type: string
            format: date-time
            nullable: true
          signed_by:
            type: integer
            nullable: true
          amendment_request:
            type: object
            nullable: true
          created_date:
            type: string
            format: date-time
            readOnly: true
          last_modified:
            type: string
            format: date-time
            readOnly: true
          deleted_date:
            type: string
            format: date-time
            nullable: true
            readOnly: true
          clinical_summary_link:
            type: string
            format: uri
            readOnly: true
          visit_summary_link:
            type: string
            format: uri
            readOnly: true
    VisitNoteCreate:
      type: object
      required:
      - patient
      - physician
      - practice
      - document_date
      - chart_date
      - template
      properties:
        patient:
          type: integer
          format: int64
          description: Patient ID
        physician:
          type: integer
          format: int64
          description: Clinician ID
        practice:
          type: integer
          format: int64
          description: Practice ID
        document_date:
          type: string
          format: date-time
          description: Clinical service date
        chart_date:
          type: string
          format: date-time
          description: Date entry was recorded in chart
        template:
          type: string
          enum:
          - Simple
          - SOAP
          - Complete H&P
          - Pre-Op
          description: Document structure format
        type:
          type: string
          maxLength: 50
          description: Visit note classification
        bullets:
          type: array
          description: Clinical bullet points organized by category
          items:
            type: object
            properties:
              category:
                type: string
              text:
                type: string
                maxLength: 500
        confidential:
          type: boolean
          description: Privacy flag for sensitive content
        tags:
          type: array
          items:
            type: string
    PaginatedVisitNoteList:
      allOf:
      - $ref: '#/components/schemas/PaginationMeta'
      - type: object
        properties:
          results:
            type: array
            items:
              $ref: '#/components/schemas/VisitNote'
    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
  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
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://sandbox.elationemr.com/api/2.0/oauth2/token/
          scopes:
            apiv2: Full API access