Files
DentalManagement09/packages/db/shared/schemas/variants/input/OfficeContact.input.ts
T
GiteadandClaude Opus 5.5 2c0c595af5 feat: BCBS MA paper claim — fill 2024 ADA claim form; office NPI setting
- New GET /api/claims/:id/ada-form fills the 2024 ADA Dental Claim Form
  (J43024) with payer address, patient/subscriber, CDT lines, fees,
  missing teeth, billing (office) NPI and treating NPI; signatures blank
- "BCBS Claim (ADA Form)" button saves the claim and opens the PDF;
  Claim All routes BCBS patients to it; "Print ADA Form" in claim view
- Settings > NPI Providers: "Add Office NPI" (billing name, NPI, license,
  TIN) and optional per-provider license number
- Migration: office_contact billing fields, NpiProvider.licenseNumber

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 22:41:44 -04:00

24 lines
959 B
TypeScript

import * as z from 'zod';
// prettier-ignore
export const OfficeContactInputSchema = z.object({
id: z.number().int(),
userId: z.number().int(),
officeName: z.string().optional().nullable(),
receptionistName: z.string().optional().nullable(),
dentistName: z.string().optional().nullable(),
phoneNumber: z.string().optional().nullable(),
email: z.string().optional().nullable(),
fax: z.string().optional().nullable(),
streetAddress: z.string().optional().nullable(),
city: z.string().optional().nullable(),
state: z.string().optional().nullable(),
zipCode: z.string().optional().nullable(),
billingName: z.string().optional().nullable(),
billingNpi: z.string().optional().nullable(),
billingLicense: z.string().optional().nullable(),
billingTaxId: z.string().optional().nullable(),
user: z.unknown()
}).strict();
export type OfficeContactInputType = z.infer<typeof OfficeContactInputSchema>;