Skip to main content

Service Requests

A service request represents a single FHIR-based healthcare service order—typically one lab test within a requisition. Service requests are created by WHOOP when a lab order is placed, and partners interact with them throughout the lab workflow.

Fields​

FieldTypeDescription
idstringUnique identifier for the service request
statusstringFHIR status of the request (see below)
codestringThe service or procedure being requested (e.g. a lab test code)
task_business_statusstring (optional)Workflow state set by the partner to communicate progress
task_descriptionstring (optional)Additional description of the task

Example​

{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "active",
"code": "LIPID_PANEL",
"task_business_status": "ORDER_CONFIRMED",
"task_description": "Fasting lipid panel"
}

Status Values​

The status field follows FHIR ServiceRequest status conventions:

StatusMeaning
activeThe service request is in progress
completedThe service request has been fulfilled
revokedThe service request was cancelled

task_business_status​

The task_business_status field is how partners communicate workflow progress back to WHOOP. Partners set this field via PATCH /v2/partner/service-request/{id}/status throughout the lab workflow.

Happy Path​

The expected sequence for a successfully completed service request is:

ValueMeaning
ORDER_CONFIRMEDPartner has accepted and confirmed the lab order
APPOINTMENT_ATTENDEDThe member attended their appointment and a sample was collected
PARTIAL_RESULTS_READYSome results are available but the full panel is not yet complete
FULL_RESULTS_READYAll results have been submitted

Issue Statuses​

If something goes wrong, partners should set one of the following issue statuses. Issue statuses are terminal — once set, WHOOP takes responsibility for next steps.

ValueMeaning
APPOINTMENT_ISSUEAn issue occurred with the appointment (e.g. cancellation). WHOOP will reschedule.
RESULTS_ISSUEAn issue with one or more lab tests means some results will be unavailable.
ORDER_ISSUEAn issue with the order means it will not be fulfilled. WHOOP will place a new order.

See the Complete a Service Request tutorial for an end-to-end example.

Relationship to Requisitions​

Service requests always belong to a requisition. A requisition can contain one or more service requests. You can retrieve all service requests for a requisition in a single call via GET /v2/partner/requisition/{id}. See Lab Requisitions for details.