- Make appointmentId nullable/optional in Prisma Zod schema via @zod rich comment so claims can be submitted without an existing appointment - Convert undefined appointmentId to null in all claim form handlers and the backend claim creation endpoint - Add AI classifier rule for expanding one procedure across multiple comma-separated tooth numbers (e.g. "post/core on #23, 24, 25, 26") - Add "post/core" (slash) alias to CDT lookup maps Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
39 lines
2.7 KiB
TypeScript
39 lines
2.7 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 { ClaimCountOrderByAggregateInputObjectSchema as ClaimCountOrderByAggregateInputObjectSchema } from './ClaimCountOrderByAggregateInput.schema';
|
|
import { ClaimAvgOrderByAggregateInputObjectSchema as ClaimAvgOrderByAggregateInputObjectSchema } from './ClaimAvgOrderByAggregateInput.schema';
|
|
import { ClaimMaxOrderByAggregateInputObjectSchema as ClaimMaxOrderByAggregateInputObjectSchema } from './ClaimMaxOrderByAggregateInput.schema';
|
|
import { ClaimMinOrderByAggregateInputObjectSchema as ClaimMinOrderByAggregateInputObjectSchema } from './ClaimMinOrderByAggregateInput.schema';
|
|
import { ClaimSumOrderByAggregateInputObjectSchema as ClaimSumOrderByAggregateInputObjectSchema } from './ClaimSumOrderByAggregateInput.schema'
|
|
|
|
const makeSchema = () => z.object({
|
|
id: SortOrderSchema.optional(),
|
|
patientId: SortOrderSchema.optional(),
|
|
appointmentId: z.union([z.number().int().int(), z.lazy(() => SortOrderInputObjectSchema)]).optional(),
|
|
userId: SortOrderSchema.optional(),
|
|
staffId: SortOrderSchema.optional(),
|
|
patientName: SortOrderSchema.optional(),
|
|
memberId: SortOrderSchema.optional(),
|
|
dateOfBirth: SortOrderSchema.optional(),
|
|
remarks: SortOrderSchema.optional(),
|
|
missingTeethStatus: SortOrderSchema.optional(),
|
|
missingTeeth: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
|
|
serviceDate: SortOrderSchema.optional(),
|
|
insuranceProvider: SortOrderSchema.optional(),
|
|
createdAt: SortOrderSchema.optional(),
|
|
updatedAt: SortOrderSchema.optional(),
|
|
status: SortOrderSchema.optional(),
|
|
claimNumber: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
|
|
preAuthNumber: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
|
|
npiProviderId: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
|
|
_count: z.lazy(() => ClaimCountOrderByAggregateInputObjectSchema).optional(),
|
|
_avg: z.lazy(() => ClaimAvgOrderByAggregateInputObjectSchema).optional(),
|
|
_max: z.lazy(() => ClaimMaxOrderByAggregateInputObjectSchema).optional(),
|
|
_min: z.lazy(() => ClaimMinOrderByAggregateInputObjectSchema).optional(),
|
|
_sum: z.lazy(() => ClaimSumOrderByAggregateInputObjectSchema).optional()
|
|
}).strict();
|
|
export const ClaimOrderByWithAggregationInputObjectSchema: z.ZodType<Prisma.ClaimOrderByWithAggregationInput> = makeSchema() as unknown as z.ZodType<Prisma.ClaimOrderByWithAggregationInput>;
|
|
export const ClaimOrderByWithAggregationInputObjectZodSchema = makeSchema();
|