> **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 athenahealth

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

**Authentication:** SMART On FHIR
**Categories:** Healthcare
**Tools:** 55: 55 read, 0 write, 0 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=ATHENAHEALTH)

## 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 athenahealth connection

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

   **Console steps with screenshots:**

   athenahealth connections use SMART on FHIR and act as the signed-in clinician, through athenaOne's certified FHIR R4 API. The tools read data only. The connection already has athenahealth's production authorization and token endpoints; you add the audience (`aud`), the FHIR server domain, and the client ID and secret of your athenahealth 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 **athenahealth** and click **Create**. Copy the **Redirect URI**.

   2. ### Register a provider app with athenahealth

      Register a confidential provider app with athenahealth that uses user-context scopes, and note its client ID and client secret:

      - Add the redirect URI you copied.
      - Request refresh tokens (`offline_access`).

      Confirm the exact scope names athenahealth registers for your app; select the same ones on the connection.

   3. ### Enter the values on the connection

      Back on the athenahealth connection, enter:

      - **Client ID** and **Client Secret**: from your athenahealth app.
      - **Audience (aud)**: `https://api.platform.athenahealth.com/fhir/r4`
      - **FHIR Server Domain**: `api.platform.athenahealth.com/fhir/r4`

      Select `openid`, `fhirUser` and `offline_access`, plus the resource scopes your agent needs, such as `user/Patient.read`. Click **Save**.

      To test in athenahealth's preview environment, replace the production values with these:

      | Field                  | Preview value                                                       |
      | ---------------------- | ------------------------------------------------------------------- |
      | Authorization Endpoint | `https://api.preview.platform.athenahealth.com/oauth2/v1/authorize` |
      | Token Endpoint         | `https://api.preview.platform.athenahealth.com/oauth2/v1/token`     |
      | Audience (aud)         | `https://api.preview.platform.athenahealth.com/fhir/r4`             |
      | FHIR Server Domain     | `api.preview.platform.athenahealth.com/fhir/r4`                     |

   > note: Filter searches by practice
   >
   > athenahealth scopes data by practice. To limit a search to one practice, most search tools take an optional `ah_practice` input set to `Organization/a-1.Practice-<practiceId>`, such as `Organization/a-1.Practice-195900`. `athenahealth_practitioner_search` requires it when you search by `identifier`.

## 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: 'athenahealth_allergy_intolerance_read',
  toolInput: {
    allergy_intolerance_id: '<allergy_intolerance_id>',
  },
  connector: 'athenahealth',
  identifier: 'user_123',
})
```

**Python**

```python
result = actions.execute_tool(
    tool_name="athenahealth_allergy_intolerance_read",
    tool_input={
        "allergy_intolerance_id": "<allergy_intolerance_id>",
    },
    connection_name="athenahealth",
    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.

### `athenahealth_allergy_intolerance_read`

Get Allergy · Read-only

Retrieve one athenahealth FHIR AllergyIntolerance resource by its logical ID.
Returns the AllergyIntolerance resource: allergies and intolerances recorded on a patient's chart, with substance code, clinical status, reaction, and criticality.
Use this when you already have the allergy ID. Use athenahealth_allergy_intolerance_search to find allergies.

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

Inputs:

- `allergy_intolerance_id` (`string`, required): Logical ID of the AllergyIntolerance resource (the id element, without the AllergyIntolerance/ prefix).

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

### `athenahealth_allergy_intolerance_search`

Search Allergies · Read-only

Search athenahealth FHIR AllergyIntolerance resources (allergies) available to the signed-in clinician.
Returns a FHIR Bundle of AllergyIntolerance entries: allergies and intolerances recorded on a patient's chart, with substance code, clinical status, reaction, and criticality; follow the cursor in the Bundle's next link to page.
Use this to find or list allergies. Use athenahealth_allergy_intolerance_read when you already have the allergy ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `patient` (`string`, required): athenahealth FHIR ID of the patient whose allergies to return (the Patient.id from athenahealth_patient_search or athenahealth_patient_read), or a Patient/<id> reference.
- `_count` (`integer`, optional): Maximum number of resources to return per page. The server picks a default when omitted.
- `_lastUpdated` (`string`, optional): Only return allergies last updated on or around this date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `ah_practice` (`string`, optional): athenahealth practice to scope the search, as Organization/a-1.Practice-<practiceId>. Optional for clinician sign-in; athenahealth requires it for practitioner identifier searches.
- `code` (`string`, optional): Allergy substance code as system|code or code, e.g. an RxNorm or SNOMED CT code.
- `cursor` (`string`, optional): Paging cursor for the next page. Copy the cursor query parameter value from the next link (Bundle.link with relation next) of the previous page's response.

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

### `athenahealth_appointment_read`

Get Appointment · Read-only

Retrieve one athenahealth FHIR Appointment resource by its logical ID.
Returns the Appointment resource: a scheduled appointment, with status, start and end time, appointment type, participants (patient, provider, location), and athenahealth appointment extensions.
Use this when you already have the appointment ID, for example from an Encounter or a scheduling workflow; athenahealth's FHIR API does not offer an open appointment search.

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

Inputs:

- `appointment_id` (`string`, required): Logical ID of the Appointment resource (the id element, without the Appointment/ prefix).

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

### `athenahealth_binary_read`

Get Binary · Read-only

Retrieve one athenahealth FHIR Binary resource by its logical ID.
Returns the Binary resource: raw document content (for example a clinical document or image referenced by a DocumentReference attachment), returned as a FHIR Binary with contentType and base64 data.
Use this to fetch the document content referenced by a DocumentReference attachment URL (Binary/<id>).

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

Inputs:

- `binary_id` (`string`, required): Logical ID of the Binary resource (the id element, without the Binary/ prefix).

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

### `athenahealth_care_plan_read`

Get Care Plan · Read-only

Retrieve one athenahealth FHIR CarePlan resource by its logical ID.
Returns the CarePlan resource: assessment-and-plan care plans, with category, status, intent, period, and narrative text.
Use this when you already have the care plan ID. Use athenahealth_care_plan_search to find care plans.

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

Inputs:

- `care_plan_id` (`string`, required): Logical ID of the CarePlan resource (the id element, without the CarePlan/ prefix).

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

### `athenahealth_care_plan_search`

Search Care Plans · Read-only

Search athenahealth FHIR CarePlan resources (care plans) available to the signed-in clinician.
Returns a FHIR Bundle of CarePlan entries: assessment-and-plan care plans, with category, status, intent, period, and narrative text; follow the cursor in the Bundle's next link to page.
Use this to find or list care plans. Use athenahealth_care_plan_read when you already have the care plan ID.
athenahealth requires at least one of: Patient ID; Care Plan ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `_count` (`integer`, optional): Maximum number of resources to return per page. The server picks a default when omitted.
- `_id` (`string`, optional): Logical ID of a specific CarePlan to match. Returns a Bundle with that one resource; use athenahealth_care_plan_read to fetch it directly.
- `_lastUpdated` (`string`, optional): Only return care plans last updated on or around this date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `ah_practice` (`string`, optional): athenahealth practice to scope the search, as Organization/a-1.Practice-<practiceId>. Optional for clinician sign-in; athenahealth requires it for practitioner identifier searches.
- `category` (`string`, optional): Care plan category. athenahealth care plans use the US Core category assess-plan.
- `cursor` (`string`, optional): Paging cursor for the next page. Copy the cursor query parameter value from the next link (Bundle.link with relation next) of the previous page's response.
- `patient` (`string`, optional): athenahealth FHIR ID of the patient whose care plans to return (the Patient.id from athenahealth_patient_search or athenahealth_patient_read), or a Patient/<id> reference.

Example input: `{}`

### `athenahealth_care_team_read`

Get Care Team · Read-only

Retrieve one athenahealth FHIR CareTeam resource by its logical ID.
Returns the CareTeam resource: a patient's care team, with status and participants (practitioners, organizations, and their roles).
Use this when you already have the care team ID. Use athenahealth_care_team_search to find care teams.

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

Inputs:

- `care_team_id` (`string`, required): Logical ID of the CareTeam resource (the id element, without the CareTeam/ prefix).

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

### `athenahealth_care_team_search`

Search Care Teams · Read-only

Search athenahealth FHIR CareTeam resources (care teams) available to the signed-in clinician.
Returns a FHIR Bundle of CareTeam entries: a patient's care team, with status and participants (practitioners, organizations, and their roles); follow the cursor in the Bundle's next link to page.
Use this to find or list care teams. Use athenahealth_care_team_read when you already have the care team ID.
athenahealth requires at least one of: Patient ID; Care Team ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `_count` (`integer`, optional): Maximum number of resources to return per page. The server picks a default when omitted.
- `_id` (`string`, optional): Logical ID of a specific CareTeam to match. Returns a Bundle with that one resource; use athenahealth_care_team_read to fetch it directly.
- `_lastUpdated` (`string`, optional): Only return care teams last updated on or around this date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `ah_practice` (`string`, optional): athenahealth practice to scope the search, as Organization/a-1.Practice-<practiceId>. Optional for clinician sign-in; athenahealth requires it for practitioner identifier searches.
- `cursor` (`string`, optional): Paging cursor for the next page. Copy the cursor query parameter value from the next link (Bundle.link with relation next) of the previous page's response.
- `patient` (`string`, optional): athenahealth FHIR ID of the patient whose care teams to return (the Patient.id from athenahealth_patient_search or athenahealth_patient_read), or a Patient/<id> reference.
- `status` (`string`, optional): Filter by care team status: one of proposed, active, suspended, inactive, entered-in-error. One of: `proposed`, `active`, `suspended`, `inactive`, `entered-in-error`.

Example input: `{}`

### `athenahealth_condition_read`

Get Condition · Read-only

Retrieve one athenahealth FHIR Condition resource by its logical ID.
Returns the Condition resource: problems and diagnoses (problem-list items, encounter diagnoses, health concerns), with code, clinical and verification status, category, and onset.
Use this when you already have the condition ID. Use athenahealth_condition_search to find conditions.

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

Inputs:

- `condition_id` (`string`, required): Logical ID of the Condition resource (the id element, without the Condition/ prefix).

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

### `athenahealth_condition_search`

Search Conditions · Read-only

Search athenahealth FHIR Condition resources (conditions) available to the signed-in clinician.
Returns a FHIR Bundle of Condition entries: problems and diagnoses (problem-list items, encounter diagnoses, health concerns), with code, clinical and verification status, category, and onset; follow the cursor in the Bundle's next link to page.
Use this to find or list conditions. Use athenahealth_condition_read when you already have the condition ID.
athenahealth requires at least one of: Encounter ID; Patient ID; Condition ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `_count` (`integer`, optional): Maximum number of resources to return per page. The server picks a default when omitted.
- `_id` (`string`, optional): Logical ID of a specific Condition to match. Returns a Bundle with that one resource; use athenahealth_condition_read to fetch it directly.
- `_lastUpdated` (`string`, optional): Only return conditions last updated on or around this date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `ah_practice` (`string`, optional): athenahealth practice to scope the search, as Organization/a-1.Practice-<practiceId>. Optional for clinician sign-in; athenahealth requires it for practitioner identifier searches.
- `category` (`string`, optional): Condition category as system|code, e.g. http://terminology.hl7.org/CodeSystem/condition-category|problem-list-item, http://terminology.hl7.org/CodeSystem/condition-category|encounter-diagnosis, or http://hl7.org/fhir/us/core/CodeSystem/condition-category|health-concern.
- `code` (`string`, optional): Condition code as system|code or code, e.g. an ICD-10-CM or SNOMED CT code.
- `cursor` (`string`, optional): Paging cursor for the next page. Copy the cursor query parameter value from the next link (Bundle.link with relation next) of the previous page's response.
- `encounter` (`string`, optional): FHIR ID of the Encounter the conditions belong to, or an Encounter/<id> reference.
- `patient` (`string`, optional): athenahealth FHIR ID of the patient whose conditions to return (the Patient.id from athenahealth_patient_search or athenahealth_patient_read), or a Patient/<id> reference.

Example input: `{}`

### `athenahealth_coverage_read`

Get Coverage · Read-only

Retrieve one athenahealth FHIR Coverage resource by its logical ID.
Returns the Coverage resource: insurance coverage records, with payor, subscriber, beneficiary, relationship, class (group/plan), status, and period.
Use this when you already have the coverage ID. Use athenahealth_coverage_search to find coverages.

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

Inputs:

- `coverage_id` (`string`, required): Logical ID of the Coverage resource (the id element, without the Coverage/ prefix).

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

### `athenahealth_coverage_search`

Search Coverages · Read-only

Search athenahealth FHIR Coverage resources (coverages) available to the signed-in clinician.
Returns a FHIR Bundle of Coverage entries: insurance coverage records, with payor, subscriber, beneficiary, relationship, class (group/plan), status, and period; follow the cursor in the Bundle's next link to page.
Use this to find or list coverages. Use athenahealth_coverage_read when you already have the coverage ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `patient` (`string`, required): athenahealth FHIR ID of the patient whose coverages to return (the Patient.id from athenahealth_patient_search or athenahealth_patient_read), or a Patient/<id> reference.
- `_count` (`integer`, optional): Maximum number of resources to return per page. The server picks a default when omitted.
- `_lastUpdated` (`string`, optional): Only return coverages last updated on or around this date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `ah_practice` (`string`, optional): athenahealth practice to scope the search, as Organization/a-1.Practice-<practiceId>. Optional for clinician sign-in; athenahealth requires it for practitioner identifier searches.
- `cursor` (`string`, optional): Paging cursor for the next page. Copy the cursor query parameter value from the next link (Bundle.link with relation next) of the previous page's response.

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

### `athenahealth_device_read`

Get Device · Read-only

Retrieve one athenahealth FHIR Device resource by its logical ID.
Returns the Device resource: implantable devices recorded for a patient, with UDI, device type, status, and expiration and manufacture details.
Use this when you already have the device ID. Use athenahealth_device_search to find devices.

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

Inputs:

- `device_id` (`string`, required): Logical ID of the Device resource (the id element, without the Device/ prefix).

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

### `athenahealth_device_search`

Search Devices · Read-only

Search athenahealth FHIR Device resources (devices) available to the signed-in clinician.
Returns a FHIR Bundle of Device entries: implantable devices recorded for a patient, with UDI, device type, status, and expiration and manufacture details; follow the cursor in the Bundle's next link to page.
Use this to find or list devices. Use athenahealth_device_read when you already have the device ID.
athenahealth requires at least one of: Patient ID; Device ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `_count` (`integer`, optional): Maximum number of resources to return per page. The server picks a default when omitted.
- `_id` (`string`, optional): Logical ID of a specific Device to match. Returns a Bundle with that one resource; use athenahealth_device_read to fetch it directly.
- `_lastUpdated` (`string`, optional): Only return devices last updated on or around this date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `ah_practice` (`string`, optional): athenahealth practice to scope the search, as Organization/a-1.Practice-<practiceId>. Optional for clinician sign-in; athenahealth requires it for practitioner identifier searches.
- `cursor` (`string`, optional): Paging cursor for the next page. Copy the cursor query parameter value from the next link (Bundle.link with relation next) of the previous page's response.
- `patient` (`string`, optional): athenahealth FHIR ID of the patient whose devices to return (the Patient.id from athenahealth_patient_search or athenahealth_patient_read), or a Patient/<id> reference.

Example input: `{}`

### `athenahealth_diagnostic_report_read`

Get Diagnostic Report · Read-only

Retrieve one athenahealth FHIR DiagnosticReport resource by its logical ID.
Returns the DiagnosticReport resource: lab and imaging reports, with category, code, status, effective date, performer, result Observation references, and presented form.
Use this when you already have the diagnostic report ID. Use athenahealth_diagnostic_report_search to find diagnostic reports.

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

Inputs:

- `diagnostic_report_id` (`string`, required): Logical ID of the DiagnosticReport resource (the id element, without the DiagnosticReport/ prefix).

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

### `athenahealth_diagnostic_report_search`

Search Diagnostic Reports · Read-only

Search athenahealth FHIR DiagnosticReport resources (diagnostic reports) available to the signed-in clinician.
Returns a FHIR Bundle of DiagnosticReport entries: lab and imaging reports, with category, code, status, effective date, performer, result Observation references, and presented form; follow the cursor in the Bundle's next link to page.
Use this to find or list diagnostic reports. Use athenahealth_diagnostic_report_read when you already have the diagnostic report ID.
athenahealth requires at least one of: Patient ID; Diagnostic Report ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `_count` (`integer`, optional): Maximum number of resources to return per page. The server picks a default when omitted.
- `_id` (`string`, optional): Logical ID of a specific DiagnosticReport to match. Returns a Bundle with that one resource; use athenahealth_diagnostic_report_read to fetch it directly.
- `_lastUpdated` (`string`, optional): Only return diagnostic reports last updated on or around this date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `ah_practice` (`string`, optional): athenahealth practice to scope the search, as Organization/a-1.Practice-<practiceId>. Optional for clinician sign-in; athenahealth requires it for practitioner identifier searches.
- `category` (`string`, optional): Report category code, e.g. LAB for laboratory reports or RAD for imaging, optionally as system|code (http://terminology.hl7.org/CodeSystem/v2-0074|LAB).
- `code` (`string`, optional): Report code as system|code, e.g. a LOINC code. Separate multiple codes with commas.
- `cursor` (`string`, optional): Paging cursor for the next page. Copy the cursor query parameter value from the next link (Bundle.link with relation next) of the previous page's response.
- `date` (`string`, optional): Filter by the report's effective date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `encounter` (`string`, optional): FHIR ID of the Encounter the diagnostic reports belong to, or an Encounter/<id> reference.
- `patient` (`string`, optional): athenahealth FHIR ID of the patient whose diagnostic reports to return (the Patient.id from athenahealth_patient_search or athenahealth_patient_read), or a Patient/<id> reference.
- `performer` (`string`, optional): Reference to the Practitioner or Organization who performed or is to perform it, as Practitioner/<id> or Organization/<id>.
- `result` (`string`, optional): FHIR ID of an Observation that is a result in the report, or an Observation/<id> reference.

Example input: `{}`

### `athenahealth_document_reference_read`

Get Document Reference · Read-only

Retrieve one athenahealth FHIR DocumentReference resource by its logical ID.
Returns the DocumentReference resource: clinical notes and documents, with type, category, date, author, status, and attachment links to the document content.
Use this when you already have the document reference ID. Use athenahealth_document_reference_search to find document references.

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

Inputs:

- `document_reference_id` (`string`, required): Logical ID of the DocumentReference resource (the id element, without the DocumentReference/ prefix).

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

### `athenahealth_document_reference_search`

Search Document References · Read-only

Search athenahealth FHIR DocumentReference resources (document references) available to the signed-in clinician.
Returns a FHIR Bundle of DocumentReference entries: clinical notes and documents, with type, category, date, author, status, and attachment links to the document content; follow the cursor in the Bundle's next link to page.
Use this to find or list document references. Use athenahealth_document_reference_read when you already have the document reference ID.
athenahealth requires at least one of: Patient ID; Document Reference ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `_count` (`integer`, optional): Maximum number of resources to return per page. The server picks a default when omitted.
- `_id` (`string`, optional): Logical ID of a specific DocumentReference to match. Returns a Bundle with that one resource; use athenahealth_document_reference_read to fetch it directly.
- `_lastUpdated` (`string`, optional): Only return document references last updated on or around this date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `ah_practice` (`string`, optional): athenahealth practice to scope the search, as Organization/a-1.Practice-<practiceId>. Optional for clinician sign-in; athenahealth requires it for practitioner identifier searches.
- `author` (`string`, optional): Reference to the document author, as Practitioner/<id> or Organization/<id>.
- `category` (`string`, optional): Document category, e.g. clinical-note (US Core clinical notes), optionally as system|code (http://hl7.org/fhir/us/core/CodeSystem/us-core-documentreference-category|clinical-note).
- `cursor` (`string`, optional): Paging cursor for the next page. Copy the cursor query parameter value from the next link (Bundle.link with relation next) of the previous page's response.
- `custodian` (`string`, optional): Reference to the Organization that maintains the document, as Organization/<id>.
- `date` (`string`, optional): Filter by the document date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `encounter` (`string`, optional): FHIR ID of the Encounter the document references belong to, or an Encounter/<id> reference.
- `patient` (`string`, optional): athenahealth FHIR ID of the patient whose document references to return (the Patient.id from athenahealth_patient_search or athenahealth_patient_read), or a Patient/<id> reference.
- `type` (`string`, optional): Document type as system|code, e.g. a LOINC document code.

Example input: `{}`

### `athenahealth_encounter_read`

Get Encounter · Read-only

Retrieve one athenahealth FHIR Encounter resource by its logical ID.
Returns the Encounter resource: visits and encounters, with class, type, status, period, participants, location, and service provider.
Use this when you already have the encounter ID. Use athenahealth_encounter_search to find encounters.

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

Inputs:

- `encounter_id` (`string`, required): Logical ID of the Encounter resource (the id element, without the Encounter/ prefix).

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

### `athenahealth_encounter_search`

Search Encounters · Read-only

Search athenahealth FHIR Encounter resources (encounters) available to the signed-in clinician.
Returns a FHIR Bundle of Encounter entries: visits and encounters, with class, type, status, period, participants, location, and service provider; follow the cursor in the Bundle's next link to page.
Use this to find or list encounters. Use athenahealth_encounter_read when you already have the encounter ID.
athenahealth requires at least one of: Patient ID; Encounter ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `_count` (`integer`, optional): Maximum number of resources to return per page. The server picks a default when omitted.
- `_id` (`string`, optional): Logical ID of a specific Encounter to match. Returns a Bundle with that one resource; use athenahealth_encounter_read to fetch it directly.
- `_lastUpdated` (`string`, optional): Only return encounters last updated on or around this date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `ah_practice` (`string`, optional): athenahealth practice to scope the search, as Organization/a-1.Practice-<practiceId>. Optional for clinician sign-in; athenahealth requires it for practitioner identifier searches.
- `cursor` (`string`, optional): Paging cursor for the next page. Copy the cursor query parameter value from the next link (Bundle.link with relation next) of the previous page's response.
- `date` (`string`, optional): Filter by the encounter period. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `location` (`string`, optional): FHIR ID of the Location (department) where the encounter took place, or a Location/<id> reference.
- `patient` (`string`, optional): athenahealth FHIR ID of the patient whose encounters to return (the Patient.id from athenahealth_patient_search or athenahealth_patient_read), or a Patient/<id> reference.
- `practitioner` (`string`, optional): FHIR ID of a Practitioner who participated in the encounter, or a Practitioner/<id> reference.
- `service_provider` (`string`, optional): FHIR ID of the Organization responsible for the encounter, or an Organization/<id> reference.

Example input: `{}`

### `athenahealth_family_member_history_read`

Get Family Member History · Read-only

Retrieve one athenahealth FHIR FamilyMemberHistory resource by its logical ID.
Returns the FamilyMemberHistory resource: family medical history entries, with relationship, status, and the relative's conditions.
Use this when you already have the family member history ID. Use athenahealth_family_member_history_search to find family member histories.

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

Inputs:

- `family_member_history_id` (`string`, required): Logical ID of the FamilyMemberHistory resource (the id element, without the FamilyMemberHistory/ prefix).

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

### `athenahealth_family_member_history_search`

Search Family Member Histories · Read-only

Search athenahealth FHIR FamilyMemberHistory resources (family member histories) available to the signed-in clinician.
Returns a FHIR Bundle of FamilyMemberHistory entries: family medical history entries, with relationship, status, and the relative's conditions.
Use this to find or list family member histories. Use athenahealth_family_member_history_read when you already have the family member history ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `_id` (`string`, optional): Logical ID of a specific FamilyMemberHistory to match. Returns a Bundle with that one resource; use athenahealth_family_member_history_read to fetch it directly.
- `_lastUpdated` (`string`, optional): Only return family member histories last updated on or around this date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `ah_practice` (`string`, optional): athenahealth practice to scope the search, as Organization/a-1.Practice-<practiceId>. Optional for clinician sign-in; athenahealth requires it for practitioner identifier searches.
- `code` (`string`, optional): Condition code recorded for the relative, as system|code or code.
- `patient` (`string`, optional): athenahealth FHIR ID of the patient whose family member histories to return (the Patient.id from athenahealth_patient_search or athenahealth_patient_read), or a Patient/<id> reference.
- `relationship` (`string`, optional): Relationship of the family member to the patient as a code or system|code, e.g. FTH (father) or MTH (mother) from the v3 RoleCode system.
- `status` (`string`, optional): Filter by family member history status: one of partial, completed, entered-in-error, health-unknown. One of: `partial`, `completed`, `entered-in-error`, `health-unknown`.

Example input: `{}`

### `athenahealth_goal_read`

Get Goal · Read-only

Retrieve one athenahealth FHIR Goal resource by its logical ID.
Returns the Goal resource: patient care goals, with lifecycle status, description, target, and start date.
Use this when you already have the goal ID. Use athenahealth_goal_search to find goals.

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

Inputs:

- `goal_id` (`string`, required): Logical ID of the Goal resource (the id element, without the Goal/ prefix).

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

### `athenahealth_goal_search`

Search Goals · Read-only

Search athenahealth FHIR Goal resources (goals) available to the signed-in clinician.
Returns a FHIR Bundle of Goal entries: patient care goals, with lifecycle status, description, target, and start date; follow the cursor in the Bundle's next link to page.
Use this to find or list goals. Use athenahealth_goal_read when you already have the goal ID.
athenahealth requires at least one of: Patient ID; Goal ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `_count` (`integer`, optional): Maximum number of resources to return per page. The server picks a default when omitted.
- `_id` (`string`, optional): Logical ID of a specific Goal to match. Returns a Bundle with that one resource; use athenahealth_goal_read to fetch it directly.
- `_lastUpdated` (`string`, optional): Only return goals last updated on or around this date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `ah_practice` (`string`, optional): athenahealth practice to scope the search, as Organization/a-1.Practice-<practiceId>. Optional for clinician sign-in; athenahealth requires it for practitioner identifier searches.
- `cursor` (`string`, optional): Paging cursor for the next page. Copy the cursor query parameter value from the next link (Bundle.link with relation next) of the previous page's response.
- `patient` (`string`, optional): athenahealth FHIR ID of the patient whose goals to return (the Patient.id from athenahealth_patient_search or athenahealth_patient_read), or a Patient/<id> reference.

Example input: `{}`

### `athenahealth_immunization_read`

Get Immunization · Read-only

Retrieve one athenahealth FHIR Immunization resource by its logical ID.
Returns the Immunization resource: administered or recorded vaccines, with vaccine code, status, occurrence date, lot number, and performer.
Use this when you already have the immunization ID. Use athenahealth_immunization_search to find immunizations.

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

Inputs:

- `immunization_id` (`string`, required): Logical ID of the Immunization resource (the id element, without the Immunization/ prefix).

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

### `athenahealth_immunization_search`

Search Immunizations · Read-only

Search athenahealth FHIR Immunization resources (immunizations) available to the signed-in clinician.
Returns a FHIR Bundle of Immunization entries: administered or recorded vaccines, with vaccine code, status, occurrence date, lot number, and performer; follow the cursor in the Bundle's next link to page.
Use this to find or list immunizations. Use athenahealth_immunization_read when you already have the immunization ID.
athenahealth requires at least one of: Patient ID; Immunization ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `_count` (`integer`, optional): Maximum number of resources to return per page. The server picks a default when omitted.
- `_id` (`string`, optional): Logical ID of a specific Immunization to match. Returns a Bundle with that one resource; use athenahealth_immunization_read to fetch it directly.
- `_lastUpdated` (`string`, optional): Only return immunizations last updated on or around this date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `ah_practice` (`string`, optional): athenahealth practice to scope the search, as Organization/a-1.Practice-<practiceId>. Optional for clinician sign-in; athenahealth requires it for practitioner identifier searches.
- `cursor` (`string`, optional): Paging cursor for the next page. Copy the cursor query parameter value from the next link (Bundle.link with relation next) of the previous page's response.
- `date` (`string`, optional): Filter by the vaccine occurrence date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `encounter` (`string`, optional): FHIR ID of the Encounter the immunizations belong to, or an Encounter/<id> reference.
- `patient` (`string`, optional): athenahealth FHIR ID of the patient whose immunizations to return (the Patient.id from athenahealth_patient_search or athenahealth_patient_read), or a Patient/<id> reference.
- `status` (`string`, optional): Filter by immunization status: one of completed, entered-in-error, not-done. One of: `completed`, `entered-in-error`, `not-done`.
- `vaccine_code` (`string`, optional): Vaccine product code as system|code or code, e.g. a CVX code.

Example input: `{}`

### `athenahealth_location_read`

Get Location · Read-only

Retrieve one athenahealth FHIR Location resource by its logical ID.
Returns the Location resource: practice locations (athenahealth departments), with name, address, telecom, and status.
Use this when you already have the location ID, for example from a reference on a Patient, Encounter, or other resource; athenahealth's Location search only accepts the ID, so no separate search tool is provided.

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

Inputs:

- `location_id` (`string`, required): Logical ID of the Location resource (the id element, without the Location/ prefix).

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

### `athenahealth_media_read`

Get Media · Read-only

Retrieve one athenahealth FHIR Media resource by its logical ID.
Returns the Media resource: a media item (such as a photo or scanned image) with its content type, subject, and attachment.
Use this when you already have the media ID, for example from a reference on another resource; athenahealth's FHIR API offers no Media search.

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

Inputs:

- `media_id` (`string`, required): Logical ID of the Media resource (the id element, without the Media/ prefix).

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

### `athenahealth_medication_dispense_read`

Get Medication Dispense · Read-only

Retrieve one athenahealth FHIR MedicationDispense resource by its logical ID.
Returns the MedicationDispense resource: medication dispense records, with medication, status, quantity, days supply, and when handed over.
Use this when you already have the medication dispense ID. Use athenahealth_medication_dispense_search to find medication dispenses.

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

Inputs:

- `medication_dispense_id` (`string`, required): Logical ID of the MedicationDispense resource (the id element, without the MedicationDispense/ prefix).

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

### `athenahealth_medication_dispense_search`

Search Medication Dispenses · Read-only

Search athenahealth FHIR MedicationDispense resources (medication dispenses) available to the signed-in clinician.
Returns a FHIR Bundle of MedicationDispense entries: medication dispense records, with medication, status, quantity, days supply, and when handed over.
Use this to find or list medication dispenses. Use athenahealth_medication_dispense_read when you already have the medication dispense ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `_id` (`string`, optional): Logical ID of a specific MedicationDispense to match. Returns a Bundle with that one resource; use athenahealth_medication_dispense_read to fetch it directly.
- `_lastUpdated` (`string`, optional): Only return medication dispenses last updated on or around this date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `ah_practice` (`string`, optional): athenahealth practice to scope the search, as Organization/a-1.Practice-<practiceId>. Optional for clinician sign-in; athenahealth requires it for practitioner identifier searches.
- `date` (`string`, optional): Filter by the dispense date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `patient` (`string`, optional): athenahealth FHIR ID of the patient whose medication dispenses to return (the Patient.id from athenahealth_patient_search or athenahealth_patient_read), or a Patient/<id> reference.
- `status` (`string`, optional): Filter by medication dispense status: one of preparation, in-progress, cancelled, on-hold, completed, entered-in-error, stopped, declined, unknown. One of: `preparation`, `in-progress`, `cancelled`, `on-hold`, `completed`, `entered-in-error`, `stopped`, `declined`, `unknown`.

Example input: `{}`

### `athenahealth_medication_read`

Get Medication · Read-only

Retrieve one athenahealth FHIR Medication resource by its logical ID.
Returns the Medication resource: medication definitions, with code (RxNorm), form, and ingredients.
Use this when you already have the medication ID, for example from a reference on a Patient, Encounter, or other resource; athenahealth's Medication search only accepts the ID, so no separate search tool is provided.

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

Inputs:

- `medication_id` (`string`, required): Logical ID of the Medication resource (the id element, without the Medication/ prefix).

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

### `athenahealth_medication_request_read`

Get Medication Request · Read-only

Retrieve one athenahealth FHIR MedicationRequest resource by its logical ID.
Returns the MedicationRequest resource: prescriptions and medication orders, with medication, status, intent, authored date, requester, and dosage instructions.
Use this when you already have the medication request ID. Use athenahealth_medication_request_search to find medication requests.

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

Inputs:

- `medication_request_id` (`string`, required): Logical ID of the MedicationRequest resource (the id element, without the MedicationRequest/ prefix).

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

### `athenahealth_medication_request_search`

Search Medication Requests · Read-only

Search athenahealth FHIR MedicationRequest resources (medication requests) available to the signed-in clinician.
Returns a FHIR Bundle of MedicationRequest entries: prescriptions and medication orders, with medication, status, intent, authored date, requester, and dosage instructions; follow the cursor in the Bundle's next link to page.
Use this to find or list medication requests. Use athenahealth_medication_request_read when you already have the medication request ID.
athenahealth requires at least one of: Patient ID + Intent; Medication Request ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `_count` (`integer`, optional): Maximum number of resources to return per page. The server picks a default when omitted.
- `_id` (`string`, optional): Logical ID of a specific MedicationRequest to match. Returns a Bundle with that one resource; use athenahealth_medication_request_read to fetch it directly.
- `_lastUpdated` (`string`, optional): Only return medication requests last updated on or around this date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `ah_practice` (`string`, optional): athenahealth practice to scope the search, as Organization/a-1.Practice-<practiceId>. Optional for clinician sign-in; athenahealth requires it for practitioner identifier searches.
- `authoredon` (`string`, optional): Filter by the date the medication request was authored. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `code` (`string`, optional): RxNorm code of the prescribed medication, as system|code or code. Use together with patient and intent.
- `cursor` (`string`, optional): Paging cursor for the next page. Copy the cursor query parameter value from the next link (Bundle.link with relation next) of the previous page's response.
- `encounter` (`string`, optional): FHIR ID of the Encounter the medication requests belong to, or an Encounter/<id> reference.
- `ingredient_code` (`string`, optional): Ingredient code of the medication as system|code or code, e.g. an RxNorm ingredient code.
- `intent` (`string`, optional): Intent of the medication request. athenahealth requires intent together with patient when searching by patient (use order for prescriptions). One of: `proposal`, `plan`, `order`, `original-order`, `reflex-order`, `filler-order`, `instance-order`, `option`.
- `medication` (`string`, optional): Reference to the Medication resource, as Medication/<id>.
- `patient` (`string`, optional): athenahealth FHIR ID of the patient whose medication requests to return (the Patient.id from athenahealth_patient_search or athenahealth_patient_read), or a Patient/<id> reference.
- `requester` (`string`, optional): Reference to the Practitioner who made the request, as Practitioner/<id>.
- `status` (`string`, optional): Filter by medication request status: one of active, on-hold, cancelled, completed, entered-in-error, stopped, draft, unknown. One of: `active`, `on-hold`, `cancelled`, `completed`, `entered-in-error`, `stopped`, `draft`, `unknown`.

Example input: `{}`

### `athenahealth_next_page`

Get Next Page of Search Results · Read-only

Fetch the next page of results from a previous athenahealth search tool by following the next link (Bundle.link with relation next) in that search's result.
Returns a FHIR Bundle with the next set of entries; when a Bundle 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 result's next link (Bundle.link with relation next) that comes after /fhir/r4/, copied exactly: it starts with the resource type, has no leading slash, and keeps the whole query string, including cursor. For the next link https://api.preview.platform.athenahealth.com/fhir/r4/Condition?patient=a-80000.E-14545&cursor=a-80000.EncounterDx-55039, pass Condition?patient=a-80000.E-14545&cursor=a-80000.EncounterDx-55039.

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

### `athenahealth_observation_read`

Get Observation · Read-only

Retrieve one athenahealth FHIR Observation resource by its logical ID.
Returns the Observation resource: vital signs, lab results, social history, and other measurements, with code, value, category, status, and effective date.
Use this when you already have the observation ID. Use athenahealth_observation_search to find observations.

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

Inputs:

- `observation_id` (`string`, required): Logical ID of the Observation resource (the id element, without the Observation/ prefix).

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

### `athenahealth_observation_search`

Search Observations · Read-only

Search athenahealth FHIR Observation resources (observations) available to the signed-in clinician.
Returns a FHIR Bundle of Observation entries: vital signs, lab results, social history, and other measurements, with code, value, category, status, and effective date; follow the cursor in the Bundle's next link to page.
Use this to find or list observations. Use athenahealth_observation_read when you already have the observation ID.
athenahealth requires at least one of: Patient ID; Observation ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `_count` (`integer`, optional): Maximum number of resources to return per page. The server picks a default when omitted.
- `_id` (`string`, optional): Logical ID of a specific Observation to match. Returns a Bundle with that one resource; use athenahealth_observation_read to fetch it directly.
- `_lastUpdated` (`string`, optional): Only return observations last updated on or around this date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `ah_practice` (`string`, optional): athenahealth practice to scope the search, as Organization/a-1.Practice-<practiceId>. Optional for clinician sign-in; athenahealth requires it for practitioner identifier searches.
- `category` (`string`, optional): Observation category code, e.g. vital-signs, laboratory, social-history, survey, exam, or imaging.
- `code` (`string`, optional): Observation code as system|code, e.g. a LOINC code. Separate multiple codes with commas.
- `cursor` (`string`, optional): Paging cursor for the next page. Copy the cursor query parameter value from the next link (Bundle.link with relation next) of the previous page's response.
- `date` (`string`, optional): Filter by the observation date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `encounter` (`string`, optional): FHIR ID of the Encounter the observations belong to, or an Encounter/<id> reference.
- `patient` (`string`, optional): athenahealth FHIR ID of the patient whose observations to return (the Patient.id from athenahealth_patient_search or athenahealth_patient_read), or a Patient/<id> reference.

Example input: `{}`

### `athenahealth_organization_read`

Get Organization · Read-only

Retrieve one athenahealth FHIR Organization resource by its logical ID.
Returns the Organization resource: athenahealth organizations (practices, provider groups, chart sharing groups), with name, identifiers, address, and telecom.
Use this when you already have the organization ID, for example from a reference on a Patient, Encounter, or other resource; athenahealth's Organization search only accepts the ID, so no separate search tool is provided.

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

Inputs:

- `organization_id` (`string`, required): Logical ID of the Organization resource (the id element, without the Organization/ prefix).

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

### `athenahealth_patient_read`

Get Patient · Read-only

Retrieve one athenahealth FHIR Patient resource by its logical ID.
Returns the Patient resource: patient demographics, with name, birth date, gender, identifiers, address, telecom, and athenahealth organization extensions.
Use this when you already have the patient ID. Use athenahealth_patient_search to find patients.

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

Inputs:

- `patient_id` (`string`, required): Logical ID of the Patient resource (the id element, without the Patient/ prefix).

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

### `athenahealth_patient_search`

Search Patients · Read-only

Search athenahealth FHIR Patient resources (patients) available to the signed-in clinician.
Returns a FHIR Bundle of Patient entries: patient demographics, with name, birth date, gender, identifiers, address, telecom, and athenahealth organization extensions; follow the cursor in the Bundle's next link to page.
Use this to find or list patients. Use athenahealth_patient_read when you already have the patient ID.
athenahealth requires at least one of: Patient ID; Identifier; Name; Family Name + Birth Date; Family Name + Gender; Family Name + Given Name.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `_count` (`integer`, optional): Maximum number of resources to return per page. The server picks a default when omitted.
- `_id` (`string`, optional): Logical ID of a specific Patient to match. Returns a Bundle with that one resource; use athenahealth_patient_read to fetch it directly.
- `_lastUpdated` (`string`, optional): Only return patients last updated on or around this date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `ah_practice` (`string`, optional): athenahealth practice to scope the search, as Organization/a-1.Practice-<practiceId>. Optional for clinician sign-in; athenahealth requires it for practitioner identifier searches.
- `birthdate` (`string`, optional): Patient's date of birth in YYYY-MM-DD format. Use together with family.
- `cursor` (`string`, optional): Paging cursor for the next page. Copy the cursor query parameter value from the next link (Bundle.link with relation next) of the previous page's response.
- `family` (`string`, optional): Part of the patient's family (last) name. Combine with given, birthdate, or gender.
- `gender` (`string`, optional): Administrative gender: male, female, other, or unknown. Use together with family. One of: `male`, `female`, `other`, `unknown`.
- `given` (`string`, optional): Part of the patient's given (first) name. Use together with family.
- `identifier` (`string`, optional): Patient identifier as system|value or value, e.g. a medical record number.
- `name` (`string`, optional): Text to match against any part of the patient's name (family, given, prefix, suffix, or text).

Example input: `{}`

### `athenahealth_practitioner_read`

Get Practitioner · Read-only

Retrieve one athenahealth FHIR Practitioner resource by its logical ID.
Returns the Practitioner resource: practitioners (providers and users), with name, identifiers such as NPI, qualification, and telecom.
Use this when you already have the practitioner ID. Use athenahealth_practitioner_search to find practitioners.

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

Inputs:

- `practitioner_id` (`string`, required): Logical ID of the Practitioner resource (the id element, without the Practitioner/ prefix).

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

### `athenahealth_practitioner_search`

Search Practitioners · Read-only

Search athenahealth FHIR Practitioner resources (practitioners) available to the signed-in clinician.
Returns a FHIR Bundle of Practitioner entries: practitioners (providers and users), with name, identifiers such as NPI, qualification, and telecom.
Use this to find or list practitioners. Use athenahealth_practitioner_read when you already have the practitioner ID.
athenahealth requires at least one of: Practitioner ID; Identifier + Practice.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `_id` (`string`, optional): Logical ID of a specific Practitioner to match. Returns a Bundle with that one resource; use athenahealth_practitioner_read to fetch it directly.
- `ah_practice` (`string`, optional): athenahealth practice to scope the search, as Organization/a-1.Practice-<practiceId>. Optional for clinician sign-in; athenahealth requires it for practitioner identifier searches.
- `identifier` (`string`, optional): athenaNet username identifier as system|value, i.e. https://identity.athena.io/sid/athenanet-user|<username>. Must be combined with Practice.

Example input: `{}`

### `athenahealth_procedure_read`

Get Procedure · Read-only

Retrieve one athenahealth FHIR Procedure resource by its logical ID.
Returns the Procedure resource: performed procedures, with code, status, performed date or period, performer, and focal device.
Use this when you already have the procedure ID. Use athenahealth_procedure_search to find procedures.

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

Inputs:

- `procedure_id` (`string`, required): Logical ID of the Procedure resource (the id element, without the Procedure/ prefix).

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

### `athenahealth_procedure_search`

Search Procedures · Read-only

Search athenahealth FHIR Procedure resources (procedures) available to the signed-in clinician.
Returns a FHIR Bundle of Procedure entries: performed procedures, with code, status, performed date or period, performer, and focal device; follow the cursor in the Bundle's next link to page.
Use this to find or list procedures. Use athenahealth_procedure_read when you already have the procedure ID.
athenahealth requires at least one of: Patient ID; Procedure ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `_count` (`integer`, optional): Maximum number of resources to return per page. The server picks a default when omitted.
- `_id` (`string`, optional): Logical ID of a specific Procedure to match. Returns a Bundle with that one resource; use athenahealth_procedure_read to fetch it directly.
- `_lastUpdated` (`string`, optional): Only return procedures last updated on or around this date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `ah_practice` (`string`, optional): athenahealth practice to scope the search, as Organization/a-1.Practice-<practiceId>. Optional for clinician sign-in; athenahealth requires it for practitioner identifier searches.
- `cursor` (`string`, optional): Paging cursor for the next page. Copy the cursor query parameter value from the next link (Bundle.link with relation next) of the previous page's response.
- `date` (`string`, optional): Filter by the procedure date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `device_name` (`string`, optional): Reference to the Device that was implanted or manipulated in the procedure, as Device/<id>.
- `encounter` (`string`, optional): FHIR ID of the Encounter the procedures belong to, or an Encounter/<id> reference.
- `patient` (`string`, optional): athenahealth FHIR ID of the patient whose procedures to return (the Patient.id from athenahealth_patient_search or athenahealth_patient_read), or a Patient/<id> reference.
- `performer` (`string`, optional): Reference to the Practitioner who performed or is to perform it, as Practitioner/<id>.

Example input: `{}`

### `athenahealth_provenance_read`

Get Provenance · Read-only

Retrieve one athenahealth FHIR Provenance resource by its logical ID.
Returns the Provenance resource: provenance (authorship and audit) records for a target resource, with recorded time, agents, and the organization responsible.
Use this when you already have the provenance ID. Use athenahealth_provenance_search to find provenance records.

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

Inputs:

- `provenance_id` (`string`, required): Logical ID of the Provenance resource (the id element, without the Provenance/ prefix).

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

### `athenahealth_provenance_search`

Search Provenance Records · Read-only

Search athenahealth FHIR Provenance resources (provenance records) available to the signed-in clinician.
Returns a FHIR Bundle of Provenance entries: provenance (authorship and audit) records for a target resource, with recorded time, agents, and the organization responsible.
Use this to find or list provenance records. Use athenahealth_provenance_read when you already have the provenance ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `target` (`string`, required): Reference to the resource whose provenance to return, as /<id>, e.g. AllergyIntolerance/12345.
- `ah_practice` (`string`, optional): athenahealth practice to scope the search, as Organization/a-1.Practice-<practiceId>. Optional for clinician sign-in; athenahealth requires it for practitioner identifier searches.

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

### `athenahealth_questionnaire_read`

Get Questionnaire · Read-only

Retrieve one athenahealth FHIR Questionnaire resource by its logical ID.
Returns the Questionnaire resource: questionnaire definitions (forms), with title, status, code, and item structure.
Use this when you already have the questionnaire ID. Use athenahealth_questionnaire_search to find questionnaires.

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

Inputs:

- `questionnaire_id` (`string`, required): Logical ID of the Questionnaire resource (the id element, without the Questionnaire/ prefix).

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

### `athenahealth_questionnaire_response_read`

Get Questionnaire Response · Read-only

Retrieve one athenahealth FHIR QuestionnaireResponse resource by its logical ID.
Returns the QuestionnaireResponse resource: completed or in-progress questionnaire responses, with questionnaire, status, authored date, author, and answered items.
Use this when you already have the questionnaire response ID. Use athenahealth_questionnaire_response_search to find questionnaire responses.

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

Inputs:

- `questionnaire_response_id` (`string`, required): Logical ID of the QuestionnaireResponse resource (the id element, without the QuestionnaireResponse/ prefix).

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

### `athenahealth_questionnaire_response_search`

Search Questionnaire Responses · Read-only

Search athenahealth FHIR QuestionnaireResponse resources (questionnaire responses) available to the signed-in clinician.
Returns a FHIR Bundle of QuestionnaireResponse entries: completed or in-progress questionnaire responses, with questionnaire, status, authored date, author, and answered items.
Use this to find or list questionnaire responses. Use athenahealth_questionnaire_response_read when you already have the questionnaire response ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `_id` (`string`, optional): Logical ID of a specific QuestionnaireResponse to match. Returns a Bundle with that one resource; use athenahealth_questionnaire_response_read to fetch it directly.
- `_lastUpdated` (`string`, optional): Only return questionnaire responses last updated on or around this date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `ah_practice` (`string`, optional): athenahealth practice to scope the search, as Organization/a-1.Practice-<practiceId>. Optional for clinician sign-in; athenahealth requires it for practitioner identifier searches.
- `authored` (`string`, optional): Filter by the date the questionnaire response was authored. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `encounter` (`string`, optional): FHIR ID of the Encounter the questionnaire responses belong to, or an Encounter/<id> reference.
- `patient` (`string`, optional): athenahealth FHIR ID of the patient whose questionnaire responses to return (the Patient.id from athenahealth_patient_search or athenahealth_patient_read), or a Patient/<id> reference.
- `questionnaire` (`string`, optional): Questionnaire the responses answer, as its canonical URL or ID.
- `status` (`string`, optional): Filter by questionnaire response status: one of in-progress, completed, amended, entered-in-error, stopped. One of: `in-progress`, `completed`, `amended`, `entered-in-error`, `stopped`.

Example input: `{}`

### `athenahealth_questionnaire_search`

Search Questionnaires · Read-only

Search athenahealth FHIR Questionnaire resources (questionnaires) available to the signed-in clinician.
Returns a FHIR Bundle of Questionnaire entries: questionnaire definitions (forms), with title, status, code, and item structure.
Use this to find or list questionnaires. Use athenahealth_questionnaire_read when you already have the questionnaire ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `_id` (`string`, optional): Logical ID of a specific Questionnaire to match. Returns a Bundle with that one resource; use athenahealth_questionnaire_read to fetch it directly.
- `code` (`string`, optional): Code that corresponds to one of the questionnaire's items, as system|code or code.

Example input: `{}`

### `athenahealth_related_person_read`

Get Related Person · Read-only

Retrieve one athenahealth FHIR RelatedPerson resource by its logical ID.
Returns the RelatedPerson resource: people related to a patient (such as guarantors, emergency contacts, or family), with name, relationship, telecom, and active flag.
Use this when you already have the related person ID. Use athenahealth_related_person_search to find related people.

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

Inputs:

- `related_person_id` (`string`, required): Logical ID of the RelatedPerson resource (the id element, without the RelatedPerson/ prefix).

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

### `athenahealth_related_person_search`

Search Related People · Read-only

Search athenahealth FHIR RelatedPerson resources (related people) available to the signed-in clinician.
Returns a FHIR Bundle of RelatedPerson entries: people related to a patient (such as guarantors, emergency contacts, or family), with name, relationship, telecom, and active flag.
Use this to find or list related people. Use athenahealth_related_person_read when you already have the related person ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `_id` (`string`, optional): Logical ID of a specific RelatedPerson to match. Returns a Bundle with that one resource; use athenahealth_related_person_read to fetch it directly.
- `_lastUpdated` (`string`, optional): Only return related people last updated on or around this date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `active` (`string`, optional): Whether the related person record is active: true or false. One of: `true`, `false`.
- `name` (`string`, optional): Text to match against any part of the related person's name.
- `patient` (`string`, optional): athenahealth FHIR ID of the patient whose related people to return (the Patient.id from athenahealth_patient_search or athenahealth_patient_read), or a Patient/<id> reference.

Example input: `{}`

### `athenahealth_service_request_read`

Get Service Request · Read-only

Retrieve one athenahealth FHIR ServiceRequest resource by its logical ID.
Returns the ServiceRequest resource: orders and referrals for services (labs, imaging, referrals), with code, category, status, intent, authored date, requester, and performer.
Use this when you already have the service request ID. Use athenahealth_service_request_search to find service requests.

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

Inputs:

- `service_request_id` (`string`, required): Logical ID of the ServiceRequest resource (the id element, without the ServiceRequest/ prefix).

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

### `athenahealth_service_request_search`

Search Service Requests · Read-only

Search athenahealth FHIR ServiceRequest resources (service requests) available to the signed-in clinician.
Returns a FHIR Bundle of ServiceRequest entries: orders and referrals for services (labs, imaging, referrals), with code, category, status, intent, authored date, requester, and performer; follow the cursor in the Bundle's next link to page.
Use this to find or list service requests. Use athenahealth_service_request_read when you already have the service request ID.
athenahealth requires at least one of: Service Request ID; Patient ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `_count` (`integer`, optional): Maximum number of resources to return per page. The server picks a default when omitted.
- `_id` (`string`, optional): Logical ID of a specific ServiceRequest to match. Returns a Bundle with that one resource; use athenahealth_service_request_read to fetch it directly.
- `_lastUpdated` (`string`, optional): Only return service requests last updated on or around this date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `ah_practice` (`string`, optional): athenahealth practice to scope the search, as Organization/a-1.Practice-<practiceId>. Optional for clinician sign-in; athenahealth requires it for practitioner identifier searches.
- `authored` (`string`, optional): Filter by the date the service request was authored. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `category` (`string`, optional): Service request category as a code or system|code, e.g. http://snomed.info/sct|108252007 (laboratory procedure).
- `code` (`string`, optional): Code of the requested service as system|code or code, e.g. a LOINC or CPT code.
- `cursor` (`string`, optional): Paging cursor for the next page. Copy the cursor query parameter value from the next link (Bundle.link with relation next) of the previous page's response.
- `encounter` (`string`, optional): FHIR ID of the Encounter the service requests belong to, or an Encounter/<id> reference.
- `patient` (`string`, optional): athenahealth FHIR ID of the patient whose service requests to return (the Patient.id from athenahealth_patient_search or athenahealth_patient_read), or a Patient/<id> reference.
- `performer` (`string`, optional): Reference to the Practitioner or Organization who performed or is to perform it, as Practitioner/<id> or Organization/<id>.
- `requester` (`string`, optional): Reference to the Practitioner who made the request, as Practitioner/<id>.
- `status` (`string`, optional): Filter by service request status: one of draft, active, on-hold, revoked, completed, entered-in-error, unknown. One of: `draft`, `active`, `on-hold`, `revoked`, `completed`, `entered-in-error`, `unknown`.

Example input: `{}`

### `athenahealth_specimen_read`

Get Specimen · Read-only

Retrieve one athenahealth FHIR Specimen resource by its logical ID.
Returns the Specimen resource: lab specimens, with type, collection details, and status.
Use this when you already have the specimen ID. Use athenahealth_specimen_search to find specimens.

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

Inputs:

- `specimen_id` (`string`, required): Logical ID of the Specimen resource (the id element, without the Specimen/ prefix).

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

### `athenahealth_specimen_search`

Search Specimens · Read-only

Search athenahealth FHIR Specimen resources (specimens) available to the signed-in clinician.
Returns a FHIR Bundle of Specimen entries: lab specimens, with type, collection details, and status.
Use this to find or list specimens. Use athenahealth_specimen_read when you already have the specimen ID.
If the result has a next link, use athenahealth_next_page to get more.

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

Inputs:

- `_id` (`string`, optional): Logical ID of a specific Specimen to match. Returns a Bundle with that one resource; use athenahealth_specimen_read to fetch it directly.
- `_lastUpdated` (`string`, optional): Only return specimens last updated on or around this date. Prefix with a comparator (eq, gt, lt, ge, le) followed by a date in YYYY-MM-DD format, e.g. ge2024-01-01.
- `patient` (`string`, optional): athenahealth FHIR ID of the patient whose specimens to return (the Patient.id from athenahealth_patient_search or athenahealth_patient_read), or a Patient/<id> reference.

Example input: `{}`

## 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 |
