date issue fixed3

This commit is contained in:
2025-07-15 23:08:40 +05:30
parent 6df70efc13
commit c475203781
2 changed files with 71 additions and 64 deletions

View File

@@ -4,7 +4,7 @@ import { format, addDays, startOfToday, addMinutes } from "date-fns";
import { import {
parseLocalDateString, parseLocalDateString,
formatLocalDate, formatLocalDate,
normalizeToISOString normalizeToISOString,
} from "@/utils/dateUtils"; } from "@/utils/dateUtils";
import { TopAppBar } from "@/components/layout/top-app-bar"; import { TopAppBar } from "@/components/layout/top-app-bar";
import { Sidebar } from "@/components/layout/sidebar"; import { Sidebar } from "@/components/layout/sidebar";
@@ -474,7 +474,10 @@ export default function AppointmentsPage() {
patientName, patientName,
staffId, staffId,
status: apt.status ?? null, // Default to null if status is undefined status: apt.status ?? null, // Default to null if status is undefined
date: apt.date instanceof Date ? apt.date.toISOString() : apt.date, // Ensure d date:
apt.date instanceof Date
? formatLocalDate(apt.date)
: formatLocalDate(new Date(apt.date)),
}; };
return processed; return processed;
@@ -889,8 +892,9 @@ export default function AppointmentsPage() {
{ {
processedAppointments.filter( processedAppointments.filter(
(apt) => (apt) =>
staffMembers.find((s) => Number(s.id) === apt.staffId) staffMembers.find(
?.role === "doctor" (s) => Number(s.id) === apt.staffId
)?.role === "doctor"
).length ).length
} }
</span> </span>
@@ -903,8 +907,9 @@ export default function AppointmentsPage() {
{ {
processedAppointments.filter( processedAppointments.filter(
(apt) => (apt) =>
staffMembers.find((s) => Number(s.id) === apt.staffId) staffMembers.find(
?.role === "hygienist" (s) => Number(s.id) === apt.staffId
)?.role === "hygienist"
).length ).length
} }
</span> </span>

View File

@@ -33,7 +33,7 @@ import {
clearTaskStatus, clearTaskStatus,
} from "@/redux/slices/seleniumEligibilityCheckTaskSlice"; } from "@/redux/slices/seleniumEligibilityCheckTaskSlice";
import { SeleniumTaskBanner } from "@/components/claims/selenium-task-banner"; import { SeleniumTaskBanner } from "@/components/claims/selenium-task-banner";
import { formatLocalDate } from "@/utils/dateUtils"; import { formatLocalDate, parseLocalDateString } from "@/utils/dateUtils";
const PatientSchema = ( const PatientSchema = (
PatientUncheckedCreateInputObjectSchema as unknown as z.ZodObject<any> PatientUncheckedCreateInputObjectSchema as unknown as z.ZodObject<any>
@@ -59,7 +59,6 @@ export default function InsuranceEligibilityPage() {
(state) => state.seleniumEligibilityCheckTask (state) => state.seleniumEligibilityCheckTask
); );
const [selectedPatient, setSelectedPatient] = useState<Patient | null>(null); const [selectedPatient, setSelectedPatient] = useState<Patient | null>(null);
const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);
@@ -80,7 +79,10 @@ export default function InsuranceEligibilityPage() {
setFirstName(selectedPatient.firstName ?? ""); setFirstName(selectedPatient.firstName ?? "");
setLastName(selectedPatient.lastName ?? ""); setLastName(selectedPatient.lastName ?? "");
const dob = selectedPatient.dateOfBirth const dob =
typeof selectedPatient.dateOfBirth === "string"
? parseLocalDateString(selectedPatient.dateOfBirth)
: selectedPatient.dateOfBirth;
setDateOfBirth(dob); setDateOfBirth(dob);
} else { } else {
setMemberId(""); setMemberId("");
@@ -111,13 +113,13 @@ export default function InsuranceEligibilityPage() {
toast({ toast({
title: "Patient already exists", title: "Patient already exists",
description: msg, description: msg,
variant: "default", variant: "default",
}); });
} else { } else {
toast({ toast({
title: "Error", title: "Error",
description: `Failed to add patient: ${msg}`, description: `Failed to add patient: ${msg}`,
variant: "destructive", variant: "destructive",
}); });
} }
}, },
@@ -166,54 +168,56 @@ export default function InsuranceEligibilityPage() {
}); });
// handle selenium // handle selenium
const handleSelenium = async () => { const handleSelenium = async () => {
const formattedDob = dateOfBirth ? formatLocalDate(dateOfBirth) : "";
const formattedDob = dateOfBirth ? formatLocalDate(dateOfBirth) : ""; const data = {
memberId,
const data = {memberId, dateOfBirth: formattedDob, insuranceSiteKey: "MH", }; dateOfBirth: formattedDob,
try { insuranceSiteKey: "MH",
dispatch(
setTaskStatus({
status: "pending",
message: "Sending Data to Selenium...",
})
);
const response = await apiRequest(
"POST",
"/api/insuranceEligibility/check",
{ data: JSON.stringify(data) }
);
const result = await response.json();
if (result.error) throw new Error(result.error);
dispatch(
setTaskStatus({
status: "success",
message: "Submitted to Selenium.",
})
);
toast({
title: "Selenium service notified",
description:
"Your claim data was successfully sent to Selenium, Waitinig for its response.",
variant: "default",
});
} catch (error: any) {
dispatch(
setTaskStatus({
status: "error",
message: error.message || "Selenium submission failed",
})
);
toast({
title: "Selenium service error",
description: error.message || "An error occurred.",
variant: "destructive",
});
}
}; };
try {
dispatch(
setTaskStatus({
status: "pending",
message: "Sending Data to Selenium...",
})
);
const response = await apiRequest(
"POST",
"/api/insuranceEligibility/check",
{ data: JSON.stringify(data) }
);
const result = await response.json();
if (result.error) throw new Error(result.error);
dispatch(
setTaskStatus({
status: "success",
message: "Submitted to Selenium.",
})
);
toast({
title: "Selenium service notified",
description:
"Your claim data was successfully sent to Selenium, Waitinig for its response.",
variant: "default",
});
} catch (error: any) {
dispatch(
setTaskStatus({
status: "error",
message: error.message || "Selenium submission failed",
})
);
toast({
title: "Selenium service error",
description: error.message || "An error occurred.",
variant: "destructive",
});
}
};
const handleAddPatient = () => { const handleAddPatient = () => {
const newPatient: InsertPatient = { const newPatient: InsertPatient = {
@@ -227,7 +231,7 @@ export default function InsuranceEligibilityPage() {
insuranceId: memberId, insuranceId: memberId,
}; };
addPatientMutation.mutate(newPatient); addPatientMutation.mutate(newPatient);
} };
// Handle insurance provider button clicks // Handle insurance provider button clicks
const handleMHButton = () => { const handleMHButton = () => {
@@ -246,8 +250,6 @@ export default function InsuranceEligibilityPage() {
handleAddPatient(); handleAddPatient();
handleSelenium(); handleSelenium();
}; };
return ( return (
@@ -261,11 +263,11 @@ export default function InsuranceEligibilityPage() {
<TopAppBar toggleMobileMenu={toggleMobileMenu} /> <TopAppBar toggleMobileMenu={toggleMobileMenu} />
<SeleniumTaskBanner <SeleniumTaskBanner
status={status} status={status}
message={message} message={message}
show={show} show={show}
onClear={() => dispatch(clearTaskStatus())} onClear={() => dispatch(clearTaskStatus())}
/> />
<main className="flex-1 overflow-auto p-6"> <main className="flex-1 overflow-auto p-6">
<div className="max-w-7xl mx-auto"> <div className="max-w-7xl mx-auto">