Acentra Health · Interoperability SolutionSandbox Environment
Da Vinci · CDS Hooks

Coverage Requirements Discovery (CRD)

Real-time coverage requirement discovery at the point of care — exposing payer coverage rules to EHR systems while treatment decisions are made.

Implementation GuideDa Vinci CRD
SecurityCDS Hooks · SMART
Base Path/priorauth/api/v1
policy

Overview

The Coverage Requirements Discovery (CRD) API is a FHIR®-based interoperability API that enables payers to expose coverage requirement information to EHR systems in real time while treatment decisions are being made.

This allows clinicians and administrative staff to determine whether a service is covered, identify if prior authorization is required, and determine what documentation must be submitted. CRD aligns with HL7® FHIR®, Da Vinci IGs, the SMART on FHIR security framework, and CMS interoperability regulations.

New to the CRD API? The CRD API user guide (PDF) opens in a new tab explains how CDS Hooks are processed and how coverage requirements come back to the EHR.

Coverage Requirements Discovery API
menu_book

User Guide

CRD API User Guide
How CDS Hooks requests are processed, how cards and feedback are returned, plus base URLs, the CapabilityStatement, supported scopes, resources and request headers.
PDF · 18 pages · 0.9 MB
What’s inside
CDS Hooks FlowResponses &Amp; FeedbackSupported ScopesResourcesRequest Headers
fact_check

Capability Statement

Developers can access the Acentra Health FHIR server capabilities for the CRD API using the CapabilityStatement endpoint:

METAhttps://sb.fhir.mhbapp.com/priorauth/api/v1/metadata
View JSON

The CapabilityStatement describes the supported profiles, interactions, and authorization and token endpoints.

login

API Access Setup

settings_suggestFHIR SMART Configuration

Clients can retrieve SMART configuration details by invoking the SMART configuration endpoint at /.well-known/smart-configuration, appended to the FHIR Base URL.

vpn_key
The FHIR Base URL is provided upon successful App Registration approval.
key

Getting an Access Token

The CRD API uses SMART Backend Services (system-to-system) authorization. Authenticate with a signed JWT client_assertion, signed with the private key that matches the public key you registered. No secret is sent over the wire. Request the token with the client_credentials grant.

POSTToken Endpointhttps://sb.fhir.mhbapp.com/sof/oauth2/token
HTTP Headers
HeaderValue
content-typeapplication/x-www-form-urlencoded
acceptapplication/json
HTTP Body
ParameterValue
grant_typeclient_credentials
scope{scopes} (space-separated; only scopes approved for your registration)
client_assertion_typeurn:ietf:params:oauth:client-assertion-type:jwt-bearer
client_assertion{signed_jwt}
Client Assertion (JWT) Claims
ClaimValue
iss{client_id}
sub{client_id}
audhttps://sb.fhir.mhbapp.com/sof/oauth2/token
iatIssue time (current time, in seconds since epoch)
expExpiry; keep it short, for example 5 minutes after iat
jtiUnique ID. Each assertion can be used once; a repeated jti is rejected.
info
Sign the JWT with the algorithm you selected at registration, and register the matching public key or JWKS. Use the returned access_token as the Bearer token on API requests. The sandbox also accepts client_id with client_secret for quick testing, but client_assertion is the recommended method.
bolt

CDS Hooks

The CRD API supports the following CDS Hooks services.

HOOKappointment-bookhttps://sb.fhir.mhbapp.com/priorauth/api/v1/cds-services/appointment-book-crd
HOOKencounter-starthttps://sb.fhir.mhbapp.com/priorauth/api/v1/cds-services/encounter-start-crd
HOOKorder-selecthttps://sb.fhir.mhbapp.com/priorauth/api/v1/cds-services/order-select-crd
HOOKorder-signhttps://sb.fhir.mhbapp.com/priorauth/api/v1/cds-services/order-sign-crd
HOOKorder-dispatchhttps://sb.fhir.mhbapp.com/priorauth/api/v1/cds-services/order-dispatch-crd
HOOKencounter-dischargehttps://sb.fhir.mhbapp.com/priorauth/api/v1/cds-services/encounter-discharge-crd
dataset

Profiles

The CRD API supports the following profiles.

datasetCRD Appointment with OrderdatasetCRD Appointment without OrderdatasetCRD Communication RequestdatasetCRD Device RequestdatasetCRD EncounterdatasetCRD Medication RequestdatasetCRD Nutrition OrderdatasetCRD Service RequestdatasetCRD Vision Prescription
http

Request Headers

All requests for CRD API profiles require the following headers:

HeaderValue
content-typeapplication/json
acceptapplication/json
authorizationBearer {access_token}
science

Sample Responses & Data

gpp_good

Important Information for EHR Systems

TopicReference
Privacy, Security and HIPAAhealthit.gov - Privacy, Security and HIPAA
ONC Model Privacy Noticehealthit.gov - Model Privacy Notice
check