Read Elation Health patients, appointments, problems, allergies, medications, notes and vitals.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Get one appointment by id: scheduled date, duration, status, reason, instructions, patient, physician, practice, service location, telehealth and billing details. Elation: GET /appointments/{id}/.
Elation appointment id.
Get one appointment by id: scheduled date, duration, status, reason, instructions, patient, physician, practice, service location, telehealth and billing details. Elation: GET /appointments/{id}/.
| Argument | Type | Description |
|---|---|---|
| appointment_id* | integer | Elation appointment id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"appointment_id"
],
"properties": {
"appointment_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Elation appointment id.",
"exclusiveMinimum": 0
}
}
}Get one patient chart header by id (PHI): demographics, contact details, address, insurance, emergency contact, primary physician, tags. The SSN is redacted. Elation: GET /patients/{id}/.
| Argument | Type | Description |
|---|---|---|
| patient_id* | integer | Elation patient id (from elationhealth_list_patients). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patient_id"
],
"properties": {
"patient_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Elation patient id (from elationhealth_list_patients).",
"exclusiveMinimum": 0
}
}
}Get one visit note by id (PHI): visit date, type, physician, signed state and the full note body. Elation: GET /visit_notes/{id}/.
| Argument | Type | Description |
|---|---|---|
| visit_note_id* | integer | Elation visit note id (from elationhealth_list_visit_notes). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"visit_note_id"
],
"properties": {
"visit_note_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Elation visit note id (from elationhealth_list_visit_notes).",
"exclusiveMinimum": 0
}
}
}List one patient's allergies (PHI): allergen name, reaction, severity, status, start date. Elation: GET /allergies/?patient=.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Page size (default 25, max 100). |
| cursor | string | Cursor from a previous reply's next_cursor, to get the next page. |
| offset | integer | Offset paging instead of a cursor (the reply then has count and next_offset). |
| patient* | integer | Elation patient id (from elationhealth_list_patients). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patient"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size (default 25, max 100)."
},
"cursor": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Cursor from a previous reply's next_cursor, to get the next page."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Offset paging instead of a cursor (the reply then has count and next_offset)."
},
"patient": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Elation patient id (from elationhealth_list_patients).",
"exclusiveMinimum": 0
}
}
}List the appointment types (visit reasons with default duration) a practice offers. Elation: GET /appointment_types/.
| Argument | Type | Description |
|---|---|---|
| name | string | Filter by name. |
| limit | integer | Page size (default 25, max 100). |
| cursor | string | Cursor from a previous reply's next_cursor, to get the next page. |
| offset | integer | Offset paging instead of a cursor (the reply then has count and next_offset). |
| practice | integer | Only this practice's appointment types. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Filter by name."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size (default 25, max 100)."
},
"cursor": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Cursor from a previous reply's next_cursor, to get the next page."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Offset paging instead of a cursor (the reply then has count and next_offset)."
},
"practice": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only this practice's appointment types.",
"exclusiveMinimum": 0
}
}
}List appointments and calendar time slots, filterable by date range, patient, physician and practice. Each has the scheduled date, duration, status, reason, patient, physician and service location. Elation: GET /appointments/.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Page size (default 25, max 100). |
| cursor | string | Cursor from a previous reply's next_cursor, to get the next page. |
| offset | integer | Offset paging instead of a cursor (the reply then has count and next_offset). |
| patient | integer | Only this patient's appointments (patient id). |
| to_date | string | End of the range (ISO date or date-time). |
| practice | integer | Only this practice's appointments. |
| from_date | string | Start of the range (ISO date or date-time). |
| physician | integer | Only this physician's appointments (physician id). |
| time_slot_type |
List one patient's medication documents (PHI): drug name, strength, directions, quantity, authorized refills, prescribing physician, start date, and the discontinue order if any. Current and discontinued entries both appear unless you filter. Elation: GET /medications/?patient=.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Page size (default 25, max 100). |
| cursor | string | Cursor from a previous reply's next_cursor, to get the next page. |
| offset | integer | Offset paging instead of a cursor (the reply then has count and next_offset). |
| patient* | integer | Elation patient id (from elationhealth_list_patients). |
| permanent | boolean | true = only permanent (chronic) medications. |
| discontinued | boolean | true = only medications with a discontinue order, false = only those without. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patient"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size (default 25, max 100)."
},
"cursor": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Cursor from a previous reply's next_cursor, to get the next page."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Offset paging instead of a cursor (the reply then has count and next_offset)."
},
"patient": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Elation patient id (from elationhealth_list_patients).",
"exclusiveMinimum": 0
},
"permanent": {
"type": "boolean",
"description": "true = only permanent (chronic) medications."
},
"discontinued": {
"type": "boolean",
"description": "true = only medications with a discontinue order, false = only those without."
}
}
}List one patient's non-visit notes (PHI): free-text chart notes outside a visit, such as phone calls and administrative notes. Elation: GET /non_visit_notes/?patient=.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Page size (default 25, max 100). |
| cursor | string | Cursor from a previous reply's next_cursor, to get the next page. |
| offset | integer | Offset paging instead of a cursor (the reply then has count and next_offset). |
| patient* | integer | Elation patient id (from elationhealth_list_patients). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patient"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size (default 25, max 100)."
},
"cursor": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Cursor from a previous reply's next_cursor, to get the next page."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Offset paging instead of a cursor (the reply then has count and next_offset)."
},
"patient": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Elation patient id (from elationhealth_list_patients).",
"exclusiveMinimum": 0
}
}
}Search the practice's patient charts (PHI): id, name, date of birth, sex, contact details, address, status. First and last name match exactly (case-insensitive, no partial names). The SSN is redacted. Elation: GET /patients/.
| Argument | Type | Description |
|---|---|---|
| dob | string | Date of birth, YYYY-MM-DD. |
| limit | integer | Page size (default 25, max 100). |
| cursor | string | Cursor from a previous reply's next_cursor, to get the next page. |
| offset | integer | Offset paging instead of a cursor (the reply then has count and next_offset). |
| practice | integer | Only patients of this practice id. |
| last_name | string | Exact, case-insensitive last name. |
| first_name | string | Exact, case-insensitive first name. |
| phone_number | string | Phone number. |
| last_modified_after | string |
List the practice's physicians (providers): id, name, NPI, specialty, credentials, license, practice, user id. Elation: GET /physicians/.
| Argument | Type | Description |
|---|---|---|
| npi | string | Filter by 10-digit NPI. |
| limit | integer | Page size (default 25, max 100). |
| cursor | string | Cursor from a previous reply's next_cursor, to get the next page. |
| offset | integer | Offset paging instead of a cursor (the reply then has count and next_offset). |
| last_name | string | Filter by last name. |
| first_name | string | Filter by first name. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"npi": {
"type": "string",
"pattern": "^\\d{10}$",
"description": "Filter by 10-digit NPI."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size (default 25, max 100)."
},
"cursor": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Cursor from a previous reply's next_cursor, to get the next page."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Offset paging instead of a cursor (the reply then has count and next_offset)."
},
"last_name": {
"type": "string",
"maxLength": 150,
"minLength": 1,
"description": "Filter by last name."
},
"first_name": {
"type": "string",
"maxLength": 150,
"minLength": 1,
"description": "Filter by first name."
}
}
}List the practices this API key can access: id, name, address, status, time zone, physicians and service locations. Elation: GET /practices/.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Page size (default 25, max 100). |
| cursor | string | Cursor from a previous reply's next_cursor, to get the next page. |
| offset | integer | Offset paging instead of a cursor (the reply then has count and next_offset). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size (default 25, max 100)."
},
"cursor": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Cursor from a previous reply's next_cursor, to get the next page."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Offset paging instead of a cursor (the reply then has count and next_offset)."
}
}
}List one patient's problem list (PHI): description, ICD-9/ICD-10/SNOMED codes, status (Active, Controlled, Resolved), start and resolved dates, synopsis. Elation: GET /problems/?patient=.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Page size (default 25, max 100). |
| cursor | string | Cursor from a previous reply's next_cursor, to get the next page. |
| offset | integer | Offset paging instead of a cursor (the reply then has count and next_offset). |
| status | string | Problem status. |
| patient* | integer | Elation patient id (from elationhealth_list_patients). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patient"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size (default 25, max 100)."
},
"cursor": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Cursor from a previous reply's next_cursor, to get the next page."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Offset paging instead of a cursor (the reply then has count and next_offset)."
},
"status": {
"enum": [
"Active",
"Controlled",
"Resolved"
],
"type": "string",
"description": "Problem status."
},
"patient": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Elation patient id (from elationhealth_list_patients).",
"exclusiveMinimum": 0
}
}
}List one patient's visit notes (PHI): visit date, type, physician, signed state and the note body (bullets by category such as Subjective, Objective, Assessment, Plan). Filter by signed date or last change. Elation: GET /visit_notes/?patient=.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Page size (default 25, max 100). |
| cursor | string | Cursor from a previous reply's next_cursor, to get the next page. |
| offset | integer | Offset paging instead of a cursor (the reply then has count and next_offset). |
| patient* | integer | Elation patient id (from elationhealth_list_patients). |
| unsigned | boolean | true = only unsigned notes. |
| physician | integer | Only notes of this physician id. |
| to_signed_date | string | Only notes signed on or before this date or date-time. |
| from_signed_date | string | Only notes signed on or after this date or date-time. |
List one patient's vital signs (PHI): height, weight, BMI, blood pressure, heart rate, respiratory rate, temperature, oxygen saturation, pain, with chart dates. Elation: GET /vitals/?patient=.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Page size (default 25, max 100). |
| cursor | string | Cursor from a previous reply's next_cursor, to get the next page. |
| offset | integer | Offset paging instead of a cursor (the reply then has count and next_offset). |
| patient* | integer | Elation patient id (from elationhealth_list_patients). |
| visit_note | integer | Only vitals recorded in this visit note id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patient"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size (default 25, max 100)."
},
"cursor": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Cursor from a previous reply's next_cursor, to get the next page."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Offset paging instead of a cursor (the reply then has count and next_offset)."
},
"patient": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Elation patient id (from elationhealth_list_patients).",
"exclusiveMinimum": 0
},
"visit_note": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only vitals recorded in this visit note id.",
"exclusiveMinimum": 0
}
}
}| string |
| Kind of calendar entry. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size (default 25, max 100)."
},
"cursor": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Cursor from a previous reply's next_cursor, to get the next page."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Offset paging instead of a cursor (the reply then has count and next_offset)."
},
"patient": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only this patient's appointments (patient id).",
"exclusiveMinimum": 0
},
"to_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}([T ][\\d:.]+(Z|[+-]\\d{2}:?\\d{2})?)?$",
"description": "End of the range (ISO date or date-time)."
},
"practice": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only this practice's appointments.",
"exclusiveMinimum": 0
},
"from_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}([T ][\\d:.]+(Z|[+-]\\d{2}:?\\d{2})?)?$",
"description": "Start of the range (ISO date or date-time)."
},
"physician": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only this physician's appointments (physician id).",
"exclusiveMinimum": 0
},
"time_slot_type": {
"enum": [
"appointment",
"appointment_slot",
"event"
],
"type": "string",
"description": "Kind of calendar entry."
}
}
}| Only patients changed after this date or date-time. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"dob": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date of birth, YYYY-MM-DD."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size (default 25, max 100)."
},
"cursor": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Cursor from a previous reply's next_cursor, to get the next page."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Offset paging instead of a cursor (the reply then has count and next_offset)."
},
"practice": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only patients of this practice id.",
"exclusiveMinimum": 0
},
"last_name": {
"type": "string",
"maxLength": 150,
"minLength": 1,
"description": "Exact, case-insensitive last name."
},
"first_name": {
"type": "string",
"maxLength": 150,
"minLength": 1,
"description": "Exact, case-insensitive first name."
},
"phone_number": {
"type": "string",
"maxLength": 40,
"minLength": 3,
"description": "Phone number."
},
"last_modified_after": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}([T ][\\d:.]+(Z|[+-]\\d{2}:?\\d{2})?)?$",
"description": "Only patients changed after this date or date-time."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patient"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size (default 25, max 100)."
},
"cursor": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Cursor from a previous reply's next_cursor, to get the next page."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Offset paging instead of a cursor (the reply then has count and next_offset)."
},
"patient": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Elation patient id (from elationhealth_list_patients).",
"exclusiveMinimum": 0
},
"unsigned": {
"type": "boolean",
"description": "true = only unsigned notes."
},
"physician": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only notes of this physician id.",
"exclusiveMinimum": 0
},
"to_signed_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}([T ][\\d:.]+(Z|[+-]\\d{2}:?\\d{2})?)?$",
"description": "Only notes signed on or before this date or date-time."
},
"from_signed_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}([T ][\\d:.]+(Z|[+-]\\d{2}:?\\d{2})?)?$",
"description": "Only notes signed on or after this date or date-time."
}
}
}