Invoke GET [base]/Patient/[id]/$everything; optionally include _since, start, end, or _type parameters to constrain the result set
The server returns a searchset Bundle; for large datasets the response will be paginated with a next link in Bundle.link
Follow all next links sequentially until no next link is present, accumulating all Bundle entries
Parse the accumulated entries; they may include Patient, Encounter, Condition, Observation, MedicationRequest, AllergyIntolerance, Procedure, DocumentReference, and other resource types
Index resources by resourceType and id for efficient cross-referencing when building a longitudinal view
Validate that the returned Patient resource matches the requested patient id to detect server misconfiguration or cross-patient data leakage
Known gotchas
$everything can return very large payloads; do not load the entire response into memory — stream and process pages incrementally
The set of resource types included in $everything is server-defined; do not assume all clinical resource types are present — check the CapabilityStatement or test against known data
Some servers implement $everything via Bulk Data internally and may have longer response times; set HTTP client timeouts accordingly and handle 202 async patterns if the server signals them
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