Getting Started for Hospital IT Teams
This comprehensive guide will help IT administrators set up, configure, and maintain the Medfeed Medical Feedback AI platform.
System Overview
Medfeed consists of two main components:
- Backend API (bl-engine): Node.js/TypeScript server with Express.js
- Frontend App: Next.js React application with TypeScript
Prerequisites
System Requirements
- Node.js: v22.14.0 (backend) / v18+ (frontend)
- Database: MongoDB 6.x
- Cache: Redis 5.x+
- Storage: AWS S3 (for file uploads)
- Memory: 4GB RAM minimum, 8GB recommended
- Storage: 50GB minimum for application and logs
Required Services
- MongoDB database server
- Redis cache server
- SMTP server for email notifications
- AWS account for S3 storage
- SSL certificates for HTTPS
Installation Guide
1. Backend Setup (bl-engine)
Clone and Install
git clone <repository-url>
cd bl-engine
npm install
Environment Configuration
Create .env file with required variables:
NODE_ENV=production
PORT=3000
MONGODB_URI=mongodb://localhost:27017/medfeed
REDIS_URL=redis://localhost:6379
JWT_SECRET=your-jwt-secret-key
AWS_ACCESS_KEY_ID=your-aws-key
AWS_SECRET_ACCESS_KEY=your-aws-secret
S3_BUCKET_NAME=your-s3-bucket
SMTP_HOST=your-smtp-server
SMTP_PORT=587
SMTP_USER=your-smtp-username
SMTP_PASS=your-smtp-password
Database Setup
# Start MongoDB service
sudo systemctl start mongod
# Create database and collections
npm run build
npm start
Production Deployment
# Build application
npm run build
# Start with PM2
npm run deploy:prod
2. Frontend Setup (app)
Clone and Install
cd app
npm install
Environment Configuration
Create .env.local file:
NEXT_PUBLIC_API_URL=https://your-api-domain.com
MEDFEED_BE_HOST=https://your-api-domain.com
NEXTAUTH_SECRET=your-nextauth-secret
NEXTAUTH_URL=https://your-frontend-domain.com
Build and Deploy
# Build for production
npm run build
# Start production server
npm start
3. Docker Deployment (Recommended)
Backend Docker Setup
cd bl-engine
docker build -t medfeed-backend .
docker run -d -p 3000:3000 --env-file .env medfeed-backend
Frontend Docker Setup
cd app
docker build -t medfeed-frontend .
docker run -d -p 3001:3000 --env-file .env.local medfeed-frontend
Docker Compose
version: '3.8'
services:
backend:
build: ./bl-engine
ports:
- "3000:3000"
environment:
- NODE_ENV=production
depends_on:
- mongodb
- redis
frontend:
build: ./app
ports:
- "3001:3000"
depends_on:
- backend
mongodb:
image: mongo:6
ports:
- "27017:27017"
volumes:
- mongodb_data:/data/db
redis:
image: redis:7-alpine
ports:
- "6379:6379"
volumes:
mongodb_data:
Configuration
1. Database Configuration
MongoDB Setup
- Create dedicated database for Medfeed
- Set up proper indexes for performance
- Configure backup schedules
- Set up replica sets for high availability
Redis Configuration
- Configure memory limits
- Set up persistence if needed
- Configure clustering for scale
2. Security Configuration
SSL/TLS Setup
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private.key;
location / {
proxy_pass http://localhost:3001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location /api {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Firewall Rules
# Allow HTTP/HTTPS
sudo ufw allow 80
sudo ufw allow 443
# Allow SSH (restrict to admin IPs)
sudo ufw allow from YOUR_ADMIN_IP to any port 22
# Block direct access to application ports
sudo ufw deny 3000
sudo ufw deny 3001
3. User Management
Admin Account Setup
- Access the admin panel at
/admin - Create initial admin user
- Configure organization settings
- Set up departments and roles
Staff Invitation Process
- Navigate to User Management
- Send email invitations to staff
- Configure role-based permissions
- Monitor user activation status
Monitoring and Maintenance
1. Application Monitoring
Log Management
- Backend logs:
bl-engine/src/logs/ - Frontend logs: Check browser console and server logs
- Set up log rotation to prevent disk space issues
Health Checks
# Backend health check
curl http://localhost:3000/health
# Database connection check
curl http://localhost:3000/api/health/db
2. Performance Monitoring
Key Metrics to Monitor
- API response times
- Database query performance
- Memory and CPU usage
- Disk space utilization
- Active user sessions
Monitoring Tools
- Use PM2 for process monitoring
- Set up MongoDB monitoring
- Configure Redis monitoring
- Implement application performance monitoring (APM)
3. Backup and Recovery
Database Backups
# MongoDB backup
mongodump --host localhost:27017 --db medfeed --out /backup/mongodb/
# Automated backup script
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
mongodump --host localhost:27017 --db medfeed --out /backup/mongodb/$DATE/
File Backups
- S3 bucket backups (automatic with versioning)
- Application code backups
- Configuration file backups
Troubleshooting
Common Issues
Backend Issues
# Check application status
pm2 status
# View logs
pm2 logs medfeed-backend
# Restart application
pm2 restart medfeed-backend
Database Issues
# Check MongoDB status
sudo systemctl status mongod
# Check Redis status
sudo systemctl status redis
# Monitor connections
mongo --eval "db.serverStatus().connections"
Performance Issues
- Monitor memory usage:
htoporfree -h - Check disk space:
df -h - Monitor network:
netstat -tulpn
Support Escalation
- Level 1: Check logs and restart services
- Level 2: Database and infrastructure issues
- Level 3: Application code issues (contact development team)
Security Best Practices
1. Access Control
- Implement role-based access control (RBAC)
- Use strong password policies
- Enable two-factor authentication
- Regular access reviews
2. Data Protection
- Encrypt data at rest and in transit
- Regular security updates
- HIPAA compliance measures
- Audit logging
3. Network Security
- Use VPN for admin access
- Implement network segmentation
- Regular security scans
- Intrusion detection systems
Scaling Considerations
Horizontal Scaling
- Load balancer configuration
- Multiple backend instances
- Database clustering
- CDN for static assets
Vertical Scaling
- Increase server resources
- Optimize database queries
- Implement caching strategies
- Monitor resource utilization
For end-user guidance, refer to the Doctors/Nurses Guide.