Elation Health MCP by usefulapi

Read Elation Health patients, appointments, problems, allergies, medications, notes and vitals.

我該用這個嗎

品質與安全性

A
說明品質
99%
結構描述完整度
96%
命名品質
76%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(3)

  • LOWTool 'elationhealth_list_appointments' name length outside 3-30 range在 elationhealth_list_appointments 中
  • LOWTool 'elationhealth_list_appointment_types' name length outside 3-30 range在 elationhealth_list_appointment_types 中
  • LOWTool 'elationhealth_list_non_visit_notes' name length outside 3-30 range在 elationhealth_list_non_visit_notes 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~3,975Token(工具定義)
~2.2 KB典型回應大小
顯著的注意力影響(128k 上下文的 3.11%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `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"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本14 個工具