Commit Graph

22 Commits

Author SHA1 Message Date
Gitead
4f8a211bf1 fix: pass socketId from frontend, update claim status to REVIEW, save confirmation as PDF not screenshot 2026-04-23 23:29:12 -04:00
Gitead
ca7797841f fix: use rendering provider from claim form for MassHealth dentist search, default to Mary Scannell, select first office option 2026-04-23 00:25:11 -04:00
Gitead
5e7f0ceb07 fix: use relative API URLs and allow any LAN IP for CORS 2026-04-21 23:18:33 -04:00
Gitead
14c534d57d feat: show attachment filenames in claims and payments tables 2026-04-18 11:46:14 -04:00
Gitead
4505d5db85 feat: DentaQuest eligibility — PLAN_NOT_ACCEPTED status, DOB save, no retries
- Add PLAN_NOT_ACCEPTED to PatientStatus enum (prisma schema + db push)
- Selenium: return "plan not accepted" eligibility text instead of collapsing to inactive
- Backend processor: map "plan not accepted" → PLAN_NOT_ACCEPTED, fix insuranceProvider label
- _shared.ts: save DOB for existing patients when field is currently empty
- Frontend: show amber "Plan Not Accepted" badge in patient table and detail panel
- patient-form.tsx: display "Plan Not Accepted" label in status dropdown
- BullMQ: set attempts=1 (no retry on selenium failure)
- DDMA: remove first/last name from search (member ID + DOB only)
- patient-types.ts: allow alphanumeric insurance IDs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 23:47:50 -04:00
Gitead
f5ec4a1480 feat: wire Tufts SCO to DentaQuest portal and fix insurance credential dropdown
- Add /dentaquest-eligibility endpoint in Python agent (Tufts SCO uses providers.dentaquest.com)
- Add backend route, processor, and service client for Tufts SCO (separate from UnitedSCO/DentalHub)
- Fix Tufts SCO button to post to new tuftssco route instead of unitedsco
- Fix credential field names: dentaquestUsername/Password (was tuftsscoUsername/Password)
- Fix socket event: listen for selenium:dentaquest_session_started (was unitedsco)
- Fix error visibility: keep session alive 30s on error so backend reads real message
- Replace free-text Site Key field with dropdown to prevent key mismatches

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 00:59:24 -04:00
Gitead
f6adb75f4f fix: add bullmq, fix login error logging, regenerate zod schemas 2026-04-16 15:50:34 -04:00
ff
7fa7f405e2 feat: integrate DeltaIns, Tufts SCO, United SCO, and CCA eligibility checks 2026-04-16 15:02:50 -04:00
ff
289ea426d3 feat: integrate DDMA eligibility into BullMQ queue with persistent session
- Route DDMA eligibility through InProcessQueue (concurrency=1) so it
  queues behind other selenium jobs instead of running concurrently
- New ddmaEligibilityProcessor: starts Python session, polls for OTP/
  completion via socket events, saves PDF and updates patient DB
- Frontend ddma-buton-modal now uses shared app socket + job:update
  pattern (drops private socket connection)
- SeleniumService: upgrade ddma_browser_manager with credential hash
  tracking, anti-detection options, and startup session clearing;
  upgrade DDMA worker with firstName/lastName support, PDF via
  printToPDF, force-logout on credential change; upgrade helpers with
  dual OTP strategy (app API + browser polling); add /clear-ddma-session
  endpoint; reduce fixed sleeps with smart WebDriverWait

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 09:21:47 -04:00
ff
714029df24 fix: MH eligibility selenium integration and patient data extraction 2026-04-14 22:10:19 -04:00
ff
f415100cdb fix: fix db restore not applying and auto-create USB backup folder
- Reset public schema before psql restore so existing tables don't
  block CREATE TABLE statements (pg_dump without --clean has no DROPs)
- Disconnect Prisma connection pool after restore so next request
  gets fresh connections against the restored data
- Auto-create the USB backup subfolder if it doesn't exist instead
  of failing; only fail if the destination drive itself is missing

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 23:12:41 -04:00
ff
90302a76b7 feat: add BullMQ queue infrastructure and frontend job status hook
- apps/Backend/src/queue/: connection, queues, workers, processors
- apps/Frontend/src/hooks/use-job-status.ts: WebSocket job progress hook
- apps/Frontend/src/lib/socket.ts: shared Socket.IO singleton

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 22:30:40 -04:00
ff
05a8a220bd feat: rewire routes to BullMQ and speed up documents page 2026-04-13 20:43:21 -04:00
ff
11a6d2e5a7 feat: add Job Monitor page with cron job logging and Selenium queue status 2026-04-13 00:32:18 -04:00
ff
034c0fa993 your commit message 2026-04-12 12:54:40 -04:00
ff
805fb3964a fix: staff edit error and column order on appointment page 2026-04-12 12:13:57 -04:00
ff
66a3d271f1 feat: change backup format to plain SQL, admin-only cron, backup now button, import restore UI 2026-04-11 23:37:43 -04:00
ff
4025ca45e0 feat: database management - auto/USB backup toggles, folder browser, cron jobs 2026-04-11 00:32:39 -04:00
ff
84991a0538 feat: restrict patient deletion to admin users only 2026-04-10 14:29:06 -04:00
ff
b9edd6a5e6 show credential pw 2026-04-07 23:52:05 -04:00
ff
608a577b1c fix: correct db port, localhost defaults, hashed passwords in seed 2026-04-04 23:30:05 -04:00
5d77e207c9 initial commit 2026-04-04 22:13:55 -04:00