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>
This commit is contained in:
@@ -4,6 +4,7 @@ export const NpiProviderAggregateResultSchema = z.object({ _count: z.object({
|
||||
userId: z.number(),
|
||||
npiNumber: z.number(),
|
||||
providerName: z.number(),
|
||||
licenseNumber: z.number(),
|
||||
sortOrder: z.number(),
|
||||
createdAt: z.number(),
|
||||
user: z.number(),
|
||||
@@ -28,6 +29,7 @@ export const NpiProviderAggregateResultSchema = z.object({ _count: z.object({
|
||||
userId: z.number().int().nullable(),
|
||||
npiNumber: z.string().nullable(),
|
||||
providerName: z.string().nullable(),
|
||||
licenseNumber: z.string().nullable(),
|
||||
sortOrder: z.number().int().nullable(),
|
||||
createdAt: z.date().nullable()
|
||||
}).nullable().optional(),
|
||||
@@ -36,6 +38,7 @@ export const NpiProviderAggregateResultSchema = z.object({ _count: z.object({
|
||||
userId: z.number().int().nullable(),
|
||||
npiNumber: z.string().nullable(),
|
||||
providerName: z.string().nullable(),
|
||||
licenseNumber: z.string().nullable(),
|
||||
sortOrder: z.number().int().nullable(),
|
||||
createdAt: z.date().nullable()
|
||||
}).nullable().optional()});
|
||||
Reference in New Issue
Block a user