CDSHooks order-select-response

These API events help facilitate real-time, immediate clinical decision support (CDS). CDS hooks are events that are triggered during the provider's workflow, typically appearing as a popup modal or separate iFrame. The most common hooks are triggered upon:

  • opening a patient chart
  • signing an order
  • creating an order
  • scheduling

We support these type of hooks that allow you to:

  • request a list of supported CDS hooks within the EHR system;
  • return a list of supported CDS hooks within the EHR system;
  • view context for a patient upon opening or interacting with their chart;
  • view context when creating and selecting an order from a list of order types; and
  • view order context and insights when signing an order.

order-select-response

Respond with a 200 HTTP response to OrderSelect. This response also contains decision support guidance (e.g., suggestions, links, narrative information) from the CDS service.

Beta

Request Body Schema

  • Meta
    required, object
    • DataModel
      required, string
      Reliable

      CDSHooks

    • EventType
      required, string
      Reliable

      order-select-response

    • EventDateTime
      string, null
      Reliable

      Displays the UTC date and time that an outgoing request is delivered or an incoming request is received.
      ISO 8601 Format

    • Test
      boolean, null
      Reliable

      Indicates whether the request is a test or not.

    • Source
      object

      Contains the information for the system initiating the message, including the source ID and name.
      Included in messages from Redox

      • ID
        string, null
        Reliable

        Identifies the system initiating the message. If you have multiple OAuth API keys per environment type, this value is required. If you have only one OAuth API key per environment type, or you're using legacy API keys, this value is optional.
        UUID

      • Name
        string, null
        Reliable

        Displays the name of the system initiating the message.

    • Destinations
      Array of object

      Contains the information for the endpoint(s) receiving the request. A request must contain at least one destination, but asynchronous requests can have more than one destination. Synchronous requests like queries can only support one destination.
      Required when sending data to Redox.

      • ID
        string, null
        Reliable

        Identifies the endpoint that the request is directed to.
        UUID

      • Name
        string, null
        Reliable

        Displays the name of the endpoint that the request is directed to.

    • Logs
      Array of object

      Contains the log identifier(s) for the request.

      • ID
        string, null
        Reliable

        Identifies the request log(s) that correspond to this request. You can use this value to locate the relevant log in the Redox dashboard for support and reference.
        UUID

      • AttemptID
        string, null
        Reliable

        Identifies the request log attempt value, which is useful when retries are possible.
        UUID

    • FacilityCode
      string, null
      Possible

      Code for the facility related to the message.
      Only use this field if a health system indicates you should. The code is specific to the health system's EHR and might not be unique across health systems. In general, the facility fields within the data models (e.g. OrderingFacility) are more reliable and informative.

  • cards
    required, Array of object

    Contain one or more cards with suggestions, links, or guidance.

    • summary
      required, string
      Reliable

      Provide a short message shown in the UI to summarize the card's intent.

    • indicator
      required, string
      Reliable

      Indicate the importance/severity (e.g., info, warning, or critical).

    • uuid
      string, null
      Probable

      Contains a unique identifier for the card. This ID is used to reference the card within the EHR system.

    • detail
      string, null
      Probable

      Add detailed guidance, rationale, or documentation.
      If provided, this field must be represented in GitHub Flavored Markdown (GFM) format.

    • source
      object

      Identify the system that generated the card.

      • label
        string, null
        Reliable

        Display the name of the source.

      • url
        string, null
        Probable

        Link to more info about the source.

    • suggestions
      Array of object

      Recommend actions the user could take based on the hook context.

      • label
        string, null
        Reliable

        Display the name of the suggestion.

      • uuid
        string, null
        Probable

        Identify the suggestion for tracking.

      • actions
        Array of object

        Define what FHIR resources or operations the suggestion performs.

        • type
          string, null

          Specify the type of action (e.g., create, update, or delete).

        • description
          string, null

          Provide a description of the suggested action may be presented.

        • resource
          object

          Define the FHIR resource to be created, updated, or deleted.

          • resourceType
            string, null

            Specify the type of FHIR resource (e.g., MedicationRequest or ServiceRequest).

    • selectionsBehavior
      string, null
      Possible

      Control how many suggestions can be selected: at-most-one, any, exactly-one.
      Required if suggestions is present.

    • overrideReasons
      Array of object

      Define valid reasons for overriding a recommendation.

      • code
        string, null
        Possible

        Specify the code for the override reason.

      • system
        string, null
        Possible

        Specify the system for the override reason.

      • display
        string, null
        Possible

        Display the reason for the override.

    • Provide links to additional information or resources.

      • label
        string, null

        Display the name of the link.

      • url
        string, null

        Link to more information.

      • type
        string, null

        Specify the type of link (e.g., action, related, or documentation).

  • systemActions
    Array of object

    Contain an array of Actions that the CDS Service proposes to auto-apply

    • type
      string, null

      Specify the type of action (e.g., create, update, or delete).

    • resource
      object

      Define the FHIR resource to be created, updated, or deleted.

      • resourceType
        string, null

        Specify the type of FHIR resource (e.g., MedicationRequest or ServiceRequest).

Example
json
1
{
2
"Meta": {
3
"Logs": [
4
{
5
"ID": "d9f5d293-7110-461e-a875-3beb089e79f3",
6
"AttemptID": "925d1617-2fe0-468c-a14c-f8c04b572c54"
7
}
8
],
9
"Test": true,
10
"EventDateTime": "2026-05-28T22:44:52.399Z",
11
"Source": {
12
"ID": "7ce6f387-c33c-417d-8682-81e83628cbd9",
13
"Name": "Redox Dev Tools"
14
},
15
"Destinations": [
16
{
17
"ID": "af394f14-b34a-464f-8d24-895f370af4c9",
18
"Name": "Redox EMR"
19
}
20
],
21
"DataModel": "CDSHooks",
22
"EventType": "order-select-response",
23
"FacilityCode": null
24
},
25
"cards": [
26
{
27
"summary": "Consdier generic alternatives",
28
"indicator": "info",
29
"detail": "There are generic alternatives available for this medication.",
30
"source": {
31
"label": "Formulary Insights",
32
"url": "https://example.com/formulary"
33
},
34
"suggestions": [
35
{
36
"label": "Switch to generic",
37
"actions": [
38
{
39
"type": "create",
40
"description": "Replace with generic medication",
41
"resource": {
42
"resourceType": "MedicationRequest",
43
"id": "new-med-order-id"
44
}
45
}
46
]
47
}
48
],
49
"selectionBehavior": "at-most-one"
50
}
51
]
52
}

FHIR® is a registered trademark of Health Level Seven International (HL7) and is used with the permission of HL7. Use of this trademark does not constitute an endorsement of products/services by HL7®.