To enable Customers to simulate the ordering process in the sandbox environment, Junction provides simulated results and a way to transition an order through its lifecycle.
Creating Lab Tests
Every created team comes with 3 standard Lab Tests to allow the Customer to test all 4 collection modalities:
- Test Kit: At-home collection using shipped test kits
- Walk-in Test: Patient visits a Patient Service Center (PSC) location
- At-Home Phlebotomy: A Mobile phlebotomist visits the patient’s location
- On-Site Collection: Collection at the customer’s facility
However, since most customers choose to have their own custom lab tests, you should create your own tests using the API. This is encouraged, as Junction generates results based on the associated markers. More on this in the results section.
Lifecycle
When an order is placed in the sandbox environment, it is “stuck” in the ordered state and will not progress unless triggered to do so. This can be done through the dashboard or through the API.
Initiating the simulation process will progress the order through the expected success states defined in the lifecycle section, triggering all expected webhooks, emails, and SMS’s.
Collection Method Restrictions
At-Home Phlebotomy
When testing At-Home Phlebotomy appointments, there are only two specific zip codes allowed:
- 85004 (Phoenix, AZ) - Uses GetLabs provider
- And only one specific address:
West Lincoln Street, Phoenix, AZ 85004, USA
- 54650 - Uses PhlebFinders provider
Quest PSC Appointments
In the sandbox, Quest appointment slots are generated automatically with these patterns:
Availability:
- Same day: Next hour until 5 PM EST (if before 4 PM)
- Future days: 7 AM - 12 PM EST
- 20-minute intervals for all slots
Timezone: All sandbox appointments use America/New_York timezone regardless of location (production uses actual PSC timezones).
We have a feature request in our backlog to support more representative sandbox appointment slots, including handling time zones specific to locations. We don’t have a timeline for this right now, but if you’d like to be notified when it is implemented, please contact our support team.
Results
To allow Customers to test, Junction generates fake results for each lab test based on the expected markers.
The generated JSON results will cycle through all possible result types:
numeric: Numerical values with reference ranges
comment: Textual commentary results
range: Range-based results (e.g., “<50”)
Important Notes:
- Generated values might not match the expected unit
- PDF results are not dynamically generated - Junction returns an example PDF that does not reflect the ordered test
- Account numbers for shipping labels return a hardcoded value
1234567890 in sandbox
Customizing the Response
You can customize the end response of the results via the body of the Simulate Order endpoint.
There are three avenues of customization currently:
1. Interpretation
Supplying the interpretation field will set the result’s status to the supplied value. If you set it to critical, then the critical result workflow will be triggered.
{
"interpretation": "critical"
}
Available interpretations:
normal: Standard normal results (default)
abnormal: Results outside normal ranges
critical: Triggers critical result notifications and workflows
2. Result Types
This field controls what result types will be generated. Omitting it will cycle through all available types.
{
"result_types": ["numeric", "comment"]
}
Available result types:
numeric: Numerical results with reference ranges
comment: Text-based results and observations
range: Range-based results
3. Missing Results
Supplying this field will generate missing biomarkers in the result to simulate incomplete lab processing.
{
"has_missing_results": true
}
This simulates scenarios where some biomarkers fail processing or are unavailable, which is common in real-world lab operations.
Environment-Specific Behavior
Sandbox vs Production Differences
| Feature | Sandbox | Production |
|---|
| Order Progression | Manual trigger required | Automatic, based on lab processing times. |
| PDF Results | Static example PDF | Dynamic lab-generated PDFs |
| Account Numbers | Hardcoded 1234567890 | Real lab account numbers |
| Phlebotomy Locations | Restricted to specific zip codes | Full coverage area |
| Quest PSC Slots | Mock slots, America/New_York timezone only | Real Quest API integration |
| Appointment Times | Restricted availability (see above) | Based on actual PSC availability |
Testing Recommendations
- Use Custom Lab Tests: Create tests with your specific biomarkers for realistic result simulation
- Test All Collection Methods: Verify each modality works with your integration
- Test Error Scenarios: Use missing results and different interpretations
- Test Appointment Workflows: Book, reschedule, and cancel appointments to verify full flow