Elation Health Practice Medications API

The Practice Medications API from Elation Health — 4 operation(s) for practice medications.

Operations 10

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /practice_medications/ Search custom practice medications (legacy) · Find Practice Medications #
Ask an LLM
“Can I look up a practice's custom medications by name on the older unversioned path?”
“Which legacy endpoint searches practice-defined drugs?”
Tell an agent
Find legacy practice medications named {name}.
Search old-route custom medications for practice {practice}.
POST /practice_medications/ Add a custom practice medication (legacy) · Create Practice Medication #
Ask an LLM
“What does the legacy call need to add a medication that isn't in the drug database?”
“Can I flag a custom drug as controlled on the old create endpoint?”
Tell an agent
Create legacy practice medication {name} of type {type} for practice {practice}.
Add old-route custom drug {name}, strength {strength}, controlled {is_controlled}, type {type}, practice {practice}.
PATCH /practice_medications/{practice_medication_id}/ Mark a custom practice medication obsolete · Obsolete Practice Medication #
Ask an LLM
“How do I retire a custom medication so it stops showing up for prescribing?”
“Can I set the date a practice medication became obsolete?”
Tell an agent
Mark practice medication {practice_medication_id} obsolete.
Obsolete custom drug {practice_medication_id} as of {obsoleted_date}.
GET /practice_medications/{practice_medication_id}/ Look up a custom practice medication (legacy) · Fetch Practice Medication #
Ask an LLM
“What does the unversioned endpoint return for one practice medication?”
“Can I read a custom drug by id on the legacy path?”
Tell an agent
Fetch legacy practice medication {practice_medication_id}.
Open custom drug {practice_medication_id} from the old route.
GET /api/2.0/practice_medications/ List custom practice medications · List Practice Medications #
Ask an LLM
“How do I list the custom medications my practice has defined?”
“Can I filter v2.0 practice medications by name and page the results?”
Tell an agent
List v2.0 practice medications for practice {practice}.
Show practice medications matching {name}, ordered by {order_by}.
POST /api/2.0/practice_medications/ Create a custom practice medication · Create Practice Medication #
Ask an LLM
“Can I add a custom drug with its NDCs and RxNorm codes in API v2.0?”
“Which fields describe a new practice medication's form and route?”
Tell an agent
Create v2.0 practice medication {name} for practice {practice} with strength {strength} and form {form}.
Add custom drug {generic_name} with NDCs {ndcs} and RxNorm CUIs {rxnorm_cuis}.
DELETE /api/2.0/practice_medications/{id}/ Delete a custom practice medication · Delete Practice Medication #
Ask an LLM
“Can I delete a custom medication that was added by mistake?”
“What removes a practice medication in API v2.0?”
Tell an agent destructive · confirm first
Delete v2.0 practice medication {id}.
Remove the mistaken custom drug {id}.
GET /api/2.0/practice_medications/{id}/ Get one custom practice medication · Retrieve Practice Medication #
Ask an LLM
“What does a single v2.0 practice medication record contain?”
“Can I see the active NDCs of one custom drug?”
Tell an agent
Retrieve v2.0 practice medication {id}.
Show the NDCs and strength for custom drug {id}.
PATCH /api/2.0/practice_medications/{id}/ Edit part of a custom practice medication · Partially Update Practice Medication #
Ask an LLM
“Can I set a market end date on a custom drug without resending everything?”
“Is there a v2.0 partial update for a practice medication's route?”
Tell an agent
Set the market end date of practice medication {id} to {market_end_date}.
Change the route on custom drug {id} to {route}.
PUT /api/2.0/practice_medications/{id}/ Replace a custom practice medication · Update Practice Medication #
Ask an LLM
“Which v2.0 call does a full replacement of a practice medication?”
“Can I overwrite a custom drug's brand and generic names together?”
Tell an agent
Replace practice medication {id} with brand {brand_name} and generic {generic_name}.
Do a full PUT on custom drug {id}.

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/elation-health:elation-health-practice-medications-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

elation-health-practice-medications-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Elation Health Practice Medications API
  version: '1.0'
  description: 'Operations tagged Practice Medications across 2 of this provider''s published API definitions: elation-api-settings.json, elation-health-api-full-openapi.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://sandbox.elationemr.com/api/2.0
- description: Sandbox Server
  url: https://sandbox.elationemr.com
- description: Production Server
  url: https://api.app.elationemr.com
tags:
- name: Practice Medications
paths:
  /practice_medications/:
    get:
      summary: Find Practice Medications
      description: ''
      operationId: find-practice-medications
      parameters:
      - name: name
        in: query
        description: The name of the practice medication
        schema:
          type: string
      - name: practice
        in: query
        description: The id of the practice
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      tags:
      - Practice Medications
      security:
      - sec0: []
    post:
      summary: Create Practice Medication
      description: ''
      operationId: create-practice-medication
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - practice
              - name
              - type
              properties:
                practice:
                  type: integer
                  description: The practice id
                  format: int32
                name:
                  type: string
                  description: The name that will display for the medication in the search and when referenced by the prescription or documented med
                type:
                  type: string
                  description: Whether the practice medication is an OTC or Prescription drug
                  enum:
                  - prescription
                  - otc
                is_controlled:
                  type: boolean
                  description: Whether the drug is a controlled substance or not
                  default: false
                obsolete_date:
                  type: string
                  description: The date at which this practice medication became obsolete
                  default: 'null'
                  format: date-time
                strength:
                  type: string
                  description: The strength of the drug, e.g. 40mg
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      tags:
      - Practice Medications
      security:
      - sec0: []
    servers:
    - url: https://sandbox.elationemr.com/api/2.0
  /practice_medications/{practice_medication_id}/:
    patch:
      summary: Obsolete Practice Medication
      description: ''
      operationId: obsolete-practice-medication
      parameters:
      - name: practice_medication_id
        in: path
        description: The id of the practice medication
        schema:
          type: integer
          format: int32
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                obsoleted_date:
                  type: string
                  description: The date at which this practice medication became obsolete
                  format: date-time
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      tags:
      - Practice Medications
      security:
      - sec0: []
    get:
      summary: Fetch Practice Medication
      description: ''
      operationId: fetch-practice-medication
      parameters:
      - name: practice_medication_id
        in: path
        description: The id of the practice medication
        schema:
          type: integer
          format: int32
        required: true
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      tags:
      - Practice Medications
      security:
      - sec0: []
    servers:
    - url: https://sandbox.elationemr.com/api/2.0
  /api/2.0/practice_medications/:
    get:
      operationId: practice_medications_list
      parameters:
      - description: Number of results to return per page.
        in: query
        name: limit
        required: false
        schema:
          type: integer
      - description: Multiple values may be separated by commas.
        explode: false
        in: query
        name: name
        schema:
          items:
            type:
            - string
            - 'null'
          type: array
        style: form
      - description: The initial index from which to return the results.
        in: query
        name: offset
        required: false
        schema:
          type: integer
      - description: Which field to use when ordering the results.
        in: query
        name: order_by
        required: false
        schema:
          type: string
      - description: Multiple values may be separated by commas.
        explode: false
        in: query
        name: practice
        schema:
          items:
            format: int64
            type: integer
          type: array
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedMedicationList'
          description: ''
      security:
      - oauth2: []
      summary: List Practice Medications
      tags:
      - Practice Medications
      x-el8-docs-category: Practice API
      x-el8-docs-versions:
      - '2.1'
      - '2.0'
    post:
      description: Create a new practice medication.
      operationId: practice_medications_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Medication'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Medication'
          description: ''
      security:
      - oauth2: []
      summary: Create Practice Medication
      tags:
      - Practice Medications
      x-el8-docs-category: Practice API
      x-el8-docs-versions:
      - '2.1'
      - '2.0'
    servers:
    - description: Sandbox Server
      url: https://sandbox.elationemr.com
    - description: Production Server
      url: https://api.app.elationemr.com
  /api/2.0/practice_medications/{id}/:
    delete:
      description: Delete an existing practice medication.
      operationId: practice_medications_destroy
      parameters:
      - in: path
        name: id
        required: true
        schema:
          format: int64
          type: integer
      responses:
        '204':
          description: No response body
      security:
      - oauth2: []
      summary: Delete Practice Medication
      tags:
      - Practice Medications
      x-el8-docs-category: Practice API
      x-el8-docs-versions:
      - '2.1'
      - '2.0'
    get:
      operationId: practice_medications_retrieve
      parameters:
      - in: path
        name: id
        required: true
        schema:
          format: int64
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Medication'
          description: ''
      security:
      - oauth2: []
      summary: Retrieve Practice Medication
      tags:
      - Practice Medications
      x-el8-docs-category: Practice API
      x-el8-docs-versions:
      - '2.1'
      - '2.0'
    patch:
      description: Update an existing practice medication.
      operationId: practice_medications_partial_update
      parameters:
      - in: path
        name: id
        required: true
        schema:
          format: int64
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMedication'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Medication'
          description: ''
      security:
      - oauth2: []
      summary: Partially Update Practice Medication
      tags:
      - Practice Medications
      x-el8-docs-category: Practice API
      x-el8-docs-versions:
      - '2.1'
      - '2.0'
    put:
      description: Replace an existing practice medication.
      operationId: practice_medications_update
      parameters:
      - in: path
        name: id
        required: true
        schema:
          format: int64
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Medication'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Medication'
          description: ''
      security:
      - oauth2: []
      summary: Update Practice Medication
      tags:
      - Practice Medications
      x-el8-docs-category: Practice API
      x-el8-docs-versions:
      - '2.1'
      - '2.0'
    servers:
    - description: Sandbox Server
      url: https://sandbox.elationemr.com
    - description: Production Server
      url: https://api.app.elationemr.com
components:
  schemas:
    MedicationType:
      description: '* `otc` - otc

        * `prescription` - prescription

        * `discontinued` - discontinued'
      enum:
      - otc
      - prescription
      - discontinued
      type: string
    MedicationDrugType:
      description: '* `user` - user

        * `medispan` - medispan

        * `ss` - surescripts

        * `disp` - dispensary'
      enum:
      - user
      - medispan
      - ss
      - disp
      type: string
    Medication:
      properties:
        active_ndcs:
          items:
            type: string
          type: array
        brand_name:
          readOnly: true
          type: string
        created_date:
          format: date-time
          readOnly: true
          type:
          - string
          - 'null'
        creation_type:
          allOf:
          - $ref: '#/components/schemas/MedicationDrugType'
          default: user
          readOnly: true
        form:
          readOnly: true
          type: string
        generic_name:
          readOnly: true
          type: string
        id:
          description: The id of the medication.
          format: int64
          type: integer
        is_controlled:
          default: false
          description: Whether the drug is a controlled substance or not.
          type: boolean
        market_end_date:
          format: date-time
          type:
          - string
          - 'null'
        name:
          description: The name that will display for the medication in the search and when referenced by the prescription or documented med.
          type: string
        ndcs:
          description: The NDCs of the medication (must contain only one ndc code when creating).
          items:
            type: string
          type: array
        obsolete_date:
          description: The date at which this practice medication became obsolete.
          format: date-time
          type:
          - string
          - 'null'
        practice:
          description: The practice that created the medication. `null` for medications from the standard formulary.
          format: int64
          type: integer
        route:
          readOnly: true
          type: string
        rxnorm_cuis:
          description: The Rxnorm.cui code of the medication (must contain only one cui code when creating).
          items:
            type: string
          type: array
        strength:
          description: The strength of the drug, e.g. 40mg.
          maxLength: 255
          type:
          - string
          - 'null'
        type:
          allOf:
          - $ref: '#/components/schemas/MedicationType'
          default: prescription
          description: 'Whether the practice medication is an OTC or Prescription drug.


            * `otc` - otc

            * `prescription` - prescription

            * `discontinued` - discontinued'
      type: object
    PaginatedMedicationList:
      properties:
        count:
          example: 123
          type: integer
        next:
          example: http://api.example.org/accounts/?offset=400&limit=100
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?offset=200&limit=100
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/Medication'
          type: array
      required:
      - results
      type: object
    PatchedMedication:
      properties:
        active_ndcs:
          items:
            type: string
          type: array
        brand_name:
          readOnly: true
          type: string
        created_date:
          format: date-time
          readOnly: true
          type:
          - string
          - 'null'
        creation_type:
          allOf:
          - $ref: '#/components/schemas/MedicationDrugType'
          default: user
          readOnly: true
        form:
          readOnly: true
          type: string
        generic_name:
          readOnly: true
          type: string
        id:
          description: The id of the medication.
          format: int64
          type: integer
        is_controlled:
          default: false
          description: Whether the drug is a controlled substance or not.
          type: boolean
        market_end_date:
          format: date-time
          type:
          - string
          - 'null'
        name:
          description: The name that will display for the medication in the search and when referenced by the prescription or documented med.
          type: string
        ndcs:
          description: The NDCs of the medication (must contain only one ndc code when creating).
          items:
            type: string
          type: array
        obsolete_date:
          description: The date at which this practice medication became obsolete.
          format: date-time
          type:
          - string
          - 'null'
        practice:
          description: The practice that created the medication. `null` for medications from the standard formulary.
          format: int64
          type: integer
        route:
          readOnly: true
          type: string
        rxnorm_cuis:
          description: The Rxnorm.cui code of the medication (must contain only one cui code when creating).
          items:
            type: string
          type: array
        strength:
          description: The strength of the drug, e.g. 40mg.
          maxLength: 255
          type:
          - string
          - 'null'
        type:
          allOf:
          - $ref: '#/components/schemas/MedicationType'
          default: prescription
          description: 'Whether the practice medication is an OTC or Prescription drug.


            * `otc` - otc

            * `prescription` - prescription

            * `discontinued` - discontinued'
      type: object
  securitySchemes:
    sec0:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://example.com/oauth2/token
          scopes: {}
    oauth2:
      flows:
        clientCredentials:
          scopes:
            act_as_user: Impersonate a provider via X-On-Behalf-Of (combinable with apiv2 or system scopes)
            apiv2: Full access to the API
            system/{resource_name}.read: Read access to a specific resource
            system/{resource_name}.write: Write access to a specific resource
          tokenUrl: /api/2.0/oauth2/token/
      type: oauth2
x-refined-from:
- elation-api-settings.json
- elation-health-api-full-openapi.yaml
x-readme:
  headers: []
x-readme-fauxas: true