feat: add Provider field to appointment form, drive AI claim automation

Adds an optional Provider (NPI) select to the Edit Appointment form,
sourced from Settings > NPI Providers. The AI "Claim for Column" batch
flow now prefers the appointment's own provider when resolving which
provider Selenium should select on the insurance site (e.g. MassHealth
rendering provider dropdown), falling back to the existing per-procedure
selection, active claim, or first configured provider.

Also resyncs packages/db's committed compiled schema/client artifacts
with their .ts sources — they had drifted out of sync (some untouched
since July), which was silently stripping the new npiProviderId field
via stale .strict() zod schemas.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
ff
2026-07-20 23:07:10 -04:00
co-authored by Claude Sonnet 5
parent ca568de817
commit b1932fa3d6
1285 changed files with 21237 additions and 4432 deletions
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.AppointmentWhereInputObjectZodSchema = exports.AppointmentWhereInputObjectSchema = void 0;
const z = __importStar(require("zod"));
const IntFilter_schema_1 = require("./IntFilter.schema");
const IntNullableFilter_schema_1 = require("./IntNullableFilter.schema");
const StringFilter_schema_1 = require("./StringFilter.schema");
const DateTimeFilter_schema_1 = require("./DateTimeFilter.schema");
const BoolFilter_schema_1 = require("./BoolFilter.schema");
@@ -48,6 +49,8 @@ const UserScalarRelationFilter_schema_1 = require("./UserScalarRelationFilter.sc
const UserWhereInput_schema_1 = require("./UserWhereInput.schema");
const StaffNullableScalarRelationFilter_schema_1 = require("./StaffNullableScalarRelationFilter.schema");
const StaffWhereInput_schema_1 = require("./StaffWhereInput.schema");
const NpiProviderNullableScalarRelationFilter_schema_1 = require("./NpiProviderNullableScalarRelationFilter.schema");
const NpiProviderWhereInput_schema_1 = require("./NpiProviderWhereInput.schema");
const AppointmentProcedureListRelationFilter_schema_1 = require("./AppointmentProcedureListRelationFilter.schema");
const ClaimListRelationFilter_schema_1 = require("./ClaimListRelationFilter.schema");
const AppointmentFileListRelationFilter_schema_1 = require("./AppointmentFileListRelationFilter.schema");
@@ -59,6 +62,7 @@ const appointmentwhereinputSchema = z.object({
patientId: z.union([z.lazy(() => IntFilter_schema_1.IntFilterObjectSchema), z.number().int()]).optional(),
userId: z.union([z.lazy(() => IntFilter_schema_1.IntFilterObjectSchema), z.number().int()]).optional(),
staffId: z.union([z.lazy(() => IntFilter_schema_1.IntFilterObjectSchema), z.number().int()]).optional(),
npiProviderId: z.union([z.lazy(() => IntNullableFilter_schema_1.IntNullableFilterObjectSchema), z.number().int()]).optional().nullable(),
title: z.union([z.lazy(() => StringFilter_schema_1.StringFilterObjectSchema), z.string()]).optional(),
date: z.union([z.lazy(() => DateTimeFilter_schema_1.DateTimeFilterObjectSchema), z.coerce.date()]).optional(),
startTime: z.union([z.lazy(() => StringFilter_schema_1.StringFilterObjectSchema), z.string()]).optional(),
@@ -74,6 +78,7 @@ const appointmentwhereinputSchema = z.object({
patient: z.union([z.lazy(() => PatientScalarRelationFilter_schema_1.PatientScalarRelationFilterObjectSchema), z.lazy(() => PatientWhereInput_schema_1.PatientWhereInputObjectSchema)]).optional(),
user: z.union([z.lazy(() => UserScalarRelationFilter_schema_1.UserScalarRelationFilterObjectSchema), z.lazy(() => UserWhereInput_schema_1.UserWhereInputObjectSchema)]).optional(),
staff: z.union([z.lazy(() => StaffNullableScalarRelationFilter_schema_1.StaffNullableScalarRelationFilterObjectSchema), z.lazy(() => StaffWhereInput_schema_1.StaffWhereInputObjectSchema)]).optional(),
npiProvider: z.union([z.lazy(() => NpiProviderNullableScalarRelationFilter_schema_1.NpiProviderNullableScalarRelationFilterObjectSchema), z.lazy(() => NpiProviderWhereInput_schema_1.NpiProviderWhereInputObjectSchema)]).optional(),
procedures: z.lazy(() => AppointmentProcedureListRelationFilter_schema_1.AppointmentProcedureListRelationFilterObjectSchema).optional(),
claims: z.lazy(() => ClaimListRelationFilter_schema_1.ClaimListRelationFilterObjectSchema).optional(),
files: z.lazy(() => AppointmentFileListRelationFilter_schema_1.AppointmentFileListRelationFilterObjectSchema).optional()