Introduction
We encapsulate our lab test modalities in theorder
object. This is the main object you will interact with, as it contains all the information related to that lab test. An order has a high-level status which represents where the order is throughout its lifecycle, e.g. received/delivered/completed/cancelled etc.
The high-level status is the same across test modalities. On top of that, each modality has its own sub-statuses, to represents lifecycle stages specific to that modality. For example, test-kits involve shipping of the box, so we have a whole set of statuses to track the shipment.
Please note: To ensure future compatibility, we ask that you avoid exhaustive matching on enum values such as an order’s status. We may introduce new statuses (and other enum values) over time, and code that assumes all current values are exhaustive could break or fail to compile with SDK upgrades.To stay compatible and benefit from future enhancements, treat unknown values gracefully—for example, by using default cases or limiting checks to only the values your integration depends on.
Statuses
Statuses are namespaced with the following format:[HIGH-LEVEL STATUS].[TEST MODALITY].[LOW-LEVEL STATUS]
As an example, the status collecting_sample.at_home_phlebotomy.appointment_scheduled
means the patient has scheduled an at-home phlebotomy appointment.
High-level statuses
The high-level statuses of an order, are represented byorder.status
:
received
: we received the order, stored it into our system, and started processing it.collecting_sample
: these track collecting the sample from the patient. For test-kits, these track the shipment of the kit. For at-home phlebotomy and walk-in tests, these track appointment scheduling and management.sample_with_lab
: the lab received the sample and is currently analyzing it.completed
: the order is complete and the results are ready.cancelled
: the order has been cancelled, by you or the patient.failed
: we failed to process the order.
order.events
list. These include a list of all the events for that test:
Test kit order status
Test-kit statuses
received.testkit.ordered
received.testkit.awaiting_registration
received.testkit.testkit_registered
received.testkit.requisition_created
received.testkit.requisition_bypassed
collecting_sample.testkit.transit_customer
collecting_sample.testkit.out_for_delivery
collecting_sample.testkit.with_customer
collecting_sample.testkit.transit_lab
collecting_sample.testkit.problem_in_transit_customer
collecting_sample.testkit.problem_in_transit_lab
sample_with_lab.testkit.delivered_to_lab
completed.testkit.completed
failed.testkit.failure_to_deliver_to_customer
failed.testkit.failure_to_deliver_to_lab
failed.testkit.sample_error
failed.testkit.lost
cancelled.testkit.cancelled
cancelled.testkit.do_not_process
Walk-in visit statuses
received.walk_in_test.ordered
received.walk_in_test.requisition_created
received.walk_in_test.requisition_bypassed
collecting_sample.walk_in_test.appointment_pending
collecting_sample.walk_in_test.appointment_scheduled
collecting_sample.walk_in_test.appointment_cancelled
collecting_sample.walk_in_test.redraw_available
(currently in beta testing)sample_with_lab.walk_in_test.partial_results
completed.walk_in_test.completed
failed.walk_in_test.sample_error
cancelled.walk_in_test.cancelled
At-home phlebotomy statuses
received.at_home_phlebotomy.ordered
received.at_home_phlebotomy.requisition_created
received.at_home_phlebotomy.requisition_bypassed
collecting_sample.at_home_phlebotomy.appointment_pending
collecting_sample.at_home_phlebotomy.appointment_scheduled
collecting_sample.at_home_phlebotomy.draw_completed
collecting_sample.at_home_phlebotomy.appointment_cancelled
sample_with_lab.at_home_phlebotomy.partial_results
completed.at_home_phlebotomy.completed
cancelled.at_home_phlebotomy.cancelled
On-site collection statuses (currently in beta testing)
received.on_site_collection.ordered
received.on_site_collection.requisition_created
received.on_site_collection.requisition_bypassed
collecting_sample.on_site_collection.draw_completed
sample_with_lab.on_site_collection.partial_results
completed.on_site_collection.completed
failed.on_site_collection.sample_error
cancelled.on_site_collection.cancelled