---
name: iblai-connect-veradigm
description: "Read Veradigm data through the Veradigm FHIR API (R4) and Unity API, through the Veradigm Connect developer program and expose it to an ibl.ai agent as an MCP tool. Use when the user asks an agent to work with Veradigm data, or to set up a Veradigm MCP connection on ibl.ai."
metadata:
  kind: guide
---

# Veradigm connector for AI agents

> A starting point maintained on ibl.ai at https://ibl.ai/developer/connectors/veradigm — not part of the iblai/vibe repository. Checked against Veradigm's documentation on October 20, 2026; test it against your own Veradigm setup before you rely on it.

Veradigm EHR is an ambulatory electronic health record from Veradigm (formerly Allscripts). It holds patient demographics, problems, medications, allergies, results, encounters, procedures and clinical documents.

## Auth & conventions

- **API:** Veradigm FHIR API (R4) and Unity API, through the Veradigm Connect developer program (Mixed). The FHIR R4 API is read-only and follows USCDI, with provider and patient endpoints and Bulk FHIR $export on Group. The proprietary Unity API supports reads and writes for deeper Veradigm EHR integration.
- **Base URL:** https://fhir.fhirpoint.open.allscripts.com/fhirroute/open/{organizationId} (patient endpoints in the Veradigm Endpoint Directory); capability statement at [FHIR path]/metadata
- **Access:** Partner or license program. Open accounts at developer.veradigm.com are free and cover FHIR APIs and sandboxes. Unity API and EHR launch need a paid Integrator tier. Apps are approved for production, then each customer organization licenses them.
- **Auth:** SMART App Launch 2.0 (OAuth 2.0 authorization code); SMART Backend Services (JWT). Standalone and EHR launch follow SMART App Launch 2.0.0 and OpenID Connect. System apps use client_credentials with a single-use JWT client assertion (2 to 20 minute expiry) and a JWKS endpoint the developer hosts.
- **Limits:** Bulk $export is asynchronous: poll the Content-Location URL and respect retry-after; polling faster returns HTTP 429. Completed file packages expire after a period and can be downloaded more than once before then.
- Keep Veradigm credentials in environment variables or the ibl.ai credential store. Never print a token in chat and never commit one to a file.
- Destructive or outward-facing calls are marked **Confirm with the user first** — do.

## Reads

- **Patients** — Patient read and search on provider or patient FHIR endpoints.
- **Results and vitals** — Observation and DiagnosticReport.
- **Problems and encounters** — Condition, Encounter and Procedure.
- **Medications** — Medication-related resources (MedicationRequest and related types).
- **Clinical documents** — DocumentReference, with Provenance on request.
- **Population exports** — Bulk FHIR: [FHIR path]/Group/[GROUP_ID]/$export for System apps; poll the Content-Location URL.

## Writes

- None. This skill only reads Veradigm data.

## Expose it to an ibl.ai agent (MCP)

Veradigm did not publish an MCP server of its own when this skill was checked. Host a small MCP server that wraps the calls above, then register it below.

First install the ibl.ai platform skills and connect your organization (writes `IBLAI_ORG`, `IBLAI_USERNAME` and `IBLAI_API_KEY` to `.env`):

```bash
npx skills add iblai/vibe --all
# then, in your coding agent:
/iblai-api-login
```

Every call below sends `Authorization: Api-Token $IBLAI_API_KEY`.

1. **Register the server** — `POST https://api.iblai.app/dm/api/ai-mentor/orgs/$IBLAI_ORG/users/$IBLAI_USERNAME/mcp-servers/` with `name`, `url`, `transport` (`sse` | `websocket` | `streamable_http`) and `auth_type` (`none` | `token` | `oauth2`). Capture the returned `id`.
   - Veradigm supports per-user OAuth: `auth_type=oauth2` with `auth_scope=user` and a linked `oauth_service` makes each person connect their own account in the chat. It needs an `auth_{provider}` credential in the organization's credential store first.
2. **Create the connection** — `POST https://api.iblai.app/dm/api/ai-mentor/orgs/$IBLAI_ORG/users/$IBLAI_USERNAME/mcp-server-connections/` with `server`, `scope` (`platform` | `mentor` | `user`), `auth_type`, and either `credentials` + `authorization_scheme` or a `connected_service` id for OAuth. Credentials are masked on read; never send a masked value back.
3. **Enable it on the agent** — `GET https://api.iblai.app/dm/api/ai-mentor/orgs/$IBLAI_ORG/users/$IBLAI_USERNAME/mentors/{agent_id}/settings/`, add `mcp-tool` to `tool_slugs` and the server id to `mcp_servers`, then `PATCH` the full lists back. They are replaced, not merged.

Full reference: https://ibl.ai/developer/platform/mcp/mcp-connections and the `/iblai-api-agent-mcp` skill.

## Example prompts

- "Pull the problem list and current medications for this patient from Veradigm EHR."
- "Start a bulk export for our attributed patient group and tell me when files are ready."
- "Show this patient's lab results from the last six months."
- "List the clinical documents filed for this patient this year."

## Guardrails

- Records are HIPAA protected health information (PHI). Only System apps may run bulk exports, and each customer organization decides whether to license an app.
- Request the narrowest Veradigm scopes or role the task needs, and prefer a read-only credential for agents that only answer questions.
- Return the fields the user asked for, not whole records; do not paste personal data into chat that the user did not request.
- Before any write, show the user exactly what will change and wait for a yes.
- Respect the documented limits above: page through results and back off on rate-limit responses instead of retrying in a loop.

## References

- Veradigm FHIR API introduction: https://developer.veradigm.com/Fhir/Introduction
- Veradigm SMART on FHIR: https://developer.veradigm.com/Fhir/SMARTonFHIR
- Veradigm Bulk FHIR: https://developer.veradigm.com/Fhir/BulkData
- This connector on ibl.ai: https://ibl.ai/developer/connectors/veradigm
- ibl.ai MCP server connections: https://ibl.ai/developer/platform/mcp/mcp-connections
