feat: Preauth column for AI claims; searchable policy holder + ADA box 18; 2PA fix
- Schedule: last column is the Preauth column; "Claim for Column with AI" is now "Claim/Preauth for Column with AI" — that column's appointments go to PreAuth (MH, CCA, Tufts SCO, United/DentalHub; other insurances are skipped), the rest to Claim. Preauthorized appointments (hasPreauth) aren't resubmitted - PreAuth payloads carry appointmentId; appointment X-rays/attachments are sent with MH/CCA/UnitedDH/Tufts preauths (shared appendAppointmentFiles helper) - Patient form: policy holder is searchable from patients in the DB, plus "Relationship to Policy Holder/Subscriber" (Self, Spouse, Dependent Child, Other). New Patient columns policyHolderPatientId, policyHolderRelationship; browser-side schema updated so the fields aren't stripped on save - ADA form: box 12-14 filled from the linked policy holder's record; box 18 ticks the relationship (Self when the patient is the holder) - AI notes: a bare "2PA" is an image count, not tooth #2 — restored before CDT lookup so it maps to D0220 #8 / D0230 #24 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -39,6 +39,7 @@ const z = __importStar(require("zod"));
|
||||
exports.OfficeContactInputSchema = z.object({
|
||||
id: z.number().int(),
|
||||
userId: z.number().int(),
|
||||
legalName: z.string().optional().nullable(),
|
||||
officeName: z.string().optional().nullable(),
|
||||
receptionistName: z.string().optional().nullable(),
|
||||
dentistName: z.string().optional().nullable(),
|
||||
|
||||
@@ -15,6 +15,8 @@ export declare const PatientInputSchema: z.ZodObject<{
|
||||
insuranceId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
||||
groupNumber: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
||||
policyHolder: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
||||
policyHolderPatientId: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
||||
policyHolderRelationship: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
||||
allergies: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
||||
medicalConditions: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
||||
preferredLanguage: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
||||
@@ -63,6 +65,8 @@ export declare const PatientInputSchema: z.ZodObject<{
|
||||
insuranceId?: string | null | undefined;
|
||||
groupNumber?: string | null | undefined;
|
||||
policyHolder?: string | null | undefined;
|
||||
policyHolderPatientId?: number | null | undefined;
|
||||
policyHolderRelationship?: string | null | undefined;
|
||||
allergies?: string | null | undefined;
|
||||
medicalConditions?: string | null | undefined;
|
||||
preferredLanguage?: string | null | undefined;
|
||||
@@ -98,6 +102,8 @@ export declare const PatientInputSchema: z.ZodObject<{
|
||||
insuranceId?: string | null | undefined;
|
||||
groupNumber?: string | null | undefined;
|
||||
policyHolder?: string | null | undefined;
|
||||
policyHolderPatientId?: number | null | undefined;
|
||||
policyHolderRelationship?: string | null | undefined;
|
||||
allergies?: string | null | undefined;
|
||||
medicalConditions?: string | null | undefined;
|
||||
preferredLanguage?: string | null | undefined;
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"Patient.input.d.ts","sourceRoot":"","sources":["Patient.input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAGzB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCpB,CAAC;AAEZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|
||||
{"version":3,"file":"Patient.input.d.ts","sourceRoot":"","sources":["Patient.input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAGzB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCpB,CAAC;AAEZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|
||||
@@ -53,6 +53,8 @@ exports.PatientInputSchema = z.object({
|
||||
insuranceId: z.string().optional().nullable(),
|
||||
groupNumber: z.string().optional().nullable(),
|
||||
policyHolder: z.string().optional().nullable(),
|
||||
policyHolderPatientId: z.number().int().optional().nullable(),
|
||||
policyHolderRelationship: z.string().optional().nullable(),
|
||||
allergies: z.string().optional().nullable(),
|
||||
medicalConditions: z.string().optional().nullable(),
|
||||
preferredLanguage: z.string().optional().nullable(),
|
||||
|
||||
@@ -17,6 +17,8 @@ export const PatientInputSchema = z.object({
|
||||
insuranceId: z.string().optional().nullable(),
|
||||
groupNumber: z.string().optional().nullable(),
|
||||
policyHolder: z.string().optional().nullable(),
|
||||
policyHolderPatientId: z.number().int().optional().nullable(),
|
||||
policyHolderRelationship: z.string().optional().nullable(),
|
||||
allergies: z.string().optional().nullable(),
|
||||
medicalConditions: z.string().optional().nullable(),
|
||||
preferredLanguage: z.string().optional().nullable(),
|
||||
|
||||
Reference in New Issue
Block a user