Patient Experience

Deliver lab test results through AI chat

Workflow purpose

This guide demonstrates how to use Proto's platform to deliver lab test results directly through AI chat, once identity has been verified. Phoning patients to say results are ready – or worse, leaving them to call in and wait on hold – adds delay to something that is often already causing anxiety. This workflow verifies the patient, checks the result status with the laboratory information system, and either delivers the result or escalates to a doctor when the result needs clinical context.

Who can benefit from this guide:

  • Diagnostic laboratories and hospital pathology departments
  • Clinics wanting to reduce inbound calls asking "are my results ready"
  • Insurers and HMOs offering result delivery as part of a broader health service
  • Operations teams needing an auditable trail of when a result was released

Deliver a lab test result

This workflow verifies the patient, checks result status, and either delivers the result or escalates for clinical context. See how to deliver lab test results through AI chat.

Just starting with the platform?
For initial setup of your AI agent – including workspace setup, agent training, and channel deployment – please start here. This workflow guide assumes your AI agent is set up and ready for more advanced configurations.

1. Create a trigger

Purpose: Start the flow when a patient asks about lab results.

  • Navigate to the Actions tab in the AI agent settings.
  • Click “+ Add Trigger” and select the Message Received trigger type.
  • Name the trigger “Lab Results”.
  • Add a description such as “Triggers if user asks whether their lab or test results are ready.”

2. Survey – identity and reference

Purpose: Confirm who is asking before releasing any medical information.

  • Add a Survey action titled Result lookup.
  • Field reference_numberTextWhat’s your test reference number or booking ID?
  • Field date_of_birthTextPlease confirm your date of birth for verification.

3. Send API request – laboratory lookup

Purpose: Check the actual result status rather than guessing from turnaround time.

  • Add a Send API request action to your LIS, filtered by {reference_number} and {date_of_birth}. Map the response to result_status and result_data.

4. Branch – branch by result status

Purpose: Send routine results directly, but keep anything needing clinical context with a doctor.

  • Add a Branch action.
  • Condition: _.lower(result_status) == "ready" → deliver directly.
  • Condition: _.lower(result_status) == "needs review"AI Agent Network handoff to the reviewing doctor’s AI agent, passing {reference_number} and {result_data} in the transferred context.
  • Condition: _.lower(result_status) == "pending" → send the expected ready date instead.

5. Deliver the result

Purpose: Close the loop with a clear, dated message the patient can act on.

  • Add a Send message action for the “ready” branch: “Your results for {reference_number} are ready: {result_data}. Please discuss any questions with your doctor.”

6. Test the flow

Purpose: Confirm sensitive results are never delivered without review.

  • Test with a result flagged “needs review” and confirm the handoff fires instead of the result being sent directly.
  • Test with an incorrect date of birth and confirm the flow declines to release the result.
  • Test with a reference number that doesn’t exist and confirm a graceful “we can’t find that reference” message.