Register CDS Hook services for 'order-select' (fires when a new order is selected before signing) and 'order-sign' (fires when the clinician finalizes an order) in your CDS service discovery endpoint at /.well-known/cds-services
Receive the CDS Hook request context: parse hook.context.draftOrders (a FHIR Bundle of proposed orders) and hook.prefetch for Patient, Coverage, and Encounter data pre-fetched by the EHR to avoid extra server calls
Query the payer's CRD service endpoint with the hook payload; the payer evaluates coverage requirements and returns CDS Cards with types: Information (coverage details), Warning (documentation needed), or Hard Stop (prior auth required)
For cards with type 'suggestion', inspect Card.suggestions[].actions for FHIR resource update actions that the EHR can apply — for example, adding a Coverage resource or updating the order with a required modifier
For cards indicating prior authorization required, surface a card with a SMART App Launch link to the DTR SMART app so the clinician can complete the documentation questionnaire inline
Return the CDS response within the latency requirement (typically under 5 seconds); for slow payer lookups, return a response with systemActions and handle out-of-band completion via the CDS Hooks feedback endpoint
Known gotchas
CRD uses both order-select and order-sign — order-select fires early (before signing) and allows suggestions to modify the order draft; order-sign fires at signing and is typically used for final coverage verification — implementing only one hook misses the full CRD workflow
The EHR's prefetch template must supply Patient, Coverage, and the in-scope draft order resources; if prefetch is not fulfilled by the EHR, the CDS service must make additional FHIR calls using the fhirAuthorization token, which increases latency
CDS Hooks system-actions (automatic EHR chart updates without clinician confirmation) require explicit EHR support and a trust agreement with the payer — do not assume all EHRs will honor system-actions
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