Photon Health MCP by usefulapi
Read Photon Health patients, prescriptions, orders, pharmacies and medications; screen interactions.
사용해야 할까요
품질 및 안전성
발견 사항 (8)
- LOWphotonhealth_list_prescriptions에서
- LOWphotonhealth_search_medications에서
- LOWphotonhealth_list_medication_products에서
- LOWphotonhealth_list_medication_packages에서
- LOWphotonhealth_get_medication_by_ndc에서
- LOWphotonhealth_search_medical_equipment에서
- LOWphotonhealth_list_dispense_units에서
- LOWphotonhealth_screen_interactions에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"photon-health": {
"url": "https://photon-health.usefulapi.io/mcp"
}
}
}원격 엔드포인트
https://photon-health.usefulapi.io/mcpstreamable-http할 수 있는 일
도구 목록
도구 (21)
🟢photonhealth_list_patients(name, first, after)
List the organization's patients (id, external id, name, date of birth, sex, contact, address), optionally filtered by name. Photon GraphQL: patients.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"description": "Filter by patient name (partial match).",
"type": "string"
},
"first": {
"description": "Page size (forward pagination).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"after": {
"description": "Cursor: the id of the last item of the previous page.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢photonhealth_get_patient(patient_id)
Get one patient by Photon id, with allergies, medication history, preferred pharmacies, and their prescriptions and orders (ids + states). Photon GraphQL: patient.
입력 스키마
{
"type": "object",
"properties": {
"patient_id": {
"type": "string",
"minLength": 1,
"description": "Photon patient id (pat_…)."
}
},
"required": [
"patient_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢photonhealth_list_prescriptions(patient_id, patient_name, prescriber_id, state, first, ...)
List the organization's prescriptions, filterable by patient, prescriber and state (ACTIVE, EXPIRED, DEPLETED, CANCELED). Each has the medication, quantity, refills/fills remaining, directions, diagnoses and fills. Photon GraphQL: prescriptions.
입력 스키마
{
"type": "object",
"properties": {
"patient_id": {
"description": "Only this patient's prescriptions (pat_…).",
"type": "string"
},
"patient_name": {
"description": "Filter by patient name.",
"type": "string"
},
"prescriber_id": {
"description": "Only prescriptions written by this prescriber (Photon user id).",
"type": "string"
},
"state": {
"description": "Prescription state.",
"type": "string",
"enum": [
"ACTIVE",
"EXPIRED",
"DEPLETED",
"CANCELED"
]
},
"first": {
"description": "Page size (forward pagination).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"after": {
"description": "Cursor: the id of the last item of the previous page.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢photonhealth_get_prescription(prescription_id)
Get one prescription by id: state, prescriber, patient, medication (with RxCUI/NDC codes), quantity, refills and fills remaining, days supply, directions, notes, diagnoses, dates and fills. Photon GraphQL: prescription.
입력 스키마
{
"type": "object",
"properties": {
"prescription_id": {
"type": "string",
"minLength": 1,
"description": "Photon prescription id (rx_…)."
}
},
"required": [
"prescription_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢photonhealth_list_orders(patient_id, patient_name, state, first, after)
List pharmacy orders, filterable by patient and state (ROUTING, PENDING, PLACED, COMPLETED, CANCELED, ERROR). Each has the pharmacy, delivery address, fulfillment (type, state, carrier, tracking number) and fills. Photon GraphQL: orders.
입력 스키마
{
"type": "object",
"properties": {
"patient_id": {
"description": "Only this patient's orders (pat_…).",
"type": "string"
},
"patient_name": {
"description": "Filter by patient name.",
"type": "string"
},
"state": {
"description": "Order state.",
"type": "string",
"enum": [
"ROUTING",
"PENDING",
"PLACED",
"COMPLETED",
"CANCELED",
"ERROR"
]
},
"first": {
"description": "Page size (forward pagination).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"after": {
"description": "Cursor: the id of the last item of the previous page.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢photonhealth_get_order(order_id)
Get one order by id: state, patient, pharmacy, address, fulfillment status/tracking and its fills. Photon GraphQL: order.
입력 스키마
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"minLength": 1,
"description": "Photon order id (ord_…)."
}
},
"required": [
"order_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢photonhealth_get_fill(fill_id)
Get one fill (a single dispensing of a prescription within an order) by id: state (SCHEDULED, NEW, SENT, CANCELED), requested/filled times, medication, prescription and order. Photon GraphQL: fill.
입력 스키마
{
"type": "object",
"properties": {
"fill_id": {
"type": "string",
"minLength": 1,
"description": "Photon fill id (fil_…)."
}
},
"required": [
"fill_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢photonhealth_search_pharmacies(name, latitude, longitude, radius_miles, type, ...)
Search pharmacies by name and/or near a location (latitude/longitude + radius in miles), by fulfillment type (PICK_UP = retail, MAIL_ORDER). Returns NPI, NCPDP, address, phone, fax. Photon GraphQL: pharmacies.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"description": "Pharmacy name (partial).",
"type": "string"
},
"latitude": {
"description": "Search center latitude.",
"type": "number",
"minimum": -90,
"maximum": 90
},
"longitude": {
"description": "Search center longitude.",
"type": "number",
"minimum": -180,
"maximum": 180
},
"radius_miles": {
"description": "Search radius in miles (with latitude/longitude).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"type": {
"description": "Fulfillment type (Photon's default is PICK_UP).",
"type": "string",
"enum": [
"PICK_UP",
"MAIL_ORDER"
]
},
"first": {
"description": "Page size (forward pagination).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Number of results to skip (offset pagination).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢photonhealth_get_pharmacy(pharmacy_id)
Get one pharmacy by Photon id: name, NPI, NCPDP, address, phone, fax and fulfillment types. Photon GraphQL: pharmacy.
입력 스키마
{
"type": "object",
"properties": {
"pharmacy_id": {
"type": "string",
"minLength": 1,
"description": "Photon pharmacy id (phr_…)."
}
},
"required": [
"pharmacy_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢photonhealth_search_medications(name, code, first, after)
Search Photon's medication database by drug name (partial) or code (RxCUI, NDC or SKU). Returns DRUG-level concepts with RxCUI/NDC codes, schedule, controlled flag, strength and form; drill down with list_medication_products / list_medication_packages. Photon GraphQL: medications.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"description": "Drug name (partial), e.g. 'amoxicillin'.",
"type": "string"
},
"code": {
"description": "RxCUI, NDC or SKU.",
"type": "string"
},
"first": {
"description": "Page size (forward pagination).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"after": {
"description": "Cursor: the id of the last item of the previous page.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢photonhealth_list_medication_products(medication_id)
List the prescribable products (strength + form) of a DRUG-level medication from search_medications. Photon GraphQL: medicationProducts.
입력 스키마
{
"type": "object",
"properties": {
"medication_id": {
"type": "string",
"minLength": 1,
"description": "Medication id of a DRUG concept (from search_medications)."
}
},
"required": [
"medication_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢photonhealth_list_medication_packages(medication_id)
List the packages (package NDCs) of a PRODUCT-level medication from list_medication_products. Photon GraphQL: medicationPackages.
입력 스키마
{
"type": "object",
"properties": {
"medication_id": {
"type": "string",
"minLength": 1,
"description": "Medication id of a PRODUCT (from list_medication_products)."
}
},
"required": [
"medication_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢photonhealth_get_medication_by_ndc(package_ndc)
Find the medication matching a package NDC (11-digit National Drug Code). Photon GraphQL (clinical API): medicationFromNdc.
입력 스키마
{
"type": "object",
"properties": {
"package_ndc": {
"type": "string",
"pattern": "^[0-9-]{10,13}$",
"description": "Package NDC."
}
},
"required": [
"package_ndc"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢photonhealth_search_medical_equipment(name, first, after)
Search prescribable medical equipment/supplies (e.g. glucose test strips) by name. Photon GraphQL: medicalEquipment.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"description": "Equipment name (partial).",
"type": "string"
},
"first": {
"description": "Page size (forward pagination).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"after": {
"description": "Cursor: the id of the last item of the previous page.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢photonhealth_list_catalogs
List the organization's treatment catalogs (the medications it prescribes) with their treatments and prescription templates. Photon GraphQL: catalogs.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢photonhealth_get_catalog(catalog_id)
Get one treatment catalog by id with its treatments and prescription templates (quantity, refills, days supply, directions). Photon GraphQL: catalog.
입력 스키마
{
"type": "object",
"properties": {
"catalog_id": {
"type": "string",
"minLength": 1,
"description": "Catalog id (from list_catalogs)."
}
},
"required": [
"catalog_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢photonhealth_search_allergens(name)
Search Photon's allergen list by name (fuzzy), e.g. to map a patient's reported allergy to an allergen id/RxCUI. Photon GraphQL: allergens.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Allergen name, e.g. 'penicillin'."
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢photonhealth_list_dispense_units
List the dispense units Photon accepts on a prescription (e.g. Each, Milliliter, Tablet). Photon GraphQL: dispenseUnits.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢photonhealth_get_organization
Get the Photon organization these API keys belong to: id, name, type, NPI, address and contact details. Photon GraphQL (clinical API): organization.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢photonhealth_list_users(name, page_size, page_num)
List the organization's users (prescribers and staff): id, name, email, NPI, credentials and roles — use an id as prescriber_id in list_prescriptions. Photon GraphQL (clinical API): users.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"description": "Filter by user name.",
"type": "string"
},
"page_size": {
"description": "Page size (default 50, max 100).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"page_num": {
"description": "Page number (1-based).",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢photonhealth_screen_interactions(patient_id, treatment_ids, diagnosis_codes)
Screen proposed medications for a patient against drug-drug and drug-allergy (and diagnosis) interactions, using the patient's allergies, medication history and existing prescriptions. READ-ONLY: nothing is written or prescribed. Returns alerts with type (DRUG, ALLERGEN, CONDITION), severity (MINOR, MODERATE, MAJOR), a description and the involved medications/allergens. Photon GraphQL (clinical API): prescriptionScreen.
입력 스키마
{
"type": "object",
"properties": {
"patient_id": {
"type": "string",
"minLength": 1,
"description": "Photon patient id (pat_…)."
},
"treatment_ids": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Medication/treatment ids to screen (med_…, from search_medications or a catalog)."
},
"diagnosis_codes": {
"description": "Optional ICD-10 codes to screen against, e.g. ['I10'].",
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
},
"required": [
"patient_id",
"treatment_ids"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}커뮤니티
증거