Overview
Every Arlo Health consultation follows a defined lifecycle from creation to completion. Understanding this flow is essential for building robust integrations.Status Flow
Alternative exits:
- EMERGENCY — Triage detects urgent symptoms → advise 911
- CANCELED — User cancels before ACTIVE state
Status Definitions
TRIAGING
The AI triage system is gathering symptom information.- Entry:
start_healthcare_consultationis called - Duration: Varies based on complexity (typically 2-5 minutes of active conversation)
- Exit: Assessment completes →
PAYMENT_REQUIRED, or emergency detected →EMERGENCY
- AI asks follow-up questions about symptoms
- Agent responds with
send_message - Richer context = fewer questions = faster triage
- Monitor for AI questions
- Relay questions to user
- Send responses via
send_message
PAYMENT_REQUIRED
Assessment is complete. A best-effort analysis is provided to support decision-making.- Entry: AI triage has gathered sufficient information
- Exit: User confirms →
MATCHING
- The
paymentGateobject contains a consultation summary — a best-effort analysis of what the provider may be able to help with - This summary is designed to help the user decide whether to proceed
- Clinical decisions remain at the provider’s discretion once connected
pay_per_use: Callconfirm_provider_connectionto proceedsubscription_required: Set up subscription first
- Present
consultationSummaryto user for informed decision-making - Confirm user wants to proceed
- Call appropriate confirmation tool
MATCHING
User is in the provider matching queue.- Entry: User confirmed they want to proceed
- Duration: Typically minutes, but can vary based on demand
- Exit: Provider accepts →
ACTIVE
- User is added to provider queue
- Available providers see the consultation request
- First available provider accepts
- Inform user they’re in queue
- Wait for webhook notification or poll status
- No user action required
ACTIVE
Provider is connected. Asynchronous messaging is available.- Entry: Provider joins the consultation
- Duration: Varies (minutes to hours)
- Exit: Provider closes →
CLOSED
- Provider reviews triage information
- Provider may ask additional questions
- Provider makes clinical decisions based on their assessment
- Provider can prescribe medications if appropriate
- Provider can order lab tests if needed
- All messaging is asynchronous
- Relay provider messages to user
- Send user responses via
send_message - Handle prescription flows if needed
Messaging is asynchronous during ACTIVE status.
send_message returns immediately without waiting for a provider response. Use webhooks to receive notifications when the provider responds.CLOSED
The consultation is complete.- Entry: Provider closes the consultation
- Default state: Notes and prescriptions available
- Provider has completed their assessment
- Clinical notes may be available
- Prescriptions (if any) are ready for pharmacy selection
- Call
get_consultation_notesfor summary - Handle prescription flow if applicable
- Inform user consultation is complete
send_message and it enters follow-up mode — the provider is brought back in as needed.
EMERGENCY
Urgent care is advised. User should call 911.- Entry: AI triage detects emergency indicators
- Final state: Consultation cannot proceed through Arlo
- Symptoms indicate potential emergency
- User is advised to seek immediate care
- Consultation is terminated
- Immediately inform user to call 911 or go to ER
- Do not attempt to continue with Arlo
- This is a safety-critical state
CANCELED
The consultation was canceled by the user.- Entry:
cancel_consultationcalled during TRIAGING, PAYMENT_REQUIRED, or MATCHING - Final state: Consultation is terminated
- If payment hold was placed, it is released
- Consultation cannot be resumed
- Confirm cancellation with user
- Start new consultation if user wants to try again
Transition Summary
| From | To | Trigger |
|---|---|---|
| — | TRIAGING | start_healthcare_consultation |
| TRIAGING | PAYMENT_REQUIRED | Assessment completes |
| TRIAGING | EMERGENCY | Emergency detected |
| TRIAGING | CANCELED | cancel_consultation |
| PAYMENT_REQUIRED | MATCHING | confirm_provider_connection |
| PAYMENT_REQUIRED | CANCELED | cancel_consultation |
| MATCHING | ACTIVE | Provider accepts |
| MATCHING | CANCELED | cancel_consultation |
| ACTIVE | CLOSED | Provider closes |
| CLOSED | ACTIVE | send_message on a closed consultation (always available) |
Cancelable States
Only these states allow cancellation:- TRIAGING — Assessment in progress
- PAYMENT_REQUIRED — Before user confirms
- MATCHING — Before provider connects