fix: allow letters in insurance ID; add patient state (default MA)

- Backend insurance ID check now accepts letters + digits (BCBS IDs have
  a letter prefix), matching the frontend schema; create route validates
  the normalized body
- Patient.state column (default "MA") with State select on the patient
  form; ADA claim form uses the patient's state instead of the office's
- Rebuild stale packages/db compiled .js so the runtime schemas include
  new fields (state, office billing NPI fields, Telnyx settings)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-08 23:29:27 -04:00
co-authored by Claude Opus 5.5
parent 2c0c595af5
commit 1abc2c705d
664 changed files with 6263 additions and 843 deletions
@@ -7,14 +7,14 @@ export declare const CommunicationGroupByZodSchema: z.ZodObject<{
having: z.ZodOptional<z.ZodType<Prisma.CommunicationScalarWhereWithAggregatesInput, z.ZodTypeDef, Prisma.CommunicationScalarWhereWithAggregatesInput>>;
take: z.ZodOptional<z.ZodNumber>;
skip: z.ZodOptional<z.ZodNumber>;
by: z.ZodArray<z.ZodEnum<["id", "patientId", "userId", "channel", "direction", "status", "body", "callDuration", "twilioSid", "createdAt"]>, "many">;
by: z.ZodArray<z.ZodEnum<["id", "patientId", "userId", "channel", "direction", "status", "provider", "body", "callDuration", "twilioSid", "createdAt"]>, "many">;
_count: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<true>, z.ZodType<Prisma.CommunicationCountAggregateInputType, z.ZodTypeDef, Prisma.CommunicationCountAggregateInputType>]>>;
_min: z.ZodOptional<z.ZodType<Prisma.CommunicationMinAggregateInputType, z.ZodTypeDef, Prisma.CommunicationMinAggregateInputType>>;
_max: z.ZodOptional<z.ZodType<Prisma.CommunicationMaxAggregateInputType, z.ZodTypeDef, Prisma.CommunicationMaxAggregateInputType>>;
_avg: z.ZodOptional<z.ZodType<Prisma.CommunicationAvgAggregateInputType, z.ZodTypeDef, Prisma.CommunicationAvgAggregateInputType>>;
_sum: z.ZodOptional<z.ZodType<Prisma.CommunicationSumAggregateInputType, z.ZodTypeDef, Prisma.CommunicationSumAggregateInputType>>;
}, "strict", z.ZodTypeAny, {
by: ("status" | "id" | "createdAt" | "patientId" | "userId" | "channel" | "direction" | "body" | "callDuration" | "twilioSid")[];
by: ("status" | "id" | "createdAt" | "patientId" | "userId" | "channel" | "direction" | "provider" | "body" | "callDuration" | "twilioSid")[];
where?: Prisma.CommunicationWhereInput | undefined;
_count?: true | Prisma.CommunicationCountAggregateInputType | undefined;
orderBy?: Prisma.CommunicationOrderByWithAggregationInput | Prisma.CommunicationOrderByWithAggregationInput[] | undefined;
@@ -26,7 +26,7 @@ export declare const CommunicationGroupByZodSchema: z.ZodObject<{
_sum?: Prisma.CommunicationSumAggregateInputType | undefined;
having?: Prisma.CommunicationScalarWhereWithAggregatesInput | undefined;
}, {
by: ("status" | "id" | "createdAt" | "patientId" | "userId" | "channel" | "direction" | "body" | "callDuration" | "twilioSid")[];
by: ("status" | "id" | "createdAt" | "patientId" | "userId" | "channel" | "direction" | "provider" | "body" | "callDuration" | "twilioSid")[];
where?: Prisma.CommunicationWhereInput | undefined;
_count?: true | Prisma.CommunicationCountAggregateInputType | undefined;
orderBy?: Prisma.CommunicationOrderByWithAggregationInput | Prisma.CommunicationOrderByWithAggregationInput[] | undefined;