Lifecycle statuses

As noted earlier, a real-world order may involve multiple parallel processes. (For example, a test kit is on the way to the patient while an appointment is being scheduled.) As a result, the order object has a status field that contains the high-level status of order, while the kit, home_visit, and/or walk_in_visit sub-objects have status fields that contain the granular statuses of those specific processes.

This is the sequence of statuses for the lifecycle of an order, represented by order.status:

  1. ACKNOWLEDGED - you have successfully created the order in our backend, but it has not yet been processed (e.g. shipping a kit, scheduling a home visit, or ordering a walk-in visit).

  2. SAMPLE_BEING_COLLECTED - this status represents the stage from us processing your order to the sample being received by the lab.

    Depending on the type of order (AT_HOME_TEST_KIT, HOME_VISIT_WITH_KIT , or WALK_IN_VISIT) the appropriate sub-objects (kit, home_visit, and/or walk_in_visit) are created, and the appropriate steps are taken (e.g. shipping a kit, scheduling a home visit, or ordering a walk-in visit).

    Until the sample has been received by the lab (the order status changes to SAMPLE_RECEIVED_BY_LAB), the kit, home_visit, and/or walk_in_visit objects can be referred to for granular statuses:

    kit.status

    • ACKNOWLEDGED - you have successfully created the order in our backend, but it has not yet been processed (e.g. shipping a kit, scheduling a home visit, or ordering a walk-in visit).
    • SHIPPED_TO_PATIENT - the test kit has been shipped to the patient. The outbound and return (to the lab) tracking links are available on the kit.
    • ARRIVED_AT_PATIENT - the kit has arrived at the patient's address.
    • SHIPPED_TO_LAB - the patient has self-collected the sample or a phlebotomist has collected the sample, and the kit with the sample has been mailed to the lab.
    • RECEIVED_BY_LAB - the sample has been received by the lab.

    home_visit.status

    • ACKNOWLEDGED - you have successfully created the order in our backend, but it has not yet been processed (e.g. shipping a kit, scheduling a home visit, or ordering a walk-in visit).
    • BEING_SCHEDULED - A request for a home visit has been sent dispatched to the phlebotomy network.
    • SCHEDULED - the phlebotomist has confirmed the appointment time with the patient.
    • COMPLETED - the phlebotomist has completed the draw.

    walk_in_visit.status

    • ACKNOWLEDGED - you have successfully created the order in our backend, but it has not yet been processed (e.g. shipping a kit, scheduling a home visit, or ordering a walk-in visit).
    • SCHEDULED - an order has been placed with Labcorp and a requisition PDF has been generated. This requisition is presented by the patient at a draw center for them to locate the order in their internal system.
    • COMPLETED - the patient has completed the draw.
  3. SAMPLE_RECEIVED_BY_LAB - the sample, whether collected by patient self-sampling, by a mobile phlebotomist, or at a draw center, has arrived at the lab. At this point, the kit, home_visit, and walk_in_visit objects have reached the end of their lifecycle, and can be ignored.

  4. RESULTS_READY - the lab has finished running the test, and the results are available through the /orders/:orderId/result endpoint.


Did this page help you?