
/* !!! This is code generated by Prisma. Do not edit directly. !!!
/* eslint-disable */
// biome-ignore-all lint: generated file

Object.defineProperty(exports, "__esModule", { value: true });

const {
  PrismaClientKnownRequestError,
  PrismaClientUnknownRequestError,
  PrismaClientRustPanicError,
  PrismaClientInitializationError,
  PrismaClientValidationError,
  getPrismaClient,
  sqltag,
  empty,
  join,
  raw,
  skip,
  Decimal,
  Debug,
  DbNull,
  JsonNull,
  AnyNull,
  NullTypes,
  makeStrictEnum,
  Extensions,
  warnOnce,
  defineDmmfProperty,
  Public,
  getRuntime,
  createParam,
} = require('./runtime/wasm-compiler-edge.js')


const Prisma = {}

exports.Prisma = Prisma
exports.$Enums = {}

/**
 * Prisma Client JS version: 7.4.1
 * Query Engine version: 55ae170b1ced7fc6ed07a15f110549408c501bb3
 */
Prisma.prismaVersion = {
  client: "7.4.1",
  engine: "55ae170b1ced7fc6ed07a15f110549408c501bb3"
}

Prisma.PrismaClientKnownRequestError = PrismaClientKnownRequestError;
Prisma.PrismaClientUnknownRequestError = PrismaClientUnknownRequestError
Prisma.PrismaClientRustPanicError = PrismaClientRustPanicError
Prisma.PrismaClientInitializationError = PrismaClientInitializationError
Prisma.PrismaClientValidationError = PrismaClientValidationError
Prisma.Decimal = Decimal

/**
 * Re-export of sql-template-tag
 */
Prisma.sql = sqltag
Prisma.empty = empty
Prisma.join = join
Prisma.raw = raw
Prisma.validator = Public.validator

/**
* Extensions
*/
Prisma.getExtensionContext = Extensions.getExtensionContext
Prisma.defineExtension = Extensions.defineExtension

/**
 * Shorthand utilities for JSON filtering
 */
Prisma.DbNull = DbNull
Prisma.JsonNull = JsonNull
Prisma.AnyNull = AnyNull

Prisma.NullTypes = NullTypes





/**
 * Enums
 */
exports.Prisma.TransactionIsolationLevel = makeStrictEnum({
  ReadUncommitted: 'ReadUncommitted',
  ReadCommitted: 'ReadCommitted',
  RepeatableRead: 'RepeatableRead',
  Serializable: 'Serializable'
});

exports.Prisma.UserScalarFieldEnum = {
  id: 'id',
  username: 'username',
  password: 'password',
  autoBackupEnabled: 'autoBackupEnabled',
  usbBackupEnabled: 'usbBackupEnabled'
};

exports.Prisma.PatientScalarFieldEnum = {
  id: 'id',
  firstName: 'firstName',
  lastName: 'lastName',
  dateOfBirth: 'dateOfBirth',
  gender: 'gender',
  phone: 'phone',
  email: 'email',
  address: 'address',
  city: 'city',
  zipCode: 'zipCode',
  insuranceProvider: 'insuranceProvider',
  insuranceId: 'insuranceId',
  groupNumber: 'groupNumber',
  policyHolder: 'policyHolder',
  allergies: 'allergies',
  medicalConditions: 'medicalConditions',
  preferredLanguage: 'preferredLanguage',
  status: 'status',
  userId: 'userId',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
};

exports.Prisma.AppointmentScalarFieldEnum = {
  id: 'id',
  patientId: 'patientId',
  userId: 'userId',
  staffId: 'staffId',
  title: 'title',
  date: 'date',
  startTime: 'startTime',
  endTime: 'endTime',
  type: 'type',
  typeLocked: 'typeLocked',
  notes: 'notes',
  procedureCodeNotes: 'procedureCodeNotes',
  status: 'status',
  movedByAi: 'movedByAi',
  createdAt: 'createdAt',
  eligibilityStatus: 'eligibilityStatus'
};

exports.Prisma.AppointmentFileScalarFieldEnum = {
  id: 'id',
  appointmentId: 'appointmentId',
  filename: 'filename',
  mimeType: 'mimeType',
  filePath: 'filePath'
};

exports.Prisma.StaffScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  name: 'name',
  email: 'email',
  role: 'role',
  phone: 'phone',
  createdAt: 'createdAt'
};

exports.Prisma.NpiProviderScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  npiNumber: 'npiNumber',
  providerName: 'providerName',
  sortOrder: 'sortOrder',
  createdAt: 'createdAt'
};

exports.Prisma.AppointmentProcedureScalarFieldEnum = {
  id: 'id',
  appointmentId: 'appointmentId',
  patientId: 'patientId',
  npiProviderId: 'npiProviderId',
  procedureCode: 'procedureCode',
  procedureLabel: 'procedureLabel',
  fee: 'fee',
  category: 'category',
  toothNumber: 'toothNumber',
  toothSurface: 'toothSurface',
  oralCavityArea: 'oralCavityArea',
  source: 'source',
  comboKey: 'comboKey',
  createdAt: 'createdAt'
};

exports.Prisma.ClaimScalarFieldEnum = {
  id: 'id',
  patientId: 'patientId',
  appointmentId: 'appointmentId',
  userId: 'userId',
  staffId: 'staffId',
  patientName: 'patientName',
  memberId: 'memberId',
  dateOfBirth: 'dateOfBirth',
  remarks: 'remarks',
  missingTeethStatus: 'missingTeethStatus',
  missingTeeth: 'missingTeeth',
  serviceDate: 'serviceDate',
  insuranceProvider: 'insuranceProvider',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt',
  status: 'status',
  claimNumber: 'claimNumber',
  preAuthNumber: 'preAuthNumber',
  npiProviderId: 'npiProviderId'
};

exports.Prisma.ServiceLineScalarFieldEnum = {
  id: 'id',
  claimId: 'claimId',
  paymentId: 'paymentId',
  procedureCode: 'procedureCode',
  procedureDate: 'procedureDate',
  quad: 'quad',
  arch: 'arch',
  toothNumber: 'toothNumber',
  toothSurface: 'toothSurface',
  icn: 'icn',
  paidCode: 'paidCode',
  allowedAmount: 'allowedAmount',
  totalBilled: 'totalBilled',
  totalPaid: 'totalPaid',
  totalAdjusted: 'totalAdjusted',
  totalDue: 'totalDue',
  status: 'status'
};

exports.Prisma.ClaimFileScalarFieldEnum = {
  id: 'id',
  claimId: 'claimId',
  filename: 'filename',
  mimeType: 'mimeType',
  filePath: 'filePath'
};

exports.Prisma.InsuranceCredentialScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  siteKey: 'siteKey',
  username: 'username',
  password: 'password'
};

exports.Prisma.ShoppingVendorScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  vendorName: 'vendorName',
  websiteUrl: 'websiteUrl',
  loginUsername: 'loginUsername',
  loginPassword: 'loginPassword'
};

exports.Prisma.PdfGroupScalarFieldEnum = {
  id: 'id',
  title: 'title',
  titleKey: 'titleKey',
  createdAt: 'createdAt',
  patientId: 'patientId'
};

exports.Prisma.PdfFileScalarFieldEnum = {
  id: 'id',
  filename: 'filename',
  pdfData: 'pdfData',
  uploadedAt: 'uploadedAt',
  groupId: 'groupId'
};

exports.Prisma.PaymentScalarFieldEnum = {
  id: 'id',
  claimId: 'claimId',
  patientId: 'patientId',
  userId: 'userId',
  updatedById: 'updatedById',
  npiProviderId: 'npiProviderId',
  totalBilled: 'totalBilled',
  totalPaid: 'totalPaid',
  totalAdjusted: 'totalAdjusted',
  totalDue: 'totalDue',
  mhPaidAmount: 'mhPaidAmount',
  copayment: 'copayment',
  adjustment: 'adjustment',
  status: 'status',
  notes: 'notes',
  icn: 'icn',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
};

exports.Prisma.ServiceLineTransactionScalarFieldEnum = {
  id: 'id',
  paymentId: 'paymentId',
  serviceLineId: 'serviceLineId',
  transactionId: 'transactionId',
  paidAmount: 'paidAmount',
  adjustedAmount: 'adjustedAmount',
  method: 'method',
  receivedDate: 'receivedDate',
  payerName: 'payerName',
  notes: 'notes',
  createdAt: 'createdAt'
};

exports.Prisma.DatabaseBackupScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  createdAt: 'createdAt'
};

exports.Prisma.BackupDestinationScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  path: 'path',
  isActive: 'isActive',
  createdAt: 'createdAt'
};

exports.Prisma.NotificationScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  type: 'type',
  message: 'message',
  createdAt: 'createdAt',
  read: 'read'
};

exports.Prisma.CronJobLogScalarFieldEnum = {
  id: 'id',
  jobName: 'jobName',
  status: 'status',
  startedAt: 'startedAt',
  completedAt: 'completedAt',
  durationMs: 'durationMs',
  errorMessage: 'errorMessage'
};

exports.Prisma.CloudFolderScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  name: 'name',
  parentId: 'parentId',
  patientId: 'patientId',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
};

exports.Prisma.CloudFileScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  name: 'name',
  mimeType: 'mimeType',
  fileSize: 'fileSize',
  folderId: 'folderId',
  isComplete: 'isComplete',
  totalChunks: 'totalChunks',
  diskPath: 'diskPath',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
};

exports.Prisma.CloudFileChunkScalarFieldEnum = {
  id: 'id',
  fileId: 'fileId',
  seq: 'seq',
  data: 'data',
  createdAt: 'createdAt'
};

exports.Prisma.CommunicationScalarFieldEnum = {
  id: 'id',
  patientId: 'patientId',
  userId: 'userId',
  channel: 'channel',
  direction: 'direction',
  status: 'status',
  body: 'body',
  callDuration: 'callDuration',
  twilioSid: 'twilioSid',
  createdAt: 'createdAt'
};

exports.Prisma.PatientDocumentScalarFieldEnum = {
  id: 'id',
  patientId: 'patientId',
  filename: 'filename',
  originalName: 'originalName',
  mimeType: 'mimeType',
  fileSize: 'fileSize',
  filePath: 'filePath',
  uploadedAt: 'uploadedAt',
  updatedAt: 'updatedAt'
};

exports.Prisma.TwilioSettingsScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  accountSid: 'accountSid',
  authToken: 'authToken',
  phoneNumber: 'phoneNumber',
  greetingMessage: 'greetingMessage',
  templates: 'templates'
};

exports.Prisma.AiSettingsScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  apiKey: 'apiKey',
  aiEnabled: 'aiEnabled',
  openAiKey: 'openAiKey',
  openAiEnabled: 'openAiEnabled',
  claudeAiKey: 'claudeAiKey',
  claudeAiEnabled: 'claudeAiEnabled',
  claudeAiModel: 'claudeAiModel',
  openAiModel: 'openAiModel',
  googleAiModel: 'googleAiModel',
  dentalMgmtKey: 'dentalMgmtKey',
  dentalMgmtEnabled: 'dentalMgmtEnabled',
  afterHoursEnabled: 'afterHoursEnabled',
  openPhoneReply: 'openPhoneReply'
};

exports.Prisma.OfficeHoursScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  data: 'data'
};

exports.Prisma.OfficeContactScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  officeName: 'officeName',
  receptionistName: 'receptionistName',
  dentistName: 'dentistName',
  phoneNumber: 'phoneNumber',
  email: 'email',
  fax: 'fax',
  streetAddress: 'streetAddress',
  city: 'city',
  state: 'state',
  zipCode: 'zipCode'
};

exports.Prisma.InsuranceContactScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  name: 'name',
  phoneNumber: 'phoneNumber',
  createdAt: 'createdAt'
};

exports.Prisma.ProcedureTimeslotScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  data: 'data'
};

exports.Prisma.PatientConversationScalarFieldEnum = {
  id: 'id',
  patientId: 'patientId',
  userId: 'userId',
  stage: 'stage',
  aiHandoff: 'aiHandoff',
  updatedAt: 'updatedAt'
};

exports.Prisma.CommissionBatchScalarFieldEnum = {
  id: 'id',
  npiProviderId: 'npiProviderId',
  totalCollection: 'totalCollection',
  commissionAmount: 'commissionAmount',
  notes: 'notes',
  createdAt: 'createdAt'
};

exports.Prisma.CommissionBatchItemScalarFieldEnum = {
  id: 'id',
  commissionBatchId: 'commissionBatchId',
  paymentId: 'paymentId',
  collectionAmount: 'collectionAmount'
};

exports.Prisma.SortOrder = {
  asc: 'asc',
  desc: 'desc'
};

exports.Prisma.NullableJsonNullValueInput = {
  DbNull: Prisma.DbNull,
  JsonNull: Prisma.JsonNull
};

exports.Prisma.JsonNullValueInput = {
  JsonNull: Prisma.JsonNull
};

exports.Prisma.QueryMode = {
  default: 'default',
  insensitive: 'insensitive'
};

exports.Prisma.NullsOrder = {
  first: 'first',
  last: 'last'
};

exports.Prisma.JsonNullValueFilter = {
  DbNull: Prisma.DbNull,
  JsonNull: Prisma.JsonNull,
  AnyNull: Prisma.AnyNull
};
exports.PatientStatus = exports.$Enums.PatientStatus = {
  ACTIVE: 'ACTIVE',
  INACTIVE: 'INACTIVE',
  UNKNOWN: 'UNKNOWN',
  PLAN_NOT_ACCEPTED: 'PLAN_NOT_ACCEPTED'
};

exports.ProcedureSource = exports.$Enums.ProcedureSource = {
  COMBO: 'COMBO',
  MANUAL: 'MANUAL'
};

exports.ClaimStatus = exports.$Enums.ClaimStatus = {
  PENDING: 'PENDING',
  APPROVED: 'APPROVED',
  CANCELLED: 'CANCELLED',
  REVIEW: 'REVIEW',
  VOID: 'VOID',
  PREAUTH: 'PREAUTH'
};

exports.MissingTeethStatus = exports.$Enums.MissingTeethStatus = {
  No_missing: 'No_missing',
  endentulous: 'endentulous',
  Yes_missing: 'Yes_missing'
};

exports.ServiceLineStatus = exports.$Enums.ServiceLineStatus = {
  PENDING: 'PENDING',
  PARTIALLY_PAID: 'PARTIALLY_PAID',
  PAID: 'PAID',
  UNPAID: 'UNPAID',
  ADJUSTED: 'ADJUSTED',
  OVERPAID: 'OVERPAID',
  DENIED: 'DENIED'
};

exports.PdfTitleKey = exports.$Enums.PdfTitleKey = {
  INSURANCE_CLAIM: 'INSURANCE_CLAIM',
  INSURANCE_CLAIM_PREAUTH: 'INSURANCE_CLAIM_PREAUTH',
  ELIGIBILITY_STATUS: 'ELIGIBILITY_STATUS',
  CLAIM_STATUS: 'CLAIM_STATUS',
  OTHER: 'OTHER'
};

exports.PaymentStatus = exports.$Enums.PaymentStatus = {
  PENDING: 'PENDING',
  PARTIALLY_PAID: 'PARTIALLY_PAID',
  PAID: 'PAID',
  OVERPAID: 'OVERPAID',
  DENIED: 'DENIED',
  VOID: 'VOID'
};

exports.PaymentMethod = exports.$Enums.PaymentMethod = {
  EFT: 'EFT',
  CHECK: 'CHECK',
  CASH: 'CASH',
  CARD: 'CARD',
  OTHER: 'OTHER'
};

exports.NotificationTypes = exports.$Enums.NotificationTypes = {
  BACKUP: 'BACKUP',
  CLAIM: 'CLAIM',
  PAYMENT: 'PAYMENT',
  ETC: 'ETC'
};

exports.CommunicationChannel = exports.$Enums.CommunicationChannel = {
  sms: 'sms',
  voice: 'voice'
};

exports.CommunicationDirection = exports.$Enums.CommunicationDirection = {
  outbound: 'outbound',
  inbound: 'inbound'
};

exports.CommunicationStatus = exports.$Enums.CommunicationStatus = {
  queued: 'queued',
  sent: 'sent',
  delivered: 'delivered',
  failed: 'failed',
  completed: 'completed',
  busy: 'busy',
  no_answer: 'no_answer'
};

exports.Prisma.ModelName = {
  User: 'User',
  Patient: 'Patient',
  Appointment: 'Appointment',
  AppointmentFile: 'AppointmentFile',
  Staff: 'Staff',
  NpiProvider: 'NpiProvider',
  AppointmentProcedure: 'AppointmentProcedure',
  Claim: 'Claim',
  ServiceLine: 'ServiceLine',
  ClaimFile: 'ClaimFile',
  InsuranceCredential: 'InsuranceCredential',
  ShoppingVendor: 'ShoppingVendor',
  PdfGroup: 'PdfGroup',
  PdfFile: 'PdfFile',
  Payment: 'Payment',
  ServiceLineTransaction: 'ServiceLineTransaction',
  DatabaseBackup: 'DatabaseBackup',
  BackupDestination: 'BackupDestination',
  Notification: 'Notification',
  CronJobLog: 'CronJobLog',
  CloudFolder: 'CloudFolder',
  CloudFile: 'CloudFile',
  CloudFileChunk: 'CloudFileChunk',
  Communication: 'Communication',
  PatientDocument: 'PatientDocument',
  TwilioSettings: 'TwilioSettings',
  AiSettings: 'AiSettings',
  OfficeHours: 'OfficeHours',
  OfficeContact: 'OfficeContact',
  InsuranceContact: 'InsuranceContact',
  ProcedureTimeslot: 'ProcedureTimeslot',
  PatientConversation: 'PatientConversation',
  CommissionBatch: 'CommissionBatch',
  CommissionBatchItem: 'CommissionBatchItem'
};
/**
 * Create the Client
 */
const config = {
  "previewFeatures": [],
  "clientVersion": "7.4.1",
  "engineVersion": "55ae170b1ced7fc6ed07a15f110549408c501bb3",
  "activeProvider": "postgresql",
  "inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\n// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?\n// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init\n\ngenerator client {\n  provider = \"prisma-client-js\"\n  output   = \"../generated/prisma\"\n}\n\ngenerator zod {\n  provider = \"prisma-zod-generator\"\n  output   = \"../shared/\" // Zod schemas will be generated here inside `db/shared`\n}\n\ndatasource db {\n  provider = \"postgresql\"\n}\n\nmodel User {\n  id                   Int                   @id @default(autoincrement())\n  username             String                @unique\n  password             String\n  autoBackupEnabled    Boolean               @default(true)\n  usbBackupEnabled     Boolean               @default(false)\n  patients             Patient[]\n  appointments         Appointment[]\n  staff                Staff[]\n  npiProviders         NpiProvider[]\n  claims               Claim[]\n  insuranceCredentials InsuranceCredential[]\n  shoppingVendors      ShoppingVendor[]\n  updatedPayments      Payment[]             @relation(\"PaymentUpdatedBy\")\n  backups              DatabaseBackup[]\n  backupDestinations   BackupDestination[]\n  notifications        Notification[]\n  cloudFolders         CloudFolder[]\n  cloudFiles           CloudFile[]\n  communications       Communication[]\n  twilioSettings       TwilioSettings?\n  aiSettings           AiSettings?\n  officeHours          OfficeHours?\n  officeContact        OfficeContact?\n  procedureTimeslot    ProcedureTimeslot?\n  insuranceContacts    InsuranceContact[]\n  patientConversations PatientConversation[]\n}\n\nmodel Patient {\n  id                Int                    @id @default(autoincrement())\n  firstName         String\n  lastName          String\n  dateOfBirth       DateTime?              @db.Date\n  gender            String\n  phone             String\n  email             String?\n  address           String?\n  city              String?\n  zipCode           String?\n  insuranceProvider String?\n  insuranceId       String?\n  groupNumber       String?\n  policyHolder      String?\n  allergies         String?\n  medicalConditions String?\n  preferredLanguage String?                @default(\"English\")\n  status            PatientStatus          @default(UNKNOWN)\n  userId            Int\n  createdAt         DateTime               @default(now())\n  updatedAt         DateTime               @updatedAt\n  user              User                   @relation(fields: [userId], references: [id])\n  appointments      Appointment[]\n  procedures        AppointmentProcedure[]\n  claims            Claim[]\n  groups            PdfGroup[]\n  payment           Payment[]\n  communications    Communication[]\n  documents         PatientDocument[]\n  conversation      PatientConversation?\n  cloudFolders      CloudFolder[]          @relation(\"PatientCloudFolder\")\n\n  @@index([insuranceId])\n  @@index([createdAt])\n}\n\nenum PatientStatus {\n  ACTIVE\n  INACTIVE\n  UNKNOWN\n  PLAN_NOT_ACCEPTED\n}\n\nmodel Appointment {\n  id                 Int      @id @default(autoincrement())\n  patientId          Int\n  userId             Int\n  staffId            Int\n  title              String\n  date               DateTime @db.Date\n  startTime          String // Store time as \"hh:mm\"\n  endTime            String // Store time as \"hh:mm\"\n  type               String // e.g., \"checkup\", \"cleaning\", \"filling\", etc.\n  typeLocked         Boolean  @default(false) // true = user manually set; auto-sync will not overwrite\n  notes              String?\n  procedureCodeNotes String?\n  status             String   @default(\"scheduled\") // \"scheduled\", \"completed\", \"cancelled\", \"no-show\"\n  movedByAi          Boolean  @default(false)\n  createdAt          DateTime @default(now())\n\n  eligibilityStatus PatientStatus @default(UNKNOWN)\n\n  patient    Patient                @relation(fields: [patientId], references: [id], onDelete: Cascade)\n  user       User                   @relation(fields: [userId], references: [id])\n  staff      Staff?                 @relation(fields: [staffId], references: [id])\n  procedures AppointmentProcedure[]\n  claims     Claim[]\n  files      AppointmentFile[]\n\n  @@index([patientId])\n  @@index([date])\n}\n\nmodel AppointmentFile {\n  id            Int     @id @default(autoincrement())\n  appointmentId Int\n  filename      String\n  mimeType      String?\n  filePath      String?\n\n  appointment Appointment @relation(fields: [appointmentId], references: [id], onDelete: Cascade)\n\n  @@index([appointmentId])\n}\n\nmodel Staff {\n  id           Int           @id @default(autoincrement())\n  userId       Int\n  name         String\n  email        String?\n  role         String // e.g., \"Dentist\", \"Hygienist\", \"Assistant\"\n  phone        String?\n  createdAt    DateTime      @default(now())\n  user         User?         @relation(fields: [userId], references: [id], onDelete: Cascade)\n  appointments Appointment[]\n  claims       Claim[]       @relation(\"ClaimStaff\")\n}\n\nmodel NpiProvider {\n  id           Int      @id @default(autoincrement())\n  userId       Int\n  npiNumber    String\n  providerName String\n  sortOrder    Int      @default(0)\n  createdAt    DateTime @default(now())\n\n  user                  User                   @relation(fields: [userId], references: [id], onDelete: Cascade)\n  claims                Claim[]\n  payments              Payment[]\n  commissionBatches     CommissionBatch[]\n  appointmentProcedures AppointmentProcedure[]\n\n  @@unique([userId, npiNumber])\n  @@index([userId])\n}\n\nenum ProcedureSource {\n  COMBO\n  MANUAL\n}\n\nmodel AppointmentProcedure {\n  id            Int  @id @default(autoincrement())\n  appointmentId Int\n  patientId     Int\n  npiProviderId Int?\n\n  procedureCode  String\n  procedureLabel String?\n  fee            Decimal? @db.Decimal(10, 2)\n\n  category String?\n\n  toothNumber    String?\n  toothSurface   String?\n  oralCavityArea String?\n\n  source   ProcedureSource @default(MANUAL)\n  comboKey String?\n\n  createdAt DateTime @default(now())\n\n  appointment Appointment  @relation(fields: [appointmentId], references: [id], onDelete: Cascade)\n  patient     Patient      @relation(fields: [patientId], references: [id], onDelete: Cascade)\n  npiProvider NpiProvider? @relation(fields: [npiProviderId], references: [id])\n\n  @@index([appointmentId])\n  @@index([patientId])\n}\n\nmodel Claim {\n  id                 Int                @id @default(autoincrement())\n  patientId          Int\n  appointmentId      Int?\n  userId             Int\n  staffId            Int\n  patientName        String\n  memberId           String\n  dateOfBirth        DateTime           @db.Date\n  remarks            String\n  missingTeethStatus MissingTeethStatus @default(No_missing)\n  missingTeeth       Json? // { \"T_14\": \"X\", \"T_G\": \"O\", ... }\n  serviceDate        DateTime\n  insuranceProvider  String // e.g., \"Delta MA\"\n  createdAt          DateTime           @default(now())\n  updatedAt          DateTime           @updatedAt\n  status             ClaimStatus        @default(PENDING)\n  claimNumber        String?\n  preAuthNumber      String?\n  npiProviderId      Int?\n\n  patient     Patient      @relation(fields: [patientId], references: [id], onDelete: Cascade)\n  appointment Appointment? @relation(fields: [appointmentId], references: [id], onDelete: Cascade)\n  user        User?        @relation(fields: [userId], references: [id])\n  staff       Staff?       @relation(\"ClaimStaff\", fields: [staffId], references: [id])\n  npiProvider NpiProvider? @relation(fields: [npiProviderId], references: [id])\n\n  serviceLines ServiceLine[]\n  claimFiles   ClaimFile[]\n  payment      Payment?\n}\n\nenum ClaimStatus {\n  PENDING\n  APPROVED\n  CANCELLED\n  REVIEW\n  VOID\n  PREAUTH\n}\n\nenum MissingTeethStatus {\n  No_missing\n  endentulous\n  Yes_missing\n}\n\nmodel ServiceLine {\n  id            Int               @id @default(autoincrement())\n  claimId       Int?\n  paymentId     Int?\n  procedureCode String\n  procedureDate DateTime          @db.Date\n  quad          String?\n  arch          String?\n  toothNumber   String?\n  toothSurface  String?\n  icn           String?\n  paidCode      String?\n  allowedAmount Decimal?          @db.Decimal(10, 2)\n  totalBilled   Decimal           @db.Decimal(10, 2)\n  totalPaid     Decimal           @default(0.00) @db.Decimal(10, 2)\n  totalAdjusted Decimal           @default(0.00) @db.Decimal(10, 2)\n  totalDue      Decimal           @default(0.00) @db.Decimal(10, 2)\n  status        ServiceLineStatus @default(UNPAID)\n\n  claim   Claim?   @relation(fields: [claimId], references: [id], onDelete: Cascade)\n  payment Payment? @relation(fields: [paymentId], references: [id], onDelete: Cascade)\n\n  serviceLineTransactions ServiceLineTransaction[]\n}\n\nenum ServiceLineStatus {\n  PENDING\n  PARTIALLY_PAID\n  PAID\n  UNPAID\n  ADJUSTED\n  OVERPAID\n  DENIED\n}\n\nmodel ClaimFile {\n  id       Int     @id @default(autoincrement())\n  claimId  Int\n  filename String\n  mimeType String\n  filePath String?\n\n  claim Claim @relation(fields: [claimId], references: [id], onDelete: Cascade)\n}\n\nmodel InsuranceCredential {\n  id       Int    @id @default(autoincrement())\n  userId   Int\n  siteKey  String\n  username String\n  password String\n\n  user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n  @@unique([userId, siteKey])\n  @@index([userId])\n}\n\nmodel ShoppingVendor {\n  id            Int    @id @default(autoincrement())\n  userId        Int\n  vendorName    String\n  websiteUrl    String\n  loginUsername String\n  loginPassword String\n\n  user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n  @@index([userId])\n}\n\nmodel PdfGroup {\n  id        Int         @id @default(autoincrement())\n  title     String\n  titleKey  PdfTitleKey @default(OTHER)\n  createdAt DateTime    @default(now())\n  patientId Int\n  patient   Patient     @relation(fields: [patientId], references: [id], onDelete: Cascade)\n  pdfs      PdfFile[]\n\n  @@index([patientId])\n  @@index([titleKey])\n}\n\nmodel PdfFile {\n  id         Int      @id @default(autoincrement())\n  filename   String\n  pdfData    Bytes\n  uploadedAt DateTime @default(now())\n  groupId    Int\n  group      PdfGroup @relation(fields: [groupId], references: [id], onDelete: Cascade)\n\n  @@index([groupId])\n}\n\nenum PdfTitleKey {\n  INSURANCE_CLAIM\n  INSURANCE_CLAIM_PREAUTH\n  ELIGIBILITY_STATUS\n  CLAIM_STATUS\n  OTHER\n}\n\nmodel Payment {\n  id            Int           @id @default(autoincrement())\n  claimId       Int?          @unique\n  patientId     Int\n  userId        Int\n  updatedById   Int?\n  npiProviderId Int?\n  totalBilled   Decimal       @db.Decimal(10, 2)\n  totalPaid     Decimal       @default(0.00) @db.Decimal(10, 2)\n  totalAdjusted Decimal       @default(0.00) @db.Decimal(10, 2)\n  totalDue      Decimal       @db.Decimal(10, 2)\n  mhPaidAmount  Decimal?      @db.Decimal(10, 2)\n  copayment     Decimal       @default(0.00) @db.Decimal(10, 2)\n  adjustment    Decimal       @default(0.00) @db.Decimal(10, 2)\n  status        PaymentStatus @default(PENDING)\n  notes         String?\n  icn           String?\n  createdAt     DateTime      @default(now())\n  updatedAt     DateTime      @updatedAt\n\n  claim                   Claim?                   @relation(fields: [claimId], references: [id], onDelete: Cascade)\n  patient                 Patient                  @relation(fields: [patientId], references: [id], onDelete: Cascade)\n  updatedBy               User?                    @relation(\"PaymentUpdatedBy\", fields: [updatedById], references: [id])\n  npiProvider             NpiProvider?             @relation(fields: [npiProviderId], references: [id])\n  serviceLineTransactions ServiceLineTransaction[]\n  serviceLines            ServiceLine[]\n  commissionBatchItems    CommissionBatchItem[]\n\n  @@index([claimId])\n  @@index([patientId])\n  @@index([createdAt])\n}\n\nmodel ServiceLineTransaction {\n  id             Int           @id @default(autoincrement())\n  paymentId      Int\n  serviceLineId  Int\n  transactionId  String?\n  paidAmount     Decimal       @db.Decimal(10, 2)\n  adjustedAmount Decimal       @default(0.00) @db.Decimal(10, 2)\n  method         PaymentMethod\n  receivedDate   DateTime\n  payerName      String?\n  notes          String?\n  createdAt      DateTime      @default(now())\n\n  payment     Payment     @relation(fields: [paymentId], references: [id], onDelete: Cascade)\n  serviceLine ServiceLine @relation(fields: [serviceLineId], references: [id], onDelete: Cascade)\n\n  @@index([paymentId])\n  @@index([serviceLineId])\n}\n\nenum PaymentStatus {\n  PENDING\n  PARTIALLY_PAID\n  PAID\n  OVERPAID\n  DENIED\n  VOID\n}\n\nenum PaymentMethod {\n  EFT\n  CHECK\n  CASH\n  CARD\n  OTHER\n}\n\n// Database management page\nmodel DatabaseBackup {\n  id        Int      @id @default(autoincrement())\n  userId    Int\n  createdAt DateTime @default(now())\n\n  user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n  @@index([userId])\n  @@index([createdAt])\n}\n\nmodel BackupDestination {\n  id        Int      @id @default(autoincrement())\n  userId    Int\n  path      String\n  isActive  Boolean  @default(true)\n  createdAt DateTime @default(now())\n\n  user User @relation(fields: [userId], references: [id])\n}\n\nmodel Notification {\n  id        Int               @id @default(autoincrement())\n  userId    Int\n  type      NotificationTypes\n  message   String\n  createdAt DateTime          @default(now())\n  read      Boolean           @default(false)\n\n  user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n  @@index([userId])\n  @@index([createdAt])\n}\n\nenum NotificationTypes {\n  BACKUP\n  CLAIM\n  PAYMENT\n  ETC\n}\n\n// Cron job execution log\nmodel CronJobLog {\n  id           Int       @id @default(autoincrement())\n  jobName      String // e.g. \"local-backup\", \"usb-backup\"\n  status       String // \"success\" | \"failed\" | \"skipped\"\n  startedAt    DateTime\n  completedAt  DateTime?\n  durationMs   Int?\n  errorMessage String?\n\n  @@index([jobName])\n  @@index([startedAt])\n  @@index([status])\n}\n\nmodel CloudFolder {\n  id        Int           @id @default(autoincrement())\n  userId    Int\n  name      String\n  parentId  Int?\n  patientId Int?\n  parent    CloudFolder?  @relation(\"FolderChildren\", fields: [parentId], references: [id], onDelete: Cascade)\n  children  CloudFolder[] @relation(\"FolderChildren\")\n  user      User          @relation(fields: [userId], references: [id])\n  patient   Patient?      @relation(\"PatientCloudFolder\", fields: [patientId], references: [id], onDelete: SetNull)\n  files     CloudFile[]\n  createdAt DateTime      @default(now())\n  updatedAt DateTime      @updatedAt\n\n  @@unique([userId, parentId, name]) // prevents sibling folder name duplicates\n  @@index([parentId])\n  @@index([patientId])\n}\n\nmodel CloudFile {\n  id          Int          @id @default(autoincrement())\n  userId      Int\n  name        String\n  mimeType    String?\n  fileSize    BigInt       @db.BigInt\n  folderId    Int? // optional: null => root\n  isComplete  Boolean      @default(false) // upload completed?\n  totalChunks Int? // optional: expected number of chunks\n  diskPath    String? // relative path on disk under uploads/\n  createdAt   DateTime     @default(now())\n  updatedAt   DateTime     @updatedAt\n  user        User         @relation(fields: [userId], references: [id])\n  folder      CloudFolder? @relation(fields: [folderId], references: [id], onDelete: SetNull)\n\n  chunks CloudFileChunk[]\n\n  @@index([folderId])\n}\n\nmodel CloudFileChunk {\n  id        Int      @id @default(autoincrement())\n  fileId    Int\n  seq       Int\n  data      Bytes\n  createdAt DateTime @default(now())\n\n  file CloudFile @relation(fields: [fileId], references: [id], onDelete: Cascade)\n\n  @@unique([fileId, seq])\n  @@index([fileId, seq])\n}\n\n// patient-connection-\nenum CommunicationChannel {\n  sms\n  voice\n}\n\nenum CommunicationDirection {\n  outbound\n  inbound\n}\n\nenum CommunicationStatus {\n  queued\n  sent\n  delivered\n  failed\n  completed\n  busy\n  no_answer\n}\n\nmodel Communication {\n  id        Int  @id @default(autoincrement())\n  patientId Int\n  userId    Int?\n\n  channel   CommunicationChannel\n  direction CommunicationDirection\n  status    CommunicationStatus\n\n  body         String?\n  callDuration Int?\n  twilioSid    String?\n\n  createdAt DateTime @default(now())\n\n  // Relations\n  patient Patient @relation(fields: [patientId], references: [id])\n  user    User?   @relation(fields: [userId], references: [id])\n\n  @@map(\"communications\")\n}\n\nmodel PatientDocument {\n  id           Int      @id @default(autoincrement())\n  patientId    Int\n  filename     String\n  originalName String\n  mimeType     String\n  fileSize     BigInt\n  filePath     String\n  uploadedAt   DateTime @default(now())\n  updatedAt    DateTime @updatedAt\n  patient      Patient  @relation(fields: [patientId], references: [id], onDelete: Cascade)\n\n  @@index([patientId])\n  @@index([uploadedAt])\n}\n\nmodel TwilioSettings {\n  id              Int     @id @default(autoincrement())\n  userId          Int     @unique\n  accountSid      String\n  authToken       String\n  phoneNumber     String\n  greetingMessage String?\n  templates       Json?\n\n  user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n  @@map(\"twilio_settings\")\n}\n\nmodel AiSettings {\n  id                Int     @id @default(autoincrement())\n  userId            Int     @unique\n  apiKey            String\n  aiEnabled         Boolean @default(true)\n  openAiKey         String  @default(\"\")\n  openAiEnabled     Boolean @default(false)\n  claudeAiKey       String  @default(\"\")\n  claudeAiEnabled   Boolean @default(false)\n  claudeAiModel     String  @default(\"claude-haiku-4-5-20251001\")\n  openAiModel       String  @default(\"gpt-5.2\")\n  googleAiModel     String  @default(\"gemini-2.5-flash\")\n  dentalMgmtKey     String  @default(\"\")\n  dentalMgmtEnabled Boolean @default(false)\n  afterHoursEnabled Boolean @default(true)\n  openPhoneReply    Boolean @default(false)\n\n  user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n  @@map(\"ai_settings\")\n}\n\nmodel OfficeHours {\n  id     Int  @id @default(autoincrement())\n  userId Int  @unique\n  data   Json\n\n  user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n  @@map(\"office_hours\")\n}\n\nmodel OfficeContact {\n  id               Int     @id @default(autoincrement())\n  userId           Int     @unique\n  officeName       String?\n  receptionistName String?\n  dentistName      String?\n  phoneNumber      String?\n  email            String?\n  fax              String?\n  streetAddress    String?\n  city             String?\n  state            String?\n  zipCode          String?\n\n  user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n  @@map(\"office_contact\")\n}\n\nmodel InsuranceContact {\n  id          Int      @id @default(autoincrement())\n  userId      Int\n  name        String\n  phoneNumber String?\n  createdAt   DateTime @default(now())\n\n  user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n  @@map(\"insurance_contact\")\n}\n\nmodel ProcedureTimeslot {\n  id     Int  @id @default(autoincrement())\n  userId Int  @unique\n  data   Json\n\n  user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n  @@map(\"procedure_timeslot\")\n}\n\nmodel PatientConversation {\n  id        Int      @id @default(autoincrement())\n  patientId Int      @unique\n  userId    Int\n  stage     String   @default(\"initial\")\n  aiHandoff Boolean  @default(true)\n  updatedAt DateTime @updatedAt\n\n  patient Patient @relation(fields: [patientId], references: [id], onDelete: Cascade)\n  user    User    @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n  @@map(\"patient_conversation\")\n}\n\n// Commission tracking\nmodel CommissionBatch {\n  id               Int      @id @default(autoincrement())\n  npiProviderId    Int\n  totalCollection  Decimal  @db.Decimal(14, 2)\n  commissionAmount Decimal  @db.Decimal(14, 2)\n  notes            String?\n  createdAt        DateTime @default(now())\n\n  npiProvider NpiProvider           @relation(fields: [npiProviderId], references: [id])\n  items       CommissionBatchItem[]\n\n  @@index([npiProviderId])\n}\n\nmodel CommissionBatchItem {\n  id                Int     @id @default(autoincrement())\n  commissionBatchId Int\n  paymentId         Int\n  collectionAmount  Decimal @db.Decimal(14, 2)\n\n  commissionBatch CommissionBatch @relation(fields: [commissionBatchId], references: [id], onDelete: Cascade)\n  payment         Payment         @relation(fields: [paymentId], references: [id])\n\n  @@unique([commissionBatchId, paymentId])\n  @@index([paymentId])\n}\n"
}

config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"username\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"autoBackupEnabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"usbBackupEnabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"patients\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"PatientToUser\"},{\"name\":\"appointments\",\"kind\":\"object\",\"type\":\"Appointment\",\"relationName\":\"AppointmentToUser\"},{\"name\":\"staff\",\"kind\":\"object\",\"type\":\"Staff\",\"relationName\":\"StaffToUser\"},{\"name\":\"npiProviders\",\"kind\":\"object\",\"type\":\"NpiProvider\",\"relationName\":\"NpiProviderToUser\"},{\"name\":\"claims\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"ClaimToUser\"},{\"name\":\"insuranceCredentials\",\"kind\":\"object\",\"type\":\"InsuranceCredential\",\"relationName\":\"InsuranceCredentialToUser\"},{\"name\":\"shoppingVendors\",\"kind\":\"object\",\"type\":\"ShoppingVendor\",\"relationName\":\"ShoppingVendorToUser\"},{\"name\":\"updatedPayments\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PaymentUpdatedBy\"},{\"name\":\"backups\",\"kind\":\"object\",\"type\":\"DatabaseBackup\",\"relationName\":\"DatabaseBackupToUser\"},{\"name\":\"backupDestinations\",\"kind\":\"object\",\"type\":\"BackupDestination\",\"relationName\":\"BackupDestinationToUser\"},{\"name\":\"notifications\",\"kind\":\"object\",\"type\":\"Notification\",\"relationName\":\"NotificationToUser\"},{\"name\":\"cloudFolders\",\"kind\":\"object\",\"type\":\"CloudFolder\",\"relationName\":\"CloudFolderToUser\"},{\"name\":\"cloudFiles\",\"kind\":\"object\",\"type\":\"CloudFile\",\"relationName\":\"CloudFileToUser\"},{\"name\":\"communications\",\"kind\":\"object\",\"type\":\"Communication\",\"relationName\":\"CommunicationToUser\"},{\"name\":\"twilioSettings\",\"kind\":\"object\",\"type\":\"TwilioSettings\",\"relationName\":\"TwilioSettingsToUser\"},{\"name\":\"aiSettings\",\"kind\":\"object\",\"type\":\"AiSettings\",\"relationName\":\"AiSettingsToUser\"},{\"name\":\"officeHours\",\"kind\":\"object\",\"type\":\"OfficeHours\",\"relationName\":\"OfficeHoursToUser\"},{\"name\":\"officeContact\",\"kind\":\"object\",\"type\":\"OfficeContact\",\"relationName\":\"OfficeContactToUser\"},{\"name\":\"procedureTimeslot\",\"kind\":\"object\",\"type\":\"ProcedureTimeslot\",\"relationName\":\"ProcedureTimeslotToUser\"},{\"name\":\"insuranceContacts\",\"kind\":\"object\",\"type\":\"InsuranceContact\",\"relationName\":\"InsuranceContactToUser\"},{\"name\":\"patientConversations\",\"kind\":\"object\",\"type\":\"PatientConversation\",\"relationName\":\"PatientConversationToUser\"}],\"dbName\":null},\"Patient\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"firstName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"dateOfBirth\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"gender\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"city\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zipCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"insuranceProvider\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"insuranceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"groupNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"policyHolder\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"allergies\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"medicalConditions\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"preferredLanguage\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"PatientStatus\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PatientToUser\"},{\"name\":\"appointments\",\"kind\":\"object\",\"type\":\"Appointment\",\"relationName\":\"AppointmentToPatient\"},{\"name\":\"procedures\",\"kind\":\"object\",\"type\":\"AppointmentProcedure\",\"relationName\":\"AppointmentProcedureToPatient\"},{\"name\":\"claims\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"ClaimToPatient\"},{\"name\":\"groups\",\"kind\":\"object\",\"type\":\"PdfGroup\",\"relationName\":\"PatientToPdfGroup\"},{\"name\":\"payment\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PatientToPayment\"},{\"name\":\"communications\",\"kind\":\"object\",\"type\":\"Communication\",\"relationName\":\"CommunicationToPatient\"},{\"name\":\"documents\",\"kind\":\"object\",\"type\":\"PatientDocument\",\"relationName\":\"PatientToPatientDocument\"},{\"name\":\"conversation\",\"kind\":\"object\",\"type\":\"PatientConversation\",\"relationName\":\"PatientToPatientConversation\"},{\"name\":\"cloudFolders\",\"kind\":\"object\",\"type\":\"CloudFolder\",\"relationName\":\"PatientCloudFolder\"}],\"dbName\":null},\"Appointment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"staffId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"startTime\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"endTime\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"typeLocked\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"procedureCodeNotes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"movedByAi\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"eligibilityStatus\",\"kind\":\"enum\",\"type\":\"PatientStatus\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"AppointmentToPatient\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AppointmentToUser\"},{\"name\":\"staff\",\"kind\":\"object\",\"type\":\"Staff\",\"relationName\":\"AppointmentToStaff\"},{\"name\":\"procedures\",\"kind\":\"object\",\"type\":\"AppointmentProcedure\",\"relationName\":\"AppointmentToAppointmentProcedure\"},{\"name\":\"claims\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"AppointmentToClaim\"},{\"name\":\"files\",\"kind\":\"object\",\"type\":\"AppointmentFile\",\"relationName\":\"AppointmentToAppointmentFile\"}],\"dbName\":null},\"AppointmentFile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"appointmentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"filename\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mimeType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"filePath\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"appointment\",\"kind\":\"object\",\"type\":\"Appointment\",\"relationName\":\"AppointmentToAppointmentFile\"}],\"dbName\":null},\"Staff\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"StaffToUser\"},{\"name\":\"appointments\",\"kind\":\"object\",\"type\":\"Appointment\",\"relationName\":\"AppointmentToStaff\"},{\"name\":\"claims\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"ClaimStaff\"}],\"dbName\":null},\"NpiProvider\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"npiNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"providerName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sortOrder\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"NpiProviderToUser\"},{\"name\":\"claims\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"ClaimToNpiProvider\"},{\"name\":\"payments\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"NpiProviderToPayment\"},{\"name\":\"commissionBatches\",\"kind\":\"object\",\"type\":\"CommissionBatch\",\"relationName\":\"CommissionBatchToNpiProvider\"},{\"name\":\"appointmentProcedures\",\"kind\":\"object\",\"type\":\"AppointmentProcedure\",\"relationName\":\"AppointmentProcedureToNpiProvider\"}],\"dbName\":null},\"AppointmentProcedure\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"appointmentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"npiProviderId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"procedureCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"procedureLabel\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fee\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"category\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"toothNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"toothSurface\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"oralCavityArea\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source\",\"kind\":\"enum\",\"type\":\"ProcedureSource\"},{\"name\":\"comboKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"appointment\",\"kind\":\"object\",\"type\":\"Appointment\",\"relationName\":\"AppointmentToAppointmentProcedure\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"AppointmentProcedureToPatient\"},{\"name\":\"npiProvider\",\"kind\":\"object\",\"type\":\"NpiProvider\",\"relationName\":\"AppointmentProcedureToNpiProvider\"}],\"dbName\":null},\"Claim\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"appointmentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"staffId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"dateOfBirth\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"remarks\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"missingTeethStatus\",\"kind\":\"enum\",\"type\":\"MissingTeethStatus\"},{\"name\":\"missingTeeth\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"serviceDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"insuranceProvider\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ClaimStatus\"},{\"name\":\"claimNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"preAuthNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"npiProviderId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"ClaimToPatient\"},{\"name\":\"appointment\",\"kind\":\"object\",\"type\":\"Appointment\",\"relationName\":\"AppointmentToClaim\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ClaimToUser\"},{\"name\":\"staff\",\"kind\":\"object\",\"type\":\"Staff\",\"relationName\":\"ClaimStaff\"},{\"name\":\"npiProvider\",\"kind\":\"object\",\"type\":\"NpiProvider\",\"relationName\":\"ClaimToNpiProvider\"},{\"name\":\"serviceLines\",\"kind\":\"object\",\"type\":\"ServiceLine\",\"relationName\":\"ClaimToServiceLine\"},{\"name\":\"claimFiles\",\"kind\":\"object\",\"type\":\"ClaimFile\",\"relationName\":\"ClaimToClaimFile\"},{\"name\":\"payment\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"ClaimToPayment\"}],\"dbName\":null},\"ServiceLine\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"claimId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"paymentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"procedureCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"procedureDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"quad\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"arch\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"toothNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"toothSurface\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"icn\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"paidCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"allowedAmount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"totalBilled\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"totalPaid\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"totalAdjusted\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"totalDue\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ServiceLineStatus\"},{\"name\":\"claim\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"ClaimToServiceLine\"},{\"name\":\"payment\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PaymentToServiceLine\"},{\"name\":\"serviceLineTransactions\",\"kind\":\"object\",\"type\":\"ServiceLineTransaction\",\"relationName\":\"ServiceLineToServiceLineTransaction\"}],\"dbName\":null},\"ClaimFile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"claimId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"filename\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mimeType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"filePath\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"claim\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"ClaimToClaimFile\"}],\"dbName\":null},\"InsuranceCredential\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"siteKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"username\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"InsuranceCredentialToUser\"}],\"dbName\":null},\"ShoppingVendor\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"vendorName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"websiteUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"loginUsername\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"loginPassword\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ShoppingVendorToUser\"}],\"dbName\":null},\"PdfGroup\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"titleKey\",\"kind\":\"enum\",\"type\":\"PdfTitleKey\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"PatientToPdfGroup\"},{\"name\":\"pdfs\",\"kind\":\"object\",\"type\":\"PdfFile\",\"relationName\":\"PdfFileToPdfGroup\"}],\"dbName\":null},\"PdfFile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"filename\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"pdfData\",\"kind\":\"scalar\",\"type\":\"Bytes\"},{\"name\":\"uploadedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"groupId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"group\",\"kind\":\"object\",\"type\":\"PdfGroup\",\"relationName\":\"PdfFileToPdfGroup\"}],\"dbName\":null},\"Payment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"claimId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"npiProviderId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"totalBilled\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"totalPaid\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"totalAdjusted\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"totalDue\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"mhPaidAmount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"copayment\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"adjustment\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"PaymentStatus\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"icn\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"claim\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"ClaimToPayment\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"PatientToPayment\"},{\"name\":\"updatedBy\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PaymentUpdatedBy\"},{\"name\":\"npiProvider\",\"kind\":\"object\",\"type\":\"NpiProvider\",\"relationName\":\"NpiProviderToPayment\"},{\"name\":\"serviceLineTransactions\",\"kind\":\"object\",\"type\":\"ServiceLineTransaction\",\"relationName\":\"PaymentToServiceLineTransaction\"},{\"name\":\"serviceLines\",\"kind\":\"object\",\"type\":\"ServiceLine\",\"relationName\":\"PaymentToServiceLine\"},{\"name\":\"commissionBatchItems\",\"kind\":\"object\",\"type\":\"CommissionBatchItem\",\"relationName\":\"CommissionBatchItemToPayment\"}],\"dbName\":null},\"ServiceLineTransaction\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"paymentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"serviceLineId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"transactionId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"paidAmount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"adjustedAmount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"method\",\"kind\":\"enum\",\"type\":\"PaymentMethod\"},{\"name\":\"receivedDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"payerName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"payment\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PaymentToServiceLineTransaction\"},{\"name\":\"serviceLine\",\"kind\":\"object\",\"type\":\"ServiceLine\",\"relationName\":\"ServiceLineToServiceLineTransaction\"}],\"dbName\":null},\"DatabaseBackup\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"DatabaseBackupToUser\"}],\"dbName\":null},\"BackupDestination\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"path\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"BackupDestinationToUser\"}],\"dbName\":null},\"Notification\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"type\",\"kind\":\"enum\",\"type\":\"NotificationTypes\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"read\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"NotificationToUser\"}],\"dbName\":null},\"CronJobLog\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"jobName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"startedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"durationMs\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"CloudFolder\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"parentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"parent\",\"kind\":\"object\",\"type\":\"CloudFolder\",\"relationName\":\"FolderChildren\"},{\"name\":\"children\",\"kind\":\"object\",\"type\":\"CloudFolder\",\"relationName\":\"FolderChildren\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CloudFolderToUser\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"PatientCloudFolder\"},{\"name\":\"files\",\"kind\":\"object\",\"type\":\"CloudFile\",\"relationName\":\"CloudFileToCloudFolder\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"CloudFile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mimeType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fileSize\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"folderId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"isComplete\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"totalChunks\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"diskPath\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CloudFileToUser\"},{\"name\":\"folder\",\"kind\":\"object\",\"type\":\"CloudFolder\",\"relationName\":\"CloudFileToCloudFolder\"},{\"name\":\"chunks\",\"kind\":\"object\",\"type\":\"CloudFileChunk\",\"relationName\":\"CloudFileToCloudFileChunk\"}],\"dbName\":null},\"CloudFileChunk\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"fileId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"seq\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"data\",\"kind\":\"scalar\",\"type\":\"Bytes\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"file\",\"kind\":\"object\",\"type\":\"CloudFile\",\"relationName\":\"CloudFileToCloudFileChunk\"}],\"dbName\":null},\"Communication\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"channel\",\"kind\":\"enum\",\"type\":\"CommunicationChannel\"},{\"name\":\"direction\",\"kind\":\"enum\",\"type\":\"CommunicationDirection\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"CommunicationStatus\"},{\"name\":\"body\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"callDuration\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"twilioSid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"CommunicationToPatient\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CommunicationToUser\"}],\"dbName\":\"communications\"},\"PatientDocument\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"filename\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"originalName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mimeType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fileSize\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"filePath\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"uploadedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"PatientToPatientDocument\"}],\"dbName\":null},\"TwilioSettings\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"accountSid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"authToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phoneNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"greetingMessage\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"templates\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TwilioSettingsToUser\"}],\"dbName\":\"twilio_settings\"},\"AiSettings\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"apiKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"aiEnabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"openAiKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"openAiEnabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"claudeAiKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"claudeAiEnabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"claudeAiModel\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"openAiModel\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"googleAiModel\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"dentalMgmtKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"dentalMgmtEnabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"afterHoursEnabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"openPhoneReply\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AiSettingsToUser\"}],\"dbName\":\"ai_settings\"},\"OfficeHours\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"data\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OfficeHoursToUser\"}],\"dbName\":\"office_hours\"},\"OfficeContact\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"officeName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"receptionistName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"dentistName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phoneNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fax\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"streetAddress\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"city\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"state\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zipCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OfficeContactToUser\"}],\"dbName\":\"office_contact\"},\"InsuranceContact\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phoneNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"InsuranceContactToUser\"}],\"dbName\":\"insurance_contact\"},\"ProcedureTimeslot\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"data\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ProcedureTimeslotToUser\"}],\"dbName\":\"procedure_timeslot\"},\"PatientConversation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"stage\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"aiHandoff\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"PatientToPatientConversation\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PatientConversationToUser\"}],\"dbName\":\"patient_conversation\"},\"CommissionBatch\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"npiProviderId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"totalCollection\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"commissionAmount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"npiProvider\",\"kind\":\"object\",\"type\":\"NpiProvider\",\"relationName\":\"CommissionBatchToNpiProvider\"},{\"name\":\"items\",\"kind\":\"object\",\"type\":\"CommissionBatchItem\",\"relationName\":\"CommissionBatchToCommissionBatchItem\"}],\"dbName\":null},\"CommissionBatchItem\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"commissionBatchId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"paymentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"collectionAmount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"commissionBatch\",\"kind\":\"object\",\"type\":\"CommissionBatch\",\"relationName\":\"CommissionBatchToCommissionBatchItem\"},{\"name\":\"payment\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"CommissionBatchItemToPayment\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}")
defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
config.parameterizationSchema = {
  strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"user\",\"patient\",\"appointments\",\"appointment\",\"staff\",\"claims\",\"claim\",\"updatedBy\",\"npiProvider\",\"payment\",\"serviceLineTransactions\",\"_count\",\"serviceLine\",\"serviceLines\",\"items\",\"commissionBatch\",\"commissionBatchItems\",\"payments\",\"commissionBatches\",\"appointmentProcedures\",\"claimFiles\",\"procedures\",\"files\",\"group\",\"pdfs\",\"groups\",\"communications\",\"documents\",\"conversation\",\"parent\",\"children\",\"folder\",\"file\",\"chunks\",\"cloudFolders\",\"patients\",\"npiProviders\",\"insuranceCredentials\",\"shoppingVendors\",\"updatedPayments\",\"backups\",\"backupDestinations\",\"notifications\",\"cloudFiles\",\"twilioSettings\",\"aiSettings\",\"officeHours\",\"officeContact\",\"procedureTimeslot\",\"insuranceContacts\",\"patientConversations\",\"User.findUnique\",\"User.findUniqueOrThrow\",\"User.findFirst\",\"User.findFirstOrThrow\",\"User.findMany\",\"data\",\"User.createOne\",\"User.createMany\",\"User.createManyAndReturn\",\"User.updateOne\",\"User.updateMany\",\"User.updateManyAndReturn\",\"create\",\"update\",\"User.upsertOne\",\"User.deleteOne\",\"User.deleteMany\",\"having\",\"_avg\",\"_sum\",\"_min\",\"_max\",\"User.groupBy\",\"User.aggregate\",\"Patient.findUnique\",\"Patient.findUniqueOrThrow\",\"Patient.findFirst\",\"Patient.findFirstOrThrow\",\"Patient.findMany\",\"Patient.createOne\",\"Patient.createMany\",\"Patient.createManyAndReturn\",\"Patient.updateOne\",\"Patient.updateMany\",\"Patient.updateManyAndReturn\",\"Patient.upsertOne\",\"Patient.deleteOne\",\"Patient.deleteMany\",\"Patient.groupBy\",\"Patient.aggregate\",\"Appointment.findUnique\",\"Appointment.findUniqueOrThrow\",\"Appointment.findFirst\",\"Appointment.findFirstOrThrow\",\"Appointment.findMany\",\"Appointment.createOne\",\"Appointment.createMany\",\"Appointment.createManyAndReturn\",\"Appointment.updateOne\",\"Appointment.updateMany\",\"Appointment.updateManyAndReturn\",\"Appointment.upsertOne\",\"Appointment.deleteOne\",\"Appointment.deleteMany\",\"Appointment.groupBy\",\"Appointment.aggregate\",\"AppointmentFile.findUnique\",\"AppointmentFile.findUniqueOrThrow\",\"AppointmentFile.findFirst\",\"AppointmentFile.findFirstOrThrow\",\"AppointmentFile.findMany\",\"AppointmentFile.createOne\",\"AppointmentFile.createMany\",\"AppointmentFile.createManyAndReturn\",\"AppointmentFile.updateOne\",\"AppointmentFile.updateMany\",\"AppointmentFile.updateManyAndReturn\",\"AppointmentFile.upsertOne\",\"AppointmentFile.deleteOne\",\"AppointmentFile.deleteMany\",\"AppointmentFile.groupBy\",\"AppointmentFile.aggregate\",\"Staff.findUnique\",\"Staff.findUniqueOrThrow\",\"Staff.findFirst\",\"Staff.findFirstOrThrow\",\"Staff.findMany\",\"Staff.createOne\",\"Staff.createMany\",\"Staff.createManyAndReturn\",\"Staff.updateOne\",\"Staff.updateMany\",\"Staff.updateManyAndReturn\",\"Staff.upsertOne\",\"Staff.deleteOne\",\"Staff.deleteMany\",\"Staff.groupBy\",\"Staff.aggregate\",\"NpiProvider.findUnique\",\"NpiProvider.findUniqueOrThrow\",\"NpiProvider.findFirst\",\"NpiProvider.findFirstOrThrow\",\"NpiProvider.findMany\",\"NpiProvider.createOne\",\"NpiProvider.createMany\",\"NpiProvider.createManyAndReturn\",\"NpiProvider.updateOne\",\"NpiProvider.updateMany\",\"NpiProvider.updateManyAndReturn\",\"NpiProvider.upsertOne\",\"NpiProvider.deleteOne\",\"NpiProvider.deleteMany\",\"NpiProvider.groupBy\",\"NpiProvider.aggregate\",\"AppointmentProcedure.findUnique\",\"AppointmentProcedure.findUniqueOrThrow\",\"AppointmentProcedure.findFirst\",\"AppointmentProcedure.findFirstOrThrow\",\"AppointmentProcedure.findMany\",\"AppointmentProcedure.createOne\",\"AppointmentProcedure.createMany\",\"AppointmentProcedure.createManyAndReturn\",\"AppointmentProcedure.updateOne\",\"AppointmentProcedure.updateMany\",\"AppointmentProcedure.updateManyAndReturn\",\"AppointmentProcedure.upsertOne\",\"AppointmentProcedure.deleteOne\",\"AppointmentProcedure.deleteMany\",\"AppointmentProcedure.groupBy\",\"AppointmentProcedure.aggregate\",\"Claim.findUnique\",\"Claim.findUniqueOrThrow\",\"Claim.findFirst\",\"Claim.findFirstOrThrow\",\"Claim.findMany\",\"Claim.createOne\",\"Claim.createMany\",\"Claim.createManyAndReturn\",\"Claim.updateOne\",\"Claim.updateMany\",\"Claim.updateManyAndReturn\",\"Claim.upsertOne\",\"Claim.deleteOne\",\"Claim.deleteMany\",\"Claim.groupBy\",\"Claim.aggregate\",\"ServiceLine.findUnique\",\"ServiceLine.findUniqueOrThrow\",\"ServiceLine.findFirst\",\"ServiceLine.findFirstOrThrow\",\"ServiceLine.findMany\",\"ServiceLine.createOne\",\"ServiceLine.createMany\",\"ServiceLine.createManyAndReturn\",\"ServiceLine.updateOne\",\"ServiceLine.updateMany\",\"ServiceLine.updateManyAndReturn\",\"ServiceLine.upsertOne\",\"ServiceLine.deleteOne\",\"ServiceLine.deleteMany\",\"ServiceLine.groupBy\",\"ServiceLine.aggregate\",\"ClaimFile.findUnique\",\"ClaimFile.findUniqueOrThrow\",\"ClaimFile.findFirst\",\"ClaimFile.findFirstOrThrow\",\"ClaimFile.findMany\",\"ClaimFile.createOne\",\"ClaimFile.createMany\",\"ClaimFile.createManyAndReturn\",\"ClaimFile.updateOne\",\"ClaimFile.updateMany\",\"ClaimFile.updateManyAndReturn\",\"ClaimFile.upsertOne\",\"ClaimFile.deleteOne\",\"ClaimFile.deleteMany\",\"ClaimFile.groupBy\",\"ClaimFile.aggregate\",\"InsuranceCredential.findUnique\",\"InsuranceCredential.findUniqueOrThrow\",\"InsuranceCredential.findFirst\",\"InsuranceCredential.findFirstOrThrow\",\"InsuranceCredential.findMany\",\"InsuranceCredential.createOne\",\"InsuranceCredential.createMany\",\"InsuranceCredential.createManyAndReturn\",\"InsuranceCredential.updateOne\",\"InsuranceCredential.updateMany\",\"InsuranceCredential.updateManyAndReturn\",\"InsuranceCredential.upsertOne\",\"InsuranceCredential.deleteOne\",\"InsuranceCredential.deleteMany\",\"InsuranceCredential.groupBy\",\"InsuranceCredential.aggregate\",\"ShoppingVendor.findUnique\",\"ShoppingVendor.findUniqueOrThrow\",\"ShoppingVendor.findFirst\",\"ShoppingVendor.findFirstOrThrow\",\"ShoppingVendor.findMany\",\"ShoppingVendor.createOne\",\"ShoppingVendor.createMany\",\"ShoppingVendor.createManyAndReturn\",\"ShoppingVendor.updateOne\",\"ShoppingVendor.updateMany\",\"ShoppingVendor.updateManyAndReturn\",\"ShoppingVendor.upsertOne\",\"ShoppingVendor.deleteOne\",\"ShoppingVendor.deleteMany\",\"ShoppingVendor.groupBy\",\"ShoppingVendor.aggregate\",\"PdfGroup.findUnique\",\"PdfGroup.findUniqueOrThrow\",\"PdfGroup.findFirst\",\"PdfGroup.findFirstOrThrow\",\"PdfGroup.findMany\",\"PdfGroup.createOne\",\"PdfGroup.createMany\",\"PdfGroup.createManyAndReturn\",\"PdfGroup.updateOne\",\"PdfGroup.updateMany\",\"PdfGroup.updateManyAndReturn\",\"PdfGroup.upsertOne\",\"PdfGroup.deleteOne\",\"PdfGroup.deleteMany\",\"PdfGroup.groupBy\",\"PdfGroup.aggregate\",\"PdfFile.findUnique\",\"PdfFile.findUniqueOrThrow\",\"PdfFile.findFirst\",\"PdfFile.findFirstOrThrow\",\"PdfFile.findMany\",\"PdfFile.createOne\",\"PdfFile.createMany\",\"PdfFile.createManyAndReturn\",\"PdfFile.updateOne\",\"PdfFile.updateMany\",\"PdfFile.updateManyAndReturn\",\"PdfFile.upsertOne\",\"PdfFile.deleteOne\",\"PdfFile.deleteMany\",\"PdfFile.groupBy\",\"PdfFile.aggregate\",\"Payment.findUnique\",\"Payment.findUniqueOrThrow\",\"Payment.findFirst\",\"Payment.findFirstOrThrow\",\"Payment.findMany\",\"Payment.createOne\",\"Payment.createMany\",\"Payment.createManyAndReturn\",\"Payment.updateOne\",\"Payment.updateMany\",\"Payment.updateManyAndReturn\",\"Payment.upsertOne\",\"Payment.deleteOne\",\"Payment.deleteMany\",\"Payment.groupBy\",\"Payment.aggregate\",\"ServiceLineTransaction.findUnique\",\"ServiceLineTransaction.findUniqueOrThrow\",\"ServiceLineTransaction.findFirst\",\"ServiceLineTransaction.findFirstOrThrow\",\"ServiceLineTransaction.findMany\",\"ServiceLineTransaction.createOne\",\"ServiceLineTransaction.createMany\",\"ServiceLineTransaction.createManyAndReturn\",\"ServiceLineTransaction.updateOne\",\"ServiceLineTransaction.updateMany\",\"ServiceLineTransaction.updateManyAndReturn\",\"ServiceLineTransaction.upsertOne\",\"ServiceLineTransaction.deleteOne\",\"ServiceLineTransaction.deleteMany\",\"ServiceLineTransaction.groupBy\",\"ServiceLineTransaction.aggregate\",\"DatabaseBackup.findUnique\",\"DatabaseBackup.findUniqueOrThrow\",\"DatabaseBackup.findFirst\",\"DatabaseBackup.findFirstOrThrow\",\"DatabaseBackup.findMany\",\"DatabaseBackup.createOne\",\"DatabaseBackup.createMany\",\"DatabaseBackup.createManyAndReturn\",\"DatabaseBackup.updateOne\",\"DatabaseBackup.updateMany\",\"DatabaseBackup.updateManyAndReturn\",\"DatabaseBackup.upsertOne\",\"DatabaseBackup.deleteOne\",\"DatabaseBackup.deleteMany\",\"DatabaseBackup.groupBy\",\"DatabaseBackup.aggregate\",\"BackupDestination.findUnique\",\"BackupDestination.findUniqueOrThrow\",\"BackupDestination.findFirst\",\"BackupDestination.findFirstOrThrow\",\"BackupDestination.findMany\",\"BackupDestination.createOne\",\"BackupDestination.createMany\",\"BackupDestination.createManyAndReturn\",\"BackupDestination.updateOne\",\"BackupDestination.updateMany\",\"BackupDestination.updateManyAndReturn\",\"BackupDestination.upsertOne\",\"BackupDestination.deleteOne\",\"BackupDestination.deleteMany\",\"BackupDestination.groupBy\",\"BackupDestination.aggregate\",\"Notification.findUnique\",\"Notification.findUniqueOrThrow\",\"Notification.findFirst\",\"Notification.findFirstOrThrow\",\"Notification.findMany\",\"Notification.createOne\",\"Notification.createMany\",\"Notification.createManyAndReturn\",\"Notification.updateOne\",\"Notification.updateMany\",\"Notification.updateManyAndReturn\",\"Notification.upsertOne\",\"Notification.deleteOne\",\"Notification.deleteMany\",\"Notification.groupBy\",\"Notification.aggregate\",\"CronJobLog.findUnique\",\"CronJobLog.findUniqueOrThrow\",\"CronJobLog.findFirst\",\"CronJobLog.findFirstOrThrow\",\"CronJobLog.findMany\",\"CronJobLog.createOne\",\"CronJobLog.createMany\",\"CronJobLog.createManyAndReturn\",\"CronJobLog.updateOne\",\"CronJobLog.updateMany\",\"CronJobLog.updateManyAndReturn\",\"CronJobLog.upsertOne\",\"CronJobLog.deleteOne\",\"CronJobLog.deleteMany\",\"CronJobLog.groupBy\",\"CronJobLog.aggregate\",\"CloudFolder.findUnique\",\"CloudFolder.findUniqueOrThrow\",\"CloudFolder.findFirst\",\"CloudFolder.findFirstOrThrow\",\"CloudFolder.findMany\",\"CloudFolder.createOne\",\"CloudFolder.createMany\",\"CloudFolder.createManyAndReturn\",\"CloudFolder.updateOne\",\"CloudFolder.updateMany\",\"CloudFolder.updateManyAndReturn\",\"CloudFolder.upsertOne\",\"CloudFolder.deleteOne\",\"CloudFolder.deleteMany\",\"CloudFolder.groupBy\",\"CloudFolder.aggregate\",\"CloudFile.findUnique\",\"CloudFile.findUniqueOrThrow\",\"CloudFile.findFirst\",\"CloudFile.findFirstOrThrow\",\"CloudFile.findMany\",\"CloudFile.createOne\",\"CloudFile.createMany\",\"CloudFile.createManyAndReturn\",\"CloudFile.updateOne\",\"CloudFile.updateMany\",\"CloudFile.updateManyAndReturn\",\"CloudFile.upsertOne\",\"CloudFile.deleteOne\",\"CloudFile.deleteMany\",\"CloudFile.groupBy\",\"CloudFile.aggregate\",\"CloudFileChunk.findUnique\",\"CloudFileChunk.findUniqueOrThrow\",\"CloudFileChunk.findFirst\",\"CloudFileChunk.findFirstOrThrow\",\"CloudFileChunk.findMany\",\"CloudFileChunk.createOne\",\"CloudFileChunk.createMany\",\"CloudFileChunk.createManyAndReturn\",\"CloudFileChunk.updateOne\",\"CloudFileChunk.updateMany\",\"CloudFileChunk.updateManyAndReturn\",\"CloudFileChunk.upsertOne\",\"CloudFileChunk.deleteOne\",\"CloudFileChunk.deleteMany\",\"CloudFileChunk.groupBy\",\"CloudFileChunk.aggregate\",\"Communication.findUnique\",\"Communication.findUniqueOrThrow\",\"Communication.findFirst\",\"Communication.findFirstOrThrow\",\"Communication.findMany\",\"Communication.createOne\",\"Communication.createMany\",\"Communication.createManyAndReturn\",\"Communication.updateOne\",\"Communication.updateMany\",\"Communication.updateManyAndReturn\",\"Communication.upsertOne\",\"Communication.deleteOne\",\"Communication.deleteMany\",\"Communication.groupBy\",\"Communication.aggregate\",\"PatientDocument.findUnique\",\"PatientDocument.findUniqueOrThrow\",\"PatientDocument.findFirst\",\"PatientDocument.findFirstOrThrow\",\"PatientDocument.findMany\",\"PatientDocument.createOne\",\"PatientDocument.createMany\",\"PatientDocument.createManyAndReturn\",\"PatientDocument.updateOne\",\"PatientDocument.updateMany\",\"PatientDocument.updateManyAndReturn\",\"PatientDocument.upsertOne\",\"PatientDocument.deleteOne\",\"PatientDocument.deleteMany\",\"PatientDocument.groupBy\",\"PatientDocument.aggregate\",\"TwilioSettings.findUnique\",\"TwilioSettings.findUniqueOrThrow\",\"TwilioSettings.findFirst\",\"TwilioSettings.findFirstOrThrow\",\"TwilioSettings.findMany\",\"TwilioSettings.createOne\",\"TwilioSettings.createMany\",\"TwilioSettings.createManyAndReturn\",\"TwilioSettings.updateOne\",\"TwilioSettings.updateMany\",\"TwilioSettings.updateManyAndReturn\",\"TwilioSettings.upsertOne\",\"TwilioSettings.deleteOne\",\"TwilioSettings.deleteMany\",\"TwilioSettings.groupBy\",\"TwilioSettings.aggregate\",\"AiSettings.findUnique\",\"AiSettings.findUniqueOrThrow\",\"AiSettings.findFirst\",\"AiSettings.findFirstOrThrow\",\"AiSettings.findMany\",\"AiSettings.createOne\",\"AiSettings.createMany\",\"AiSettings.createManyAndReturn\",\"AiSettings.updateOne\",\"AiSettings.updateMany\",\"AiSettings.updateManyAndReturn\",\"AiSettings.upsertOne\",\"AiSettings.deleteOne\",\"AiSettings.deleteMany\",\"AiSettings.groupBy\",\"AiSettings.aggregate\",\"OfficeHours.findUnique\",\"OfficeHours.findUniqueOrThrow\",\"OfficeHours.findFirst\",\"OfficeHours.findFirstOrThrow\",\"OfficeHours.findMany\",\"OfficeHours.createOne\",\"OfficeHours.createMany\",\"OfficeHours.createManyAndReturn\",\"OfficeHours.updateOne\",\"OfficeHours.updateMany\",\"OfficeHours.updateManyAndReturn\",\"OfficeHours.upsertOne\",\"OfficeHours.deleteOne\",\"OfficeHours.deleteMany\",\"OfficeHours.groupBy\",\"OfficeHours.aggregate\",\"OfficeContact.findUnique\",\"OfficeContact.findUniqueOrThrow\",\"OfficeContact.findFirst\",\"OfficeContact.findFirstOrThrow\",\"OfficeContact.findMany\",\"OfficeContact.createOne\",\"OfficeContact.createMany\",\"OfficeContact.createManyAndReturn\",\"OfficeContact.updateOne\",\"OfficeContact.updateMany\",\"OfficeContact.updateManyAndReturn\",\"OfficeContact.upsertOne\",\"OfficeContact.deleteOne\",\"OfficeContact.deleteMany\",\"OfficeContact.groupBy\",\"OfficeContact.aggregate\",\"InsuranceContact.findUnique\",\"InsuranceContact.findUniqueOrThrow\",\"InsuranceContact.findFirst\",\"InsuranceContact.findFirstOrThrow\",\"InsuranceContact.findMany\",\"InsuranceContact.createOne\",\"InsuranceContact.createMany\",\"InsuranceContact.createManyAndReturn\",\"InsuranceContact.updateOne\",\"InsuranceContact.updateMany\",\"InsuranceContact.updateManyAndReturn\",\"InsuranceContact.upsertOne\",\"InsuranceContact.deleteOne\",\"InsuranceContact.deleteMany\",\"InsuranceContact.groupBy\",\"InsuranceContact.aggregate\",\"ProcedureTimeslot.findUnique\",\"ProcedureTimeslot.findUniqueOrThrow\",\"ProcedureTimeslot.findFirst\",\"ProcedureTimeslot.findFirstOrThrow\",\"ProcedureTimeslot.findMany\",\"ProcedureTimeslot.createOne\",\"ProcedureTimeslot.createMany\",\"ProcedureTimeslot.createManyAndReturn\",\"ProcedureTimeslot.updateOne\",\"ProcedureTimeslot.updateMany\",\"ProcedureTimeslot.updateManyAndReturn\",\"ProcedureTimeslot.upsertOne\",\"ProcedureTimeslot.deleteOne\",\"ProcedureTimeslot.deleteMany\",\"ProcedureTimeslot.groupBy\",\"ProcedureTimeslot.aggregate\",\"PatientConversation.findUnique\",\"PatientConversation.findUniqueOrThrow\",\"PatientConversation.findFirst\",\"PatientConversation.findFirstOrThrow\",\"PatientConversation.findMany\",\"PatientConversation.createOne\",\"PatientConversation.createMany\",\"PatientConversation.createManyAndReturn\",\"PatientConversation.updateOne\",\"PatientConversation.updateMany\",\"PatientConversation.updateManyAndReturn\",\"PatientConversation.upsertOne\",\"PatientConversation.deleteOne\",\"PatientConversation.deleteMany\",\"PatientConversation.groupBy\",\"PatientConversation.aggregate\",\"CommissionBatch.findUnique\",\"CommissionBatch.findUniqueOrThrow\",\"CommissionBatch.findFirst\",\"CommissionBatch.findFirstOrThrow\",\"CommissionBatch.findMany\",\"CommissionBatch.createOne\",\"CommissionBatch.createMany\",\"CommissionBatch.createManyAndReturn\",\"CommissionBatch.updateOne\",\"CommissionBatch.updateMany\",\"CommissionBatch.updateManyAndReturn\",\"CommissionBatch.upsertOne\",\"CommissionBatch.deleteOne\",\"CommissionBatch.deleteMany\",\"CommissionBatch.groupBy\",\"CommissionBatch.aggregate\",\"CommissionBatchItem.findUnique\",\"CommissionBatchItem.findUniqueOrThrow\",\"CommissionBatchItem.findFirst\",\"CommissionBatchItem.findFirstOrThrow\",\"CommissionBatchItem.findMany\",\"CommissionBatchItem.createOne\",\"CommissionBatchItem.createMany\",\"CommissionBatchItem.createManyAndReturn\",\"CommissionBatchItem.updateOne\",\"CommissionBatchItem.updateMany\",\"CommissionBatchItem.updateManyAndReturn\",\"CommissionBatchItem.upsertOne\",\"CommissionBatchItem.deleteOne\",\"CommissionBatchItem.deleteMany\",\"CommissionBatchItem.groupBy\",\"CommissionBatchItem.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"commissionBatchId\",\"paymentId\",\"collectionAmount\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"npiProviderId\",\"totalCollection\",\"commissionAmount\",\"notes\",\"createdAt\",\"contains\",\"startsWith\",\"endsWith\",\"patientId\",\"userId\",\"stage\",\"aiHandoff\",\"updatedAt\",\"string_contains\",\"string_starts_with\",\"string_ends_with\",\"array_starts_with\",\"array_ends_with\",\"array_contains\",\"name\",\"phoneNumber\",\"officeName\",\"receptionistName\",\"dentistName\",\"email\",\"fax\",\"streetAddress\",\"city\",\"state\",\"zipCode\",\"apiKey\",\"aiEnabled\",\"openAiKey\",\"openAiEnabled\",\"claudeAiKey\",\"claudeAiEnabled\",\"claudeAiModel\",\"openAiModel\",\"googleAiModel\",\"dentalMgmtKey\",\"dentalMgmtEnabled\",\"afterHoursEnabled\",\"openPhoneReply\",\"accountSid\",\"authToken\",\"greetingMessage\",\"templates\",\"filename\",\"originalName\",\"mimeType\",\"fileSize\",\"filePath\",\"uploadedAt\",\"CommunicationChannel\",\"channel\",\"CommunicationDirection\",\"direction\",\"CommunicationStatus\",\"status\",\"body\",\"callDuration\",\"twilioSid\",\"fileId\",\"seq\",\"folderId\",\"isComplete\",\"totalChunks\",\"diskPath\",\"parentId\",\"jobName\",\"startedAt\",\"completedAt\",\"durationMs\",\"errorMessage\",\"NotificationTypes\",\"type\",\"message\",\"read\",\"path\",\"isActive\",\"serviceLineId\",\"transactionId\",\"paidAmount\",\"adjustedAmount\",\"PaymentMethod\",\"method\",\"receivedDate\",\"payerName\",\"claimId\",\"updatedById\",\"totalBilled\",\"totalPaid\",\"totalAdjusted\",\"totalDue\",\"mhPaidAmount\",\"copayment\",\"adjustment\",\"PaymentStatus\",\"icn\",\"pdfData\",\"groupId\",\"title\",\"PdfTitleKey\",\"titleKey\",\"vendorName\",\"websiteUrl\",\"loginUsername\",\"loginPassword\",\"siteKey\",\"username\",\"password\",\"procedureCode\",\"procedureDate\",\"quad\",\"arch\",\"toothNumber\",\"toothSurface\",\"paidCode\",\"allowedAmount\",\"ServiceLineStatus\",\"appointmentId\",\"staffId\",\"patientName\",\"memberId\",\"dateOfBirth\",\"remarks\",\"MissingTeethStatus\",\"missingTeethStatus\",\"missingTeeth\",\"serviceDate\",\"insuranceProvider\",\"ClaimStatus\",\"claimNumber\",\"preAuthNumber\",\"procedureLabel\",\"fee\",\"category\",\"oralCavityArea\",\"ProcedureSource\",\"source\",\"comboKey\",\"npiNumber\",\"providerName\",\"sortOrder\",\"role\",\"phone\",\"date\",\"startTime\",\"endTime\",\"typeLocked\",\"procedureCodeNotes\",\"movedByAi\",\"PatientStatus\",\"eligibilityStatus\",\"firstName\",\"lastName\",\"gender\",\"address\",\"insuranceId\",\"groupNumber\",\"policyHolder\",\"allergies\",\"medicalConditions\",\"preferredLanguage\",\"autoBackupEnabled\",\"usbBackupEnabled\",\"userId_siteKey\",\"userId_npiNumber\",\"every\",\"some\",\"none\",\"fileId_seq\",\"userId_parentId_name\",\"commissionBatchId_paymentId\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"),
  graph: "[encoded data, 168894 characters]"
}
config.compilerWasm = {
  getRuntime: async () => require('./query_compiler_fast_bg.js'),
  getQueryCompilerWasmModule: async () => {
    const loader = (await import('#wasm-compiler-loader')).default
    const compiler = (await loader).default
    return compiler
  },
  importName: './query_compiler_fast_bg.js',
}
if (typeof globalThis !== 'undefined' && globalThis['DEBUG'] || (typeof process !== 'undefined' && process.env && process.env.DEBUG) || undefined) {
  Debug.enable(typeof globalThis !== 'undefined' && globalThis['DEBUG'] || (typeof process !== 'undefined' && process.env && process.env.DEBUG) || undefined)
}

const PrismaClient = getPrismaClient(config)
exports.PrismaClient = PrismaClient
Object.assign(exports, Prisma)
