Clinical Tools
Built-in tools the voice agent uses during calls for patient lookup, scheduling, insurance, and outbound call management.
The voice agent has 13 built-in tools for interacting with clinical data during a live call. These tools read from and write to the world model, and write operations fire outbound sync events that the connector runner delivers to the EHR.
All write operations carry voice-level confidence (0.3-0.5) and must pass through confidence gates before reaching external systems.
Patient Tools
patient_lookup
Read
Searches patients by DOB, name, phone number, or MRN. Returns demographics, insurance, upcoming appointments, and recent visits. Uses a cascading search strategy: exact ID match, then phone lookup, then DOB+name, then name similarity, then DOB alone.
patient_create
Write
Creates a new patient record. Parses free-text addresses into structured FHIR format using an LLM. Auto-resolves clinic location for EHR sync. The agent must call patient_lookup first to check for duplicates.
patient_update
Write
Updates patient contact information (phone, email, address). Fires outbound sync to update the EHR.
Scheduling Tools
slot_search
Read
Searches available appointment slots from the EHR. Filters by location, date, appointment type, and provider. Returns slot references (e.g., "slot:0") that the agent uses when booking. Handles timezone-aware filtering based on clinic location.
schedule_appointment
Write
Books an appointment using a slot reference from slot_search. Writes to both the appointment and patient entities atomically, ensuring both stay in sync. Can optionally set the patient's primary care provider.
appointment_lookup
Read
Searches a patient's existing appointments by status (booked, pending, fulfilled, cancelled) and date range.
cancel_appointment
Write
Cancels a booked appointment with a required cancellation reason. Fires outbound sync.
confirm_appointment
Write
Confirms a booked appointment. Fires outbound sync.
Insurance Tools
insurance_create
Write
Creates an insurance coverage record for a patient. Supports primary/secondary priority, non-self relationships (spouse, child), and group numbers. The outbound adapter fuzzy-matches carrier names against the practice's insurance list.
Outbound Tools
schedule_outbound_call
Write
Schedules a future outbound call to the patient. Creates an outbound task entity that the connector runner's dispatch loop executes. Configurable priority (1-10), call window, max attempts, and context for the outbound agent. Deduplicates by patient + reason + date.
Search Tools
semantic_patient_search
Read
Searches patients by natural language description (e.g., "elderly diabetic patient on insulin"). Uses vector similarity over patient entity embeddings.
semantic_event_search
Read
Searches clinical events by natural language (e.g., "recent blood sugar results"). Can be scoped to a specific patient. Returns event summaries with FHIR resource types.
How Tools Interact with the World Model
Write tools follow a consistent pattern:
The tool writes a FHIR-normalized event to the world model at voice-level confidence
The world model recomputes the affected entity's projected state
The tool publishes an outbound sync event to the connector runner's queue
The connector runner delivers the write to the EHR when the external system is ready
This means the patient gets an immediate confirmation during the call (the world model is updated instantly), while the EHR receives the write asynchronously through the confidence-gated pipeline. If the EHR is temporarily unavailable, the write is queued and retried.
Last updated
Was this helpful?

