Compare commits

..
9 Commits
Author SHA1 Message Date
Gitead b899659e13 docs: add ngrok vs Cloudflare Tunnel comparison for Twilio tunneling 2026-09-02 22:59:25 -04:00
GiteadandClaude Sonnet 5 52ddfd9f57 feat: add Remaining/Third Party columns, toggle PDF viewer, retire CMSP as separate insurance type
- Add remainingBenefit and thirdPartyInsurance columns to Patient; extract both
  from the MassHealth accumulator/member-detail pages during the eligibility
  check and surface them in the eligibility table
- Add an updated-date display and a toggle to suppress the post-check PDF
  viewer popup (default off) on the insurance eligibility page
- Rename CMSP-prefixed PDF filenames and UI copy to MH, since CMSP and MH now
  share the same worker
- Fold CMSP into MassHealth/MH across patient/claim insurance-type dropdowns
  and the chatbot's eligibility routing, since they're the same insurance
- Remove auto-download of saved eligibility PDFs; downloading is now manual

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-02 22:32:43 -04:00
GiteadandClaude Sonnet 5 f8235787db fix: handle DDMA site redesign in eligibility check flow
DDMA now often skips the family-members results table and navigates
straight to the single-patient detail page, and labels the patient's
name "Subscriber name:" instead of "Name:". Update step1/step2 to
detect the detail-page URL correctly (it's nested under the search
path, so a plain substring check couldn't tell them apart), extract
the name from the new label, and fall back to parsing "Coverage is:"
for eligibility status when there's no results row to read it from.
Also fix a status-text substring bug ("active" matching inside
"inactive") and stop the backend from collapsing an unknown
eligibility result into INACTIVE. Skip name extraction entirely when
the caller already knows the patient (existing-patient recheck).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-01 21:20:38 -04:00
GiteadandClaude Sonnet 5 b860fd213f fix: allow chatbot auto-scheduling when eligibility status is UNKNOWN
Only block appointment creation on explicit INACTIVE status, since
scrapes for some plan types (e.g. MassHealth Child Medicaid) can land
on UNKNOWN without actually finding an ineligible record.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-01 20:39:57 -04:00
Gitead 116889dd4e perf: reduce fixed sleeps in MassHealth click_plus_button
Cuts unconditional delay when adding a service line from ~7s to ~3s
as a first pass at speeding up MassHealth claim submission.
2026-08-20 00:37:14 -04:00
GiteadandClaude Sonnet 5 ad9d311a99 fix: tolerate single-letter typos in CDT code text matching
Adds Levenshtein-based fuzzy word matching to lookupCdtCodes so
misspellings like "comprehensiv exam" resolve the same as
"comprehensive exam". Both the AI chat bot and the AI claim column
share this matcher, so the fix applies to both.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-20 00:01:41 -04:00
GiteadandClaude Sonnet 5 374f96399e docs: add fallback keyring-disable steps for when apt purge isn't enough
D-Bus service activation can respawn gnome-keyring-daemon even after
the package is removed and PAM/autostart hooks are disabled.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-17 23:45:06 -04:00
GiteadandClaude Sonnet 5 e934d6bce5 chore: gitignore GCP service account key in PaymentOCRService
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-17 23:43:15 -04:00
GiteadandClaude Sonnet 5 304441d95a fix: nginx proxy_pass uses 127.0.0.1 instead of localhost
localhost resolves to ::1 first; backend/Vite only bind IPv4, causing
intermittent 502s when nginx tried the IPv6 loopback address.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-17 23:41:10 -04:00
103 changed files with 763 additions and 204 deletions
+59
View File
@@ -81,6 +81,43 @@ Reboot to confirm the popup no longer appears.
> Trade-off: Chrome saved passwords/cookie encryption falls back to its weaker "Basic" store, and NetworkManager Wi-Fi passwords may need to be re-entered once. If a future setup needs the keyring kept, unlock it silently instead by opening **Passwords and Keys** (`seahorse`) → right-click **Login** → **Change Password** → set both new-password fields blank.
#### If the popup (or a "choose a new password for keyring" prompt) still appears after a reboot
The `apt purge` above removes the package, but if something reinstalls `gnome-keyring`/`libpam-gnome-keyring` as a dependency later (e.g. installing another desktop app), it comes back. Deleting just the keyring files under `~/.local/share/keyrings/` doesn't fix it either — a new keyring gets created on the next login/app request and prompts for a password again.
Do this instead, which disables it at every level (PAM login hook, session autostart, and D-Bus on-demand activation) without needing to uninstall the package:
```sh
# 1. Disable PAM hooks (login + password-sync)
sudo sed -i \
-e 's/^-auth optional pam_gnome_keyring.so/#-auth optional pam_gnome_keyring.so/' \
-e 's/^-session optional pam_gnome_keyring.so auto_start/#-session optional pam_gnome_keyring.so auto_start/' \
/etc/pam.d/sddm
sudo sed -i 's/^password\toptional\tpam_gnome_keyring.so/#&/' /etc/pam.d/common-password
# 2. Stop the keyring daemon components from autostarting in the session
mkdir -p ~/.config/autostart
for f in gnome-keyring-pkcs11 gnome-keyring-secrets gnome-keyring-ssh; do
cp /etc/xdg/autostart/$f.desktop ~/.config/autostart/$f.desktop 2>/dev/null
echo "Hidden=true" >> ~/.config/autostart/$f.desktop
done
# 3. Mask D-Bus service activation (the part that keeps bringing it back —
# any app calling the Secret Service API, e.g. Chrome, spawns the daemon
# on demand even with PAM and autostart disabled)
sudo mkdir -p /usr/share/dbus-1/services-disabled
sudo mv /usr/share/dbus-1/services/org.freedesktop.secrets.service \
/usr/share/dbus-1/services/org.gnome.keyring.service \
/usr/share/dbus-1/services/org.freedesktop.impl.portal.Secret.service \
/usr/share/dbus-1/services-disabled/ 2>/dev/null
# 4. Kill the running daemon and clear existing keyring files
pkill -f gnome-keyring-daemon
rm -f ~/.local/share/keyrings/*
```
Reboot to confirm. Same trade-off as above: Chrome falls back to storing saved passwords unencrypted rather than via the Secret Service.
### Step 2 — Install Git
```sh
@@ -1064,4 +1101,26 @@ mkdir -p /home/ff/.claude/projects/-home-ff-Desktop-DentalManagementMH06/memory/
cp -r /media/usb/claude-memory-backup/* /home/ff/.claude/projects/-home-ff-Desktop-DentalManagementMH06/memory/
```
---
## ngrok vs. Cloudflare Tunnel (for exposing Twilio webhooks/streams)
Twilio just needs a public HTTPS/WSS endpoint to reach — either tunnel provider works, and neither
is required by name. Trade-offs when choosing between them for the public tunnel (`CLOUDFLARE_HOST`
today; the code doesn't actually validate it's a Cloudflare domain, it's just named that way):
| | Cloudflare Tunnel (current setup) | ngrok |
|---|---|---|
| **Fixed hostname** | Yes — same subdomain forever, survives reboots | Only on a paid static domain; **free tier assigns a new random subdomain every time the `ngrok` process restarts** (machine reboot, crash, manual relaunch) |
| **Auto-start on boot** | Already set up via `systemctl enable cloudflared` | Possible (systemd service), but only fixes the tunnel coming back up — it does **not** stop the free-tier URL from changing on each restart |
| **After a URL change** | N/A — doesn't happen | Must update `CLOUDFLARE_HOST` in `.env`, restart the backend, and update the URL(s) configured in the Twilio Console |
| **Setup cost** | One-time per office (already documented above) | Quick to spin up for local dev/testing |
| **Latency to Twilio** | No reliable general winner — depends on actual network path (nearest PoP, peering) for this specific office, not the provider's name. Cloudflare's edge network is larger/more distributed in general, but the only way to know for a given office is to measure real round-trip time, not assume | |
| **Best for** | Production / long-running office deployments | Local dev/testing, or short-lived debugging sessions |
**Bottom line:** ngrok is fine for local development, but for an office's live Twilio integration
(webhooks and any Media Stream WebSocket), the Cloudflare Tunnel setup above is preferred because
its hostname doesn't change across reboots — avoiding the reconfigure-`.env`-and-Twilio-Console
cycle that free-tier ngrok requires every time the tunnel restarts.
The memory is plain markdown files and can also be copied manually via a USB drive or file manager. Enable "show hidden files" (Ctrl+H) in the file manager to see the `.claude` folder.
+52 -3
View File
@@ -386,6 +386,48 @@ function parseRctCode(input: string): CdtMatch | null {
return { code, description: row?.Description ?? code, input, toothNumber: String(toothNum) };
}
/**
* Levenshtein edit distance between two strings.
*/
function editDistance(a: string, b: string): number {
const dp: number[][] = Array.from({ length: a.length + 1 }, () => new Array(b.length + 1).fill(0));
for (let i = 0; i <= a.length; i++) dp[i]![0] = i;
for (let j = 0; j <= b.length; j++) dp[0]![j] = j;
for (let i = 1; i <= a.length; i++) {
for (let j = 1; j <= b.length; j++) {
dp[i]![j] = a[i - 1] === b[j - 1]
? dp[i - 1]![j - 1]!
: 1 + Math.min(dp[i - 1]![j]!, dp[i]![j - 1]!, dp[i - 1]![j - 1]!);
}
}
return dp[a.length]![b.length]!;
}
/**
* True if two words are the same or a plausible typo of each other
* (one edit, only for words long enough that a 1-char slip is unambiguous).
*/
function wordsMatch(a: string, b: string): boolean {
if (a === b) return true;
if (a.length < 5 || b.length < 5) return false;
return editDistance(a, b) <= 1;
}
/**
* Fuzzy lookup into ALIAS_MAP: tolerates a single typo per word
* (e.g. "comprehensiv exam" → "comprehensive exam").
*/
function fuzzyAliasLookup(cleaned: string): string | undefined {
if (ALIAS_MAP[cleaned]) return ALIAS_MAP[cleaned];
const queryWords = cleaned.split(/\s+/).filter(Boolean);
for (const key of Object.keys(ALIAS_MAP)) {
const keyWords = key.split(/\s+/).filter(Boolean);
if (keyWords.length !== queryWords.length) continue;
if (keyWords.every((w, i) => wordsMatch(w, queryWords[i]!))) return ALIAS_MAP[key];
}
return undefined;
}
/**
* Score how well a set of query tokens matches a code's description tokens.
* Each matched token contributes 1 point; shorter descriptions get a bonus
@@ -394,7 +436,14 @@ function parseRctCode(input: string): CdtMatch | null {
function score(queryTokens: string[], entry: { tokens: Set<string>; description: string }): number {
let hits = 0;
for (const t of queryTokens) {
if (entry.tokens.has(t)) hits++;
if (entry.tokens.has(t)) {
hits++;
} else if (t.length >= 5) {
// Tolerate a single typo (e.g. "comprehensiv" → "comprehensive")
for (const dt of entry.tokens) {
if (wordsMatch(t, dt)) { hits++; break; }
}
}
}
if (hits === 0) return 0;
// Tie-break: prefer shorter descriptions (more specific match)
@@ -425,8 +474,8 @@ function matchOne(input: string): CdtMatch | null {
return { code, description: row?.Description ?? code, input };
}
// Apply alias before tokenizing
const normalized = ALIAS_MAP[cleaned] ?? cleaned;
// Apply alias before tokenizing (fuzzy-tolerant of single-letter typos)
const normalized = fuzzyAliasLookup(cleaned) ?? cleaned;
const queryTokens = normalized
.replace(/[^a-z0-9\s]/g, " ")
.split(/\s+/)
@@ -34,6 +34,8 @@ export interface CmspEligibilityHistoryRemainingProcessorResult {
historyPdfFilename?: string | null;
accumulatorPdfFileId?: number | string | null;
accumulatorPdfFilename?: string | null;
remainingBenefit?: string | null;
thirdPartyInsurance?: string | null;
}
export async function runCmspEligibilityHistoryRemainingProcessor(
@@ -105,8 +107,21 @@ export async function runCmspEligibilityHistoryRemainingProcessor(
const updates: any = { status: newStatus };
if (seleniumInsurance) updates.insuranceProvider = seleniumInsurance;
const remainingBenefit = seleniumResult.remaining_amount?.trim() || null;
if (remainingBenefit) updates.remainingBenefit = remainingBenefit;
// third_party_insurance is present (even as null) whenever the Third Party
// Liability table was found — null means the member has no 2nd insurance,
// so we still write it to clear any stale value from a prior check.
if (Object.prototype.hasOwnProperty.call(seleniumResult, "third_party_insurance")) {
updates.thirdPartyInsurance = seleniumResult.third_party_insurance?.trim() || null;
}
await storage.updatePatient(patient.id, updates);
outputResult.patientUpdateStatus = `Patient status updated to ${newStatus}`;
outputResult.remainingBenefit = remainingBenefit;
outputResult.thirdPartyInsurance = updates.thirdPartyInsurance ?? null;
// Helper: save a single PDF to the patient's Cloud Storage Eligibility folder
const patientName = `${patient!.firstName ?? ""} ${patient!.lastName ?? ""}`.trim() || `Patient ${patient!.id}`;
@@ -138,8 +138,9 @@ async function processDdmaResult(
// 4) Determine and update eligibility status + insurance provider name
const eligStatus = (seleniumResult?.eligibility ?? "").toLowerCase();
const newStatus =
eligStatus === "active" || eligStatus === "y" ? "ACTIVE" : "INACTIVE";
let newStatus = "UNKNOWN";
if (eligStatus === "active" || eligStatus === "y") newStatus = "ACTIVE";
else if (eligStatus === "inactive" || eligStatus === "n" || eligStatus === "termed") newStatus = "INACTIVE";
await storage.updatePatient(patient.id, {
status: newStatus,
insuranceProvider: "Delta Dental MA",
@@ -791,13 +791,12 @@ export function ClaimForm({
const deriveInsuranceSiteKey = (provider: string | null | undefined): string => {
const p = (provider || "").toLowerCase().trim();
if (!p) return "";
if (p.includes("masshealth") || p === "mh" || p === "mass health") return "MH";
if (p.includes("masshealth") || p === "mh" || p === "mass health" || p.includes("cmsp")) return "MH";
if (p.includes("commonwealth care alliance") || p === "cca") return "CCA";
if (p.includes("ddma") || p.includes("delta dental ma")) return "DDMA";
if (p.includes("delta ins") || p === "deltains") return "DeltaIns";
if (p.includes("tufts") || p.includes("dentaquest") || p === "tuftssco") return "TuftsSCO";
if ((p.includes("united") && p.includes("sco")) || p === "unitedsco") return "UnitedSCO";
if (p.includes("cmsp")) return "CMSP";
if (p.includes("bcbs") || p.includes("blue cross")) return "BCBS";
if (p.includes("united aapr") || p === "unitedaapr") return "UnitedAAPR";
if (p.includes("aetna")) return "Aetna";
@@ -2008,7 +2007,6 @@ export function ClaimForm({
<SelectItem value="DeltaIns">Delta Ins</SelectItem>
<SelectItem value="TuftsSCO">Tufts SCO</SelectItem>
<SelectItem value="UnitedSCO">United SCO</SelectItem>
<SelectItem value="CMSP">CMSP</SelectItem>
<SelectItem value="BCBS">BCBS</SelectItem>
<SelectItem value="UnitedAAPR">United AAPR</SelectItem>
<SelectItem value="Aetna">Aetna</SelectItem>
@@ -2596,7 +2594,6 @@ export function ClaimForm({
<SelectItem value="DeltaIns">Delta Ins</SelectItem>
<SelectItem value="TuftsSCO">Tufts SCO</SelectItem>
<SelectItem value="UnitedSCO">United SCO</SelectItem>
<SelectItem value="CMSP">CMSP</SelectItem>
<SelectItem value="BCBS">BCBS</SelectItem>
<SelectItem value="UnitedAAPR">United AAPR</SelectItem>
<SelectItem value="Aetna">Aetna</SelectItem>
@@ -135,7 +135,6 @@ function mdyToISO(mdy: string): string {
const INSURANCE_TYPE_OPTIONS: { value: string; label: string }[] = [
{ value: "mh", label: "MassHealth" },
{ value: "cmsp", label: "CMSP" },
{ value: "ddma", label: "DDMA" },
{ value: "delta-ins", label: "Delta Dental" },
{ value: "united-sco", label: "United SCO" },
@@ -143,13 +142,10 @@ const INSURANCE_TYPE_OPTIONS: { value: string; label: string }[] = [
{ value: "cca", label: "CCA" },
];
function getAutoCheck(dobISO: string): "mh" | "cmsp" {
const [y, m, d] = dobISO.split("-").map(Number);
const today = new Date();
let age = today.getFullYear() - (y ?? 0);
const monthDiff = today.getMonth() + 1 - (m ?? 0);
if (monthDiff < 0 || (monthDiff === 0 && today.getDate() < (d ?? 0))) age--;
return age >= 21 ? "mh" : "cmsp";
function getAutoCheck(_dobISO: string): "mh" {
// CMSP and MassHealth eligibility checks now run through the same MH worker,
// so there's no longer an age-based split — everyone is "mh".
return "mh";
}
function parseEligibilityInput(
@@ -64,13 +64,12 @@ export const PatientForm = forwardRef<PatientFormRef, PatientFormProps>(
const normalizeInsuranceProvider = (val: string | null | undefined): string => {
const p = (val || "").toLowerCase().trim();
if (p.includes("masshealth") || p === "mh" || p === "mass health") return "MassHealth";
if (p.includes("masshealth") || p === "mh" || p === "mass health" || p.includes("cmsp")) return "MassHealth";
if (p.includes("commonwealth care alliance") || p === "cca") return "CCA";
if (p.includes("ddma")) return "DDMA";
if (p.includes("delta dental") || p.includes("delta ins") || p === "deltains") return "DeltaIns";
if (p.includes("tufts") || p.includes("dentaquest") || p === "tuftssco") return "TuftsSCO";
if (p.includes("united sco") || p === "unitedsco") return "UnitedSCO";
if (p.includes("cmsp")) return "CMSP";
if (p.includes("bcbs") || p.includes("blue cross")) return "BCBS";
if (p.includes("united aapr") || p === "unitedaapr") return "UnitedAAPR";
if (p.includes("aetna")) return "Aetna";
@@ -451,7 +450,6 @@ export const PatientForm = forwardRef<PatientFormRef, PatientFormProps>(
<SelectItem value="DeltaIns">Delta Ins</SelectItem>
<SelectItem value="TuftsSCO">Tufts SCO</SelectItem>
<SelectItem value="UnitedSCO">United SCO</SelectItem>
<SelectItem value="CMSP">CMSP</SelectItem>
<SelectItem value="BCBS">BCBS</SelectItem>
<SelectItem value="UnitedAAPR">United AAPR</SelectItem>
<SelectItem value="Aetna">Aetna</SelectItem>
@@ -63,6 +63,7 @@ interface PatientTableProps {
allowCheckbox?: boolean;
allowNewClaim?: boolean;
allowFinancial?: boolean;
showEligibilityColumns?: boolean;
onNewClaim?: (patientId: number) => void;
onSelectPatient?: (patient: Patient | null) => void;
onPageChange?: (page: number) => void;
@@ -82,6 +83,7 @@ export function PatientTable({
allowCheckbox,
allowNewClaim,
allowFinancial,
showEligibilityColumns,
onNewClaim,
onSelectPatient,
onPageChange,
@@ -976,6 +978,12 @@ export function PatientTable({
{/*<TableHead>Contact</TableHead>*/}
<TableHead>Insurance</TableHead>
<TableHead>Status</TableHead>
{showEligibilityColumns && (
<>
<TableHead>Remaining</TableHead>
<TableHead>Third Party/2nd Insurance</TableHead>
</>
)}
<TableHead className="text-right">Actions</TableHead>
</TableRow>
</TableHeader>
@@ -983,7 +991,7 @@ export function PatientTable({
{isLoading ? (
<TableRow>
<TableCell
colSpan={6}
colSpan={showEligibilityColumns ? 8 : 6}
className="text-center py-8 text-muted-foreground"
>
<LoadingScreen />
@@ -992,7 +1000,7 @@ export function PatientTable({
) : isError ? (
<TableRow>
<TableCell
colSpan={6}
colSpan={showEligibilityColumns ? 8 : 6}
className="text-center py-8 text-red-500"
>
Error loading patients.
@@ -1001,7 +1009,7 @@ export function PatientTable({
) : patientsData?.patients.length === 0 ? (
<TableRow>
<TableCell
colSpan={6}
colSpan={showEligibilityColumns ? 8 : 6}
className="text-center py-8 text-muted-foreground"
>
No patients found.
@@ -1088,8 +1096,28 @@ export function PatientTable({
</span>
)}
</div>
{patient.updatedAt && (
<div className="text-xs text-gray-500 mt-1">
Updated: {formatDateToHumanReadable(patient.updatedAt)}
</div>
)}
</TableCell>
{showEligibilityColumns && (
<>
<TableCell>
<div className="text-sm text-gray-900">
{patient.remainingBenefit || "—"}
</div>
</TableCell>
<TableCell>
<div className="text-sm text-gray-900">
{patient.thirdPartyInsurance || "—"}
</div>
</TableCell>
</>
)}
<TableCell className="text-right">
<div className="flex justify-end">
{allowDelete && isAdmin && (
@@ -114,13 +114,12 @@ interface ScheduledAppointment {
function deriveInsuranceSiteKey(provider: string | null | undefined): string {
const p = (provider || "").toLowerCase().trim();
if (!p) return "";
if (p.includes("masshealth") || p === "mh" || p === "mass health") return "MH";
if (p.includes("masshealth") || p === "mh" || p === "mass health" || p.includes("cmsp")) return "MH";
if (p.includes("commonwealth care alliance") || p === "cca") return "CCA";
if (p.includes("ddma") || p.includes("delta dental ma")) return "DDMA";
if (p.includes("delta ins") || p === "deltains") return "DeltaIns";
if (p.includes("tufts") || p.includes("dentaquest") || p === "tuftssco") return "TuftsSCO";
if ((p.includes("united") && p.includes("sco")) || p === "unitedsco") return "UnitedSCO";
if (p.includes("cmsp")) return "CMSP";
if (p.includes("bcbs") || p.includes("blue cross")) return "BCBS";
if (p.includes("united aapr") || p === "unitedaapr") return "UnitedAAPR";
if (p.includes("aetna")) return "Aetna";
@@ -10,6 +10,7 @@ import {
CardTitle,
} from "@/components/ui/card";
import { Label } from "@/components/ui/label";
import { Switch } from "@/components/ui/switch";
import {
Select,
SelectContent,
@@ -122,6 +123,7 @@ export default function InsuranceStatusPage() {
const [isCheckingEligibilityHistory, setIsCheckingEligibilityHistory] =
useState(false);
const [isCheckingCMSP, setIsCheckingCMSP] = useState(false);
const [showPdfViewerOnComplete, setShowPdfViewerOnComplete] = useState(false);
// AI Call Insurance section
const [aiCallOpen, setAiCallOpen] = useState(false);
@@ -710,7 +712,7 @@ export default function InsuranceStatusPage() {
dispatch(setTaskStatus({ key: "eligibilityCheck", status: "pending", message: msg }))
);
dispatch(setTaskStatus({ key: "eligibilityCheck", status: "success", message: "CMSP PDFs saved to Documents." }));
dispatch(setTaskStatus({ key: "eligibilityCheck", status: "success", message: "MH PDFs saved to Documents." }));
toast({
title: "Done",
description: "Eligibility, history, and accumulator PDFs saved.",
@@ -727,14 +729,14 @@ export default function InsuranceStatusPage() {
// Open 4-panel modal
if (jobResult.pdfFileId || jobResult.memberDetailsPdfFileId || jobResult.historyPdfFileId || jobResult.accumulatorPdfFileId) {
setCmspEligibilityPdfId(jobResult.pdfFileId ?? null);
setCmspEligibilityFilename(jobResult.pdfFilename ?? `cmsp_eligibility_${memberId}.pdf`);
setCmspEligibilityFilename(jobResult.pdfFilename ?? `mh_eligibility_${memberId}.pdf`);
setCmspMemberDetailsPdfId(jobResult.memberDetailsPdfFileId ?? null);
setCmspMemberDetailsFilename(jobResult.memberDetailsPdfFilename ?? `cmsp_member_details_${memberId}.pdf`);
setCmspMemberDetailsFilename(jobResult.memberDetailsPdfFilename ?? `mh_member_details_${memberId}.pdf`);
setCmspHistoryPdfId(jobResult.historyPdfFileId ?? null);
setCmspHistoryFilename(jobResult.historyPdfFilename ?? `cmsp_history_${memberId}.pdf`);
setCmspHistoryFilename(jobResult.historyPdfFilename ?? `mh_history_${memberId}.pdf`);
setCmspAccumulatorPdfId(jobResult.accumulatorPdfFileId ?? null);
setCmspAccumulatorFilename(jobResult.accumulatorPdfFilename ?? `cmsp_accumulator_${memberId}.pdf`);
setCmspPreviewOpen(true);
setCmspAccumulatorFilename(jobResult.accumulatorPdfFilename ?? `mh_accumulator_${memberId}.pdf`);
if (showPdfViewerOnComplete) setCmspPreviewOpen(true);
}
} catch (error: any) {
dispatch(setTaskStatus({ key: "eligibilityCheck", status: "error", message: error.message || "Selenium submission failed" }));
@@ -750,11 +752,9 @@ export default function InsuranceStatusPage() {
const check = pendingAutoCheck.current;
pendingAutoCheck.current = null;
if (check === "mh" || check === "mh-history") {
if (isUnder14(dateOfBirth)) {
handleCMSPButton();
} else {
handleMHEligibilityHistoryButton();
}
// Temporarily disabled: selenium_MH_eligibilityHistoryCheckWorker.py is no
// longer used — all MH eligibility checks route through the CMSP/MH worker.
handleCMSPButton();
} else if (check === "cmsp") {
handleCMSPButton();
} else {
@@ -842,12 +842,13 @@ export default function InsuranceStatusPage() {
const patient = await lookupRes.json();
if (!patient?.id) return;
// The eligibility check that just ran saved the result to patient.status — only book
// the appointment when insurance came back ACTIVE.
if (patient.status !== "ACTIVE") {
// The eligibility check that just ran saved the result to patient.status — only skip
// booking when insurance came back explicitly INACTIVE. ACTIVE and UNKNOWN (e.g. a
// scrape that couldn't confirm status but didn't find an ineligible record) still book.
if (patient.status === "INACTIVE") {
toast({
title: "No appointment created",
description: `${patient.firstName ?? ""} ${patient.lastName ?? ""} insurance is ${patient.status === "INACTIVE" ? "inactive" : "not active"} — please add manually if needed.`.trim(),
description: `${patient.firstName ?? ""} ${patient.lastName ?? ""} insurance is inactive — please add manually if needed.`.trim(),
variant: "destructive",
});
return;
@@ -1020,82 +1021,7 @@ export default function InsuranceStatusPage() {
</div>
</div>
<div className="flex flex-col-2 gap-4">
<Button
onClick={() => handleMHEligibilityButton()}
className="w-full"
disabled={isCheckingEligibilityStatus}
>
{isCheckingEligibilityStatus ? (
<>
<LoaderCircleIcon className="h-4 w-4 mr-2 animate-spin" />
Processing...
</>
) : (
<>
<CheckCircle className="h-4 w-4 mr-2" />
MH Eligibility
</>
)}
</Button>
<Button
onClick={() => handleMHEligibilityAppointmentButton()}
className="w-full"
disabled={isCheckingEligibilityAppointment}
>
{isCheckingEligibilityAppointment ? (
<>
<LoaderCircleIcon className="h-4 w-4 mr-2 animate-spin" />
Processing...
</>
) : (
<>
<CheckCircle className="h-4 w-4 mr-2" />
MH Eligibility&Appointment
</>
)}
</Button>
<Button
onClick={() => handleMHEligibilityClaimsPreAuthButton()}
className="w-full"
disabled={isCheckingEligibilityClaimsPreAuth}
>
{isCheckingEligibilityClaimsPreAuth ? (
<>
<LoaderCircleIcon className="h-4 w-4 mr-2 animate-spin" />
Processing...
</>
) : (
<>
<CheckCircle className="h-4 w-4 mr-2" />
MH Eligibility&Claims/PreAuth
</>
)}
</Button>
</div>
<div className="flex flex-col-2 gap-4 mt-4">
<Button
id="eligibility-mh-history"
className="w-full"
disabled={isCheckingEligibilityHistory}
onClick={() => handleMHEligibilityHistoryButton()}
>
{isCheckingEligibilityHistory ? (
<>
<LoaderCircleIcon className="h-4 w-4 mr-2 animate-spin" />
Processing...
</>
) : (
<>
<CheckCircle className="h-4 w-4 mr-2" />
MH Eligibility &amp; History
</>
)}
</Button>
<Button
id="eligibility-cmsp"
className="w-full"
@@ -1110,12 +1036,23 @@ export default function InsuranceStatusPage() {
) : (
<>
<CheckCircle className="h-4 w-4 mr-2" />
CMSP Eligibility &amp; History &amp; Remaining
MH Eligibility &amp; Remaining &amp; History
</>
)}
</Button>
</div>
<div className="flex items-center gap-2 mt-2">
<Switch
id="mh-show-pdf-viewer"
checked={showPdfViewerOnComplete}
onCheckedChange={setShowPdfViewerOnComplete}
/>
<Label htmlFor="mh-show-pdf-viewer" className="text-sm text-muted-foreground font-normal">
Show PDF viewer after check completes
</Label>
</div>
{/* TEMP PROVIDER BUTTONS */}
<div id="eligibility-other-providers" className="space-y-4 mt-6">
<h3 className="text-sm font-medium text-muted-foreground">
@@ -1463,6 +1400,7 @@ export default function InsuranceStatusPage() {
allowDelete={true}
allowCheckbox={true}
allowEdit={true}
showEligibilityColumns={true}
onSelectPatient={setSelectedPatient}
/>
</CardContent>
@@ -1479,7 +1417,6 @@ export default function InsuranceStatusPage() {
}}
pdfId={previewPdfId ?? undefined}
fallbackFilename={previewFallbackFilename ?? undefined}
autoDownload
/>
{/* 4-panel modal for CMSP — eligibility, member details, history, accumulator */}
@@ -1496,13 +1433,12 @@ export default function InsuranceStatusPage() {
setCmspAccumulatorPdfId(null);
setCmspAccumulatorFilename(null);
}}
title="CMSP Eligibility, History &amp; Remaining"
title="MH Eligibility, Remaining &amp; History"
panels={[
{
pdfId: cmspEligibilityPdfId,
fallbackFilename: cmspEligibilityFilename,
label: "Eligibility",
autoDownload: true,
},
{
pdfId: cmspMemberDetailsPdfId,
@@ -1540,7 +1476,6 @@ export default function InsuranceStatusPage() {
pdfId: dualEligibilityPdfId,
fallbackFilename: dualEligibilityFilename,
label: "Eligibility",
autoDownload: true,
},
{
pdfId: dualMemberDetailsPdfId,
+1
View File
@@ -1,3 +1,4 @@
google_credentials.json
astute-office-469222-k3-ba714473050d.json
__pycache__/
@@ -234,7 +234,7 @@ class AutomationCMSPEligibilityHistoryRemainingCheck:
print("No new tab for eligibility; printing current page directly")
safe_member = "".join(c for c in str(self.memberId) if c.isalnum() or c in "-_.")
pdf_filename = f"cmsp_eligibility_{safe_member}.pdf"
pdf_filename = f"mh_eligibility_{safe_member}.pdf"
pdf_data = self.driver.execute_cdp_cmd("Page.printToPDF", {"printBackground": True})
pdf_bytes = base64.b64decode(pdf_data["data"])
pdf_path = os.path.join(self.download_dir, pdf_filename)
@@ -279,14 +279,57 @@ class AutomationCMSPEligibilityHistoryRemainingCheck:
# ── step 3b — print member details page as PDF via CDP ───────────────────────
def extract_third_party_insurance(self):
"""Reads the "Third Party Liability" table (Policy Number | Coverage Type |
Effective Date | Termination Date | Insurer Name | Insurer Payment Order)
and returns the Insurer Name(s), or None if the table has no rows
(i.e. the member has no third-party/2nd insurance).
"""
try:
tables = self.driver.find_elements(By.TAG_NAME, "table")
for table in tables:
rows = table.find_elements(By.TAG_NAME, "tr")
if not rows:
continue
header_cells = [
c.text.strip().lower()
for c in (rows[0].find_elements(By.TAG_NAME, "th") or rows[0].find_elements(By.TAG_NAME, "td"))
]
if "insurer name" not in header_cells:
continue
insurer_idx = header_cells.index("insurer name")
insurers = []
for row in rows[1:]:
cells = row.find_elements(By.TAG_NAME, "td")
if len(cells) <= insurer_idx:
continue
name = cells[insurer_idx].text.strip()
if name:
insurers.append(name)
third_party = ", ".join(insurers) if insurers else None
self.extracted_data["third_party_insurance"] = third_party
print(f"[extract_third_party_insurance] {third_party!r}")
return third_party
print("[extract_third_party_insurance] No 'Third Party Liability' table found")
return None
except Exception as e:
print(f"[extract_third_party_insurance] failed: {e}")
return None
def step3b_member_details_pdf(self):
wait = WebDriverWait(self.driver, 30)
try:
wait.until(lambda d: d.execute_script("return document.readyState") == "complete")
time.sleep(2)
self.extract_third_party_insurance()
safe_member = "".join(c for c in str(self.memberId) if c.isalnum() or c in "-_.")
pdf_filename = f"cmsp_member_details_{safe_member}.pdf"
pdf_filename = f"mh_member_details_{safe_member}.pdf"
pdf_data = self.driver.execute_cdp_cmd("Page.printToPDF", {"printBackground": True})
pdf_bytes = base64.b64decode(pdf_data["data"])
pdf_path = os.path.join(self.download_dir, pdf_filename)
@@ -341,7 +384,7 @@ class AutomationCMSPEligibilityHistoryRemainingCheck:
time.sleep(3)
safe_member = "".join(c for c in str(self.memberId) if c.isalnum() or c in "-_.")
pdf_filename = f"cmsp_history_{safe_member}.pdf"
pdf_filename = f"mh_history_{safe_member}.pdf"
pdf_data = self.driver.execute_cdp_cmd("Page.printToPDF", {"printBackground": True})
pdf_bytes = base64.b64decode(pdf_data["data"])
pdf_path = os.path.join(self.download_dir, pdf_filename)
@@ -353,7 +396,68 @@ class AutomationCMSPEligibilityHistoryRemainingCheck:
print(f"[step5_service_history_pdf] failed: {e}")
return None
# ── step 6 — Tab B: accumulator → wait for data → CDP print ─────────────────
# ── step 6 — Tab B: accumulator → extract remaining → CDP print ─────────────
def extract_remaining_amount(self):
"""Reads the accumulator benefits table and returns the Remaining amount.
Layout (see sample PDF "Accumulator Details"):
Type | Level | Network | Benefit Period | Period | Limit | Applied | Remaining
Prefers the Type="Maximum", Level="Individual" row; falls back to the
first data row with a non-empty Remaining cell if that combination
isn't found (payer may only return one row, or reorder columns).
"""
try:
wait = WebDriverWait(self.driver, 15)
wait.until(EC.presence_of_element_located((By.TAG_NAME, "table")))
tables = self.driver.find_elements(By.TAG_NAME, "table")
for table in tables:
rows = table.find_elements(By.TAG_NAME, "tr")
if not rows:
continue
header_cells = [
c.text.strip().lower()
for c in (rows[0].find_elements(By.TAG_NAME, "th") or rows[0].find_elements(By.TAG_NAME, "td"))
]
if "remaining" not in header_cells:
continue
remaining_idx = header_cells.index("remaining")
type_idx = header_cells.index("type") if "type" in header_cells else None
level_idx = header_cells.index("level") if "level" in header_cells else None
fallback_value = None
best_value = None
for row in rows[1:]:
cells = row.find_elements(By.TAG_NAME, "td")
if len(cells) <= remaining_idx:
continue
cell_texts = [c.text.strip() for c in cells]
value = cell_texts[remaining_idx]
if not value:
continue
if fallback_value is None:
fallback_value = value
type_ok = type_idx is None or "maximum" in cell_texts[type_idx].lower()
level_ok = level_idx is None or "individual" in cell_texts[level_idx].lower()
if type_ok and level_ok:
best_value = value
break
remaining_value = best_value or fallback_value
if remaining_value:
self.extracted_data["remaining_amount"] = remaining_value
print(f"[extract_remaining_amount] Remaining: {remaining_value}")
return remaining_value
print("[extract_remaining_amount] No accumulator table with a 'Remaining' column found")
return None
except Exception as e:
print(f"[extract_remaining_amount] failed: {e}")
return None
def step6_accumulator_pdf(self):
wait = WebDriverWait(self.driver, 30)
@@ -379,8 +483,10 @@ class AutomationCMSPEligibilityHistoryRemainingCheck:
wait.until(lambda d: d.execute_script("return document.readyState") == "complete")
time.sleep(4)
self.extract_remaining_amount()
safe_member = "".join(c for c in str(self.memberId) if c.isalnum() or c in "-_.")
pdf_filename = f"cmsp_accumulator_{safe_member}.pdf"
pdf_filename = f"mh_accumulator_{safe_member}.pdf"
pdf_data = self.driver.execute_cdp_cmd("Page.printToPDF", {"printBackground": True})
pdf_bytes = base64.b64decode(pdf_data["data"])
pdf_path = os.path.join(self.download_dir, pdf_filename)
@@ -366,16 +366,26 @@ class AutomationDeltaDentalMAEligibilityCheck:
search_btn.click()
print("[DDMA step1] Clicked Search button")
# Wait for the Members results table to render
# Wait for either the Members results table to render, or (when the
# Subscriber ID + DOB match exactly one family member) DDMA to skip
# the results list and navigate straight to the patient detail page.
# Note: the detail page URL is nested UNDER the search page path
# (".../check-patient-benefits-search/check-patient-benefit-details"),
# so "check-patient-benefits-search" alone can't distinguish them —
# only the detail page's own "-benefit-details" segment can.
try:
WebDriverWait(self.driver, 15).until(
EC.presence_of_element_located((By.XPATH, "//table//tbody//tr"))
lambda d: d.find_elements(By.XPATH, "//table//tbody//tr")
or "check-patient-benefit-details" in d.current_url.lower()
)
time.sleep(2)
except TimeoutException:
print("[DDMA step1] Warning: No results table appeared within timeout")
return "ERROR: INVALID SEARCH CRITERIA"
if "check-patient-benefit-details" in self.driver.current_url.lower():
print(f"[DDMA step1] Search navigated directly to detail page: {self.driver.current_url}")
print("[DDMA step1] Search completed successfully")
return "Success"
@@ -390,26 +400,40 @@ class AutomationDeltaDentalMAEligibilityCheck:
try:
import re
# Wait for results table, then pause for full render
try:
WebDriverWait(self.driver, 10).until(
EC.presence_of_element_located((By.XPATH, "//tbody//tr"))
)
time.sleep(2) # Let the row content fully render after table appears
except TimeoutException:
print("[DDMA step2] Warning: Results table not found within timeout")
eligibilityText = "unknown"
foundMemberId = self.memberId or ""
patientName = ""
# If the caller already knows this patient (e.g. an existing patient record
# being rechecked), use that name directly — no need to scrape/parse it off
# the DDMA page, only the eligibility status is actually needed.
patientName = f"{self.firstName} {self.lastName}".strip() if self.firstName and self.lastName else ""
known_patient_name = bool(patientName)
# The Members table lists the whole family sharing this subscriber ID —
# find the row matching this patient's DOB (falls back to last name, then first row).
rows = self.driver.find_elements(By.XPATH, "//table//tbody//tr")
print(f"[DDMA step2] Found {len(rows)} family member row(s)")
# DDMA now sometimes skips the family-members results table entirely and
# navigates straight to the single-patient detail page (when Subscriber ID +
# DOB match exactly one person). In that case there's no members table to
# parse here — skip straight to the detail-page fallback extraction below.
already_on_detail_page = "check-patient-benefit-details" in self.driver.current_url.lower()
rows = []
target_row = None
if not already_on_detail_page:
# Wait for results table, then pause for full render
try:
WebDriverWait(self.driver, 10).until(
EC.presence_of_element_located((By.XPATH, "//tbody//tr"))
)
time.sleep(2) # Let the row content fully render after table appears
except TimeoutException:
print("[DDMA step2] Warning: Results table not found within timeout")
# The Members table lists the whole family sharing this subscriber ID —
# find the row matching this patient's DOB (falls back to last name, then first row).
rows = self.driver.find_elements(By.XPATH, "//table//tbody//tr")
print(f"[DDMA step2] Found {len(rows)} family member row(s)")
else:
print(f"[DDMA step2] Already on detail page: {self.driver.current_url}")
if self.dateOfBirth and rows:
try:
dob_parts = self.dateOfBirth.split("-")
@@ -436,17 +460,17 @@ class AutomationDeltaDentalMAEligibilityCheck:
if target_row is not None:
try:
cells = target_row.find_elements(By.XPATH, "./td")
if cells:
if cells and not known_patient_name:
patientName = cells[0].text.strip()
print(f"[DDMA step2] Extracted patient name from row: '{patientName}'")
if len(cells) >= 2 and cells[1].text.strip():
foundMemberId = cells[1].text.strip()
if len(cells) >= 7:
status_text = cells[6].text.strip().lower()
if "active" in status_text:
eligibilityText = "active"
elif "inactive" in status_text or "termed" in status_text:
if "inactive" in status_text or "termed" in status_text:
eligibilityText = "inactive"
elif "active" in status_text:
eligibilityText = "active"
else:
eligibilityText = status_text
print(f"[DDMA step2] Found eligibility status: {eligibilityText}")
@@ -463,10 +487,10 @@ class AutomationDeltaDentalMAEligibilityCheck:
else:
print("[DDMA step2] Warning: No family member rows found in search results")
# Wait for the detail page to load (URL moves away from the search page)
# Wait for the detail page to load (URL gains the "-benefit-details" segment)
try:
WebDriverWait(self.driver, 15).until(
lambda d: "check-patient-benefits-search" not in d.current_url
lambda d: "check-patient-benefit-details" in d.current_url.lower()
)
print(f"[DDMA step2] Navigated to detail page: {self.driver.current_url}")
except Exception:
@@ -522,11 +546,13 @@ class AutomationDeltaDentalMAEligibilityCheck:
# forward past accessibility text to the first plausible name value.
for i, line in enumerate(page_lines):
# Case 1: "Name : Value" or "Name: Value" on the same line
# (DDMA's detail page labels this "Subscriber name:", so that
# prefix must be accepted rather than excluded)
same_line = re.match(
r'^(?:member\s+)?name\s*[:\-]\s*(.+)$', line, re.IGNORECASE
r'^(?:member\s+|subscriber\s+)?name\s*[:\-]\s*(.+)$', line, re.IGNORECASE
)
if same_line and not re.search(
r'(provider|group|subscriber|plan)\s+name', line, re.IGNORECASE
r'(provider|group|plan)\s+name', line, re.IGNORECASE
):
candidate = same_line.group(1).strip()
if looks_like_name(candidate):
@@ -535,7 +561,7 @@ class AutomationDeltaDentalMAEligibilityCheck:
break
# Case 2: "Name" or "Name:" alone on a line — scan forward for value
elif re.match(r'^(?:member\s+)?name\s*:?\s*$', line, re.IGNORECASE):
elif re.match(r'^(?:member\s+|subscriber\s+)?name\s*:?\s*$', line, re.IGNORECASE):
for j in range(i + 1, min(i + 6, len(page_lines))):
candidate = page_lines[j].strip()
if looks_like_name(candidate):
@@ -554,6 +580,27 @@ class AutomationDeltaDentalMAEligibilityCheck:
if not patientName:
print("[DDMA step2] Could not extract patient name from detail page")
# Fallback: refine eligibility status from the detail page's "Coverage is:"
# label if the family-table row extraction didn't set it (e.g. DDMA
# navigated straight to the detail page, skipping the members table).
if eligibilityText == "unknown":
try:
page_text = self.driver.execute_script("return document.body.innerText;")
coverage_match = re.search(
r'coverage\s+is\s*[:\-]?\s*([A-Za-z]+)', page_text, re.IGNORECASE
)
if coverage_match:
status_text = coverage_match.group(1).strip().lower()
if "inactive" in status_text or "termed" in status_text:
eligibilityText = "inactive"
elif "active" in status_text:
eligibilityText = "active"
else:
eligibilityText = status_text
print(f"[DDMA step2] Extracted eligibility from 'Coverage is:' label: '{eligibilityText}'")
except Exception as e:
print(f"[DDMA step2] Could not extract eligibility from 'Coverage is:' label: {e}")
# Wait for the page to be fully ready before capturing PDF
try:
WebDriverWait(self.driver, 30).until(
@@ -694,7 +694,7 @@ class AutomationMassHealthClaimsLogin:
print("DEBUG: Clicking plus button to add new service line")
# Step 1: Wait a moment to ensure the previous service line is fully processed
time.sleep(3)
time.sleep(1)
# Step 2: Try multiple approaches to find the plus button
plus_button = None
@@ -768,11 +768,11 @@ class AutomationMassHealthClaimsLogin:
print(f"DEBUG: JavaScript approach failed: {e}")
raise Exception("Could not find plus button with any method")
time.sleep(1)
time.sleep(0.5)
# Step 3: Scroll into view
self.driver.execute_script("arguments[0].scrollIntoView(true);", plus_button)
time.sleep(1)
time.sleep(0.5)
# Step 4: Check if button is enabled
is_disabled = plus_button.get_attribute("disabled")
@@ -804,8 +804,8 @@ class AutomationMassHealthClaimsLogin:
actions = ActionChains(self.driver)
actions.move_to_element(plus_button).click().perform()
time.sleep(2) # Wait for new row to be created
time.sleep(1) # Wait for new row to be created
print("DEBUG: Successfully clicked plus button")
return "Success"
except Exception as e:
+4 -4
View File
@@ -17,7 +17,7 @@ server {
# API requests → backend (Authorization header must be explicit or it gets stripped)
location /api/ {
proxy_pass http://localhost:5000;
proxy_pass http://127.0.0.1:5000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
@@ -27,7 +27,7 @@ server {
# Socket.IO → backend (WebSocket upgrade)
location /socket.io/ {
proxy_pass http://localhost:5000;
proxy_pass http://127.0.0.1:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
@@ -37,7 +37,7 @@ server {
# Everything else → Vite dev server
location / {
proxy_pass http://localhost:3000;
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
@@ -57,7 +57,7 @@ server {
client_max_body_size 50m;
location /api/twilio/ {
proxy_pass http://localhost:5000;
proxy_pass http://127.0.0.1:5000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
File diff suppressed because one or more lines are too long
@@ -152,6 +152,8 @@ exports.Prisma.PatientScalarFieldEnum = {
medicalConditions: 'medicalConditions',
preferredLanguage: 'preferredLanguage',
status: 'status',
remainingBenefit: 'remainingBenefit',
thirdPartyInsurance: 'thirdPartyInsurance',
userId: 'userId',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
+145 -1
View File
@@ -6714,6 +6714,8 @@ export namespace Prisma {
medicalConditions: string | null
preferredLanguage: string | null
status: $Enums.PatientStatus | null
remainingBenefit: string | null
thirdPartyInsurance: string | null
userId: number | null
createdAt: Date | null
updatedAt: Date | null
@@ -6738,6 +6740,8 @@ export namespace Prisma {
medicalConditions: string | null
preferredLanguage: string | null
status: $Enums.PatientStatus | null
remainingBenefit: string | null
thirdPartyInsurance: string | null
userId: number | null
createdAt: Date | null
updatedAt: Date | null
@@ -6762,6 +6766,8 @@ export namespace Prisma {
medicalConditions: number
preferredLanguage: number
status: number
remainingBenefit: number
thirdPartyInsurance: number
userId: number
createdAt: number
updatedAt: number
@@ -6798,6 +6804,8 @@ export namespace Prisma {
medicalConditions?: true
preferredLanguage?: true
status?: true
remainingBenefit?: true
thirdPartyInsurance?: true
userId?: true
createdAt?: true
updatedAt?: true
@@ -6822,6 +6830,8 @@ export namespace Prisma {
medicalConditions?: true
preferredLanguage?: true
status?: true
remainingBenefit?: true
thirdPartyInsurance?: true
userId?: true
createdAt?: true
updatedAt?: true
@@ -6846,6 +6856,8 @@ export namespace Prisma {
medicalConditions?: true
preferredLanguage?: true
status?: true
remainingBenefit?: true
thirdPartyInsurance?: true
userId?: true
createdAt?: true
updatedAt?: true
@@ -6957,6 +6969,8 @@ export namespace Prisma {
medicalConditions: string | null
preferredLanguage: string | null
status: $Enums.PatientStatus
remainingBenefit: string | null
thirdPartyInsurance: string | null
userId: number
createdAt: Date
updatedAt: Date
@@ -7000,6 +7014,8 @@ export namespace Prisma {
medicalConditions?: boolean
preferredLanguage?: boolean
status?: boolean
remainingBenefit?: boolean
thirdPartyInsurance?: boolean
userId?: boolean
createdAt?: boolean
updatedAt?: boolean
@@ -7035,6 +7051,8 @@ export namespace Prisma {
medicalConditions?: boolean
preferredLanguage?: boolean
status?: boolean
remainingBenefit?: boolean
thirdPartyInsurance?: boolean
userId?: boolean
createdAt?: boolean
updatedAt?: boolean
@@ -7060,6 +7078,8 @@ export namespace Prisma {
medicalConditions?: boolean
preferredLanguage?: boolean
status?: boolean
remainingBenefit?: boolean
thirdPartyInsurance?: boolean
userId?: boolean
createdAt?: boolean
updatedAt?: boolean
@@ -7085,12 +7105,14 @@ export namespace Prisma {
medicalConditions?: boolean
preferredLanguage?: boolean
status?: boolean
remainingBenefit?: boolean
thirdPartyInsurance?: boolean
userId?: boolean
createdAt?: boolean
updatedAt?: boolean
}
export type PatientOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "firstName" | "lastName" | "dateOfBirth" | "gender" | "phone" | "email" | "address" | "city" | "zipCode" | "insuranceProvider" | "insuranceId" | "groupNumber" | "policyHolder" | "allergies" | "medicalConditions" | "preferredLanguage" | "status" | "userId" | "createdAt" | "updatedAt", ExtArgs["result"]["patient"]>
export type PatientOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "firstName" | "lastName" | "dateOfBirth" | "gender" | "phone" | "email" | "address" | "city" | "zipCode" | "insuranceProvider" | "insuranceId" | "groupNumber" | "policyHolder" | "allergies" | "medicalConditions" | "preferredLanguage" | "status" | "remainingBenefit" | "thirdPartyInsurance" | "userId" | "createdAt" | "updatedAt", ExtArgs["result"]["patient"]>
export type PatientInclude<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
user?: boolean | UserDefaultArgs<ExtArgs>
appointments?: boolean | Patient$appointmentsArgs<ExtArgs>
@@ -7144,6 +7166,8 @@ export namespace Prisma {
medicalConditions: string | null
preferredLanguage: string | null
status: $Enums.PatientStatus
remainingBenefit: string | null
thirdPartyInsurance: string | null
userId: number
createdAt: Date
updatedAt: Date
@@ -7598,6 +7622,8 @@ export namespace Prisma {
readonly medicalConditions: FieldRef<"Patient", 'String'>
readonly preferredLanguage: FieldRef<"Patient", 'String'>
readonly status: FieldRef<"Patient", 'PatientStatus'>
readonly remainingBenefit: FieldRef<"Patient", 'String'>
readonly thirdPartyInsurance: FieldRef<"Patient", 'String'>
readonly userId: FieldRef<"Patient", 'Int'>
readonly createdAt: FieldRef<"Patient", 'DateTime'>
readonly updatedAt: FieldRef<"Patient", 'DateTime'>
@@ -48204,6 +48230,8 @@ export namespace Prisma {
medicalConditions: 'medicalConditions',
preferredLanguage: 'preferredLanguage',
status: 'status',
remainingBenefit: 'remainingBenefit',
thirdPartyInsurance: 'thirdPartyInsurance',
userId: 'userId',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
@@ -49210,6 +49238,8 @@ export namespace Prisma {
medicalConditions?: StringNullableFilter<"Patient"> | string | null
preferredLanguage?: StringNullableFilter<"Patient"> | string | null
status?: EnumPatientStatusFilter<"Patient"> | $Enums.PatientStatus
remainingBenefit?: StringNullableFilter<"Patient"> | string | null
thirdPartyInsurance?: StringNullableFilter<"Patient"> | string | null
userId?: IntFilter<"Patient"> | number
createdAt?: DateTimeFilter<"Patient"> | Date | string
updatedAt?: DateTimeFilter<"Patient"> | Date | string
@@ -49244,6 +49274,8 @@ export namespace Prisma {
medicalConditions?: SortOrderInput | SortOrder
preferredLanguage?: SortOrderInput | SortOrder
status?: SortOrder
remainingBenefit?: SortOrderInput | SortOrder
thirdPartyInsurance?: SortOrderInput | SortOrder
userId?: SortOrder
createdAt?: SortOrder
updatedAt?: SortOrder
@@ -49281,6 +49313,8 @@ export namespace Prisma {
medicalConditions?: StringNullableFilter<"Patient"> | string | null
preferredLanguage?: StringNullableFilter<"Patient"> | string | null
status?: EnumPatientStatusFilter<"Patient"> | $Enums.PatientStatus
remainingBenefit?: StringNullableFilter<"Patient"> | string | null
thirdPartyInsurance?: StringNullableFilter<"Patient"> | string | null
userId?: IntFilter<"Patient"> | number
createdAt?: DateTimeFilter<"Patient"> | Date | string
updatedAt?: DateTimeFilter<"Patient"> | Date | string
@@ -49315,6 +49349,8 @@ export namespace Prisma {
medicalConditions?: SortOrderInput | SortOrder
preferredLanguage?: SortOrderInput | SortOrder
status?: SortOrder
remainingBenefit?: SortOrderInput | SortOrder
thirdPartyInsurance?: SortOrderInput | SortOrder
userId?: SortOrder
createdAt?: SortOrder
updatedAt?: SortOrder
@@ -49347,6 +49383,8 @@ export namespace Prisma {
medicalConditions?: StringNullableWithAggregatesFilter<"Patient"> | string | null
preferredLanguage?: StringNullableWithAggregatesFilter<"Patient"> | string | null
status?: EnumPatientStatusWithAggregatesFilter<"Patient"> | $Enums.PatientStatus
remainingBenefit?: StringNullableWithAggregatesFilter<"Patient"> | string | null
thirdPartyInsurance?: StringNullableWithAggregatesFilter<"Patient"> | string | null
userId?: IntWithAggregatesFilter<"Patient"> | number
createdAt?: DateTimeWithAggregatesFilter<"Patient"> | Date | string
updatedAt?: DateTimeWithAggregatesFilter<"Patient"> | Date | string
@@ -52171,6 +52209,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
createdAt?: Date | string
updatedAt?: Date | string
user: UserCreateNestedOneWithoutPatientsInput
@@ -52204,6 +52244,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
userId: number
createdAt?: Date | string
updatedAt?: Date | string
@@ -52236,6 +52278,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
user?: UserUpdateOneRequiredWithoutPatientsNestedInput
@@ -52269,6 +52313,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
userId?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
@@ -52302,6 +52348,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
userId: number
createdAt?: Date | string
updatedAt?: Date | string
@@ -52325,6 +52373,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
}
@@ -52348,6 +52398,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
userId?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
@@ -55403,6 +55455,8 @@ export namespace Prisma {
medicalConditions?: SortOrder
preferredLanguage?: SortOrder
status?: SortOrder
remainingBenefit?: SortOrder
thirdPartyInsurance?: SortOrder
userId?: SortOrder
createdAt?: SortOrder
updatedAt?: SortOrder
@@ -55432,6 +55486,8 @@ export namespace Prisma {
medicalConditions?: SortOrder
preferredLanguage?: SortOrder
status?: SortOrder
remainingBenefit?: SortOrder
thirdPartyInsurance?: SortOrder
userId?: SortOrder
createdAt?: SortOrder
updatedAt?: SortOrder
@@ -55456,6 +55512,8 @@ export namespace Prisma {
medicalConditions?: SortOrder
preferredLanguage?: SortOrder
status?: SortOrder
remainingBenefit?: SortOrder
thirdPartyInsurance?: SortOrder
userId?: SortOrder
createdAt?: SortOrder
updatedAt?: SortOrder
@@ -61353,6 +61411,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
createdAt?: Date | string
updatedAt?: Date | string
appointments?: AppointmentCreateNestedManyWithoutPatientInput
@@ -61385,6 +61445,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
createdAt?: Date | string
updatedAt?: Date | string
appointments?: AppointmentUncheckedCreateNestedManyWithoutPatientInput
@@ -62116,6 +62178,8 @@ export namespace Prisma {
medicalConditions?: StringNullableFilter<"Patient"> | string | null
preferredLanguage?: StringNullableFilter<"Patient"> | string | null
status?: EnumPatientStatusFilter<"Patient"> | $Enums.PatientStatus
remainingBenefit?: StringNullableFilter<"Patient"> | string | null
thirdPartyInsurance?: StringNullableFilter<"Patient"> | string | null
userId?: IntFilter<"Patient"> | number
createdAt?: DateTimeFilter<"Patient"> | Date | string
updatedAt?: DateTimeFilter<"Patient"> | Date | string
@@ -63506,6 +63570,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
createdAt?: Date | string
updatedAt?: Date | string
user: UserCreateNestedOneWithoutPatientsInput
@@ -63538,6 +63604,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
userId: number
createdAt?: Date | string
updatedAt?: Date | string
@@ -63836,6 +63904,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
user?: UserUpdateOneRequiredWithoutPatientsNestedInput
@@ -63868,6 +63938,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
userId?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
@@ -65031,6 +65103,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
createdAt?: Date | string
updatedAt?: Date | string
user: UserCreateNestedOneWithoutPatientsInput
@@ -65063,6 +65137,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
userId: number
createdAt?: Date | string
updatedAt?: Date | string
@@ -65194,6 +65270,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
user?: UserUpdateOneRequiredWithoutPatientsNestedInput
@@ -65226,6 +65304,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
userId?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
@@ -65293,6 +65373,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
createdAt?: Date | string
updatedAt?: Date | string
user: UserCreateNestedOneWithoutPatientsInput
@@ -65325,6 +65407,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
userId: number
createdAt?: Date | string
updatedAt?: Date | string
@@ -65672,6 +65756,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
user?: UserUpdateOneRequiredWithoutPatientsNestedInput
@@ -65704,6 +65790,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
userId?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
@@ -66761,6 +66849,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
createdAt?: Date | string
updatedAt?: Date | string
user: UserCreateNestedOneWithoutPatientsInput
@@ -66793,6 +66883,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
userId: number
createdAt?: Date | string
updatedAt?: Date | string
@@ -66863,6 +66955,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
user?: UserUpdateOneRequiredWithoutPatientsNestedInput
@@ -66895,6 +66989,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
userId?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
@@ -67051,6 +67147,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
createdAt?: Date | string
updatedAt?: Date | string
user: UserCreateNestedOneWithoutPatientsInput
@@ -67083,6 +67181,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
userId: number
createdAt?: Date | string
updatedAt?: Date | string
@@ -67397,6 +67497,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
user?: UserUpdateOneRequiredWithoutPatientsNestedInput
@@ -67429,6 +67531,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
userId?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
@@ -68427,6 +68531,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
createdAt?: Date | string
updatedAt?: Date | string
user: UserCreateNestedOneWithoutPatientsInput
@@ -68459,6 +68565,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
userId: number
createdAt?: Date | string
updatedAt?: Date | string
@@ -68671,6 +68779,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
user?: UserUpdateOneRequiredWithoutPatientsNestedInput
@@ -68703,6 +68813,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
userId?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
@@ -69082,6 +69194,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
createdAt?: Date | string
updatedAt?: Date | string
user: UserCreateNestedOneWithoutPatientsInput
@@ -69114,6 +69228,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
userId: number
createdAt?: Date | string
updatedAt?: Date | string
@@ -69235,6 +69351,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
user?: UserUpdateOneRequiredWithoutPatientsNestedInput
@@ -69267,6 +69385,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
userId?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
@@ -69378,6 +69498,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
createdAt?: Date | string
updatedAt?: Date | string
user: UserCreateNestedOneWithoutPatientsInput
@@ -69410,6 +69532,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
userId: number
createdAt?: Date | string
updatedAt?: Date | string
@@ -69457,6 +69581,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
user?: UserUpdateOneRequiredWithoutPatientsNestedInput
@@ -69489,6 +69615,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
userId?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
@@ -70444,6 +70572,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
createdAt?: Date | string
updatedAt?: Date | string
user: UserCreateNestedOneWithoutPatientsInput
@@ -70476,6 +70606,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
userId: number
createdAt?: Date | string
updatedAt?: Date | string
@@ -70597,6 +70729,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
user?: UserUpdateOneRequiredWithoutPatientsNestedInput
@@ -70629,6 +70763,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
userId?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
@@ -71308,6 +71444,8 @@ export namespace Prisma {
medicalConditions?: string | null
preferredLanguage?: string | null
status?: $Enums.PatientStatus
remainingBenefit?: string | null
thirdPartyInsurance?: string | null
createdAt?: Date | string
updatedAt?: Date | string
}
@@ -71507,6 +71645,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
appointments?: AppointmentUpdateManyWithoutPatientNestedInput
@@ -71539,6 +71679,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
appointments?: AppointmentUncheckedUpdateManyWithoutPatientNestedInput
@@ -71571,6 +71713,8 @@ export namespace Prisma {
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
remainingBenefit?: NullableStringFieldUpdateOperationsInput | string | null
thirdPartyInsurance?: NullableStringFieldUpdateOperationsInput | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
}
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,5 +1,5 @@
{
"name": "prisma-client-06444e98f8328a30442a56cbded54a265df02594192db5e428350bbd93cc975b",
"name": "prisma-client-11a124b84a93d3e63379c8a6769ab83d8729151f8cca035589101564f7ede8ed",
"main": "index.js",
"types": "index.d.ts",
"browser": "default.js",
+33 -31
View File
@@ -55,37 +55,39 @@ model User {
}
model Patient {
id Int @id @default(autoincrement())
firstName String
lastName String
dateOfBirth DateTime? @db.Date
gender String
phone String
email String?
address String?
city String?
zipCode String?
insuranceProvider String?
insuranceId String?
groupNumber String?
policyHolder String?
allergies String?
medicalConditions String?
preferredLanguage String? @default("English")
status PatientStatus @default(UNKNOWN)
userId Int
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
user User @relation(fields: [userId], references: [id])
appointments Appointment[]
procedures AppointmentProcedure[]
claims Claim[]
groups PdfGroup[]
payment Payment[]
communications Communication[]
documents PatientDocument[]
conversation PatientConversation?
cloudFolders CloudFolder[] @relation("PatientCloudFolder")
id Int @id @default(autoincrement())
firstName String
lastName String
dateOfBirth DateTime? @db.Date
gender String
phone String
email String?
address String?
city String?
zipCode String?
insuranceProvider String?
insuranceId String?
groupNumber String?
policyHolder String?
allergies String?
medicalConditions String?
preferredLanguage String? @default("English")
status PatientStatus @default(UNKNOWN)
remainingBenefit String?
thirdPartyInsurance String?
userId Int
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
user User @relation(fields: [userId], references: [id])
appointments Appointment[]
procedures AppointmentProcedure[]
claims Claim[]
groups PdfGroup[]
payment Payment[]
communications Communication[]
documents PatientDocument[]
conversation PatientConversation?
cloudFolders CloudFolder[] @relation("PatientCloudFolder")
@@index([insuranceId])
@@index([createdAt])
@@ -0,0 +1,2 @@
-- AlterTable
ALTER TABLE "Patient" ADD COLUMN "remainingBenefit" TEXT;
@@ -0,0 +1,2 @@
-- AlterTable
ALTER TABLE "Patient" ADD COLUMN "thirdPartyInsurance" TEXT;
+2
View File
@@ -73,6 +73,8 @@ model Patient {
medicalConditions String?
preferredLanguage String? @default("English")
status PatientStatus @default(UNKNOWN)
remainingBenefit String?
thirdPartyInsurance String?
userId Int
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@ -1,7 +1,7 @@
{
"version": "1.0",
"generatorVersion": "1.0.0",
"generatedAt": "2026-07-21T03:13:42.342Z",
"generatedAt": "2026-09-03T01:38:13.906Z",
"outputPath": "/home/gg/Desktop/DentalManagementMH07/packages/db/shared",
"files": [
"schemas/enums/TransactionIsolationLevel.schema.ts",
@@ -1,5 +1,5 @@
import * as z from 'zod';
export const PatientScalarFieldEnumSchema = z.enum(['id', 'firstName', 'lastName', 'dateOfBirth', 'gender', 'phone', 'email', 'address', 'city', 'zipCode', 'insuranceProvider', 'insuranceId', 'groupNumber', 'policyHolder', 'allergies', 'medicalConditions', 'preferredLanguage', 'status', 'userId', 'createdAt', 'updatedAt'])
export const PatientScalarFieldEnumSchema = z.enum(['id', 'firstName', 'lastName', 'dateOfBirth', 'gender', 'phone', 'email', 'address', 'city', 'zipCode', 'insuranceProvider', 'insuranceId', 'groupNumber', 'policyHolder', 'allergies', 'medicalConditions', 'preferredLanguage', 'status', 'remainingBenefit', 'thirdPartyInsurance', 'userId', 'createdAt', 'updatedAt'])
export type PatientScalarFieldEnum = z.infer<typeof PatientScalarFieldEnumSchema>;
@@ -28,6 +28,8 @@ export const PatientFindFirstOrThrowSelectSchema: z.ZodType<Prisma.PatientSelect
medicalConditions: z.boolean().optional(),
preferredLanguage: z.boolean().optional(),
status: z.boolean().optional(),
remainingBenefit: z.boolean().optional(),
thirdPartyInsurance: z.boolean().optional(),
userId: z.boolean().optional(),
createdAt: z.boolean().optional(),
updatedAt: z.boolean().optional(),
@@ -63,6 +65,8 @@ export const PatientFindFirstOrThrowSelectZodSchema = z.object({
medicalConditions: z.boolean().optional(),
preferredLanguage: z.boolean().optional(),
status: z.boolean().optional(),
remainingBenefit: z.boolean().optional(),
thirdPartyInsurance: z.boolean().optional(),
userId: z.boolean().optional(),
createdAt: z.boolean().optional(),
updatedAt: z.boolean().optional(),
@@ -28,6 +28,8 @@ export const PatientFindFirstSelectSchema: z.ZodType<Prisma.PatientSelect> = z.o
medicalConditions: z.boolean().optional(),
preferredLanguage: z.boolean().optional(),
status: z.boolean().optional(),
remainingBenefit: z.boolean().optional(),
thirdPartyInsurance: z.boolean().optional(),
userId: z.boolean().optional(),
createdAt: z.boolean().optional(),
updatedAt: z.boolean().optional(),
@@ -63,6 +65,8 @@ export const PatientFindFirstSelectZodSchema = z.object({
medicalConditions: z.boolean().optional(),
preferredLanguage: z.boolean().optional(),
status: z.boolean().optional(),
remainingBenefit: z.boolean().optional(),
thirdPartyInsurance: z.boolean().optional(),
userId: z.boolean().optional(),
createdAt: z.boolean().optional(),
updatedAt: z.boolean().optional(),
@@ -28,6 +28,8 @@ export const PatientFindManySelectSchema: z.ZodType<Prisma.PatientSelect> = z.ob
medicalConditions: z.boolean().optional(),
preferredLanguage: z.boolean().optional(),
status: z.boolean().optional(),
remainingBenefit: z.boolean().optional(),
thirdPartyInsurance: z.boolean().optional(),
userId: z.boolean().optional(),
createdAt: z.boolean().optional(),
updatedAt: z.boolean().optional(),
@@ -63,6 +65,8 @@ export const PatientFindManySelectZodSchema = z.object({
medicalConditions: z.boolean().optional(),
preferredLanguage: z.boolean().optional(),
status: z.boolean().optional(),
remainingBenefit: z.boolean().optional(),
thirdPartyInsurance: z.boolean().optional(),
userId: z.boolean().optional(),
createdAt: z.boolean().optional(),
updatedAt: z.boolean().optional(),
@@ -21,6 +21,8 @@ const makeSchema = () => z.object({
medicalConditions: z.literal(true).optional(),
preferredLanguage: z.literal(true).optional(),
status: z.literal(true).optional(),
remainingBenefit: z.literal(true).optional(),
thirdPartyInsurance: z.literal(true).optional(),
userId: z.literal(true).optional(),
createdAt: z.literal(true).optional(),
updatedAt: z.literal(true).optional(),
@@ -21,6 +21,8 @@ const makeSchema = () => z.object({
medicalConditions: SortOrderSchema.optional(),
preferredLanguage: SortOrderSchema.optional(),
status: SortOrderSchema.optional(),
remainingBenefit: SortOrderSchema.optional(),
thirdPartyInsurance: SortOrderSchema.optional(),
userId: SortOrderSchema.optional(),
createdAt: SortOrderSchema.optional(),
updatedAt: SortOrderSchema.optional()
@@ -30,6 +30,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
createdAt: z.coerce.date().optional(),
user: z.lazy(() => UserCreateNestedOneWithoutPatientsInputObjectSchema),
appointments: z.lazy(() => AppointmentCreateNestedManyWithoutPatientInputObjectSchema).optional(),
@@ -21,6 +21,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
userId: z.number().int(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional()
@@ -21,6 +21,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional()
}).strict();
@@ -29,6 +29,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional(),
user: z.lazy(() => UserCreateNestedOneWithoutPatientsInputObjectSchema),
@@ -29,6 +29,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional(),
user: z.lazy(() => UserCreateNestedOneWithoutPatientsInputObjectSchema),
@@ -29,6 +29,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional(),
user: z.lazy(() => UserCreateNestedOneWithoutPatientsInputObjectSchema),
@@ -29,6 +29,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional(),
user: z.lazy(() => UserCreateNestedOneWithoutPatientsInputObjectSchema),
@@ -29,6 +29,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional(),
user: z.lazy(() => UserCreateNestedOneWithoutPatientsInputObjectSchema),
@@ -29,6 +29,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional(),
user: z.lazy(() => UserCreateNestedOneWithoutPatientsInputObjectSchema),
@@ -29,6 +29,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional(),
user: z.lazy(() => UserCreateNestedOneWithoutPatientsInputObjectSchema),
@@ -29,6 +29,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional(),
user: z.lazy(() => UserCreateNestedOneWithoutPatientsInputObjectSchema),
@@ -29,6 +29,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional(),
user: z.lazy(() => UserCreateNestedOneWithoutPatientsInputObjectSchema),
@@ -29,6 +29,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional(),
appointments: z.lazy(() => AppointmentCreateNestedManyWithoutPatientInputObjectSchema).optional(),
@@ -21,6 +21,8 @@ const makeSchema = () => z.object({
medicalConditions: z.literal(true).optional(),
preferredLanguage: z.literal(true).optional(),
status: z.literal(true).optional(),
remainingBenefit: z.literal(true).optional(),
thirdPartyInsurance: z.literal(true).optional(),
userId: z.literal(true).optional(),
createdAt: z.literal(true).optional(),
updatedAt: z.literal(true).optional()
@@ -21,6 +21,8 @@ const makeSchema = () => z.object({
medicalConditions: SortOrderSchema.optional(),
preferredLanguage: SortOrderSchema.optional(),
status: SortOrderSchema.optional(),
remainingBenefit: SortOrderSchema.optional(),
thirdPartyInsurance: SortOrderSchema.optional(),
userId: SortOrderSchema.optional(),
createdAt: SortOrderSchema.optional(),
updatedAt: SortOrderSchema.optional()
@@ -21,6 +21,8 @@ const makeSchema = () => z.object({
medicalConditions: z.literal(true).optional(),
preferredLanguage: z.literal(true).optional(),
status: z.literal(true).optional(),
remainingBenefit: z.literal(true).optional(),
thirdPartyInsurance: z.literal(true).optional(),
userId: z.literal(true).optional(),
createdAt: z.literal(true).optional(),
updatedAt: z.literal(true).optional()
@@ -21,6 +21,8 @@ const makeSchema = () => z.object({
medicalConditions: SortOrderSchema.optional(),
preferredLanguage: SortOrderSchema.optional(),
status: SortOrderSchema.optional(),
remainingBenefit: SortOrderSchema.optional(),
thirdPartyInsurance: SortOrderSchema.optional(),
userId: SortOrderSchema.optional(),
createdAt: SortOrderSchema.optional(),
updatedAt: SortOrderSchema.optional()
@@ -27,6 +27,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
preferredLanguage: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
status: SortOrderSchema.optional(),
remainingBenefit: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
thirdPartyInsurance: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
userId: SortOrderSchema.optional(),
createdAt: SortOrderSchema.optional(),
updatedAt: SortOrderSchema.optional(),
@@ -32,6 +32,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
preferredLanguage: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
status: SortOrderSchema.optional(),
remainingBenefit: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
thirdPartyInsurance: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
userId: SortOrderSchema.optional(),
createdAt: SortOrderSchema.optional(),
updatedAt: SortOrderSchema.optional(),
@@ -30,6 +30,8 @@ const patientscalarwhereinputSchema = z.object({
medicalConditions: z.union([z.lazy(() => StringNullableFilterObjectSchema), z.string()]).optional().nullable(),
preferredLanguage: z.union([z.lazy(() => StringNullableFilterObjectSchema), z.string()]).optional().nullable(),
status: z.union([z.lazy(() => EnumPatientStatusFilterObjectSchema), PatientStatusSchema]).optional(),
remainingBenefit: z.union([z.lazy(() => StringNullableFilterObjectSchema), z.string()]).optional().nullable(),
thirdPartyInsurance: z.union([z.lazy(() => StringNullableFilterObjectSchema), z.string()]).optional().nullable(),
userId: z.union([z.lazy(() => IntFilterObjectSchema), z.number().int()]).optional(),
createdAt: z.union([z.lazy(() => DateTimeFilterObjectSchema), z.coerce.date()]).optional(),
updatedAt: z.union([z.lazy(() => DateTimeFilterObjectSchema), z.coerce.date()]).optional()
@@ -30,6 +30,8 @@ const patientscalarwherewithaggregatesinputSchema = z.object({
medicalConditions: z.union([z.lazy(() => StringNullableWithAggregatesFilterObjectSchema), z.string()]).optional().nullable(),
preferredLanguage: z.union([z.lazy(() => StringNullableWithAggregatesFilterObjectSchema), z.string()]).optional().nullable(),
status: z.union([z.lazy(() => EnumPatientStatusWithAggregatesFilterObjectSchema), PatientStatusSchema]).optional(),
remainingBenefit: z.union([z.lazy(() => StringNullableWithAggregatesFilterObjectSchema), z.string()]).optional().nullable(),
thirdPartyInsurance: z.union([z.lazy(() => StringNullableWithAggregatesFilterObjectSchema), z.string()]).optional().nullable(),
userId: z.union([z.lazy(() => IntWithAggregatesFilterObjectSchema), z.number().int()]).optional(),
createdAt: z.union([z.lazy(() => DateTimeWithAggregatesFilterObjectSchema), z.coerce.date()]).optional(),
updatedAt: z.union([z.lazy(() => DateTimeWithAggregatesFilterObjectSchema), z.coerce.date()]).optional()
@@ -31,6 +31,8 @@ const makeSchema = () => z.object({
medicalConditions: z.boolean().optional(),
preferredLanguage: z.boolean().optional(),
status: z.boolean().optional(),
remainingBenefit: z.boolean().optional(),
thirdPartyInsurance: z.boolean().optional(),
userId: z.boolean().optional(),
createdAt: z.boolean().optional(),
updatedAt: z.boolean().optional(),
@@ -30,6 +30,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
userId: z.number().int(),
createdAt: z.coerce.date().optional(),
appointments: z.lazy(() => AppointmentUncheckedCreateNestedManyWithoutPatientInputObjectSchema).optional(),
@@ -29,6 +29,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
userId: z.number().int(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional(),
@@ -29,6 +29,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
userId: z.number().int(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional(),
@@ -29,6 +29,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
userId: z.number().int(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional(),
@@ -29,6 +29,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
userId: z.number().int(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional(),
@@ -29,6 +29,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
userId: z.number().int(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional(),
@@ -29,6 +29,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
userId: z.number().int(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional(),
@@ -29,6 +29,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
userId: z.number().int(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional(),
@@ -29,6 +29,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
userId: z.number().int(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional(),
@@ -29,6 +29,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
userId: z.number().int(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional(),
@@ -30,6 +30,8 @@ const makeSchema = () => z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema.optional(),
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
createdAt: z.coerce.date().optional(),
updatedAt: z.coerce.date().optional(),
appointments: z.lazy(() => AppointmentUncheckedCreateNestedManyWithoutPatientInputObjectSchema).optional(),
@@ -36,6 +36,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
userId: z.union([z.number().int(), z.lazy(() => IntFieldUpdateOperationsInputObjectSchema)]).optional(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
@@ -27,6 +27,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
userId: z.union([z.number().int(), z.lazy(() => IntFieldUpdateOperationsInputObjectSchema)]).optional(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional()
@@ -27,6 +27,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional()
}).strict();
@@ -35,6 +35,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
userId: z.union([z.number().int(), z.lazy(() => IntFieldUpdateOperationsInputObjectSchema)]).optional(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
@@ -35,6 +35,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
userId: z.union([z.number().int(), z.lazy(() => IntFieldUpdateOperationsInputObjectSchema)]).optional(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
@@ -35,6 +35,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
userId: z.union([z.number().int(), z.lazy(() => IntFieldUpdateOperationsInputObjectSchema)]).optional(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
@@ -35,6 +35,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
userId: z.union([z.number().int(), z.lazy(() => IntFieldUpdateOperationsInputObjectSchema)]).optional(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
@@ -35,6 +35,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
userId: z.union([z.number().int(), z.lazy(() => IntFieldUpdateOperationsInputObjectSchema)]).optional(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
@@ -35,6 +35,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
userId: z.union([z.number().int(), z.lazy(() => IntFieldUpdateOperationsInputObjectSchema)]).optional(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
@@ -35,6 +35,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
userId: z.union([z.number().int(), z.lazy(() => IntFieldUpdateOperationsInputObjectSchema)]).optional(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
@@ -35,6 +35,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
userId: z.union([z.number().int(), z.lazy(() => IntFieldUpdateOperationsInputObjectSchema)]).optional(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
@@ -35,6 +35,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
userId: z.union([z.number().int(), z.lazy(() => IntFieldUpdateOperationsInputObjectSchema)]).optional(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
@@ -36,6 +36,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
appointments: z.lazy(() => AppointmentUncheckedUpdateManyWithoutPatientNestedInputObjectSchema).optional(),
@@ -35,6 +35,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
user: z.lazy(() => UserUpdateOneRequiredWithoutPatientsNestedInputObjectSchema).optional(),
@@ -25,6 +25,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional()
}).strict();
@@ -34,6 +34,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
user: z.lazy(() => UserUpdateOneRequiredWithoutPatientsNestedInputObjectSchema).optional(),
@@ -34,6 +34,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
user: z.lazy(() => UserUpdateOneRequiredWithoutPatientsNestedInputObjectSchema).optional(),
@@ -34,6 +34,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
user: z.lazy(() => UserUpdateOneRequiredWithoutPatientsNestedInputObjectSchema).optional(),
@@ -34,6 +34,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
user: z.lazy(() => UserUpdateOneRequiredWithoutPatientsNestedInputObjectSchema).optional(),
@@ -34,6 +34,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
user: z.lazy(() => UserUpdateOneRequiredWithoutPatientsNestedInputObjectSchema).optional(),
@@ -34,6 +34,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
user: z.lazy(() => UserUpdateOneRequiredWithoutPatientsNestedInputObjectSchema).optional(),
@@ -34,6 +34,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
user: z.lazy(() => UserUpdateOneRequiredWithoutPatientsNestedInputObjectSchema).optional(),
@@ -34,6 +34,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
user: z.lazy(() => UserUpdateOneRequiredWithoutPatientsNestedInputObjectSchema).optional(),
@@ -34,6 +34,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
user: z.lazy(() => UserUpdateOneRequiredWithoutPatientsNestedInputObjectSchema).optional(),
@@ -34,6 +34,8 @@ const makeSchema = () => z.object({
medicalConditions: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
preferredLanguage: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
status: z.union([PatientStatusSchema, z.lazy(() => EnumPatientStatusFieldUpdateOperationsInputObjectSchema)]).optional(),
remainingBenefit: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
thirdPartyInsurance: z.union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputObjectSchema)]).optional().nullable(),
createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
appointments: z.lazy(() => AppointmentUpdateManyWithoutPatientNestedInputObjectSchema).optional(),
@@ -42,6 +42,8 @@ const patientwhereinputSchema = z.object({
medicalConditions: z.union([z.lazy(() => StringNullableFilterObjectSchema), z.string()]).optional().nullable(),
preferredLanguage: z.union([z.lazy(() => StringNullableFilterObjectSchema), z.string()]).optional().nullable(),
status: z.union([z.lazy(() => EnumPatientStatusFilterObjectSchema), PatientStatusSchema]).optional(),
remainingBenefit: z.union([z.lazy(() => StringNullableFilterObjectSchema), z.string()]).optional().nullable(),
thirdPartyInsurance: z.union([z.lazy(() => StringNullableFilterObjectSchema), z.string()]).optional().nullable(),
userId: z.union([z.lazy(() => IntFilterObjectSchema), z.number().int()]).optional(),
createdAt: z.union([z.lazy(() => DateTimeFilterObjectSchema), z.coerce.date()]).optional(),
updatedAt: z.union([z.lazy(() => DateTimeFilterObjectSchema), z.coerce.date()]).optional(),
@@ -18,6 +18,8 @@ export const PatientAggregateResultSchema = z.object({ _count: z.object({
medicalConditions: z.number(),
preferredLanguage: z.number(),
status: z.number(),
remainingBenefit: z.number(),
thirdPartyInsurance: z.number(),
userId: z.number(),
createdAt: z.number(),
updatedAt: z.number(),
@@ -58,6 +60,8 @@ export const PatientAggregateResultSchema = z.object({ _count: z.object({
allergies: z.string().nullable(),
medicalConditions: z.string().nullable(),
preferredLanguage: z.string().nullable(),
remainingBenefit: z.string().nullable(),
thirdPartyInsurance: z.string().nullable(),
userId: z.number().int().nullable(),
createdAt: z.date().nullable(),
updatedAt: z.date().nullable()
@@ -80,6 +84,8 @@ export const PatientAggregateResultSchema = z.object({ _count: z.object({
allergies: z.string().nullable(),
medicalConditions: z.string().nullable(),
preferredLanguage: z.string().nullable(),
remainingBenefit: z.string().nullable(),
thirdPartyInsurance: z.string().nullable(),
userId: z.number().int().nullable(),
createdAt: z.date().nullable(),
updatedAt: z.date().nullable()
@@ -18,6 +18,8 @@ export const PatientCreateResultSchema = z.object({
medicalConditions: z.string().optional(),
preferredLanguage: z.string().optional(),
status: z.unknown(),
remainingBenefit: z.string().optional(),
thirdPartyInsurance: z.string().optional(),
userId: z.number().int(),
createdAt: z.date(),
updatedAt: z.date(),
@@ -18,6 +18,8 @@ export const PatientDeleteResultSchema = z.nullable(z.object({
medicalConditions: z.string().optional(),
preferredLanguage: z.string().optional(),
status: z.unknown(),
remainingBenefit: z.string().optional(),
thirdPartyInsurance: z.string().optional(),
userId: z.number().int(),
createdAt: z.date(),
updatedAt: z.date(),
@@ -18,6 +18,8 @@ export const PatientFindFirstResultSchema = z.nullable(z.object({
medicalConditions: z.string().optional(),
preferredLanguage: z.string().optional(),
status: z.unknown(),
remainingBenefit: z.string().optional(),
thirdPartyInsurance: z.string().optional(),
userId: z.number().int(),
createdAt: z.date(),
updatedAt: z.date(),
@@ -19,6 +19,8 @@ export const PatientFindManyResultSchema = z.object({
medicalConditions: z.string().optional(),
preferredLanguage: z.string().optional(),
status: z.unknown(),
remainingBenefit: z.string().optional(),
thirdPartyInsurance: z.string().optional(),
userId: z.number().int(),
createdAt: z.date(),
updatedAt: z.date(),
@@ -18,6 +18,8 @@ export const PatientFindUniqueResultSchema = z.nullable(z.object({
medicalConditions: z.string().optional(),
preferredLanguage: z.string().optional(),
status: z.unknown(),
remainingBenefit: z.string().optional(),
thirdPartyInsurance: z.string().optional(),
userId: z.number().int(),
createdAt: z.date(),
updatedAt: z.date(),
@@ -17,6 +17,8 @@ export const PatientGroupByResultSchema = z.array(z.object({
allergies: z.string(),
medicalConditions: z.string(),
preferredLanguage: z.string(),
remainingBenefit: z.string(),
thirdPartyInsurance: z.string(),
userId: z.number().int(),
createdAt: z.date(),
updatedAt: z.date(),
@@ -39,6 +41,8 @@ export const PatientGroupByResultSchema = z.array(z.object({
medicalConditions: z.number(),
preferredLanguage: z.number(),
status: z.number(),
remainingBenefit: z.number(),
thirdPartyInsurance: z.number(),
userId: z.number(),
createdAt: z.number(),
updatedAt: z.number(),
@@ -79,6 +83,8 @@ export const PatientGroupByResultSchema = z.array(z.object({
allergies: z.string().nullable(),
medicalConditions: z.string().nullable(),
preferredLanguage: z.string().nullable(),
remainingBenefit: z.string().nullable(),
thirdPartyInsurance: z.string().nullable(),
userId: z.number().int().nullable(),
createdAt: z.date().nullable(),
updatedAt: z.date().nullable()
@@ -101,6 +107,8 @@ export const PatientGroupByResultSchema = z.array(z.object({
allergies: z.string().nullable(),
medicalConditions: z.string().nullable(),
preferredLanguage: z.string().nullable(),
remainingBenefit: z.string().nullable(),
thirdPartyInsurance: z.string().nullable(),
userId: z.number().int().nullable(),
createdAt: z.date().nullable(),
updatedAt: z.date().nullable()
@@ -18,6 +18,8 @@ export const PatientUpdateResultSchema = z.nullable(z.object({
medicalConditions: z.string().optional(),
preferredLanguage: z.string().optional(),
status: z.unknown(),
remainingBenefit: z.string().optional(),
thirdPartyInsurance: z.string().optional(),
userId: z.number().int(),
createdAt: z.date(),
updatedAt: z.date(),
@@ -18,6 +18,8 @@ export const PatientUpsertResultSchema = z.object({
medicalConditions: z.string().optional(),
preferredLanguage: z.string().optional(),
status: z.unknown(),
remainingBenefit: z.string().optional(),
thirdPartyInsurance: z.string().optional(),
userId: z.number().int(),
createdAt: z.date(),
updatedAt: z.date(),
@@ -20,6 +20,8 @@ export const PatientInputSchema = z.object({
medicalConditions: z.string().optional().nullable(),
preferredLanguage: z.string().optional().nullable(),
status: PatientStatusSchema,
remainingBenefit: z.string().optional().nullable(),
thirdPartyInsurance: z.string().optional().nullable(),
userId: z.number().int(),
createdAt: z.date(),
updatedAt: z.date(),

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