This report summarizes the current status of the map.iedme.us ecosystem,
including the DBSCAN dashboard, route list workflow, route view/scheduling, and
the new print (delivery manifest) flow.
Daily Order CSV Routine
Order CSV files are downloaded and matched every weekday at approximately 08:30 and 13:00.
We propose utilizing any unused low-spec PC as a dedicated automation device to routinely handle scheduled tasks—such as order CSV downloading, importing, and running DBSCAN—using macro-based automation.
Access (test account): map.iedme.us
Email: test@test.com / Password: test
DBSCAN Dashboard
Automation & CSV Handling
Auto CSV Import → Auto Run DBSCAN:
On initial load, the dashboard can automatically import the latest order CSV
and run DBSCAN, mirroring the routine tasks we normally perform manually.
When importing via CSV Import, the system compares
Order # values against already saved route lists and automatically
skips duplicated lists.
DBSCAN Parameters & Week Controls
Eps (miles), MinPts, and
Max stops/cluster can be locked using a
FIX button to keep the same parameters across runs.
Routes are grouped by Week 1–4, and orders whose IDs start with
SO can be selectively included or excluded.
Each week uses a different marker shape for visual separation:
diamond, triangle, square, circle, and “SO +” style markers.
DBSCAN can be run on only the selected weeks, allowing partial
clustering (e.g., Week 2 & Week 3 only).
Admin & Navigation
A small, hidden shortcut button in the upper-left corner gives direct access to the
Admin page.
From the Admin page, office locations and marker icons can be configured and updated
(office position and icon style are applied on the map).
Search, Cluster Management & Options
Search allows users to quickly find specific records (by name, order, address, etc.)
and add or move them between clusters.
A “vertical split” feature can cut large clusters based on the
Max stops/cluster value, forcibly splitting clusters that exceed
the limit.
Clicking a point allows moving it to a nearby cluster or unassigning it
(there are still some edge-case conflicts with the DBSCAN algorithm that we plan to refine later).
The DBSCAN Options panel can be toggled (hide/show) to maximize map space.
Clicking the cluster color strip opens a Route List submenu for that cluster.
Security
Company information is visible only to logged-in members.
If the company uses a fixed IP, we can additionally restrict access so that
the dashboard is only reachable from the office network.
Route List & Route Options
Date and Load Configuration
The default date is set to the next available business day (today or later).
Users can adjust the date either by typing directly or by selecting a date from the calendar icon on the right.
The previous term WH (warehouse) 1 has been tentatively renamed to the more general term Load. This naming change is currently applied, but it can be reverted to WH or updated to another naming convention as needed.
The number of load slots has been increased from 5 to 10.
Stored Data & Route Optimization
If data already exists for a selected date, the corresponding slot is
automatically disabled and shows the saved name.
Load ETA & Optimize Route triggers the routing API and displays
the optimized list.
TomTom API is used to improve route constraints and speed of calculation.
Route View
The Route View consumes the optimized map and route data coming from
dashboard.php and provides tools for editing, saving,
and scheduling routes.
Route Tab
Displays a time and traffic-optimized route generated via API. Routes can be modified:
users may reorder, adjust, or delete stops to refine the path.
After any manual edits, the Update Route button recalculates and displays
the updated estimated time (Est).
Each stop can also show a per-leg estimated travel time under the address.
The previous limit of 25 stops per route has been expanded, allowing a significantly larger number of stops to be displayed on a single map.
Routes can be saved to the database, which is significantly faster than the
previous spreadsheet-based method.
Saved routes can be reloaded, edited, and then updated back into the DB.
When a stop is canceled at the scheduling stage, the system automatically
renumbers the sequence. For example, if stops 1–25 exist and stop 9 is canceled,
the old stop 10 becomes 9, and all subsequent stops shift up by one.
(Behavior after printing is still under design and not yet implemented.
Adding extra stops post-print is also not yet implemented.)
Points sharing the exact same geographic location are highlighted with a
red address label, making duplicates easy to spot.
Phone numbers and addresses have copy buttons, allowing quick copy-paste
into an external map application if needed.
Schedule Tab
A calendar view shows scheduled routes, including today’s date and
the number of future schedules for each day.
Clicking a date filters and activates only the routes scheduled for that day.
Clicking an item in the Save Routes list loads that saved route into
the Route tab for review or editing.
Schedule entries display Schedule Date / Load # / Name / Print / Delete.
Delete should be used carefully. Deletion is permanent at the DB level, and
once removed, the corresponding orders will reappear in the DBSCAN dashboard as unscheduled items.
Print opens the Print View page (Delivery Manifest)
and allows the user to fill in additional information before printing.
Print View (Delivery Manifest)
The print_view page provides a Delivery Manifest interface which can
be saved to Google Drive and printed.
Header Information
Name: The saved schedule name.
Cities: A combined list of all cities that appear in the route.
(This is editable; users can adjust the text as needed.)
Load #: The associated load number.
Date: The scheduled delivery date.
Input Area
All list items under Cities are directly editable.
The PF~Nu columns and Total column accept
numeric values (decimals only).
The Other field accepts free text.
All numerical values in the form are automatically summed and displayed in the bottom-right section of the sheet.
All text and numeric input is applied immediately in the local view as the user types.
If a list item is canceled in Route View after scheduling, only that item’s values are cleared;
remaining entries are preserved.
Footer Actions
Save to Drive: Backs up the manifest to Google Drive.
The Print button is enabled only after a successful backup.
Print: The first page prints up to 25 stops, and any additional stops are printed on subsequent pages.
Close: Closes the current page.
Planned / Upcoming Work
The following items outline the planned enhancements and future development tasks that are scheduled
for upcoming phases of the project.
New Driver App
A completely new driver-facing application is under development. This will be
a separate system from the existing program (architecture and UX will differ).
An additional proposed feature is to enable drivers to take delivery photos within the app and send them directly to the patient via a “Send Photo” action. Once submitted, the corresponding stop’s status would automatically update to Delivered, and the compressed image would be stored on the server so office staff can review it at any time. This workflow follows modern delivery standards used by services such as Amazon and Uber Eats.
Post-Print Cancel & Add Logic
Define and implement rules for how cancellations and additions should behave
after printing, including how sequence numbers and totals are adjusted.
Login Integration & Logging
Strengthen connection between the login system and routing tools, and persist logs
for key actions (create/update/delete, print, etc.) with search capabilities.
Advanced Route List Search
Implement richer search across saved data in Route List
(search by Name, Order #, Address, etc.).
Further Feature Requests & UI Adjustments
After testing, additional requested features and UI refinements will be added.
Please share any ideas or pain points discovered during real-world use.
Bug Fixes
Continue to resolve known issues (e.g., DBSCAN edge cases when moving points between clusters,
rare UI glitches in the options panel, and other reported errors).