feat: computed analytics endpoint, rework Analysis page

Add GET /api/analytics returning real aggregates over the clinic's
patients/appointments/prescriptions/tasks, and rebuild the Analysis page
to render them. Drops the fabricated revenue/profit cards — temetro has no
billing data source.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Khalid Abdi
2026-06-07 19:49:50 +03:00
parent 75940313a4
commit 48378ebc5e
6 changed files with 237 additions and 144 deletions
+17
View File
@@ -0,0 +1,17 @@
import { Router } from "express";
import { requireAuth, requireOrg } from "../middleware/auth.js";
import * as service from "../services/analytics.js";
export const analyticsRouter = Router();
// Clinic analytics are readable by any member of the active clinic.
analyticsRouter.use(requireAuth, requireOrg);
analyticsRouter.get("/", async (req, res, next) => {
try {
res.json(await service.getAnalytics(req.organizationId!));
} catch (err) {
next(err);
}
});