Elation Health MCP by usefulapi
Read Elation Health patients, appointments, problems, allergies, medications, notes and vitals.
使うべきか
品質と安全性
検出事項(3)
- LOWelationhealth_list_appointments 内
- LOWelationhealth_list_appointment_types 内
- LOWelationhealth_list_non_visit_notes 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"elation-health": {
"url": "https://elation-health.usefulapi.io/mcp"
}
}
}リモートエンドポイント
https://elation-health.usefulapi.io/mcpstreamable-httpできること
ツール一覧
ツール(14)
🟢elationhealth_list_patients(first_name, last_name, dob, phone_number, practice, ...)
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/.
入力スキーマ
{
"type": "object",
"properties": {
"first_name": {
"description": "Exact, case-insensitive first name.",
"type": "string",
"minLength": 1,
"maxLength": 150
},
"last_name": {
"description": "Exact, case-insensitive last name.",
"type": "string",
"minLength": 1,
"maxLength": 150
},
"dob": {
"description": "Date of birth, YYYY-MM-DD.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"phone_number": {
"description": "Phone number.",
"type": "string",
"minLength": 3,
"maxLength": 40
},
"practice": {
"description": "Only patients of this practice id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"last_modified_after": {
"description": "Only patients changed after this date or date-time.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}([T ][\\d:.]+(Z|[+-]\\d{2}:?\\d{2})?)?$"
},
"limit": {
"description": "Page size (default 25, max 100).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"description": "Cursor from a previous reply's next_cursor, to get the next page.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"offset": {
"description": "Offset paging instead of a cursor (the reply then has count and next_offset).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢elationhealth_get_patient(patient_id)
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}/.
入力スキーマ
{
"type": "object",
"properties": {
"patient_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Elation patient id (from elationhealth_list_patients)."
}
},
"required": [
"patient_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢elationhealth_list_appointments(from_date, to_date, patient, physician, practice, ...)
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/.
入力スキーマ
{
"type": "object",
"properties": {
"from_date": {
"description": "Start of the range (ISO date or date-time).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}([T ][\\d:.]+(Z|[+-]\\d{2}:?\\d{2})?)?$"
},
"to_date": {
"description": "End of the range (ISO date or date-time).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}([T ][\\d:.]+(Z|[+-]\\d{2}:?\\d{2})?)?$"
},
"patient": {
"description": "Only this patient's appointments (patient id).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"physician": {
"description": "Only this physician's appointments (physician id).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"practice": {
"description": "Only this practice's appointments.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"time_slot_type": {
"description": "Kind of calendar entry.",
"type": "string",
"enum": [
"appointment",
"appointment_slot",
"event"
]
},
"limit": {
"description": "Page size (default 25, max 100).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"description": "Cursor from a previous reply's next_cursor, to get the next page.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"offset": {
"description": "Offset paging instead of a cursor (the reply then has count and next_offset).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢elationhealth_get_appointment(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}/.
入力スキーマ
{
"type": "object",
"properties": {
"appointment_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Elation appointment id."
}
},
"required": [
"appointment_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢elationhealth_list_appointment_types(practice, name, limit, cursor, offset)
List the appointment types (visit reasons with default duration) a practice offers. Elation: GET /appointment_types/.
入力スキーマ
{
"type": "object",
"properties": {
"practice": {
"description": "Only this practice's appointment types.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"name": {
"description": "Filter by name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"limit": {
"description": "Page size (default 25, max 100).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"description": "Cursor from a previous reply's next_cursor, to get the next page.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"offset": {
"description": "Offset paging instead of a cursor (the reply then has count and next_offset).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢elationhealth_list_practices(limit, cursor, offset)
List the practices this API key can access: id, name, address, status, time zone, physicians and service locations. Elation: GET /practices/.
入力スキーマ
{
"type": "object",
"properties": {
"limit": {
"description": "Page size (default 25, max 100).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"description": "Cursor from a previous reply's next_cursor, to get the next page.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"offset": {
"description": "Offset paging instead of a cursor (the reply then has count and next_offset).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢elationhealth_list_physicians(first_name, last_name, npi, limit, cursor, ...)
List the practice's physicians (providers): id, name, NPI, specialty, credentials, license, practice, user id. Elation: GET /physicians/.
入力スキーマ
{
"type": "object",
"properties": {
"first_name": {
"description": "Filter by first name.",
"type": "string",
"minLength": 1,
"maxLength": 150
},
"last_name": {
"description": "Filter by last name.",
"type": "string",
"minLength": 1,
"maxLength": 150
},
"npi": {
"description": "Filter by 10-digit NPI.",
"type": "string",
"pattern": "^\\d{10}$"
},
"limit": {
"description": "Page size (default 25, max 100).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"description": "Cursor from a previous reply's next_cursor, to get the next page.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"offset": {
"description": "Offset paging instead of a cursor (the reply then has count and next_offset).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢elationhealth_list_problems(patient, status, limit, cursor, 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=.
入力スキーマ
{
"type": "object",
"properties": {
"patient": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Elation patient id (from elationhealth_list_patients)."
},
"status": {
"description": "Problem status.",
"type": "string",
"enum": [
"Active",
"Controlled",
"Resolved"
]
},
"limit": {
"description": "Page size (default 25, max 100).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"description": "Cursor from a previous reply's next_cursor, to get the next page.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"offset": {
"description": "Offset paging instead of a cursor (the reply then has count and next_offset).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"patient"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢elationhealth_list_allergies(patient, limit, cursor, offset)
List one patient's allergies (PHI): allergen name, reaction, severity, status, start date. Elation: GET /allergies/?patient=.
入力スキーマ
{
"type": "object",
"properties": {
"patient": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Elation patient id (from elationhealth_list_patients)."
},
"limit": {
"description": "Page size (default 25, max 100).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"description": "Cursor from a previous reply's next_cursor, to get the next page.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"offset": {
"description": "Offset paging instead of a cursor (the reply then has count and next_offset).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"patient"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢elationhealth_list_medications(patient, discontinued, permanent, limit, cursor, ...)
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=.
入力スキーマ
{
"type": "object",
"properties": {
"patient": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Elation patient id (from elationhealth_list_patients)."
},
"discontinued": {
"description": "true = only medications with a discontinue order, false = only those without.",
"type": "boolean"
},
"permanent": {
"description": "true = only permanent (chronic) medications.",
"type": "boolean"
},
"limit": {
"description": "Page size (default 25, max 100).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"description": "Cursor from a previous reply's next_cursor, to get the next page.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"offset": {
"description": "Offset paging instead of a cursor (the reply then has count and next_offset).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"patient"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢elationhealth_list_visit_notes(patient, physician, unsigned, from_signed_date, to_signed_date, ...)
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=.
入力スキーマ
{
"type": "object",
"properties": {
"patient": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Elation patient id (from elationhealth_list_patients)."
},
"physician": {
"description": "Only notes of this physician id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"unsigned": {
"description": "true = only unsigned notes.",
"type": "boolean"
},
"from_signed_date": {
"description": "Only notes signed on or after this date or date-time.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}([T ][\\d:.]+(Z|[+-]\\d{2}:?\\d{2})?)?$"
},
"to_signed_date": {
"description": "Only notes signed on or before this date or date-time.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}([T ][\\d:.]+(Z|[+-]\\d{2}:?\\d{2})?)?$"
},
"limit": {
"description": "Page size (default 25, max 100).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"description": "Cursor from a previous reply's next_cursor, to get the next page.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"offset": {
"description": "Offset paging instead of a cursor (the reply then has count and next_offset).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"patient"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢elationhealth_get_visit_note(visit_note_id)
Get one visit note by id (PHI): visit date, type, physician, signed state and the full note body. Elation: GET /visit_notes/{id}/.
入力スキーマ
{
"type": "object",
"properties": {
"visit_note_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Elation visit note id (from elationhealth_list_visit_notes)."
}
},
"required": [
"visit_note_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢elationhealth_list_non_visit_notes(patient, limit, cursor, offset)
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=.
入力スキーマ
{
"type": "object",
"properties": {
"patient": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Elation patient id (from elationhealth_list_patients)."
},
"limit": {
"description": "Page size (default 25, max 100).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"description": "Cursor from a previous reply's next_cursor, to get the next page.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"offset": {
"description": "Offset paging instead of a cursor (the reply then has count and next_offset).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"patient"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢elationhealth_list_vitals(patient, visit_note, limit, cursor, offset)
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=.
入力スキーマ
{
"type": "object",
"properties": {
"patient": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Elation patient id (from elationhealth_list_patients)."
},
"visit_note": {
"description": "Only vitals recorded in this visit note id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Page size (default 25, max 100).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"description": "Cursor from a previous reply's next_cursor, to get the next page.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"offset": {
"description": "Offset paging instead of a cursor (the reply then has count and next_offset).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"patient"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}コミュニティ
エビデンス