Authenticate to the Azure DICOM service using a Microsoft Entra token with the DICOM Data Reader role assigned to the calling identity
Poll the change feed endpoint GET https://MY_DICOM.dicom.azurehealthcareapis.com/v1/changefeed?offset=0&limit=100&includeMetadata=true to retrieve the latest batch of change events
Parse the JSON array of change feed entries; each entry contains a sequence number, action (create or delete), studyInstanceUid, seriesInstanceUid, sopInstanceUid, and a metadata block
Persist the highest processed sequence number (offset) in durable storage and use it as the offset parameter on the next poll to ensure at-least-once processing without re-processing old events
On receipt of a create event, trigger downstream actions such as invoking an AI inference job, updating a FHIR ImagingStudy resource, or sending a notification to the radiology worklist
Known gotchas
The Azure DICOM service change feed is pull-based (polling), not a push webhook; build a polling loop with appropriate back-off rather than expecting the service to call your endpoint
Change feed entries are append-only and immutable; deleted instances appear as separate delete action entries rather than removing earlier create entries, so consumers must handle both action types
The includeMetadata=true parameter adds DICOM attribute data to each entry, significantly increasing response payload size; omit it and query instance metadata separately via WADO-RS if only the UIDs are needed for routing
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp