Create a FHIR Task resource targeting the data-holding system (owner) from the requesting system (requester), setting Task.code to the appropriate CDex data-request code from the CDex Task Data Request profile (verify the exact code against the current Da Vinci CDex IG).
Populate Task.input with the requested data elements or queries — these may be FHIR search strings, resource types, or structured data references as defined by the CDex Task profile.
POST the Task to the data holder's FHIR endpoint; the data holder processes the request and updates Task.status through requested, accepted, in-progress, and completed states.
Poll the Task by GET [base]/Task/[id] or use a Subscription to detect status transitions; when status is completed, Task.output will contain references to the returned FHIR resources or a Bundle.
Retrieve the output resources via the references in Task.output and validate them against the applicable US Core or CDex profiles.
Optionally use the $submit operation defined in the CDex IG to submit the completed Task bundle in one step — verify whether $submit or direct Task POST is appropriate for your actor role (data source vs. data consumer).
Known gotchas
The exact Task.code value is defined in the CDex IG's code system — do not invent codes; retrieve the current value set from the published IG to avoid rejection.
Task.requester and Task.owner must reference the correct Organization or Practitioner resources; mismatched references will cause the data holder to reject or ignore the Task.
The CDex IG distinguishes between 'data request' and 'attachment request' Task profiles — ensure you are using the correct profile for your use case.
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