Skip to content

CDS Hooks Sandbox Walkthrough

Bryn Rhodes edited this page Nov 9, 2024 · 6 revisions

1. Landing on the Sandbox

When you access the CDS Hooks Sandbox, you’ll arrive at the main dashboard. This dashboard simulates the experience of using Clinical Decision Support (CDS) Hooks in an Electronic Health Record (EHR) system. It includes panels for FHIR server settings, CDS service configurations, and various hooks for testing.

2. Overview of Each Component

  • Top Menu Navigation:

    • Hooks Tabs: Displays the available CDS Hooks for testing, such as those corresponding to patient-view, order-select, and order-sign.
    • Settings Menu: Access by selecting the ⚙️ icon located at the top right of the page. It provides options for:
      • Add CDS Services: Add new CDS services by entering a discovery URL. Refer to the discovery documentation for more details.
      • Configure CDS Services: Manage active CDS services, enabling or disabling them as needed.
      • Change Patient: Switch between patients available in the connected FHIR server.
      • Change FHIR Server: Select or configure the FHIR server providing clinical data.
      • FHIR Server Settings: View and modify the current FHIR server configuration.
      • Reset Configuration: Restore the default configuration settings.
  • Main Dashboard Panels:

    • Hook Panel: Lists options for invoking different CDS Hooks, such as patient-view, order-select, and order-sign.
    • Developer Panel: Allows you to select a CDS service for evaluation and view the JSON request/response of CDS Hooks invocations. Error messages are displayed in the browser console, which can typically be accessed by right-clicking on the page, selecting Inspect, and navigating to the Console tab.

3. Invoking patient-view

  1. Navigate to the Patient View tab to simulate an EHR loading a patient's record.
  2. The Hook Panel will show cards generated by the active CDS services for the selected patient. The Developer Panel allows you to review the request and response JSON to diagnose any issues.

Note: The patient-view hook is commonly used to offer patient-specific recommendations when opening a patient's chart.

Patient Greeting Scenario

  1. Navigate to the Patient View tab.
  2. Select the patient-greeting service (https://sandbox-services.cds-hooks.org/cds-services/patient-greeting) from the select a service dropdown located in the developer panel.
  3. View the results for the current patient. You should see something like the following:

Screenshot 2024-11-06 at 10 34 06 AM

  1. Change the patient (follow the instructions listed in section 6. Changing the Patient).
  2. View the results for the updated patient.

4. Invoking order-select

  1. Navigate to the Rx View tab to simulate selecting orders (e.g., medications or tests) for a patient.
  2. The Hook Panel will display any responses, such as recommendations or alerts related to the selected orders.

Note: The order-select hook provides real-time decision support based on the orders being chosen by the clinician.

CMS Price Check Scenario

  1. Navigate to the Rx View tab.
  2. Select the cms-price-check (https://sandbox-services.cds-hooks.org/cds-services/cms-price-check) from the select a service dropdown located in the developer panel.
  3. Search for Fentanyl Choose dose of 0.2 MG and route of Sublingual Tablet in the Medication form input.
  4. View the results. You should see something like the following:

Screenshot 2024-11-06 at 10 45 07 AM

  1. Search for 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet [Oxycontin] in the Medication form input.
  2. View the results. You should see a recommendation to order a generic alternative:

Screenshot 2024-11-06 at 11 07 01 AM

5. Invoking order-sign

  1. Navigate to the Rx Sign tab to simulate finalizing or signing an order for a patient.
  2. View any decision support recommendations or warnings in the Hook Panel before completing the order.

Note: The order-sign hook is used to offer relevant guidance just before the order is finalized.

2022 CDC Opioid Recommendation 10 - UDS Recommendation Scenario

  1. Navigate to the Rx Sign tab.
  2. Configure the opioidcds-10-order-sign service (https://opioid-sandbox.cqframework.org/cdc/opioid-cds-r4/cds-service/cds-services/opioidcds-10-order-sign) by following the steps below.
    • Add the CDS service (following the steps in 8. Adding CDS Services) with the following discovery URL: https://opioid-sandbox.cqframework.org/cdc/opioid-cds-r4/cds-service/cds-services.
    • Change the FHIR server (following the steps in 7. Changing the FHIR Server) with the following FHIR server URL: https://opioid-sandbox.cqframework.org/cdc/opioid-cds-r4/ehr/fhir
    • Change the patient (follow the instructions listed in section 6. Changing the Patient) to example-opioidcds
    • Alternatively, configure the CDS service, FHIR server, and patient by navigating to the following URL: https://sandbox.cds-hooks.org/?fhirServiceUrl=https://opioid-sandbox.cqframework.org/cdc/opioid-cds-r4/ehr/fhir&serviceDiscoveryURL=https://opioid-sandbox.cqframework.org/cdc/opioid-cds-r4/cds-service/cds-services&patientId=example-opioidcds&screen=rx-sign
  3. Ensure the opioidcds-10-order-sign service (https://opioid-sandbox.cqframework.org/cdc/opioid-cds-r4/cds-service/cds-services/opioidcds-10-order-sign) is selected from the select a service dropdown located in the developer panel.
  4. Search for Oxycodone Hydrochloride 5 MG Oral Tablet in the Medication form input.
  5. Enter a value greater than or equal to 28 in the Supply Duration (Days) form input.
  6. Click the Sign Order button.
  7. View the results. You should see something like the following:

Screenshot 2024-11-06 at 12 05 44 PM

2022 CDC Opioid Recommendation 10 - Unexpected Results Scenario

  1. Follow steps 1-3 of the previous scenario (UDS Recommendation).
  2. Change the patient (follow the instructions listed in section 6. Changing the Patient) to example-rec-10-order-sign-illicit-POS-Cocaine-drugs.
  3. Search for Oxycodone Hydrochloride 5 MG Oral Tablet in the Medication form input.
  4. Enter a value greater than or equal to 28 in the Supply Duration (Days) form input.
  5. Click the Sign Order button.
  6. View the results. You should see something like the following:
Screenshot 2024-11-06 at 12 21 44 PM

6. Changing the Patient

  1. Select the Change Patient option from the settings menu (⚙️ icon at the top right).
  2. Select a different patient from the list.
  3. The chosen patient's data will be used for subsequent CDS Hooks invocations.

7. Changing the FHIR Server

  1. Select the Change FHIR Server option from the settings menu (⚙️ icon at the top right).
  2. Enter a new FHIR server URL (for example: https://launch.smarthealthit.org/v/r4/fhir is a FHIR R4 server).
  3. Click Next to apply the change, connecting the Sandbox to the new server.
  4. You can find patients by last name with a search like https://launch.smarthealthit.org/v/r4/fhir/Patient?given=Chris. (15af1070-1ad4-4800-bd3f-f6a70ff55dac is one of the FHIR Patient IDs returned by this search).

8. Adding CDS Services

  1. Select the Add CDS Services option from the settings menu (⚙️ icon at the top right).
  2. Provide the discovery URL for the new CDS service (see discovery documentation).
  3. Click Save to confirm. The new service will appear in the Configure CDS Services section.

This guide provides a detailed overview of testing and exploring CDS Hooks functionalities within the simulated EHR environment of the CDS Hooks Sandbox.