The following webhook events are of interest, when placing a Walk-in order. Those are
described in detail in the following sections.
Order webhook events
Based on the status present in Order Lifecycle,
Vital will trigger two kinds of webhook events, labtest.order.created and
labtest.order.updated.
The labtest.order.created event is triggered when an order is created in the system,
having the ordered status, and all subsequent status changes will trigger a labtest.order.updated event in the system.
The partial_results status does not trigger a Webhook unless specifically requested from Vital.
The webhook payload body will have the following information if the Order is in the completed status:
{
"id": "84d96c03-6b1c-4226-ad8f-ef44a6bc08af",
"team_id": "6353bcab-3526-4838-8c92-063fa760fb6b",
"user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"patient_details": { "dob": "2020-01-01", "gender": "male" },
"patient_address": {
"receiver_name": "John Doe",
"first_line": "123 Main St.",
"second_line": "Apt. 208",
"city": "San Francisco",
"state": "CA",
"zip": "91189",
"country": "United States",
"phone_number": "+1123456789"
},
"details": {
"type": "walk_in_test",
"data": {
"id": "a655f0e4-6405-4a1d-80b7-66f06c2108a7",
"created_at": "2020-01-01T00:00:00Z",
"updated_at": "2020-01-01T00:00:00Z"
}
},
"sample_id": "123456789",
"notes": "This is a note",
"created_at": "2020-01-01T00:00:00Z",
"updated_at": "2020-01-01T00:00:00Z",
"status": "completed",
"events": [
{
"id": 1,
"created_at": "2022-01-01T00:00:00Z",
"status": "received.walk_in_test.ordered"
},
{
"id": 2,
"created_at": "2022-01-02T00:00:00Z",
"status": "received.walk_in_test.requisition_created"
},
{
"id": 3,
"created_at": "2022-01-03T00:00:00Z",
"status": "collecting_sample.walk_in_test.appointment_pending"
},
{
"id": 4,
"created_at": "2022-01-03T00:00:00Z",
"status": "collecting_sample.walk_in_test.appointment_scheduled"
},
{
"id": 5,
"created_at": "2022-01-04T00:00:00Z",
"status": "sample_with_lab.walk_in_test.partial_results"
},
{
"id": 6,
"created_at": "2022-01-04T00:00:00Z",
"status": "completed.walk_in_test.completed"
}
]
}
Appointment webhook events
Based on the status present in Order and Appointment Lifecycle - Appointment Lifecycle,
Vital will trigger the labtest.appointment.updated webhook event.
The webhook payload body may have the following information if the appointment is in the scheduled status, after a reschedule has happened:
Phlebotomy Appointment Updated
{
"event_type": "labtest.appointment.updated",
"data": {
"id": "06c2c65b-74a0-4f25-a4a9-44f796296355",
"user_id": "acf79a82-0c2c-4ca0-998b-378931793905",
"order_id": "1ed9c8d7-e1b4-4d61-8123-0f99de5ae99a",
"address": {
"first_line": "123 Main St.",
"second_line": "Apt. 208",
"city": "San Francisco",
"state": "CA",
"zip_code": "91189",
"country": "United States"
},
"location": {
"lng": -122.4194155,
"lat": 37.7749295
},
"start_at": "2022-01-01T00:00:00",
"end_at": "2022-01-01T00:00:00",
"iana_timezone": "America/New_York",
"type": "patient_service_center",
"provider": "quest",
"status": "confirmed",
"event_status": "scheduled",
"provider_id": "123",
"can_reschedule": true,
"event_data": {
"origin": "patient",
"is_reschedule": true
},
"events": [
{
"created_at": "2022-01-01T00:00:00Z",
"data": null,
"status": "scheduled"
},
{
"created_at": "2022-01-01T00:00:00Z",
"data": {
"origin": "patient",
"is_reschedule": true
},
"status": "scheduled"
},
]
}
}
The event_data field contains relevant information regarding the current appointment status, and may be specific for each provider.