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.
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.
Navigate to: https://us-snd.fullscript.io/login
Log in or create a test practitioner account
Add your NPI number (if you skipped it during onboarding)
1111111111Navigate to Labs
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.
Complete the lab registration process
Agree to the legal documents
Create and send a lab treatment plan
Log in as the test patient and order the lab
Use the sandbox test payment method
4242 4242 4242 4242After 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.
results_ready to interpretation_shared once all results are available.results_ready until the practitioner manually chooses to share the results from within Fullscript. Only then will the status update to interpretation_shared.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:
The available event types depend on the lab order's current status:
| Lab order status | Available event types |
|---|---|
| Results not yet complete | Results Received, All Results Received |
| All results received | All 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.
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.