Orders, kits, and samples are the core of Spot and follow a consistent lifecycle of events. A table of each of these and their respective statuses is shown below.


Order lifecycle

Orders are the top-level object in Spot. A single order means Spot fulfilling to a single destination and can contain any number of kits. When an order is first created, it will not contain any kits, these are subsequently added to the order during the fulfillment process.

pendingWhen an order is first created and does not have any kits added to it, the pending status indicates that the order is waiting on Spot to fulfil it.
in_progressOnce kits have been added to the order and at least one kit or sample within the order has not yet reached an end state it is marked as being in progress.
completedIf every kit and sample in an order has reached an end state, we automatically mark it as completed.
canceledOccasionally we might need to manually trigger a cancellation before the order is fulfilled. This status will only occur under exceptional circumstances.


Kit lifecycle

Self-collection kits are designed to facilitate the collection of samples needed for a panel. Status changes in kits are recorded as events associated with the kit.

pendingWhen a kit is first created, it is marked as pending.
in_transitOnce a kit has been sent to the customer, it is marked as in transit.
deliveredOnce the courier marks the kit as delivered to customer, it is marked as delivered.
delivery_exceptionIf something goes wrong during shipping, we mark the kit as delivery_exception.
registeredWhile following the instructions inside the kit, the patient will be instructed to register their kit on your branded portal.
canceledIf the kit becomes no longer needed before being registered or a delivery exception occurring, we’ll manually mark it as canceled.


Sample lifecycle

Samples are what the labs in Spot’s network will analyze to report results. Each panel has its own requirements for specimen type (blood, urine, saliva, cheek swab, etc.) and collection format (Whatman 903, ADx100, Hemaspot, Microtainer, tubes, flocked swabs, etc).

Samples must be mailed back to the lab for analysis. Sometimes samples may be routed multiple times before reaching their destination lab. Spot’s sample tracking accounts for this.

awaiting_collectionOnce we create the shipping label for the sample, it is initially marked as awaiting collection until we receive further tracking updates.
collection_exceptionIf the patient has a problem collecting their sample and contacts support, we may mark the sample as a collection exception if the patient could not collect a valid sample.
in_transitOnce the patient places the sample in the mail, we receive tracking updates from the courier and mark the sample as in transit. Occasionally, we don’t receive tracking updates until the sample is delivered. In these cases, the sample may skip to the delivered status.
deliveredOnce the courier marks the sample as delivered to the lab, we mark the sample as delivered.
delivery_exceptionIf there’s an issue with shipping or the sample is lost in transit we mark the sample as having had a delivery exception.
receivedSome of our lab partners provide us an accession notification to let us know they’ve received the sample. If they do, we communicate this with the received event.
extra_quality_checksOccasionally we may need to perform extra checks after receiving a report from the lab. This status indicates there may be a short delay in results being available.
resultedThe lab has analyzed the sample and have released a report to us.
partially_resultedThe lab has released a report to us, but they were not able to analyze all of the results on the panel. This most commonly occurs due to the patient not supplying enough blood.
rejectedThe sample was not suitable for analysis. This is most commonly due to not enough blood being provided, too much time passing since the sample was collected, or user error during collection.
canceledIf the sample becomes no longer needed before being analyzed or a delivery exception occurring, we’ll manually mark it as canceled.