particlehealth

Query Particle Health patient records across connected clinical networks.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
99%
이름 품질
78%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (1)

  • LOWTool 'particle_search_network_participants' name length outside 3-30 rangeparticle_search_network_participants에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,343토큰 (도구 정의)
~1.8 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.83%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "particlehealth": {
      "url": "https://particlehealth.usefulapi.io/mcp"
    }
  }
}

원격 엔드포인트

https://particlehealth.usefulapi.io/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (11)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢particle_get_patient(particle_patient_id)

Fetch a single patient record by its Particle patient id. Endpoint: GET /api/v2/patients/{particle_patient_id}.

입력 스키마

{
  "type": "object",
  "properties": {
    "particle_patient_id": {
      "type": "string",
      "description": "Particle-assigned patient id (from submit/search)."
    }
  },
  "required": [
    "particle_patient_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢particle_search_patient(given_name, family_name, date_of_birth, gender, patient_id, ...)

Search for an existing patient by demographics (non-mutating). Returns an array of matching patient objects (or a 204 message when none match). Endpoint: POST /api/v2/patients/search.

입력 스키마

{
  "type": "object",
  "properties": {
    "given_name": {
      "type": "string",
      "description": "Patient's legal first / given name."
    },
    "family_name": {
      "type": "string",
      "description": "Patient's legal last / family name."
    },
    "date_of_birth": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Date of birth, YYYY-MM-DD."
    },
    "gender": {
      "type": "string",
      "enum": [
        "MALE",
        "FEMALE"
      ],
      "description": "Administrative gender: MALE or FEMALE."
    },
    "patient_id": {
      "type": "string",
      "description": "Your own external identifier for this patient (echoed back by Particle)."
    },
    "address_city": {
      "type": "string",
      "description": "City of the patient's home address."
    },
    "address_state": {
      "type": "string",
      "description": "Two-letter US state code, e.g. NY."
    },
    "postal_code": {
      "type": "string",
      "description": "5-digit ZIP / postal code."
    },
    "address_lines": {
      "description": "Street address lines, e.g. [\"123 Main St\"].",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "email": {
      "description": "Patient email address.",
      "type": "string"
    },
    "telephone": {
      "description": "Patient phone number.",
      "type": "string"
    },
    "ssn": {
      "description": "Social Security Number (optional; improves demographic match quality).",
      "type": "string"
    },
    "consent": {
      "description": "Consent objects, if required by your Particle data-sharing agreement.",
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    }
  },
  "required": [
    "given_name",
    "family_name",
    "date_of_birth",
    "gender",
    "patient_id",
    "address_city",
    "address_state",
    "postal_code"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢particle_get_query_status(particle_patient_id, query_id)

Get the status of a clinical-record retrieval query (state, timing, demographics, files). Omit query_id to get the latest COMPLETE query. Endpoint: GET /api/v2/patients/{particle_patient_id}/query.

입력 스키마

{
  "type": "object",
  "properties": {
    "particle_patient_id": {
      "type": "string",
      "description": "Particle-assigned patient id."
    },
    "query_id": {
      "description": "Specific query id; omit for the latest COMPLETE query.",
      "type": "string"
    }
  },
  "required": [
    "particle_patient_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢particle_get_fhir(particle_patient_id, _since, _count, _page_token)

Retrieve the patient's complete clinical record as a FHIR searchset Bundle. Supports incremental sync and pagination. Endpoint: GET /api/v2/patients/{particle_patient_id}/fhir.

입력 스키마

{
  "type": "object",
  "properties": {
    "particle_patient_id": {
      "type": "string",
      "description": "Particle-assigned patient id."
    },
    "_since": {
      "description": "RFC3339 timestamp; only return resources updated since then.",
      "type": "string"
    },
    "_count": {
      "description": "Page size (max resources per page).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "_page_token": {
      "description": "Opaque token from a previous page's `link` to fetch the next page.",
      "type": "string"
    }
  },
  "required": [
    "particle_patient_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢particle_get_fhir_by_type(particle_patient_id, resource_type, _since, _count, _page_token)

Retrieve only one FHIR resource type for a patient (e.g. Condition, MedicationRequest, Observation) as a Bundle. Supports the same pagination as particle_get_fhir. Endpoint: GET /api/v2/patients/{particle_patient_id}/fhir/{type}.

입력 스키마

{
  "type": "object",
  "properties": {
    "particle_patient_id": {
      "type": "string",
      "description": "Particle-assigned patient id."
    },
    "resource_type": {
      "type": "string",
      "description": "FHIR resource type, e.g. Condition, MedicationRequest, Observation, AllergyIntolerance."
    },
    "_since": {
      "description": "RFC3339 timestamp; only return resources updated since then.",
      "type": "string"
    },
    "_count": {
      "description": "Page size (max resources per page).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "_page_token": {
      "description": "Opaque token from a previous page's `link` to fetch the next page.",
      "type": "string"
    }
  },
  "required": [
    "particle_patient_id",
    "resource_type"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢particle_get_flat(particle_patient_id, _since, domain)

Retrieve the patient's clinical data in Particle's flattened (de-nested) format, easier to read than raw FHIR. Optionally filter to one domain. Endpoint: GET /api/v2/patients/{particle_patient_id}/flat.

입력 스키마

{
  "type": "object",
  "properties": {
    "particle_patient_id": {
      "type": "string",
      "description": "Particle-assigned patient id."
    },
    "_since": {
      "description": "RFC3339 timestamp; only return data updated since then.",
      "type": "string"
    },
    "domain": {
      "description": "Filter to a single clinical domain, e.g. Condition, Medication, Encounter.",
      "type": "string"
    }
  },
  "required": [
    "particle_patient_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢particle_get_ccda(particle_patient_id)

Retrieve the patient's C-CDA clinical document(s). May be large and returned as XML/text — parsed if JSON, otherwise passed through as-is. Endpoint: GET /api/v2/patients/{particle_patient_id}/ccda.

입력 스키마

{
  "type": "object",
  "properties": {
    "particle_patient_id": {
      "type": "string",
      "description": "Particle-assigned patient id."
    }
  },
  "required": [
    "particle_patient_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢particle_search_network_participants(state, zipcode, continuation_token)

List the health-data network participants (organizations Particle can query). Optionally filter by state or zipcode, and page with continuation_token. Endpoint: GET /api/v1/networkparticipants (with /state/{state} and /zipcode/{zip} variants).

입력 스키마

{
  "type": "object",
  "properties": {
    "state": {
      "description": "Two-letter US state code to filter participants, e.g. NY.",
      "type": "string"
    },
    "zipcode": {
      "description": "5-digit ZIP code to filter participants (ignored if `state` is set).",
      "type": "string"
    },
    "continuation_token": {
      "description": "Token from a previous response to fetch the next page.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢particle_get_patient_documents(patient_id)

List the documents uploaded / available for a patient. Endpoint: GET /api/v1/documents/{patient_id}.

입력 스키마

{
  "type": "object",
  "properties": {
    "patient_id": {
      "type": "string",
      "description": "Patient id whose documents to list."
    }
  },
  "required": [
    "patient_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴particle_submit_patient(given_name, family_name, date_of_birth, gender, patient_id, ...)

⚠️ WRITE: register a new patient with Particle Health. Returns the patient with a system-generated particle_patient_id (use it for subsequent queries). Endpoint: POST /api/v2/patients.

입력 스키마

{
  "type": "object",
  "properties": {
    "given_name": {
      "type": "string",
      "description": "Patient's legal first / given name."
    },
    "family_name": {
      "type": "string",
      "description": "Patient's legal last / family name."
    },
    "date_of_birth": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Date of birth, YYYY-MM-DD."
    },
    "gender": {
      "type": "string",
      "enum": [
        "MALE",
        "FEMALE"
      ],
      "description": "Administrative gender: MALE or FEMALE."
    },
    "patient_id": {
      "type": "string",
      "description": "Your own external identifier for this patient (echoed back by Particle)."
    },
    "address_city": {
      "type": "string",
      "description": "City of the patient's home address."
    },
    "address_state": {
      "type": "string",
      "description": "Two-letter US state code, e.g. NY."
    },
    "postal_code": {
      "type": "string",
      "description": "5-digit ZIP / postal code."
    },
    "address_lines": {
      "description": "Street address lines, e.g. [\"123 Main St\"].",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "email": {
      "description": "Patient email address.",
      "type": "string"
    },
    "telephone": {
      "description": "Patient phone number.",
      "type": "string"
    },
    "ssn": {
      "description": "Social Security Number (optional; improves demographic match quality).",
      "type": "string"
    },
    "consent": {
      "description": "Consent objects, if required by your Particle data-sharing agreement.",
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    }
  },
  "required": [
    "given_name",
    "family_name",
    "date_of_birth",
    "gender",
    "patient_id",
    "address_city",
    "address_state",
    "postal_code"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴particle_create_query(particle_patient_id, purpose_of_use, hints, specialties)

⚠️ WRITE: initiate a nationwide clinical-record retrieval for a patient. Returns a query_id — poll particle_get_query_status for progress. Endpoint: POST /api/v2/patients/{particle_patient_id}/query.

입력 스키마

{
  "type": "object",
  "properties": {
    "particle_patient_id": {
      "type": "string",
      "description": "Particle-assigned patient id to run the query for."
    },
    "purpose_of_use": {
      "type": "string",
      "description": "Purpose of use for the request, e.g. TREATMENT."
    },
    "hints": {
      "description": "Postal codes to hint where records may be found.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "specialties": {
      "description": "Specialties to focus the query, e.g. [\"ONCOLOGY\"].",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "particle_patient_id",
    "purpose_of_use"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 11개