# Redox MCP

> Redox connects your AI agent directly to complex, standardized clinical data using FHIR and Redox Data Models. Search for patient records by identifier, pull active diagnoses, and write structured vital signs back to the EHR—all from a single chat interface.

## Overview
- **Category:** developer-tools
- **Price:** Free
- **Tags:** fhir, health-interoperability, patient-data, clinical-records, ehr-integration

## Description

Managing healthcare interoperability shouldn't require deep knowledge of FHIR standards or wrestling with multiple API endpoints. This MCP lets your agent interact with clinical systems using natural language. You can search for patient records across connected health systems, pulling complete patient identifiers and demographics. Need context? Your agent retrieves active diagnoses and problem lists associated with a specific patient ID. Want to document vitals? You write structured observations back into the EHR environment. Furthermore, you manage complex data exchanges by sending standardized Redox Data Model events. This capability is critical for any AI-driven medical assistant. If you're building something that needs reliable access to clinical context and has multiple endpoints, check out Vinkius; it hosts this MCP alongside thousands of others so you don’t have to connect everything separately.

## Tools

### create_observation
This tool saves vitals or general observations directly back into the electronic health record.

### post_data_model
It sends a structured Redox Data Model event, useful for generalized system notifications.

### search_condition
This tool retrieves active diagnoses and problem lists associated with a specific patient ID.

### search_patient
It searches for a patient record across the connected Redox FHIR API using identifiers.

## Prompt Examples

**Prompt:** 
```
Search for patient identifier 'urn:redox:source:MR|12345' in the production environment for destination 'clinical-hub'.
```

**Response:** 
```
I've initiated the search in the clinical-hub destination. I found a patient record matching that identifier. Would you like to see the full FHIR resource details?
```

**Prompt:** 
```
Retrieve all active conditions for patient ID 'P123' in the development environment.
```

**Response:** 
```
I've fetched the conditions for patient P123. The list includes 'Essential hypertension' and 'Type 2 diabetes mellitus'. Do you need the specific codes or onset dates for these?
```

**Prompt:** 
```
Post a Redox Data Model event for a new appointment notification using this JSON payload.
```

**Response:** 
```
I've sent the Data Model payload to the Redox API. The event has been successfully queued for processing. Here is the response metadata from the server.
```

## Capabilities

### Find Patient Records
The agent searches connected systems for a patient using identifiers like MRNs or specific slugs.

### Retrieve Clinical Conditions
It fetches a list of active diagnoses and conditions linked to a given patient ID, providing immediate medical context.

### Write Back Vitals and Observations
The agent sends structured data bundles (FHIR) to record new vital signs or clinical observations directly into the EHR.

### Send Standardized Health Events
It transmits asynchronous notifications or queries using standardized Redox JSON Data Models for broad system compatibility.

## Use Cases

### A triage nurse needs a quick patient overview.
The nurse's AI agent is prompted: 'Show me the current status and active diagnoses for MRN 54321.' The agent uses `search_patient` first, then calls `search_condition`, presenting the complete clinical profile without the nurse having to click through multiple tabs in the EHR.

### A remote monitoring device needs to log a reading.
Instead of requiring a human to manually enter blood pressure readings, the IoT platform's agent uses `create_observation` to send structured FHIR vital signs directly into the patient’s record at the time of measurement.

### A developer needs to test an integration endpoint.
The dev team wants to verify if a new department notification works across all connected systems. They use `post_data_model` to send a standardized event, confirming the system can process the payload correctly before deployment.

### A care coordinator needs to find a patient from an external source.
The coordinator has only a partial identifier. They prompt their agent: 'Search for patients using this temporary ID.' The agent uses `search_patient` and provides the full, validated record details needed for follow-up.

## Benefits

- Get instant patient context: Instead of manually cross-referencing multiple systems, your agent pulls active diagnoses and conditions using `search_condition` right in the chat.
- Automated Documentation: Write vitals or new observations back to the EHR directly. The `create_observation` tool handles the structured FHIR format for you.
- System Compatibility: Need to talk to a system that doesn't use standard FHIR? Use `post_data_model` to send notifications via standardized Redox Data Models.
- Targeted Searching: Quickly locate a patient record using any available identifier. The `search_patient` tool eliminates the need for deep navigation through complex directory trees.
- FHIR Compliance: Build trust in your applications knowing every interaction—from searching to writing back—adheres to industry standards.

## How It Works

The bottom line is that your AI client handles all the complex API calling; you just ask it what you need.

1. First, subscribe to this MCP and provide your specific Redox API Key.
2. Next, point your AI client at the connection. You'll then interact with the tools using plain language prompts (e.g., 'Find active conditions for P123').
3. The agent executes the necessary calls in the background, retrieving or writing clinical data and presenting the results to you.

## Frequently Asked Questions

**How does Redox MCP help with FHIR standards?**
It handles the complexity of FHIR compliance for you. Instead of needing to know how to structure a FHIR resource, you just tell your agent what data you need (e.g., 'Get active conditions'), and it manages the protocol.

**Can I use Redox MCP if I don't have an MRN?**
Yes. You can still search by other identifiers like destination slugs or specific patient IDs, as long as those identifiers are recognized within your connected systems.

**What is the difference between `search_patient` and searching in a normal EHR UI?**
`search_patient` allows your agent to query multiple, disparate healthcare sources simultaneously. It's an automated search layer built on top of existing systems, not just a single directory lookup.

**Is `post_data_model` for sending general notifications?**
Yes. This tool lets you send standardized events (like 'New Appointment' or 'Test Result Ready') that multiple different backend systems can understand, regardless of their internal API.

**Does Redox MCP only work in development mode?**
No. The MCP supports switching between environments for testing and deployment. You manage your environment directly within the connection settings to ensure you're querying the correct data source.