feat: fix DDMA eligibility — patient list, name extraction, PDF page, OTP session
- Filter patient list by userId so each user sees only their own patients - Sort patients by updatedAt DESC so recently checked patients appear first - Add updatedAt field to Patient model (DB migration via raw SQL + db:generate) - Fix DDMA name extraction: read from detail page "Name:" label, not search results row text which included appended dates - Fix PDF capture: use driver.get() instead of click() to avoid race condition that was saving the search results page instead of the patient detail page - Strip trailing bare dates from extracted names (e.g. "Rodriguez 04/27/2026") - Handle "Last, First" comma format and single-word last names in splitName - Normalize insuranceId consistently in createOrUpdatePatientByInsuranceId - Fix OTP persistent session: stop clearing LocalStorage/IndexedDB on startup (these hold the DDMA device trust token that skips OTP on subsequent logins) - Increase post-navigation wait time for full page render before PDF generation Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import * as z from 'zod';
|
||||
import { Prisma } from '../../../generated/prisma';
|
||||
import Decimal from 'decimal.js';
|
||||
import type { Prisma } from '../../../generated/prisma';
|
||||
|
||||
import Decimal from "decimal.js";
|
||||
export declare const AppointmentProcedureUncheckedUpdateManyInputObjectSchema: z.ZodType<Prisma.AppointmentProcedureUncheckedUpdateManyInput>;
|
||||
export declare const AppointmentProcedureUncheckedUpdateManyInputObjectZodSchema: z.ZodObject<{
|
||||
id: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodLazy<z.ZodType<Prisma.IntFieldUpdateOperationsInput, z.ZodTypeDef, Prisma.IntFieldUpdateOperationsInput>>]>>;
|
||||
@@ -8,7 +9,7 @@ export declare const AppointmentProcedureUncheckedUpdateManyInputObjectZodSchema
|
||||
patientId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodLazy<z.ZodType<Prisma.IntFieldUpdateOperationsInput, z.ZodTypeDef, Prisma.IntFieldUpdateOperationsInput>>]>>;
|
||||
procedureCode: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodLazy<z.ZodType<Prisma.StringFieldUpdateOperationsInput, z.ZodTypeDef, Prisma.StringFieldUpdateOperationsInput>>]>>;
|
||||
procedureLabel: z.ZodNullable<z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodLazy<z.ZodType<Prisma.NullableStringFieldUpdateOperationsInput, z.ZodTypeDef, Prisma.NullableStringFieldUpdateOperationsInput>>]>>>;
|
||||
fee: z.ZodNullable<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodType<Decimal, z.ZodTypeDef, Decimal>, z.ZodType<Prisma.Decimal, z.ZodTypeDef, Prisma.Decimal>, z.ZodType<import("../../../generated/prisma/runtime/client").DecimalJsLike, z.ZodTypeDef, import("../../../generated/prisma/runtime/client").DecimalJsLike>]>, string | number | import("../../../generated/prisma/runtime/client").DecimalJsLike | Prisma.Decimal | Decimal, string | number | import("../../../generated/prisma/runtime/client").DecimalJsLike | Prisma.Decimal | Decimal>, z.ZodLazy<z.ZodType<Prisma.NullableDecimalFieldUpdateOperationsInput, z.ZodTypeDef, Prisma.NullableDecimalFieldUpdateOperationsInput>>]>>>;
|
||||
fee: z.ZodNullable<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodType<Decimal, z.ZodTypeDef, Decimal>, z.ZodType<Decimal, z.ZodTypeDef, Decimal>, z.ZodType<import("../../../generated/prisma/runtime/client").DecimalJsLike, z.ZodTypeDef, import("../../../generated/prisma/runtime/client").DecimalJsLike>]>, string | number | import("../../../generated/prisma/runtime/client").DecimalJsLike | Decimal | Decimal, string | number | import("../../../generated/prisma/runtime/client").DecimalJsLike | Decimal | Decimal>, z.ZodLazy<z.ZodType<Prisma.NullableDecimalFieldUpdateOperationsInput, z.ZodTypeDef, Prisma.NullableDecimalFieldUpdateOperationsInput>>]>>>;
|
||||
category: z.ZodNullable<z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodLazy<z.ZodType<Prisma.NullableStringFieldUpdateOperationsInput, z.ZodTypeDef, Prisma.NullableStringFieldUpdateOperationsInput>>]>>>;
|
||||
toothNumber: z.ZodNullable<z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodLazy<z.ZodType<Prisma.NullableStringFieldUpdateOperationsInput, z.ZodTypeDef, Prisma.NullableStringFieldUpdateOperationsInput>>]>>>;
|
||||
toothSurface: z.ZodNullable<z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodLazy<z.ZodType<Prisma.NullableStringFieldUpdateOperationsInput, z.ZodTypeDef, Prisma.NullableStringFieldUpdateOperationsInput>>]>>>;
|
||||
@@ -22,7 +23,7 @@ export declare const AppointmentProcedureUncheckedUpdateManyInputObjectZodSchema
|
||||
patientId?: number | Prisma.IntFieldUpdateOperationsInput | undefined;
|
||||
procedureCode?: string | Prisma.StringFieldUpdateOperationsInput | undefined;
|
||||
procedureLabel?: string | Prisma.NullableStringFieldUpdateOperationsInput | null | undefined;
|
||||
fee?: string | number | import("../../../generated/prisma/runtime/client").DecimalJsLike | Prisma.Decimal | Decimal | Prisma.NullableDecimalFieldUpdateOperationsInput | null | undefined;
|
||||
fee?: string | number | import("../../../generated/prisma/runtime/client").DecimalJsLike | Decimal | Decimal | Prisma.NullableDecimalFieldUpdateOperationsInput | null | undefined;
|
||||
category?: string | Prisma.NullableStringFieldUpdateOperationsInput | null | undefined;
|
||||
toothNumber?: string | Prisma.NullableStringFieldUpdateOperationsInput | null | undefined;
|
||||
toothSurface?: string | Prisma.NullableStringFieldUpdateOperationsInput | null | undefined;
|
||||
@@ -36,7 +37,7 @@ export declare const AppointmentProcedureUncheckedUpdateManyInputObjectZodSchema
|
||||
patientId?: number | Prisma.IntFieldUpdateOperationsInput | undefined;
|
||||
procedureCode?: string | Prisma.StringFieldUpdateOperationsInput | undefined;
|
||||
procedureLabel?: string | Prisma.NullableStringFieldUpdateOperationsInput | null | undefined;
|
||||
fee?: string | number | import("../../../generated/prisma/runtime/client").DecimalJsLike | Prisma.Decimal | Decimal | Prisma.NullableDecimalFieldUpdateOperationsInput | null | undefined;
|
||||
fee?: string | number | import("../../../generated/prisma/runtime/client").DecimalJsLike | Decimal | Decimal | Prisma.NullableDecimalFieldUpdateOperationsInput | null | undefined;
|
||||
category?: string | Prisma.NullableStringFieldUpdateOperationsInput | null | undefined;
|
||||
toothNumber?: string | Prisma.NullableStringFieldUpdateOperationsInput | null | undefined;
|
||||
toothSurface?: string | Prisma.NullableStringFieldUpdateOperationsInput | null | undefined;
|
||||
|
||||
Reference in New Issue
Block a user