> **Building with AI coding agents?** Install the authstack plugin with one command. This equips your agent with accurate Scalekit implementation patterns.
>
> **Recommended** (the `-y` flags skip prompts, so the command runs without an interactive terminal):
> ```bash
> npx -y @scalekit-inc/cli setup -y
> ```
>
> Global:
> ```bash
> npm install -g @scalekit-inc/cli
> scalekit setup -y
> ```
>
> Supports Claude Code, Cursor, GitHub Copilot, Codex + skills for other Agent Skills-compatible agents in `~/.agents/skills`.
> Skills: integrate-agentkit, implement-saaskit, add-mcp-oauth, implement-sso, implement-scim.
> [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Connect AI agents to eClinicalWorks

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

**Authentication:** SMART On FHIR
**Categories:** Healthcare
**Tools:** 77: 55 read, 20 write, 2 destructive
**Users sign in with:** SMART on FHIR
**Built by:** Scalekit connector
**Try it:** [Playground in the Scalekit dashboard](https://app.scalekit.com/ws/signup?sk_intent=playground&provider=ECLINICALWORKS)

## Setup

1. ### Install the SDK

   **Node.js**

   ```bash
   npm install @scalekit-sdk/node dotenv
   ```

   **Python**

   ```bash
   pip install scalekit-sdk-python python-dotenv
   ```

2. ### Set your credentials

   Add your Scalekit credentials to your `.env` file. Find values in **[app.scalekit.com](https://app.scalekit.com)** > **Developers** > **API Credentials**.

   ```sh title=".env"
   SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
   SCALEKIT_CLIENT_ID=<your-client-id>
   SCALEKIT_CLIENT_SECRET=<your-client-secret>
   ```

3. ### Create the eClinicalWorks connection

   In **AgentKit > Connections**, create an eClinicalWorks connection. The name you give it is the `connection_name` your code passes. See [Configure connections](/agentkit/connections/).

   **Console steps with screenshots:**

   eClinicalWorks connections use SMART on FHIR and act as the signed-in clinician. Each eClinicalWorks practice has its own FHIR base URL, so each connection carries that practice's authorization endpoint, token endpoint, audience (`aud`) and FHIR server domain, plus the client ID and secret of your eClinicalWorks app.

   1. ### Create the connection and copy the redirect URI

      In the [Scalekit dashboard](https://app.scalekit.com), go to **AgentKit** > **Connections** > **Create Connection**, find **eClinicalWorks** and click **Create**. Copy the **Redirect URI**.

   2. ### Register a provider app with eClinicalWorks

      Register a confidential provider app with eClinicalWorks, and note its client ID and client secret:

      - Add the redirect URI exactly as you copied it, including any trailing slash. eClinicalWorks accepts only the exact registered URI.
      - Request refresh tokens (`offline_access`).

      eClinicalWorks FHIR Support provides sandbox logins and a sandbox practice code. Tools that create, update or delete records need a signed write agreement with eClinicalWorks.

   3. ### Find the practice's endpoints

      Each practice has its own FHIR base URL, which is also its issuer, such as `https://fhir4.eclinicalworks.com/fhir/r4/<practice-code>`. Open `<FHIR base>/metadata?_format=json` and copy the authorization and token URLs it lists.

   4. ### Enter the values on the connection

      Back on the eClinicalWorks connection, enter:

      - **Client ID** and **Client Secret**: from your eClinicalWorks app.
      - **Authorization Endpoint** and **Token Endpoint**: from the practice's `/metadata`.
      - **Audience (aud)**: the practice's full FHIR base URL.
      - **FHIR Server Domain**: the FHIR base without `https://`, including its path, such as `fhir4.eclinicalworks.com/fhir/r4/<practice-code>`.

      Select `openid`, `fhirUser` and `offline_access`, plus the resource scopes your agent needs. Click **Save**.

      For the example practice in eClinicalWorks' documentation, the values are below. Replace `JAFJCD` with your sandbox practice code, and read that practice's `/metadata` to confirm the endpoints.

      | Field                  | Value                                                          |
      | ---------------------- | -------------------------------------------------------------- |
      | Authorization Endpoint | `https://oauthserver.eclinicalworks.com/oauth/oauth2/authorize` |
      | Token Endpoint         | `https://oauthserver.eclinicalworks.com/oauth/oauth2/token`     |
      | Audience (aud)         | `https://fhir4.eclinicalworks.com/fhir/r4/JAFJCD`               |
      | FHIR Server Domain     | `fhir4.eclinicalworks.com/fhir/r4/JAFJCD`                       |

   > caution: Each practice activates your app
   >
   > Your app must be activated for each practice before its clinicians can sign in. Until it is, the authorization request returns `400`.

## Tools

Pass the exact name to `execute_tool`, with an input like each tool's example. To ask for a tool that's missing, use the [request form](https://scalekitsupport.portal.usepylon.com/forms/request-a-connector-tool).

**Node.js**

```typescript
const result = await actions.executeTool({
  toolName: 'eclinicalworks_allergy_intolerance_read',
  toolInput: {
    allergy_intolerance_id: '<allergy_intolerance_id>',
  },
  connector: 'eclinicalworks',
  identifier: 'user_123',
})
```

**Python**

```python
result = actions.execute_tool(
    tool_name="eclinicalworks_allergy_intolerance_read",
    tool_input={
        "allergy_intolerance_id": "<allergy_intolerance_id>",
    },
    connection_name="eclinicalworks",
    identifier="user_123",
)
```

`result.data` is the app's response as JSON, and `result.execution_id` (`executionId` in Node.js) is the ID of the call.

### `eclinicalworks_allergy_intolerance_read`

Get Allergy Intolerance · Read-only

Get one AllergyIntolerance resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the AllergyIntolerance with substance code, clinical status, criticality, reactions and onset. Use eclinicalworks_allergy_intolerance_search to find allergy intolerance records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `allergy_intolerance_id` (`string`, required): FHIR logical ID of the Allergy Intolerance (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"allergy_intolerance_id":"<allergy_intolerance_id>"}`

### `eclinicalworks_allergy_intolerance_search`

Search Allergy Intolerances · Read-only

Search AllergyIntolerance resources in the practice's eClinicalWorks chart. Returns a FHIR searchset Bundle of AllergyIntolerance resources with substance code, clinical status, criticality, reactions and onset. Use eclinicalworks_allergy_intolerance_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `patient` (`string`, required): FHIR logical ID of the patient whose AllergyIntolerance records to return. eCW requires it on every AllergyIntolerance search. Example: 12345.
- `clinical_status` (`string`, optional): Allergy clinical status. One of: active, inactive, resolved. One of: `active`, `inactive`, `resolved`.
- `encounter` (`string`, optional): Only return records linked to this encounter (FHIR ID of the Encounter). Example: 67890.

Example input: `{"patient":"<patient>"}`

### `eclinicalworks_binary_read`

Get Binary · Read-only

Get one Binary resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the Binary with content type and base64 `data` of the document (C-CDA XML or a PDF report). Use it when another resource references this one by ID; eCW offers no search for this resource type. Use it to download the content that a DocumentReference or DiagnosticReport points to.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `binary_id` (`string`, required): FHIR logical ID of the Binary (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"binary_id":"<binary_id>"}`

### `eclinicalworks_care_plan_read`

Get Care Plan · Read-only

Get one CarePlan resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the CarePlan with category, status, intent, period and plan activities (upcoming appointments and pending orders). Use eclinicalworks_care_plan_search to find care plan records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `care_plan_id` (`string`, required): FHIR logical ID of the Care Plan (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"care_plan_id":"<care_plan_id>"}`

### `eclinicalworks_care_plan_search`

Search Care Plans · Read-only

Search CarePlan resources in the practice's eClinicalWorks chart. Returns a FHIR searchset Bundle of CarePlan resources with category, status, intent, period and plan activities (upcoming appointments and pending orders). Use eclinicalworks_care_plan_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `patient` (`string`, required): FHIR logical ID of the patient whose CarePlan records to return. eCW requires it on every CarePlan search. Example: 12345.
- `category` (`string`, optional): Care plan category. eCW documents assess-plan.
- `encounter` (`string`, optional): Only return records linked to this encounter (FHIR ID of the Encounter). Example: 67890.

Example input: `{"patient":"<patient>"}`

### `eclinicalworks_care_team_read`

Get Care Team · Read-only

Get one CareTeam resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the CareTeam with status and participants with their roles. Use eclinicalworks_care_team_search to find care team records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `care_team_id` (`string`, required): FHIR logical ID of the Care Team (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"care_team_id":"<care_team_id>"}`

### `eclinicalworks_care_team_search`

Search Care Teams · Read-only

Search CareTeam resources in the practice's eClinicalWorks chart. Returns a FHIR searchset Bundle of CareTeam resources with status and participants with their roles. Use eclinicalworks_care_team_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `patient` (`string`, required): FHIR logical ID of the patient whose CareTeam records to return. eCW requires it on every CareTeam search. Example: 12345.
- `status` (`string`, optional): Only return records with this status. One of: active, proposed, suspended, inactive, entered-in-error. One of: `active`, `proposed`, `suspended`, `inactive`, `entered-in-error`.

Example input: `{"patient":"<patient>"}`

### `eclinicalworks_condition_read`

Get Condition · Read-only

Get one Condition resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the Condition with category (problem list, encounter diagnosis or health concern), ICD-10/SNOMED code, clinical and verification status and onset. Use eclinicalworks_condition_search to find condition records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `condition_id` (`string`, required): FHIR logical ID of the Condition (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"condition_id":"<condition_id>"}`

### `eclinicalworks_condition_search`

Search Conditions · Read-only

Search Condition resources in the practice's eClinicalWorks chart. Returns a FHIR searchset Bundle of Condition resources with category (problem list, encounter diagnosis or health concern), ICD-10/SNOMED code, clinical and verification status and onset. Use eclinicalworks_condition_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `patient` (`string`, required): FHIR logical ID of the patient whose Condition records to return. eCW requires it on every Condition search. Example: 12345.
- `category` (`string`, optional): Condition category: problem-list-item (problem list), encounter-diagnosis (assessments) or health-concern. One of: `problem-list-item`, `encounter-diagnosis`, `health-concern`.
- `encounter` (`string`, optional): Only return records linked to this encounter (FHIR ID of the Encounter). Example: 67890.
- `onset_date` (`string`, optional): Filter on the condition onset date. A date (YYYY-MM-DD) or date-time, optionally prefixed with a comparison: ge, le, gt, lt or eq. Example: ge2024-01-01 for on or after 1 Jan 2024. Only one value is accepted.

Example input: `{"patient":"<patient>"}`

### `eclinicalworks_coverage_read`

Get Coverage · Read-only

Get one Coverage resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the Coverage with insurance status, type, subscriber, beneficiary, relationship, payor, period, class (group) and order. Use eclinicalworks_coverage_search to find coverage records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `coverage_id` (`string`, required): FHIR logical ID of the Coverage (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"coverage_id":"<coverage_id>"}`

### `eclinicalworks_coverage_search`

Search Coverages · Read-only

Search Coverage resources in the practice's eClinicalWorks chart. Returns a FHIR searchset Bundle of Coverage resources with insurance status, type, subscriber, beneficiary, relationship, payor, period, class (group) and order. Use eclinicalworks_coverage_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `patient` (`string`, required): FHIR logical ID of the patient whose Coverage records to return. eCW requires it on every Coverage search. Example: 12345.

Example input: `{"patient":"<patient>"}`

### `eclinicalworks_device_read`

Get Device · Read-only

Get one Device resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the Device with implantable device type, UDI and status. Use eclinicalworks_device_search to find device records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `device_id` (`string`, required): FHIR logical ID of the Device (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"device_id":"<device_id>"}`

### `eclinicalworks_device_search`

Search Devices · Read-only

Search Device resources in the practice's eClinicalWorks chart. Returns a FHIR searchset Bundle of Device resources with implantable device type, UDI and status. Use eclinicalworks_device_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `patient` (`string`, required): FHIR logical ID of the patient whose Device records to return. eCW requires it on every Device search. Example: 12345.
- `encounter` (`string`, optional): Only return records linked to this encounter (FHIR ID of the Encounter). Example: 67890.
- `type` (`string`, optional): SNOMED device type code. Example: 468063009.

Example input: `{"patient":"<patient>"}`

### `eclinicalworks_diagnostic_report_read`

Get Diagnostic Report · Read-only

Get one DiagnosticReport resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the DiagnosticReport with category, code, status, effective date, result references and presented form. Use eclinicalworks_diagnostic_report_search to find diagnostic report records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `diagnostic_report_id` (`string`, required): FHIR logical ID of the Diagnostic Report (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"diagnostic_report_id":"<diagnostic_report_id>"}`

### `eclinicalworks_diagnostic_report_search`

Search Diagnostic Reports · Read-only

Search DiagnosticReport resources in the practice's eClinicalWorks chart. Returns a FHIR searchset Bundle of DiagnosticReport resources with category, code, status, effective date, result references and presented form. Use eclinicalworks_diagnostic_report_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `patient` (`string`, required): FHIR logical ID of the patient whose DiagnosticReport records to return. eCW requires it on every DiagnosticReport search. Example: 12345.
- `category` (`string`, optional): Report category: LAB for laboratory results, or a LOINC category code such as LP29684-5 (radiology) for report and note exchange.
- `code` (`string`, optional): LOINC code(s) of the report, comma-separated. Example: 24323-8.
- `date` (`string`, optional): Filter on the report date. A date (YYYY-MM-DD) or date-time, optionally prefixed with a comparison: ge, le, gt, lt or eq. Example: ge2024-01-01 for on or after 1 Jan 2024. Only one value is accepted.
- `encounter` (`string`, optional): Only return records linked to this encounter (FHIR ID of the Encounter). Example: 67890.
- `status` (`string`, optional): Report status, comma-separated, for example final or completed.

Example input: `{"patient":"<patient>"}`

### `eclinicalworks_document_reference_read`

Get Document Reference · Read-only

Get one DocumentReference resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the DocumentReference with type, category, date, author, encounter context and attachment (inline data or a Binary URL). Use eclinicalworks_document_reference_search to find document reference records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `document_reference_id` (`string`, required): FHIR logical ID of the Document Reference (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"document_reference_id":"<document_reference_id>"}`

### `eclinicalworks_document_reference_search`

Search Document References · Read-only

Search DocumentReference resources in the practice's eClinicalWorks chart. To get the file itself, read the Binary URL in the attachment with eclinicalworks_binary_read. Returns a FHIR searchset Bundle of DocumentReference resources with type, category, date, author, encounter context and attachment (inline data or a Binary URL). Use eclinicalworks_document_reference_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `patient` (`string`, required): FHIR logical ID of the patient whose DocumentReference records to return. eCW requires it on every DocumentReference search. Example: 12345.
- `category` (`string`, optional): Document category, for example clinical-note.
- `contenttype` (`string`, optional): Content type of the document, for example urn:ihe:iti:xds-sd:pdf:2008 for a progress note PDF (use with type 11506-3 and encounter).
- `date` (`string`, optional): Filter on the document date. A date (YYYY-MM-DD) or date-time, optionally prefixed with a comparison: ge, le, gt, lt or eq. Example: ge2024-01-01 for on or after 1 Jan 2024. Only one value is accepted.
- `encounter` (`string`, optional): Only return records linked to this encounter (FHIR ID of the Encounter). Example: 67890.
- `type` (`string`, optional): LOINC document type. Examples: 34133-9 (C-CDA summary), 11506-3 (progress note), 64290-0 / 53245-7 (insurance card / ID), 103140-0 (patient documents).

Example input: `{"patient":"<patient>"}`

### `eclinicalworks_encounter_read`

Get Encounter · Read-only

Get one Encounter resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the Encounter with visit status, class, type, period, participants, location and reason. Use eclinicalworks_encounter_search to find encounter records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `encounter_id` (`string`, required): FHIR logical ID of the Encounter (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"encounter_id":"<encounter_id>"}`

### `eclinicalworks_encounter_search`

Search Encounters · Read-only

Search Encounter resources in the practice's eClinicalWorks chart. Pass a patient (optionally with date), or a practitioner with date (optionally with location) to list a provider's schedule. Returns a FHIR searchset Bundle of Encounter resources with visit status, class, type, period, participants, location and reason. Use eclinicalworks_encounter_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `date` (`string`, optional): Filter on the encounter date. A date (YYYY-MM-DD) or date-time, optionally prefixed with a comparison: ge, le, gt, lt or eq. Example: ge2024-01-01 for on or after 1 Jan 2024. Only one value is accepted.
- `location` (`string`, optional): FHIR ID of the location (facility) of the encounter. Use with practitioner and date. Example: 13579.
- `patient` (`string`, optional): FHIR ID of the patient whose encounters to return. Example: 12345.
- `practitioner` (`string`, optional): FHIR ID of a practitioner taking part in the encounter. Use with date. Example: 24680.

Example input: `{}`

### `eclinicalworks_family_member_history_read`

Get Family Member History · Read-only

Get one FamilyMemberHistory resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the FamilyMemberHistory with relationship, status and conditions of the family member. Use eclinicalworks_family_member_history_search to find family member history records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `family_member_history_id` (`string`, required): FHIR logical ID of the Family Member History (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"family_member_history_id":"<family_member_history_id>"}`

### `eclinicalworks_family_member_history_search`

Search Family Member Histories · Read-only

Search FamilyMemberHistory resources in the practice's eClinicalWorks chart. Returns a FHIR searchset Bundle of FamilyMemberHistory resources with relationship, status and conditions of the family member. Use eclinicalworks_family_member_history_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `patient` (`string`, required): FHIR logical ID of the patient whose FamilyMemberHistory records to return. eCW requires it on every FamilyMemberHistory search. Example: 12345.

Example input: `{"patient":"<patient>"}`

### `eclinicalworks_goal_read`

Get Goal · Read-only

Get one Goal resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the Goal with lifecycle status, description, targets and start date. Use eclinicalworks_goal_search to find goal records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `goal_id` (`string`, required): FHIR logical ID of the Goal (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"goal_id":"<goal_id>"}`

### `eclinicalworks_goal_search`

Search Goals · Read-only

Search Goal resources in the practice's eClinicalWorks chart. Returns a FHIR searchset Bundle of Goal resources with lifecycle status, description, targets and start date. Use eclinicalworks_goal_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `patient` (`string`, required): FHIR logical ID of the patient whose Goal records to return. eCW requires it on every Goal search. Example: 12345.
- `encounter` (`string`, optional): Only return records linked to this encounter (FHIR ID of the Encounter). Example: 67890.

Example input: `{"patient":"<patient>"}`

### `eclinicalworks_immunization_read`

Get Immunization · Read-only

Get one Immunization resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the Immunization with CVX vaccine code, status, occurrence date, lot, site, route, dose and performer. Use eclinicalworks_immunization_search to find immunization records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `immunization_id` (`string`, required): FHIR logical ID of the Immunization (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"immunization_id":"<immunization_id>"}`

### `eclinicalworks_immunization_search`

Search Immunizations · Read-only

Search Immunization resources in the practice's eClinicalWorks chart. Returns a FHIR searchset Bundle of Immunization resources with CVX vaccine code, status, occurrence date, lot, site, route, dose and performer. Use eclinicalworks_immunization_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `patient` (`string`, required): FHIR logical ID of the patient whose Immunization records to return. eCW requires it on every Immunization search. Example: 12345.
- `date` (`string`, optional): Filter on the vaccination date. A date (YYYY-MM-DD) or date-time, optionally prefixed with a comparison: ge, le, gt, lt or eq. Example: ge2024-01-01 for on or after 1 Jan 2024. Only one value is accepted.
- `encounter` (`string`, optional): Only return records linked to this encounter (FHIR ID of the Encounter). Example: 67890.
- `status` (`string`, optional): Only return records with this status. One of: completed, entered-in-error, not-done. One of: `completed`, `entered-in-error`, `not-done`.

Example input: `{"patient":"<patient>"}`

### `eclinicalworks_location_read`

Get Location · Read-only

Get one Location resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the Location with facility name, address, telecom and managing organization. Use eclinicalworks_location_search to find location records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `location_id` (`string`, required): FHIR logical ID of the Location (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"location_id":"<location_id>"}`

### `eclinicalworks_location_search`

Search Locations · Read-only

Search Location resources in the practice's eClinicalWorks chart. Leave both inputs empty to list all facilities. Returns a FHIR searchset Bundle of Location resources with facility name, address, telecom and managing organization. Use eclinicalworks_location_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `address` (`string`, optional): Match facilities whose address contains this text. Example: Main Street.
- `name` (`string`, optional): Match facilities whose name contains this text. Example: Health.

Example input: `{}`

### `eclinicalworks_medication_administration_read`

Get Medication Administration · Read-only

Get one MedicationAdministration resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the MedicationAdministration with medication, status, effective time, dosage and encounter context. Use eclinicalworks_medication_administration_search to find medication administration records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `medication_administration_id` (`string`, required): FHIR logical ID of the Medication Administration (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"medication_administration_id":"<medication_administration_id>"}`

### `eclinicalworks_medication_administration_search`

Search Medication Administrations · Read-only

Search MedicationAdministration resources in the practice's eClinicalWorks chart. Returns a FHIR searchset Bundle of MedicationAdministration resources with medication, status, effective time, dosage and encounter context. Use eclinicalworks_medication_administration_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `patient` (`string`, required): FHIR logical ID of the patient whose MedicationAdministration records to return. eCW requires it on every MedicationAdministration search. Example: 12345.
- `context` (`string`, optional): FHIR ID of the encounter where the medication (for example a therapeutic injection) was given. Example: 67890.
- `status` (`string`, optional): Administration status, for example completed.

Example input: `{"patient":"<patient>"}`

### `eclinicalworks_medication_dispense_read`

Get Medication Dispense · Read-only

Get one MedicationDispense resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the MedicationDispense with medication, quantity, days supply, status and dispense dates. Use eclinicalworks_medication_dispense_search to find medication dispense records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `medication_dispense_id` (`string`, required): FHIR logical ID of the Medication Dispense (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"medication_dispense_id":"<medication_dispense_id>"}`

### `eclinicalworks_medication_dispense_search`

Search Medication Dispenses · Read-only

Search MedicationDispense resources in the practice's eClinicalWorks chart. Returns a FHIR searchset Bundle of MedicationDispense resources with medication, quantity, days supply, status and dispense dates. Use eclinicalworks_medication_dispense_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `patient` (`string`, required): FHIR logical ID of the patient whose MedicationDispense records to return. eCW requires it on every MedicationDispense search. Example: 12345.
- `include_medication` (`string`, optional): Set to MedicationDispense:medication to also return the referenced Medication resources. One of: `MedicationDispense:medication`.

Example input: `{"patient":"<patient>"}`

### `eclinicalworks_medication_read`

Get Medication · Read-only

Get one Medication resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the Medication with medication code (RxNorm/NDC), name, form and ingredients. Use it when another resource references this one by ID; eCW offers no search for this resource type.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `medication_id` (`string`, required): FHIR logical ID of the Medication (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"medication_id":"<medication_id>"}`

### `eclinicalworks_medication_request_read`

Get Medication Request · Read-only

Get one MedicationRequest resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the MedicationRequest with medication, status, intent, dosage instructions, dispense request, requester and authored date. Use eclinicalworks_medication_request_search to find medication request records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `medication_request_id` (`string`, required): FHIR logical ID of the Medication Request (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"medication_request_id":"<medication_request_id>"}`

### `eclinicalworks_medication_request_search`

Search Medication Requests · Read-only

Search MedicationRequest resources in the practice's eClinicalWorks chart. Returns a FHIR searchset Bundle of MedicationRequest resources with medication, status, intent, dosage instructions, dispense request, requester and authored date. Use eclinicalworks_medication_request_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `patient` (`string`, required): FHIR logical ID of the patient whose MedicationRequest records to return. eCW requires it on every MedicationRequest search. Example: 12345.
- `authoredon` (`string`, optional): Filter on the date the prescription was written. A date (YYYY-MM-DD) or date-time, optionally prefixed with a comparison: ge, le, gt, lt or eq. Example: ge2024-01-01 for on or after 1 Jan 2024. Only one value is accepted.
- `encounter` (`string`, optional): Only return records linked to this encounter (FHIR ID of the Encounter). Example: 67890.
- `include_medication` (`string`, optional): Set to MedicationRequest:medication to also return the referenced Medication resources in the same Bundle. One of: `MedicationRequest:medication`.
- `intended_dispenser` (`string`, optional): FHIR ID of the pharmacy (Organization) the prescription was sent to. Use with patient and encounter. Example: 11223.
- `intent` (`string`, optional): Request intent. eCW documents intent=order for the medication list; send order unless you need another intent. One of: `order`, `plan`, `proposal`.
- `status` (`string`, optional): Medication request status, comma-separated, for example active or active,completed.

Example input: `{"patient":"<patient>"}`

### `eclinicalworks_next_page`

Get Next Page of Search Results · Read-only

Fetch the next page of results from a previous eClinicalWorks search tool by following the Bundle's `next` link. Returns the next searchset Bundle; when it has no `next` link, it is the last page.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `next_page_path` (`string`, required): The part of the previous Bundle's `link` entry with relation `next` that comes after the practice's FHIR base address (https://<host>/fhir/r4/<practice code>/), starting with the resource type, with no leading slash. Pass it exactly as returned, query string included. Example: for the next link https://fhir4.eclinicalworks.com/fhir/r4/JAFJCD/Observation?patient=12345&category=vital-signs&page=2 pass Observation?patient=12345&category=vital-signs&page=2 (keep whatever page value eCW returned).

Example input: `{"next_page_path":"<next_page_path>"}`

### `eclinicalworks_observation_read`

Get Observation · Read-only

Get one Observation resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the Observation with category, LOINC code, value or components, status, effective date and performer. Use eclinicalworks_observation_search to find observation records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `observation_id` (`string`, required): FHIR logical ID of the Observation (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"observation_id":"<observation_id>"}`

### `eclinicalworks_observation_search`

Search Observations · Read-only

Search Observation resources in the practice's eClinicalWorks chart. Pass a category or a code with the patient; eCW does not return all observations for a patient at once. Returns a FHIR searchset Bundle of Observation resources with category, LOINC code, value or components, status, effective date and performer. Use eclinicalworks_observation_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `patient` (`string`, required): FHIR logical ID of the patient whose Observation records to return. eCW requires it on every Observation search. Example: 12345.
- `category` (`string`, optional): Observation category: vital-signs, laboratory, social-history (smoking, pregnancy, occupation, sexual orientation), survey (screening assessments), sdoh, exam, imaging or obstetrics-gynecology. One of: `vital-signs`, `laboratory`, `social-history`, `survey`, `sdoh`, `exam`, `imaging`, `obstetrics-gynecology`.
- `code` (`string`, optional): LOINC code(s) of the observation, comma-separated, optionally as system|code. Example: 8867-4 (heart rate) or 2339-0,2514-8.
- `date` (`string`, optional): Filter on the observation date. A date (YYYY-MM-DD) or date-time, optionally prefixed with a comparison: ge, le, gt, lt or eq. Example: ge2024-01-01 for on or after 1 Jan 2024. Only one value is accepted.
- `encounter` (`string`, optional): Only return records linked to this encounter (FHIR ID of the Encounter). Example: 67890.
- `status` (`string`, optional): Observation status, for example final or preliminary.

Example input: `{"patient":"<patient>"}`

### `eclinicalworks_organization_read`

Get Organization · Read-only

Get one Organization resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the Organization with name, type, identifiers, address and telecom. Use eclinicalworks_organization_search to find organization records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `organization_id` (`string`, required): FHIR logical ID of the Organization (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"organization_id":"<organization_id>"}`

### `eclinicalworks_organization_search`

Search Organizations · Read-only

Search Organization resources in the practice's eClinicalWorks chart. To list a patient's pharmacies, pass type=other, organization_extension_reference=Patient/<id> and organization_extension_url=http://eclinicalworks.com/supportingInfo/pharmacy. Returns a FHIR searchset Bundle of Organization resources with name, type, identifiers, address and telecom. Use eclinicalworks_organization_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `address` (`string`, optional): Match organizations whose address contains this text.
- `address_postalcode` (`string`, optional): Postal code of the organization. Example: 02139.
- `name` (`string`, optional): Match organizations whose name contains this text. Example: Pharmacy.
- `organization_extension_reference` (`string`, optional): Reference to a patient, as Patient/<FHIR ID>, to list that patient's pharmacies. Use with type=other and organization_extension_url. Example: Patient/12345.
- `organization_extension_url` (`string`, optional): Extension URL that links organizations to a patient. For the patient's pharmacies use http://eclinicalworks.com/supportingInfo/pharmacy.
- `type` (`string`, optional): Organization type, for example pay (payors), other (pharmacies, labs, vaccine manufacturers) or prov.

Example input: `{}`

### `eclinicalworks_patient_everything`

Get Patient Everything · Read-only

Run the FHIR $everything operation on a patient in eClinicalWorks. Returns a Bundle with the patient and the clinical resources linked to them. Use it for a whole-chart snapshot; use the per-resource search tools for filtered queries. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `patient_id` (`string`, required): FHIR logical ID of the Patient (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"patient_id":"<patient_id>"}`

### `eclinicalworks_patient_read`

Get Patient · Read-only

Get one Patient resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the Patient with demographics: name, identifiers (FHIR id as `usual`, eCW account number as `secondary`), gender, birth date, telecom, address, contacts, race/ethnicity and communication preferences. Use eclinicalworks_patient_search to find patient records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `patient_id` (`string`, required): FHIR logical ID of the Patient (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"patient_id":"<patient_id>"}`

### `eclinicalworks_patient_search`

Search Patients · Read-only

Search Patient resources in the practice's eClinicalWorks chart. eCW supports these combinations: name; name with birthdate or gender; family with birthdate or gender; identifier; identifier with birthdate (account number); family, given and phone; family, given and birthdate (optionally gender); birthdate and phone. Returns a FHIR searchset Bundle of Patient resources with demographics: name, identifiers (FHIR id as `usual`, eCW account number as `secondary`), gender, birth date, telecom, address, contacts, race/ethnicity and communication preferences. Use eclinicalworks_patient_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `birthdate` (`string`, optional): Patient's date of birth in YYYY-MM-DD format (the only format eCW accepts). Example: 1980-01-01.
- `family` (`string`, optional): Match patients whose last name starts with this text. Example: Smith.
- `gender` (`string`, optional): Administrative gender. One of: male, female, unknown. One of: `male`, `female`, `unknown`.
- `given` (`string`, optional): Match patients whose first name starts with this text. Example: Alex.
- `identifier` (`string`, optional): Patient identifier. On its own it matches the usual identifier (the patient's FHIR ID); combined with birthdate it matches the eCW account number (MRN). Example: 12345.
- `name` (`string`, optional): Match patients whose given or family name starts with this text. Example: Smith.
- `phone` (`string`, optional): Patient phone number, up to 10 digits; matches home, work and cell numbers. Example: 5555550100.

Example input: `{}`

### `eclinicalworks_practitioner_read`

Get Practitioner · Read-only

Get one Practitioner resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the Practitioner with provider name, identifiers (such as NPI), telecom and address. Use eclinicalworks_practitioner_search to find practitioner records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `practitioner_id` (`string`, required): FHIR logical ID of the Practitioner (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"practitioner_id":"<practitioner_id>"}`

### `eclinicalworks_practitioner_role_read`

Get Practitioner Role · Read-only

Get one PractitionerRole resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the PractitionerRole with practitioner, organization, role, specialty and locations. Use eclinicalworks_practitioner_role_search to find practitioner role records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `practitioner_role_id` (`string`, required): FHIR logical ID of the Practitioner Role (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"practitioner_role_id":"<practitioner_role_id>"}`

### `eclinicalworks_practitioner_role_search`

Search Practitioner Roles · Read-only

Search PractitionerRole resources in the practice's eClinicalWorks chart. Returns a FHIR searchset Bundle of PractitionerRole resources with practitioner, organization, role, specialty and locations. Use eclinicalworks_practitioner_role_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `location` (`string`, optional): FHIR ID of a location where the practitioner works. Example: 13579.
- `name` (`string`, optional): Match roles whose practitioner name starts with this text.
- `practitioner` (`string`, optional): FHIR ID of the practitioner. Example: 24680.
- `role` (`string`, optional): Role code of the practitioner. Example: 12434.
- `specialty` (`string`, optional): Specialty code (NUCC taxonomy). Example: 207Q00000X.

Example input: `{}`

### `eclinicalworks_practitioner_search`

Search Practitioners · Read-only

Search Practitioner resources in the practice's eClinicalWorks chart. Returns a FHIR searchset Bundle of Practitioner resources with provider name, identifiers (such as NPI), telecom and address. Use eclinicalworks_practitioner_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `identifier` (`string`, optional): Practitioner identifier, for example an NPI, optionally as system|value. Example: http://hl7.org/fhir/sid/us-npi|1234567890.
- `name` (`string`, optional): Match practitioners whose name starts with this text. Example: Smith.

Example input: `{}`

### `eclinicalworks_procedure_read`

Get Procedure · Read-only

Get one Procedure resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the Procedure with procedure code, status, performed date and encounter. Use eclinicalworks_procedure_search to find procedure records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `procedure_id` (`string`, required): FHIR logical ID of the Procedure (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"procedure_id":"<procedure_id>"}`

### `eclinicalworks_procedure_search`

Search Procedures · Read-only

Search Procedure resources in the practice's eClinicalWorks chart. Returns a FHIR searchset Bundle of Procedure resources with procedure code, status, performed date and encounter. Use eclinicalworks_procedure_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `patient` (`string`, required): FHIR logical ID of the patient whose Procedure records to return. eCW requires it on every Procedure search. Example: 12345.
- `code` (`string`, optional): Procedure code(s) (CPT or SNOMED), comma-separated. Example: 99213.
- `date` (`string`, optional): Filter on the date the procedure was performed. A date (YYYY-MM-DD) or date-time, optionally prefixed with a comparison: ge, le, gt, lt or eq. Example: ge2024-01-01 for on or after 1 Jan 2024. Only one value is accepted.
- `encounter` (`string`, optional): Only return records linked to this encounter (FHIR ID of the Encounter). Example: 67890.
- `status` (`string`, optional): Procedure status, comma-separated, for example completed.

Example input: `{"patient":"<patient>"}`

### `eclinicalworks_questionnaire_read`

Get Questionnaire · Read-only

Get one Questionnaire resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the Questionnaire with title, status and question items. Use it when another resource references this one by ID; eCW offers no search for this resource type.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `questionnaire_id` (`string`, required): FHIR logical ID of the Questionnaire (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"questionnaire_id":"<questionnaire_id>"}`

### `eclinicalworks_questionnaire_response_read`

Get Questionnaire Response · Read-only

Get one QuestionnaireResponse resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the QuestionnaireResponse with questionnaire, status, authored date and answers. Use eclinicalworks_questionnaire_response_search to find questionnaire response records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `questionnaire_response_id` (`string`, required): FHIR logical ID of the Questionnaire Response (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"questionnaire_response_id":"<questionnaire_response_id>"}`

### `eclinicalworks_questionnaire_response_search`

Search Questionnaire Responses · Read-only

Search QuestionnaireResponse resources in the practice's eClinicalWorks chart. Returns a FHIR searchset Bundle of QuestionnaireResponse resources with questionnaire, status, authored date and answers. Use eclinicalworks_questionnaire_response_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `patient` (`string`, required): FHIR logical ID of the patient whose QuestionnaireResponse records to return. eCW requires it on every QuestionnaireResponse search. Example: 12345.
- `authored` (`string`, optional): Filter on the date the response was authored. A date (YYYY-MM-DD) or date-time, optionally prefixed with a comparison: ge, le, gt, lt or eq. Example: ge2024-01-01 for on or after 1 Jan 2024. Only one value is accepted.
- `status` (`string`, optional): Response status, for example completed.

Example input: `{"patient":"<patient>"}`

### `eclinicalworks_related_person_read`

Get Related Person · Read-only

Get one RelatedPerson resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the RelatedPerson with relationship to the patient, name, telecom and address. Use it when another resource references this one by ID; eCW offers no search for this resource type.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `related_person_id` (`string`, required): FHIR logical ID of the Related Person (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"related_person_id":"<related_person_id>"}`

### `eclinicalworks_service_request_read`

Get Service Request · Read-only

Get one ServiceRequest resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the ServiceRequest with category, code, status, intent, authored date, occurrence, requester and notes. Use eclinicalworks_service_request_search to find service request records when you do not have the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `service_request_id` (`string`, required): FHIR logical ID of the Service Request (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"service_request_id":"<service_request_id>"}`

### `eclinicalworks_service_request_search`

Search Service Requests · Read-only

Search ServiceRequest resources in the practice's eClinicalWorks chart. Returns a FHIR searchset Bundle of ServiceRequest resources with category, code, status, intent, authored date, occurrence, requester and notes. Use eclinicalworks_service_request_read when you already have the ID. If the result has a `next` link, use `eclinicalworks_next_page` to get more.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `patient` (`string`, required): FHIR logical ID of the patient whose ServiceRequest records to return. eCW requires it on every ServiceRequest search. Example: 12345.
- `authored` (`string`, optional): Filter on the date the order was signed. A date (YYYY-MM-DD) or date-time, optionally prefixed with a comparison: ge, le, gt, lt or eq. Example: ge2024-01-01 for on or after 1 Jan 2024. Only one value is accepted.
- `category` (`string`, optional): Order category code, for example 108252007 (lab), 363679005 (imaging), 387713003 (procedure), 3457005 (referral) or sdoh.
- `code` (`string`, optional): Order code(s) (LOINC or CPT), comma-separated, optionally as system|code.
- `occurrence` (`string`, optional): Filter on the date the service should occur. A date (YYYY-MM-DD) or date-time, optionally prefixed with a comparison: ge, le, gt, lt or eq. Example: ge2024-01-01 for on or after 1 Jan 2024. Only one value is accepted.
- `status` (`string`, optional): Order status, for example active or completed.

Example input: `{"patient":"<patient>"}`

### `eclinicalworks_specimen_read`

Get Specimen · Read-only

Get one Specimen resource from the practice's eClinicalWorks chart by its FHIR ID. Returns the Specimen with specimen type, collection details and subject. Use it when another resource references this one by ID; eCW offers no search for this resource type.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `specimen_id` (`string`, required): FHIR logical ID of the Specimen (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"specimen_id":"<specimen_id>"}`

### `eclinicalworks_allergy_intolerance_create`

Create Allergy Intolerance · Write

Record an allergy or adverse reaction for a patient in eClinicalWorks. The entry lands in the chart's App Data tab, where a clinician reconciles it into the chart. Returns a transaction-response Bundle whose entry[0].response.location holds the new resource's FHIR ID (check entry[0].response.status for eCW error codes). Use eclinicalworks_allergy_intolerance_search to check existing allergies first. eCW requires a signed write contract for this scope.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `patient_id` (`string`, required): FHIR logical ID of the patient (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `substance` (`string`, required): Name of the allergen, shown as the allergy name in eCW. Example: Penicillin.
- `clinical_status` (`string`, optional): Allergy status: active or inactive. One of: `active`, `inactive`.
- `code` (`string`, optional): Optional code of the allergen (for example a SNOMED or RxNorm code). Example: 764146007.
- `code_system` (`string`, optional): Code system URI for code. Example: http://snomed.info/sct or http://www.nlm.nih.gov/research/umls/rxnorm.
- `criticality` (`string`, optional): Criticality: high, low or unable-to-assess. One of: `high`, `low`, `unable-to-assess`.
- `onset_date_time` (`string`, optional): Date the allergy was identified, as an ISO 8601 date-time with offset. Example: 2026-01-15T10:00:00-05:00.
- `reaction` (`string`, optional): Reaction text in eCW's '<reaction type> : <reaction>' format, where the type is Side Effects, Lack of Therapeutic Effect or Contraindication (eCW uses Allergy when no type is given). Example: Contraindication : hives.

Example input: `{"patient_id":"<patient_id>","substance":"<substance>"}`

### `eclinicalworks_communication_create`

Create Checklist Note · Write

Attach a free-text note to a patient's eClinicalWorks chart as a Checklist item on the App Data tab; it disappears once a user checks it off. Returns a transaction-response Bundle whose entry[0].response.location holds the new resource's FHIR ID (check entry[0].response.status for eCW error codes). Use it for information no other create tool covers. eCW requires a signed write contract for this scope.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `message` (`string`, required): Text of the note. Example: Patient reports improved sleep since last visit.
- `patient_id` (`string`, required): FHIR logical ID of the patient (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"message":"<message>","patient_id":"<patient_id>"}`

### `eclinicalworks_condition_create`

Create Condition · Write

Add a diagnosis to a patient's Problem List or to the Assessments (encounter diagnosis) section in eClinicalWorks. The entry lands in the chart's App Data tab, where a clinician reconciles it into the chart. Returns a transaction-response Bundle whose entry[0].response.location holds the new resource's FHIR ID (check entry[0].response.status for eCW error codes). Clinical status, verification status, abatement date and note apply to problem-list entries only. eCW requires a signed write contract for this scope.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `category` (`string`, required): Where to add the diagnosis: problem-list-item (Problem List) or encounter-diagnosis (Assessments). One of: `problem-list-item`, `encounter-diagnosis`.
- `code` (`string`, required): Diagnosis code. eCW prefers ICD-10-CM, then SNOMED CT. Example: E11.9.
- `code_system` (`string`, required): Code system of code: http://hl7.org/fhir/sid/icd-10-cm or http://snomed.info/sct. One of: `http://hl7.org/fhir/sid/icd-10-cm`, `http://snomed.info/sct`.
- `patient_id` (`string`, required): FHIR logical ID of the patient (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `abatement_date_time` (`string`, optional): Date the problem resolved (required when clinical_status is resolved), as an ISO 8601 date-time with offset. Example: 2026-01-15T10:00:00-05:00.
- `clinical_status` (`string`, optional): Problem status: active, resolved, inactive, recurrence or remission. When resolved, also send abatement_date_time. One of: `active`, `resolved`, `inactive`, `recurrence`, `remission`.
- `code_display` (`string`, optional): Diagnosis name. Example: Type 2 diabetes mellitus without complications.
- `note` (`string`, optional): Note to attach to the diagnosis (problem list only). Example: Diet-controlled.
- `onset_date_time` (`string`, optional): Date the diagnosis was recorded, as an ISO 8601 date-time with offset. Example: 2026-01-15T10:00:00-05:00.
- `verification_status` (`string`, optional): Verification status: confirmed, provisional, refuted, entered-in-error or differential. One of: `confirmed`, `provisional`, `refuted`, `entered-in-error`, `differential`.

Example input: `{"category":"problem-list-item","code":"<code>","code_system":"http://hl7.org/fhir/sid/icd-10-cm","patient_id":"<patient_id>"}`

### `eclinicalworks_coverage_create`

Create Coverage · Write

Add an insurance policy to a patient's demographics in eClinicalWorks. Returns a transaction-response Bundle whose entry[0].response.location holds the new resource's FHIR ID (check entry[0].response.status for eCW error codes). Find the payor Organization with eclinicalworks_organization_search (type=pay). Use eclinicalworks_coverage_update to change an existing policy. eCW requires a signed write contract for this scope.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `order` (`integer`, required): Coverage order: 1 primary, 2 secondary, 3 tertiary. One of: `1`, `2`, `3`.
- `patient_id` (`string`, required): FHIR logical ID of the patient (beneficiary) who holds the insurance (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `payor_id` (`string`, required): FHIR logical ID of the insurance company (payor Organization) (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `relationship` (`string`, required): Beneficiary's relationship to the subscriber: self, spouse, child, injured (injured plaintiff), other, parent or common (life partner). One of: `self`, `spouse`, `child`, `injured`, `other`, `parent`, `common`.
- `subscriber_reference` (`string`, required): The insured person, as Patient/<FHIR ID> or RelatedPerson/<FHIR ID>. Example: Patient/12345.
- `assignment_of_benefits` (`string`, optional): Assignment of benefits: Y (assigned to provider, eCW default), N (not assigned), O (pay other organization) or W (not applicable). One of: `Y`, `N`, `O`, `W`.
- `group_name` (`string`, optional): Group name. Example: Example Employer Plan.
- `group_number` (`string`, optional): Group number on the card. Example: GRP001.
- `member_id` (`string`, optional): Subscriber (member) number on the insurance card. Example: ABC123456.
- `period_end` (`string`, optional): Coverage end date, as YYYY-MM-DD. Example: 2026-01-15.
- `period_start` (`string`, optional): Coverage start date, as YYYY-MM-DD. Example: 2026-01-15.
- `type` (`string`, optional): Insurance type (eCW source of payment): pay, PPO, POS, HIP, HMO, DENTAL, DENTPRG, AUTOPOL, DIS, GOVEMP, VET, WCBPOL. One of: `pay`, `PPO`, `POS`, `HIP`, `HMO`, `DENTAL`, `DENTPRG`, `AUTOPOL`, `DIS`, `GOVEMP`, `VET`, `WCBPOL`.

Example input: `{"order":1,"patient_id":"<patient_id>","payor_id":"<payor_id>","relationship":"self","subscriber_reference":"<subscriber_reference>"}`

### `eclinicalworks_coverage_update`

Update Coverage · Write

Update an insurance policy on a patient's demographics in eClinicalWorks by its Coverage FHIR ID. Returns a transaction-response Bundle; check entry[0].response.status for eCW error codes. Use eclinicalworks_coverage_create to add a new policy. eCW requires a signed write contract for this scope.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `coverage_id` (`string`, required): FHIR logical ID of the Coverage (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `patient_id` (`string`, required): FHIR logical ID of the patient (beneficiary) who holds the insurance (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `payor_id` (`string`, required): FHIR logical ID of the insurance company (payor Organization) (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `assignment_of_benefits` (`string`, optional): Assignment of benefits: Y (assigned to provider, eCW default), N (not assigned), O (pay other organization) or W (not applicable). One of: `Y`, `N`, `O`, `W`.
- `group_name` (`string`, optional): Group name. Example: Example Employer Plan.
- `group_number` (`string`, optional): Group number on the card. Example: GRP001.
- `member_id` (`string`, optional): Subscriber (member) number on the insurance card. Example: ABC123456.
- `order` (`integer`, optional): Coverage order: 1 primary, 2 secondary, 3 tertiary. One of: `1`, `2`, `3`.
- `period_end` (`string`, optional): Coverage end date, as YYYY-MM-DD. Example: 2026-01-15.
- `period_start` (`string`, optional): Coverage start date, as YYYY-MM-DD. Example: 2026-01-15.
- `relationship` (`string`, optional): Beneficiary's relationship to the subscriber: self, spouse, child, injured (injured plaintiff), other, parent or common (life partner). One of: `self`, `spouse`, `child`, `injured`, `other`, `parent`, `common`.
- `subscriber_reference` (`string`, optional): The insured person, as Patient/<FHIR ID> or RelatedPerson/<FHIR ID>. Example: Patient/12345.
- `type` (`string`, optional): Insurance type (eCW source of payment): pay, PPO, POS, HIP, HMO, DENTAL, DENTPRG, AUTOPOL, DIS, GOVEMP, VET, WCBPOL. One of: `pay`, `PPO`, `POS`, `HIP`, `HMO`, `DENTAL`, `DENTPRG`, `AUTOPOL`, `DIS`, `GOVEMP`, `VET`, `WCBPOL`.

Example input: `{"coverage_id":"<coverage_id>","patient_id":"<patient_id>","payor_id":"<payor_id>"}`

### `eclinicalworks_document_reference_clinical_note_create`

Create Progress Note · Write

Write a clinical (progress) note into an existing encounter in eClinicalWorks. The note content must be an HL7 v2 MDM (transcription) message, base64-encoded; eCW places its sections into the encounter's progress note. Returns a transaction-response Bundle whose entry[0].response.location holds the new resource's FHIR ID (check entry[0].response.status for eCW error codes). Get the encounter ID from eclinicalworks_encounter_search; eCW rejects the request without a valid encounter. eCW requires a signed write contract for this scope.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `encounter_id` (`string`, required): FHIR logical ID of the visit the note belongs to (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `hl7v2_message_base64` (`string`, required): Base64 of the HL7 v2 MDM/ORU message whose OBR/OBX segments carry the note sections (Chief Complaints, HPI, Assessment, Treatment and so on). Example: TVNIfF5+XCZ8 (truncated).
- `patient_id` (`string`, required): FHIR logical ID of the patient (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `practitioner_id` (`string`, optional): FHIR logical ID of the provider sending the note (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"encounter_id":"<encounter_id>","hl7v2_message_base64":"<hl7v2_message_base64>","patient_id":"<patient_id>"}`

### `eclinicalworks_document_reference_pdf_create`

Upload PDF Document · Write

Upload a PDF (base64) to a patient's documents in eClinicalWorks, either to the App Data tab for reconciliation or, when assigned to a reviewer, directly into Patient Documents (and into an encounter if one is given). Returns a transaction-response Bundle whose entry[0].response.location holds the new resource's FHIR ID (check entry[0].response.status for eCW error codes). Ask the practice for the folder name; unknown folders fall back to the practice's default folder (usually Misc). eCW requires a signed write contract for this scope.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `document_type` (`string`, required): LOINC document type: 34133-9 (Summary of episode note), 11488-4 (Consultation note), 34117-2 (H & P note), 28570-0 (Procedure note), 11506-3 (Progress note), 18842-5 (Discharge summary). One of: `34133-9`, `11488-4`, `34117-2`, `28570-0`, `11506-3`, `18842-5`.
- `patient_id` (`string`, required): FHIR logical ID of the patient (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `pdf_base64` (`string`, required): Base64-encoded content of the PDF file. Example: JVBERi0xLjQK (truncated).
- `assign_to_id` (`string`, optional): FHIR logical ID of the provider or staff member who should review it; when set, the document goes straight into Patient Documents (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `author_id` (`string`, optional): FHIR logical ID of the provider sending the document (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `description` (`string`, optional): Description of the document. Example: Consult letter from Dr. Example.
- `document_name` (`string`, optional): Name to show for the document. Example: Outside cardiology consult.
- `encounter_id` (`string`, optional): FHIR logical ID of the encounter to attach it to (used only with assign_to_id) (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `folder_name` (`string`, optional): eCW document folder to file it in, confirmed with the practice. Example: Consult Notes.
- `high_priority` (`boolean`, optional): Whether to flag the document as high priority.
- `reviewed` (`boolean`, optional): Whether the document is already reviewed.
- `scanned_by_id` (`string`, optional): FHIR logical ID of the person who scanned the document (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `scanned_date` (`string`, optional): Date the document was scanned, as YYYY-MM-DD. Example: 2026-01-15.

Example input: `{"document_type":"34133-9","patient_id":"<patient_id>","pdf_base64":"<pdf_base64>"}`

### `eclinicalworks_encounter_telephone_create`

Create Telephone Encounter · Write

Create a Telephone Encounter in a patient's eClinicalWorks chart, with reason, message, notes, action taken and the provider it is assigned to. Returns a transaction-response Bundle whose entry[0].response.location holds the new resource's FHIR ID (check entry[0].response.status for eCW error codes). Use eclinicalworks_encounter_telephone_update to mark it addressed. eCW requires a signed write contract for this scope.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `patient_id` (`string`, required): FHIR logical ID of the patient (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `status` (`string`, required): Telephone encounter status: planned or finished. One of: `planned`, `finished`.
- `action_taken` (`string`, optional): Action taken. Example: Advised to continue current dose.
- `assigned_to_id` (`string`, optional): FHIR logical ID of the provider the telephone encounter is assigned to (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `class_code` (`string`, optional): Encounter class code (v3 ActCode). eCW's schema fixes AMB; its sample sends VR (virtual). Default AMB. One of: `AMB`, `VR`. Default: `AMB`.
- `location_id` (`string`, optional): FHIR logical ID of the facility Location (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `message` (`string`, optional): Message shown on the Telephone Encounter screen. Example: Patient asks about dosage.
- `notes` (`string`, optional): Notes on the telephone encounter. Example: Follow up in 2 weeks.
- `period_end` (`string`, optional): End date and time of the call, as an ISO 8601 date-time with offset. Example: 2026-01-15T10:15:00-05:00.
- `period_start` (`string`, optional): Start date and time of the call, as an ISO 8601 date-time with offset. Example: 2026-01-15T10:00:00-05:00.
- `pharmacy_id` (`string`, optional): FHIR logical ID of the pharmacy Organization (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `practitioner_id` (`string`, optional): FHIR logical ID of the provider on the encounter (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `reason` (`string`, optional): Reason for the call. Example: Medication refill question.

Example input: `{"patient_id":"<patient_id>","status":"planned"}`

### `eclinicalworks_encounter_telephone_update`

Mark Telephone Encounter Addressed · Write

Mark an existing eClinicalWorks Telephone Encounter as addressed (status finished) by its FHIR ID. Returns a transaction-response Bundle; check entry[0].response.status for eCW error codes. Use eclinicalworks_encounter_telephone_create to open a new telephone encounter. eCW requires a signed write contract for this scope.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `encounter_id` (`string`, required): FHIR logical ID of the telephone encounter (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `patient_id` (`string`, required): FHIR logical ID of the patient (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `class_code` (`string`, optional): Encounter class code (v3 ActCode). eCW's schema fixes AMB; its sample sends VR (virtual). Default AMB. One of: `AMB`, `VR`. Default: `AMB`.

Example input: `{"encounter_id":"<encounter_id>","patient_id":"<patient_id>"}`

### `eclinicalworks_immunization_create`

Create Immunization · Write

Record a historical immunization (given elsewhere or in the past) for a patient in eClinicalWorks. The entry lands in the chart's App Data tab, where a clinician reconciles it into the chart. Returns a transaction-response Bundle whose entry[0].response.location holds the new resource's FHIR ID (check entry[0].response.status for eCW error codes). Use eclinicalworks_immunization_update to complete or correct an immunization already in the chart. eCW requires a signed write contract for this scope.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `cvx_code` (`string`, required): CVX vaccine code. Example: 52 (Hep A, adult).
- `occurrence_date_time` (`string`, required): Date the vaccine was given, as an ISO 8601 date-time with offset. Example: 2026-01-15T10:00:00-05:00.
- `patient_id` (`string`, required): FHIR logical ID of the patient (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `dose_number` (`integer`, optional): Dose number in the series, 0 to 20. Example: 1.
- `dose_unit` (`string`, optional): UCUM unit of the dose: cL, cm3, g, ug, uL, {millicuries}, mg, mL, ng, {spray}, {units}. One of: `cL`, `cm3`, `g`, `ug`, `uL`, `{millicuries}`, `mg`, `mL`, `ng`, `{spray}`, `{units}`.
- `dose_value` (`number`, optional): Dose amount. Example: 0.5.
- `location_id` (`string`, optional): FHIR logical ID of the facility where the immunization was documented (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `report_origin` (`string`, optional): Source of the historical record: provider (other provider), record (written record), recall (parent's recall) or school (school record). One of: `provider`, `record`, `recall`, `school`.
- `route` (`string`, optional): Route code: IDINJ (Intradermal), IM (Intramuscular), NASINHL (Nasal), IV (Intravenous), PO (Oral), SQINFUS (Subcutaneous), TRNSDERM (Transdermal). One of: `IDINJ`, `IM`, `NASINHL`, `IV`, `PO`, `SQINFUS`, `TRNSDERM`.
- `site` (`string`, optional): Body site code: LT (Left Thigh), LA (Left Arm), LD (Left Deltoid), LG (Left Gluteus Medius), LVL (Left Vastus Lateralis), LLFA (Left Lower Forearm), RT (Right Thigh), RA (Right Arm), RD (Right Deltoid), RG (Right Gluteus Medius), RVL (Right Vastus Lateralis), RLFA (Right Lower Forearm). One of: `LT`, `LA`, `LD`, `LG`, `LVL`, `LLFA`, `RT`, `RA`, `RD`, `RG`, `RVL`, `RLFA`.
- `vaccine_name` (`string`, optional): Vaccine name. Example: Hep A, Adult.

Example input: `{"cvx_code":"<cvx_code>","occurrence_date_time":"<occurrence_date_time>","patient_id":"<patient_id>"}`

### `eclinicalworks_immunization_update`

Update Immunization · Write

Update an existing (non-historical) immunization in eClinicalWorks by its FHIR ID, for example to mark it completed with lot, site, route and dose, or not-done with a reason. Returns a transaction-response Bundle; check entry[0].response.status for eCW error codes. When status is completed, eCW requires lot_number, expiration_date, site, route, dose, performer and dose_number; a new lot also needs manufacturer_id and funding_source. eCW requires a signed write contract for this scope.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `cvx_code` (`string`, required): CVX vaccine code. Example: 207.
- `encounter_id` (`string`, required): FHIR logical ID of the visit where the immunization is documented (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `immunization_id` (`string`, required): FHIR logical ID of the Immunization (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `occurrence_date_time` (`string`, required): Date and time the vaccine was given (ignored when status is not-done), as an ISO 8601 date-time with offset. Example: 2026-01-15T10:00:00-05:00.
- `patient_id` (`string`, required): FHIR logical ID of the patient (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `status` (`string`, required): Immunization status: completed, entered-in-error or not-done. One of: `completed`, `entered-in-error`, `not-done`.
- `dose_number` (`integer`, optional): Dose number in the series, 0 to 20. Example: 1.
- `dose_unit` (`string`, optional): UCUM unit of the dose: cL, cm3, g, ug, uL, {millicuries}, mg, mL, ng, {spray}, {units}. One of: `cL`, `cm3`, `g`, `ug`, `uL`, `{millicuries}`, `mg`, `mL`, `ng`, `{spray}`, `{units}`.
- `dose_value` (`number`, optional): Dose amount. Example: 0.5.
- `expiration_date` (`string`, optional): Lot expiration date, as YYYY-MM-DD. Example: 2026-01-15.
- `funding_source` (`string`, optional): Funding source (needed for a new lot): v (Govt (VFC)), y (Govt (Non VFC)), n (Purchased), u (Unknown), p (Patient Brought In), g (Public Vaccine Stock). One of: `v`, `y`, `n`, `u`, `p`, `g`.
- `lot_number` (`string`, optional): Lot number; eCW creates a new lot if none matches. Example: AB1234.
- `manufacturer_id` (`string`, optional): FHIR logical ID of the vaccine manufacturer Organization (needed for a new lot) (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `note` (`string`, optional): Comment to add to the immunization. Example: Patient tolerated well.
- `performer_id` (`string`, optional): FHIR logical ID of the practitioner who gave the vaccine (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `route` (`string`, optional): Route code: IDINJ (Intradermal), IM (Intramuscular), NASINHL (Nasal), IV (Intravenous), PO (Oral), SQINFUS (Subcutaneous), TRNSDERM (Transdermal). One of: `IDINJ`, `IM`, `NASINHL`, `IV`, `PO`, `SQINFUS`, `TRNSDERM`.
- `site` (`string`, optional): Body site code: LT (Left Thigh), LA (Left Arm), LD (Left Deltoid), LG (Left Gluteus Medius), LVL (Left Vastus Lateralis), LLFA (Left Lower Forearm), RT (Right Thigh), RA (Right Arm), RD (Right Deltoid), RG (Right Gluteus Medius), RVL (Right Vastus Lateralis), RLFA (Right Lower Forearm). One of: `LT`, `LA`, `LD`, `LG`, `LVL`, `LLFA`, `RT`, `RA`, `RD`, `RG`, `RVL`, `RLFA`.
- `status_reason` (`string`, optional): Why it was not given (status not-done only): PATOBJ (patient decision), IMMUNE (evidence of immunity), MEDPREC (contraindication) or OSTOCK (vaccine unavailable). One of: `PATOBJ`, `IMMUNE`, `MEDPREC`, `OSTOCK`.
- `vaccine_name` (`string`, optional): Vaccine name. Example: COVID-19 (mRNA).
- `vis_presentation_date` (`string`, optional): Date printed on the Vaccine Information Statement, as YYYY-MM-DD. Example: 2026-01-15.
- `vis_publication_date` (`string`, optional): Date the Vaccine Information Statement was given, as YYYY-MM-DD. Example: 2026-01-15.

Example input: `{"cvx_code":"<cvx_code>","encounter_id":"<encounter_id>","immunization_id":"<immunization_id>","occurrence_date_time":"<occurrence_date_time>","patient_id":"<patient_id>","status":"completed"}`

### `eclinicalworks_medication_request_create`

Create Medication Request · Write

Send a medication order for a patient to eClinicalWorks. The entry lands in the chart's App Data tab, where a clinician reconciles it into the chart. Returns a transaction-response Bundle whose entry[0].response.location holds the new resource's FHIR ID (check entry[0].response.status for eCW error codes). Use eclinicalworks_medication_statement_create instead to add a medication the patient already takes to the medication list. eCW requires a signed write contract for this scope.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `authored_on` (`string`, required): Date and time the order was requested (required by the FHIR profile; eCW uses the current date as the start date), as an ISO 8601 date-time with offset. Example: 2026-01-15T10:00:00-05:00.
- `medication_code` (`string`, required): RxNorm or NDC code of the medication. Example: 859749.
- `medication_code_system` (`string`, required): Code system of medication_code: rxnorm or ndc. One of: `rxnorm`, `ndc`.
- `medication_name` (`string`, required): Medication name shown on the App Data tab (required by eCW). Example: Crestor 10 MG Tablet.
- `patient_id` (`string`, required): FHIR logical ID of the patient (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `practitioner_id` (`string`, required): FHIR logical ID of the provider placing the order (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `dispense_quantity` (`number`, optional): Quantity to dispense, 1 to 999. Example: 30.
- `dosage_text` (`string`, optional): How to take the medication; fills the Take field. Example: Take 1 tablet by mouth twice a day for 10 days.
- `encounter_id` (`string`, optional): FHIR logical ID of the web encounter (refill request workflow only) (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `refills` (`integer`, optional): Number of refills, 0 to 99. Example: 2.
- `supply_days` (`integer`, optional): Duration of supply in days, greater than 0. Example: 30.

Example input: `{"authored_on":"<authored_on>","medication_code":"<medication_code>","medication_code_system":"rxnorm","medication_name":"<medication_name>","patient_id":"<patient_id>","practitioner_id":"<practitioner_id>"}`

### `eclinicalworks_medication_statement_create`

Add Medication to List · Write

Add a medication the patient takes to their eClinicalWorks medication list (medication reconciliation). The entry lands in the chart's App Data tab, where a clinician reconciles it into the chart. Returns a transaction-response Bundle whose entry[0].response.location holds the new resource's FHIR ID (check entry[0].response.status for eCW error codes). Use eclinicalworks_medication_request_create to place a new prescription order. eCW requires a signed write contract for this scope.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `medication_code` (`string`, required): RxNorm or NDC code. Example: 318272.
- `medication_code_system` (`string`, required): Code system of medication_code: rxnorm or ndc. One of: `rxnorm`, `ndc`.
- `medication_name` (`string`, required): Medication name shown on the App Data tab (required by eCW). Example: Aspirin 81 MG Chewable Tablet.
- `patient_id` (`string`, required): FHIR logical ID of the patient (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `start_date` (`string`, required): Date the patient started the medication, as YYYY-MM-DD. Example: 2026-01-15.
- `as_needed` (`boolean`, optional): If true, eCW prefixes the dose with 'As Needed'.
- `dose_unit` (`string`, optional): Unit for the dose. Example: tablet.
- `dose_value` (`number`, optional): Amount per dose (Take). Example: 1.
- `end_date` (`string`, optional): Date the patient stopped the medication, as YYYY-MM-DD. Example: 2026-01-15.
- `frequency` (`string`, optional): Frequency text. Example: once daily.
- `route` (`string`, optional): Route text. Example: Oral.

Example input: `{"medication_code":"<medication_code>","medication_code_system":"rxnorm","medication_name":"<medication_name>","patient_id":"<patient_id>","start_date":"<start_date>"}`

### `eclinicalworks_observation_vitals_create`

Create Vital Signs Observation · Write

Record one vital sign for a patient in eClinicalWorks, such as heart rate, temperature, weight, BMI, oxygen saturation or blood pressure. The entry lands in the chart's App Data tab, where a clinician reconciles it into the chart. Returns a transaction-response Bundle whose entry[0].response.location holds the new resource's FHIR ID (check entry[0].response.status for eCW error codes). If effective_date_time matches an encounter's appointment time, eCW shows the value on that visit's Vitals screen; otherwise it goes to Vitals Notes.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `effective_date_time` (`string`, required): Date and time the vital was taken, as an ISO 8601 date-time with offset. Example: 2026-01-15T10:00:00-05:00.
- `loinc_code` (`string`, required): LOINC code of the vital sign: 9279-1 respiratory rate, 8867-4 heart rate, 8310-5 body temperature, 8302-2 body height, 9843-4 head circumference, 29463-7 body weight, 39156-5 BMI, 59576-9 BMI percentile, 8289-1 head circumference percentile, 77606-2 weight-for-length percentile, 85354-9 blood pressure panel, 2708-6 / 59408-5 oxygen saturation. One of: `9279-1`, `8867-4`, `8310-5`, `8302-2`, `9843-4`, `29463-7`, `39156-5`, `59576-9`, `8289-1`, `77606-2`, `85354-9`, `2708-6`, `59408-5`.
- `patient_id` (`string`, required): FHIR logical ID of the patient (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `diastolic` (`number`, optional): Diastolic pressure in mm[Hg] (blood pressure panel 85354-9 only). Example: 80.
- `display` (`string`, optional): Name of the vital sign. Example: Heart rate.
- `inhaled_oxygen_concentration` (`number`, optional): Inhaled oxygen concentration in % (oxygen saturation codes only). Example: 21.
- `inhaled_oxygen_flow_rate` (`number`, optional): Inhaled oxygen flow rate in L/min (oxygen saturation codes only). Example: 2.
- `practitioner_id` (`string`, optional): FHIR logical ID of the practitioner who took the vital (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `qualifier` (`string`, optional): Free-text qualifier shown with the vital, for example the blood pressure position. Example: Sitting.
- `systolic` (`number`, optional): Systolic pressure in mm[Hg] (blood pressure panel 85354-9 only). Example: 120.
- `ucum_code` (`string`, optional): UCUM code of the unit, from the FHIR ucum-vitals-common value set. Example: /min, Cel, [degF], kg, [lb_av], cm, [in_i], %, kg/m2.
- `unit` (`string`, optional): Unit shown with the value. Example: /min, Cel, [lb_av], kg, cm, %, kg/m2.
- `value` (`number`, optional): Measured value. Required for every vital except the blood pressure panel (85354-9), which uses systolic and diastolic instead. Example: 72.

Example input: `{"effective_date_time":"<effective_date_time>","loinc_code":"9279-1","patient_id":"<patient_id>"}`

### `eclinicalworks_patient_create`

Create Patient · Write

Register a new patient in eClinicalWorks with name, birth date, gender, contact details and identifiers. Returns a transaction-response Bundle whose entry[0].response.location holds the new resource's FHIR ID (check entry[0].response.status for eCW error codes). eCW rejects the request if the account number already exists; use eclinicalworks_patient_search first to avoid duplicates. eCW requires a signed write contract for this scope.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `birth_date` (`string`, required): Date of birth, as YYYY-MM-DD. Example: 2026-01-15.
- `family` (`string`, required): Patient's last name. Example: Doe.
- `gender` (`string`, required): Administrative gender: male, female or unknown. One of: `male`, `female`, `unknown`.
- `given` (`string`, required): Patient's first name. Example: Alex.
- `identifier_system` (`string`, required): Identifier system (OID) of the practice, as seen in identifier[].system on any Patient from this practice. Example: urn:oid:2.16.840.1.113883.4.391.12345.
- `usual_identifier` (`string`, required): Your system's identifier for the patient, sent as the `usual` identifier. eCW assigns the account number when none is sent. Example: EXT-12345.
- `account_number` (`string`, optional): eCW account number to use (secondary identifier). Leave empty to let eCW assign one; creation fails if the account number already exists.
- `active` (`boolean`, optional): Whether the patient is active (eCW default true).
- `address_line1` (`string`, optional): Street address line 1. Example: 1 Example Street.
- `address_line2` (`string`, optional): Street address line 2. Example: Apt 2.
- `birth_sex` (`string`, optional): Birth sex: M, F or UNK. One of: `M`, `F`, `UNK`.
- `city` (`string`, optional): City. Example: Springfield.
- `email` (`string`, optional): Email address. Example: patient@example.com.
- `general_practitioner_id` (`string`, optional): FHIR logical ID of the patient's primary care provider (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `language` (`string`, optional): Preferred language as a BCP 47 code. Example: en or es.
- `marital_status` (`string`, optional): Marital status: D (Divorced), M (Married), T (Domestic partner), S (Never Married), UNK (unknown), W (Widowed), L (Legally Separated). One of: `D`, `M`, `T`, `S`, `UNK`, `W`, `L`.
- `middle` (`string`, optional): Middle name. Example: J.
- `phone_home` (`string`, optional): Home phone. Example: 5555550100.
- `phone_mobile` (`string`, optional): Mobile phone. Example: 5555550101.
- `phone_work` (`string`, optional): Work phone. Example: 5555550102.
- `postal_code` (`string`, optional): ZIP code. Example: 01234.
- `prefix` (`string`, optional): Name prefix. Example: Mr.
- `state` (`string`, optional): Two-letter state code. Example: MA.
- `suffix` (`string`, optional): Name suffix. Example: Jr.

Example input: `{"birth_date":"<birth_date>","family":"<family>","gender":"male","given":"<given>","identifier_system":"<identifier_system>","usual_identifier":"<usual_identifier>"}`

### `eclinicalworks_patient_update`

Update Patient · Write

Update an existing patient's demographics in eClinicalWorks. eCW finds the patient by account number and birth date (or by first name, last name and birth date) and overwrites the fields you send. Returns a transaction-response Bundle; check entry[0].response.status for eCW error codes. Get the account number and identifier system from eclinicalworks_patient_read. eCW requires a signed write contract for this scope.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `account_number` (`string`, required): eCW account number of the patient (the `secondary` identifier on the Patient). eCW matches on account number plus birth date. Example: 12345.
- `birth_date` (`string`, required): Date of birth (used for matching; cannot be changed), as YYYY-MM-DD. Example: 2026-01-15.
- `family` (`string`, required): Patient's last name. Example: Doe.
- `gender` (`string`, required): Administrative gender: male, female or unknown. One of: `male`, `female`, `unknown`.
- `given` (`string`, required): Patient's first name. Example: Alex.
- `identifier_system` (`string`, required): Identifier system (OID) of the practice, as seen in identifier[].system on any Patient from this practice. Example: urn:oid:2.16.840.1.113883.4.391.12345.
- `active` (`boolean`, optional): Whether the patient is active (eCW default true).
- `address_line1` (`string`, optional): Street address line 1. Example: 1 Example Street.
- `address_line2` (`string`, optional): Street address line 2. Example: Apt 2.
- `birth_sex` (`string`, optional): Birth sex: M, F or UNK. One of: `M`, `F`, `UNK`.
- `city` (`string`, optional): City. Example: Springfield.
- `email` (`string`, optional): Email address. Example: patient@example.com.
- `general_practitioner_id` (`string`, optional): FHIR logical ID of the patient's primary care provider (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `language` (`string`, optional): Preferred language as a BCP 47 code. Example: en or es.
- `marital_status` (`string`, optional): Marital status: D (Divorced), M (Married), T (Domestic partner), S (Never Married), UNK (unknown), W (Widowed), L (Legally Separated). One of: `D`, `M`, `T`, `S`, `UNK`, `W`, `L`.
- `middle` (`string`, optional): Middle name. Example: J.
- `phone_home` (`string`, optional): Home phone. Example: 5555550100.
- `phone_mobile` (`string`, optional): Mobile phone. Example: 5555550101.
- `phone_work` (`string`, optional): Work phone. Example: 5555550102.
- `postal_code` (`string`, optional): ZIP code. Example: 01234.
- `prefix` (`string`, optional): Name prefix. Example: Mr.
- `state` (`string`, optional): Two-letter state code. Example: MA.
- `suffix` (`string`, optional): Name suffix. Example: Jr.

Example input: `{"account_number":"<account_number>","birth_date":"<birth_date>","family":"<family>","gender":"male","given":"<given>","identifier_system":"<identifier_system>"}`

### `eclinicalworks_service_request_create`

Create Order · Write

Place a lab, diagnostic imaging or procedure order for a patient in eClinicalWorks. Returns a transaction-response Bundle whose entry[0].response.location holds the new resource's FHIR ID (check entry[0].response.status for eCW error codes). Use eclinicalworks_service_request_referral_create for referrals and eclinicalworks_service_request_update to complete an order. eCW requires a signed write contract for this scope.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `code` (`string`, required): LOINC code for lab and imaging orders, or CPT code for procedure orders. Example: 2345-7.
- `order_type` (`string`, required): Kind of order: lab (LOINC code), imaging (LOINC code) or procedure (CPT code). One of: `lab`, `imaging`, `procedure`.
- `patient_id` (`string`, required): FHIR logical ID of the patient (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `code_display` (`string`, optional): Order name. Example: Glucose [Mass/volume] in Serum or Plasma.
- `note` (`string`, optional): Note to add to the order. Example: Fasting sample.

Example input: `{"code":"<code>","order_type":"lab","patient_id":"<patient_id>"}`

### `eclinicalworks_service_request_referral_create`

Create Referral · Write

Create an incoming or outgoing referral for a patient in eClinicalWorks, with the referring and receiving providers, reason, dates and authorization. Returns a transaction-response Bundle whose entry[0].response.location holds the new resource's FHIR ID (check entry[0].response.status for eCW error codes). Use eclinicalworks_service_request_create for lab, imaging or procedure orders. eCW requires a signed write contract for this scope.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `appointment_date` (`string`, required): Appointment date on the referral, as an ISO 8601 date-time with offset. Example: 2026-01-15T10:00:00-05:00.
- `assigned_to_id` (`string`, required): FHIR logical ID of the staff member or provider the referral is assigned to (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `authored_on` (`string`, required): Date of the referral, as an ISO 8601 date-time with offset. Example: 2026-01-15T10:00:00-05:00.
- `direction` (`string`, required): Referral direction: outgoing (to another provider) or incoming. One of: `outgoing`, `incoming`.
- `patient_id` (`string`, required): FHIR logical ID of the patient (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `reason_code` (`string`, required): ICD-10-CM code for the reason. Example: R50.9.
- `start_date` (`string`, required): Start of the referral validity period, as an ISO 8601 date-time with offset. Example: 2026-01-15T10:00:00-05:00.
- `status` (`string`, required): Referral status: draft, active or completed. One of: `draft`, `active`, `completed`.
- `auth_code` (`string`, optional): Authorization code on the referral screen. Example: 12345.
- `auth_type` (`string`, optional): Authorization type on the referral screen.
- `end_date` (`string`, optional): End of the referral validity period, as an ISO 8601 date-time with offset. Example: 2027-01-15T00:00:00-05:00.
- `from_practitioner_id` (`string`, optional): FHIR logical ID of the referring (From) provider (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `from_specialty_code` (`string`, optional): NUCC taxonomy code of the referring provider's specialty. Example: 207Q00000X.
- `from_specialty_display` (`string`, optional): Specialty name. Example: Family Medicine.
- `location_id` (`string`, optional): FHIR logical ID of the facility for the referral (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `note` (`string`, optional): General notes on the referral. Example: Please evaluate.
- `priority` (`string`, optional): Priority: routine, urgent or stat. One of: `routine`, `urgent`, `stat`.
- `reason_display` (`string`, optional): Reason text. Example: Fever.
- `to_practitioner_id` (`string`, optional): FHIR logical ID of the receiving (To) provider (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"appointment_date":"<appointment_date>","assigned_to_id":"<assigned_to_id>","authored_on":"<authored_on>","direction":"outgoing","patient_id":"<patient_id>","reason_code":"<reason_code>","start_date":"<start_date>","status":"draft"}`

### `eclinicalworks_service_request_update`

Complete Order · Write

Mark an existing eClinicalWorks lab, imaging or procedure order as completed by its FHIR ID and optionally add a note. Returns a transaction-response Bundle; check entry[0].response.status for eCW error codes. Use eclinicalworks_service_request_create to place a new order. eCW requires a signed write contract for this scope.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `code` (`string`, required): LOINC (lab, imaging) or CPT (procedure) code of the order (required by the FHIR profile, not consumed by eCW). Example: 2345-7.
- `order_type` (`string`, required): Kind of order: lab (LOINC code), imaging (LOINC code) or procedure (CPT code). One of: `lab`, `imaging`, `procedure`.
- `patient_id` (`string`, required): FHIR logical ID of the patient (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `service_request_id` (`string`, required): FHIR logical ID of the order (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `code_display` (`string`, optional): Order name.
- `note` (`string`, optional): Note to add to the order. Example: Results reviewed.

Example input: `{"code":"<code>","order_type":"lab","patient_id":"<patient_id>","service_request_id":"<service_request_id>"}`

### `eclinicalworks_task_create`

Create Action · Write

Create an Action (task) in eClinicalWorks, optionally about a patient and assigned to a provider, with priority, dates and a note. Returns a transaction-response Bundle whose entry[0].response.location holds the new resource's FHIR ID (check entry[0].response.status for eCW error codes). Use eclinicalworks_communication_create for a simple checklist note on the chart. eCW requires a signed write contract for this scope.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `subject` (`string`, required): Subject of the action. Example: Call patient with lab results.
- `end` (`string`, optional): End (due) of the action period, as an ISO 8601 date-time with offset. Example: 2026-01-16T17:00:00-05:00.
- `location_id` (`string`, optional): FHIR logical ID of the facility (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `note` (`string`, optional): Note on the action. Example: Results are in the chart.
- `owner_id` (`string`, optional): FHIR logical ID of the provider the action is assigned to (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `patient_id` (`string`, optional): FHIR logical ID of the patient the action is about (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `priority` (`string`, optional): Priority: routine, urgent, asap or stat. One of: `routine`, `urgent`, `asap`, `stat`.
- `requester_id` (`string`, optional): FHIR logical ID of the provider creating the action (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `start` (`string`, optional): Start of the action period, as an ISO 8601 date-time with offset. Example: 2026-01-15T10:00:00-05:00.

Example input: `{"subject":"<subject>"}`

### `eclinicalworks_coverage_delete`

Delete Coverage · Destructive

Remove an insurance policy from a patient's demographics in eClinicalWorks by its Coverage FHIR ID. This cannot be undone. Returns a transaction-response Bundle; check entry[0].response.status for eCW error codes. eCW requires a signed write contract for this scope.

Read only: no. Destructive: yes. Idempotent (safe to retry): no.

Inputs:

- `coverage_id` (`string`, required): FHIR logical ID of the Coverage (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `patient_id` (`string`, required): FHIR logical ID of the patient (beneficiary) (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `payor_id` (`string`, required): FHIR logical ID of the policy's payor Organization (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"coverage_id":"<coverage_id>","patient_id":"<patient_id>","payor_id":"<payor_id>"}`

### `eclinicalworks_organization_patient_pharmacy_delete`

Remove Patient Pharmacy · Destructive

Remove a pharmacy from a patient's pharmacy list in eClinicalWorks. This cannot be undone. Returns a transaction-response Bundle; check entry[0].response.status for eCW error codes. Find the patient's pharmacies with eclinicalworks_organization_search. eCW requires a signed write contract for this scope.

Read only: no. Destructive: yes. Idempotent (safe to retry): no.

Inputs:

- `patient_id` (`string`, required): FHIR logical ID of the patient (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.
- `pharmacy_id` (`string`, required): FHIR logical ID of the pharmacy Organization to remove (the `id` returned by eCW, an opaque string; not an MRN or account number). Example: 12345.

Example input: `{"patient_id":"<patient_id>","pharmacy_id":"<pharmacy_id>"}`

## Related

Other Healthcare & life sciences connectors ([all 16](/agentkit/connectors/?category=healthcare)):

- [Synapse MCP server](/agentkit/connectors/synapsemcp/): Vendor MCP, OAuth, 48 tools
- [Availity](/agentkit/connectors/availity/): Scalekit connector, Service account, 11 tools
- [Healthie](/agentkit/connectors/healthie/): Scalekit connector, API key, 44 tools


---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
