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.