Call Scheduler
Overview
Call Scheduler is your customer-centric scheduling tool for geographic route planning.
If you are asking questions like:
- “Which customers are near an existing route but haven’t been scheduled?”
- “Who should we call to fill tomorrow’s routes?”
- “How does our cluster coverage look across the service area?”
…this is the screen you should use.
What this page helps you do:
- See unscheduled customers matched to nearby routes by geographic proximity
- Manage a patient call list for day-of scheduling
- View the cluster boundary and scheduled stops on an interactive map
- Optimize routes and manage approvals

Before You Start
To get useful results in Call Scheduler, make sure these are configured:
- Customers exist with geocoded locations (latitude/longitude)
- Routes/clusters are created and assigned to resources with shifts
- Service areas are defined with geographic boundaries
- Resources are assigned to organizations
Related setup pages:
Accessing Call Scheduler
- Open a route in Route Scheduler day view.
- Click the actions menu → Call Scheduler.
- Alternatively, navigate directly to the Call Scheduler via internal links from other scheduling screens.

Permissions and visibility
Access requires the Call Scheduler Module role. If you cannot see this page, contact your admin to check your security group assignments.
Understanding the Screen Layout
Call Scheduler uses a day view that shows a single route’s detail with a patient call list and map.
1) Header area
Top controls include:
- Back button (return to previous view)
- Page title (“Call Scheduler” or a saved view name)
- Date control (navigate by day)
- Generate Route dropdown (appears when geocoded events exist)
- More actions menu (three-dot menu)
2) Shift pills
Horizontal row of route/shift buttons for the selected day, showing resource name and visit count. Click a pill to switch between routes.
3) Split layout
- Left panel: Map showing the cluster boundary (GeoJSON polygon) with numbered stop markers, plus a Patient Call List with search
- Right panel: Route schedule with events in order, driving directions on the map
Key Concepts
| Term | Meaning |
|---|---|
| Cluster | A geographic zone grouping customers who are near each other, assigned to one resource for a day |
| Cohort date | A reference date used to determine which customers belong to a cluster’s recurring schedule |
| Call status | Scheduling state of a customer: CALLED (contacted), READY (available to schedule), or RECOVERY (follow-up needed) |
| GeoJSON boundary | The geographic polygon shape that defines a cluster’s coverage area, shown on the map |
Day View Features
Patient call list
The left panel includes a searchable list of patients assigned to the current cluster. Search by:
- Patient name
- Address
Use the call list to work through patients systematically and schedule visits.
Cluster map
The map on the left panel shows:
- The cluster’s geographic boundary as a polygon overlay
- Numbered markers for each stop in route order
- The cluster’s coverage area for context
Route schedule
The right panel displays the day’s schedule using the same layout as Route Scheduler day view:
- Events listed in route order
- Driving directions between stops
- Event detail sheets accessible by clicking any event
Invalid addresses
Events with missing or invalid geocoded addresses are flagged. Click through to the Location Editor to correct them.
Using Filters
Call Scheduler supports filters to narrow the patient call list.
| Filter | What it does |
|---|---|
| Call Status | Show customers by scheduling state (CALLED / READY / RECOVERY) |
| Organization | Narrow results to selected organizations |
| Priority | Filter customers by priority level (1–10) |
| Providers | Show customers near routes for specific resources |
| Service Area | Limit results to selected service areas |
Actions Menu (Three Dots)
The actions menu provides quick access to common operations.
Edit Route
Opens the route editor to modify an existing route.
AMD Event ID
Look up an event by its AMD Event ID.
AMD Patient ID
Look up a patient by their AMD Patient ID.
Route Note
View or edit the free-text note attached to the current route. Available when a route is selected.
Route Activity Log
View the history of changes made to the current route. Available when shifts exist.
New Event
Create a new event. Disabled when the route is locked.
New Customer
Open the customer creation form.
Route Detail
Navigate to the Route Scheduler with the same date and shift, for the route-focused day view.
Preview Billing Sheet
Generate and preview a PDF billing sheet for the current route in a new tab.
Unlock Route / Approve Document
- Approve Document — lock the route, generate a PDF, and save it as a document
- Unlock Route — unlock a previously approved route for further editing
Send Schedule Email
Email the current route schedule to configured recipients.
Approve Route
Approve and send the route schedule via email.
Saved Views
Switch between previously saved view configurations.
Generate Route Dropdown
This dropdown appears in the day view header when the current route has events with valid geocoded locations.
| Option | What it does |
|---|---|
| Manual Route | Opens a route table where you can manually reorder stops |
| Duplicate Cluster | Creates a copy of the current route for another day or resource |
| Optimize Route | Runs the VRP route optimizer to find the most efficient stop order |
Common Workflows
Workflow A: Schedule customers from the call list
- Open the day view for a route that has capacity.
- Review the Patient Call List on the left panel.
- Search for a specific patient or work through the list in order.
- Click a patient to open the detail sheet.
- Schedule an event or add the customer to the cluster.
- Repeat until the route is full.
Workflow B: Review cluster coverage on the map
- Open the day view for a route.
- Review the cluster boundary polygon on the map panel.
- Check that the coverage area makes geographic sense for the assigned customers.
- If stops are outside the boundary, consider reassigning them to a closer route.
Workflow C: Optimize after filling a route
- Add customers from the call list until the route is full.
- Click Generate Route → Optimize Route.
- Wait for the optimizer to complete (progress is shown in the header).
- Review the new stop order on the map and in the event list.
- Approve the route when satisfied.
Relationships & Dependencies
[Customers + Locations] ---> \[Service Areas] -------------> [Call Scheduler] ---> [Schedule Event / Add to Cluster] / |[Resources + Shifts] --------> | \ v[Clusters / Routes] ----------> [Route Scheduler (day detail)] | v [Route Optimization / Billing / Approvals]Related pages:
- Route Scheduler
- Resource Scheduler
- Event Scheduler
- Resources
- Organizations
- Service Areas
- Patients
- Locations
Best Practices for New Teams
- Work through the Patient Call List systematically rather than skipping around.
- Use Call Status filters to track which customers have been contacted.
- Always run Optimize Route after adding multiple stops to ensure efficient ordering.
- Review the cluster boundary on the map to verify coverage makes geographic sense.
- Approve routes at the end of the planning cycle, not while still adding customers.
Troubleshooting
No customers appear in the call list
Likely causes:
- No cluster/route exists for the selected date and shift
- Filters (call status, organization, service area) are too narrow
- Customer locations are not geocoded
Fix:
- Verify a route exists for the selected date. Clear filters and check that customer locations have valid coordinates.
Cluster boundary does not appear on the map
Likely causes:
- The cluster has no GeoJSON boundary defined
- The cluster geometry has not been generated yet
Fix:
- Ensure the cluster has assigned customers with geocoded locations. The boundary is generated automatically when the day view loads.
I can’t add a customer to a cluster
Likely causes:
- The route is locked/approved
- Required fields (event type, location) are incomplete
Fix:
- Unlock the route if it has been approved. Ensure all required fields are completed before saving.
WebSocket alert says another user is scheduling the same patient
Likely causes:
- Another scheduler has the same patient open in their detail sheet
Fix:
- Coordinate with the other scheduler. The alert is informational — the most recent save will take effect.