athenahealth · AsyncAPI Specification

athenahealth FHIR Subscriptions Events

Version 1.0.0

Event-driven notifications from the athenahealth Event Subscription Platform. Delivered as FHIR Bundle notifications (R5 Backport) over rest-hook channel with id-only payloads. Subscriber webhooks must return 2xx within 2 seconds.

View Spec View on GitHub HealthcareEHRElectronic Health RecordsPractice ManagementRevenue Cycle ManagementPatient PortalFHIRCare CoordinationInteroperabilityHL7AsyncAPIEventsWebhooks

Channels

subscriber-webhook

Messages

PatientNotification
PatientNotification
Patient created/updated event
AppointmentNotification
AppointmentNotification
Appointment created/updated event
EncounterNotification
EncounterNotification
Encounter created/updated event
ObservationNotification
ObservationNotification
Observation created/updated event

Servers

https
production
https
preview

AsyncAPI Specification

Raw ↑
asyncapi: 3.0.0
info:
  title: athenahealth FHIR Subscriptions Events
  version: 1.0.0
  description: |
    Event-driven notifications from the athenahealth Event Subscription
    Platform. Delivered as FHIR Bundle notifications (R5 Backport) over
    rest-hook channel with id-only payloads. Subscriber webhooks must
    return 2xx within 2 seconds.
defaultContentType: application/fhir+json
servers:
  production:
    host: api.platform.athenahealth.com
    protocol: https
  preview:
    host: api.preview.platform.athenahealth.com
    protocol: https
channels:
  subscriber-webhook:
    address: '{webhookUrl}'
    parameters:
      webhookUrl:
        description: Subscriber-provided HTTPS webhook URL
    messages:
      patientNotification:
        $ref: '#/components/messages/PatientNotification'
      appointmentNotification:
        $ref: '#/components/messages/AppointmentNotification'
      encounterNotification:
        $ref: '#/components/messages/EncounterNotification'
      observationNotification:
        $ref: '#/components/messages/ObservationNotification'
operations:
  receivePatientEvent:
    action: receive
    channel:
      $ref: '#/channels/subscriber-webhook'
    messages:
    - $ref: '#/channels/subscriber-webhook/messages/patientNotification'
  receiveAppointmentEvent:
    action: receive
    channel:
      $ref: '#/channels/subscriber-webhook'
    messages:
    - $ref: '#/channels/subscriber-webhook/messages/appointmentNotification'
  receiveEncounterEvent:
    action: receive
    channel:
      $ref: '#/channels/subscriber-webhook'
    messages:
    - $ref: '#/channels/subscriber-webhook/messages/encounterNotification'
  receiveObservationEvent:
    action: receive
    channel:
      $ref: '#/channels/subscriber-webhook'
    messages:
    - $ref: '#/channels/subscriber-webhook/messages/observationNotification'
components:
  messages:
    PatientNotification:
      summary: Patient created/updated event
      payload:
        $ref: '#/components/schemas/NotificationBundle'
    AppointmentNotification:
      summary: Appointment created/updated event
      payload:
        $ref: '#/components/schemas/NotificationBundle'
    EncounterNotification:
      summary: Encounter created/updated event
      payload:
        $ref: '#/components/schemas/NotificationBundle'
    ObservationNotification:
      summary: Observation created/updated event
      payload:
        $ref: '#/components/schemas/NotificationBundle'
  schemas:
    NotificationBundle:
      type: object
      properties:
        resourceType: {type: string, enum: [Bundle]}
        type: {type: string, enum: [history]}
        timestamp: {type: string, format: date-time}
        entry:
          type: array
          items:
            type: object
            properties:
              fullUrl: {type: string, format: uri}
              resource:
                type: object
                properties:
                  resourceType: {type: string}
                  id: {type: string}

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/athenahealth-fhir-subscriptions-asyncapi"
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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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