69 lines
1.9 KiB
Plaintext
69 lines
1.9 KiB
Plaintext
// This is your Prisma schema file,
|
|
// learn more about it in the docs: https://pris.ly/d/prisma-schema
|
|
|
|
generator client {
|
|
provider = "prisma-client-js"
|
|
}
|
|
|
|
datasource db {
|
|
provider = "postgresql"
|
|
url = env("DATABASE_URL")
|
|
}
|
|
|
|
model Beneficiario {
|
|
id String @id @default(uuid())
|
|
nome String
|
|
identificacao String @unique
|
|
guias GuiaOdontologica[]
|
|
gtoBuilders GtoBuilder[]
|
|
createdAt DateTime @default(now())
|
|
}
|
|
|
|
model GuiaOdontologica {
|
|
id String @id @default(uuid())
|
|
numeroGuiaPrestador String
|
|
numeroGuiaOperadora String?
|
|
dataSolicitacao DateTime
|
|
tipoTratamento String
|
|
status StatusGuia
|
|
beneficiarioId String
|
|
beneficiario Beneficiario @relation(fields: [beneficiarioId], references: [id])
|
|
createdAt DateTime @default(now())
|
|
}
|
|
|
|
model GtoBuilder {
|
|
id String @id @default(uuid())
|
|
pacienteId String
|
|
paciente Beneficiario @relation(fields: [pacienteId], references: [id])
|
|
dentistaId String
|
|
credenciadaId String
|
|
status String @default("RASCUNHO") // RASCUNHO | FINALIZADA
|
|
total Float @default(0)
|
|
items GtoItem[]
|
|
createdAt DateTime @default(now())
|
|
}
|
|
|
|
model GtoItem {
|
|
id String @id @default(uuid())
|
|
builderId String
|
|
builder GtoBuilder @relation(fields: [builderId], references: [id])
|
|
procedimentoId String
|
|
codigoTUSS String
|
|
descricao String
|
|
dente String?
|
|
face String?
|
|
quantidade Int @default(1)
|
|
valorUnitario Float
|
|
valorTotal Float
|
|
observacao String?
|
|
anexosCount Int @default(0)
|
|
}
|
|
|
|
enum StatusGuia {
|
|
EM_ANALISE
|
|
AUTORIZADO
|
|
AUTORIZADO_PARCIAL
|
|
NEGADO
|
|
CANCELADO
|
|
}
|