- Login and Reports pages: eCare logo, Waystar and Aquilaehr logos (light
versions for the dark pages), eCare favicon.
- Excel reports: faded eCare/Waystar/Aquila watermark as the sheet
background on both sheets. Report writer moves to xlsxwriter, the only
engine that can set a sheet background.
- Reports page: animated run progress (both download lanes piped into the
Excel sheet) and a plain-language activity feed built from the run log;
the raw log stays under "Technical log". /status now returns the
location count.
- Dependencies move from requirements.txt to pyproject.toml + uv.lock;
Dockerfile installs uv from PyPI and runs uv sync --frozen.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Aquilaehr's Export CSV is built in the browser and converts Visit Date to
the browser timezone. On the server (TZ=America/New_York) every visit came
out one day early, so Alpha matched 11 of 214 instead of 190.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- mek_recon.py: Playwright download for both sites in parallel (headless on server)
- consolidate.py: Patient Name + DOS match, per-location and All Locations Excel
- app.py: sign-in (server-side password), Run button, per-file and ZIP downloads
- Dockerfile for Dokploy
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>