Order Lifecycle
As discussed inLab Test Lifecycle - Statuses
,
each lab testing modality has the following format
[HIGH-LEVEL STATUS].[TEST MODALITY].[LOW-LEVEL STATUS]
For each modality, there can be multiple low-level status, for Walk-In Phlebotomy the
possible low-level status are:
ordered
: Vital received the order, stored it into our system, and started processing it asynchronously.requisition_created
: An order requisition form was validated and created with the partner laboratory, making the order available to be carried out.requisition_bypassed
: An order requisition form wasn’t created when the order was placed with us because it already existed.appointment_pending
: An appointment was placed in Vital’s system for the order, but doesn’t have a scheduled date.appointment_scheduled
: An appointment was scheduled or rescheduled for the order.appointment_cancelled
: The appointment was cancelled, by either the patient, Vital or you.partial_results
: The laboratory has started making partial results available.redraw_available
: The result has been marked as final but is missing biomarker results due to lab error. (Currently in beta testing.)completed
: The laboratory processed the blood sample and final results are available.cancelled
: The order was cancelled by either the patient, Vital or you.

Possible state transitions for the Walk-In Phlebotomy Order low-level statuses.
In sandbox, there is no async transition from the
ordered
state to the requisition_created
state, this must be manually triggered via the Vital Dashboard.Appointment Lifecycle
The appointment lifecycle is separate from the order lifecyle, and it corresponds to a single appointment. The possible status are defined as follows:pending
: An appointment was placed in the system, and is pending updates from the phlebotomy service.scheduled
: An appointment was scheduled or rescheduled.

Possible state transitions for the Walk-In Phlebotomy Appointment statuses.
Scheduling Appointments Before A Requisition Has Been Created
This feature is in closed beta.Interested in this feature? Get in touch with your Customer Success Manager.
requisition_created
status).
This allows you to build an experience that can order the lab test and book an appointment consecutively, without having to wait on the
asynchronous requisition creation process that may take an indeterminate amount of time.
API Journey
1
Creating an appointment
You create an Appointment for an Order which does not yet have a requisition.The Appointment starts with the
reserved
status.If the order requisition has been created on or before the time slot confirmation, the Appointment moves directly to the
confirmed
status. The reserved
status will be skipped.2
Waiting for Requisition Creation
The requisition is being created asynchronously.
3
Requisition has been created
The requisition has now been created.
- The Order will move through the
requisition_created
,appointment_pending
andappointment_scheduled
Order statuses in quick succession. - The Appointment will move to the
confirmed
status automatically, which corresponds to thescheduled
appointment event.
labtest.order.updated
events, one each for the three Order status transition. You will also received
a labtest.appointment.updated
event for the Appointment status transition.Cancelling An Appointment
If an Appointment is cancelled before a requisition has been created:- The Appointment will move to the
cancelled
status; and - There is no change to the Order, which will remain in the
ordered
status.
- The Appointment will move to the
cancelled
status; and - The Order will move from the
appointment_pending
orappointment_scheduled
status to theappointment_cancelled
status.