Implement the Da Vinci CRD (Coverage Requirements Discovery) CDS Hooks integration to surface prior auth and documentation requirements at the EHR order entry point
Review the current published CRD IG (v2.2.1, published at hl7.org/fhir/us/davinci-crd/2.2.1) to understand the supported CDS Hooks: order-select, order-sign, encounter-start, encounter-discharge, appointment-book, and order-dispatch.
Register your CDS service with the EHR CDS Hooks discovery endpoint; return a services array with your hook IDs, title, and prefetch template so the EHR pre-populates patient and coverage FHIR resources in the hook call.
In the hook handler, inspect the prefetched Coverage resource to identify the payer; call the payer's CRD FHIR server to check if the ordered service requires prior authorization, using the $coverage-requirements-discovery operation or the payer-specific CDS endpoint.
Return CDS Hooks cards: use a suggestion card with a FHIR ServiceRequest extension for prior auth initiation, an information card with documentation requirements, or a critical-information card when a service is not covered; follow the CRD IG guidance on card types to avoid alert fatigue.
Handle the order-sign hook with a systemAction to auto-populate the ServiceRequest with coverage-requirement extensions before the order is persisted, reducing manual documentation steps.
Test conformance using the Da Vinci CRD Inferno test kit available at inferno.healthit.gov/test-kits/davinci-crd to validate card responses and prefetch behavior.
Known gotchas
CDS Hooks calls must complete within the EHR's timeout window (often a few seconds); payer server latency can cause the hook to time out and be silently ignored — implement async fallback or a deferred card pattern for slow payers.
The CRD IG distinguishes between 'payer CRD server' and 'CRD client (EHR)' conformance requirements — implementing only one side without verifying the other leads to interoperability failures at connectathon.
Coverage resources in the EHR may be stale or incomplete; always validate the Coverage.status and Coverage.period before relying on them to route to the correct payer's CRD endpoint.
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