feature: Phase 2- splitting the treatment schema into TreatmentDetail and LabCase.
This commit is contained in:
@@ -63,7 +63,7 @@ model Organization {
|
||||
createdPatients Patient[] @relation("PatientCreatedBy")
|
||||
appointments Appointment[]
|
||||
treatments Treatment[]
|
||||
caseSends TreatmentCaseSend[]
|
||||
labCaseSends LabCaseSend[]
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
@@ -131,7 +131,8 @@ model Treatment {
|
||||
organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
|
||||
patient Patient @relation(fields: [patientId], references: [id], onDelete: Cascade)
|
||||
appointment Appointment? @relation(fields: [appointmentId], references: [id], onDelete: SetNull)
|
||||
cases TreatmentCase[]
|
||||
details TreatmentDetail[]
|
||||
labCases LabCase[]
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
@@ -141,54 +142,81 @@ model Treatment {
|
||||
@@map("treatments")
|
||||
}
|
||||
|
||||
model TreatmentCase {
|
||||
id String @id @default(uuid())
|
||||
model TreatmentDetail {
|
||||
id String @id @default(uuid())
|
||||
treatmentId String
|
||||
clientKey String?
|
||||
sortOrder Int
|
||||
treatmentType String
|
||||
teeth Json
|
||||
comment String?
|
||||
sentAt DateTime?
|
||||
|
||||
treatment Treatment @relation(fields: [treatmentId], references: [id], onDelete: Cascade)
|
||||
attachments TreatmentCaseAttachment[]
|
||||
sends TreatmentCaseSend[]
|
||||
treatment Treatment @relation(fields: [treatmentId], references: [id], onDelete: Cascade)
|
||||
attachments TreatmentDetailAttachment[]
|
||||
labCaseLink LabCaseDetail?
|
||||
|
||||
@@index([treatmentId, sortOrder])
|
||||
@@map("treatment_cases")
|
||||
@@map("treatment_details")
|
||||
}
|
||||
|
||||
model TreatmentCaseAttachment {
|
||||
id String @id @default(uuid())
|
||||
caseId String?
|
||||
appointmentId String?
|
||||
caseClientKey String?
|
||||
fileName String
|
||||
mimeType String
|
||||
sizeBytes Int
|
||||
storagePath String
|
||||
model TreatmentDetailAttachment {
|
||||
id String @id @default(uuid())
|
||||
detailId String?
|
||||
appointmentId String?
|
||||
detailClientKey String?
|
||||
fileName String
|
||||
mimeType String
|
||||
sizeBytes Int
|
||||
storagePath String
|
||||
|
||||
case TreatmentCase? @relation(fields: [caseId], references: [id], onDelete: Cascade)
|
||||
detail TreatmentDetail? @relation(fields: [detailId], references: [id], onDelete: Cascade)
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
@@index([appointmentId, caseClientKey])
|
||||
@@index([caseId])
|
||||
@@map("treatment_case_attachments")
|
||||
@@index([appointmentId, detailClientKey])
|
||||
@@index([detailId])
|
||||
@@map("treatment_detail_attachments")
|
||||
}
|
||||
|
||||
model TreatmentCaseSend {
|
||||
model LabCase {
|
||||
id String @id @default(uuid())
|
||||
treatmentId String
|
||||
clientKey String?
|
||||
sortOrder Int
|
||||
destinationOrganizationId String?
|
||||
labComment String?
|
||||
sentAt DateTime?
|
||||
|
||||
treatment Treatment @relation(fields: [treatmentId], references: [id], onDelete: Cascade)
|
||||
details LabCaseDetail[]
|
||||
sends LabCaseSend[]
|
||||
|
||||
@@index([treatmentId, sortOrder])
|
||||
@@map("lab_cases")
|
||||
}
|
||||
|
||||
model LabCaseDetail {
|
||||
labCaseId String
|
||||
treatmentDetailId String @unique
|
||||
|
||||
labCase LabCase @relation(fields: [labCaseId], references: [id], onDelete: Cascade)
|
||||
detail TreatmentDetail @relation(fields: [treatmentDetailId], references: [id], onDelete: Cascade)
|
||||
|
||||
@@id([labCaseId, treatmentDetailId])
|
||||
@@map("lab_case_details")
|
||||
}
|
||||
|
||||
model LabCaseSend {
|
||||
id String @id @default(uuid())
|
||||
caseId String
|
||||
labCaseId String
|
||||
organizationId String
|
||||
sentAt DateTime @default(now())
|
||||
|
||||
case TreatmentCase @relation(fields: [caseId], references: [id], onDelete: Cascade)
|
||||
organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
|
||||
labCase LabCase @relation(fields: [labCaseId], references: [id], onDelete: Cascade)
|
||||
organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
|
||||
|
||||
@@unique([caseId, organizationId])
|
||||
@@map("treatment_case_sends")
|
||||
@@unique([labCaseId, organizationId])
|
||||
@@map("lab_case_sends")
|
||||
}
|
||||
|
||||
model Plan {
|
||||
|
||||
Reference in New Issue
Block a user