From 535619c2864a15b9483b83e550643649f727eab3 Mon Sep 17 00:00:00 2001 From: ff Date: Sat, 30 May 2026 23:44:55 -0400 Subject: [PATCH] feat: make claim number editable in Edit Claim Status modal Co-Authored-By: Claude Sonnet 4.6 --- apps/Backend/src/routes/claims.ts | 1 + .../components/claims/claim-edit-modal.tsx | 20 ++++++++++++++----- .../components/claims/claims-recent-table.tsx | 3 +++ 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/apps/Backend/src/routes/claims.ts b/apps/Backend/src/routes/claims.ts index 72c1bdcb..26a74c6d 100755 --- a/apps/Backend/src/routes/claims.ts +++ b/apps/Backend/src/routes/claims.ts @@ -1287,6 +1287,7 @@ router.put("/:id", async (req: Request, res: Response): Promise => { serviceDate: toOptionalDate(req.body.serviceDate), insuranceProvider: req.body.insuranceProvider, status: req.body.status, + ...(req.body.claimNumber != null ? { claimNumber: req.body.claimNumber } : {}), ...(req.body.npiProviderId ? { npiProviderId: Number(req.body.npiProviderId) } : {}), }); const updatedClaim = await storage.updateClaim(claimId, claimData); diff --git a/apps/Frontend/src/components/claims/claim-edit-modal.tsx b/apps/Frontend/src/components/claims/claim-edit-modal.tsx index d20b456f..f8f8a443 100755 --- a/apps/Frontend/src/components/claims/claim-edit-modal.tsx +++ b/apps/Frontend/src/components/claims/claim-edit-modal.tsx @@ -6,6 +6,7 @@ import { DialogDescription, } from "@/components/ui/dialog"; import { Button } from "@/components/ui/button"; +import { Input } from "@/components/ui/input"; import { Select, SelectContent, @@ -43,6 +44,9 @@ export default function ClaimEditModal({ const [status, setStatus] = useState( claim?.status ?? ("PENDING" as ClaimStatus) ); + const [claimNumber, setClaimNumber] = useState( + (claim as any)?.claimNumber ?? "" + ); const [selectedNpiProviderId, setSelectedNpiProviderId] = useState( (claim as any)?.npiProviderId ?? null ); @@ -72,6 +76,7 @@ export default function ClaimEditModal({ const updatedClaim: ClaimWithServiceLines = { ...claim, status, + claimNumber: claimNumber.trim() || null, npiProviderId: selectedNpiProviderId, npiProvider: npiProviders.find((p) => p.id === selectedNpiProviderId) ?? null, } as ClaimWithServiceLines; @@ -100,7 +105,7 @@ export default function ClaimEditModal({ Claim ID: {claim.id?.toString().padStart(4, "0")}

- Claim No: {claim.claimNumber || "—"} + Claim No: {claimNumber || "—"}

@@ -160,10 +165,15 @@ export default function ClaimEditModal({

Insurance Details

-

- Claim Number:{" "} - {claim.claimNumber || "—"} -

+
+ Claim Number: + setClaimNumber(e.target.value)} + placeholder="Enter claim number" + /> +

Insurance Provider:{" "} {claim.insuranceProvider || "N/A"} diff --git a/apps/Frontend/src/components/claims/claims-recent-table.tsx b/apps/Frontend/src/components/claims/claims-recent-table.tsx index e2fdb0a5..8856d4dd 100755 --- a/apps/Frontend/src/components/claims/claims-recent-table.tsx +++ b/apps/Frontend/src/components/claims/claims-recent-table.tsx @@ -136,6 +136,9 @@ export default function ClaimsRecentTable({ mutationFn: async (claim: ClaimWithServiceLines) => { const response = await apiRequest("PUT", `/api/claims/${claim.id}`, { status: claim.status, + ...((claim as any).claimNumber != null + ? { claimNumber: (claim as any).claimNumber } + : {}), ...((claim as any).npiProviderId != null ? { npiProviderId: (claim as any).npiProviderId } : {}),