MediCare EMR is a comprehensive Electronic Medical Record (EMR) system designed to digitize patient records, streamline clinical workflows, and ensure the security and privacy of medical data. Built with the modern MERN stack, it provides role-based access for healthcare professionals to manage patients, prescriptions, and lab results efficiently.
- Role-Based Access Control (RBAC): Secure access tailored for Doctors, Nurses, Pharmacists, and Administrators.
- Patient Management: Register, update, and track detailed patient histories and demographics.
- Digital Prescriptions: Create and manage electronic prescriptions linked directly to patient profiles.
- Laboratory Results Tracking: Seamlessly record and monitor patient lab test outcomes.
- Comprehensive Audit Trail: Built-in logging system to track all critical actions for accountability and compliance.
- Interactive Dashboards: Real-time metrics and data visualization using Recharts.
Frontend:
- React.js (Vite)
- TailwindCSS
- React Router DOM
- Axios
- Recharts
- Lucide React (Icons)
Backend:
- Node.js
- Express.js
- MongoDB & Mongoose
- JSON Web Tokens (JWT) for Authentication
- Bcrypt.js for Password Hashing
Before running the project locally, ensure you have the following installed:
-
Clone the repository:
git clone https://github.com/Darkrizer2705/Health-Care-Record-System.git cd Health-Care-Record-System -
Setup the Backend: Navigate to the backend directory and install dependencies:
cd backend npm installCreate a
.envfile in thebackenddirectory with the following variables:PORT=5000 MONGODB_URI=your_mongodb_connection_string JWT_SECRET=your_super_secret_jwt_key
-
Setup the Frontend: Open a new terminal, navigate to the frontend directory, and install dependencies:
cd frontend npm install
Start the Backend Server:
cd backend
npm run devThe server will start on http://localhost:5000.
Start the Frontend Development Server:
cd frontend
npm run devThe client will start on http://localhost:5173.
Health-Care-Record-System/
├── backend/ # Node.js/Express API
│ ├── config/ # Database and other configurations
│ ├── controllers/ # Route logic and handlers
│ ├── middleware/ # Authentication and authorization middleware
│ ├── models/ # Mongoose schemas (User, Patient, LabResult, etc.)
│ ├── routes/ # Express API routes
│ └── server.js # Entry point for backend
├── frontend/ # React/Vite Client
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── context/ # React Context for state management
│ │ ├── layouts/ # Dashboard layouts
│ │ ├── pages/ # Page components (Doctor, Patient, Login, etc.)
│ │ ├── services/ # API communication (Axios)
│ │ └── App.jsx # Root component
└── docs/ # Project documentation and presentation materials
- Passwords are encrypted using bcrypt.
- API endpoints are protected using JWT-based authentication.
- Unauthorized access is blocked by custom middleware.
- An internal audit log tracks data creation and modification.