- Claim for column with AI: BCBS patients auto-generate the 2024 ADA form (no tab) and save it to the patient's Documents > Claims folder; the manual BCBS button saves there too (new POST /api/claims/:id/ada-form) - Saved BCBS form sets the claim to REVIEW; appointments with a claim number or REVIEW/APPROVED status show as claimed (dark gray) - CDT lookup: "comp on #18 O, 20 O, 21 O" applies composite to every tooth - BCBS fee schedule (procedureCodesBCBS.json, copied from DDMA prices) - Office Contact: Legal Name field; "Dental Office Name (DBA)" label - ADA form: 48 = legal name, DBA, address; 56 = address only; 53 date = claim date; 23 and 26 left blank; 43 = No unless appointment notes say a prosthesis is replaced (then Yes, with 44 prior date when given) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
27 lines
2.8 KiB
TypeScript
27 lines
2.8 KiB
TypeScript
import * as z from 'zod';
|
|
import type { Prisma } from '../../../generated/prisma';
|
|
import { IntFieldUpdateOperationsInputObjectSchema as IntFieldUpdateOperationsInputObjectSchema } from './IntFieldUpdateOperationsInput.schema';
|
|
import { NullableStringFieldUpdateOperationsInputObjectSchema as NullableStringFieldUpdateOperationsInputObjectSchema } from './NullableStringFieldUpdateOperationsInput.schema'
|
|
|
|
const makeSchema = () => z.object({
|
|
id: z.union([z.number().int(), z.lazy(() => IntFieldUpdateOperationsInputObjectSchema)]).optional(),
|
|
userId: z.union([z.number().int(), z.lazy(() => IntFieldUpdateOperationsInputObjectSchema)]).optional(),
|
|
legalName: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
|
|
officeName: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
|
|
receptionistName: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
|
|
dentistName: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
|
|
phoneNumber: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
|
|
email: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
|
|
fax: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
|
|
streetAddress: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
|
|
city: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
|
|
state: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
|
|
zipCode: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
|
|
billingName: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
|
|
billingNpi: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
|
|
billingLicense: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
|
|
billingTaxId: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable()
|
|
}).strict();
|
|
export const OfficeContactUncheckedUpdateInputObjectSchema: z.ZodType<Prisma.OfficeContactUncheckedUpdateInput> = makeSchema() as unknown as z.ZodType<Prisma.OfficeContactUncheckedUpdateInput>;
|
|
export const OfficeContactUncheckedUpdateInputObjectZodSchema = makeSchema();
|