Files
DentalManagementMH07/packages/db/shared/schemas/variants/result/Patient.result.ts
T
GiteadandClaude Sonnet 4.6 75ecd7cc20 feat: add Selenium Settings page to configure paymentGroupId per office
Adds a new Settings → Advanced → Selenium Settings page where the office
name (paymentGroupId) used in United/DentalHub portal dropdowns can be
configured without touching code. Previously hardcoded as "Summit Dental
Care"; now injected from DB into the three United workers at job dispatch.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-02 23:53:43 -04:00

39 lines
1.3 KiB
TypeScript

import * as z from 'zod';
import { PatientStatusSchema } from '../../enums/PatientStatus.schema';
// prettier-ignore
export const PatientResultSchema = z.object({
id: z.number().int(),
firstName: z.string(),
lastName: z.string(),
dateOfBirth: z.date().nullable(),
gender: z.string(),
phone: z.string(),
email: z.string().nullable(),
address: z.string().nullable(),
city: z.string().nullable(),
zipCode: z.string().nullable(),
insuranceProvider: z.string().nullable(),
insuranceId: z.string().nullable(),
groupNumber: z.string().nullable(),
policyHolder: z.string().nullable(),
allergies: z.string().nullable(),
medicalConditions: z.string().nullable(),
preferredLanguage: z.string().nullable(),
status: PatientStatusSchema,
userId: z.number().int(),
createdAt: z.date(),
updatedAt: z.date(),
user: z.unknown(),
appointments: z.array(z.unknown()),
procedures: z.array(z.unknown()),
claims: z.array(z.unknown()),
groups: z.array(z.unknown()),
payment: z.array(z.unknown()),
communications: z.array(z.unknown()),
documents: z.array(z.unknown()),
conversation: z.unknown().nullable(),
cloudFolders: z.array(z.unknown())
}).strict();
export type PatientResultType = z.infer<typeof PatientResultSchema>;