Empowering Ethiopia's healthcare system with secure, accessible medical records
A comprehensive healthcare management platform for Ethiopia, providing centralized medical records, patient portals, and healthcare provider tools.
Ethiopia’s healthcare system struggles with:
- Fragmented patient records across hospitals.
- No centralized system to access medical history.
- Identity verification challenges during emergencies.
MedFayda solves this by:
- Fayda ID authentication (OIDC integration) for secure login.
- Unified health records linked to Fayda IDs.
- Real-time access for doctors with patient consent.
- SMS fallback for areas with poor internet.
- faster diagnosis with instant record access.
- Reduced duplicate tests, saving costs.
- Secure, nationwide scalability via Fayda.
- Primary identity verification (government-backed trust).
- OIDC integration for seamless authentication.
- Compliance with national digital ID standards.
- Fayda ID Integration - Secure authentication using Ethiopia's national ID system
- SMS Authentication - Alternative login method for accessibility
- Medical Records - Complete health history with lab results, medications, and treatments
- Appointment Management - Schedule and manage healthcare appointments
- Medication Tracking - Track prescriptions and medication reminders
- Profile Management - Update personal and emergency contact information
- Professional Authentication - License-based secure access
- Patient Lookup - FIN-based centralized patient record access
- Medical Record Creation - Add new consultations, treatments, and diagnoses
- Cross-Hospital Access - View patient records from any participating health center
- Node.js 18.0.0 or higher
- PostgreSQL 15 or higher (optional - works with mock data)
- npm 8.0.0 or higher
-
Clone the repository
git clone https://github.com/your-org/medfayda.git cd medfayda -
Setup Backend
cd backend npm install npm run dev -
Setup Frontend (in a new terminal)
cd frontend npm install npm run dev -
Access the application
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
MedFayda/
├── 📁 backend/ # Node.js/Express API server
│ ├── 📁 config/ # Database and app configuration
│ ├── 📁 middleware/ # Express middleware
│ ├── 📁 models/ # Database models (Sequelize)
│ ├── 📁 routes/ # API routes
│ ├── 📁 services/ # Business logic services
│ └── server.js # Main server file
│
├── 📁 frontend/ # Next.js React application
│ ├── 📁 src/app/ # Next.js app directory
│ ├── 📁 public/ # Static assets
│ └── package.json # Frontend dependencies
│
└── README.md # This file
- Fayda ID Login: Automatic mock authentication
- SMS Login: Any phone number + any 6-digit OTP
- License:
MD001| Hospital:HC001| Password:doctor123 - License:
MD002| Hospital:HC002| Password:doctor123
FIN1753873082364- Mock UserSMS911234567- SMS UserDOC001234567- Test Patient
Backend:
- Node.js with Express.js
- PostgreSQL with Sequelize ORM
- JWT authentication
- Security middleware (Helmet, CORS, Rate limiting)
Frontend:
- Next.js 14 with App Router
- React 18 with modern hooks
- Tailwind CSS for styling
- Responsive design for all devices
# Backend development
cd backend
npm run dev
# Frontend development
cd frontend
npm run dev
# Build for production
cd backend && npm run build
cd frontend && npm run build- Government-grade security standards
- Fayda ID integration for national authentication
- JWT tokens with secure expiration
- Rate limiting to prevent abuse
- CORS protection for cross-origin requests
- Input validation and sanitization
- Ministry of Health API compatibility
- Health Centers Registry integration
- Ethiopian regions and cities support
- Local healthcare standards compliance
- Natnael Darsema
- Kidus Paulos
- Foziya Fetudin
natnaeldarsema@gmail.com
pauloskidus48@gmail.com
MIT License - Built with ❤️ for Ethiopia's healthcare future 🇪🇹