From dd814b902d4256ff5ef55be4b62a7f772004e151 Mon Sep 17 00:00:00 2001 From: Vishnu Date: Thu, 12 Jun 2025 19:45:32 +0530 Subject: [PATCH] claim-page - lastvisit fixed --- .gitignore | 3 --- apps/Frontend/src/pages/claims-page.tsx | 35 ++++++++++++++----------- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/.gitignore b/.gitignore index 156615b..ee0c31b 100644 --- a/.gitignore +++ b/.gitignore @@ -37,6 +37,3 @@ dist/ # env *.env - -#temp -1.html \ No newline at end of file diff --git a/apps/Frontend/src/pages/claims-page.tsx b/apps/Frontend/src/pages/claims-page.tsx index aef3158..53f152f 100644 --- a/apps/Frontend/src/pages/claims-page.tsx +++ b/apps/Frontend/src/pages/claims-page.tsx @@ -451,21 +451,26 @@ export default function ClaimsPage() { }; // Get unique patients with appointments - const patientsWithAppointments = appointments.reduce( - (acc, appointment) => { - if (!acc.some((item) => item.patientId === appointment.patientId)) { - const patient = patients.find((p) => p.id === appointment.patientId); - if (patient) { - acc.push({ - patientId: patient.id, - patientName: `${patient.firstName} ${patient.lastName}`, - appointmentId: Number(appointment.id), - insuranceProvider: patient.insuranceProvider || "N/A", - insuranceId: patient.insuranceId || "N/A", - lastAppointment: String(appointment.date), - }); - } + const patientsWithAppointments = patients.reduce( + (acc, patient) => { + const patientAppointments = appointments + .filter((appt) => appt.patientId === patient.id) + .sort( + (a, b) => new Date(b.date).getTime() - new Date(a.date).getTime() + ); // Sort descending by date + + if (patientAppointments.length > 0) { + const latestAppointment = patientAppointments[0]; + acc.push({ + patientId: patient.id, + patientName: `${patient.firstName} ${patient.lastName}`, + appointmentId: latestAppointment!.id, + insuranceProvider: patient.insuranceProvider || "N/A", + insuranceId: patient.insuranceId || "N/A", + lastAppointment: String(latestAppointment!.date), + }); } + return acc; }, [] as Array<{ @@ -591,7 +596,7 @@ export default function ClaimsPage() { ) : patientsWithAppointments.length > 0 ? (
- {patientsWithAppointments.map((item) => ( + {patientsWithAppointments.map((item: typeof patientsWithAppointments[number]) => (