66.0.1Using the CRD (Coverage Requirement Discovery) API

 

This tutorial demonstrates how an in-network provider can interact with a payer to discover coverage requirements using CDS Hooks. It covers:

  • Retrieving the list of available CDS services (CDS Discovery)
  • Calling a specific CDS service to evaluate coverage rules (CDS Service Invocation)

66.0.2CDS Discovery

 

To retrieve all CDS services configured by the payer that the provider can invoke for coverage rules evaluation, providers can send a GET request to the CDS Discovery endpoint:

HTTP Request:

GET [PAYER_BASE_URL]/cds-services
Authorization: Bearer <ACCESS_TOKEN>

Response The GET request returns a JSON object representing the configured CDS services (“cards”) for the payer. Each service includes:

  • id – The unique identifier of the CDS service (used in the service URL).
  • hook – The specific hook that triggers the service (e.g., order-sign, order-dispatch).
  • title – A human-readable name for the service.
  • description – A brief explanation of the service purpose.
  • prefetch – Optional FHIR queries that the service can request to pre-populate data for evaluation.

66.0.2.0.1Example

{
  "services": [
    {
      "id": "order-sign",
      "title": "Order sign request",
      "description": "A CDS Hook for order sign requests",
      "prefetch": {
        "serviceRequestBundle": "ServiceRequest?_id={{context.draftOrders.ServiceRequest.id}}&_include=ServiceRequest:performer&_include=ServiceRequest:requester",
        "patient": "Patient/{{context.patientId}}"
      }
    }
  ]
}

66.0.3Calling a CDS Service

 

After a CDS service has been identified from the discovery step, the service can be called to evaluate coverage rules for a specific context (e.g., a draft order for a patient).

HTTP Request

POST [PAYER_BASE_URL]/cds-services/{service-id}
Content-Type: application/json
Authorization: Bearer <ACCESS_TOKEN>

Request Body:

The request body contains all necessary information for the CDS service to evaluate rules. It includes:

  • hookInstance – A unique identifier for this specific hook invocation.
  • hook – The hook associated with the CDS service (from CDS Discovery).
  • fhirServer – URL of the provider’s FHIR server hosting patient and order data.
  • context – Data relevant to the hook, such as patient ID and draft orders.
  • prefetch – Optional pre-fetched FHIR resources that the service can use to evaluate rules.
{
  "hookInstance": "12345678-1234-1234-1234-1234567890ab",
  "hook": "{hook-name}",
  "fhirServer": "{PROVIDER_FHIR_ENDPOINT}",
  "context": {
    "patientId": "Patient/123",
    "draftOrders": [
      {
        "reference": "ServiceRequest/456"
      }
    ]
  },
  "prefetch": {
    "serviceRequestBundle": "{ServiceRequest?_id=456&_include=ServiceRequest:performer&_include=ServiceRequest:requester}",
    "patient": "Patient/123"
  }
}

Notes:

  • Replace {hook-name} and {PROVIDER_FHIR_ENDPOINT} with the actual hook ID and provider FHIR server URL.
  • The prefetch field can include any FHIR resources the CDS service requires to evaluate rules efficiently.

Response

The CDS service returns a JSON object containing “cards” that represent the evaluated coverage requirements and recommendations. Each card may include:

  • summary – A short description of the recommendation or requirement.
  • indicator – The severity or type of the recommendation (e.g., info, warning, critical).
  • detail – Additional details or rationale for the recommendation.
  • source – The origin of the recommendation (e.g., payer, specific guideline).
  • links – Optional links for further actions or reference material.

Sample Response:

{
  "cards": [
    {
      "extension": {
        "davinci-associated-resource": [
          "ServiceRequest/5336e609-9af6-4dc6-bde3-fbb55e99f6ed"
        ]
      },
      "uuid": "9e65f759-267e-4d7c-9360-6f19a52cd8ca",
      "summary": "Prior Authorization Required",
      "detail": "Prior authorization is required for Multiple sleep latency or maintenance of wakefulness testing, recording, analysis and interpretation of physiological measurements of sleep during multiple trials to assess sleepiness",
      "indicator": "warning",
      "source": {
        "label": "Health Level Seven International",
        "url": "https://www.hl7.org/",
        "topic": {
          "code": "auth-needed",
          "system": "http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp",
          "display": "Prior Authorization Needed"
        }
      }
    }
  ]
}