- Add 'Select Procedures' right-click option on appointment page (separate from Claims/PreAuth) - Select Procedures form saves CDT codes + NPI provider to AppointmentProcedure storage - Remove Save button from insurance claim form; Claims/PreAuth opens for insurance submission only - Claims/PreAuth auto-prefills from saved procedures including NPI provider - Batch-column: procedures npiProviderId takes priority over stale claim npiProviderId - Batch-column: auto-save PDF to patient Documents after successful submission (no socket needed) - Add npiProviderId column to AppointmentProcedure table (prisma db push) - Fix 'invalid db creation invocation': guard staffId, npiProviderId, procedureDate as Date object, totalBilled NaN guard - Add full error logging to batch-column catch block Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
34 lines
3.0 KiB
TypeScript
34 lines
3.0 KiB
TypeScript
import * as z from 'zod';
|
|
import type { Prisma } from '../../../generated/prisma';
|
|
import { SortOrderSchema } from '../enums/SortOrder.schema';
|
|
import { SortOrderInputObjectSchema as SortOrderInputObjectSchema } from './SortOrderInput.schema';
|
|
import { AppointmentProcedureCountOrderByAggregateInputObjectSchema as AppointmentProcedureCountOrderByAggregateInputObjectSchema } from './AppointmentProcedureCountOrderByAggregateInput.schema';
|
|
import { AppointmentProcedureAvgOrderByAggregateInputObjectSchema as AppointmentProcedureAvgOrderByAggregateInputObjectSchema } from './AppointmentProcedureAvgOrderByAggregateInput.schema';
|
|
import { AppointmentProcedureMaxOrderByAggregateInputObjectSchema as AppointmentProcedureMaxOrderByAggregateInputObjectSchema } from './AppointmentProcedureMaxOrderByAggregateInput.schema';
|
|
import { AppointmentProcedureMinOrderByAggregateInputObjectSchema as AppointmentProcedureMinOrderByAggregateInputObjectSchema } from './AppointmentProcedureMinOrderByAggregateInput.schema';
|
|
import { AppointmentProcedureSumOrderByAggregateInputObjectSchema as AppointmentProcedureSumOrderByAggregateInputObjectSchema } from './AppointmentProcedureSumOrderByAggregateInput.schema'
|
|
|
|
const makeSchema = () => z.object({
|
|
id: SortOrderSchema.optional(),
|
|
appointmentId: SortOrderSchema.optional(),
|
|
patientId: SortOrderSchema.optional(),
|
|
npiProviderId: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
|
|
procedureCode: SortOrderSchema.optional(),
|
|
procedureLabel: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
|
|
fee: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
|
|
category: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
|
|
toothNumber: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
|
|
toothSurface: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
|
|
oralCavityArea: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
|
|
source: SortOrderSchema.optional(),
|
|
comboKey: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
|
|
createdAt: SortOrderSchema.optional(),
|
|
_count: z.lazy(() => AppointmentProcedureCountOrderByAggregateInputObjectSchema).optional(),
|
|
_avg: z.lazy(() => AppointmentProcedureAvgOrderByAggregateInputObjectSchema).optional(),
|
|
_max: z.lazy(() => AppointmentProcedureMaxOrderByAggregateInputObjectSchema).optional(),
|
|
_min: z.lazy(() => AppointmentProcedureMinOrderByAggregateInputObjectSchema).optional(),
|
|
_sum: z.lazy(() => AppointmentProcedureSumOrderByAggregateInputObjectSchema).optional()
|
|
}).strict();
|
|
export const AppointmentProcedureOrderByWithAggregationInputObjectSchema: z.ZodType<Prisma.AppointmentProcedureOrderByWithAggregationInput> = makeSchema() as unknown as z.ZodType<Prisma.AppointmentProcedureOrderByWithAggregationInput>;
|
|
export const AppointmentProcedureOrderByWithAggregationInputObjectZodSchema = makeSchema();
|