Skip to main content

Sample Rejection

When a sample arrives at the lab in a condition that would produce unreliable results, it is rejected at intake instead of tested. Rejection is terminal for that sample: no report is produced, and the kit's lifecycle ends in the rejected state (see Kit lifecycle).

note

Webhook subscribers receive the rejection as a status change that includes the rejectedReason value from the table below, so your integration can react programmatically. See Webhooks.

Rejection reasons

ReasonrejectedReasonWhat it meansCommon causes
Hemolyzed"hemolyzed"Red blood cells ruptured and released their contents, making results unreliable.Rough handling, shaking the tube, improper storage temperature
QNS (Quantity Not Sufficient)"qns"Not enough sample volume to run the required tests.Under-filled tube, incomplete collection
Unsuitable for Analysis"unsuitable_for_analysis"Sample quality does not meet lab requirements.Contamination, incorrect container, physical damage to the sample
Improper Collection"improper_collection"The sample was collected incorrectly and its integrity is compromised.Wrong tube type, incorrect technique, missing required preservatives
Exceeds Stability"exceeds_stability"The sample arrived after its stability window and can no longer produce valid results.Delayed shipping, storage outside the required temperature range
Other"other"The reason does not fit a standard category.Labeling issues, leaking container, damaged packaging

What happens next

  • No report is produced for the rejected sample.
  • The kit's lifecycle ends in the rejected state. The full status flow is described in Kit lifecycle.
  • Your webhook endpoint is notified with the status change and the rejectedReason value, so you can trigger your own follow-up (support outreach, replacement handling) without polling.
  • You can test every rejection path before going live: the sandbox rejected scenario drives a mock kit into rejection and fires the same webhook your integration would receive in production.