GETTING STARTED

Get started with Fullscript APIs

introduction

What is Fullscript?

Integration options

Sign up for API key

For AI

HOW TO GUIDES

How-to guides

OAuth overview

OAuth overview

using OAuth

Setup

Request an auth code

Request an access token

Refresh an access token

Revoke an access token

How to test in sandbox

Events overview

Labs overview

How to test labs

How to test labs in the Fullscript sandbox

Use this step-by-step guide to simulate the lab ordering flow within your EHR integration. This ensures your integration handles lab purchases, status transitions, and webhook behavior correctly.

important
important

Labs are available for US applications only. Use a US sandbox application and a practitioner account on us-snd.fullscript.io.

Before you start, connect a sandbox store and select it from the Store dropdown on the Testing Tool tab. See How to test in sandbox for the full setup.

  1. Navigate to: https://us-snd.fullscript.io/login

  2. Log in or create a test practitioner account

    • Sign up as a practitioner on Fullscript if you haven’t already. You must enter license information to proceed with lab orders.
  3. Add your NPI number (if you skipped it during onboarding)

    • Navigate to Settings → Account → Basic info
    • Click Edit license information
    • Enter the test NPI number: 1111111111
    • Click Save license information
  4. Navigate to Labs

    • Go to Catalog → Labs
    • You will see the Register for labs button.

    Note: If the Register for labs button is greyed out, hover over it to view the tooltip. It will explain what's missing and include a hyperlink to the relevant page to enter your info.

  5. Complete the lab registration process

    • Click the Register for labs button.
    • Re-enter your first and last name (NPI should be pre-filled)
    • Leave license info blank (optional)
    • Click the Next button.
  6. Agree to the legal documents

    • Review and agree to Fullscript Labs' Terms of Service. Click the Next button.
    • Review and electronically sign the BAA. Click the Submit button.
    • Agree to the authorization network. Click the Done button.
  7. Create and send a lab treatment plan

    • Go to Patients, then create a new test patient (if needed).
    • Create a treatment plan for that patient.
    • Add one or more labs from the Labs catalog.
    • Send the treatment plan to the patient.
  8. Log in as the test patient and order the lab

    • Log in using the test patient’s email
    • Go to My Health → Plans to view the recommended labs
    • Complete any required personal information if prompted
    • Add the lab(s) to the cart and proceed to checkout
  9. Use the sandbox test payment method

    • Card number: 4242 4242 4242 4242
    • Expiration: any future date
    • CVC: any 3 digits
    • Click Place your order

EHR status confirmation

After a lab order is placed, you may observe several status transitions depending on how your system is configured. The following intermediate statuses are optional to surface in your EHR, but are available for testing. They align with the lifecycle in the Labs overview:

  • not_purchased – Lab recommended, but not purchased yet.
  • purchased – Indicates the patient has successfully purchased the lab.
  • schedule_appointment – Appears when the lab requires the patient to book an appointment (e.g., for phlebotomy).
  • upcoming_appointment – Indicates that the appointment has been scheduled by the patient.
  • processing – Sample received and is being processed.
  • partial_results (results_received) – Some but not all results are available.
  • results_ready (all_results_received) – All results have been received and are available for the practitioner. (Note: You can trigger this status yourself using the Testing Tool in the API Dashboard—see below.)
  • interpretation_ready – The results are ready to be interpreted in Fullscript.
  • interpretation_shared – Indicates that the results have been shared with the patient.
    • If the practitioner has “Automatically share Quest Diagnostics results” enabled under Settings → Labs, the status will automatically transition from results_ready to interpretation_shared once all results are available.
    • If this setting is disabled, the lab order will remain in results_ready until the practitioner manually chooses to share the results from within Fullscript. Only then will the status update to interpretation_shared.

Simulating lab result statuses

You can trigger lab result status transitions directly from the API Dashboard using the Testing Tool. This allows you to simulate the lab_order.updated webhook without waiting for actual lab processing.

Prerequisites:

Steps:

  1. Log in to your API Dashboard and select your sandbox application.
  2. Navigate to the Testing Tool tab.
  3. Click Generate Test Result.
  4. Select a Lab order number from the dropdown. It lists the lab orders already purchased in the selected store — if it's empty, the store has no purchased lab orders yet, so create one first.
  5. Select an Event Type:
    • Results Received – Partial results: results for one lab test in the order are in.
    • All Results Received – All lab tests in the order have results.
    • Results Amended – An existing result was amended.
  6. Click Generate Test Result to trigger the status change.

The available event types depend on the lab order's current status:

Lab order statusAvailable event types
Results not yet completeResults Received, All Results Received
All results receivedAll Results Received, Results Amended

Each lab test in an order fires its own Results Received; All Results Received fires only once every test in the order has results.

fyi
fyi

In sandbox, generated results include a sample PDF only. HL7/discrete result URLs may appear in payloads but don't resolve to real content — validating your HL7/discrete retrieval path end to end requires production data.

Once triggered, you will receive the lab_order.updated webhook with the corresponding status update.

Labs overviewTechnical reference

ON THIS PAGE

How to test labs in the Fullscript sandbox

RELATED TOPICS