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>
44 lines
4.1 KiB
TypeScript
44 lines
4.1 KiB
TypeScript
import * as z from 'zod';
|
|
import type { Prisma } from '../../../generated/prisma';
|
|
import { IntWithAggregatesFilterObjectSchema as IntWithAggregatesFilterObjectSchema } from './IntWithAggregatesFilter.schema';
|
|
import { IntNullableWithAggregatesFilterObjectSchema as IntNullableWithAggregatesFilterObjectSchema } from './IntNullableWithAggregatesFilter.schema';
|
|
import { StringWithAggregatesFilterObjectSchema as StringWithAggregatesFilterObjectSchema } from './StringWithAggregatesFilter.schema';
|
|
import { StringNullableWithAggregatesFilterObjectSchema as StringNullableWithAggregatesFilterObjectSchema } from './StringNullableWithAggregatesFilter.schema';
|
|
import { DecimalNullableWithAggregatesFilterObjectSchema as DecimalNullableWithAggregatesFilterObjectSchema } from './DecimalNullableWithAggregatesFilter.schema';
|
|
import { EnumProcedureSourceWithAggregatesFilterObjectSchema as EnumProcedureSourceWithAggregatesFilterObjectSchema } from './EnumProcedureSourceWithAggregatesFilter.schema';
|
|
import { ProcedureSourceSchema } from '../enums/ProcedureSource.schema';
|
|
import { DateTimeWithAggregatesFilterObjectSchema as DateTimeWithAggregatesFilterObjectSchema } from './DateTimeWithAggregatesFilter.schema'
|
|
|
|
import { DecimalJSLikeSchema, isValidDecimalInput } from '../../helpers/decimal-helpers';
|
|
|
|
import Decimal from "decimal.js";
|
|
const appointmentprocedurescalarwherewithaggregatesinputSchema = z.object({
|
|
AND: z.union([z.lazy(() => AppointmentProcedureScalarWhereWithAggregatesInputObjectSchema), z.lazy(() => AppointmentProcedureScalarWhereWithAggregatesInputObjectSchema).array()]).optional(),
|
|
OR: z.lazy(() => AppointmentProcedureScalarWhereWithAggregatesInputObjectSchema).array().optional(),
|
|
NOT: z.union([z.lazy(() => AppointmentProcedureScalarWhereWithAggregatesInputObjectSchema), z.lazy(() => AppointmentProcedureScalarWhereWithAggregatesInputObjectSchema).array()]).optional(),
|
|
id: z.union([z.lazy(() => IntWithAggregatesFilterObjectSchema), z.number().int()]).optional(),
|
|
appointmentId: z.union([z.lazy(() => IntWithAggregatesFilterObjectSchema), z.number().int()]).optional(),
|
|
patientId: z.union([z.lazy(() => IntWithAggregatesFilterObjectSchema), z.number().int()]).optional(),
|
|
npiProviderId: z.union([z.lazy(() => IntNullableWithAggregatesFilterObjectSchema), z.number().int()]).optional().nullable(),
|
|
procedureCode: z.union([z.lazy(() => StringWithAggregatesFilterObjectSchema), z.string()]).optional(),
|
|
procedureLabel: z.union([z.lazy(() => StringNullableWithAggregatesFilterObjectSchema), z.string()]).optional().nullable(),
|
|
fee: z.union([z.lazy(() => DecimalNullableWithAggregatesFilterObjectSchema), z.union([
|
|
z.number(),
|
|
z.string(),
|
|
z.instanceof(Decimal),
|
|
z.instanceof(Decimal),
|
|
DecimalJSLikeSchema,
|
|
]).refine((v) => isValidDecimalInput(v), {
|
|
message: "Field 'fee' must be a Decimal",
|
|
})]).optional().nullable(),
|
|
category: z.union([z.lazy(() => StringNullableWithAggregatesFilterObjectSchema), z.string()]).optional().nullable(),
|
|
toothNumber: z.union([z.lazy(() => StringNullableWithAggregatesFilterObjectSchema), z.string()]).optional().nullable(),
|
|
toothSurface: z.union([z.lazy(() => StringNullableWithAggregatesFilterObjectSchema), z.string()]).optional().nullable(),
|
|
oralCavityArea: z.union([z.lazy(() => StringNullableWithAggregatesFilterObjectSchema), z.string()]).optional().nullable(),
|
|
source: z.union([z.lazy(() => EnumProcedureSourceWithAggregatesFilterObjectSchema), ProcedureSourceSchema]).optional(),
|
|
comboKey: z.union([z.lazy(() => StringNullableWithAggregatesFilterObjectSchema), z.string()]).optional().nullable(),
|
|
createdAt: z.union([z.lazy(() => DateTimeWithAggregatesFilterObjectSchema), z.coerce.date()]).optional()
|
|
}).strict();
|
|
export const AppointmentProcedureScalarWhereWithAggregatesInputObjectSchema: z.ZodType<Prisma.AppointmentProcedureScalarWhereWithAggregatesInput> = appointmentprocedurescalarwherewithaggregatesinputSchema as unknown as z.ZodType<Prisma.AppointmentProcedureScalarWhereWithAggregatesInput>;
|
|
export const AppointmentProcedureScalarWhereWithAggregatesInputObjectZodSchema = appointmentprocedurescalarwherewithaggregatesinputSchema;
|