- Workflow
- Lab Test Lifecycle
Introduction
We encapsulate our lab test modalities in the order
object. An order has a status which represents the high-level status of the order. Each test has different sub-statuses which are modality specific.
Statuses
High level statuses
The high level statuses of an order, are represented by order.status
:
received
collecting_sample
sample_with_lab
completed
cancelled
failed
Modality specific sub-statuses are encapsulated in the order.events
list. These include a list of all the events for that test:
Test kit order status
{
...,
"status": "cancelled",
"events": [
{
"id": 1,
"created_at": "2022-01-01T00:00:00Z",
"status": "received.testkit.ordered",
},
{
"id": 2,
"created_at": "2022-01-01T00:00:00Z",
"status": "received.testkit.requisition_created",
},
{
"id": 3,
"created_at": "2022-01-01T00:00:00Z",
"status": "collecting_sample.testkit.transit_customer"
},
],
}
Test kit statuses
The following testkit statuses are used:
testkit.transit_customer
testkit.out_for_delivery
testkit.with_customer
testkit.transit_lab
testkit.delivered_to_lab
testkit.completed
testkit.failure_to_deliver_to_customer
testkit.sample_error
testkit.lost
testkit.cancelled
testkit.do_not_process
Walk in visit statuses
The following walk in statuses are used:
walk_in.requisition_created
walk_in.order_completed
walk_in.sample_error