Epic Systems · AsyncAPI Specification

Epic Systems Cds Hooks Webhooks

Version

View Spec View on GitHub HealthcareUnited StatesEHREMRFHIRHL7InteroperabilitySMART on FHIRUS CoreClinical DataAsyncAPIEvents

AsyncAPI Specification

epic-systems-cds-hooks-webhooks.yml Raw ↑
generated: '2026-07-24'
method: searched
spec_type: Webhooks
surface: CDS Hooks
source: https://fhir.epic.com/Documentation?docId=cdshookstutorial
note: >-
  Epic does not publish an AsyncAPI document. Its documented event / push
  integration surface is CDS Hooks: at defined workflow hook points inside the
  Epic EHR, Epic invokes an external clinical-decision-support (CDS) service over
  HTTPS with the hook context, and the service responds with cards and optional
  SMART app launch links. From an integrator's perspective this is a
  webhook-style outbound call from Epic to a registered service endpoint. The
  hook types below are the CDS Hooks specification hook points; Epic implements a
  documented subset that varies by software release. No FHIR Subscription /
  event-notification channel is advertised in the sandbox CapabilityStatement.
delivery:
  transport: https-post
  direction: epic-to-service   # Epic (EHR) calls the registered CDS service
  request_body: CDS Hooks request (hook, hookInstance, context, prefetch/fhirServer)
  response_body: CDS Hooks response (cards[], systemActions[])
  auth: JWT-signed request from Epic; service verifies the Epic JWKS.
hooks:
- hook: patient-view
  description: Fires when a user opens a patient's chart / record.
- hook: order-select
  description: Fires when a user selects one or more orders (before signing).
- hook: order-sign
  description: Fires when a user is about to sign one or more orders.
- hook: appointment-book
  description: Fires while a user is booking one or more appointments.
- hook: encounter-start
  description: Fires when a user starts a new encounter.
- hook: encounter-discharge
  description: Fires when a user is discharging a patient from an encounter.
discovery:
  detail: A CDS service publishes its services at GET {service-base}/cds-services; Epic is configured to call the registered endpoints.
related:
  smart_app_launch: Cards may return a SMART app launch link (link.type = smart) into a registered SMART on FHIR app.

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/epic-systems-cds-hooks-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.