Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Elation Health

Scalekit connector
Open markdown

The Elation Health connector lets your AI agent act in each user's Elation Health account. Each user signs in to Elation Health once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 52 tools.

Tools
52
What they doRead · write · destructive
52 · 0 · 052 read0 write0 destructive
Users sign in with

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the Elation Health connection

    In AgentKit > Connections, create an Elation Health connection. The name you give it is the connection_name your code passes. See Configure connections.

    Console steps with screenshots

    Elation Health connections use SMART on FHIR and act as the signed-in clinician, through Elation’s FHIR R4 API. The tools read data only. The connection already has Elation’s production authorization and token endpoints, which are the same for every practice; you add the audience (aud), the FHIR server domain, and the client ID and secret of your Elation app.

    1. Create the connection and copy the redirect URI

      In the Scalekit dashboard, go to AgentKit > Connections > Create Connection, find Elation and click Create. Copy the Redirect URI.

    2. Register an app with Elation

      Register a confidential app with Elation for clinician sign-in, and note its client ID and client secret:

      • Add the redirect URI you copied.
      • Request refresh tokens (offline_access).
    3. Enter the values on the connection

      Back on the Elation connection, enter:

      • Client ID and Client Secret: from your Elation app.
      • Audience (aud): https://fhir.elationemr.com/fhir
      • FHIR Server Domain: fhir.elationemr.com/fhir

      Select openid (Elation requires it), fhirUser and offline_access, plus user/*.read or the resource scopes your agent needs, such as user/Patient.read. Elation uses SMART v1 scopes. Click Save.

      To test in Elation’s sandbox, replace the production values with these:

      FieldSandbox value
      Authorization Endpointhttps://sandbox.fhir.elationemr.com/smart/authorize
      Token Endpointhttps://sandbox.fhir.elationemr.com/smart/token
      Audience (aud)https://sandbox.fhir.elationemr.com/fhir
      FHIR Server Domainsandbox.fhir.elationemr.com/fhir

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • elation_allergy_intolerance_readGet one AllergyIntolerance resource from Elation by its ID.Read-only

    Get Allergy Or Intolerance

    Get one AllergyIntolerance resource from Elation by its ID. Returns the AllergyIntolerance with code (RxNorm or SNOMED CT substance), clinicalStatus, verificationStatus, category, criticality, reaction (manifestation and severity), onsetDateTime, recordedDate and patient reference. Use this to open one allergy by ID. Use elation_allergy_intolerance_search to list a patient's allergies.

    Inputs

    allergy_intolerance_idstringrequired
    Elation logical ID of the AllergyIntolerance resource (the id element, without the 'AllergyIntolerance/' prefix). Example: 12345.
  • elation_binary_readGet one Binary resource from Elation by its ID.Read-only

    Get Binary Resource

    Get one Binary resource from Elation by its ID. Returns the Binary with contentType and base64-encoded data (for example a note or report document). Use this to fetch the content behind a DocumentReference or DiagnosticReport attachment url that points to Binary/<id>.

    Inputs

    binary_idstringrequired
    Elation logical ID of the Binary resource (the id element, without the 'Binary/' prefix). Example: 12345.
  • elation_care_plan_readGet one CarePlan resource from Elation by its ID.Read-only

    Get Care Plan

    Get one CarePlan resource from Elation by its ID. Returns the CarePlan with category (assess-plan), status, intent, text narrative (the assessment and plan), period and patient reference. Use this to open one care plan by ID. Use elation_care_plan_search to list a patient's care plans.

    Inputs

    care_plan_idstringrequired
    Elation logical ID of the CarePlan resource (the id element, without the 'CarePlan/' prefix). Example: 12345.
  • elation_care_team_readGet one CareTeam resource from Elation by its ID.Read-only

    Get Care Team

    Get one CareTeam resource from Elation by its ID. Returns the CareTeam with status, name, participant (role and member references to Practitioner, PractitionerRole, RelatedPerson or Patient) and patient reference. Use this to open one care team by ID. Use elation_care_team_search to list a patient's care teams.

    Inputs

    care_team_idstringrequired
    Elation logical ID of the CareTeam resource (the id element, without the 'CareTeam/' prefix). Example: 12345.
  • elation_condition_readGet one Condition resource from Elation by its ID.Read-only

    Get Condition

    Get one Condition resource from Elation by its ID. Returns the Condition with code (SNOMED CT or ICD-10), category (problem-list-item, health-concern or encounter-diagnosis), clinicalStatus, verificationStatus, onset and abatement dates, recordedDate, encounter and patient references. Use this to open one problem or diagnosis by ID. Use elation_condition_search to list a patient's problems, health concerns or encounter diagnoses.

    Inputs

    condition_idstringrequired
    Elation logical ID of the Condition resource (the id element, without the 'Condition/' prefix). Example: 12345.