feat: add United Ucard eligibility check with OTP + persistent session
Adds a full login/OTP/search/capture flow for United Ucard (OneHealthcareID -> UHC Dental provider portal), mirroring the United SCO/DDMA pattern: persistent Chrome profile, OTP polling, member eligibility search, and PDF capture saved to the patient's Eligibility folder. Also fixes a validation bug in the browser-safe patient schema where email/address/city/zipCode/gender/phone were optional but not nullable, rejecting patient records with null values on those fields during edits (e.g. "Expected string, received null"). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -85,13 +85,13 @@ export const PatientUncheckedCreateInputObjectSchema = z.object({
|
||||
firstName: z.string(),
|
||||
lastName: z.string(),
|
||||
dateOfBirth: z.string(),
|
||||
gender: z.string().optional(),
|
||||
phone: z.string().optional(),
|
||||
email: z.string().optional(),
|
||||
address: z.string().optional(),
|
||||
city: z.string().optional(),
|
||||
state: z.string().optional(),
|
||||
zipCode: z.string().optional(),
|
||||
gender: z.string().optional().nullable(),
|
||||
phone: z.string().optional().nullable(),
|
||||
email: z.string().optional().nullable(),
|
||||
address: z.string().optional().nullable(),
|
||||
city: z.string().optional().nullable(),
|
||||
state: z.string().optional().nullable(),
|
||||
zipCode: z.string().optional().nullable(),
|
||||
insuranceProvider: z.string().optional().nullable(),
|
||||
insuranceId: z.string().optional().nullable(),
|
||||
groupNumber: z.string().optional().nullable(),
|
||||
|
||||
Reference in New Issue
Block a user