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:
@@ -56,40 +56,42 @@ model User {
|
||||
}
|
||||
|
||||
model Patient {
|
||||
id Int @id @default(autoincrement())
|
||||
firstName String
|
||||
lastName String
|
||||
dateOfBirth DateTime? @db.Date
|
||||
gender String
|
||||
phone String
|
||||
email String?
|
||||
address String?
|
||||
city String?
|
||||
state String? @default("MA")
|
||||
zipCode String?
|
||||
insuranceProvider String?
|
||||
insuranceId String?
|
||||
groupNumber String?
|
||||
policyHolder String?
|
||||
allergies String?
|
||||
medicalConditions String?
|
||||
preferredLanguage String? @default("English")
|
||||
status PatientStatus @default(UNKNOWN)
|
||||
remainingBenefit String?
|
||||
thirdPartyInsurance String?
|
||||
userId Int
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
user User @relation(fields: [userId], references: [id])
|
||||
appointments Appointment[]
|
||||
procedures AppointmentProcedure[]
|
||||
claims Claim[]
|
||||
groups PdfGroup[]
|
||||
payment Payment[]
|
||||
communications Communication[]
|
||||
documents PatientDocument[]
|
||||
conversation PatientConversation?
|
||||
cloudFolders CloudFolder[] @relation("PatientCloudFolder")
|
||||
id Int @id @default(autoincrement())
|
||||
firstName String
|
||||
lastName String
|
||||
dateOfBirth DateTime? @db.Date
|
||||
gender String
|
||||
phone String
|
||||
email String?
|
||||
address String?
|
||||
city String?
|
||||
state String? @default("MA")
|
||||
zipCode String?
|
||||
insuranceProvider String?
|
||||
insuranceId String?
|
||||
groupNumber String?
|
||||
policyHolder String?
|
||||
policyHolderPatientId Int? // patient record of the policy holder, when picked from the DB
|
||||
policyHolderRelationship String? // ADA box 18: SELF | SPOUSE | DEPENDENT | OTHER
|
||||
allergies String?
|
||||
medicalConditions String?
|
||||
preferredLanguage String? @default("English")
|
||||
status PatientStatus @default(UNKNOWN)
|
||||
remainingBenefit String?
|
||||
thirdPartyInsurance String?
|
||||
userId Int
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
user User @relation(fields: [userId], references: [id])
|
||||
appointments Appointment[]
|
||||
procedures AppointmentProcedure[]
|
||||
claims Claim[]
|
||||
groups PdfGroup[]
|
||||
payment Payment[]
|
||||
communications Communication[]
|
||||
documents PatientDocument[]
|
||||
conversation PatientConversation?
|
||||
cloudFolders CloudFolder[] @relation("PatientCloudFolder")
|
||||
|
||||
@@index([insuranceId])
|
||||
@@index([createdAt])
|
||||
|
||||
Reference in New Issue
Block a user