Particle Health · AsyncAPI Specification
Particle Health Webhooks
Version
View Spec
View on GitHub
ADTC-CDACare CoordinationCarequalityClinical DataCommonWellDeltaseHealth ExchangeEHRFHIRHealth DataHealth Information ExchangeHealthcareHIEHL7HL7v2InteroperabilityMedical RecordsPatientsPharmacyQHINSurescriptsTEFCAUSCDIAsyncAPIEvents
AsyncAPI Specification
generated: '2026-08-14'
method: searched
source:
- https://docs.particlehealth.com/docs/webhook-event-notifications
- https://raw.githubusercontent.com/ParticleHealth/particle-connect/main/agent-documentation/12-notification-data-contract.md
description: >-
Particle Health does not publish a machine-readable AsyncAPI document (no asyncapi.yaml found on
docs/API hosts or the ParticleHealth GitHub org). It does document a full webhook/notification
catalog, and that catalog conforms to CloudEvents 1.0 — captured here as a structured Webhooks
catalog rather than a fabricated AsyncAPI spec.
envelope:
spec: CloudEvents 1.0
transport: HTTP POST to a customer-configured callback URL
content_type: application/cloudevents+json
fields:
specversion: "1.0 (constant)"
id: UUID, unique per notification
source: "api/notifications (constant)"
type: notification type identifier, see events[] below
subject: human-readable event description, varies by type
time: ISO 8601 timestamp
datacontenttype: application/json (constant)
data: notification-specific payload object
headers:
Content-Type: application/cloudevents+json
Accept: "*/*"
X-Ph-Signature-256: "t={unix_timestamp},{hmac_sha256_signature} — HMAC over `{timestamp}.{raw_json_body}`"
signature_verification:
algorithm: HMAC-SHA256
steps:
- Extract timestamp and signature from X-Ph-Signature-256
- "Construct the signed payload: {timestamp}.{raw_json_body}"
- Generate HMAC SHA-256 using the customer's signature key
- Compare generated signature to the received signature
contract_version: '1.0 (2026-02-05, per provider doc)'
identifier_fields:
particle_patient_id: Particle's internal patient identifier (UUID)
external_patient_id: Customer's own patient identifier, as sent at registration
person_id: Legacy identifier, query notifications only
patient_id: May match person_id or particle_patient_id depending on context
events:
- type: com.particlehealth.api.v2.transitionalerts
name: Transition Alert
subjects: [Admit Alert, Discharge Alert, Discharge Summary Available, Transfer Alert, Death Alert]
fires_when: Patient care transition detected (admission/discharge/transfer/death)
data_fields: [network_organization, particle_patient_id, external_patient_id, event_type,
event_sequence, is_final_event, resources]
gotchas: >-
Payload does NOT include facility type (SNF/Hospital/ED) — must be looked up separately via the
transition ID in resources[].resource_ids. file_id may be empty (esp. for admissions);
non-empty only when a discharge summary is available.
- type: com.particlehealth.api.v2.hl7v2
name: HL7 ADT Alert
subject: "HL7v2 {code} Message for {id}"
fires_when: Raw HL7v2 ADT message received
- type: com.particlehealth.api.v2.query
name: Query Complete
subject: "{format} Query Complete"
fires_when: Patient data query finishes (alternative to polling getPatientQueryStatus)
- type: com.particlehealth.api.v2.encounteralerts
name: New Encounter Alert
subject: New Encounter
fires_when: New encounter data available
- type: com.particlehealth.api.v2.aioutputs
name: AI Outputs Complete
subject: "AI Outputs completed ({n} completed, {m} failed)"
fires_when: AI-generated outputs (Particle Snapshot) ready
- type: com.particlehealth.api.v2.consent
name: Patient Consent Updated
subject: Patient Consent Updated
fires_when: Patient consent status changes
- type: com.particlehealth.api.v2.medicationfills
name: Medication Fills Data Available
subject: Medication Fills Data Available
fires_when: New medication fill data ready (Surescripts)
sandbox_testing:
trigger_endpoint: /api/v1/patients/{particle_patient_id}/subscriptions/trigger-sandbox-workflow
(operationId triggerSandboxWorkflow, particle-health-subscriptions-api-openapi.yml)
note: Synthetically fires a webhook notification for testing a receiver end-to-end without waiting
on a real network event.
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
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.
Call it yourself
curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/particle-health-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 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.