Photon Health MCP by usefulapi
Read Photon Health patients, prescriptions, orders, pharmacies and medications; screen interactions.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (8)
- LOWen photonhealth_list_prescriptions
- LOWen photonhealth_search_medications
- LOWen photonhealth_list_medication_products
- LOWen photonhealth_list_medication_packages
- LOWen photonhealth_get_medication_by_ndc
- LOWen photonhealth_search_medical_equipment
- LOWen photonhealth_list_dispense_units
- LOWen photonhealth_screen_interactions
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"photon-health": {
"url": "https://photon-health.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://photon-health.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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"
}Comunidad
Evidencia