Query Health Gorilla FHIR patients, conditions, medications and lab results.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Registers a NEW patient record in your Health Gorilla tenant. FHIR: POST /Patient with a minimal FHIR R4 Patient resource built from the given args. State-changing.
Given (first) name.
Family (last) name.
Administrative gender.
Date of birth, yyyy-mm-dd.
City.
Street address line.
State (2-letter).
Business identifier value (e.g. MRN).
Postal / ZIP code.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Registers a NEW patient record in your Health Gorilla tenant. FHIR: POST /Patient with a minimal FHIR R4 Patient resource built from the given args. State-changing.
| Argument | Type | Description |
|---|---|---|
| city | string | City. |
| line | string | Street address line. |
| given* | string | Given (first) name. |
| state | string | State (2-letter). |
| family* | string | Family (last) name. |
| gender* | string | Administrative gender. |
| birthdate* | string | Date of birth, yyyy-mm-dd. |
| identifier | string | Business identifier value (e.g. MRN). |
| postalCode | string | Postal / ZIP code. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"given",
"family",
"birthdate",
"gender"
],
"properties": {
"city": {
"type": "string",
"description": "City."
},
"line": {
"type": "string",
"description": "Street address line."
},
"given": {
"type": "string",
"minLength": 1,
"description": "Given (first) name."
},
"state": {
"type": "string",
"description": "State (2-letter)."
},
"family": {
"type": "string",
"minLength": 1,
"description": "Family (last) name."
},
"gender": {
"enum": [
"male",
"female",
"other",
"unknown"
],
"type": "string",
"description": "Administrative gender."
},
"birthdate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date of birth, yyyy-mm-dd."
},
"identifier": {
"type": "string",
"description": "Business identifier value (e.g. MRN)."
},
"postalCode": {
"type": "string",
"description": "Postal / ZIP code."
}
}
}Escape hatch: run an arbitrary FHIR search. GET /{resource_type}?{query}. e.g. resource_type='Observation', query='patient=123&category=laboratory&_count=5'. Use when a dedicated tool does not cover your query.
| Argument | Type | Description |
|---|---|---|
| query | string | Raw FHIR query string without the leading '?', e.g. patient=123&_count=5. |
| resource_type* | string | FHIR resource type, e.g. Patient, Observation, Encounter. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"resource_type"
],
"properties": {
"query": {
"type": "string",
"description": "Raw FHIR query string without the leading '?', e.g. patient=123&_count=5."
},
"resource_type": {
"type": "string",
"pattern": "^[A-Za-z]+$",
"description": "FHIR resource type, e.g. Patient, Observation, Encounter."
}
}
}Search for patients by demographics. FHIR: GET /Patient?given=&family=&birthdate=&identifier=. Returns a FHIR searchset Bundle. Use the returned Patient id with the other tools.
| Argument | Type | Description |
|---|---|---|
| given | string | Given (first) name. |
| _count | integer | FHIR _count — max results per page. |
| family | string | Family (last) name. |
| birthdate | string | Date of birth, yyyy-mm-dd. |
| identifier | string | Business identifier (e.g. MRN), optionally system|value. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"given": {
"type": "string",
"description": "Given (first) name."
},
"_count": {
"type": "integer",
"maximum": 1000,
"description": "FHIR _count — max results per page.",
"exclusiveMinimum": 0
},
"family": {
"type": "string",
"description": "Family (last) name."
},
"birthdate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date of birth, yyyy-mm-dd."
},
"identifier": {
"type": "string",
"description": "Business identifier (e.g. MRN), optionally system|value."
}
}
}Retrieve raw document content by Binary id. FHIR: GET /Binary/{id}. Content may be a FHIR Binary JSON resource, XML C-CDA, or base64 — returned as-is (raw text if not JSON).
| Argument | Type | Description |
|---|---|---|
| binary_id* | string | Binary resource id (from a DocumentReference). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"binary_id"
],
"properties": {
"binary_id": {
"type": "string",
"minLength": 1,
"description": "Binary resource id (from a DocumentReference)."
}
}
}List a patient's insurance coverage. FHIR: GET /Coverage?patient={id}. Returns a FHIR searchset Bundle.
| Argument | Type | Description |
|---|---|---|
| patient_id* | string | Patient resource id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patient_id"
],
"properties": {
"patient_id": {
"type": "string",
"minLength": 1,
"description": "Patient resource id."
}
}
}Read a single patient by id. FHIR: GET /Patient/{id}. Returns a FHIR Patient resource.
| Argument | Type | Description |
|---|---|---|
| patient_id* | string | Health Gorilla Patient resource id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patient_id"
],
"properties": {
"patient_id": {
"type": "string",
"minLength": 1,
"description": "Health Gorilla Patient resource id."
}
}
}Fetch the comprehensive record for a patient as a FHIR Bundle. FHIR: GET /Patient/{id}/$everything. Optionally scope by _since and page with _count.
| Argument | Type | Description |
|---|---|---|
| _count | integer | FHIR _count — max results per page. |
| _since | string | Only include resources updated on/after this date, yyyy-mm-dd. |
| patient_id* | string | Health Gorilla Patient resource id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patient_id"
],
"properties": {
"_count": {
"type": "integer",
"maximum": 1000,
"description": "FHIR _count — max results per page.",
"exclusiveMinimum": 0
},
"_since": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Only include resources updated on/after this date, yyyy-mm-dd."
},
"patient_id": {
"type": "string",
"minLength": 1,
"description": "Health Gorilla Patient resource id."
}
}
}List a patient's allergies/intolerances. FHIR: GET /AllergyIntolerance?patient={id}. Returns a FHIR searchset Bundle.
| Argument | Type | Description |
|---|---|---|
| _count | integer | FHIR _count — max results per page. |
| patient_id* | string | Patient resource id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patient_id"
],
"properties": {
"_count": {
"type": "integer",
"maximum": 1000,
"description": "FHIR _count — max results per page.",
"exclusiveMinimum": 0
},
"patient_id": {
"type": "string",
"minLength": 1,
"description": "Patient resource id."
}
}
}List a patient's conditions/problems. FHIR: GET /Condition?patient={id}. Returns a FHIR searchset Bundle.
| Argument | Type | Description |
|---|---|---|
| _count | integer | FHIR _count — max results per page. |
| category | string | Condition category, e.g. problem-list-item, encounter-diagnosis. |
| patient_id* | string | Patient resource id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patient_id"
],
"properties": {
"_count": {
"type": "integer",
"maximum": 1000,
"description": "FHIR _count — max results per page.",
"exclusiveMinimum": 0
},
"category": {
"type": "string",
"description": "Condition category, e.g. problem-list-item, encounter-diagnosis."
},
"patient_id": {
"type": "string",
"minLength": 1,
"description": "Patient resource id."
}
}
}List a patient's diagnostic reports (lab panels, imaging). FHIR: GET /DiagnosticReport?patient={id}. Returns a FHIR searchset Bundle.
| Argument | Type | Description |
|---|---|---|
| _count | integer | FHIR _count — max results per page. |
| category | string | Report category, e.g. LAB, RAD. |
| patient_id* | string | Patient resource id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patient_id"
],
"properties": {
"_count": {
"type": "integer",
"maximum": 1000,
"description": "FHIR _count — max results per page.",
"exclusiveMinimum": 0
},
"category": {
"type": "string",
"description": "Report category, e.g. LAB, RAD."
},
"patient_id": {
"type": "string",
"minLength": 1,
"description": "Patient resource id."
}
}
}List a patient's document references (C-CDA, notes, etc). FHIR: GET /DocumentReference?patient={id}. Each entry points at a Binary you can fetch with healthgorilla_get_binary.
| Argument | Type | Description |
|---|---|---|
| type | string | Document type code (e.g. LOINC), optionally system|value. |
| _count | integer | FHIR _count — max results per page. |
| patient_id* | string | Patient resource id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patient_id"
],
"properties": {
"type": {
"type": "string",
"description": "Document type code (e.g. LOINC), optionally system|value."
},
"_count": {
"type": "integer",
"maximum": 1000,
"description": "FHIR _count — max results per page.",
"exclusiveMinimum": 0
},
"patient_id": {
"type": "string",
"minLength": 1,
"description": "Patient resource id."
}
}
}List a patient's immunizations. FHIR: GET /Immunization?patient={id}. Returns a FHIR searchset Bundle.
| Argument | Type | Description |
|---|---|---|
| _count | integer | FHIR _count — max results per page. |
| patient_id* | string | Patient resource id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patient_id"
],
"properties": {
"_count": {
"type": "integer",
"maximum": 1000,
"description": "FHIR _count — max results per page.",
"exclusiveMinimum": 0
},
"patient_id": {
"type": "string",
"minLength": 1,
"description": "Patient resource id."
}
}
}List a patient's medication requests/prescriptions. FHIR: GET /MedicationRequest?patient={id}. Returns a FHIR searchset Bundle.
| Argument | Type | Description |
|---|---|---|
| _count | integer | FHIR _count — max results per page. |
| status | string | Medication status, e.g. active, completed, stopped. |
| patient_id* | string | Patient resource id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patient_id"
],
"properties": {
"_count": {
"type": "integer",
"maximum": 1000,
"description": "FHIR _count — max results per page.",
"exclusiveMinimum": 0
},
"status": {
"type": "string",
"description": "Medication status, e.g. active, completed, stopped."
},
"patient_id": {
"type": "string",
"minLength": 1,
"description": "Patient resource id."
}
}
}List a patient's observations (labs, vitals). FHIR: GET /Observation?patient={id}. Filter by category (e.g. laboratory, vital-signs), LOINC code, or date. Returns a FHIR searchset Bundle.
| Argument | Type | Description |
|---|---|---|
| code | string | Observation code (e.g. LOINC), optionally system|value. |
| date | string | Date filter (FHIR date param, may use prefixes like ge2026-01-01). |
| _count | integer | FHIR _count — max results per page. |
| category | string | Observation category, e.g. laboratory, vital-signs. |
| patient_id* | string | Patient resource id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patient_id"
],
"properties": {
"code": {
"type": "string",
"description": "Observation code (e.g. LOINC), optionally system|value."
},
"date": {
"type": "string",
"description": "Date filter (FHIR date param, may use prefixes like ge2026-01-01)."
},
"_count": {
"type": "integer",
"maximum": 1000,
"description": "FHIR _count — max results per page.",
"exclusiveMinimum": 0
},
"category": {
"type": "string",
"description": "Observation category, e.g. laboratory, vital-signs."
},
"patient_id": {
"type": "string",
"minLength": 1,
"description": "Patient resource id."
}
}
}Poll a RequestResult URL returned by healthgorilla_start_patient360_query. HTTP 202 = still processing, 200 = done (returns retrieval metrics: organizationsTotal, documentsFound, documentsImported, documentsSkipped, documentsFailed). Returns { status, body }.
| Argument | Type | Description |
|---|---|---|
| request_result_url* | string | The RequestResult poll URL returned by a Patient360 query (a Health Gorilla URL). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"request_result_url"
],
"properties": {
"request_result_url": {
"type": "string",
"format": "uri",
"description": "The RequestResult poll URL returned by a Patient360 query (a Health Gorilla URL)."
}
}
}Initiates an asynchronous national-network records retrieval (CommonWell / Carequality / QHINs) that imports external documents into your tenant. FHIR: GET /DocumentReference/$p360-retrieve?patient={id} with header 'Prefer: respond-async'. Returns the RequestResult poll URL (Location header); poll it with healthgorilla_poll_query_status. State-changing.
| Argument | Type | Description |
|---|---|---|
| patient_id* | string | Patient resource id to retrieve external records for. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patient_id"
],
"properties": {
"patient_id": {
"type": "string",
"minLength": 1,
"description": "Patient resource id to retrieve external records for."
}
}
}