feat: share patients across all users

Removed per-user patient filtering so all staff accounts see the same
patient pool. Previously each user only saw patients they created.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
ff
2026-05-17 23:04:26 -04:00
parent b148c0de30
commit 8cab823d60
219 changed files with 14090 additions and 718 deletions

View File

@@ -10,8 +10,8 @@ export interface IStorage {
// Patient methods
getPatient(id: number): Promise<Patient | undefined>;
getPatientByInsuranceId(insuranceId: string): Promise<Patient | null>;
getPatientsByUserId(userId: number): Promise<Patient[]>;
getRecentPatients(limit: number, offset: number, userId: number): Promise<Patient[]>;
getAllPatients(): Promise<Patient[]>;
getRecentPatients(limit: number, offset: number): Promise<Patient[]>;
getPatientsByIds(ids: number[]): Promise<Patient[]>;
createPatient(patient: InsertPatient): Promise<Patient>;
updatePatient(id: number, patient: UpdatePatient): Promise<Patient>;
@@ -33,7 +33,7 @@ export interface IStorage {
status: string;
}[]
>;
getTotalPatientCount(userId: number): Promise<number>;
getTotalPatientCount(): Promise<number>;
countPatients(filters: any): Promise<number>; // optional but useful
getPatientFinancialRows(
patientId: number,
@@ -49,8 +49,8 @@ export const patientsStorage: IStorage = {
return patient ?? undefined;
},
async getPatientsByUserId(userId: number): Promise<Patient[]> {
return await db.patient.findMany({ where: { userId } });
async getAllPatients(): Promise<Patient[]> {
return await db.patient.findMany();
},
async getPatientByInsuranceId(insuranceId: string): Promise<Patient | null> {
@@ -59,9 +59,8 @@ export const patientsStorage: IStorage = {
});
},
async getRecentPatients(limit: number, offset: number, userId: number): Promise<Patient[]> {
async getRecentPatients(limit: number, offset: number): Promise<Patient[]> {
return db.patient.findMany({
where: { userId },
skip: offset,
take: limit,
orderBy: { updatedAt: "desc" },
@@ -143,8 +142,8 @@ export const patientsStorage: IStorage = {
});
},
async getTotalPatientCount(userId: number): Promise<number> {
return db.patient.count({ where: { userId } });
async getTotalPatientCount(): Promise<number> {
return db.patient.count();
},
async countPatients(filters: any) {