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>;
