feat: add provider column, commission tracking, and report provider filter

- Claims & Payments: save npiProviderId when submitting MH claim; sync between claim and payment on update
- Claims table: add Provider column showing rendering provider name
- Payments table: add Provider column + purple Commissioned badge on status
- Claim edit modal: add Rendering Provider dropdown (defaults to Mary Scannell)
- Payment edit modal: add Rendering Provider dropdown + Commissioned metadata display
- Reports page: add Provider filter dropdown (dynamic from NPI providers settings)
- Reports page: remove Collections by Doctor report type and Select Doctor dropdown
- Commission section: new section in reports page with date range + provider filter, shows eligible paid claims/payments per provider, multi-select checkboxes, Pay Commission modal with print + save, marks payments as commissioned so they are excluded from future cycles
- DB: add CommissionBatch and CommissionBatchItem tables; backfill Payment.npiProviderId from linked claims
- Backend: PATCH /api/payments/:id/provider syncs to linked claim; PUT /api/claims/:id syncs to linked payment; new /api/commissions routes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Gitead
2026-05-15 23:51:39 -04:00
parent 25a20e8a16
commit 7360b1930b
366 changed files with 10822 additions and 388 deletions

View File

@@ -1063,6 +1063,16 @@ router.put("/:id", async (req: Request, res: Response): Promise<any> => {
...(req.body.npiProviderId ? { npiProviderId: Number(req.body.npiProviderId) } : {}),
});
const updatedClaim = await storage.updateClaim(claimId, claimData);
// Propagate provider change to the linked payment so both stay in sync
if (req.body.npiProviderId) {
const { prisma: db } = await import("@repo/db/client");
await db.payment.updateMany({
where: { claimId },
data: { npiProviderId: Number(req.body.npiProviderId) },
});
}
res.json(updatedClaim);
} catch (error) {
if (error instanceof z.ZodError) {

View File

@@ -0,0 +1,81 @@
import { Router } from "express";
import type { Request, Response } from "express";
import { storage } from "../storage";
const router = Router();
/** GET /api/commissions/eligible
* Query: npiProviderId (required), from?, to?
*/
router.get("/eligible", async (req: Request, res: Response): Promise<any> => {
try {
const npiProviderId = Number(req.query.npiProviderId);
if (!npiProviderId || !Number.isFinite(npiProviderId)) {
return res.status(400).json({ message: "npiProviderId is required" });
}
const from = req.query.from ? new Date(String(req.query.from)) : null;
const to = req.query.to ? new Date(String(req.query.to)) : null;
if (req.query.from && isNaN(from!.getTime()))
return res.status(400).json({ message: "Invalid 'from' date" });
if (req.query.to && isNaN(to!.getTime()))
return res.status(400).json({ message: "Invalid 'to' date" });
const payments = await storage.getEligiblePayments(npiProviderId, from, to);
return res.json(payments);
} catch (err: any) {
console.error("GET /api/commissions/eligible error:", err);
return res.status(500).json({ message: err?.message ?? "Failed to fetch eligible payments" });
}
});
/** GET /api/commissions/batches
* Query: npiProviderId? (optional filter)
*/
router.get("/batches", async (req: Request, res: Response): Promise<any> => {
try {
const npiProviderId = req.query.npiProviderId
? Number(req.query.npiProviderId)
: undefined;
const batches = await storage.getCommissionBatches(npiProviderId);
return res.json(batches);
} catch (err: any) {
console.error("GET /api/commissions/batches error:", err);
return res.status(500).json({ message: err?.message ?? "Failed to fetch commission batches" });
}
});
/** POST /api/commissions
* Body: { npiProviderId, paymentIds[], totalCollection, commissionAmount, notes? }
*/
router.post("/", async (req: Request, res: Response): Promise<any> => {
try {
const userId = req.user?.id;
if (!userId) return res.status(401).json({ message: "Unauthorized" });
const { npiProviderId, paymentIds, totalCollection, commissionAmount, notes } = req.body;
if (!npiProviderId || !Array.isArray(paymentIds) || paymentIds.length === 0) {
return res.status(400).json({ message: "npiProviderId and at least one paymentId are required" });
}
if (typeof totalCollection !== "number" || typeof commissionAmount !== "number") {
return res.status(400).json({ message: "totalCollection and commissionAmount must be numbers" });
}
const batch = await storage.createCommissionBatch({
npiProviderId: Number(npiProviderId),
paymentIds: paymentIds.map(Number),
totalCollection,
commissionAmount,
notes: notes ?? undefined,
});
return res.status(201).json(batch);
} catch (err: any) {
console.error("POST /api/commissions error:", err);
return res.status(500).json({ message: err?.message ?? "Failed to create commission batch" });
}
});
export default router;

View File

@@ -31,6 +31,7 @@ import officeHoursRoutes from "./office-hours";
import officeContactRoutes from "./office-contact";
import procedureTimeslotRoutes from "./procedure-timeslot";
import insuranceContactsRoutes from "./insurance-contacts";
import commissionsRoutes from "./commissions";
const router = Router();
@@ -66,5 +67,6 @@ router.use("/office-hours", officeHoursRoutes);
router.use("/office-contact", officeContactRoutes);
router.use("/procedure-timeslot", procedureTimeslotRoutes);
router.use("/insurance-contacts", insuranceContactsRoutes);
router.use("/commissions", commissionsRoutes);
export default router;

View File

@@ -17,8 +17,11 @@ router.get("/summary", async (req: Request, res: Response): Promise<any> => {
if (req.query.to && isNaN(to?.getTime() ?? NaN))
return res.status(400).json({ message: "Invalid 'to' date" });
const summary = await storage.getSummary(from, to);
res.json(summary);
const npiProviderId = req.query.npiProviderId
? Number(req.query.npiProviderId)
: null;
const summary = await storage.getSummary(from, to, npiProviderId);
} catch (err: any) {
console.error(
"GET /api/payments-reports/summary error:",
@@ -60,11 +63,16 @@ router.get(
return res.status(400).json({ message: "Invalid 'to' date" });
}
const npiProviderId = req.query.npiProviderId
? Number(req.query.npiProviderId)
: null;
const data = await storage.getPatientsWithBalances(
limit,
cursor,
from,
to
to,
npiProviderId
);
// returns { balances, totalCount, nextCursor, hasMore }
res.json(data);
@@ -126,13 +134,18 @@ router.get(
return res.status(400).json({ message: "Invalid 'to' date" });
}
const npiProviderId = req.query.npiProviderId
? Number(req.query.npiProviderId)
: null;
// use the new storage method that returns only the paged balances
const balancesResult = await storage.getPatientsBalancesByDoctor(
staffId,
limit,
cursor,
from,
to
to,
npiProviderId
);
res.json({
@@ -192,8 +205,12 @@ router.get(
return res.status(400).json({ message: "Invalid 'to' date" });
}
const npiProviderId = req.query.npiProviderId
? Number(req.query.npiProviderId)
: null;
// use the new storage method that returns only the summary for the staff
const summary = await storage.getSummaryByDoctor(staffId, from, to);
const summary = await storage.getSummaryByDoctor(staffId, from, to, npiProviderId);
res.json(summary);
} catch (err: any) {

View File

@@ -200,10 +200,17 @@ router.post("/:claimId", async (req: Request, res: Response): Promise<any> => {
const claimId = parseIntOrError(req.params.claimId, "Claim ID");
// Inherit npiProviderId from the linked claim so commission queries work
const linkedClaim = await prisma.claim.findUnique({
where: { id: claimId },
select: { npiProviderId: true },
});
const validated = insertPaymentSchema.safeParse({
...req.body,
claimId,
userId,
...(linkedClaim?.npiProviderId ? { npiProviderId: linkedClaim.npiProviderId } : {}),
});
if (!validated.success) {
@@ -427,6 +434,48 @@ router.patch(
}
);
// PATCH /api/payments/:id/provider
router.patch(
"/:id/provider",
async (req: Request, res: Response): Promise<any> => {
try {
const userId = req.user?.id;
if (!userId) return res.status(401).json({ message: "Unauthorized" });
const paymentId = parseIntOrError(req.params.id, "Payment ID");
const { npiProviderId } = req.body;
const existing = await storage.getPayment(paymentId);
if (!existing) return res.status(404).json({ message: "Payment not found" });
// Update payment and linked claim atomically so the claims form
// picks up the new provider when it prefills from the existing claim.
const ops: Parameters<typeof prisma.$transaction>[0] = [
prisma.payment.update({
where: { id: paymentId },
data: { npiProviderId: npiProviderId ?? null, updatedById: userId },
include: { npiProvider: true },
}),
];
if (existing.claimId) {
ops.push(
prisma.claim.update({
where: { id: existing.claimId },
data: { npiProviderId: npiProviderId ?? null },
}) as any
);
}
const [updated] = await prisma.$transaction(ops);
return res.json(updated);
} catch (err: unknown) {
const message = err instanceof Error ? err.message : "Failed to update provider";
return res.status(500).json({ message });
}
}
);
// PATCH /api/payments/:id/mh-paid-amount
router.patch(
"/:id/mh-paid-amount",

View File

@@ -46,6 +46,7 @@ export const claimsStorage: IStorage = {
serviceLines: true,
staff: true,
claimFiles: true,
npiProvider: true,
},
});
},
@@ -63,7 +64,7 @@ export const claimsStorage: IStorage = {
status: { notIn: ["CANCELLED"] },
},
orderBy: { createdAt: "desc" },
include: { serviceLines: true, claimFiles: true, staff: true },
include: { serviceLines: true, claimFiles: true, staff: true, npiProvider: true },
}) as Promise<ClaimWithServiceLines | null>;
},
@@ -79,7 +80,7 @@ export const claimsStorage: IStorage = {
orderBy: { createdAt: "desc" },
skip: offset,
take: limit,
include: { serviceLines: true, staff: true, claimFiles: true },
include: { serviceLines: true, staff: true, claimFiles: true, npiProvider: true },
});
},

View File

@@ -0,0 +1,193 @@
import { prisma as db } from "@repo/db/client";
export interface EligiblePaymentRow {
id: number;
claimNumber: string | null;
patientName: string;
serviceDate: Date | null;
mhPaidAmount: number;
copayment: number;
collectionAmount: number;
paymentDate: Date;
isOcr: boolean;
}
export interface CommissionBatchRecord {
id: number;
npiProviderId: number;
totalCollection: number;
commissionAmount: number;
notes: string | null;
createdAt: Date;
providerName: string;
itemCount: number;
}
export const commissionsStorage = {
/**
* Eligible payments for commission — two sources:
* 1. Claims owned by this provider (Claim.npiProviderId) whose linked payment
* has actual collection and has not been commissioned yet.
* 2. OCR / PDF-import payments that have no linked claim but carry the
* provider on Payment.npiProviderId directly.
*/
async getEligiblePayments(
npiProviderId: number,
from?: Date | null,
to?: Date | null
): Promise<EligiblePaymentRow[]> {
const dateFilter: any = {};
if (from) dateFilter.gte = from;
if (to) {
const toEnd = new Date(to);
toEnd.setUTCHours(23, 59, 59, 999);
dateFilter.lte = toEnd;
}
const hasDateFilter = Object.keys(dateFilter).length > 0;
// ── 1. Claim-centric: provider lives on the Claim ──────────────────────
const claimWhere: any = {
npiProviderId,
payment: {
is: {
commissionBatchItems: { none: {} },
OR: [{ mhPaidAmount: { gt: 0 } }, { copayment: { gt: 0 } }],
...(hasDateFilter ? { createdAt: dateFilter } : {}),
},
},
};
const claims = await db.claim.findMany({
where: claimWhere,
orderBy: { id: "desc" },
include: {
payment: {
select: { id: true, mhPaidAmount: true, copayment: true, createdAt: true, notes: true },
},
},
});
const rows: EligiblePaymentRow[] = claims
.filter((c) => c.payment !== null)
.map((c) => {
const p = c.payment!;
const mh = Number(p.mhPaidAmount ?? 0);
const co = Number(p.copayment ?? 0);
return {
id: p.id,
claimNumber: c.claimNumber ?? null,
patientName: c.patientName,
serviceDate: c.serviceDate,
mhPaidAmount: mh,
copayment: co,
collectionAmount: mh + co,
paymentDate: p.createdAt,
isOcr: false,
};
});
// ── 2. OCR / PDF payments — no claim, matched by Payment.npiProviderId ──
const ocrWhere: any = {
npiProviderId,
claimId: null,
commissionBatchItems: { none: {} },
OR: [{ mhPaidAmount: { gt: 0 } }, { copayment: { gt: 0 } }],
...(hasDateFilter ? { createdAt: dateFilter } : {}),
};
const ocrPayments = await db.payment.findMany({
where: ocrWhere,
orderBy: { createdAt: "desc" },
include: {
patient: { select: { firstName: true, lastName: true } },
},
});
for (const p of ocrPayments) {
const mh = Number(p.mhPaidAmount ?? 0);
const co = Number(p.copayment ?? 0);
const patientName =
`${p.patient?.firstName ?? ""} ${p.patient?.lastName ?? ""}`.trim() ||
"Unknown";
rows.push({
id: p.id,
claimNumber: null,
patientName,
serviceDate: null,
mhPaidAmount: mh,
copayment: co,
collectionAmount: mh + co,
paymentDate: p.createdAt,
isOcr: true,
});
}
// Sort combined list by most recent first
rows.sort((a, b) => b.paymentDate.getTime() - a.paymentDate.getTime());
return rows;
},
/** Create a commission batch, linking the selected payments */
async createCommissionBatch(data: {
npiProviderId: number;
paymentIds: number[];
totalCollection: number;
commissionAmount: number;
notes?: string;
}) {
// Verify none of the payments are already commissioned
const alreadyDone = await db.commissionBatchItem.count({
where: { paymentId: { in: data.paymentIds } },
});
if (alreadyDone > 0) {
throw new Error("One or more selected payments have already been commissioned.");
}
// Calculate collection amounts per payment
const payments = await db.payment.findMany({
where: { id: { in: data.paymentIds } },
select: { id: true, mhPaidAmount: true, copayment: true },
});
const batch = await db.commissionBatch.create({
data: {
npiProviderId: data.npiProviderId,
totalCollection: data.totalCollection,
commissionAmount: data.commissionAmount,
notes: data.notes ?? null,
items: {
create: payments.map((p) => ({
paymentId: p.id,
collectionAmount: Number(p.mhPaidAmount ?? 0) + Number(p.copayment ?? 0),
})),
},
},
include: { items: true, npiProvider: true },
});
return batch;
},
/** Past commission batches for a provider */
async getCommissionBatches(npiProviderId?: number): Promise<CommissionBatchRecord[]> {
const batches = await db.commissionBatch.findMany({
where: npiProviderId ? { npiProviderId } : undefined,
orderBy: { createdAt: "desc" },
include: {
npiProvider: { select: { providerName: true } },
_count: { select: { items: true } },
},
});
return batches.map((b) => ({
id: b.id,
npiProviderId: b.npiProviderId,
totalCollection: Number(b.totalCollection),
commissionAmount: Number(b.commissionAmount),
notes: b.notes,
createdAt: b.createdAt,
providerName: b.npiProvider.providerName,
itemCount: b._count.items,
}));
},
};

View File

@@ -23,6 +23,7 @@ import { officeHoursStorage } from "./office-hours-storage";
import { officeContactStorage } from "./office-contact-storage";
import { procedureTimeslotStorage } from "./procedure-timeslot-storage";
import { insuranceContactStorage } from "./insurance-contact-storage";
import { commissionsStorage } from "./commissions-storage";
export const storage = {
@@ -49,6 +50,7 @@ export const storage = {
...officeContactStorage,
...procedureTimeslotStorage,
...insuranceContactStorage,
...commissionsStorage,
};

View File

@@ -5,10 +5,10 @@ import {
} from "../../../../packages/db/types/payments-reports-types";
export interface IPaymentsReportsStorage {
// summary now returns an extra field patientsWithBalance
getSummary(
from?: Date | null,
to?: Date | null
to?: Date | null,
npiProviderId?: number | null
): Promise<{
totalPatients: number;
totalOutstanding: number;
@@ -16,44 +16,28 @@ export interface IPaymentsReportsStorage {
patientsWithBalance: number;
}>;
/**
* Cursor-based pagination:
* - limit: page size
* - cursorToken: base64(JSON) token for last-seen row (or null for first page)
* - from/to: optional date range filter applied to Payment."createdAt"
*/
getPatientsWithBalances(
limit: number,
cursorToken?: string | null,
from?: Date | null,
to?: Date | null
to?: Date | null,
npiProviderId?: number | null
): Promise<GetPatientBalancesResult>;
/**
* Returns the paginated patient balances for a specific staff (doctor).
* Same semantics / columns / ordering / cursor behavior as the previous combined function.
*
* - staffId required
* - limit: page size
* - cursorToken: optional base64 cursor (must have been produced for same staffId)
* - from/to: optional date range applied to Payment."createdAt"
*/
getPatientsBalancesByDoctor(
staffId: number,
limit: number,
cursorToken?: string | null,
from?: Date | null,
to?: Date | null
to?: Date | null,
npiProviderId?: number | null
): Promise<GetPatientBalancesResult>;
/**
* Returns only the summary object for the given staff (doctor).
* Same summary shape as getSummary(), but scoped to claims/payments associated with the given staffId.
*/
getSummaryByDoctor(
staffId: number,
from?: Date | null,
to?: Date | null
to?: Date | null,
npiProviderId?: number | null
): Promise<{
totalPatients: number;
totalOutstanding: number;
@@ -129,208 +113,72 @@ function decodeCursor(token?: string | null): {
}
export const paymentsReportsStorage: IPaymentsReportsStorage = {
async getSummary(from?: Date | null, to?: Date | null) {
async getSummary(from?: Date | null, to?: Date | null, npiProviderId?: number | null) {
try {
const hasFrom = from !== undefined && from !== null;
const hasTo = to !== undefined && to !== null;
const fromStart = isoStartOfDayLiteral(from);
const toNextStart = isoStartOfNextDayLiteral(to);
// Use inclusive start-of-day for 'from' and exclusive start-of-next-day for 'to'
const fromStart = isoStartOfDayLiteral(from); // 'YYYY-MM-DDT00:00:00.000Z'
const toNextStart = isoStartOfNextDayLiteral(to); // 'YYYY-MM-DDT00:00:00.000Z' of next day
// Build a shared WHERE clause for Payment rows
const conditions: string[] = [];
if (from) conditions.push(`pay."createdAt" >= ${fromStart}`);
if (to) conditions.push(`pay."createdAt" <= ${toNextStart}`);
if (npiProviderId) conditions.push(`pay."npiProviderId" = ${Number(npiProviderId)}`);
const payWhereClause = conditions.length ? `WHERE ${conditions.join(" AND ")}` : "";
// totalPatients: distinct patients who had payments in the date range
let patientsCountSql = "";
if (hasFrom && hasTo) {
patientsCountSql = `
SELECT COUNT(*)::int AS cnt FROM (
SELECT pay."patientId" AS patient_id
FROM "Payment" pay
WHERE pay."createdAt" >= ${fromStart} AND pay."createdAt" <= ${toNextStart}
GROUP BY pay."patientId"
) t
`;
} else if (hasFrom) {
patientsCountSql = `
SELECT COUNT(*)::int AS cnt FROM (
SELECT pay."patientId" AS patient_id
FROM "Payment" pay
WHERE pay."createdAt" >= ${fromStart}
GROUP BY pay."patientId"
) t
`;
} else if (hasTo) {
patientsCountSql = `
SELECT COUNT(*)::int AS cnt FROM (
SELECT pay."patientId" AS patient_id
FROM "Payment" pay
WHERE pay."createdAt" <= ${toNextStart}
GROUP BY pay."patientId"
) t
`;
} else {
patientsCountSql = `SELECT COUNT(DISTINCT "patientId")::int AS cnt FROM "Payment"`;
}
const patientsCntRows = (await prisma.$queryRawUnsafe(
patientsCountSql
)) as { cnt: number }[];
const patientsCountSql = `
SELECT COUNT(*)::int AS cnt FROM (
SELECT pay."patientId" AS patient_id
FROM "Payment" pay
${payWhereClause}
GROUP BY pay."patientId"
) t
`;
const patientsCntRows = (await prisma.$queryRawUnsafe(patientsCountSql)) as { cnt: number }[];
const totalPatients = patientsCntRows?.[0]?.cnt ?? 0;
// totalOutstanding: totalBilled - mhPaidAmount - copayment - adjustment
let outstandingSql = "";
if (hasFrom && hasTo) {
outstandingSql = `
SELECT COALESCE(SUM(
GREATEST(COALESCE(pm.total_charges,0) - COALESCE(pm.mh_paid,0) - COALESCE(pm.copayment,0) - COALESCE(pm.adjustment,0), 0)
),0)::numeric(14,2) AS outstanding
FROM (
SELECT pay."patientId" AS patient_id,
SUM(pay."totalBilled")::numeric(14,2) AS total_charges,
SUM(COALESCE(pay."mhPaidAmount",0))::numeric(14,2) AS mh_paid,
SUM(pay."copayment")::numeric(14,2) AS copayment,
SUM(pay."adjustment")::numeric(14,2) AS adjustment
FROM "Payment" pay
WHERE pay."createdAt" >= ${fromStart} AND pay."createdAt" <= ${toNextStart}
GROUP BY pay."patientId"
) pm
`;
} else if (hasFrom) {
outstandingSql = `
SELECT COALESCE(SUM(
GREATEST(COALESCE(pm.total_charges,0) - COALESCE(pm.mh_paid,0) - COALESCE(pm.copayment,0) - COALESCE(pm.adjustment,0), 0)
),0)::numeric(14,2) AS outstanding
FROM (
SELECT pay."patientId" AS patient_id,
SUM(pay."totalBilled")::numeric(14,2) AS total_charges,
SUM(COALESCE(pay."mhPaidAmount",0))::numeric(14,2) AS mh_paid,
SUM(pay."copayment")::numeric(14,2) AS copayment,
SUM(pay."adjustment")::numeric(14,2) AS adjustment
FROM "Payment" pay
WHERE pay."createdAt" >= ${fromStart}
GROUP BY pay."patientId"
) pm
`;
} else if (hasTo) {
outstandingSql = `
SELECT COALESCE(SUM(
GREATEST(COALESCE(pm.total_charges,0) - COALESCE(pm.mh_paid,0) - COALESCE(pm.copayment,0) - COALESCE(pm.adjustment,0), 0)
),0)::numeric(14,2) AS outstanding
FROM (
SELECT pay."patientId" AS patient_id,
SUM(pay."totalBilled")::numeric(14,2) AS total_charges,
SUM(COALESCE(pay."mhPaidAmount",0))::numeric(14,2) AS mh_paid,
SUM(pay."copayment")::numeric(14,2) AS copayment,
SUM(pay."adjustment")::numeric(14,2) AS adjustment
FROM "Payment" pay
WHERE pay."createdAt" <= ${toNextStart}
GROUP BY pay."patientId"
) pm
`;
} else {
outstandingSql = `
SELECT COALESCE(SUM(
GREATEST(COALESCE(pm.total_charges,0) - COALESCE(pm.mh_paid,0) - COALESCE(pm.copayment,0) - COALESCE(pm.adjustment,0), 0)
),0)::numeric(14,2) AS outstanding
FROM (
SELECT pay."patientId" AS patient_id,
SUM(pay."totalBilled")::numeric(14,2) AS total_charges,
SUM(COALESCE(pay."mhPaidAmount",0))::numeric(14,2) AS mh_paid,
SUM(pay."copayment")::numeric(14,2) AS copayment,
SUM(pay."adjustment")::numeric(14,2) AS adjustment
FROM "Payment" pay
GROUP BY pay."patientId"
) pm
`;
}
const outstandingRows = (await prisma.$queryRawUnsafe(
outstandingSql
)) as { outstanding: string }[];
const outstandingSql = `
SELECT COALESCE(SUM(
GREATEST(COALESCE(pm.total_charges,0) - COALESCE(pm.mh_paid,0) - COALESCE(pm.copayment,0) - COALESCE(pm.adjustment,0), 0)
),0)::numeric(14,2) AS outstanding
FROM (
SELECT pay."patientId" AS patient_id,
SUM(pay."totalBilled")::numeric(14,2) AS total_charges,
SUM(COALESCE(pay."mhPaidAmount",0))::numeric(14,2) AS mh_paid,
SUM(pay."copayment")::numeric(14,2) AS copayment,
SUM(pay."adjustment")::numeric(14,2) AS adjustment
FROM "Payment" pay
${payWhereClause}
GROUP BY pay."patientId"
) pm
`;
const outstandingRows = (await prisma.$queryRawUnsafe(outstandingSql)) as { outstanding: string }[];
const totalOutstanding = Number(outstandingRows?.[0]?.outstanding ?? 0);
// totalCollected: mhPaidAmount + copayment (adjustment is write-off, not collected)
let collSql = "";
if (hasFrom && hasTo) {
collSql = `SELECT COALESCE(SUM(COALESCE("mhPaidAmount",0) + "copayment"),0)::numeric(14,2) AS collected FROM "Payment" WHERE "createdAt" >= ${fromStart} AND "createdAt" <= ${toNextStart}`;
} else if (hasFrom) {
collSql = `SELECT COALESCE(SUM(COALESCE("mhPaidAmount",0) + "copayment"),0)::numeric(14,2) AS collected FROM "Payment" WHERE "createdAt" >= ${fromStart}`;
} else if (hasTo) {
collSql = `SELECT COALESCE(SUM(COALESCE("mhPaidAmount",0) + "copayment"),0)::numeric(14,2) AS collected FROM "Payment" WHERE "createdAt" <= ${toNextStart}`;
} else {
collSql = `SELECT COALESCE(SUM(COALESCE("mhPaidAmount",0) + "copayment"),0)::numeric(14,2) AS collected FROM "Payment"`;
}
const collRows = (await prisma.$queryRawUnsafe(collSql)) as {
collected: string;
}[];
const collSql = `
SELECT COALESCE(SUM(COALESCE(pay."mhPaidAmount",0) + pay."copayment"),0)::numeric(14,2) AS collected
FROM "Payment" pay
${payWhereClause}
`;
const collRows = (await prisma.$queryRawUnsafe(collSql)) as { collected: string }[];
const totalCollected = Number(collRows?.[0]?.collected ?? 0);
// patientsWithBalance: patients where (billed - mhPaid - copayment - adjustment) > 0
let patientsWithBalanceSql = "";
if (hasFrom && hasTo) {
patientsWithBalanceSql = `
SELECT COUNT(*)::int AS cnt FROM (
SELECT pay."patientId" AS patient_id,
SUM(pay."totalBilled")::numeric(14,2) AS total_charges,
SUM(COALESCE(pay."mhPaidAmount",0))::numeric(14,2) AS mh_paid,
SUM(pay."copayment")::numeric(14,2) AS copayment,
SUM(pay."adjustment")::numeric(14,2) AS adjustment
FROM "Payment" pay
WHERE pay."createdAt" >= ${fromStart} AND pay."createdAt" <= ${toNextStart}
GROUP BY pay."patientId"
) t
WHERE (COALESCE(t.total_charges,0) - COALESCE(t.mh_paid,0) - COALESCE(t.copayment,0) - COALESCE(t.adjustment,0)) > 0
`;
} else if (hasFrom) {
patientsWithBalanceSql = `
SELECT COUNT(*)::int AS cnt FROM (
SELECT pay."patientId" AS patient_id,
SUM(pay."totalBilled")::numeric(14,2) AS total_charges,
SUM(COALESCE(pay."mhPaidAmount",0))::numeric(14,2) AS mh_paid,
SUM(pay."copayment")::numeric(14,2) AS copayment,
SUM(pay."adjustment")::numeric(14,2) AS adjustment
FROM "Payment" pay
WHERE pay."createdAt" >= ${fromStart}
GROUP BY pay."patientId"
) t
WHERE (COALESCE(t.total_charges,0) - COALESCE(t.mh_paid,0) - COALESCE(t.copayment,0) - COALESCE(t.adjustment,0)) > 0
`;
} else if (hasTo) {
patientsWithBalanceSql = `
SELECT COUNT(*)::int AS cnt FROM (
SELECT pay."patientId" AS patient_id,
SUM(pay."totalBilled")::numeric(14,2) AS total_charges,
SUM(COALESCE(pay."mhPaidAmount",0))::numeric(14,2) AS mh_paid,
SUM(pay."copayment")::numeric(14,2) AS copayment,
SUM(pay."adjustment")::numeric(14,2) AS adjustment
FROM "Payment" pay
WHERE pay."createdAt" <= ${toNextStart}
GROUP BY pay."patientId"
) t
WHERE (COALESCE(t.total_charges,0) - COALESCE(t.mh_paid,0) - COALESCE(t.copayment,0) - COALESCE(t.adjustment,0)) > 0
`;
} else {
patientsWithBalanceSql = `
SELECT COUNT(*)::int AS cnt FROM (
SELECT pay."patientId" AS patient_id,
SUM(pay."totalBilled")::numeric(14,2) AS total_charges,
SUM(COALESCE(pay."mhPaidAmount",0))::numeric(14,2) AS mh_paid,
SUM(pay."copayment")::numeric(14,2) AS copayment,
SUM(pay."adjustment")::numeric(14,2) AS adjustment
FROM "Payment" pay
GROUP BY pay."patientId"
) t
WHERE (COALESCE(t.total_charges,0) - COALESCE(t.mh_paid,0) - COALESCE(t.copayment,0) - COALESCE(t.adjustment,0)) > 0
`;
}
const pwbRows = (await prisma.$queryRawUnsafe(
patientsWithBalanceSql
)) as { cnt: number }[];
const patientsWithBalanceSql = `
SELECT COUNT(*)::int AS cnt FROM (
SELECT pay."patientId" AS patient_id,
SUM(pay."totalBilled")::numeric(14,2) AS total_charges,
SUM(COALESCE(pay."mhPaidAmount",0))::numeric(14,2) AS mh_paid,
SUM(pay."copayment")::numeric(14,2) AS copayment,
SUM(pay."adjustment")::numeric(14,2) AS adjustment
FROM "Payment" pay
${payWhereClause}
GROUP BY pay."patientId"
) t
WHERE (COALESCE(t.total_charges,0) - COALESCE(t.mh_paid,0) - COALESCE(t.copayment,0) - COALESCE(t.adjustment,0)) > 0
`;
const pwbRows = (await prisma.$queryRawUnsafe(patientsWithBalanceSql)) as { cnt: number }[];
const patientsWithBalance = pwbRows?.[0]?.cnt ?? 0;
return {
totalPatients,
totalOutstanding,
totalCollected,
patientsWithBalance,
};
return { totalPatients, totalOutstanding, totalCollected, patientsWithBalance };
} catch (err) {
console.error("[paymentsReportsStorage.getSummary] error:", err);
throw err;
@@ -348,7 +196,8 @@ export const paymentsReportsStorage: IPaymentsReportsStorage = {
limit = 25,
cursorToken?: string | null,
from?: Date | null,
to?: Date | null
to?: Date | null,
npiProviderId?: number | null
) {
try {
type RawRow = {
@@ -373,15 +222,12 @@ export const paymentsReportsStorage: IPaymentsReportsStorage = {
const fromStart = isoStartOfDayLiteral(from); // 'YYYY-MM-DDT00:00:00.000Z'
const toNextStart = isoStartOfNextDayLiteral(to); // 'YYYY-MM-DDT00:00:00.000Z' of next day
// Build payment subquery (aggregated payments by patient, filtered by createdAt if provided)
const paymentWhereClause =
hasFrom && hasTo
? `WHERE pay."createdAt" >= ${fromStart} AND pay."createdAt" <= ${toNextStart}`
: hasFrom
? `WHERE pay."createdAt" >= ${fromStart}`
: hasTo
? `WHERE pay."createdAt" <= ${toNextStart}`
: "";
// Build payment subquery WHERE clause (date + optional provider filter)
const payConditions: string[] = [];
if (hasFrom) payConditions.push(`pay."createdAt" >= ${fromStart}`);
if (hasTo) payConditions.push(`pay."createdAt" <= ${toNextStart}`);
if (npiProviderId) payConditions.push(`pay."npiProviderId" = ${Number(npiProviderId)}`);
const paymentWhereClause = payConditions.length ? `WHERE ${payConditions.join(" AND ")}` : "";
const pmSubquery = `
(
@@ -542,7 +388,8 @@ export const paymentsReportsStorage: IPaymentsReportsStorage = {
limit = 25,
cursorToken?: string | null,
from?: Date | null,
to?: Date | null
to?: Date | null,
npiProviderId?: number | null
): Promise<{
balances: PatientBalanceRow[];
totalCount: number;
@@ -571,15 +418,14 @@ export const paymentsReportsStorage: IPaymentsReportsStorage = {
const fromStart = isoStartOfDayLiteral(from);
const toNextStart = isoStartOfNextDayLiteral(to);
// Filter payments by createdAt (time window) when provided
const paymentTimeFilter =
hasFrom && hasTo
? `AND pay."createdAt" >= ${fromStart} AND pay."createdAt" <= ${toNextStart}`
: hasFrom
? `AND pay."createdAt" >= ${fromStart}`
: hasTo
? `AND pay."createdAt" <= ${toNextStart}`
: "";
// Filter payments by createdAt and/or provider
const payAndConditions: string[] = [];
if (hasFrom) payAndConditions.push(`pay."createdAt" >= ${fromStart}`);
if (hasTo) payAndConditions.push(`pay."createdAt" <= ${toNextStart}`);
if (npiProviderId) payAndConditions.push(`pay."npiProviderId" = ${Number(npiProviderId)}`);
const paymentTimeFilter = payAndConditions.length
? `AND ${payAndConditions.join(" AND ")}`
: "";
// Keyset predicate — prefer numeric epoch-ms comparison for stability
let pageKeysetPredicate = "";
@@ -801,7 +647,8 @@ export const paymentsReportsStorage: IPaymentsReportsStorage = {
async getSummaryByDoctor(
staffId: number,
from?: Date | null,
to?: Date | null
to?: Date | null,
npiProviderId?: number | null
): Promise<{
totalPatients: number;
totalOutstanding: number;
@@ -818,14 +665,13 @@ export const paymentsReportsStorage: IPaymentsReportsStorage = {
const fromStart = isoStartOfDayLiteral(from);
const toNextStart = isoStartOfNextDayLiteral(to);
const paymentTimeFilter =
hasFrom && hasTo
? `AND pay."createdAt" >= ${fromStart} AND pay."createdAt" <= ${toNextStart}`
: hasFrom
? `AND pay."createdAt" >= ${fromStart}`
: hasTo
? `AND pay."createdAt" <= ${toNextStart}`
: "";
const drAndConditions: string[] = [];
if (hasFrom) drAndConditions.push(`pay."createdAt" >= ${fromStart}`);
if (hasTo) drAndConditions.push(`pay."createdAt" <= ${toNextStart}`);
if (npiProviderId) drAndConditions.push(`pay."npiProviderId" = ${Number(npiProviderId)}`);
const paymentTimeFilter = drAndConditions.length
? `AND ${drAndConditions.join(" AND ")}`
: "";
const summaryQuery = `
WITH

View File

@@ -109,6 +109,8 @@ export const paymentsStorage: IStorage = {
},
updatedBy: true,
patient: true,
npiProvider: true,
commissionBatchItems: { include: { commissionBatch: true } },
},
});
@@ -144,6 +146,8 @@ export const paymentsStorage: IStorage = {
},
updatedBy: true,
patient: true,
npiProvider: true,
commissionBatchItems: { include: { commissionBatch: true } },
},
});
@@ -177,6 +181,8 @@ export const paymentsStorage: IStorage = {
},
updatedBy: true,
patient: true,
npiProvider: true,
commissionBatchItems: { include: { commissionBatch: true } },
},
});
@@ -213,6 +219,8 @@ export const paymentsStorage: IStorage = {
},
updatedBy: true,
patient: true,
npiProvider: true,
commissionBatchItems: { include: { commissionBatch: true } },
},
});
@@ -251,6 +259,8 @@ export const paymentsStorage: IStorage = {
},
updatedBy: true,
patient: true,
npiProvider: true,
commissionBatchItems: { include: { commissionBatch: true } },
},
});

View File

@@ -14,8 +14,10 @@ import {
SelectValue,
} from "@/components/ui/select";
import { formatDateToHumanReadable } from "@/utils/dateUtils";
import React, { useState } from "react";
import { ClaimStatus, ClaimWithServiceLines } from "@repo/db/types";
import React, { useEffect, useState } from "react";
import { ClaimStatus, ClaimWithServiceLines, NpiProvider } from "@repo/db/types";
import { useQuery } from "@tanstack/react-query";
import { apiRequest } from "@/lib/queryClient";
import {
safeParseMissingTeeth,
splitTeeth,
@@ -41,6 +43,28 @@ export default function ClaimEditModal({
const [status, setStatus] = useState<ClaimStatus>(
claim?.status ?? ("PENDING" as ClaimStatus)
);
const [selectedNpiProviderId, setSelectedNpiProviderId] = useState<number | null>(
(claim as any)?.npiProviderId ?? null
);
const { data: npiProviders = [] } = useQuery<NpiProvider[]>({
queryKey: ["/api/npiProviders/"],
queryFn: async () => {
const res = await apiRequest("GET", "/api/npiProviders/");
return res.json();
},
});
// Default to Mary Scannell (or first provider) only when no provider is set
useEffect(() => {
if (!npiProviders.length) return;
if (selectedNpiProviderId !== null) return;
const mary = npiProviders.find((p) =>
p.providerName.toLowerCase().includes("mary scannell")
);
const fallback = mary ?? npiProviders[0];
if (fallback) setSelectedNpiProviderId(fallback.id);
}, [npiProviders]);
if (!claim) return null;
@@ -48,7 +72,9 @@ export default function ClaimEditModal({
const updatedClaim: ClaimWithServiceLines = {
...claim,
status,
};
npiProviderId: selectedNpiProviderId,
npiProvider: npiProviders.find((p) => p.id === selectedNpiProviderId) ?? null,
} as ClaimWithServiceLines;
onSave(updatedClaim);
onOpenChange(false);
@@ -109,6 +135,25 @@ export default function ClaimEditModal({
</SelectContent>
</Select>
</div>
<div>
<span className="text-gray-500">Rendering Provider:</span>
<Select
value={selectedNpiProviderId?.toString() ?? ""}
onValueChange={(val) => setSelectedNpiProviderId(Number(val))}
>
<SelectTrigger className="mt-1 w-full">
<SelectValue placeholder="Select Provider" />
</SelectTrigger>
<SelectContent>
{npiProviders.map((p) => (
<SelectItem key={p.id} value={p.id.toString()}>
{p.npiNumber} {p.providerName}
</SelectItem>
))}
</SelectContent>
</Select>
</div>
</div>
</div>

View File

@@ -788,6 +788,10 @@ export function ClaimForm({
mimeType: f.type,
}));
const selectedNpiProviderId = npiProvider?.npiNumber
? npiProviders.find((p) => p.npiNumber === npiProvider.npiNumber)?.id ?? null
: null;
const createdClaim = await onSubmit({
...formToCreateClaim,
serviceLines: filteredServiceLines,
@@ -796,6 +800,7 @@ export function ClaimForm({
insuranceProvider: "MassHealth",
appointmentId: appointmentIdToUse!,
claimFiles: claimFilesMeta,
...(selectedNpiProviderId ? { npiProviderId: selectedNpiProviderId } : {}),
});
// 4. sending form data to selenium service

View File

@@ -136,6 +136,9 @@ export default function ClaimsRecentTable({
mutationFn: async (claim: ClaimWithServiceLines) => {
const response = await apiRequest("PUT", `/api/claims/${claim.id}`, {
status: claim.status,
...((claim as any).npiProviderId != null
? { npiProviderId: (claim as any).npiProviderId }
: {}),
});
if (!response.ok) {
const error = await response.json();
@@ -315,6 +318,7 @@ export default function ClaimsRecentTable({
<TableHead>Total Billed</TableHead>
<TableHead>Status</TableHead>
<TableHead>Attachments</TableHead>
<TableHead>Provider</TableHead>
<TableHead className="text-right">Actions</TableHead>
</TableRow>
</TableHeader>
@@ -448,6 +452,12 @@ export default function ClaimsRecentTable({
)}
</TableCell>
<TableCell>
<div className="text-sm text-gray-900">
{claim.npiProvider?.providerName ?? "—"}
</div>
</TableCell>
<TableCell className="text-right">
<div className="flex justify-end space-x-2">
{allowDelete && (

View File

@@ -21,6 +21,7 @@ import {
paymentStatusArray,
paymentMethodArray,
} from "@repo/db/types";
import { NpiProvider } from "@repo/db/types";
import {
Select,
SelectContent,
@@ -33,7 +34,7 @@ import { toast } from "@/hooks/use-toast";
import { X } from "lucide-react";
import { DateInput } from "@/components/ui/dateInput";
import { apiRequest } from "@/lib/queryClient";
import { useMutation } from "@tanstack/react-query";
import { useMutation, useQuery } from "@tanstack/react-query";
type PaymentEditModalProps = {
isOpen: boolean;
@@ -84,6 +85,57 @@ export default function PaymentEditModal({
const [paymentStatus, setPaymentStatus] = useState<PaymentStatus>(
(paymentProp ?? null)?.status ?? ("PENDING" as PaymentStatus)
);
const [selectedNpiProviderId, setSelectedNpiProviderId] = useState<number | null>(
(paymentProp ?? null)?.npiProviderId ?? null
);
const [isUpdatingProvider, setIsUpdatingProvider] = useState(false);
// Fetch all NPI providers
const { data: npiProviders = [] } = useQuery<NpiProvider[]>({
queryKey: ["/api/npiProviders/"],
queryFn: async () => {
const res = await apiRequest("GET", "/api/npiProviders/");
return res.json();
},
});
// Default to Mary Scannell (or first provider) if no provider set yet
useEffect(() => {
if (!npiProviders.length) return;
if (selectedNpiProviderId !== null) return;
const mary = npiProviders.find((p) =>
p.providerName.toLowerCase().includes("mary scannell")
);
const fallback = mary ?? npiProviders[0];
if (fallback) setSelectedNpiProviderId(fallback.id);
}, [npiProviders]);
// Sync provider when payment changes (e.g. fetched from API)
useEffect(() => {
if (payment?.npiProviderId !== undefined) {
setSelectedNpiProviderId(payment.npiProviderId ?? null);
}
}, [payment?.id]);
const handleUpdateProvider = async () => {
if (!payment) return;
setIsUpdatingProvider(true);
try {
const res = await apiRequest("PATCH", `/api/payments/${payment.id}/provider`, {
npiProviderId: selectedNpiProviderId,
});
if (!res.ok) {
const err = await res.json();
throw new Error(err.message || "Failed to update provider");
}
toast({ title: "Success", description: "Provider updated successfully." });
await refetchPayment(payment.id);
} catch (err: any) {
toast({ title: "Error", description: err?.message ?? "Failed to update provider.", variant: "destructive" });
} finally {
setIsUpdatingProvider(false);
}
};
const [formState, setFormState] = useState(() => {
return {
@@ -588,6 +640,36 @@ export default function PaymentEditModal({
>
{isUpdatingStatus ? "Updating..." : "Update Status"}
</Button>
{/* Provider Selector */}
<div className="pt-3">
<label className="block text-sm text-gray-600 mb-1">
Rendering Provider
</label>
<Select
value={selectedNpiProviderId?.toString() ?? ""}
onValueChange={(val) => setSelectedNpiProviderId(Number(val))}
>
<SelectTrigger>
<SelectValue placeholder="Select Provider" />
</SelectTrigger>
<SelectContent>
{npiProviders.map((p) => (
<SelectItem key={p.id} value={p.id.toString()}>
{p.npiNumber} {p.providerName}
</SelectItem>
))}
</SelectContent>
</Select>
</div>
<Button
size="sm"
disabled={isUpdatingProvider}
onClick={handleUpdateProvider}
>
{isUpdatingProvider ? "Updating..." : "Update Provider"}
</Button>
</div>
</div>
@@ -607,6 +689,23 @@ export default function PaymentEditModal({
? formatDateToHumanReadable(payment.updatedAt)
: "N/A"}
</p>
{(payment as any).commissionBatchItems?.length > 0 ? (
<div className="pt-2">
<span className="inline-flex items-center px-2.5 py-1 rounded-full text-xs font-semibold bg-purple-100 text-purple-800">
Commissioned
</span>
<p className="mt-1 text-xs text-gray-500">
Paid as commission on{" "}
{formatDateToHumanReadable(
(payment as any).commissionBatchItems[0].commissionBatch.createdAt
)}
</p>
</div>
) : (
<p className="pt-1">
<span className="text-gray-400 text-xs">Not yet commissioned</span>
</p>
)}
</div>
</div>
</div>

View File

@@ -612,6 +612,7 @@ export default function PaymentsRecentTable({
<TableHead>Service Date</TableHead>
<TableHead>Status</TableHead>
<TableHead>Attachments</TableHead>
<TableHead>Provider</TableHead>
<TableHead>MH Paid</TableHead>
<TableHead>Copayment</TableHead>
<TableHead>Adjustment</TableHead>
@@ -738,20 +739,28 @@ export default function PaymentsRecentTable({
</TableCell>
<TableCell>
<div className="flex items-center gap-2">
<div className="flex flex-col gap-1">
{payment.status === "VOID" ? (
<span className="px-2 py-1 text-xs font-medium rounded-full bg-gray-100 text-gray-800 flex items-center">
<span className="px-2 py-1 text-xs font-medium rounded-full bg-gray-100 text-gray-800 flex items-center w-fit">
<Ban className="h-3 w-3 mr-1" />Void
</span>
) : payment.status === "PAID" ? (
<span className="px-2 py-1 text-xs font-medium rounded-full bg-teal-100 text-teal-800 flex items-center">
<span className="px-2 py-1 text-xs font-medium rounded-full bg-teal-100 text-teal-800 flex items-center w-fit">
<CheckCircle className="h-3 w-3 mr-1" />Paid in Full
</span>
) : (
<span className="px-2 py-1 text-xs font-medium rounded-full bg-yellow-100 text-yellow-800 flex items-center">
<span className="px-2 py-1 text-xs font-medium rounded-full bg-yellow-100 text-yellow-800 flex items-center w-fit">
<Clock className="h-3 w-3 mr-1" />Balance
</span>
)}
{(payment as any).commissionBatchItems?.length > 0 && (
<span
className="px-2 py-1 text-xs font-medium rounded-full bg-purple-100 text-purple-800 w-fit"
title={`Commissioned on ${new Date((payment as any).commissionBatchItems[0].commissionBatch.createdAt).toLocaleDateString()}`}
>
Commissioned
</span>
)}
</div>
</TableCell>
@@ -775,6 +784,12 @@ export default function PaymentsRecentTable({
)}
</TableCell>
<TableCell>
<div className="text-sm text-gray-900">
{(payment as any).npiProvider?.providerName ?? "—"}
</div>
</TableCell>
<TableCell>
{editingMhPaidId === payment.id ? (
<input

View File

@@ -25,9 +25,11 @@ function fmtCurrency(v: number) {
export default function CollectionsByDoctorReport({
startDate,
endDate,
npiProviderId,
}: {
startDate: string;
endDate: string;
npiProviderId?: number | null;
}) {
const [staffId, setStaffId] = useState<string>("");
@@ -76,6 +78,7 @@ export default function CollectionsByDoctorReport({
perPage,
startDate,
endDate,
npiProviderId ?? "all",
],
queryFn: async () => {
const params = new URLSearchParams();
@@ -84,6 +87,7 @@ export default function CollectionsByDoctorReport({
if (staffId) params.set("staffId", staffId);
if (startDate) params.set("from", startDate);
if (endDate) params.set("to", endDate);
if (npiProviderId) params.set("npiProviderId", String(npiProviderId));
const res = await apiRequest(
"GET",
@@ -116,12 +120,13 @@ export default function CollectionsByDoctorReport({
},
Error
>({
queryKey: ["collections-by-doctor-summary", staffId, startDate, endDate],
queryKey: ["collections-by-doctor-summary", staffId, startDate, endDate, npiProviderId ?? "all"],
queryFn: async () => {
const params = new URLSearchParams();
if (staffId) params.set("staffId", staffId);
if (startDate) params.set("from", startDate);
if (endDate) params.set("to", endDate);
if (npiProviderId) params.set("npiProviderId", String(npiProviderId));
const res = await apiRequest(
"GET",
@@ -152,7 +157,7 @@ export default function CollectionsByDoctorReport({
useEffect(() => {
setCursorStack([null]);
setCursorIndex(0);
}, [staffId, startDate, endDate]);
}, [staffId, startDate, endDate, npiProviderId]);
const handlePrev = useCallback(() => {
setCursorIndex((i) => Math.max(0, i - 1));

View File

@@ -0,0 +1,516 @@
import React, { useEffect, useRef, useState } from "react";
import { useQuery, useMutation } from "@tanstack/react-query";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Button } from "@/components/ui/button";
import { Label } from "@/components/ui/label";
import { Checkbox } from "@/components/ui/checkbox";
import {
Select,
SelectContent,
SelectItem,
SelectTrigger,
SelectValue,
} from "@/components/ui/select";
import {
Dialog,
DialogContent,
DialogHeader,
DialogTitle,
DialogDescription,
} from "@/components/ui/dialog";
import { Input } from "@/components/ui/input";
import { DateInput } from "@/components/ui/dateInput";
import { formatLocalDate, parseLocalDate, formatDateToHumanReadable } from "@/utils/dateUtils";
import { apiRequest, queryClient } from "@/lib/queryClient";
import { useToast } from "@/hooks/use-toast";
import { DollarSign } from "lucide-react";
import { NpiProvider } from "@repo/db/types";
interface EligiblePayment {
id: number;
claimNumber: string | null;
patientName: string;
serviceDate: string | null;
mhPaidAmount: number;
copayment: number;
collectionAmount: number;
paymentDate: string;
isOcr: boolean;
}
interface CommissionBatch {
id: number;
providerName: string;
totalCollection: number;
commissionAmount: number;
notes: string | null;
createdAt: string;
itemCount: number;
}
function fmt(n: number) {
return new Intl.NumberFormat("en-US", { style: "currency", currency: "USD" }).format(n);
}
export default function CommissionSection() {
const { toast } = useToast();
const printRef = useRef<HTMLDivElement>(null);
// Filters
const [fromDate, setFromDate] = useState<string>(() => {
const d = new Date();
d.setMonth(d.getMonth() - 1);
return d.toISOString().split("T")[0] ?? "";
});
const [toDate, setToDate] = useState<string>(
() => new Date().toISOString().split("T")[0] ?? ""
);
const [selectedProviderId, setSelectedProviderId] = useState<number | null>(null);
// Selection
const [selectedIds, setSelectedIds] = useState<Set<number>>(new Set());
// Pay modal
const [showModal, setShowModal] = useState(false);
const [commissionAmount, setCommissionAmount] = useState("");
const [notes, setNotes] = useState("");
// Providers
const { data: providers = [] } = useQuery<NpiProvider[]>({
queryKey: ["/api/npiProviders/"],
queryFn: async () => {
const res = await apiRequest("GET", "/api/npiProviders/");
return res.json();
},
staleTime: 60_000,
});
// Eligible payments
const {
data: payments = [],
isLoading,
isError,
} = useQuery<EligiblePayment[]>({
queryKey: ["/api/commissions/eligible", selectedProviderId, fromDate, toDate],
queryFn: async () => {
const params = new URLSearchParams();
params.set("npiProviderId", String(selectedProviderId));
if (fromDate) params.set("from", fromDate);
if (toDate) params.set("to", toDate);
const res = await apiRequest("GET", `/api/commissions/eligible?${params}`);
if (!res.ok) throw new Error("Failed to fetch eligible payments");
return res.json();
},
enabled: !!selectedProviderId,
});
// Past batches
const { data: batches = [] } = useQuery<CommissionBatch[]>({
queryKey: ["/api/commissions/batches", selectedProviderId],
queryFn: async () => {
const params = selectedProviderId
? `?npiProviderId=${selectedProviderId}`
: "";
const res = await apiRequest("GET", `/api/commissions/batches${params}`);
if (!res.ok) throw new Error("Failed to fetch batches");
return res.json();
},
});
// Reset selection when provider/dates change
useEffect(() => {
setSelectedIds(new Set());
}, [selectedProviderId, fromDate, toDate]);
// Create commission batch mutation
const createMutation = useMutation({
mutationFn: async (payload: {
npiProviderId: number;
paymentIds: number[];
totalCollection: number;
commissionAmount: number;
notes?: string;
}) => {
const res = await apiRequest("POST", "/api/commissions", payload);
if (!res.ok) {
const err = await res.json().catch(() => null);
throw new Error(err?.message ?? "Failed to save commission");
}
return res.json();
},
onSuccess: () => {
toast({ title: "Commission saved", description: "Payments have been marked as commissioned." });
setShowModal(false);
setSelectedIds(new Set());
queryClient.invalidateQueries({ queryKey: ["/api/commissions/eligible"] });
queryClient.invalidateQueries({ queryKey: ["/api/commissions/batches"] });
},
onError: (err: any) => {
toast({ title: "Error", description: err?.message ?? "Failed to save", variant: "destructive" });
},
});
const selectedPayments = payments.filter((p) => selectedIds.has(p.id));
const totalCollection = selectedPayments.reduce((s, p) => s + p.collectionAmount, 0);
// Sync commission amount when selection changes
useEffect(() => {
setCommissionAmount(totalCollection.toFixed(2));
}, [totalCollection]);
const allSelected = payments.length > 0 && selectedIds.size === payments.length;
const someSelected = selectedIds.size > 0 && !allSelected;
const toggleAll = () => {
if (allSelected) {
setSelectedIds(new Set());
} else {
setSelectedIds(new Set(payments.map((p) => p.id)));
}
};
const toggleOne = (id: number) => {
setSelectedIds((prev) => {
const next = new Set(prev);
next.has(id) ? next.delete(id) : next.add(id);
return next;
});
};
const handlePrint = () => {
const provider = providers.find((p) => p.id === selectedProviderId);
const win = window.open("", "_blank");
if (!win) return;
win.document.write(`
<html><head><title>Commission Summary</title>
<style>
body { font-family: Arial, sans-serif; padding: 24px; font-size: 13px; }
h1 { font-size: 18px; margin-bottom: 4px; }
p { margin: 2px 0; color: #555; }
table { width: 100%; border-collapse: collapse; margin-top: 16px; }
th { background: #f3f4f6; text-align: left; padding: 8px; border: 1px solid #e5e7eb; }
td { padding: 8px; border: 1px solid #e5e7eb; }
.total { font-weight: bold; margin-top: 16px; font-size: 15px; }
.footer { margin-top: 24px; color: #888; font-size: 11px; }
</style></head><body>
<h1>Commission Summary — ${provider?.providerName ?? "Provider"}</h1>
<p>Date Range: ${fromDate || "—"} to ${toDate || "—"}</p>
<p>Generated: ${new Date().toLocaleDateString()}</p>
<table>
<thead><tr>
<th>#</th><th>Claim / Source</th><th>Patient</th>
<th>Service Date</th><th>MH Paid</th><th>Copayment</th><th>Collection</th>
</tr></thead>
<tbody>
${selectedPayments
.map(
(p, i) => `<tr>
<td>${i + 1}</td>
<td>${p.claimNumber ?? (p.isOcr ? "PDF Import" : "—")}</td>
<td>${p.patientName}</td>
<td>${p.serviceDate ? new Date(p.serviceDate).toLocaleDateString() : "—"}</td>
<td>${fmt(p.mhPaidAmount)}</td>
<td>${fmt(p.copayment)}</td>
<td>${fmt(p.collectionAmount)}</td>
</tr>`
)
.join("")}
</tbody>
</table>
<p class="total">Total Collection: ${fmt(totalCollection)}</p>
<p class="total">Commission Amount: ${fmt(Number(commissionAmount) || 0)}</p>
${notes ? `<p style="margin-top:12px"><b>Notes:</b> ${notes}</p>` : ""}
<p class="footer">Summit Dental Care — Commission Record</p>
</body></html>
`);
win.document.close();
win.print();
};
const handleSave = () => {
if (!selectedProviderId || selectedPayments.length === 0) return;
const amount = Number(commissionAmount);
if (isNaN(amount) || amount < 0) {
toast({ title: "Invalid amount", description: "Enter a valid commission amount.", variant: "destructive" });
return;
}
createMutation.mutate({
npiProviderId: selectedProviderId,
paymentIds: selectedPayments.map((p) => p.id),
totalCollection,
commissionAmount: amount,
notes: notes.trim() || undefined,
});
};
const fromDateObj = fromDate ? (() => { try { return parseLocalDate(fromDate); } catch { return null; } })() : null;
const toDateObj = toDate ? (() => { try { return parseLocalDate(toDate); } catch { return null; } })() : null;
return (
<Card>
<CardHeader>
<CardTitle className="flex items-center gap-2">
<DollarSign className="h-5 w-5" /> Commission
</CardTitle>
</CardHeader>
<CardContent className="space-y-6">
{/* Filters */}
<div className="grid grid-cols-1 md:grid-cols-3 gap-4">
<DateInput
label="Start Date"
value={fromDateObj}
onChange={(d) => setFromDate(d ? formatLocalDate(d) : "")}
disableFuture
/>
<DateInput
label="End Date"
value={toDateObj}
onChange={(d) => setToDate(d ? formatLocalDate(d) : "")}
disableFuture
/>
<div className="space-y-2">
<Label>Provider</Label>
<Select
value={selectedProviderId?.toString() ?? ""}
onValueChange={(v) => setSelectedProviderId(Number(v))}
>
<SelectTrigger>
<SelectValue placeholder="Select a provider" />
</SelectTrigger>
<SelectContent>
{providers.map((p) => (
<SelectItem key={p.id} value={p.id.toString()}>
{p.providerName}
</SelectItem>
))}
</SelectContent>
</Select>
</div>
</div>
{/* Eligible payments table */}
{selectedProviderId && (
<div>
<div className="flex items-center justify-between mb-2">
<p className="text-sm text-gray-500">
{isLoading
? "Loading…"
: `${payments.length} eligible payment(s) — not yet commissioned`}
</p>
{selectedIds.size > 0 && (
<Button
size="sm"
onClick={() => setShowModal(true)}
className="bg-green-600 hover:bg-green-700 text-white"
>
Pay Commission ({selectedIds.size} selected {fmt(totalCollection)})
</Button>
)}
</div>
{isError && (
<p className="text-sm text-red-500">Failed to load payments.</p>
)}
{!isLoading && !isError && payments.length === 0 && (
<p className="text-sm text-gray-400 py-4 text-center">
No uncommissioned payments found for this provider and date range.
</p>
)}
{payments.length > 0 && (
<div className="overflow-x-auto rounded-lg border border-gray-200">
<table className="w-full text-sm">
<thead className="bg-gray-50">
<tr>
<th className="px-3 py-2 text-left w-10">
<Checkbox
checked={allSelected}
data-state={someSelected ? "indeterminate" : undefined}
onCheckedChange={toggleAll}
/>
</th>
<th className="px-3 py-2 text-left">Claim / Source</th>
<th className="px-3 py-2 text-left">Patient</th>
<th className="px-3 py-2 text-left">Service Date</th>
<th className="px-3 py-2 text-right">MH Paid</th>
<th className="px-3 py-2 text-right">Copayment</th>
<th className="px-3 py-2 text-right font-semibold">Collection</th>
</tr>
</thead>
<tbody>
{payments.map((p) => (
<tr
key={p.id}
className={`border-t border-gray-100 hover:bg-gray-50 cursor-pointer ${
selectedIds.has(p.id) ? "bg-green-50" : ""
}`}
onClick={() => toggleOne(p.id)}
>
<td className="px-3 py-2">
<Checkbox
checked={selectedIds.has(p.id)}
onCheckedChange={() => toggleOne(p.id)}
onClick={(e) => e.stopPropagation()}
/>
</td>
<td className="px-3 py-2 font-mono text-xs">
{p.claimNumber ?? (p.isOcr ? (
<span className="bg-blue-100 text-blue-700 px-1.5 py-0.5 rounded text-xs">PDF Import</span>
) : "—")}
</td>
<td className="px-3 py-2">{p.patientName}</td>
<td className="px-3 py-2 text-gray-500">
{p.serviceDate
? new Date(p.serviceDate).toLocaleDateString()
: "—"}
</td>
<td className="px-3 py-2 text-right text-green-700">{fmt(p.mhPaidAmount)}</td>
<td className="px-3 py-2 text-right text-blue-700">{fmt(p.copayment)}</td>
<td className="px-3 py-2 text-right font-semibold">{fmt(p.collectionAmount)}</td>
</tr>
))}
</tbody>
{selectedIds.size > 0 && (
<tfoot className="bg-gray-50 border-t-2 border-gray-200">
<tr>
<td colSpan={6} className="px-3 py-2 text-right font-semibold text-gray-700">
Selected Total ({selectedIds.size} items):
</td>
<td className="px-3 py-2 text-right font-bold text-green-700 text-base">
{fmt(totalCollection)}
</td>
</tr>
</tfoot>
)}
</table>
</div>
)}
</div>
)}
{/* Past commissions */}
{batches.length > 0 && (
<div>
<h4 className="text-sm font-semibold text-gray-700 mb-2">Past Commission Batches</h4>
<div className="overflow-x-auto rounded-lg border border-gray-200">
<table className="w-full text-sm">
<thead className="bg-gray-50">
<tr>
<th className="px-3 py-2 text-left">Date Paid</th>
<th className="px-3 py-2 text-left">Provider</th>
<th className="px-3 py-2 text-right">Claims</th>
<th className="px-3 py-2 text-right">Total Collection</th>
<th className="px-3 py-2 text-right">Commission Paid</th>
<th className="px-3 py-2 text-left">Notes</th>
</tr>
</thead>
<tbody>
{batches.map((b) => (
<tr key={b.id} className="border-t border-gray-100">
<td className="px-3 py-2">{formatDateToHumanReadable(b.createdAt)}</td>
<td className="px-3 py-2">{b.providerName}</td>
<td className="px-3 py-2 text-right">{b.itemCount}</td>
<td className="px-3 py-2 text-right">{fmt(b.totalCollection)}</td>
<td className="px-3 py-2 text-right font-semibold text-green-700">{fmt(b.commissionAmount)}</td>
<td className="px-3 py-2 text-gray-500">{b.notes ?? "—"}</td>
</tr>
))}
</tbody>
</table>
</div>
</div>
)}
</CardContent>
{/* Pay Commission Modal */}
<Dialog open={showModal} onOpenChange={setShowModal}>
<DialogContent className="sm:max-w-[680px] max-h-[90vh] overflow-y-auto">
<DialogHeader>
<DialogTitle>Pay Commission</DialogTitle>
<DialogDescription>
Review the selected payments and confirm the commission amount.
</DialogDescription>
</DialogHeader>
<div className="space-y-4">
{/* Selected rows summary */}
<div className="overflow-x-auto rounded-lg border border-gray-200 max-h-64">
<table className="w-full text-sm">
<thead className="bg-gray-50 sticky top-0">
<tr>
<th className="px-3 py-2 text-left">Claim / Source</th>
<th className="px-3 py-2 text-left">Patient</th>
<th className="px-3 py-2 text-right">MH Paid</th>
<th className="px-3 py-2 text-right">Copayment</th>
<th className="px-3 py-2 text-right font-semibold">Collection</th>
</tr>
</thead>
<tbody>
{selectedPayments.map((p) => (
<tr key={p.id} className="border-t border-gray-100">
<td className="px-3 py-1.5 font-mono text-xs">
{p.claimNumber ?? (p.isOcr ? "PDF Import" : "—")}
</td>
<td className="px-3 py-1.5">{p.patientName}</td>
<td className="px-3 py-1.5 text-right">{fmt(p.mhPaidAmount)}</td>
<td className="px-3 py-1.5 text-right">{fmt(p.copayment)}</td>
<td className="px-3 py-1.5 text-right font-medium">{fmt(p.collectionAmount)}</td>
</tr>
))}
</tbody>
<tfoot className="bg-gray-50 border-t-2 border-gray-200">
<tr>
<td colSpan={4} className="px-3 py-2 text-right font-semibold">Total Collection:</td>
<td className="px-3 py-2 text-right font-bold text-green-700">{fmt(totalCollection)}</td>
</tr>
</tfoot>
</table>
</div>
{/* Commission amount input */}
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
<div className="space-y-1">
<Label>Commission Amount ($)</Label>
<Input
type="number"
min="0"
step="0.01"
value={commissionAmount}
onChange={(e) => setCommissionAmount(e.target.value)}
placeholder="Enter commission amount"
/>
<p className="text-xs text-gray-400">Defaults to total collection. Adjust if using a rate.</p>
</div>
<div className="space-y-1">
<Label>Notes (optional)</Label>
<Input
value={notes}
onChange={(e) => setNotes(e.target.value)}
placeholder="e.g. May 2026 commission @ 20%"
/>
</div>
</div>
<div className="flex justify-end gap-2 pt-2">
<Button variant="outline" onClick={handlePrint}>
Print
</Button>
<Button variant="outline" onClick={() => setShowModal(false)}>
Cancel
</Button>
<Button
onClick={handleSave}
disabled={createMutation.isPending}
className="bg-green-600 hover:bg-green-700 text-white"
>
{createMutation.isPending ? "Saving…" : "Save & Mark as Commissioned"}
</Button>
</div>
</div>
</DialogContent>
</Dialog>
</Card>
);
}

View File

@@ -15,9 +15,11 @@ type Resp = {
export default function PatientsWithBalanceReport({
startDate,
endDate,
npiProviderId,
}: {
startDate: string;
endDate: string;
npiProviderId?: number | null;
}) {
const balancesPerPage = 10;
const [cursorStack, setCursorStack] = useState<(string | null)[]>([null]);
@@ -32,6 +34,7 @@ export default function PatientsWithBalanceReport({
balancesPerPage,
startDate,
endDate,
npiProviderId ?? "all",
],
queryFn: async () => {
const params = new URLSearchParams();
@@ -39,6 +42,7 @@ export default function PatientsWithBalanceReport({
if (currentCursor) params.set("cursor", currentCursor);
if (startDate) params.set("from", startDate);
if (endDate) params.set("to", endDate);
if (npiProviderId) params.set("npiProviderId", String(npiProviderId));
const res = await apiRequest(
"GET",
`/api/payments-reports/patients-with-balances?${params.toString()}`
@@ -63,7 +67,7 @@ export default function PatientsWithBalanceReport({
setCursorStack([null]);
setCursorIndex(0);
refetch();
}, [startDate, endDate]);
}, [startDate, endDate, npiProviderId]);
const handleNext = useCallback(() => {
const idx = cursorIndex;

View File

@@ -11,12 +11,14 @@ import {
import { Calendar } from "lucide-react";
import { formatLocalDate, parseLocalDate } from "@/utils/dateUtils";
import { DateInput } from "@/components/ui/dateInput";
import { useQuery } from "@tanstack/react-query";
import { apiRequest } from "@/lib/queryClient";
import { NpiProvider } from "@repo/db/types";
type ReportType =
| "patients_with_balance"
| "patients_no_balance"
| "monthly_collections"
| "collections_by_doctor"
| "procedure_codes_by_doctor"
| "payment_methods"
| "insurance_vs_patient_payments"
@@ -29,34 +31,37 @@ export default function ReportConfig({
setEndDate,
selectedReportType,
setSelectedReportType,
npiProviderId,
setNpiProviderId,
}: {
startDate: string; // "" or "YYYY-MM-DD"
startDate: string;
endDate: string;
setStartDate: (s: string) => void;
setEndDate: (s: string) => void;
selectedReportType: ReportType;
setSelectedReportType: (r: ReportType) => void;
npiProviderId: number | null;
setNpiProviderId: (id: number | null) => void;
}) {
// Convert incoming string -> Date | null using your parseLocalDate utility.
// parseLocalDate can throw for invalid strings, so guard with try/catch.
let startDateObj: Date | null = null;
if (startDate) {
try {
startDateObj = parseLocalDate(startDate);
} catch {
startDateObj = null;
}
try { startDateObj = parseLocalDate(startDate); } catch { startDateObj = null; }
}
let endDateObj: Date | null = null;
if (endDate) {
try {
endDateObj = parseLocalDate(endDate);
} catch {
endDateObj = null;
}
try { endDateObj = parseLocalDate(endDate); } catch { endDateObj = null; }
}
const { data: npiProviders = [] } = useQuery<NpiProvider[]>({
queryKey: ["/api/npiProviders/"],
queryFn: async () => {
const res = await apiRequest("GET", "/api/npiProviders/");
return res.json();
},
staleTime: 60_000,
});
return (
<Card>
<CardHeader>
@@ -67,17 +72,15 @@ export default function ReportConfig({
<CardContent className="space-y-4">
<div className="text-sm text-gray-500">
Choose the report type and date range.
Choose the report type, date range, and provider.
</div>
<div className="grid grid-cols-1 md:grid-cols-3 gap-4">
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4">
<div>
<DateInput
label="Start Date"
value={startDateObj}
onChange={(d) => {
setStartDate(d ? formatLocalDate(d) : "");
}}
onChange={(d) => setStartDate(d ? formatLocalDate(d) : "")}
disableFuture
/>
</div>
@@ -86,13 +89,33 @@ export default function ReportConfig({
<DateInput
label="End Date"
value={endDateObj}
onChange={(d) => {
setEndDate(d ? formatLocalDate(d) : "");
}}
onChange={(d) => setEndDate(d ? formatLocalDate(d) : "")}
disableFuture
/>
</div>
<div className="space-y-2">
<Label>Provider</Label>
<Select
value={npiProviderId?.toString() ?? "all"}
onValueChange={(v) =>
setNpiProviderId(v === "all" ? null : Number(v))
}
>
<SelectTrigger>
<SelectValue placeholder="All Providers" />
</SelectTrigger>
<SelectContent>
<SelectItem value="all">All Providers</SelectItem>
{npiProviders.map((p) => (
<SelectItem key={p.id} value={p.id.toString()}>
{p.providerName}
</SelectItem>
))}
</SelectContent>
</Select>
</div>
<div className="space-y-2">
<Label htmlFor="report-type">Report Type</Label>
<Select
@@ -106,9 +129,6 @@ export default function ReportConfig({
<SelectItem value="patients_with_balance">
Patients with Outstanding Balance
</SelectItem>
<SelectItem value="collections_by_doctor">
Collections by Doctor
</SelectItem>
<SelectItem value="patients_no_balance">
Patients with Zero Balance
</SelectItem>

View File

@@ -20,17 +20,19 @@ function fmtCurrency(v: number) {
export default function SummaryCards({
startDate,
endDate,
npiProviderId,
}: {
startDate: string;
endDate: string;
npiProviderId?: number | null;
}) {
// Query the server summary for the given date range
const { data, isLoading, isError } = useQuery<SummaryResp, Error>({
queryKey: ["/api/payments-reports/summary", startDate, endDate],
queryKey: ["/api/payments-reports/summary", startDate, endDate, npiProviderId ?? "all"],
queryFn: async () => {
const params = new URLSearchParams();
if (startDate) params.set("from", startDate);
if (endDate) params.set("to", endDate);
if (npiProviderId) params.set("npiProviderId", String(npiProviderId));
const endpoint = `/api/payments-reports/summary?${params.toString()}`;
const res = await apiRequest("GET", endpoint);
if (!res.ok) {

View File

@@ -2,14 +2,13 @@ import React, { useState } from "react";
import { useAuth } from "@/hooks/use-auth";
import ReportConfig from "@/components/reports/report-config";
import PatientsWithBalanceReport from "@/components/reports/patients-with-balance-report";
import CollectionsByDoctorReport from "@/components/reports/collections-by-doctor-report";
import SummaryCards from "@/components/reports/summary-cards";
import CommissionSection from "@/components/reports/commission-section";
type ReportType =
| "patients_with_balance"
| "patients_no_balance"
| "monthly_collections"
| "collections_by_doctor"
| "procedure_codes_by_doctor"
| "payment_methods"
| "insurance_vs_patient_payments"
@@ -30,6 +29,7 @@ export default function ReportPage() {
const [selectedReportType, setSelectedReportType] = useState<ReportType>(
"patients_with_balance"
);
const [npiProviderId, setNpiProviderId] = useState<number | null>(null);
if (!user) {
return (
@@ -59,25 +59,28 @@ export default function ReportPage() {
setEndDate={setEndDate}
selectedReportType={selectedReportType}
setSelectedReportType={setSelectedReportType}
npiProviderId={npiProviderId}
setNpiProviderId={setNpiProviderId}
/>
</div>
{/* SINGLE authoritative SummaryCards instance for the page */}
<div className="mb-4">
<SummaryCards startDate={startDate} endDate={endDate} />
<SummaryCards startDate={startDate} endDate={endDate} npiProviderId={npiProviderId} />
</div>
<div>
{selectedReportType === "patients_with_balance" && (
<PatientsWithBalanceReport startDate={startDate} endDate={endDate} />
)}
{selectedReportType === "collections_by_doctor" && (
<CollectionsByDoctorReport startDate={startDate} endDate={endDate} />
<PatientsWithBalanceReport startDate={startDate} endDate={endDate} npiProviderId={npiProviderId} />
)}
{/* Add other report components here as needed */}
</div>
{/* Commission section */}
<div className="mt-8">
<CommissionSection />
</div>
</div>
);
}

File diff suppressed because one or more lines are too long

View File

@@ -292,6 +292,7 @@ exports.Prisma.PaymentScalarFieldEnum = {
patientId: 'patientId',
userId: 'userId',
updatedById: 'updatedById',
npiProviderId: 'npiProviderId',
totalBilled: 'totalBilled',
totalPaid: 'totalPaid',
totalAdjusted: 'totalAdjusted',
@@ -471,6 +472,22 @@ exports.Prisma.PatientConversationScalarFieldEnum = {
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'
@@ -619,7 +636,9 @@ exports.Prisma.ModelName = {
OfficeContact: 'OfficeContact',
InsuranceContact: 'InsuranceContact',
ProcedureTimeslot: 'ProcedureTimeslot',
PatientConversation: 'PatientConversation'
PatientConversation: 'PatientConversation',
CommissionBatch: 'CommissionBatch',
CommissionBatchItem: 'CommissionBatchItem'
};
/**

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
{
"name": "prisma-client-f058d09dfd4869ea5203c66c2370bac837d95f1a5aaea0632641bf080a04b5d8",
"name": "prisma-client-5b5b9346ed4af83abd0e582aa65c578d9e0d4e5e4fa79702bd03a5c1fe1e9772",
"main": "index.js",
"types": "index.d.ts",
"browser": "default.js",

View File

@@ -152,6 +152,8 @@ model NpiProvider {
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
claims Claim[]
payments Payment[]
commissionBatches CommissionBatch[]
appointmentProcedures AppointmentProcedure[]
@@unique([userId, npiNumber])
@@ -333,6 +335,7 @@ model Payment {
patientId Int
userId Int
updatedById Int?
npiProviderId Int?
totalBilled Decimal @db.Decimal(10, 2)
totalPaid Decimal @default(0.00) @db.Decimal(10, 2)
totalAdjusted Decimal @default(0.00) @db.Decimal(10, 2)
@@ -349,8 +352,10 @@ model Payment {
claim Claim? @relation(fields: [claimId], references: [id], onDelete: Cascade)
patient Patient @relation(fields: [patientId], references: [id], onDelete: Cascade)
updatedBy User? @relation("PaymentUpdatedBy", fields: [updatedById], references: [id])
npiProvider NpiProvider? @relation(fields: [npiProviderId], references: [id])
serviceLineTransactions ServiceLineTransaction[]
serviceLines ServiceLine[]
commissionBatchItems CommissionBatchItem[]
@@index([claimId])
@@index([patientId])
@@ -650,3 +655,31 @@ model PatientConversation {
@@map("patient_conversation")
}
// Commission tracking
model CommissionBatch {
id Int @id @default(autoincrement())
npiProviderId Int
totalCollection Decimal @db.Decimal(14, 2)
commissionAmount Decimal @db.Decimal(14, 2)
notes String?
createdAt DateTime @default(now())
npiProvider NpiProvider @relation(fields: [npiProviderId], references: [id])
items CommissionBatchItem[]
@@index([npiProviderId])
}
model CommissionBatchItem {
id Int @id @default(autoincrement())
commissionBatchId Int
paymentId Int
collectionAmount Decimal @db.Decimal(14, 2)
commissionBatch CommissionBatch @relation(fields: [commissionBatchId], references: [id], onDelete: Cascade)
payment Payment @relation(fields: [paymentId], references: [id])
@@unique([commissionBatchId, paymentId])
@@index([paymentId])
}

View File

@@ -152,6 +152,8 @@ model NpiProvider {
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
claims Claim[]
payments Payment[]
commissionBatches CommissionBatch[]
appointmentProcedures AppointmentProcedure[]
@@unique([userId, npiNumber])
@@ -334,6 +336,7 @@ model Payment {
patientId Int
userId Int
updatedById Int?
npiProviderId Int?
totalBilled Decimal @db.Decimal(10, 2)
totalPaid Decimal @default(0.00) @db.Decimal(10, 2)
totalAdjusted Decimal @default(0.00) @db.Decimal(10, 2)
@@ -350,8 +353,10 @@ model Payment {
claim Claim? @relation(fields: [claimId], references: [id], onDelete: Cascade)
patient Patient @relation(fields: [patientId], references: [id], onDelete: Cascade)
updatedBy User? @relation("PaymentUpdatedBy", fields: [updatedById], references: [id])
npiProvider NpiProvider? @relation(fields: [npiProviderId], references: [id])
serviceLineTransactions ServiceLineTransaction[]
serviceLines ServiceLine[]
commissionBatchItems CommissionBatchItem[]
@@index([claimId])
@@index([patientId])
@@ -651,3 +656,31 @@ model PatientConversation {
@@map("patient_conversation")
}
// Commission tracking
model CommissionBatch {
id Int @id @default(autoincrement())
npiProviderId Int
totalCollection Decimal @db.Decimal(14, 2)
commissionAmount Decimal @db.Decimal(14, 2)
notes String?
createdAt DateTime @default(now())
npiProvider NpiProvider @relation(fields: [npiProviderId], references: [id])
items CommissionBatchItem[]
@@index([npiProviderId])
}
model CommissionBatchItem {
id Int @id @default(autoincrement())
commissionBatchId Int
paymentId Int
collectionAmount Decimal @db.Decimal(14, 2)
commissionBatch CommissionBatch @relation(fields: [commissionBatchId], references: [id], onDelete: Cascade)
payment Payment @relation(fields: [paymentId], references: [id])
@@unique([commissionBatchId, paymentId])
@@index([paymentId])
}

View File

@@ -1,7 +1,7 @@
{
"version": "1.0",
"generatorVersion": "1.0.0",
"generatedAt": "2026-05-14T18:13:16.768Z",
"generatedAt": "2026-05-16T03:17:00.434Z",
"outputPath": "/home/ee/Desktop/DentalManagementMH05/packages/db/shared",
"files": [
"schemas/enums/TransactionIsolationLevel.schema.ts",
@@ -36,6 +36,8 @@
"schemas/enums/InsuranceContactScalarFieldEnum.schema.ts",
"schemas/enums/ProcedureTimeslotScalarFieldEnum.schema.ts",
"schemas/enums/PatientConversationScalarFieldEnum.schema.ts",
"schemas/enums/CommissionBatchScalarFieldEnum.schema.ts",
"schemas/enums/CommissionBatchItemScalarFieldEnum.schema.ts",
"schemas/enums/SortOrder.schema.ts",
"schemas/enums/NullableJsonNullValueInput.schema.ts",
"schemas/enums/JsonNullValueInput.schema.ts",
@@ -209,6 +211,16 @@
"schemas/objects/PatientConversationWhereUniqueInput.schema.ts",
"schemas/objects/PatientConversationOrderByWithAggregationInput.schema.ts",
"schemas/objects/PatientConversationScalarWhereWithAggregatesInput.schema.ts",
"schemas/objects/CommissionBatchWhereInput.schema.ts",
"schemas/objects/CommissionBatchOrderByWithRelationInput.schema.ts",
"schemas/objects/CommissionBatchWhereUniqueInput.schema.ts",
"schemas/objects/CommissionBatchOrderByWithAggregationInput.schema.ts",
"schemas/objects/CommissionBatchScalarWhereWithAggregatesInput.schema.ts",
"schemas/objects/CommissionBatchItemWhereInput.schema.ts",
"schemas/objects/CommissionBatchItemOrderByWithRelationInput.schema.ts",
"schemas/objects/CommissionBatchItemWhereUniqueInput.schema.ts",
"schemas/objects/CommissionBatchItemOrderByWithAggregationInput.schema.ts",
"schemas/objects/CommissionBatchItemScalarWhereWithAggregatesInput.schema.ts",
"schemas/objects/UserCreateInput.schema.ts",
"schemas/objects/UserUncheckedCreateInput.schema.ts",
"schemas/objects/UserUpdateInput.schema.ts",
@@ -426,6 +438,20 @@
"schemas/objects/PatientConversationCreateManyInput.schema.ts",
"schemas/objects/PatientConversationUpdateManyMutationInput.schema.ts",
"schemas/objects/PatientConversationUncheckedUpdateManyInput.schema.ts",
"schemas/objects/CommissionBatchCreateInput.schema.ts",
"schemas/objects/CommissionBatchUncheckedCreateInput.schema.ts",
"schemas/objects/CommissionBatchUpdateInput.schema.ts",
"schemas/objects/CommissionBatchUncheckedUpdateInput.schema.ts",
"schemas/objects/CommissionBatchCreateManyInput.schema.ts",
"schemas/objects/CommissionBatchUpdateManyMutationInput.schema.ts",
"schemas/objects/CommissionBatchUncheckedUpdateManyInput.schema.ts",
"schemas/objects/CommissionBatchItemCreateInput.schema.ts",
"schemas/objects/CommissionBatchItemUncheckedCreateInput.schema.ts",
"schemas/objects/CommissionBatchItemUpdateInput.schema.ts",
"schemas/objects/CommissionBatchItemUncheckedUpdateInput.schema.ts",
"schemas/objects/CommissionBatchItemCreateManyInput.schema.ts",
"schemas/objects/CommissionBatchItemUpdateManyMutationInput.schema.ts",
"schemas/objects/CommissionBatchItemUncheckedUpdateManyInput.schema.ts",
"schemas/objects/IntFilter.schema.ts",
"schemas/objects/StringFilter.schema.ts",
"schemas/objects/BoolFilter.schema.ts",
@@ -515,6 +541,8 @@
"schemas/objects/StaffMaxOrderByAggregateInput.schema.ts",
"schemas/objects/StaffMinOrderByAggregateInput.schema.ts",
"schemas/objects/StaffSumOrderByAggregateInput.schema.ts",
"schemas/objects/CommissionBatchListRelationFilter.schema.ts",
"schemas/objects/CommissionBatchOrderByRelationAggregateInput.schema.ts",
"schemas/objects/NpiProviderUserIdNpiNumberCompoundUniqueInput.schema.ts",
"schemas/objects/NpiProviderCountOrderByAggregateInput.schema.ts",
"schemas/objects/NpiProviderAvgOrderByAggregateInput.schema.ts",
@@ -591,6 +619,8 @@
"schemas/objects/PdfFileSumOrderByAggregateInput.schema.ts",
"schemas/objects/BytesWithAggregatesFilter.schema.ts",
"schemas/objects/EnumPaymentStatusFilter.schema.ts",
"schemas/objects/CommissionBatchItemListRelationFilter.schema.ts",
"schemas/objects/CommissionBatchItemOrderByRelationAggregateInput.schema.ts",
"schemas/objects/PaymentCountOrderByAggregateInput.schema.ts",
"schemas/objects/PaymentAvgOrderByAggregateInput.schema.ts",
"schemas/objects/PaymentMaxOrderByAggregateInput.schema.ts",
@@ -704,6 +734,19 @@
"schemas/objects/PatientConversationMaxOrderByAggregateInput.schema.ts",
"schemas/objects/PatientConversationMinOrderByAggregateInput.schema.ts",
"schemas/objects/PatientConversationSumOrderByAggregateInput.schema.ts",
"schemas/objects/NpiProviderScalarRelationFilter.schema.ts",
"schemas/objects/CommissionBatchCountOrderByAggregateInput.schema.ts",
"schemas/objects/CommissionBatchAvgOrderByAggregateInput.schema.ts",
"schemas/objects/CommissionBatchMaxOrderByAggregateInput.schema.ts",
"schemas/objects/CommissionBatchMinOrderByAggregateInput.schema.ts",
"schemas/objects/CommissionBatchSumOrderByAggregateInput.schema.ts",
"schemas/objects/CommissionBatchScalarRelationFilter.schema.ts",
"schemas/objects/CommissionBatchItemCommissionBatchIdPaymentIdCompoundUniqueInput.schema.ts",
"schemas/objects/CommissionBatchItemCountOrderByAggregateInput.schema.ts",
"schemas/objects/CommissionBatchItemAvgOrderByAggregateInput.schema.ts",
"schemas/objects/CommissionBatchItemMaxOrderByAggregateInput.schema.ts",
"schemas/objects/CommissionBatchItemMinOrderByAggregateInput.schema.ts",
"schemas/objects/CommissionBatchItemSumOrderByAggregateInput.schema.ts",
"schemas/objects/PatientCreateNestedManyWithoutUserInput.schema.ts",
"schemas/objects/AppointmentCreateNestedManyWithoutUserInput.schema.ts",
"schemas/objects/StaffCreateNestedManyWithoutUserInput.schema.ts",
@@ -857,13 +900,21 @@
"schemas/objects/ClaimUncheckedUpdateManyWithoutStaffNestedInput.schema.ts",
"schemas/objects/UserCreateNestedOneWithoutNpiProvidersInput.schema.ts",
"schemas/objects/ClaimCreateNestedManyWithoutNpiProviderInput.schema.ts",
"schemas/objects/PaymentCreateNestedManyWithoutNpiProviderInput.schema.ts",
"schemas/objects/CommissionBatchCreateNestedManyWithoutNpiProviderInput.schema.ts",
"schemas/objects/AppointmentProcedureCreateNestedManyWithoutNpiProviderInput.schema.ts",
"schemas/objects/ClaimUncheckedCreateNestedManyWithoutNpiProviderInput.schema.ts",
"schemas/objects/PaymentUncheckedCreateNestedManyWithoutNpiProviderInput.schema.ts",
"schemas/objects/CommissionBatchUncheckedCreateNestedManyWithoutNpiProviderInput.schema.ts",
"schemas/objects/AppointmentProcedureUncheckedCreateNestedManyWithoutNpiProviderInput.schema.ts",
"schemas/objects/UserUpdateOneRequiredWithoutNpiProvidersNestedInput.schema.ts",
"schemas/objects/ClaimUpdateManyWithoutNpiProviderNestedInput.schema.ts",
"schemas/objects/PaymentUpdateManyWithoutNpiProviderNestedInput.schema.ts",
"schemas/objects/CommissionBatchUpdateManyWithoutNpiProviderNestedInput.schema.ts",
"schemas/objects/AppointmentProcedureUpdateManyWithoutNpiProviderNestedInput.schema.ts",
"schemas/objects/ClaimUncheckedUpdateManyWithoutNpiProviderNestedInput.schema.ts",
"schemas/objects/PaymentUncheckedUpdateManyWithoutNpiProviderNestedInput.schema.ts",
"schemas/objects/CommissionBatchUncheckedUpdateManyWithoutNpiProviderNestedInput.schema.ts",
"schemas/objects/AppointmentProcedureUncheckedUpdateManyWithoutNpiProviderNestedInput.schema.ts",
"schemas/objects/AppointmentCreateNestedOneWithoutProceduresInput.schema.ts",
"schemas/objects/PatientCreateNestedOneWithoutProceduresInput.schema.ts",
@@ -925,18 +976,24 @@
"schemas/objects/ClaimCreateNestedOneWithoutPaymentInput.schema.ts",
"schemas/objects/PatientCreateNestedOneWithoutPaymentInput.schema.ts",
"schemas/objects/UserCreateNestedOneWithoutUpdatedPaymentsInput.schema.ts",
"schemas/objects/NpiProviderCreateNestedOneWithoutPaymentsInput.schema.ts",
"schemas/objects/ServiceLineTransactionCreateNestedManyWithoutPaymentInput.schema.ts",
"schemas/objects/ServiceLineCreateNestedManyWithoutPaymentInput.schema.ts",
"schemas/objects/CommissionBatchItemCreateNestedManyWithoutPaymentInput.schema.ts",
"schemas/objects/ServiceLineTransactionUncheckedCreateNestedManyWithoutPaymentInput.schema.ts",
"schemas/objects/ServiceLineUncheckedCreateNestedManyWithoutPaymentInput.schema.ts",
"schemas/objects/CommissionBatchItemUncheckedCreateNestedManyWithoutPaymentInput.schema.ts",
"schemas/objects/EnumPaymentStatusFieldUpdateOperationsInput.schema.ts",
"schemas/objects/ClaimUpdateOneWithoutPaymentNestedInput.schema.ts",
"schemas/objects/PatientUpdateOneRequiredWithoutPaymentNestedInput.schema.ts",
"schemas/objects/UserUpdateOneWithoutUpdatedPaymentsNestedInput.schema.ts",
"schemas/objects/NpiProviderUpdateOneWithoutPaymentsNestedInput.schema.ts",
"schemas/objects/ServiceLineTransactionUpdateManyWithoutPaymentNestedInput.schema.ts",
"schemas/objects/ServiceLineUpdateManyWithoutPaymentNestedInput.schema.ts",
"schemas/objects/CommissionBatchItemUpdateManyWithoutPaymentNestedInput.schema.ts",
"schemas/objects/ServiceLineTransactionUncheckedUpdateManyWithoutPaymentNestedInput.schema.ts",
"schemas/objects/ServiceLineUncheckedUpdateManyWithoutPaymentNestedInput.schema.ts",
"schemas/objects/CommissionBatchItemUncheckedUpdateManyWithoutPaymentNestedInput.schema.ts",
"schemas/objects/PaymentCreateNestedOneWithoutServiceLineTransactionsInput.schema.ts",
"schemas/objects/ServiceLineCreateNestedOneWithoutServiceLineTransactionsInput.schema.ts",
"schemas/objects/EnumPaymentMethodFieldUpdateOperationsInput.schema.ts",
@@ -997,6 +1054,16 @@
"schemas/objects/UserCreateNestedOneWithoutPatientConversationsInput.schema.ts",
"schemas/objects/PatientUpdateOneRequiredWithoutConversationNestedInput.schema.ts",
"schemas/objects/UserUpdateOneRequiredWithoutPatientConversationsNestedInput.schema.ts",
"schemas/objects/NpiProviderCreateNestedOneWithoutCommissionBatchesInput.schema.ts",
"schemas/objects/CommissionBatchItemCreateNestedManyWithoutCommissionBatchInput.schema.ts",
"schemas/objects/CommissionBatchItemUncheckedCreateNestedManyWithoutCommissionBatchInput.schema.ts",
"schemas/objects/NpiProviderUpdateOneRequiredWithoutCommissionBatchesNestedInput.schema.ts",
"schemas/objects/CommissionBatchItemUpdateManyWithoutCommissionBatchNestedInput.schema.ts",
"schemas/objects/CommissionBatchItemUncheckedUpdateManyWithoutCommissionBatchNestedInput.schema.ts",
"schemas/objects/CommissionBatchCreateNestedOneWithoutItemsInput.schema.ts",
"schemas/objects/PaymentCreateNestedOneWithoutCommissionBatchItemsInput.schema.ts",
"schemas/objects/CommissionBatchUpdateOneRequiredWithoutItemsNestedInput.schema.ts",
"schemas/objects/PaymentUpdateOneRequiredWithoutCommissionBatchItemsNestedInput.schema.ts",
"schemas/objects/NestedIntFilter.schema.ts",
"schemas/objects/NestedStringFilter.schema.ts",
"schemas/objects/NestedBoolFilter.schema.ts",
@@ -1346,6 +1413,14 @@
"schemas/objects/ClaimUncheckedCreateWithoutNpiProviderInput.schema.ts",
"schemas/objects/ClaimCreateOrConnectWithoutNpiProviderInput.schema.ts",
"schemas/objects/ClaimCreateManyNpiProviderInputEnvelope.schema.ts",
"schemas/objects/PaymentCreateWithoutNpiProviderInput.schema.ts",
"schemas/objects/PaymentUncheckedCreateWithoutNpiProviderInput.schema.ts",
"schemas/objects/PaymentCreateOrConnectWithoutNpiProviderInput.schema.ts",
"schemas/objects/PaymentCreateManyNpiProviderInputEnvelope.schema.ts",
"schemas/objects/CommissionBatchCreateWithoutNpiProviderInput.schema.ts",
"schemas/objects/CommissionBatchUncheckedCreateWithoutNpiProviderInput.schema.ts",
"schemas/objects/CommissionBatchCreateOrConnectWithoutNpiProviderInput.schema.ts",
"schemas/objects/CommissionBatchCreateManyNpiProviderInputEnvelope.schema.ts",
"schemas/objects/AppointmentProcedureCreateWithoutNpiProviderInput.schema.ts",
"schemas/objects/AppointmentProcedureUncheckedCreateWithoutNpiProviderInput.schema.ts",
"schemas/objects/AppointmentProcedureCreateOrConnectWithoutNpiProviderInput.schema.ts",
@@ -1357,6 +1432,13 @@
"schemas/objects/ClaimUpsertWithWhereUniqueWithoutNpiProviderInput.schema.ts",
"schemas/objects/ClaimUpdateWithWhereUniqueWithoutNpiProviderInput.schema.ts",
"schemas/objects/ClaimUpdateManyWithWhereWithoutNpiProviderInput.schema.ts",
"schemas/objects/PaymentUpsertWithWhereUniqueWithoutNpiProviderInput.schema.ts",
"schemas/objects/PaymentUpdateWithWhereUniqueWithoutNpiProviderInput.schema.ts",
"schemas/objects/PaymentUpdateManyWithWhereWithoutNpiProviderInput.schema.ts",
"schemas/objects/CommissionBatchUpsertWithWhereUniqueWithoutNpiProviderInput.schema.ts",
"schemas/objects/CommissionBatchUpdateWithWhereUniqueWithoutNpiProviderInput.schema.ts",
"schemas/objects/CommissionBatchUpdateManyWithWhereWithoutNpiProviderInput.schema.ts",
"schemas/objects/CommissionBatchScalarWhereInput.schema.ts",
"schemas/objects/AppointmentProcedureUpsertWithWhereUniqueWithoutNpiProviderInput.schema.ts",
"schemas/objects/AppointmentProcedureUpdateWithWhereUniqueWithoutNpiProviderInput.schema.ts",
"schemas/objects/AppointmentProcedureUpdateManyWithWhereWithoutNpiProviderInput.schema.ts",
@@ -1506,6 +1588,9 @@
"schemas/objects/UserCreateWithoutUpdatedPaymentsInput.schema.ts",
"schemas/objects/UserUncheckedCreateWithoutUpdatedPaymentsInput.schema.ts",
"schemas/objects/UserCreateOrConnectWithoutUpdatedPaymentsInput.schema.ts",
"schemas/objects/NpiProviderCreateWithoutPaymentsInput.schema.ts",
"schemas/objects/NpiProviderUncheckedCreateWithoutPaymentsInput.schema.ts",
"schemas/objects/NpiProviderCreateOrConnectWithoutPaymentsInput.schema.ts",
"schemas/objects/ServiceLineTransactionCreateWithoutPaymentInput.schema.ts",
"schemas/objects/ServiceLineTransactionUncheckedCreateWithoutPaymentInput.schema.ts",
"schemas/objects/ServiceLineTransactionCreateOrConnectWithoutPaymentInput.schema.ts",
@@ -1514,6 +1599,10 @@
"schemas/objects/ServiceLineUncheckedCreateWithoutPaymentInput.schema.ts",
"schemas/objects/ServiceLineCreateOrConnectWithoutPaymentInput.schema.ts",
"schemas/objects/ServiceLineCreateManyPaymentInputEnvelope.schema.ts",
"schemas/objects/CommissionBatchItemCreateWithoutPaymentInput.schema.ts",
"schemas/objects/CommissionBatchItemUncheckedCreateWithoutPaymentInput.schema.ts",
"schemas/objects/CommissionBatchItemCreateOrConnectWithoutPaymentInput.schema.ts",
"schemas/objects/CommissionBatchItemCreateManyPaymentInputEnvelope.schema.ts",
"schemas/objects/ClaimUpsertWithoutPaymentInput.schema.ts",
"schemas/objects/ClaimUpdateToOneWithWhereWithoutPaymentInput.schema.ts",
"schemas/objects/ClaimUpdateWithoutPaymentInput.schema.ts",
@@ -1526,12 +1615,20 @@
"schemas/objects/UserUpdateToOneWithWhereWithoutUpdatedPaymentsInput.schema.ts",
"schemas/objects/UserUpdateWithoutUpdatedPaymentsInput.schema.ts",
"schemas/objects/UserUncheckedUpdateWithoutUpdatedPaymentsInput.schema.ts",
"schemas/objects/NpiProviderUpsertWithoutPaymentsInput.schema.ts",
"schemas/objects/NpiProviderUpdateToOneWithWhereWithoutPaymentsInput.schema.ts",
"schemas/objects/NpiProviderUpdateWithoutPaymentsInput.schema.ts",
"schemas/objects/NpiProviderUncheckedUpdateWithoutPaymentsInput.schema.ts",
"schemas/objects/ServiceLineTransactionUpsertWithWhereUniqueWithoutPaymentInput.schema.ts",
"schemas/objects/ServiceLineTransactionUpdateWithWhereUniqueWithoutPaymentInput.schema.ts",
"schemas/objects/ServiceLineTransactionUpdateManyWithWhereWithoutPaymentInput.schema.ts",
"schemas/objects/ServiceLineUpsertWithWhereUniqueWithoutPaymentInput.schema.ts",
"schemas/objects/ServiceLineUpdateWithWhereUniqueWithoutPaymentInput.schema.ts",
"schemas/objects/ServiceLineUpdateManyWithWhereWithoutPaymentInput.schema.ts",
"schemas/objects/CommissionBatchItemUpsertWithWhereUniqueWithoutPaymentInput.schema.ts",
"schemas/objects/CommissionBatchItemUpdateWithWhereUniqueWithoutPaymentInput.schema.ts",
"schemas/objects/CommissionBatchItemUpdateManyWithWhereWithoutPaymentInput.schema.ts",
"schemas/objects/CommissionBatchItemScalarWhereInput.schema.ts",
"schemas/objects/PaymentCreateWithoutServiceLineTransactionsInput.schema.ts",
"schemas/objects/PaymentUncheckedCreateWithoutServiceLineTransactionsInput.schema.ts",
"schemas/objects/PaymentCreateOrConnectWithoutServiceLineTransactionsInput.schema.ts",
@@ -1701,6 +1798,34 @@
"schemas/objects/UserUpdateToOneWithWhereWithoutPatientConversationsInput.schema.ts",
"schemas/objects/UserUpdateWithoutPatientConversationsInput.schema.ts",
"schemas/objects/UserUncheckedUpdateWithoutPatientConversationsInput.schema.ts",
"schemas/objects/NpiProviderCreateWithoutCommissionBatchesInput.schema.ts",
"schemas/objects/NpiProviderUncheckedCreateWithoutCommissionBatchesInput.schema.ts",
"schemas/objects/NpiProviderCreateOrConnectWithoutCommissionBatchesInput.schema.ts",
"schemas/objects/CommissionBatchItemCreateWithoutCommissionBatchInput.schema.ts",
"schemas/objects/CommissionBatchItemUncheckedCreateWithoutCommissionBatchInput.schema.ts",
"schemas/objects/CommissionBatchItemCreateOrConnectWithoutCommissionBatchInput.schema.ts",
"schemas/objects/CommissionBatchItemCreateManyCommissionBatchInputEnvelope.schema.ts",
"schemas/objects/NpiProviderUpsertWithoutCommissionBatchesInput.schema.ts",
"schemas/objects/NpiProviderUpdateToOneWithWhereWithoutCommissionBatchesInput.schema.ts",
"schemas/objects/NpiProviderUpdateWithoutCommissionBatchesInput.schema.ts",
"schemas/objects/NpiProviderUncheckedUpdateWithoutCommissionBatchesInput.schema.ts",
"schemas/objects/CommissionBatchItemUpsertWithWhereUniqueWithoutCommissionBatchInput.schema.ts",
"schemas/objects/CommissionBatchItemUpdateWithWhereUniqueWithoutCommissionBatchInput.schema.ts",
"schemas/objects/CommissionBatchItemUpdateManyWithWhereWithoutCommissionBatchInput.schema.ts",
"schemas/objects/CommissionBatchCreateWithoutItemsInput.schema.ts",
"schemas/objects/CommissionBatchUncheckedCreateWithoutItemsInput.schema.ts",
"schemas/objects/CommissionBatchCreateOrConnectWithoutItemsInput.schema.ts",
"schemas/objects/PaymentCreateWithoutCommissionBatchItemsInput.schema.ts",
"schemas/objects/PaymentUncheckedCreateWithoutCommissionBatchItemsInput.schema.ts",
"schemas/objects/PaymentCreateOrConnectWithoutCommissionBatchItemsInput.schema.ts",
"schemas/objects/CommissionBatchUpsertWithoutItemsInput.schema.ts",
"schemas/objects/CommissionBatchUpdateToOneWithWhereWithoutItemsInput.schema.ts",
"schemas/objects/CommissionBatchUpdateWithoutItemsInput.schema.ts",
"schemas/objects/CommissionBatchUncheckedUpdateWithoutItemsInput.schema.ts",
"schemas/objects/PaymentUpsertWithoutCommissionBatchItemsInput.schema.ts",
"schemas/objects/PaymentUpdateToOneWithWhereWithoutCommissionBatchItemsInput.schema.ts",
"schemas/objects/PaymentUpdateWithoutCommissionBatchItemsInput.schema.ts",
"schemas/objects/PaymentUncheckedUpdateWithoutCommissionBatchItemsInput.schema.ts",
"schemas/objects/PatientCreateManyUserInput.schema.ts",
"schemas/objects/AppointmentCreateManyUserInput.schema.ts",
"schemas/objects/StaffCreateManyUserInput.schema.ts",
@@ -1810,10 +1935,18 @@
"schemas/objects/ClaimUncheckedUpdateWithoutStaffInput.schema.ts",
"schemas/objects/ClaimUncheckedUpdateManyWithoutStaffInput.schema.ts",
"schemas/objects/ClaimCreateManyNpiProviderInput.schema.ts",
"schemas/objects/PaymentCreateManyNpiProviderInput.schema.ts",
"schemas/objects/CommissionBatchCreateManyNpiProviderInput.schema.ts",
"schemas/objects/AppointmentProcedureCreateManyNpiProviderInput.schema.ts",
"schemas/objects/ClaimUpdateWithoutNpiProviderInput.schema.ts",
"schemas/objects/ClaimUncheckedUpdateWithoutNpiProviderInput.schema.ts",
"schemas/objects/ClaimUncheckedUpdateManyWithoutNpiProviderInput.schema.ts",
"schemas/objects/PaymentUpdateWithoutNpiProviderInput.schema.ts",
"schemas/objects/PaymentUncheckedUpdateWithoutNpiProviderInput.schema.ts",
"schemas/objects/PaymentUncheckedUpdateManyWithoutNpiProviderInput.schema.ts",
"schemas/objects/CommissionBatchUpdateWithoutNpiProviderInput.schema.ts",
"schemas/objects/CommissionBatchUncheckedUpdateWithoutNpiProviderInput.schema.ts",
"schemas/objects/CommissionBatchUncheckedUpdateManyWithoutNpiProviderInput.schema.ts",
"schemas/objects/AppointmentProcedureUpdateWithoutNpiProviderInput.schema.ts",
"schemas/objects/AppointmentProcedureUncheckedUpdateWithoutNpiProviderInput.schema.ts",
"schemas/objects/AppointmentProcedureUncheckedUpdateManyWithoutNpiProviderInput.schema.ts",
@@ -1835,12 +1968,16 @@
"schemas/objects/PdfFileUncheckedUpdateManyWithoutGroupInput.schema.ts",
"schemas/objects/ServiceLineTransactionCreateManyPaymentInput.schema.ts",
"schemas/objects/ServiceLineCreateManyPaymentInput.schema.ts",
"schemas/objects/CommissionBatchItemCreateManyPaymentInput.schema.ts",
"schemas/objects/ServiceLineTransactionUpdateWithoutPaymentInput.schema.ts",
"schemas/objects/ServiceLineTransactionUncheckedUpdateWithoutPaymentInput.schema.ts",
"schemas/objects/ServiceLineTransactionUncheckedUpdateManyWithoutPaymentInput.schema.ts",
"schemas/objects/ServiceLineUpdateWithoutPaymentInput.schema.ts",
"schemas/objects/ServiceLineUncheckedUpdateWithoutPaymentInput.schema.ts",
"schemas/objects/ServiceLineUncheckedUpdateManyWithoutPaymentInput.schema.ts",
"schemas/objects/CommissionBatchItemUpdateWithoutPaymentInput.schema.ts",
"schemas/objects/CommissionBatchItemUncheckedUpdateWithoutPaymentInput.schema.ts",
"schemas/objects/CommissionBatchItemUncheckedUpdateManyWithoutPaymentInput.schema.ts",
"schemas/objects/CloudFolderCreateManyParentInput.schema.ts",
"schemas/objects/CloudFileCreateManyFolderInput.schema.ts",
"schemas/objects/CloudFolderUpdateWithoutParentInput.schema.ts",
@@ -1853,6 +1990,10 @@
"schemas/objects/CloudFileChunkUpdateWithoutFileInput.schema.ts",
"schemas/objects/CloudFileChunkUncheckedUpdateWithoutFileInput.schema.ts",
"schemas/objects/CloudFileChunkUncheckedUpdateManyWithoutFileInput.schema.ts",
"schemas/objects/CommissionBatchItemCreateManyCommissionBatchInput.schema.ts",
"schemas/objects/CommissionBatchItemUpdateWithoutCommissionBatchInput.schema.ts",
"schemas/objects/CommissionBatchItemUncheckedUpdateWithoutCommissionBatchInput.schema.ts",
"schemas/objects/CommissionBatchItemUncheckedUpdateManyWithoutCommissionBatchInput.schema.ts",
"schemas/objects/UserCountAggregateInput.schema.ts",
"schemas/objects/UserAvgAggregateInput.schema.ts",
"schemas/objects/UserSumAggregateInput.schema.ts",
@@ -2008,6 +2149,16 @@
"schemas/objects/PatientConversationSumAggregateInput.schema.ts",
"schemas/objects/PatientConversationMinAggregateInput.schema.ts",
"schemas/objects/PatientConversationMaxAggregateInput.schema.ts",
"schemas/objects/CommissionBatchCountAggregateInput.schema.ts",
"schemas/objects/CommissionBatchAvgAggregateInput.schema.ts",
"schemas/objects/CommissionBatchSumAggregateInput.schema.ts",
"schemas/objects/CommissionBatchMinAggregateInput.schema.ts",
"schemas/objects/CommissionBatchMaxAggregateInput.schema.ts",
"schemas/objects/CommissionBatchItemCountAggregateInput.schema.ts",
"schemas/objects/CommissionBatchItemAvgAggregateInput.schema.ts",
"schemas/objects/CommissionBatchItemSumAggregateInput.schema.ts",
"schemas/objects/CommissionBatchItemMinAggregateInput.schema.ts",
"schemas/objects/CommissionBatchItemMaxAggregateInput.schema.ts",
"schemas/objects/UserCountOutputTypeSelect.schema.ts",
"schemas/objects/PatientCountOutputTypeSelect.schema.ts",
"schemas/objects/AppointmentCountOutputTypeSelect.schema.ts",
@@ -2019,6 +2170,7 @@
"schemas/objects/PaymentCountOutputTypeSelect.schema.ts",
"schemas/objects/CloudFolderCountOutputTypeSelect.schema.ts",
"schemas/objects/CloudFileCountOutputTypeSelect.schema.ts",
"schemas/objects/CommissionBatchCountOutputTypeSelect.schema.ts",
"schemas/objects/UserCountOutputTypeArgs.schema.ts",
"schemas/objects/UserCountOutputTypeCountPatientsArgs.schema.ts",
"schemas/objects/UserCountOutputTypeCountAppointmentsArgs.schema.ts",
@@ -2052,6 +2204,8 @@
"schemas/objects/StaffCountOutputTypeCountClaimsArgs.schema.ts",
"schemas/objects/NpiProviderCountOutputTypeArgs.schema.ts",
"schemas/objects/NpiProviderCountOutputTypeCountClaimsArgs.schema.ts",
"schemas/objects/NpiProviderCountOutputTypeCountPaymentsArgs.schema.ts",
"schemas/objects/NpiProviderCountOutputTypeCountCommissionBatchesArgs.schema.ts",
"schemas/objects/NpiProviderCountOutputTypeCountAppointmentProceduresArgs.schema.ts",
"schemas/objects/ClaimCountOutputTypeArgs.schema.ts",
"schemas/objects/ClaimCountOutputTypeCountServiceLinesArgs.schema.ts",
@@ -2063,11 +2217,14 @@
"schemas/objects/PaymentCountOutputTypeArgs.schema.ts",
"schemas/objects/PaymentCountOutputTypeCountServiceLineTransactionsArgs.schema.ts",
"schemas/objects/PaymentCountOutputTypeCountServiceLinesArgs.schema.ts",
"schemas/objects/PaymentCountOutputTypeCountCommissionBatchItemsArgs.schema.ts",
"schemas/objects/CloudFolderCountOutputTypeArgs.schema.ts",
"schemas/objects/CloudFolderCountOutputTypeCountChildrenArgs.schema.ts",
"schemas/objects/CloudFolderCountOutputTypeCountFilesArgs.schema.ts",
"schemas/objects/CloudFileCountOutputTypeArgs.schema.ts",
"schemas/objects/CloudFileCountOutputTypeCountChunksArgs.schema.ts",
"schemas/objects/CommissionBatchCountOutputTypeArgs.schema.ts",
"schemas/objects/CommissionBatchCountOutputTypeCountItemsArgs.schema.ts",
"schemas/objects/UserSelect.schema.ts",
"schemas/objects/PatientSelect.schema.ts",
"schemas/objects/AppointmentSelect.schema.ts",
@@ -2099,6 +2256,8 @@
"schemas/objects/InsuranceContactSelect.schema.ts",
"schemas/objects/ProcedureTimeslotSelect.schema.ts",
"schemas/objects/PatientConversationSelect.schema.ts",
"schemas/objects/CommissionBatchSelect.schema.ts",
"schemas/objects/CommissionBatchItemSelect.schema.ts",
"schemas/objects/UserArgs.schema.ts",
"schemas/objects/PatientArgs.schema.ts",
"schemas/objects/AppointmentArgs.schema.ts",
@@ -2130,6 +2289,8 @@
"schemas/objects/InsuranceContactArgs.schema.ts",
"schemas/objects/ProcedureTimeslotArgs.schema.ts",
"schemas/objects/PatientConversationArgs.schema.ts",
"schemas/objects/CommissionBatchArgs.schema.ts",
"schemas/objects/CommissionBatchItemArgs.schema.ts",
"schemas/objects/UserInclude.schema.ts",
"schemas/objects/PatientInclude.schema.ts",
"schemas/objects/AppointmentInclude.schema.ts",
@@ -2160,6 +2321,8 @@
"schemas/objects/InsuranceContactInclude.schema.ts",
"schemas/objects/ProcedureTimeslotInclude.schema.ts",
"schemas/objects/PatientConversationInclude.schema.ts",
"schemas/objects/CommissionBatchInclude.schema.ts",
"schemas/objects/CommissionBatchItemInclude.schema.ts",
"schemas/findUniqueUser.schema.ts",
"schemas/findUniqueOrThrowUser.schema.ts",
"schemas/findFirstUser.schema.ts",
@@ -2687,6 +2850,40 @@
"schemas/upsertOnePatientConversation.schema.ts",
"schemas/aggregatePatientConversation.schema.ts",
"schemas/groupByPatientConversation.schema.ts",
"schemas/findUniqueCommissionBatch.schema.ts",
"schemas/findUniqueOrThrowCommissionBatch.schema.ts",
"schemas/findFirstCommissionBatch.schema.ts",
"schemas/findFirstOrThrowCommissionBatch.schema.ts",
"schemas/findManyCommissionBatch.schema.ts",
"schemas/countCommissionBatch.schema.ts",
"schemas/createOneCommissionBatch.schema.ts",
"schemas/createManyCommissionBatch.schema.ts",
"schemas/createManyAndReturnCommissionBatch.schema.ts",
"schemas/deleteOneCommissionBatch.schema.ts",
"schemas/deleteManyCommissionBatch.schema.ts",
"schemas/updateOneCommissionBatch.schema.ts",
"schemas/updateManyCommissionBatch.schema.ts",
"schemas/updateManyAndReturnCommissionBatch.schema.ts",
"schemas/upsertOneCommissionBatch.schema.ts",
"schemas/aggregateCommissionBatch.schema.ts",
"schemas/groupByCommissionBatch.schema.ts",
"schemas/findUniqueCommissionBatchItem.schema.ts",
"schemas/findUniqueOrThrowCommissionBatchItem.schema.ts",
"schemas/findFirstCommissionBatchItem.schema.ts",
"schemas/findFirstOrThrowCommissionBatchItem.schema.ts",
"schemas/findManyCommissionBatchItem.schema.ts",
"schemas/countCommissionBatchItem.schema.ts",
"schemas/createOneCommissionBatchItem.schema.ts",
"schemas/createManyCommissionBatchItem.schema.ts",
"schemas/createManyAndReturnCommissionBatchItem.schema.ts",
"schemas/deleteOneCommissionBatchItem.schema.ts",
"schemas/deleteManyCommissionBatchItem.schema.ts",
"schemas/updateOneCommissionBatchItem.schema.ts",
"schemas/updateManyCommissionBatchItem.schema.ts",
"schemas/updateManyAndReturnCommissionBatchItem.schema.ts",
"schemas/upsertOneCommissionBatchItem.schema.ts",
"schemas/aggregateCommissionBatchItem.schema.ts",
"schemas/groupByCommissionBatchItem.schema.ts",
"schemas/results/UserFindUniqueResult.schema.ts",
"schemas/results/UserFindFirstResult.schema.ts",
"schemas/results/UserFindManyResult.schema.ts",
@@ -3090,6 +3287,32 @@
"schemas/results/PatientConversationAggregateResult.schema.ts",
"schemas/results/PatientConversationGroupByResult.schema.ts",
"schemas/results/PatientConversationCountResult.schema.ts",
"schemas/results/CommissionBatchFindUniqueResult.schema.ts",
"schemas/results/CommissionBatchFindFirstResult.schema.ts",
"schemas/results/CommissionBatchFindManyResult.schema.ts",
"schemas/results/CommissionBatchCreateResult.schema.ts",
"schemas/results/CommissionBatchCreateManyResult.schema.ts",
"schemas/results/CommissionBatchUpdateResult.schema.ts",
"schemas/results/CommissionBatchUpdateManyResult.schema.ts",
"schemas/results/CommissionBatchUpsertResult.schema.ts",
"schemas/results/CommissionBatchDeleteResult.schema.ts",
"schemas/results/CommissionBatchDeleteManyResult.schema.ts",
"schemas/results/CommissionBatchAggregateResult.schema.ts",
"schemas/results/CommissionBatchGroupByResult.schema.ts",
"schemas/results/CommissionBatchCountResult.schema.ts",
"schemas/results/CommissionBatchItemFindUniqueResult.schema.ts",
"schemas/results/CommissionBatchItemFindFirstResult.schema.ts",
"schemas/results/CommissionBatchItemFindManyResult.schema.ts",
"schemas/results/CommissionBatchItemCreateResult.schema.ts",
"schemas/results/CommissionBatchItemCreateManyResult.schema.ts",
"schemas/results/CommissionBatchItemUpdateResult.schema.ts",
"schemas/results/CommissionBatchItemUpdateManyResult.schema.ts",
"schemas/results/CommissionBatchItemUpsertResult.schema.ts",
"schemas/results/CommissionBatchItemDeleteResult.schema.ts",
"schemas/results/CommissionBatchItemDeleteManyResult.schema.ts",
"schemas/results/CommissionBatchItemAggregateResult.schema.ts",
"schemas/results/CommissionBatchItemGroupByResult.schema.ts",
"schemas/results/CommissionBatchItemCountResult.schema.ts",
"schemas/results/index.ts",
"schemas/index.ts",
"schemas/variants/pure/User.pure.ts",
@@ -3123,6 +3346,8 @@
"schemas/variants/pure/InsuranceContact.pure.ts",
"schemas/variants/pure/ProcedureTimeslot.pure.ts",
"schemas/variants/pure/PatientConversation.pure.ts",
"schemas/variants/pure/CommissionBatch.pure.ts",
"schemas/variants/pure/CommissionBatchItem.pure.ts",
"schemas/variants/pure/index.ts",
"schemas/variants/input/User.input.ts",
"schemas/variants/input/Patient.input.ts",
@@ -3155,6 +3380,8 @@
"schemas/variants/input/InsuranceContact.input.ts",
"schemas/variants/input/ProcedureTimeslot.input.ts",
"schemas/variants/input/PatientConversation.input.ts",
"schemas/variants/input/CommissionBatch.input.ts",
"schemas/variants/input/CommissionBatchItem.input.ts",
"schemas/variants/input/index.ts",
"schemas/variants/result/User.result.ts",
"schemas/variants/result/Patient.result.ts",
@@ -3187,6 +3414,8 @@
"schemas/variants/result/InsuranceContact.result.ts",
"schemas/variants/result/ProcedureTimeslot.result.ts",
"schemas/variants/result/PatientConversation.result.ts",
"schemas/variants/result/CommissionBatch.result.ts",
"schemas/variants/result/CommissionBatchItem.result.ts",
"schemas/variants/result/index.ts",
"schemas/variants/index.ts"
],

View File

@@ -0,0 +1,14 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchOrderByWithRelationInputObjectSchema as CommissionBatchOrderByWithRelationInputObjectSchema } from './objects/CommissionBatchOrderByWithRelationInput.schema';
import { CommissionBatchWhereInputObjectSchema as CommissionBatchWhereInputObjectSchema } from './objects/CommissionBatchWhereInput.schema';
import { CommissionBatchWhereUniqueInputObjectSchema as CommissionBatchWhereUniqueInputObjectSchema } from './objects/CommissionBatchWhereUniqueInput.schema';
import { CommissionBatchCountAggregateInputObjectSchema as CommissionBatchCountAggregateInputObjectSchema } from './objects/CommissionBatchCountAggregateInput.schema';
import { CommissionBatchMinAggregateInputObjectSchema as CommissionBatchMinAggregateInputObjectSchema } from './objects/CommissionBatchMinAggregateInput.schema';
import { CommissionBatchMaxAggregateInputObjectSchema as CommissionBatchMaxAggregateInputObjectSchema } from './objects/CommissionBatchMaxAggregateInput.schema';
import { CommissionBatchAvgAggregateInputObjectSchema as CommissionBatchAvgAggregateInputObjectSchema } from './objects/CommissionBatchAvgAggregateInput.schema';
import { CommissionBatchSumAggregateInputObjectSchema as CommissionBatchSumAggregateInputObjectSchema } from './objects/CommissionBatchSumAggregateInput.schema';
export const CommissionBatchAggregateSchema: z.ZodType<Prisma.CommissionBatchAggregateArgs> = z.object({ orderBy: z.union([CommissionBatchOrderByWithRelationInputObjectSchema, CommissionBatchOrderByWithRelationInputObjectSchema.array()]).optional(), where: CommissionBatchWhereInputObjectSchema.optional(), cursor: CommissionBatchWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), _count: z.union([ z.literal(true), CommissionBatchCountAggregateInputObjectSchema ]).optional(), _min: CommissionBatchMinAggregateInputObjectSchema.optional(), _max: CommissionBatchMaxAggregateInputObjectSchema.optional(), _avg: CommissionBatchAvgAggregateInputObjectSchema.optional(), _sum: CommissionBatchSumAggregateInputObjectSchema.optional() }).strict() as unknown as z.ZodType<Prisma.CommissionBatchAggregateArgs>;
export const CommissionBatchAggregateZodSchema = z.object({ orderBy: z.union([CommissionBatchOrderByWithRelationInputObjectSchema, CommissionBatchOrderByWithRelationInputObjectSchema.array()]).optional(), where: CommissionBatchWhereInputObjectSchema.optional(), cursor: CommissionBatchWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), _count: z.union([ z.literal(true), CommissionBatchCountAggregateInputObjectSchema ]).optional(), _min: CommissionBatchMinAggregateInputObjectSchema.optional(), _max: CommissionBatchMaxAggregateInputObjectSchema.optional(), _avg: CommissionBatchAvgAggregateInputObjectSchema.optional(), _sum: CommissionBatchSumAggregateInputObjectSchema.optional() }).strict();

View File

@@ -0,0 +1,14 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchItemOrderByWithRelationInputObjectSchema as CommissionBatchItemOrderByWithRelationInputObjectSchema } from './objects/CommissionBatchItemOrderByWithRelationInput.schema';
import { CommissionBatchItemWhereInputObjectSchema as CommissionBatchItemWhereInputObjectSchema } from './objects/CommissionBatchItemWhereInput.schema';
import { CommissionBatchItemWhereUniqueInputObjectSchema as CommissionBatchItemWhereUniqueInputObjectSchema } from './objects/CommissionBatchItemWhereUniqueInput.schema';
import { CommissionBatchItemCountAggregateInputObjectSchema as CommissionBatchItemCountAggregateInputObjectSchema } from './objects/CommissionBatchItemCountAggregateInput.schema';
import { CommissionBatchItemMinAggregateInputObjectSchema as CommissionBatchItemMinAggregateInputObjectSchema } from './objects/CommissionBatchItemMinAggregateInput.schema';
import { CommissionBatchItemMaxAggregateInputObjectSchema as CommissionBatchItemMaxAggregateInputObjectSchema } from './objects/CommissionBatchItemMaxAggregateInput.schema';
import { CommissionBatchItemAvgAggregateInputObjectSchema as CommissionBatchItemAvgAggregateInputObjectSchema } from './objects/CommissionBatchItemAvgAggregateInput.schema';
import { CommissionBatchItemSumAggregateInputObjectSchema as CommissionBatchItemSumAggregateInputObjectSchema } from './objects/CommissionBatchItemSumAggregateInput.schema';
export const CommissionBatchItemAggregateSchema: z.ZodType<Prisma.CommissionBatchItemAggregateArgs> = z.object({ orderBy: z.union([CommissionBatchItemOrderByWithRelationInputObjectSchema, CommissionBatchItemOrderByWithRelationInputObjectSchema.array()]).optional(), where: CommissionBatchItemWhereInputObjectSchema.optional(), cursor: CommissionBatchItemWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), _count: z.union([ z.literal(true), CommissionBatchItemCountAggregateInputObjectSchema ]).optional(), _min: CommissionBatchItemMinAggregateInputObjectSchema.optional(), _max: CommissionBatchItemMaxAggregateInputObjectSchema.optional(), _avg: CommissionBatchItemAvgAggregateInputObjectSchema.optional(), _sum: CommissionBatchItemSumAggregateInputObjectSchema.optional() }).strict() as unknown as z.ZodType<Prisma.CommissionBatchItemAggregateArgs>;
export const CommissionBatchItemAggregateZodSchema = z.object({ orderBy: z.union([CommissionBatchItemOrderByWithRelationInputObjectSchema, CommissionBatchItemOrderByWithRelationInputObjectSchema.array()]).optional(), where: CommissionBatchItemWhereInputObjectSchema.optional(), cursor: CommissionBatchItemWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), _count: z.union([ z.literal(true), CommissionBatchItemCountAggregateInputObjectSchema ]).optional(), _min: CommissionBatchItemMinAggregateInputObjectSchema.optional(), _max: CommissionBatchItemMaxAggregateInputObjectSchema.optional(), _avg: CommissionBatchItemAvgAggregateInputObjectSchema.optional(), _sum: CommissionBatchItemSumAggregateInputObjectSchema.optional() }).strict();

View File

@@ -0,0 +1,10 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchOrderByWithRelationInputObjectSchema as CommissionBatchOrderByWithRelationInputObjectSchema } from './objects/CommissionBatchOrderByWithRelationInput.schema';
import { CommissionBatchWhereInputObjectSchema as CommissionBatchWhereInputObjectSchema } from './objects/CommissionBatchWhereInput.schema';
import { CommissionBatchWhereUniqueInputObjectSchema as CommissionBatchWhereUniqueInputObjectSchema } from './objects/CommissionBatchWhereUniqueInput.schema';
import { CommissionBatchCountAggregateInputObjectSchema as CommissionBatchCountAggregateInputObjectSchema } from './objects/CommissionBatchCountAggregateInput.schema';
export const CommissionBatchCountSchema: z.ZodType<Prisma.CommissionBatchCountArgs> = z.object({ orderBy: z.union([CommissionBatchOrderByWithRelationInputObjectSchema, CommissionBatchOrderByWithRelationInputObjectSchema.array()]).optional(), where: CommissionBatchWhereInputObjectSchema.optional(), cursor: CommissionBatchWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), select: z.union([ z.literal(true), CommissionBatchCountAggregateInputObjectSchema ]).optional() }).strict() as unknown as z.ZodType<Prisma.CommissionBatchCountArgs>;
export const CommissionBatchCountZodSchema = z.object({ orderBy: z.union([CommissionBatchOrderByWithRelationInputObjectSchema, CommissionBatchOrderByWithRelationInputObjectSchema.array()]).optional(), where: CommissionBatchWhereInputObjectSchema.optional(), cursor: CommissionBatchWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), select: z.union([ z.literal(true), CommissionBatchCountAggregateInputObjectSchema ]).optional() }).strict();

View File

@@ -0,0 +1,10 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchItemOrderByWithRelationInputObjectSchema as CommissionBatchItemOrderByWithRelationInputObjectSchema } from './objects/CommissionBatchItemOrderByWithRelationInput.schema';
import { CommissionBatchItemWhereInputObjectSchema as CommissionBatchItemWhereInputObjectSchema } from './objects/CommissionBatchItemWhereInput.schema';
import { CommissionBatchItemWhereUniqueInputObjectSchema as CommissionBatchItemWhereUniqueInputObjectSchema } from './objects/CommissionBatchItemWhereUniqueInput.schema';
import { CommissionBatchItemCountAggregateInputObjectSchema as CommissionBatchItemCountAggregateInputObjectSchema } from './objects/CommissionBatchItemCountAggregateInput.schema';
export const CommissionBatchItemCountSchema: z.ZodType<Prisma.CommissionBatchItemCountArgs> = z.object({ orderBy: z.union([CommissionBatchItemOrderByWithRelationInputObjectSchema, CommissionBatchItemOrderByWithRelationInputObjectSchema.array()]).optional(), where: CommissionBatchItemWhereInputObjectSchema.optional(), cursor: CommissionBatchItemWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), select: z.union([ z.literal(true), CommissionBatchItemCountAggregateInputObjectSchema ]).optional() }).strict() as unknown as z.ZodType<Prisma.CommissionBatchItemCountArgs>;
export const CommissionBatchItemCountZodSchema = z.object({ orderBy: z.union([CommissionBatchItemOrderByWithRelationInputObjectSchema, CommissionBatchItemOrderByWithRelationInputObjectSchema.array()]).optional(), where: CommissionBatchItemWhereInputObjectSchema.optional(), cursor: CommissionBatchItemWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), select: z.union([ z.literal(true), CommissionBatchItemCountAggregateInputObjectSchema ]).optional() }).strict();

View File

@@ -0,0 +1,8 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchSelectObjectSchema as CommissionBatchSelectObjectSchema } from './objects/CommissionBatchSelect.schema';
import { CommissionBatchCreateManyInputObjectSchema as CommissionBatchCreateManyInputObjectSchema } from './objects/CommissionBatchCreateManyInput.schema';
export const CommissionBatchCreateManyAndReturnSchema: z.ZodType<Prisma.CommissionBatchCreateManyAndReturnArgs> = z.object({ select: CommissionBatchSelectObjectSchema.optional(), data: z.union([ CommissionBatchCreateManyInputObjectSchema, z.array(CommissionBatchCreateManyInputObjectSchema) ]), skipDuplicates: z.boolean().optional() }).strict() as unknown as z.ZodType<Prisma.CommissionBatchCreateManyAndReturnArgs>;
export const CommissionBatchCreateManyAndReturnZodSchema = z.object({ select: CommissionBatchSelectObjectSchema.optional(), data: z.union([ CommissionBatchCreateManyInputObjectSchema, z.array(CommissionBatchCreateManyInputObjectSchema) ]), skipDuplicates: z.boolean().optional() }).strict();

View File

@@ -0,0 +1,8 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchItemSelectObjectSchema as CommissionBatchItemSelectObjectSchema } from './objects/CommissionBatchItemSelect.schema';
import { CommissionBatchItemCreateManyInputObjectSchema as CommissionBatchItemCreateManyInputObjectSchema } from './objects/CommissionBatchItemCreateManyInput.schema';
export const CommissionBatchItemCreateManyAndReturnSchema: z.ZodType<Prisma.CommissionBatchItemCreateManyAndReturnArgs> = z.object({ select: CommissionBatchItemSelectObjectSchema.optional(), data: z.union([ CommissionBatchItemCreateManyInputObjectSchema, z.array(CommissionBatchItemCreateManyInputObjectSchema) ]), skipDuplicates: z.boolean().optional() }).strict() as unknown as z.ZodType<Prisma.CommissionBatchItemCreateManyAndReturnArgs>;
export const CommissionBatchItemCreateManyAndReturnZodSchema = z.object({ select: CommissionBatchItemSelectObjectSchema.optional(), data: z.union([ CommissionBatchItemCreateManyInputObjectSchema, z.array(CommissionBatchItemCreateManyInputObjectSchema) ]), skipDuplicates: z.boolean().optional() }).strict();

View File

@@ -0,0 +1,7 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchCreateManyInputObjectSchema as CommissionBatchCreateManyInputObjectSchema } from './objects/CommissionBatchCreateManyInput.schema';
export const CommissionBatchCreateManySchema: z.ZodType<Prisma.CommissionBatchCreateManyArgs> = z.object({ data: z.union([ CommissionBatchCreateManyInputObjectSchema, z.array(CommissionBatchCreateManyInputObjectSchema) ]), skipDuplicates: z.boolean().optional() }).strict() as unknown as z.ZodType<Prisma.CommissionBatchCreateManyArgs>;
export const CommissionBatchCreateManyZodSchema = z.object({ data: z.union([ CommissionBatchCreateManyInputObjectSchema, z.array(CommissionBatchCreateManyInputObjectSchema) ]), skipDuplicates: z.boolean().optional() }).strict();

View File

@@ -0,0 +1,7 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchItemCreateManyInputObjectSchema as CommissionBatchItemCreateManyInputObjectSchema } from './objects/CommissionBatchItemCreateManyInput.schema';
export const CommissionBatchItemCreateManySchema: z.ZodType<Prisma.CommissionBatchItemCreateManyArgs> = z.object({ data: z.union([ CommissionBatchItemCreateManyInputObjectSchema, z.array(CommissionBatchItemCreateManyInputObjectSchema) ]), skipDuplicates: z.boolean().optional() }).strict() as unknown as z.ZodType<Prisma.CommissionBatchItemCreateManyArgs>;
export const CommissionBatchItemCreateManyZodSchema = z.object({ data: z.union([ CommissionBatchItemCreateManyInputObjectSchema, z.array(CommissionBatchItemCreateManyInputObjectSchema) ]), skipDuplicates: z.boolean().optional() }).strict();

View File

@@ -0,0 +1,10 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchSelectObjectSchema as CommissionBatchSelectObjectSchema } from './objects/CommissionBatchSelect.schema';
import { CommissionBatchIncludeObjectSchema as CommissionBatchIncludeObjectSchema } from './objects/CommissionBatchInclude.schema';
import { CommissionBatchCreateInputObjectSchema as CommissionBatchCreateInputObjectSchema } from './objects/CommissionBatchCreateInput.schema';
import { CommissionBatchUncheckedCreateInputObjectSchema as CommissionBatchUncheckedCreateInputObjectSchema } from './objects/CommissionBatchUncheckedCreateInput.schema';
export const CommissionBatchCreateOneSchema: z.ZodType<Prisma.CommissionBatchCreateArgs> = z.object({ select: CommissionBatchSelectObjectSchema.optional(), include: CommissionBatchIncludeObjectSchema.optional(), data: z.union([CommissionBatchCreateInputObjectSchema, CommissionBatchUncheckedCreateInputObjectSchema]) }).strict() as unknown as z.ZodType<Prisma.CommissionBatchCreateArgs>;
export const CommissionBatchCreateOneZodSchema = z.object({ select: CommissionBatchSelectObjectSchema.optional(), include: CommissionBatchIncludeObjectSchema.optional(), data: z.union([CommissionBatchCreateInputObjectSchema, CommissionBatchUncheckedCreateInputObjectSchema]) }).strict();

View File

@@ -0,0 +1,10 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchItemSelectObjectSchema as CommissionBatchItemSelectObjectSchema } from './objects/CommissionBatchItemSelect.schema';
import { CommissionBatchItemIncludeObjectSchema as CommissionBatchItemIncludeObjectSchema } from './objects/CommissionBatchItemInclude.schema';
import { CommissionBatchItemCreateInputObjectSchema as CommissionBatchItemCreateInputObjectSchema } from './objects/CommissionBatchItemCreateInput.schema';
import { CommissionBatchItemUncheckedCreateInputObjectSchema as CommissionBatchItemUncheckedCreateInputObjectSchema } from './objects/CommissionBatchItemUncheckedCreateInput.schema';
export const CommissionBatchItemCreateOneSchema: z.ZodType<Prisma.CommissionBatchItemCreateArgs> = z.object({ select: CommissionBatchItemSelectObjectSchema.optional(), include: CommissionBatchItemIncludeObjectSchema.optional(), data: z.union([CommissionBatchItemCreateInputObjectSchema, CommissionBatchItemUncheckedCreateInputObjectSchema]) }).strict() as unknown as z.ZodType<Prisma.CommissionBatchItemCreateArgs>;
export const CommissionBatchItemCreateOneZodSchema = z.object({ select: CommissionBatchItemSelectObjectSchema.optional(), include: CommissionBatchItemIncludeObjectSchema.optional(), data: z.union([CommissionBatchItemCreateInputObjectSchema, CommissionBatchItemUncheckedCreateInputObjectSchema]) }).strict();

View File

@@ -0,0 +1,7 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchWhereInputObjectSchema as CommissionBatchWhereInputObjectSchema } from './objects/CommissionBatchWhereInput.schema';
export const CommissionBatchDeleteManySchema: z.ZodType<Prisma.CommissionBatchDeleteManyArgs> = z.object({ where: CommissionBatchWhereInputObjectSchema.optional() }).strict() as unknown as z.ZodType<Prisma.CommissionBatchDeleteManyArgs>;
export const CommissionBatchDeleteManyZodSchema = z.object({ where: CommissionBatchWhereInputObjectSchema.optional() }).strict();

View File

@@ -0,0 +1,7 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchItemWhereInputObjectSchema as CommissionBatchItemWhereInputObjectSchema } from './objects/CommissionBatchItemWhereInput.schema';
export const CommissionBatchItemDeleteManySchema: z.ZodType<Prisma.CommissionBatchItemDeleteManyArgs> = z.object({ where: CommissionBatchItemWhereInputObjectSchema.optional() }).strict() as unknown as z.ZodType<Prisma.CommissionBatchItemDeleteManyArgs>;
export const CommissionBatchItemDeleteManyZodSchema = z.object({ where: CommissionBatchItemWhereInputObjectSchema.optional() }).strict();

View File

@@ -0,0 +1,9 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchSelectObjectSchema as CommissionBatchSelectObjectSchema } from './objects/CommissionBatchSelect.schema';
import { CommissionBatchIncludeObjectSchema as CommissionBatchIncludeObjectSchema } from './objects/CommissionBatchInclude.schema';
import { CommissionBatchWhereUniqueInputObjectSchema as CommissionBatchWhereUniqueInputObjectSchema } from './objects/CommissionBatchWhereUniqueInput.schema';
export const CommissionBatchDeleteOneSchema: z.ZodType<Prisma.CommissionBatchDeleteArgs> = z.object({ select: CommissionBatchSelectObjectSchema.optional(), include: CommissionBatchIncludeObjectSchema.optional(), where: CommissionBatchWhereUniqueInputObjectSchema }).strict() as unknown as z.ZodType<Prisma.CommissionBatchDeleteArgs>;
export const CommissionBatchDeleteOneZodSchema = z.object({ select: CommissionBatchSelectObjectSchema.optional(), include: CommissionBatchIncludeObjectSchema.optional(), where: CommissionBatchWhereUniqueInputObjectSchema }).strict();

View File

@@ -0,0 +1,9 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchItemSelectObjectSchema as CommissionBatchItemSelectObjectSchema } from './objects/CommissionBatchItemSelect.schema';
import { CommissionBatchItemIncludeObjectSchema as CommissionBatchItemIncludeObjectSchema } from './objects/CommissionBatchItemInclude.schema';
import { CommissionBatchItemWhereUniqueInputObjectSchema as CommissionBatchItemWhereUniqueInputObjectSchema } from './objects/CommissionBatchItemWhereUniqueInput.schema';
export const CommissionBatchItemDeleteOneSchema: z.ZodType<Prisma.CommissionBatchItemDeleteArgs> = z.object({ select: CommissionBatchItemSelectObjectSchema.optional(), include: CommissionBatchItemIncludeObjectSchema.optional(), where: CommissionBatchItemWhereUniqueInputObjectSchema }).strict() as unknown as z.ZodType<Prisma.CommissionBatchItemDeleteArgs>;
export const CommissionBatchItemDeleteOneZodSchema = z.object({ select: CommissionBatchItemSelectObjectSchema.optional(), include: CommissionBatchItemIncludeObjectSchema.optional(), where: CommissionBatchItemWhereUniqueInputObjectSchema }).strict();

View File

@@ -0,0 +1,5 @@
import * as z from 'zod';
export const CommissionBatchItemScalarFieldEnumSchema = z.enum(['id', 'commissionBatchId', 'paymentId', 'collectionAmount'])
export type CommissionBatchItemScalarFieldEnum = z.infer<typeof CommissionBatchItemScalarFieldEnumSchema>;

View File

@@ -0,0 +1,5 @@
import * as z from 'zod';
export const CommissionBatchScalarFieldEnumSchema = z.enum(['id', 'npiProviderId', 'totalCollection', 'commissionAmount', 'notes', 'createdAt'])
export type CommissionBatchScalarFieldEnum = z.infer<typeof CommissionBatchScalarFieldEnumSchema>;

View File

@@ -1,5 +1,5 @@
import * as z from 'zod';
export const PaymentScalarFieldEnumSchema = z.enum(['id', 'claimId', 'patientId', 'userId', 'updatedById', 'totalBilled', 'totalPaid', 'totalAdjusted', 'totalDue', 'mhPaidAmount', 'copayment', 'adjustment', 'status', 'notes', 'icn', 'createdAt', 'updatedAt'])
export const PaymentScalarFieldEnumSchema = z.enum(['id', 'claimId', 'patientId', 'userId', 'updatedById', 'npiProviderId', 'totalBilled', 'totalPaid', 'totalAdjusted', 'totalDue', 'mhPaidAmount', 'copayment', 'adjustment', 'status', 'notes', 'icn', 'createdAt', 'updatedAt'])
export type PaymentScalarFieldEnum = z.infer<typeof PaymentScalarFieldEnumSchema>;

View File

@@ -0,0 +1,38 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchIncludeObjectSchema as CommissionBatchIncludeObjectSchema } from './objects/CommissionBatchInclude.schema';
import { CommissionBatchOrderByWithRelationInputObjectSchema as CommissionBatchOrderByWithRelationInputObjectSchema } from './objects/CommissionBatchOrderByWithRelationInput.schema';
import { CommissionBatchWhereInputObjectSchema as CommissionBatchWhereInputObjectSchema } from './objects/CommissionBatchWhereInput.schema';
import { CommissionBatchWhereUniqueInputObjectSchema as CommissionBatchWhereUniqueInputObjectSchema } from './objects/CommissionBatchWhereUniqueInput.schema';
import { CommissionBatchScalarFieldEnumSchema } from './enums/CommissionBatchScalarFieldEnum.schema';
// Select schema needs to be in file to prevent circular imports
//------------------------------------------------------
export const CommissionBatchFindFirstSelectSchema: z.ZodType<Prisma.CommissionBatchSelect> = z.object({
id: z.boolean().optional(),
npiProviderId: z.boolean().optional(),
totalCollection: z.boolean().optional(),
commissionAmount: z.boolean().optional(),
notes: z.boolean().optional(),
createdAt: z.boolean().optional(),
npiProvider: z.boolean().optional(),
items: z.boolean().optional(),
_count: z.boolean().optional()
}).strict() as unknown as z.ZodType<Prisma.CommissionBatchSelect>;
export const CommissionBatchFindFirstSelectZodSchema = z.object({
id: z.boolean().optional(),
npiProviderId: z.boolean().optional(),
totalCollection: z.boolean().optional(),
commissionAmount: z.boolean().optional(),
notes: z.boolean().optional(),
createdAt: z.boolean().optional(),
npiProvider: z.boolean().optional(),
items: z.boolean().optional(),
_count: z.boolean().optional()
}).strict();
export const CommissionBatchFindFirstSchema: z.ZodType<Prisma.CommissionBatchFindFirstArgs> = z.object({ select: CommissionBatchFindFirstSelectSchema.optional(), include: z.lazy(() => CommissionBatchIncludeObjectSchema.optional()), orderBy: z.union([CommissionBatchOrderByWithRelationInputObjectSchema, CommissionBatchOrderByWithRelationInputObjectSchema.array()]).optional(), where: CommissionBatchWhereInputObjectSchema.optional(), cursor: CommissionBatchWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), distinct: z.union([CommissionBatchScalarFieldEnumSchema, CommissionBatchScalarFieldEnumSchema.array()]).optional() }).strict() as unknown as z.ZodType<Prisma.CommissionBatchFindFirstArgs>;
export const CommissionBatchFindFirstZodSchema = z.object({ select: CommissionBatchFindFirstSelectSchema.optional(), include: z.lazy(() => CommissionBatchIncludeObjectSchema.optional()), orderBy: z.union([CommissionBatchOrderByWithRelationInputObjectSchema, CommissionBatchOrderByWithRelationInputObjectSchema.array()]).optional(), where: CommissionBatchWhereInputObjectSchema.optional(), cursor: CommissionBatchWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), distinct: z.union([CommissionBatchScalarFieldEnumSchema, CommissionBatchScalarFieldEnumSchema.array()]).optional() }).strict();

View File

@@ -0,0 +1,32 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchItemIncludeObjectSchema as CommissionBatchItemIncludeObjectSchema } from './objects/CommissionBatchItemInclude.schema';
import { CommissionBatchItemOrderByWithRelationInputObjectSchema as CommissionBatchItemOrderByWithRelationInputObjectSchema } from './objects/CommissionBatchItemOrderByWithRelationInput.schema';
import { CommissionBatchItemWhereInputObjectSchema as CommissionBatchItemWhereInputObjectSchema } from './objects/CommissionBatchItemWhereInput.schema';
import { CommissionBatchItemWhereUniqueInputObjectSchema as CommissionBatchItemWhereUniqueInputObjectSchema } from './objects/CommissionBatchItemWhereUniqueInput.schema';
import { CommissionBatchItemScalarFieldEnumSchema } from './enums/CommissionBatchItemScalarFieldEnum.schema';
// Select schema needs to be in file to prevent circular imports
//------------------------------------------------------
export const CommissionBatchItemFindFirstSelectSchema: z.ZodType<Prisma.CommissionBatchItemSelect> = z.object({
id: z.boolean().optional(),
commissionBatchId: z.boolean().optional(),
paymentId: z.boolean().optional(),
collectionAmount: z.boolean().optional(),
commissionBatch: z.boolean().optional(),
payment: z.boolean().optional()
}).strict() as unknown as z.ZodType<Prisma.CommissionBatchItemSelect>;
export const CommissionBatchItemFindFirstSelectZodSchema = z.object({
id: z.boolean().optional(),
commissionBatchId: z.boolean().optional(),
paymentId: z.boolean().optional(),
collectionAmount: z.boolean().optional(),
commissionBatch: z.boolean().optional(),
payment: z.boolean().optional()
}).strict();
export const CommissionBatchItemFindFirstSchema: z.ZodType<Prisma.CommissionBatchItemFindFirstArgs> = z.object({ select: CommissionBatchItemFindFirstSelectSchema.optional(), include: z.lazy(() => CommissionBatchItemIncludeObjectSchema.optional()), orderBy: z.union([CommissionBatchItemOrderByWithRelationInputObjectSchema, CommissionBatchItemOrderByWithRelationInputObjectSchema.array()]).optional(), where: CommissionBatchItemWhereInputObjectSchema.optional(), cursor: CommissionBatchItemWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), distinct: z.union([CommissionBatchItemScalarFieldEnumSchema, CommissionBatchItemScalarFieldEnumSchema.array()]).optional() }).strict() as unknown as z.ZodType<Prisma.CommissionBatchItemFindFirstArgs>;
export const CommissionBatchItemFindFirstZodSchema = z.object({ select: CommissionBatchItemFindFirstSelectSchema.optional(), include: z.lazy(() => CommissionBatchItemIncludeObjectSchema.optional()), orderBy: z.union([CommissionBatchItemOrderByWithRelationInputObjectSchema, CommissionBatchItemOrderByWithRelationInputObjectSchema.array()]).optional(), where: CommissionBatchItemWhereInputObjectSchema.optional(), cursor: CommissionBatchItemWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), distinct: z.union([CommissionBatchItemScalarFieldEnumSchema, CommissionBatchItemScalarFieldEnumSchema.array()]).optional() }).strict();

View File

@@ -17,6 +17,8 @@ export const NpiProviderFindFirstSelectSchema: z.ZodType<Prisma.NpiProviderSelec
createdAt: z.boolean().optional(),
user: z.boolean().optional(),
claims: z.boolean().optional(),
payments: z.boolean().optional(),
commissionBatches: z.boolean().optional(),
appointmentProcedures: z.boolean().optional(),
_count: z.boolean().optional()
}).strict() as unknown as z.ZodType<Prisma.NpiProviderSelect>;
@@ -29,6 +31,8 @@ export const NpiProviderFindFirstSelectZodSchema = z.object({
createdAt: z.boolean().optional(),
user: z.boolean().optional(),
claims: z.boolean().optional(),
payments: z.boolean().optional(),
commissionBatches: z.boolean().optional(),
appointmentProcedures: z.boolean().optional(),
_count: z.boolean().optional()
}).strict();

View File

@@ -0,0 +1,38 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchIncludeObjectSchema as CommissionBatchIncludeObjectSchema } from './objects/CommissionBatchInclude.schema';
import { CommissionBatchOrderByWithRelationInputObjectSchema as CommissionBatchOrderByWithRelationInputObjectSchema } from './objects/CommissionBatchOrderByWithRelationInput.schema';
import { CommissionBatchWhereInputObjectSchema as CommissionBatchWhereInputObjectSchema } from './objects/CommissionBatchWhereInput.schema';
import { CommissionBatchWhereUniqueInputObjectSchema as CommissionBatchWhereUniqueInputObjectSchema } from './objects/CommissionBatchWhereUniqueInput.schema';
import { CommissionBatchScalarFieldEnumSchema } from './enums/CommissionBatchScalarFieldEnum.schema';
// Select schema needs to be in file to prevent circular imports
//------------------------------------------------------
export const CommissionBatchFindFirstOrThrowSelectSchema: z.ZodType<Prisma.CommissionBatchSelect> = z.object({
id: z.boolean().optional(),
npiProviderId: z.boolean().optional(),
totalCollection: z.boolean().optional(),
commissionAmount: z.boolean().optional(),
notes: z.boolean().optional(),
createdAt: z.boolean().optional(),
npiProvider: z.boolean().optional(),
items: z.boolean().optional(),
_count: z.boolean().optional()
}).strict() as unknown as z.ZodType<Prisma.CommissionBatchSelect>;
export const CommissionBatchFindFirstOrThrowSelectZodSchema = z.object({
id: z.boolean().optional(),
npiProviderId: z.boolean().optional(),
totalCollection: z.boolean().optional(),
commissionAmount: z.boolean().optional(),
notes: z.boolean().optional(),
createdAt: z.boolean().optional(),
npiProvider: z.boolean().optional(),
items: z.boolean().optional(),
_count: z.boolean().optional()
}).strict();
export const CommissionBatchFindFirstOrThrowSchema: z.ZodType<Prisma.CommissionBatchFindFirstOrThrowArgs> = z.object({ select: CommissionBatchFindFirstOrThrowSelectSchema.optional(), include: z.lazy(() => CommissionBatchIncludeObjectSchema.optional()), orderBy: z.union([CommissionBatchOrderByWithRelationInputObjectSchema, CommissionBatchOrderByWithRelationInputObjectSchema.array()]).optional(), where: CommissionBatchWhereInputObjectSchema.optional(), cursor: CommissionBatchWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), distinct: z.union([CommissionBatchScalarFieldEnumSchema, CommissionBatchScalarFieldEnumSchema.array()]).optional() }).strict() as unknown as z.ZodType<Prisma.CommissionBatchFindFirstOrThrowArgs>;
export const CommissionBatchFindFirstOrThrowZodSchema = z.object({ select: CommissionBatchFindFirstOrThrowSelectSchema.optional(), include: z.lazy(() => CommissionBatchIncludeObjectSchema.optional()), orderBy: z.union([CommissionBatchOrderByWithRelationInputObjectSchema, CommissionBatchOrderByWithRelationInputObjectSchema.array()]).optional(), where: CommissionBatchWhereInputObjectSchema.optional(), cursor: CommissionBatchWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), distinct: z.union([CommissionBatchScalarFieldEnumSchema, CommissionBatchScalarFieldEnumSchema.array()]).optional() }).strict();

View File

@@ -0,0 +1,32 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchItemIncludeObjectSchema as CommissionBatchItemIncludeObjectSchema } from './objects/CommissionBatchItemInclude.schema';
import { CommissionBatchItemOrderByWithRelationInputObjectSchema as CommissionBatchItemOrderByWithRelationInputObjectSchema } from './objects/CommissionBatchItemOrderByWithRelationInput.schema';
import { CommissionBatchItemWhereInputObjectSchema as CommissionBatchItemWhereInputObjectSchema } from './objects/CommissionBatchItemWhereInput.schema';
import { CommissionBatchItemWhereUniqueInputObjectSchema as CommissionBatchItemWhereUniqueInputObjectSchema } from './objects/CommissionBatchItemWhereUniqueInput.schema';
import { CommissionBatchItemScalarFieldEnumSchema } from './enums/CommissionBatchItemScalarFieldEnum.schema';
// Select schema needs to be in file to prevent circular imports
//------------------------------------------------------
export const CommissionBatchItemFindFirstOrThrowSelectSchema: z.ZodType<Prisma.CommissionBatchItemSelect> = z.object({
id: z.boolean().optional(),
commissionBatchId: z.boolean().optional(),
paymentId: z.boolean().optional(),
collectionAmount: z.boolean().optional(),
commissionBatch: z.boolean().optional(),
payment: z.boolean().optional()
}).strict() as unknown as z.ZodType<Prisma.CommissionBatchItemSelect>;
export const CommissionBatchItemFindFirstOrThrowSelectZodSchema = z.object({
id: z.boolean().optional(),
commissionBatchId: z.boolean().optional(),
paymentId: z.boolean().optional(),
collectionAmount: z.boolean().optional(),
commissionBatch: z.boolean().optional(),
payment: z.boolean().optional()
}).strict();
export const CommissionBatchItemFindFirstOrThrowSchema: z.ZodType<Prisma.CommissionBatchItemFindFirstOrThrowArgs> = z.object({ select: CommissionBatchItemFindFirstOrThrowSelectSchema.optional(), include: z.lazy(() => CommissionBatchItemIncludeObjectSchema.optional()), orderBy: z.union([CommissionBatchItemOrderByWithRelationInputObjectSchema, CommissionBatchItemOrderByWithRelationInputObjectSchema.array()]).optional(), where: CommissionBatchItemWhereInputObjectSchema.optional(), cursor: CommissionBatchItemWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), distinct: z.union([CommissionBatchItemScalarFieldEnumSchema, CommissionBatchItemScalarFieldEnumSchema.array()]).optional() }).strict() as unknown as z.ZodType<Prisma.CommissionBatchItemFindFirstOrThrowArgs>;
export const CommissionBatchItemFindFirstOrThrowZodSchema = z.object({ select: CommissionBatchItemFindFirstOrThrowSelectSchema.optional(), include: z.lazy(() => CommissionBatchItemIncludeObjectSchema.optional()), orderBy: z.union([CommissionBatchItemOrderByWithRelationInputObjectSchema, CommissionBatchItemOrderByWithRelationInputObjectSchema.array()]).optional(), where: CommissionBatchItemWhereInputObjectSchema.optional(), cursor: CommissionBatchItemWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), distinct: z.union([CommissionBatchItemScalarFieldEnumSchema, CommissionBatchItemScalarFieldEnumSchema.array()]).optional() }).strict();

View File

@@ -17,6 +17,8 @@ export const NpiProviderFindFirstOrThrowSelectSchema: z.ZodType<Prisma.NpiProvid
createdAt: z.boolean().optional(),
user: z.boolean().optional(),
claims: z.boolean().optional(),
payments: z.boolean().optional(),
commissionBatches: z.boolean().optional(),
appointmentProcedures: z.boolean().optional(),
_count: z.boolean().optional()
}).strict() as unknown as z.ZodType<Prisma.NpiProviderSelect>;
@@ -29,6 +31,8 @@ export const NpiProviderFindFirstOrThrowSelectZodSchema = z.object({
createdAt: z.boolean().optional(),
user: z.boolean().optional(),
claims: z.boolean().optional(),
payments: z.boolean().optional(),
commissionBatches: z.boolean().optional(),
appointmentProcedures: z.boolean().optional(),
_count: z.boolean().optional()
}).strict();

View File

@@ -15,6 +15,7 @@ export const PaymentFindFirstOrThrowSelectSchema: z.ZodType<Prisma.PaymentSelect
patientId: z.boolean().optional(),
userId: z.boolean().optional(),
updatedById: z.boolean().optional(),
npiProviderId: z.boolean().optional(),
totalBilled: z.boolean().optional(),
totalPaid: z.boolean().optional(),
totalAdjusted: z.boolean().optional(),
@@ -30,8 +31,10 @@ export const PaymentFindFirstOrThrowSelectSchema: z.ZodType<Prisma.PaymentSelect
claim: z.boolean().optional(),
patient: z.boolean().optional(),
updatedBy: z.boolean().optional(),
npiProvider: z.boolean().optional(),
serviceLineTransactions: z.boolean().optional(),
serviceLines: z.boolean().optional(),
commissionBatchItems: z.boolean().optional(),
_count: z.boolean().optional()
}).strict() as unknown as z.ZodType<Prisma.PaymentSelect>;
@@ -41,6 +44,7 @@ export const PaymentFindFirstOrThrowSelectZodSchema = z.object({
patientId: z.boolean().optional(),
userId: z.boolean().optional(),
updatedById: z.boolean().optional(),
npiProviderId: z.boolean().optional(),
totalBilled: z.boolean().optional(),
totalPaid: z.boolean().optional(),
totalAdjusted: z.boolean().optional(),
@@ -56,8 +60,10 @@ export const PaymentFindFirstOrThrowSelectZodSchema = z.object({
claim: z.boolean().optional(),
patient: z.boolean().optional(),
updatedBy: z.boolean().optional(),
npiProvider: z.boolean().optional(),
serviceLineTransactions: z.boolean().optional(),
serviceLines: z.boolean().optional(),
commissionBatchItems: z.boolean().optional(),
_count: z.boolean().optional()
}).strict();

View File

@@ -15,6 +15,7 @@ export const PaymentFindFirstSelectSchema: z.ZodType<Prisma.PaymentSelect> = z.o
patientId: z.boolean().optional(),
userId: z.boolean().optional(),
updatedById: z.boolean().optional(),
npiProviderId: z.boolean().optional(),
totalBilled: z.boolean().optional(),
totalPaid: z.boolean().optional(),
totalAdjusted: z.boolean().optional(),
@@ -30,8 +31,10 @@ export const PaymentFindFirstSelectSchema: z.ZodType<Prisma.PaymentSelect> = z.o
claim: z.boolean().optional(),
patient: z.boolean().optional(),
updatedBy: z.boolean().optional(),
npiProvider: z.boolean().optional(),
serviceLineTransactions: z.boolean().optional(),
serviceLines: z.boolean().optional(),
commissionBatchItems: z.boolean().optional(),
_count: z.boolean().optional()
}).strict() as unknown as z.ZodType<Prisma.PaymentSelect>;
@@ -41,6 +44,7 @@ export const PaymentFindFirstSelectZodSchema = z.object({
patientId: z.boolean().optional(),
userId: z.boolean().optional(),
updatedById: z.boolean().optional(),
npiProviderId: z.boolean().optional(),
totalBilled: z.boolean().optional(),
totalPaid: z.boolean().optional(),
totalAdjusted: z.boolean().optional(),
@@ -56,8 +60,10 @@ export const PaymentFindFirstSelectZodSchema = z.object({
claim: z.boolean().optional(),
patient: z.boolean().optional(),
updatedBy: z.boolean().optional(),
npiProvider: z.boolean().optional(),
serviceLineTransactions: z.boolean().optional(),
serviceLines: z.boolean().optional(),
commissionBatchItems: z.boolean().optional(),
_count: z.boolean().optional()
}).strict();

View File

@@ -0,0 +1,38 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchIncludeObjectSchema as CommissionBatchIncludeObjectSchema } from './objects/CommissionBatchInclude.schema';
import { CommissionBatchOrderByWithRelationInputObjectSchema as CommissionBatchOrderByWithRelationInputObjectSchema } from './objects/CommissionBatchOrderByWithRelationInput.schema';
import { CommissionBatchWhereInputObjectSchema as CommissionBatchWhereInputObjectSchema } from './objects/CommissionBatchWhereInput.schema';
import { CommissionBatchWhereUniqueInputObjectSchema as CommissionBatchWhereUniqueInputObjectSchema } from './objects/CommissionBatchWhereUniqueInput.schema';
import { CommissionBatchScalarFieldEnumSchema } from './enums/CommissionBatchScalarFieldEnum.schema';
// Select schema needs to be in file to prevent circular imports
//------------------------------------------------------
export const CommissionBatchFindManySelectSchema: z.ZodType<Prisma.CommissionBatchSelect> = z.object({
id: z.boolean().optional(),
npiProviderId: z.boolean().optional(),
totalCollection: z.boolean().optional(),
commissionAmount: z.boolean().optional(),
notes: z.boolean().optional(),
createdAt: z.boolean().optional(),
npiProvider: z.boolean().optional(),
items: z.boolean().optional(),
_count: z.boolean().optional()
}).strict() as unknown as z.ZodType<Prisma.CommissionBatchSelect>;
export const CommissionBatchFindManySelectZodSchema = z.object({
id: z.boolean().optional(),
npiProviderId: z.boolean().optional(),
totalCollection: z.boolean().optional(),
commissionAmount: z.boolean().optional(),
notes: z.boolean().optional(),
createdAt: z.boolean().optional(),
npiProvider: z.boolean().optional(),
items: z.boolean().optional(),
_count: z.boolean().optional()
}).strict();
export const CommissionBatchFindManySchema: z.ZodType<Prisma.CommissionBatchFindManyArgs> = z.object({ select: CommissionBatchFindManySelectSchema.optional(), include: z.lazy(() => CommissionBatchIncludeObjectSchema.optional()), orderBy: z.union([CommissionBatchOrderByWithRelationInputObjectSchema, CommissionBatchOrderByWithRelationInputObjectSchema.array()]).optional(), where: CommissionBatchWhereInputObjectSchema.optional(), cursor: CommissionBatchWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), distinct: z.union([CommissionBatchScalarFieldEnumSchema, CommissionBatchScalarFieldEnumSchema.array()]).optional() }).strict() as unknown as z.ZodType<Prisma.CommissionBatchFindManyArgs>;
export const CommissionBatchFindManyZodSchema = z.object({ select: CommissionBatchFindManySelectSchema.optional(), include: z.lazy(() => CommissionBatchIncludeObjectSchema.optional()), orderBy: z.union([CommissionBatchOrderByWithRelationInputObjectSchema, CommissionBatchOrderByWithRelationInputObjectSchema.array()]).optional(), where: CommissionBatchWhereInputObjectSchema.optional(), cursor: CommissionBatchWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), distinct: z.union([CommissionBatchScalarFieldEnumSchema, CommissionBatchScalarFieldEnumSchema.array()]).optional() }).strict();

View File

@@ -0,0 +1,32 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchItemIncludeObjectSchema as CommissionBatchItemIncludeObjectSchema } from './objects/CommissionBatchItemInclude.schema';
import { CommissionBatchItemOrderByWithRelationInputObjectSchema as CommissionBatchItemOrderByWithRelationInputObjectSchema } from './objects/CommissionBatchItemOrderByWithRelationInput.schema';
import { CommissionBatchItemWhereInputObjectSchema as CommissionBatchItemWhereInputObjectSchema } from './objects/CommissionBatchItemWhereInput.schema';
import { CommissionBatchItemWhereUniqueInputObjectSchema as CommissionBatchItemWhereUniqueInputObjectSchema } from './objects/CommissionBatchItemWhereUniqueInput.schema';
import { CommissionBatchItemScalarFieldEnumSchema } from './enums/CommissionBatchItemScalarFieldEnum.schema';
// Select schema needs to be in file to prevent circular imports
//------------------------------------------------------
export const CommissionBatchItemFindManySelectSchema: z.ZodType<Prisma.CommissionBatchItemSelect> = z.object({
id: z.boolean().optional(),
commissionBatchId: z.boolean().optional(),
paymentId: z.boolean().optional(),
collectionAmount: z.boolean().optional(),
commissionBatch: z.boolean().optional(),
payment: z.boolean().optional()
}).strict() as unknown as z.ZodType<Prisma.CommissionBatchItemSelect>;
export const CommissionBatchItemFindManySelectZodSchema = z.object({
id: z.boolean().optional(),
commissionBatchId: z.boolean().optional(),
paymentId: z.boolean().optional(),
collectionAmount: z.boolean().optional(),
commissionBatch: z.boolean().optional(),
payment: z.boolean().optional()
}).strict();
export const CommissionBatchItemFindManySchema: z.ZodType<Prisma.CommissionBatchItemFindManyArgs> = z.object({ select: CommissionBatchItemFindManySelectSchema.optional(), include: z.lazy(() => CommissionBatchItemIncludeObjectSchema.optional()), orderBy: z.union([CommissionBatchItemOrderByWithRelationInputObjectSchema, CommissionBatchItemOrderByWithRelationInputObjectSchema.array()]).optional(), where: CommissionBatchItemWhereInputObjectSchema.optional(), cursor: CommissionBatchItemWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), distinct: z.union([CommissionBatchItemScalarFieldEnumSchema, CommissionBatchItemScalarFieldEnumSchema.array()]).optional() }).strict() as unknown as z.ZodType<Prisma.CommissionBatchItemFindManyArgs>;
export const CommissionBatchItemFindManyZodSchema = z.object({ select: CommissionBatchItemFindManySelectSchema.optional(), include: z.lazy(() => CommissionBatchItemIncludeObjectSchema.optional()), orderBy: z.union([CommissionBatchItemOrderByWithRelationInputObjectSchema, CommissionBatchItemOrderByWithRelationInputObjectSchema.array()]).optional(), where: CommissionBatchItemWhereInputObjectSchema.optional(), cursor: CommissionBatchItemWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), distinct: z.union([CommissionBatchItemScalarFieldEnumSchema, CommissionBatchItemScalarFieldEnumSchema.array()]).optional() }).strict();

View File

@@ -17,6 +17,8 @@ export const NpiProviderFindManySelectSchema: z.ZodType<Prisma.NpiProviderSelect
createdAt: z.boolean().optional(),
user: z.boolean().optional(),
claims: z.boolean().optional(),
payments: z.boolean().optional(),
commissionBatches: z.boolean().optional(),
appointmentProcedures: z.boolean().optional(),
_count: z.boolean().optional()
}).strict() as unknown as z.ZodType<Prisma.NpiProviderSelect>;
@@ -29,6 +31,8 @@ export const NpiProviderFindManySelectZodSchema = z.object({
createdAt: z.boolean().optional(),
user: z.boolean().optional(),
claims: z.boolean().optional(),
payments: z.boolean().optional(),
commissionBatches: z.boolean().optional(),
appointmentProcedures: z.boolean().optional(),
_count: z.boolean().optional()
}).strict();

View File

@@ -15,6 +15,7 @@ export const PaymentFindManySelectSchema: z.ZodType<Prisma.PaymentSelect> = z.ob
patientId: z.boolean().optional(),
userId: z.boolean().optional(),
updatedById: z.boolean().optional(),
npiProviderId: z.boolean().optional(),
totalBilled: z.boolean().optional(),
totalPaid: z.boolean().optional(),
totalAdjusted: z.boolean().optional(),
@@ -30,8 +31,10 @@ export const PaymentFindManySelectSchema: z.ZodType<Prisma.PaymentSelect> = z.ob
claim: z.boolean().optional(),
patient: z.boolean().optional(),
updatedBy: z.boolean().optional(),
npiProvider: z.boolean().optional(),
serviceLineTransactions: z.boolean().optional(),
serviceLines: z.boolean().optional(),
commissionBatchItems: z.boolean().optional(),
_count: z.boolean().optional()
}).strict() as unknown as z.ZodType<Prisma.PaymentSelect>;
@@ -41,6 +44,7 @@ export const PaymentFindManySelectZodSchema = z.object({
patientId: z.boolean().optional(),
userId: z.boolean().optional(),
updatedById: z.boolean().optional(),
npiProviderId: z.boolean().optional(),
totalBilled: z.boolean().optional(),
totalPaid: z.boolean().optional(),
totalAdjusted: z.boolean().optional(),
@@ -56,8 +60,10 @@ export const PaymentFindManySelectZodSchema = z.object({
claim: z.boolean().optional(),
patient: z.boolean().optional(),
updatedBy: z.boolean().optional(),
npiProvider: z.boolean().optional(),
serviceLineTransactions: z.boolean().optional(),
serviceLines: z.boolean().optional(),
commissionBatchItems: z.boolean().optional(),
_count: z.boolean().optional()
}).strict();

View File

@@ -0,0 +1,9 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchSelectObjectSchema as CommissionBatchSelectObjectSchema } from './objects/CommissionBatchSelect.schema';
import { CommissionBatchIncludeObjectSchema as CommissionBatchIncludeObjectSchema } from './objects/CommissionBatchInclude.schema';
import { CommissionBatchWhereUniqueInputObjectSchema as CommissionBatchWhereUniqueInputObjectSchema } from './objects/CommissionBatchWhereUniqueInput.schema';
export const CommissionBatchFindUniqueSchema: z.ZodType<Prisma.CommissionBatchFindUniqueArgs> = z.object({ select: CommissionBatchSelectObjectSchema.optional(), include: CommissionBatchIncludeObjectSchema.optional(), where: CommissionBatchWhereUniqueInputObjectSchema }).strict() as unknown as z.ZodType<Prisma.CommissionBatchFindUniqueArgs>;
export const CommissionBatchFindUniqueZodSchema = z.object({ select: CommissionBatchSelectObjectSchema.optional(), include: CommissionBatchIncludeObjectSchema.optional(), where: CommissionBatchWhereUniqueInputObjectSchema }).strict();

View File

@@ -0,0 +1,9 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchItemSelectObjectSchema as CommissionBatchItemSelectObjectSchema } from './objects/CommissionBatchItemSelect.schema';
import { CommissionBatchItemIncludeObjectSchema as CommissionBatchItemIncludeObjectSchema } from './objects/CommissionBatchItemInclude.schema';
import { CommissionBatchItemWhereUniqueInputObjectSchema as CommissionBatchItemWhereUniqueInputObjectSchema } from './objects/CommissionBatchItemWhereUniqueInput.schema';
export const CommissionBatchItemFindUniqueSchema: z.ZodType<Prisma.CommissionBatchItemFindUniqueArgs> = z.object({ select: CommissionBatchItemSelectObjectSchema.optional(), include: CommissionBatchItemIncludeObjectSchema.optional(), where: CommissionBatchItemWhereUniqueInputObjectSchema }).strict() as unknown as z.ZodType<Prisma.CommissionBatchItemFindUniqueArgs>;
export const CommissionBatchItemFindUniqueZodSchema = z.object({ select: CommissionBatchItemSelectObjectSchema.optional(), include: CommissionBatchItemIncludeObjectSchema.optional(), where: CommissionBatchItemWhereUniqueInputObjectSchema }).strict();

View File

@@ -0,0 +1,9 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchSelectObjectSchema as CommissionBatchSelectObjectSchema } from './objects/CommissionBatchSelect.schema';
import { CommissionBatchIncludeObjectSchema as CommissionBatchIncludeObjectSchema } from './objects/CommissionBatchInclude.schema';
import { CommissionBatchWhereUniqueInputObjectSchema as CommissionBatchWhereUniqueInputObjectSchema } from './objects/CommissionBatchWhereUniqueInput.schema';
export const CommissionBatchFindUniqueOrThrowSchema: z.ZodType<Prisma.CommissionBatchFindUniqueOrThrowArgs> = z.object({ select: CommissionBatchSelectObjectSchema.optional(), include: CommissionBatchIncludeObjectSchema.optional(), where: CommissionBatchWhereUniqueInputObjectSchema }).strict() as unknown as z.ZodType<Prisma.CommissionBatchFindUniqueOrThrowArgs>;
export const CommissionBatchFindUniqueOrThrowZodSchema = z.object({ select: CommissionBatchSelectObjectSchema.optional(), include: CommissionBatchIncludeObjectSchema.optional(), where: CommissionBatchWhereUniqueInputObjectSchema }).strict();

View File

@@ -0,0 +1,9 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchItemSelectObjectSchema as CommissionBatchItemSelectObjectSchema } from './objects/CommissionBatchItemSelect.schema';
import { CommissionBatchItemIncludeObjectSchema as CommissionBatchItemIncludeObjectSchema } from './objects/CommissionBatchItemInclude.schema';
import { CommissionBatchItemWhereUniqueInputObjectSchema as CommissionBatchItemWhereUniqueInputObjectSchema } from './objects/CommissionBatchItemWhereUniqueInput.schema';
export const CommissionBatchItemFindUniqueOrThrowSchema: z.ZodType<Prisma.CommissionBatchItemFindUniqueOrThrowArgs> = z.object({ select: CommissionBatchItemSelectObjectSchema.optional(), include: CommissionBatchItemIncludeObjectSchema.optional(), where: CommissionBatchItemWhereUniqueInputObjectSchema }).strict() as unknown as z.ZodType<Prisma.CommissionBatchItemFindUniqueOrThrowArgs>;
export const CommissionBatchItemFindUniqueOrThrowZodSchema = z.object({ select: CommissionBatchItemSelectObjectSchema.optional(), include: CommissionBatchItemIncludeObjectSchema.optional(), where: CommissionBatchItemWhereUniqueInputObjectSchema }).strict();

View File

@@ -0,0 +1,15 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchWhereInputObjectSchema as CommissionBatchWhereInputObjectSchema } from './objects/CommissionBatchWhereInput.schema';
import { CommissionBatchOrderByWithAggregationInputObjectSchema as CommissionBatchOrderByWithAggregationInputObjectSchema } from './objects/CommissionBatchOrderByWithAggregationInput.schema';
import { CommissionBatchScalarWhereWithAggregatesInputObjectSchema as CommissionBatchScalarWhereWithAggregatesInputObjectSchema } from './objects/CommissionBatchScalarWhereWithAggregatesInput.schema';
import { CommissionBatchScalarFieldEnumSchema } from './enums/CommissionBatchScalarFieldEnum.schema';
import { CommissionBatchCountAggregateInputObjectSchema as CommissionBatchCountAggregateInputObjectSchema } from './objects/CommissionBatchCountAggregateInput.schema';
import { CommissionBatchMinAggregateInputObjectSchema as CommissionBatchMinAggregateInputObjectSchema } from './objects/CommissionBatchMinAggregateInput.schema';
import { CommissionBatchMaxAggregateInputObjectSchema as CommissionBatchMaxAggregateInputObjectSchema } from './objects/CommissionBatchMaxAggregateInput.schema';
import { CommissionBatchAvgAggregateInputObjectSchema as CommissionBatchAvgAggregateInputObjectSchema } from './objects/CommissionBatchAvgAggregateInput.schema';
import { CommissionBatchSumAggregateInputObjectSchema as CommissionBatchSumAggregateInputObjectSchema } from './objects/CommissionBatchSumAggregateInput.schema';
export const CommissionBatchGroupBySchema: z.ZodType<Prisma.CommissionBatchGroupByArgs> = z.object({ where: CommissionBatchWhereInputObjectSchema.optional(), orderBy: z.union([CommissionBatchOrderByWithAggregationInputObjectSchema, CommissionBatchOrderByWithAggregationInputObjectSchema.array()]).optional(), having: CommissionBatchScalarWhereWithAggregatesInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), by: z.array(CommissionBatchScalarFieldEnumSchema), _count: z.union([ z.literal(true), CommissionBatchCountAggregateInputObjectSchema ]).optional(), _min: CommissionBatchMinAggregateInputObjectSchema.optional(), _max: CommissionBatchMaxAggregateInputObjectSchema.optional(), _avg: CommissionBatchAvgAggregateInputObjectSchema.optional(), _sum: CommissionBatchSumAggregateInputObjectSchema.optional() }).strict() as unknown as z.ZodType<Prisma.CommissionBatchGroupByArgs>;
export const CommissionBatchGroupByZodSchema = z.object({ where: CommissionBatchWhereInputObjectSchema.optional(), orderBy: z.union([CommissionBatchOrderByWithAggregationInputObjectSchema, CommissionBatchOrderByWithAggregationInputObjectSchema.array()]).optional(), having: CommissionBatchScalarWhereWithAggregatesInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), by: z.array(CommissionBatchScalarFieldEnumSchema), _count: z.union([ z.literal(true), CommissionBatchCountAggregateInputObjectSchema ]).optional(), _min: CommissionBatchMinAggregateInputObjectSchema.optional(), _max: CommissionBatchMaxAggregateInputObjectSchema.optional(), _avg: CommissionBatchAvgAggregateInputObjectSchema.optional(), _sum: CommissionBatchSumAggregateInputObjectSchema.optional() }).strict();

View File

@@ -0,0 +1,15 @@
import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { CommissionBatchItemWhereInputObjectSchema as CommissionBatchItemWhereInputObjectSchema } from './objects/CommissionBatchItemWhereInput.schema';
import { CommissionBatchItemOrderByWithAggregationInputObjectSchema as CommissionBatchItemOrderByWithAggregationInputObjectSchema } from './objects/CommissionBatchItemOrderByWithAggregationInput.schema';
import { CommissionBatchItemScalarWhereWithAggregatesInputObjectSchema as CommissionBatchItemScalarWhereWithAggregatesInputObjectSchema } from './objects/CommissionBatchItemScalarWhereWithAggregatesInput.schema';
import { CommissionBatchItemScalarFieldEnumSchema } from './enums/CommissionBatchItemScalarFieldEnum.schema';
import { CommissionBatchItemCountAggregateInputObjectSchema as CommissionBatchItemCountAggregateInputObjectSchema } from './objects/CommissionBatchItemCountAggregateInput.schema';
import { CommissionBatchItemMinAggregateInputObjectSchema as CommissionBatchItemMinAggregateInputObjectSchema } from './objects/CommissionBatchItemMinAggregateInput.schema';
import { CommissionBatchItemMaxAggregateInputObjectSchema as CommissionBatchItemMaxAggregateInputObjectSchema } from './objects/CommissionBatchItemMaxAggregateInput.schema';
import { CommissionBatchItemAvgAggregateInputObjectSchema as CommissionBatchItemAvgAggregateInputObjectSchema } from './objects/CommissionBatchItemAvgAggregateInput.schema';
import { CommissionBatchItemSumAggregateInputObjectSchema as CommissionBatchItemSumAggregateInputObjectSchema } from './objects/CommissionBatchItemSumAggregateInput.schema';
export const CommissionBatchItemGroupBySchema: z.ZodType<Prisma.CommissionBatchItemGroupByArgs> = z.object({ where: CommissionBatchItemWhereInputObjectSchema.optional(), orderBy: z.union([CommissionBatchItemOrderByWithAggregationInputObjectSchema, CommissionBatchItemOrderByWithAggregationInputObjectSchema.array()]).optional(), having: CommissionBatchItemScalarWhereWithAggregatesInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), by: z.array(CommissionBatchItemScalarFieldEnumSchema), _count: z.union([ z.literal(true), CommissionBatchItemCountAggregateInputObjectSchema ]).optional(), _min: CommissionBatchItemMinAggregateInputObjectSchema.optional(), _max: CommissionBatchItemMaxAggregateInputObjectSchema.optional(), _avg: CommissionBatchItemAvgAggregateInputObjectSchema.optional(), _sum: CommissionBatchItemSumAggregateInputObjectSchema.optional() }).strict() as unknown as z.ZodType<Prisma.CommissionBatchItemGroupByArgs>;
export const CommissionBatchItemGroupByZodSchema = z.object({ where: CommissionBatchItemWhereInputObjectSchema.optional(), orderBy: z.union([CommissionBatchItemOrderByWithAggregationInputObjectSchema, CommissionBatchItemOrderByWithAggregationInputObjectSchema.array()]).optional(), having: CommissionBatchItemScalarWhereWithAggregatesInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), by: z.array(CommissionBatchItemScalarFieldEnumSchema), _count: z.union([ z.literal(true), CommissionBatchItemCountAggregateInputObjectSchema ]).optional(), _min: CommissionBatchItemMinAggregateInputObjectSchema.optional(), _max: CommissionBatchItemMaxAggregateInputObjectSchema.optional(), _avg: CommissionBatchItemAvgAggregateInputObjectSchema.optional(), _sum: CommissionBatchItemSumAggregateInputObjectSchema.optional() }).strict();

View File

@@ -30,6 +30,8 @@ export * from './enums/OfficeContactScalarFieldEnum.schema'
export * from './enums/InsuranceContactScalarFieldEnum.schema'
export * from './enums/ProcedureTimeslotScalarFieldEnum.schema'
export * from './enums/PatientConversationScalarFieldEnum.schema'
export * from './enums/CommissionBatchScalarFieldEnum.schema'
export * from './enums/CommissionBatchItemScalarFieldEnum.schema'
export * from './enums/SortOrder.schema'
export * from './enums/NullableJsonNullValueInput.schema'
export * from './enums/JsonNullValueInput.schema'
@@ -575,6 +577,40 @@ export * from './updateManyAndReturnPatientConversation.schema'
export * from './upsertOnePatientConversation.schema'
export * from './aggregatePatientConversation.schema'
export * from './groupByPatientConversation.schema'
export * from './findUniqueCommissionBatch.schema'
export * from './findUniqueOrThrowCommissionBatch.schema'
export * from './findFirstCommissionBatch.schema'
export * from './findFirstOrThrowCommissionBatch.schema'
export * from './findManyCommissionBatch.schema'
export * from './countCommissionBatch.schema'
export * from './createOneCommissionBatch.schema'
export * from './createManyCommissionBatch.schema'
export * from './createManyAndReturnCommissionBatch.schema'
export * from './deleteOneCommissionBatch.schema'
export * from './deleteManyCommissionBatch.schema'
export * from './updateOneCommissionBatch.schema'
export * from './updateManyCommissionBatch.schema'
export * from './updateManyAndReturnCommissionBatch.schema'
export * from './upsertOneCommissionBatch.schema'
export * from './aggregateCommissionBatch.schema'
export * from './groupByCommissionBatch.schema'
export * from './findUniqueCommissionBatchItem.schema'
export * from './findUniqueOrThrowCommissionBatchItem.schema'
export * from './findFirstCommissionBatchItem.schema'
export * from './findFirstOrThrowCommissionBatchItem.schema'
export * from './findManyCommissionBatchItem.schema'
export * from './countCommissionBatchItem.schema'
export * from './createOneCommissionBatchItem.schema'
export * from './createManyCommissionBatchItem.schema'
export * from './createManyAndReturnCommissionBatchItem.schema'
export * from './deleteOneCommissionBatchItem.schema'
export * from './deleteManyCommissionBatchItem.schema'
export * from './updateOneCommissionBatchItem.schema'
export * from './updateManyCommissionBatchItem.schema'
export * from './updateManyAndReturnCommissionBatchItem.schema'
export * from './upsertOneCommissionBatchItem.schema'
export * from './aggregateCommissionBatchItem.schema'
export * from './groupByCommissionBatchItem.schema'
export * from './results/UserFindUniqueResult.schema'
export * from './results/UserFindFirstResult.schema'
export * from './results/UserFindManyResult.schema'
@@ -978,6 +1014,32 @@ export * from './results/PatientConversationDeleteManyResult.schema'
export * from './results/PatientConversationAggregateResult.schema'
export * from './results/PatientConversationGroupByResult.schema'
export * from './results/PatientConversationCountResult.schema'
export * from './results/CommissionBatchFindUniqueResult.schema'
export * from './results/CommissionBatchFindFirstResult.schema'
export * from './results/CommissionBatchFindManyResult.schema'
export * from './results/CommissionBatchCreateResult.schema'
export * from './results/CommissionBatchCreateManyResult.schema'
export * from './results/CommissionBatchUpdateResult.schema'
export * from './results/CommissionBatchUpdateManyResult.schema'
export * from './results/CommissionBatchUpsertResult.schema'
export * from './results/CommissionBatchDeleteResult.schema'
export * from './results/CommissionBatchDeleteManyResult.schema'
export * from './results/CommissionBatchAggregateResult.schema'
export * from './results/CommissionBatchGroupByResult.schema'
export * from './results/CommissionBatchCountResult.schema'
export * from './results/CommissionBatchItemFindUniqueResult.schema'
export * from './results/CommissionBatchItemFindFirstResult.schema'
export * from './results/CommissionBatchItemFindManyResult.schema'
export * from './results/CommissionBatchItemCreateResult.schema'
export * from './results/CommissionBatchItemCreateManyResult.schema'
export * from './results/CommissionBatchItemUpdateResult.schema'
export * from './results/CommissionBatchItemUpdateManyResult.schema'
export * from './results/CommissionBatchItemUpsertResult.schema'
export * from './results/CommissionBatchItemDeleteResult.schema'
export * from './results/CommissionBatchItemDeleteManyResult.schema'
export * from './results/CommissionBatchItemAggregateResult.schema'
export * from './results/CommissionBatchItemGroupByResult.schema'
export * from './results/CommissionBatchItemCountResult.schema'
export * from './results/index'
export * from './objects/index'
export * from './variants/pure/User.pure'
@@ -1011,6 +1073,8 @@ export * from './variants/pure/OfficeContact.pure'
export * from './variants/pure/InsuranceContact.pure'
export * from './variants/pure/ProcedureTimeslot.pure'
export * from './variants/pure/PatientConversation.pure'
export * from './variants/pure/CommissionBatch.pure'
export * from './variants/pure/CommissionBatchItem.pure'
export * from './variants/pure/index'
export * from './variants/input/User.input'
export * from './variants/input/Patient.input'
@@ -1043,6 +1107,8 @@ export * from './variants/input/OfficeContact.input'
export * from './variants/input/InsuranceContact.input'
export * from './variants/input/ProcedureTimeslot.input'
export * from './variants/input/PatientConversation.input'
export * from './variants/input/CommissionBatch.input'
export * from './variants/input/CommissionBatchItem.input'
export * from './variants/input/index'
export * from './variants/result/User.result'
export * from './variants/result/Patient.result'
@@ -1075,5 +1141,7 @@ export * from './variants/result/OfficeContact.result'
export * from './variants/result/InsuranceContact.result'
export * from './variants/result/ProcedureTimeslot.result'
export * from './variants/result/PatientConversation.result'
export * from './variants/result/CommissionBatch.result'
export * from './variants/result/CommissionBatchItem.result'
export * from './variants/result/index'
export * from './variants/index'

View File

@@ -0,0 +1,11 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { CommissionBatchSelectObjectSchema as CommissionBatchSelectObjectSchema } from './CommissionBatchSelect.schema';
import { CommissionBatchIncludeObjectSchema as CommissionBatchIncludeObjectSchema } from './CommissionBatchInclude.schema'
const makeSchema = () => z.object({
select: z.lazy(() => CommissionBatchSelectObjectSchema).optional(),
include: z.lazy(() => CommissionBatchIncludeObjectSchema).optional()
}).strict();
export const CommissionBatchArgsObjectSchema = makeSchema();
export const CommissionBatchArgsObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,12 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
const makeSchema = () => z.object({
id: z.literal(true).optional(),
npiProviderId: z.literal(true).optional(),
totalCollection: z.literal(true).optional(),
commissionAmount: z.literal(true).optional()
}).strict();
export const CommissionBatchAvgAggregateInputObjectSchema: z.ZodType<Prisma.CommissionBatchAvgAggregateInputType> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchAvgAggregateInputType>;
export const CommissionBatchAvgAggregateInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,12 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { SortOrderSchema } from '../enums/SortOrder.schema'
const makeSchema = () => z.object({
id: SortOrderSchema.optional(),
npiProviderId: SortOrderSchema.optional(),
totalCollection: SortOrderSchema.optional(),
commissionAmount: SortOrderSchema.optional()
}).strict();
export const CommissionBatchAvgOrderByAggregateInputObjectSchema: z.ZodType<Prisma.CommissionBatchAvgOrderByAggregateInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchAvgOrderByAggregateInput>;
export const CommissionBatchAvgOrderByAggregateInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,15 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
const makeSchema = () => z.object({
id: z.literal(true).optional(),
npiProviderId: z.literal(true).optional(),
totalCollection: z.literal(true).optional(),
commissionAmount: z.literal(true).optional(),
notes: z.literal(true).optional(),
createdAt: z.literal(true).optional(),
_all: z.literal(true).optional()
}).strict();
export const CommissionBatchCountAggregateInputObjectSchema: z.ZodType<Prisma.CommissionBatchCountAggregateInputType> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchCountAggregateInputType>;
export const CommissionBatchCountAggregateInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,14 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { SortOrderSchema } from '../enums/SortOrder.schema'
const makeSchema = () => z.object({
id: SortOrderSchema.optional(),
npiProviderId: SortOrderSchema.optional(),
totalCollection: SortOrderSchema.optional(),
commissionAmount: SortOrderSchema.optional(),
notes: SortOrderSchema.optional(),
createdAt: SortOrderSchema.optional()
}).strict();
export const CommissionBatchCountOrderByAggregateInputObjectSchema: z.ZodType<Prisma.CommissionBatchCountOrderByAggregateInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchCountOrderByAggregateInput>;
export const CommissionBatchCountOrderByAggregateInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,9 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { CommissionBatchCountOutputTypeSelectObjectSchema as CommissionBatchCountOutputTypeSelectObjectSchema } from './CommissionBatchCountOutputTypeSelect.schema'
const makeSchema = () => z.object({
select: z.lazy(() => CommissionBatchCountOutputTypeSelectObjectSchema).optional()
}).strict();
export const CommissionBatchCountOutputTypeArgsObjectSchema = makeSchema();
export const CommissionBatchCountOutputTypeArgsObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,9 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { CommissionBatchItemWhereInputObjectSchema as CommissionBatchItemWhereInputObjectSchema } from './CommissionBatchItemWhereInput.schema'
const makeSchema = () => z.object({
where: z.lazy(() => CommissionBatchItemWhereInputObjectSchema).optional()
}).strict();
export const CommissionBatchCountOutputTypeCountItemsArgsObjectSchema = makeSchema();
export const CommissionBatchCountOutputTypeCountItemsArgsObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,9 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { CommissionBatchCountOutputTypeCountItemsArgsObjectSchema as CommissionBatchCountOutputTypeCountItemsArgsObjectSchema } from './CommissionBatchCountOutputTypeCountItemsArgs.schema'
const makeSchema = () => z.object({
items: z.union([z.boolean(), z.lazy(() => CommissionBatchCountOutputTypeCountItemsArgsObjectSchema)]).optional()
}).strict();
export const CommissionBatchCountOutputTypeSelectObjectSchema: z.ZodType<Prisma.CommissionBatchCountOutputTypeSelect> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchCountOutputTypeSelect>;
export const CommissionBatchCountOutputTypeSelectObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,33 @@
import * as z from 'zod';
import { Prisma } from '../../../generated/prisma';
import Decimal from 'decimal.js';
import { NpiProviderCreateNestedOneWithoutCommissionBatchesInputObjectSchema as NpiProviderCreateNestedOneWithoutCommissionBatchesInputObjectSchema } from './NpiProviderCreateNestedOneWithoutCommissionBatchesInput.schema';
import { CommissionBatchItemCreateNestedManyWithoutCommissionBatchInputObjectSchema as CommissionBatchItemCreateNestedManyWithoutCommissionBatchInputObjectSchema } from './CommissionBatchItemCreateNestedManyWithoutCommissionBatchInput.schema'
import { DecimalJSLikeSchema, isValidDecimalInput } from '../../helpers/decimal-helpers';
const makeSchema = () => z.object({
totalCollection: z.union([
z.number(),
z.string(),
z.instanceof(Decimal),
z.instanceof(Prisma.Decimal),
DecimalJSLikeSchema,
]).refine((v) => isValidDecimalInput(v), {
message: "Field 'totalCollection' must be a Decimal",
}),
commissionAmount: z.union([
z.number(),
z.string(),
z.instanceof(Decimal),
z.instanceof(Prisma.Decimal),
DecimalJSLikeSchema,
]).refine((v) => isValidDecimalInput(v), {
message: "Field 'commissionAmount' must be a Decimal",
}),
notes: z.string().optional().nullable(),
createdAt: z.coerce.date().optional(),
npiProvider: z.lazy(() => NpiProviderCreateNestedOneWithoutCommissionBatchesInputObjectSchema),
items: z.lazy(() => CommissionBatchItemCreateNestedManyWithoutCommissionBatchInputObjectSchema).optional()
}).strict();
export const CommissionBatchCreateInputObjectSchema: z.ZodType<Prisma.CommissionBatchCreateInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchCreateInput>;
export const CommissionBatchCreateInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,32 @@
import * as z from 'zod';
import { Prisma } from '../../../generated/prisma';
import Decimal from 'decimal.js';
import { DecimalJSLikeSchema, isValidDecimalInput } from '../../helpers/decimal-helpers';
const makeSchema = () => z.object({
id: z.number().int().optional(),
npiProviderId: z.number().int(),
totalCollection: z.union([
z.number(),
z.string(),
z.instanceof(Decimal),
z.instanceof(Prisma.Decimal),
DecimalJSLikeSchema,
]).refine((v) => isValidDecimalInput(v), {
message: "Field 'totalCollection' must be a Decimal",
}),
commissionAmount: z.union([
z.number(),
z.string(),
z.instanceof(Decimal),
z.instanceof(Prisma.Decimal),
DecimalJSLikeSchema,
]).refine((v) => isValidDecimalInput(v), {
message: "Field 'commissionAmount' must be a Decimal",
}),
notes: z.string().optional().nullable(),
createdAt: z.coerce.date().optional()
}).strict();
export const CommissionBatchCreateManyInputObjectSchema: z.ZodType<Prisma.CommissionBatchCreateManyInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchCreateManyInput>;
export const CommissionBatchCreateManyInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,31 @@
import * as z from 'zod';
import { Prisma } from '../../../generated/prisma';
import Decimal from 'decimal.js';
import { DecimalJSLikeSchema, isValidDecimalInput } from '../../helpers/decimal-helpers';
const makeSchema = () => z.object({
id: z.number().int().optional(),
totalCollection: z.union([
z.number(),
z.string(),
z.instanceof(Decimal),
z.instanceof(Prisma.Decimal),
DecimalJSLikeSchema,
]).refine((v) => isValidDecimalInput(v), {
message: "Field 'totalCollection' must be a Decimal",
}),
commissionAmount: z.union([
z.number(),
z.string(),
z.instanceof(Decimal),
z.instanceof(Prisma.Decimal),
DecimalJSLikeSchema,
]).refine((v) => isValidDecimalInput(v), {
message: "Field 'commissionAmount' must be a Decimal",
}),
notes: z.string().optional().nullable(),
createdAt: z.coerce.date().optional()
}).strict();
export const CommissionBatchCreateManyNpiProviderInputObjectSchema: z.ZodType<Prisma.CommissionBatchCreateManyNpiProviderInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchCreateManyNpiProviderInput>;
export const CommissionBatchCreateManyNpiProviderInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,10 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { CommissionBatchCreateManyNpiProviderInputObjectSchema as CommissionBatchCreateManyNpiProviderInputObjectSchema } from './CommissionBatchCreateManyNpiProviderInput.schema'
const makeSchema = () => z.object({
data: z.union([z.lazy(() => CommissionBatchCreateManyNpiProviderInputObjectSchema), z.lazy(() => CommissionBatchCreateManyNpiProviderInputObjectSchema).array()]),
skipDuplicates: z.boolean().optional()
}).strict();
export const CommissionBatchCreateManyNpiProviderInputEnvelopeObjectSchema: z.ZodType<Prisma.CommissionBatchCreateManyNpiProviderInputEnvelope> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchCreateManyNpiProviderInputEnvelope>;
export const CommissionBatchCreateManyNpiProviderInputEnvelopeObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,16 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { CommissionBatchCreateWithoutNpiProviderInputObjectSchema as CommissionBatchCreateWithoutNpiProviderInputObjectSchema } from './CommissionBatchCreateWithoutNpiProviderInput.schema';
import { CommissionBatchUncheckedCreateWithoutNpiProviderInputObjectSchema as CommissionBatchUncheckedCreateWithoutNpiProviderInputObjectSchema } from './CommissionBatchUncheckedCreateWithoutNpiProviderInput.schema';
import { CommissionBatchCreateOrConnectWithoutNpiProviderInputObjectSchema as CommissionBatchCreateOrConnectWithoutNpiProviderInputObjectSchema } from './CommissionBatchCreateOrConnectWithoutNpiProviderInput.schema';
import { CommissionBatchCreateManyNpiProviderInputEnvelopeObjectSchema as CommissionBatchCreateManyNpiProviderInputEnvelopeObjectSchema } from './CommissionBatchCreateManyNpiProviderInputEnvelope.schema';
import { CommissionBatchWhereUniqueInputObjectSchema as CommissionBatchWhereUniqueInputObjectSchema } from './CommissionBatchWhereUniqueInput.schema'
const makeSchema = () => z.object({
create: z.union([z.lazy(() => CommissionBatchCreateWithoutNpiProviderInputObjectSchema), z.lazy(() => CommissionBatchCreateWithoutNpiProviderInputObjectSchema).array(), z.lazy(() => CommissionBatchUncheckedCreateWithoutNpiProviderInputObjectSchema), z.lazy(() => CommissionBatchUncheckedCreateWithoutNpiProviderInputObjectSchema).array()]).optional(),
connectOrCreate: z.union([z.lazy(() => CommissionBatchCreateOrConnectWithoutNpiProviderInputObjectSchema), z.lazy(() => CommissionBatchCreateOrConnectWithoutNpiProviderInputObjectSchema).array()]).optional(),
createMany: z.lazy(() => CommissionBatchCreateManyNpiProviderInputEnvelopeObjectSchema).optional(),
connect: z.union([z.lazy(() => CommissionBatchWhereUniqueInputObjectSchema), z.lazy(() => CommissionBatchWhereUniqueInputObjectSchema).array()]).optional()
}).strict();
export const CommissionBatchCreateNestedManyWithoutNpiProviderInputObjectSchema: z.ZodType<Prisma.CommissionBatchCreateNestedManyWithoutNpiProviderInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchCreateNestedManyWithoutNpiProviderInput>;
export const CommissionBatchCreateNestedManyWithoutNpiProviderInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,14 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { CommissionBatchCreateWithoutItemsInputObjectSchema as CommissionBatchCreateWithoutItemsInputObjectSchema } from './CommissionBatchCreateWithoutItemsInput.schema';
import { CommissionBatchUncheckedCreateWithoutItemsInputObjectSchema as CommissionBatchUncheckedCreateWithoutItemsInputObjectSchema } from './CommissionBatchUncheckedCreateWithoutItemsInput.schema';
import { CommissionBatchCreateOrConnectWithoutItemsInputObjectSchema as CommissionBatchCreateOrConnectWithoutItemsInputObjectSchema } from './CommissionBatchCreateOrConnectWithoutItemsInput.schema';
import { CommissionBatchWhereUniqueInputObjectSchema as CommissionBatchWhereUniqueInputObjectSchema } from './CommissionBatchWhereUniqueInput.schema'
const makeSchema = () => z.object({
create: z.union([z.lazy(() => CommissionBatchCreateWithoutItemsInputObjectSchema), z.lazy(() => CommissionBatchUncheckedCreateWithoutItemsInputObjectSchema)]).optional(),
connectOrCreate: z.lazy(() => CommissionBatchCreateOrConnectWithoutItemsInputObjectSchema).optional(),
connect: z.lazy(() => CommissionBatchWhereUniqueInputObjectSchema).optional()
}).strict();
export const CommissionBatchCreateNestedOneWithoutItemsInputObjectSchema: z.ZodType<Prisma.CommissionBatchCreateNestedOneWithoutItemsInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchCreateNestedOneWithoutItemsInput>;
export const CommissionBatchCreateNestedOneWithoutItemsInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,12 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { CommissionBatchWhereUniqueInputObjectSchema as CommissionBatchWhereUniqueInputObjectSchema } from './CommissionBatchWhereUniqueInput.schema';
import { CommissionBatchCreateWithoutItemsInputObjectSchema as CommissionBatchCreateWithoutItemsInputObjectSchema } from './CommissionBatchCreateWithoutItemsInput.schema';
import { CommissionBatchUncheckedCreateWithoutItemsInputObjectSchema as CommissionBatchUncheckedCreateWithoutItemsInputObjectSchema } from './CommissionBatchUncheckedCreateWithoutItemsInput.schema'
const makeSchema = () => z.object({
where: z.lazy(() => CommissionBatchWhereUniqueInputObjectSchema),
create: z.union([z.lazy(() => CommissionBatchCreateWithoutItemsInputObjectSchema), z.lazy(() => CommissionBatchUncheckedCreateWithoutItemsInputObjectSchema)])
}).strict();
export const CommissionBatchCreateOrConnectWithoutItemsInputObjectSchema: z.ZodType<Prisma.CommissionBatchCreateOrConnectWithoutItemsInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchCreateOrConnectWithoutItemsInput>;
export const CommissionBatchCreateOrConnectWithoutItemsInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,12 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { CommissionBatchWhereUniqueInputObjectSchema as CommissionBatchWhereUniqueInputObjectSchema } from './CommissionBatchWhereUniqueInput.schema';
import { CommissionBatchCreateWithoutNpiProviderInputObjectSchema as CommissionBatchCreateWithoutNpiProviderInputObjectSchema } from './CommissionBatchCreateWithoutNpiProviderInput.schema';
import { CommissionBatchUncheckedCreateWithoutNpiProviderInputObjectSchema as CommissionBatchUncheckedCreateWithoutNpiProviderInputObjectSchema } from './CommissionBatchUncheckedCreateWithoutNpiProviderInput.schema'
const makeSchema = () => z.object({
where: z.lazy(() => CommissionBatchWhereUniqueInputObjectSchema),
create: z.union([z.lazy(() => CommissionBatchCreateWithoutNpiProviderInputObjectSchema), z.lazy(() => CommissionBatchUncheckedCreateWithoutNpiProviderInputObjectSchema)])
}).strict();
export const CommissionBatchCreateOrConnectWithoutNpiProviderInputObjectSchema: z.ZodType<Prisma.CommissionBatchCreateOrConnectWithoutNpiProviderInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchCreateOrConnectWithoutNpiProviderInput>;
export const CommissionBatchCreateOrConnectWithoutNpiProviderInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,31 @@
import * as z from 'zod';
import { Prisma } from '../../../generated/prisma';
import Decimal from 'decimal.js';
import { NpiProviderCreateNestedOneWithoutCommissionBatchesInputObjectSchema as NpiProviderCreateNestedOneWithoutCommissionBatchesInputObjectSchema } from './NpiProviderCreateNestedOneWithoutCommissionBatchesInput.schema'
import { DecimalJSLikeSchema, isValidDecimalInput } from '../../helpers/decimal-helpers';
const makeSchema = () => z.object({
totalCollection: z.union([
z.number(),
z.string(),
z.instanceof(Decimal),
z.instanceof(Prisma.Decimal),
DecimalJSLikeSchema,
]).refine((v) => isValidDecimalInput(v), {
message: "Field 'totalCollection' must be a Decimal",
}),
commissionAmount: z.union([
z.number(),
z.string(),
z.instanceof(Decimal),
z.instanceof(Prisma.Decimal),
DecimalJSLikeSchema,
]).refine((v) => isValidDecimalInput(v), {
message: "Field 'commissionAmount' must be a Decimal",
}),
notes: z.string().optional().nullable(),
createdAt: z.coerce.date().optional(),
npiProvider: z.lazy(() => NpiProviderCreateNestedOneWithoutCommissionBatchesInputObjectSchema)
}).strict();
export const CommissionBatchCreateWithoutItemsInputObjectSchema: z.ZodType<Prisma.CommissionBatchCreateWithoutItemsInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchCreateWithoutItemsInput>;
export const CommissionBatchCreateWithoutItemsInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,31 @@
import * as z from 'zod';
import { Prisma } from '../../../generated/prisma';
import Decimal from 'decimal.js';
import { CommissionBatchItemCreateNestedManyWithoutCommissionBatchInputObjectSchema as CommissionBatchItemCreateNestedManyWithoutCommissionBatchInputObjectSchema } from './CommissionBatchItemCreateNestedManyWithoutCommissionBatchInput.schema'
import { DecimalJSLikeSchema, isValidDecimalInput } from '../../helpers/decimal-helpers';
const makeSchema = () => z.object({
totalCollection: z.union([
z.number(),
z.string(),
z.instanceof(Decimal),
z.instanceof(Prisma.Decimal),
DecimalJSLikeSchema,
]).refine((v) => isValidDecimalInput(v), {
message: "Field 'totalCollection' must be a Decimal",
}),
commissionAmount: z.union([
z.number(),
z.string(),
z.instanceof(Decimal),
z.instanceof(Prisma.Decimal),
DecimalJSLikeSchema,
]).refine((v) => isValidDecimalInput(v), {
message: "Field 'commissionAmount' must be a Decimal",
}),
notes: z.string().optional().nullable(),
createdAt: z.coerce.date().optional(),
items: z.lazy(() => CommissionBatchItemCreateNestedManyWithoutCommissionBatchInputObjectSchema).optional()
}).strict();
export const CommissionBatchCreateWithoutNpiProviderInputObjectSchema: z.ZodType<Prisma.CommissionBatchCreateWithoutNpiProviderInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchCreateWithoutNpiProviderInput>;
export const CommissionBatchCreateWithoutNpiProviderInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,13 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { NpiProviderArgsObjectSchema as NpiProviderArgsObjectSchema } from './NpiProviderArgs.schema';
import { CommissionBatchItemFindManySchema as CommissionBatchItemFindManySchema } from '../findManyCommissionBatchItem.schema';
import { CommissionBatchCountOutputTypeArgsObjectSchema as CommissionBatchCountOutputTypeArgsObjectSchema } from './CommissionBatchCountOutputTypeArgs.schema'
const makeSchema = () => z.object({
npiProvider: z.union([z.boolean(), z.lazy(() => NpiProviderArgsObjectSchema)]).optional(),
items: z.union([z.boolean(), z.lazy(() => CommissionBatchItemFindManySchema)]).optional(),
_count: z.union([z.boolean(), z.lazy(() => CommissionBatchCountOutputTypeArgsObjectSchema)]).optional()
}).strict();
export const CommissionBatchIncludeObjectSchema: z.ZodType<Prisma.CommissionBatchInclude> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchInclude>;
export const CommissionBatchIncludeObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,11 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { CommissionBatchItemSelectObjectSchema as CommissionBatchItemSelectObjectSchema } from './CommissionBatchItemSelect.schema';
import { CommissionBatchItemIncludeObjectSchema as CommissionBatchItemIncludeObjectSchema } from './CommissionBatchItemInclude.schema'
const makeSchema = () => z.object({
select: z.lazy(() => CommissionBatchItemSelectObjectSchema).optional(),
include: z.lazy(() => CommissionBatchItemIncludeObjectSchema).optional()
}).strict();
export const CommissionBatchItemArgsObjectSchema = makeSchema();
export const CommissionBatchItemArgsObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,12 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
const makeSchema = () => z.object({
id: z.literal(true).optional(),
commissionBatchId: z.literal(true).optional(),
paymentId: z.literal(true).optional(),
collectionAmount: z.literal(true).optional()
}).strict();
export const CommissionBatchItemAvgAggregateInputObjectSchema: z.ZodType<Prisma.CommissionBatchItemAvgAggregateInputType> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchItemAvgAggregateInputType>;
export const CommissionBatchItemAvgAggregateInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,12 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { SortOrderSchema } from '../enums/SortOrder.schema'
const makeSchema = () => z.object({
id: SortOrderSchema.optional(),
commissionBatchId: SortOrderSchema.optional(),
paymentId: SortOrderSchema.optional(),
collectionAmount: SortOrderSchema.optional()
}).strict();
export const CommissionBatchItemAvgOrderByAggregateInputObjectSchema: z.ZodType<Prisma.CommissionBatchItemAvgOrderByAggregateInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchItemAvgOrderByAggregateInput>;
export const CommissionBatchItemAvgOrderByAggregateInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,10 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
const makeSchema = () => z.object({
commissionBatchId: z.number().int(),
paymentId: z.number().int()
}).strict();
export const CommissionBatchItemCommissionBatchIdPaymentIdCompoundUniqueInputObjectSchema: z.ZodType<Prisma.CommissionBatchItemCommissionBatchIdPaymentIdCompoundUniqueInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchItemCommissionBatchIdPaymentIdCompoundUniqueInput>;
export const CommissionBatchItemCommissionBatchIdPaymentIdCompoundUniqueInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,13 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
const makeSchema = () => z.object({
id: z.literal(true).optional(),
commissionBatchId: z.literal(true).optional(),
paymentId: z.literal(true).optional(),
collectionAmount: z.literal(true).optional(),
_all: z.literal(true).optional()
}).strict();
export const CommissionBatchItemCountAggregateInputObjectSchema: z.ZodType<Prisma.CommissionBatchItemCountAggregateInputType> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchItemCountAggregateInputType>;
export const CommissionBatchItemCountAggregateInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,12 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { SortOrderSchema } from '../enums/SortOrder.schema'
const makeSchema = () => z.object({
id: SortOrderSchema.optional(),
commissionBatchId: SortOrderSchema.optional(),
paymentId: SortOrderSchema.optional(),
collectionAmount: SortOrderSchema.optional()
}).strict();
export const CommissionBatchItemCountOrderByAggregateInputObjectSchema: z.ZodType<Prisma.CommissionBatchItemCountOrderByAggregateInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchItemCountOrderByAggregateInput>;
export const CommissionBatchItemCountOrderByAggregateInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,22 @@
import * as z from 'zod';
import { Prisma } from '../../../generated/prisma';
import Decimal from 'decimal.js';
import { CommissionBatchCreateNestedOneWithoutItemsInputObjectSchema as CommissionBatchCreateNestedOneWithoutItemsInputObjectSchema } from './CommissionBatchCreateNestedOneWithoutItemsInput.schema';
import { PaymentCreateNestedOneWithoutCommissionBatchItemsInputObjectSchema as PaymentCreateNestedOneWithoutCommissionBatchItemsInputObjectSchema } from './PaymentCreateNestedOneWithoutCommissionBatchItemsInput.schema'
import { DecimalJSLikeSchema, isValidDecimalInput } from '../../helpers/decimal-helpers';
const makeSchema = () => z.object({
collectionAmount: z.union([
z.number(),
z.string(),
z.instanceof(Decimal),
z.instanceof(Prisma.Decimal),
DecimalJSLikeSchema,
]).refine((v) => isValidDecimalInput(v), {
message: "Field 'collectionAmount' must be a Decimal",
}),
commissionBatch: z.lazy(() => CommissionBatchCreateNestedOneWithoutItemsInputObjectSchema),
payment: z.lazy(() => PaymentCreateNestedOneWithoutCommissionBatchItemsInputObjectSchema)
}).strict();
export const CommissionBatchItemCreateInputObjectSchema: z.ZodType<Prisma.CommissionBatchItemCreateInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchItemCreateInput>;
export const CommissionBatchItemCreateInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,21 @@
import * as z from 'zod';
import { Prisma } from '../../../generated/prisma';
import Decimal from 'decimal.js';
import { DecimalJSLikeSchema, isValidDecimalInput } from '../../helpers/decimal-helpers';
const makeSchema = () => z.object({
id: z.number().int().optional(),
paymentId: z.number().int(),
collectionAmount: z.union([
z.number(),
z.string(),
z.instanceof(Decimal),
z.instanceof(Prisma.Decimal),
DecimalJSLikeSchema,
]).refine((v) => isValidDecimalInput(v), {
message: "Field 'collectionAmount' must be a Decimal",
})
}).strict();
export const CommissionBatchItemCreateManyCommissionBatchInputObjectSchema: z.ZodType<Prisma.CommissionBatchItemCreateManyCommissionBatchInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchItemCreateManyCommissionBatchInput>;
export const CommissionBatchItemCreateManyCommissionBatchInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,10 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { CommissionBatchItemCreateManyCommissionBatchInputObjectSchema as CommissionBatchItemCreateManyCommissionBatchInputObjectSchema } from './CommissionBatchItemCreateManyCommissionBatchInput.schema'
const makeSchema = () => z.object({
data: z.union([z.lazy(() => CommissionBatchItemCreateManyCommissionBatchInputObjectSchema), z.lazy(() => CommissionBatchItemCreateManyCommissionBatchInputObjectSchema).array()]),
skipDuplicates: z.boolean().optional()
}).strict();
export const CommissionBatchItemCreateManyCommissionBatchInputEnvelopeObjectSchema: z.ZodType<Prisma.CommissionBatchItemCreateManyCommissionBatchInputEnvelope> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchItemCreateManyCommissionBatchInputEnvelope>;
export const CommissionBatchItemCreateManyCommissionBatchInputEnvelopeObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,22 @@
import * as z from 'zod';
import { Prisma } from '../../../generated/prisma';
import Decimal from 'decimal.js';
import { DecimalJSLikeSchema, isValidDecimalInput } from '../../helpers/decimal-helpers';
const makeSchema = () => z.object({
id: z.number().int().optional(),
commissionBatchId: z.number().int(),
paymentId: z.number().int(),
collectionAmount: z.union([
z.number(),
z.string(),
z.instanceof(Decimal),
z.instanceof(Prisma.Decimal),
DecimalJSLikeSchema,
]).refine((v) => isValidDecimalInput(v), {
message: "Field 'collectionAmount' must be a Decimal",
})
}).strict();
export const CommissionBatchItemCreateManyInputObjectSchema: z.ZodType<Prisma.CommissionBatchItemCreateManyInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchItemCreateManyInput>;
export const CommissionBatchItemCreateManyInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,21 @@
import * as z from 'zod';
import { Prisma } from '../../../generated/prisma';
import Decimal from 'decimal.js';
import { DecimalJSLikeSchema, isValidDecimalInput } from '../../helpers/decimal-helpers';
const makeSchema = () => z.object({
id: z.number().int().optional(),
commissionBatchId: z.number().int(),
collectionAmount: z.union([
z.number(),
z.string(),
z.instanceof(Decimal),
z.instanceof(Prisma.Decimal),
DecimalJSLikeSchema,
]).refine((v) => isValidDecimalInput(v), {
message: "Field 'collectionAmount' must be a Decimal",
})
}).strict();
export const CommissionBatchItemCreateManyPaymentInputObjectSchema: z.ZodType<Prisma.CommissionBatchItemCreateManyPaymentInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchItemCreateManyPaymentInput>;
export const CommissionBatchItemCreateManyPaymentInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,10 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { CommissionBatchItemCreateManyPaymentInputObjectSchema as CommissionBatchItemCreateManyPaymentInputObjectSchema } from './CommissionBatchItemCreateManyPaymentInput.schema'
const makeSchema = () => z.object({
data: z.union([z.lazy(() => CommissionBatchItemCreateManyPaymentInputObjectSchema), z.lazy(() => CommissionBatchItemCreateManyPaymentInputObjectSchema).array()]),
skipDuplicates: z.boolean().optional()
}).strict();
export const CommissionBatchItemCreateManyPaymentInputEnvelopeObjectSchema: z.ZodType<Prisma.CommissionBatchItemCreateManyPaymentInputEnvelope> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchItemCreateManyPaymentInputEnvelope>;
export const CommissionBatchItemCreateManyPaymentInputEnvelopeObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,16 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { CommissionBatchItemCreateWithoutCommissionBatchInputObjectSchema as CommissionBatchItemCreateWithoutCommissionBatchInputObjectSchema } from './CommissionBatchItemCreateWithoutCommissionBatchInput.schema';
import { CommissionBatchItemUncheckedCreateWithoutCommissionBatchInputObjectSchema as CommissionBatchItemUncheckedCreateWithoutCommissionBatchInputObjectSchema } from './CommissionBatchItemUncheckedCreateWithoutCommissionBatchInput.schema';
import { CommissionBatchItemCreateOrConnectWithoutCommissionBatchInputObjectSchema as CommissionBatchItemCreateOrConnectWithoutCommissionBatchInputObjectSchema } from './CommissionBatchItemCreateOrConnectWithoutCommissionBatchInput.schema';
import { CommissionBatchItemCreateManyCommissionBatchInputEnvelopeObjectSchema as CommissionBatchItemCreateManyCommissionBatchInputEnvelopeObjectSchema } from './CommissionBatchItemCreateManyCommissionBatchInputEnvelope.schema';
import { CommissionBatchItemWhereUniqueInputObjectSchema as CommissionBatchItemWhereUniqueInputObjectSchema } from './CommissionBatchItemWhereUniqueInput.schema'
const makeSchema = () => z.object({
create: z.union([z.lazy(() => CommissionBatchItemCreateWithoutCommissionBatchInputObjectSchema), z.lazy(() => CommissionBatchItemCreateWithoutCommissionBatchInputObjectSchema).array(), z.lazy(() => CommissionBatchItemUncheckedCreateWithoutCommissionBatchInputObjectSchema), z.lazy(() => CommissionBatchItemUncheckedCreateWithoutCommissionBatchInputObjectSchema).array()]).optional(),
connectOrCreate: z.union([z.lazy(() => CommissionBatchItemCreateOrConnectWithoutCommissionBatchInputObjectSchema), z.lazy(() => CommissionBatchItemCreateOrConnectWithoutCommissionBatchInputObjectSchema).array()]).optional(),
createMany: z.lazy(() => CommissionBatchItemCreateManyCommissionBatchInputEnvelopeObjectSchema).optional(),
connect: z.union([z.lazy(() => CommissionBatchItemWhereUniqueInputObjectSchema), z.lazy(() => CommissionBatchItemWhereUniqueInputObjectSchema).array()]).optional()
}).strict();
export const CommissionBatchItemCreateNestedManyWithoutCommissionBatchInputObjectSchema: z.ZodType<Prisma.CommissionBatchItemCreateNestedManyWithoutCommissionBatchInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchItemCreateNestedManyWithoutCommissionBatchInput>;
export const CommissionBatchItemCreateNestedManyWithoutCommissionBatchInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,16 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { CommissionBatchItemCreateWithoutPaymentInputObjectSchema as CommissionBatchItemCreateWithoutPaymentInputObjectSchema } from './CommissionBatchItemCreateWithoutPaymentInput.schema';
import { CommissionBatchItemUncheckedCreateWithoutPaymentInputObjectSchema as CommissionBatchItemUncheckedCreateWithoutPaymentInputObjectSchema } from './CommissionBatchItemUncheckedCreateWithoutPaymentInput.schema';
import { CommissionBatchItemCreateOrConnectWithoutPaymentInputObjectSchema as CommissionBatchItemCreateOrConnectWithoutPaymentInputObjectSchema } from './CommissionBatchItemCreateOrConnectWithoutPaymentInput.schema';
import { CommissionBatchItemCreateManyPaymentInputEnvelopeObjectSchema as CommissionBatchItemCreateManyPaymentInputEnvelopeObjectSchema } from './CommissionBatchItemCreateManyPaymentInputEnvelope.schema';
import { CommissionBatchItemWhereUniqueInputObjectSchema as CommissionBatchItemWhereUniqueInputObjectSchema } from './CommissionBatchItemWhereUniqueInput.schema'
const makeSchema = () => z.object({
create: z.union([z.lazy(() => CommissionBatchItemCreateWithoutPaymentInputObjectSchema), z.lazy(() => CommissionBatchItemCreateWithoutPaymentInputObjectSchema).array(), z.lazy(() => CommissionBatchItemUncheckedCreateWithoutPaymentInputObjectSchema), z.lazy(() => CommissionBatchItemUncheckedCreateWithoutPaymentInputObjectSchema).array()]).optional(),
connectOrCreate: z.union([z.lazy(() => CommissionBatchItemCreateOrConnectWithoutPaymentInputObjectSchema), z.lazy(() => CommissionBatchItemCreateOrConnectWithoutPaymentInputObjectSchema).array()]).optional(),
createMany: z.lazy(() => CommissionBatchItemCreateManyPaymentInputEnvelopeObjectSchema).optional(),
connect: z.union([z.lazy(() => CommissionBatchItemWhereUniqueInputObjectSchema), z.lazy(() => CommissionBatchItemWhereUniqueInputObjectSchema).array()]).optional()
}).strict();
export const CommissionBatchItemCreateNestedManyWithoutPaymentInputObjectSchema: z.ZodType<Prisma.CommissionBatchItemCreateNestedManyWithoutPaymentInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchItemCreateNestedManyWithoutPaymentInput>;
export const CommissionBatchItemCreateNestedManyWithoutPaymentInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,12 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { CommissionBatchItemWhereUniqueInputObjectSchema as CommissionBatchItemWhereUniqueInputObjectSchema } from './CommissionBatchItemWhereUniqueInput.schema';
import { CommissionBatchItemCreateWithoutCommissionBatchInputObjectSchema as CommissionBatchItemCreateWithoutCommissionBatchInputObjectSchema } from './CommissionBatchItemCreateWithoutCommissionBatchInput.schema';
import { CommissionBatchItemUncheckedCreateWithoutCommissionBatchInputObjectSchema as CommissionBatchItemUncheckedCreateWithoutCommissionBatchInputObjectSchema } from './CommissionBatchItemUncheckedCreateWithoutCommissionBatchInput.schema'
const makeSchema = () => z.object({
where: z.lazy(() => CommissionBatchItemWhereUniqueInputObjectSchema),
create: z.union([z.lazy(() => CommissionBatchItemCreateWithoutCommissionBatchInputObjectSchema), z.lazy(() => CommissionBatchItemUncheckedCreateWithoutCommissionBatchInputObjectSchema)])
}).strict();
export const CommissionBatchItemCreateOrConnectWithoutCommissionBatchInputObjectSchema: z.ZodType<Prisma.CommissionBatchItemCreateOrConnectWithoutCommissionBatchInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchItemCreateOrConnectWithoutCommissionBatchInput>;
export const CommissionBatchItemCreateOrConnectWithoutCommissionBatchInputObjectZodSchema = makeSchema();

View File

@@ -0,0 +1,12 @@
import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { CommissionBatchItemWhereUniqueInputObjectSchema as CommissionBatchItemWhereUniqueInputObjectSchema } from './CommissionBatchItemWhereUniqueInput.schema';
import { CommissionBatchItemCreateWithoutPaymentInputObjectSchema as CommissionBatchItemCreateWithoutPaymentInputObjectSchema } from './CommissionBatchItemCreateWithoutPaymentInput.schema';
import { CommissionBatchItemUncheckedCreateWithoutPaymentInputObjectSchema as CommissionBatchItemUncheckedCreateWithoutPaymentInputObjectSchema } from './CommissionBatchItemUncheckedCreateWithoutPaymentInput.schema'
const makeSchema = () => z.object({
where: z.lazy(() => CommissionBatchItemWhereUniqueInputObjectSchema),
create: z.union([z.lazy(() => CommissionBatchItemCreateWithoutPaymentInputObjectSchema), z.lazy(() => CommissionBatchItemUncheckedCreateWithoutPaymentInputObjectSchema)])
}).strict();
export const CommissionBatchItemCreateOrConnectWithoutPaymentInputObjectSchema: z.ZodType<Prisma.CommissionBatchItemCreateOrConnectWithoutPaymentInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchItemCreateOrConnectWithoutPaymentInput>;
export const CommissionBatchItemCreateOrConnectWithoutPaymentInputObjectZodSchema = makeSchema();

Some files were not shown because too many files have changed in this diff Show More