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>
This commit is contained in:
@@ -43,7 +43,7 @@ model Patient {
|
||||
id Int @id @default(autoincrement())
|
||||
firstName String
|
||||
lastName String
|
||||
dateOfBirth DateTime @db.Date
|
||||
dateOfBirth DateTime? @db.Date
|
||||
gender String
|
||||
phone String
|
||||
email String?
|
||||
@@ -76,6 +76,7 @@ enum PatientStatus {
|
||||
ACTIVE
|
||||
INACTIVE
|
||||
UNKNOWN
|
||||
PLAN_NOT_ACCEPTED
|
||||
}
|
||||
|
||||
model Appointment {
|
||||
|
||||
@@ -25,7 +25,7 @@ export const insuranceIdSchema = z.preprocess(
|
||||
// After preprocess, require digits-only string (or optional nullable)
|
||||
z
|
||||
.string()
|
||||
.regex(/^\d+$/, { message: "Insurance ID must contain only digits" })
|
||||
.regex(/^[A-Za-z0-9]+$/, { message: "Insurance ID must contain only letters and digits" })
|
||||
.min(1)
|
||||
.max(32)
|
||||
.optional()
|
||||
|
||||
Reference in New Issue
Block a user