How ri-ya-dutta/medcore-hms works
MedCore HMS is a hospital-management REST backend. Hospital staff and patients use authenticated API routes for accounts and administration, patient records, and appointments; clinical records, vitals, prescriptions, lab operations, and invoices are also represented in the backend. Routes apply authentication and role checks before controllers handle requests, while services implement domain operations against PostgreSQL. The README describes the clinical sequence as planned; the sampled code confirms the API modules, but not calls between those clinical stages.
Main entry points: db.js Database pool · app.js Express API · authController.js Account controller · adminRoutes.js Admin routes
Components 25
API and access
- Express API
server/src/app.js - Auth routes
server/src/routes/authRoutes.js - Authentication and roles
server/src/middleware/authMiddleware.js - Account controller
server/src/controllers/authController.js - Account service
server/src/services/authService.js - JWT utilities
server/src/utils/jwt.js - Admin routes
server/src/routes/adminRoutes.js - Admin controller
server/src/controllers/adminController.js - Admin service
server/src/services/adminService.js
People and scheduling
- Patient routes
server/src/routes/patientRoutes.js - Patient controller
server/src/controllers/patientController.js - Patient service
server/src/services/patientService.js - Appointment routes
server/src/routes/appointmentRoutes.js - Appointment controller
server/src/controllers/appointmentController.js - Appointment service
server/src/services/appointmentService.js
Clinical and billing
- Encounter controller
server/src/controllers/encounterController.js - Encounter service
server/src/services/encounterService.js - Vitals operations
server/src/services/vitalsService.js - Prescription operations
server/src/services/prescriptionService.js - Lab orders
server/src/services/labOrderService.js - Lab results
server/src/services/labResultService.js - Invoices and billing
server/src/services/invoiceService.js
Persistence
- Database pool
server/src/config/db.js - PostgreSQL
server/database/schema.sql
Other components
- Hospital users
Connections 30
- Hospital users → Express API: send requests
README.md - Express API → Auth routes: mounts
server/src/app.js - Express API → Admin routes: mounts
server/src/app.js - Express API → Patient routes: mounts
server/src/app.js - Express API → Appointment routes: mounts
server/src/app.js - Express API → Encounter controller: mounts encounter routes
server/src/app.js - Auth routes → Account controller: routes to
server/src/routes/authRoutes.js - Admin routes → Authentication and roles: guards with
server/src/routes/adminRoutes.js - Admin routes → Admin controller: routes to
server/src/routes/adminRoutes.js - Patient routes → Authentication and roles: guards with
server/src/routes/patientRoutes.js - Patient routes → Patient controller: routes to
server/src/routes/patientRoutes.js - Appointment routes → Authentication and roles: guards with
server/src/routes/appointmentRoutes.js - Appointment routes → Appointment controller: routes to
server/src/routes/appointmentRoutes.js - Account controller → Account service: calls
server/src/controllers/authController.js - Account controller → JWT utilities: creates tokens
server/src/controllers/authController.js - Admin controller → Admin service: calls
server/src/controllers/adminController.js - Patient controller → Patient service: calls
server/src/controllers/patientController.js - Appointment controller → Appointment service: calls
server/src/controllers/appointmentController.js - Encounter controller → Encounter service: calls
server/src/controllers/encounterController.js - Account service → Database pool: queries
server/src/services/authService.js - Admin service → Database pool: queries
server/src/services/adminService.js - Patient service → Database pool: queries
server/src/services/patientService.js - Appointment service → Database pool: queries
server/src/services/appointmentService.js - Encounter service → Database pool: queries
server/src/services/encounterService.js - Vitals operations → Database pool: queries
server/src/services/vitalsService.js - Prescription operations → Database pool: queries
server/src/services/prescriptionService.js - Lab orders → Database pool: queries
server/src/services/labOrderService.js - Lab results → Database pool: queries
server/src/services/labResultService.js - Invoices and billing → Database pool: queries
server/src/services/invoiceService.js - Database pool → PostgreSQL: connects to