Elation Health Immunizations API

The Immunizations API from Elation Health — 4 operation(s) for immunizations.

Operations 8

DELETE /immunizations/{id}/ Delete Immunization #
GET /immunizations/{id}/ Get Immunization #
GET /immunizations/ Find Immunizations #
POST /immunizations/ Create Immunization #
GET /api/2.0/immunizations/ List Immunizations #
POST /api/2.0/immunizations/ Create Immunization #
DELETE /api/2.0/immunizations/{id}/ Delete Immunization #
GET /api/2.0/immunizations/{id}/ Retrieve Immunization #

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-immunizations-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 email required.

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

OpenAPI Specification

elation-health-immunizations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Elation Health Immunizations API
  version: '1.0'
  description: 'Operations tagged Immunizations across 3 of this provider''s published API definitions: elation-api-settings.json, elation-health-api-full-openapi.yaml, elation-patient-profile-api.json. 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: Immunizations
paths:
  /immunizations/{id}/:
    delete:
      summary: Delete Immunization
      description: ''
      operationId: delete-immunization
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      responses:
        '204':
          description: '204'
          content:
            application/json:
              examples:
                Result:
                  value: ''
      deprecated: false
      x-readme:
        code-samples:
        - language: python
          code: "import requests\nimport json\n\naccess_token = \"TyEPKw8fVGRKpCBa81ygwjCLXDNIAm\"\nauth_header = \"Bearer %s\" % (access_token)\n\nresp = requests.delete(\"https://sandbox.elationemr.com/api/2.0/immunizations/54233202689/\",\n                       headers={'Authorization': auth_header})\n\nprint resp.status_code"
        samples-languages:
        - python
      tags:
      - Immunizations
      security:
      - sec0: []
    get:
      summary: Get Immunization
      description: ''
      operationId: get-immunization
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"id\": 83792571234,\n  // See Object Definition\n}"
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      x-readme:
        code-samples:
        - language: python
          code: "import requests\nimport json\n\naccess_token = \"TyEPKw8fVGRKpCBa81ygwjCLXDNIAm\"\nauth_header = \"Bearer %s\" % (access_token)\n\nresp = requests.get(\"https://sandbox.elationemr.com/api/2.0/immunizations/64184451073/\",\n                    headers={'Authorization': auth_header})\n\nprint resp.status_code\nprint json.dumps(json.loads(resp.content), indent=2)"
        samples-languages:
        - python
      tags:
      - Immunizations
      security:
      - sec0: []
    servers:
    - url: https://sandbox.elationemr.com/api/2.0
  /immunizations/:
    get:
      summary: Find Immunizations
      description: ''
      operationId: find-immunizations
      parameters:
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      - name: patient
        in: query
        schema:
          type: array
          items:
            type: integer
            format: int64
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"count\": 123,\n  \"next\": \"https://sandbox.elationemr.com/api/2.0/immunizations/?limit=10&offset=10\",\n  \"previous\": \"https://sandbox.elationemr.com/api/2.0/immunizations/?limit=10\",\n  \"results\": [  // list of objects\n    { // See Object Definition },\n    // ...\n    { // See Object Definition },\n  ]\n}"
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      x-readme:
        code-samples:
        - language: python
          code: "import requests\nimport json\n\naccess_token = \"VFroUHsmrErlVI6nJ08Alwhri5RGCW\"\nauth_header = \"Bearer %s\" % (access_token)\n\nresp = requests.get(\"https://sandbox.elationemr.com/api/2.0/immunizations/\",\n                    headers={'Authorization': auth_header})\n\nprint resp.status_code\nprint json.dumps(json.loads(resp.content), indent=2)"
        samples-languages:
        - python
      tags:
      - Immunizations
      security:
      - sec0: []
    post:
      summary: Create Immunization
      description: ''
      operationId: create-immunization
      parameters:
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - patient
              - vaccine
              - administered_date
              - administering_physician
              - ordering_physician
              - qty
              properties:
                patient:
                  type: integer
                  description: patient id
                  format: int32
                vaccine:
                  type: object
                  required:
                  - cvx
                  properties:
                    cvx:
                      type: integer
                      format: int32
                administered_date:
                  type: string
                  format: date
                administering_physician:
                  type: integer
                  format: int32
                ordering_physician:
                  type: integer
                  format: int32
                qty:
                  type: string
                description:
                  type: string
                reason:
                  type: string
                qty_units:
                  type: string
                lot_number:
                  type: string
                manufacturer_name:
                  type: string
                manufacturer_code:
                  type: string
                expiration_date:
                  type: string
                  format: date
                vis:
                  type: string
                method:
                  type: string
                site:
                  type: string
                notes:
                  type: string
                publicity_code:
                  type: string
                  enum:
                  - ("01"
                  - '"No reminder/recall")'
                  - ("02"
                  - '"Reminder/recall - any method")'
                  - ("03"
                  - '"Reminder/recall - no calls")'
                  - ("04"
                  - '"Reminder only - any method")'
                  - ("05"
                  - '"Reminder only - no calls")'
                  - ("06"
                  - '"Recall only - any method")'
                  - ("07"
                  - '"Recall only - no calls")'
                  - ("08"
                  - '"Reminder/recall - to provider")'
                  - ("09"
                  - '"Reminder to provider")'
                  - ("10"
                  - '"Only reminder to provider'
                  - no recall")
                  - ("11"
                  - '"Recall to provider")'
                  - ("12"
                  - '"Only recall to provider'
                  - no reminder")
                vfc_eligibility:
                  type: string
                  enum:
                  - ("V01"
                  - '"Not VFC eligible")'
                  - ("V02"
                  - '"VFC eligible - Medicaid/Medicaid Managed Care")'
                  - ("V03"
                  - '"VFC eligible - Uninsured")'
                  - ("V04"
                  - '"VFC eligible - American Indian/Alaskan Native")'
                  - ("V05"
                  - '"VFC eligible - Under-insured)")'
                  - ("V07"
                  - '"Local-specific eligibility")'
                  - ("V22"
                  - '"CHIP")'
                  - ("V23"
                  - '"317")'
                  - ("V24"
                  - '"Medicare")'
                  - ("V25"
                  - '"State program eligibility")'
                  - ("CAA01"
                  - '"CA State General Fund Vaccines")'
                  - ("ORA01"
                  - '"OR Special Projects")'
                  - ("ORA02"
                  - '"OR Locally Owned")'
                  - ("HI02"
                  - '"HI Birthing Hospital Hepatitis B")'
                  - ("HI03"
                  - '"HI Adult Insured")'
                  - ("HI04"
                  - '"HI Adult Not Insured")'
                funding_source:
                  type: string
                  enum:
                  - ("PHC70"
                  - '"Privately funded vaccine stock")'
                  - ("VXC50"
                  - '"Publicly funded vaccine stock")'
                  - ("VXC51"
                  - '"Publicly funded vaccine stock - VFC")'
                  - ("VXC52"
                  - '"Publicly funded vaccine stock - Non-VFC")'
                info_source:
                  type: string
                  enum:
                  - ("00"
                  - '"New immunization record")'
                  - ("01"
                  - '"Historical information - source unspecified")'
                  - ("02"
                  - '"Historical information - from other provider")'
                  - ("03"
                  - '"Historical information - from parent''s written record")'
                  - ("04"
                  - '"Historical information - from parent''s recall")'
                  - ("05"
                  - '"Historical information - from other registry")'
                  - ("06"
                  - '"Historical information - from birth certificate")'
                  - ("07"
                  - '"Historical information - from school record")'
                  - ("08"
                  - '"Historical information - from public agency")'
                allowed_sharing:
                  type: boolean
                dose_in_series:
                  type: integer
                  format: int32
                priority_population:
                  type: string
                  description: For Immunization Registry Integrations (less than 9 symbols)
                ndc:
                  type: string
                  description: Should be 10-11 digits, 2 dashes, but field have no validation
                patient_consent:
                  type: boolean
      responses:
        '201':
          description: '201'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n    \"id\": 140758870130858,\n    \"administered_date\": \"2021-09-22T17:01:00Z\",\n    \"administering_physician\": 720898,\n    \"ordering_physician\": 720898,\n    \"description\": null,\n    \"reason\": null,\n    \"vaccine\": {\n        \"name\": \"pertussis\",\n        \"cvx\": 11,\n        \"cdc_name\": null,\n        \"cdc_type\": null\n    },\n    \"qty\": \"25\",\n    \"qty_units\": null,\n    \"lot_number\": null,\n    \"manufacturer_name\": null,\n    \"manufacturer_code\": null,\n    \"expiration_date\": null,\n    \"vis\": null,\n    \"method\": null,\n    \"site\": null,\n    \"notes\": null,\n    \"publicity_code\": null,\n    \"vfc_eligibility\": null,\n    \"funding_source\": null,\n    \"info_source\": null,\n    \"allowed_sharing\": null,\n    \"practice\": 140758835265540,\n    \"patient\": 140758844637185,\n    \"created_date\": \"2022-06-29T13:00:59Z\",\n    \"deleted_date\": null,\n    \"dose_in_series\": null,\n    \"priority_population\": null,\n    \"ndc\": null,\n    \"patient_consent\": null\n}"
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    example: 140758870130858
                    default: 0
                  administered_date:
                    type: string
                    example: '2021-09-22T17:01:00Z'
                  administering_physician:
                    type: integer
                    example: 720898
                    default: 0
                  ordering_physician:
                    type: integer
                    example: 720898
                    default: 0
                  description: {}
                  reason: {}
                  vaccine:
                    type: object
                    properties:
                      name:
                        type: string
                        example: pertussis
                      cvx:
                        type: integer
                        example: 11
                        default: 0
                      cdc_name: {}
                      cdc_type: {}
                  qty:
                    type: string
                    example: '25'
                  qty_units: {}
                  lot_number: {}
                  manufacturer_name: {}
                  manufacturer_code: {}
                  expiration_date: {}
                  vis: {}
                  method: {}
                  site: {}
                  notes: {}
                  publicity_code: {}
                  vfc_eligibility: {}
                  funding_source: {}
                  info_source: {}
                  allowed_sharing: {}
                  practice:
                    type: integer
                    example: 140758835265540
                    default: 0
                  patient:
                    type: integer
                    example: 140758844637185
                    default: 0
                  created_date:
                    type: string
                    example: '2022-06-29T13:00:59Z'
                  deleted_date: {}
                  dose_in_series: {}
                  priority_population: {}
                  ndc: {}
                  patient_consent: {}
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      x-readme:
        code-samples:
        - language: python
          code: "import requests\nimport json\n\naccess_token = \"TyEPKw8fVGRKpCBa81ygwjCLXDNIAm\"\nauth_header = \"Bearer %s\" % (access_token)\n\n# sending only required data\ndata = {\n    \"patient\": 140758844637185,\n    \"administered_date\": \"2021-09-22T17:01:00Z\",\n    \"administering_physician\": 720898,\n    \"ordering_physician\": 720898,\n    \"vaccine\": {\n        \"cvx\": 11\n    },\n    \"qty\": 25\n}\n\nresp = requests.post(\"https://sandbox.elationemr.com/api/2.0/immunizations/\",\n                     data=json.dumps(data),\n                     headers={'Authorization': auth_header,\n                              'Content-type': 'application/json'})\n\nprint resp.status_code\nprint json.dumps(json.loads(resp.content), indent=2)"
        samples-languages:
        - python
      tags:
      - Immunizations
      security:
      - sec0: []
    servers:
    - url: https://sandbox.elationemr.com/api/2.0
  /api/2.0/immunizations/:
    get:
      description: Returns a list of immunizations
      operationId: immunizations_list
      parameters:
      - description: Number of results to return per page.
        in: query
        name: limit
        required: false
        schema:
          type: integer
      - 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: patient
        schema:
          items:
            format: int64
            type: integer
          type: array
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPatientImmunizationList'
          description: ''
      security:
      - oauth2: []
      summary: List Immunizations
      tags:
      - Immunizations
      x-el8-docs-category: Patient Profile API
      x-el8-docs-versions:
      - '2.1'
      - '2.0'
    post:
      description: Create a new immunization.
      operationId: immunizations_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatientImmunization'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientImmunization'
          description: ''
      security:
      - oauth2: []
      summary: Create Immunization
      tags:
      - Immunizations
      x-el8-docs-category: Patient Profile 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/immunizations/{id}/:
    delete:
      description: Delete an existing immunization.
      operationId: immunizations_destroy
      parameters:
      - in: path
        name: id
        required: true
        schema:
          format: int64
          type: integer
      responses:
        '204':
          description: No response body
      security:
      - oauth2: []
      summary: Delete Immunization
      tags:
      - Immunizations
      x-el8-docs-category: Patient Profile API
      x-el8-docs-versions:
      - '2.1'
      - '2.0'
    get:
      description: Retrieve a single immunization
      operationId: immunizations_retrieve
      parameters:
      - in: path
        name: id
        required: true
        schema:
          format: int64
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientImmunization'
          description: ''
      security:
      - oauth2: []
      summary: Retrieve Immunization
      tags:
      - Immunizations
      x-el8-docs-category: Patient Profile 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:
    FundingSourceEnum:
      enum:
      - Privately funded vaccine stock
      - Publicly funded vaccine stock
      - Publicly funded vaccine stock - Non-VFC
      - Publicly funded vaccine stock - VFC
      type: string
    ImmunizationVaccine:
      properties:
        cdc_name:
          readOnly: true
          type:
          - string
          - 'null'
        cdc_type:
          readOnly: true
          type:
          - string
          - 'null'
        cvx:
          maximum: 2147483647
          minimum: -2147483648
          type:
          - integer
          - 'null'
        name:
          readOnly: true
          type: string
      type: object
    InfoSourceEnum:
      enum:
      - Historical information - from birth certificate
      - Historical information - from other provider
      - Historical information - from other registry
      - Historical information - from parent's recall
      - Historical information - from parent's written record
      - Historical information - from public agency
      - Historical information - from school record
      - Historical information - source unspecified
      - New immunization record
      type: string
    VfcEligibilityEnum:
      enum:
      - '317'
      - CA State General Fund Vaccines
      - CHIP
      - HI Adult Insured
      - HI Adult Not Insured
      - HI Birthing Hospital Hepatitis B
      - Local-specific eligibility
      - ME State Eligible - Insured - Under 19
      - Medicare
      - Not VFC eligible
      - OR Locally Owned
      - OR Special Projects
      - State program eligibility
      - VFC eligible - American Indian/Alaskan Native
      - VFC eligible - Medicaid/Medicaid Managed Care
      - VFC eligible - Under-insured
      - VFC eligible - Uninsured
      type: string
    PatientImmunization:
      properties:
        administered_date:
          format: date-time
          type: string
        administering_physician:
          format: int64
          type:
          - integer
          - 'null'
        allowed_sharing:
          description: Whether this immunization should be sent to Immunization Registry (true/false/null)
          type:
          - boolean
          - 'null'
        created_date:
          format: date-time
          readOnly: true
          type:
          - string
          - 'null'
        deleted_date:
          format: date-time
          readOnly: true
          type:
          - string
          - 'null'
        description:
          maxLength: 255
          type:
          - string
          - 'null'
        dose_in_series:
          maximum: 2147483647
          minimum: -2147483648
          type:
          - integer
          - 'null'
        expiration_date:
          format: date
          type:
          - string
          - 'null'
        funding_source:
          oneOf:
          - $ref: '#/components/schemas/FundingSourceEnum'
          - $ref: '#/components/schemas/NullEnum'
        id:
          readOnly: true
          type: integer
        info_source:
          oneOf:
          - $ref: '#/components/schemas/InfoSourceEnum'
          - $ref: '#/components/schemas/NullEnum'
        lot_number:
          maxLength: 255
          type:
          - string
          - 'null'
        manufacturer_code:
          maxLength: 255
          type:
          - string
          - 'null'
        manufacturer_name:
          maxLength: 255
          type:
          - string
          - 'null'
        method:
          maxLength: 255
          type:
          - string
          - 'null'
        ndc:
          description: Should be 10-11 digits, 2 dashes.
          maxLength: 31
          type:
          - string
          - 'null'
        notes:
          type:
          - string
          - 'null'
        ordering_physician:
          format: int64
          type:
          - integer
          - 'null'
        patient:
          format: int64
          type: integer
        patient_consent:
          type:
          - boolean
          - 'null'
        practice:
          format: int64
          type:
          - integer
          - 'null'
        priority_population:
          description: For Immunization Registry Integrations (less than 9 symbols).
          maxLength: 8
          type:
          - string
          - 'null'
        publicity_code:
          oneOf:
          - $ref: '#/components/schemas/PublicityCodeEnum'
          - $ref: '#/components/schemas/NullEnum'
        qty:
          type:
          - string
          - 'null'
        qty_units:
          maxLength: 100
          type:
          - string
          - 'null'
        reason:
          type:
          - string
          - 'null'
        service_location_id:
          format: int64
          type:
          - integer
          - 'null'
        site:
          maxLength: 255
          type:
          - string
          - 'null'
        vaccine:
          $ref: '#/components/schemas/ImmunizationVaccine'
        vfc_eligibility:
          oneOf:
          - $ref: '#/components/schemas/VfcEligibilityEnum'
          - $ref: '#/components/schemas/NullEnum'
        vis:
          type:
          - string
          - 'null'
        vis_given_date:
          format: date
          type:
          - string
          - 'null'
      required:
      - administered_date
      - administering_physician
      - ordering_physician
      - patient
      - qty
      - vaccine
      type: object
    NullEnum:
      type: 'null'
    PublicityCodeEnum:
      enum:
      - No reminder/recall
      - Only recall to provider, no reminder
      - Only reminder to provider, no recall
      - Recall only - any method
      - Recall only - no calls
      - Recall to provider
      - Reminder only - any method
      - Reminder only - no calls
      - Reminder to provider
      - Reminder/recall - any method
      - Reminder/recall - no calls
      - Reminder/recall - to provider
      type: string
    PaginatedPatientImmunizationList:
      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/PatientImmunization'
          type: array
      required:
      - results
      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
- elation-patient-profile-api.json
x-readme:
  headers: []
x-readme-fauxas: true