This guide explains what each interface does and which users have access to each one.
1. Impact Dashboard (http://localhost:3000)
Purpose: Analytics, reporting, and impact tracking for healthcare providers and administrators What it does:
- View patient outcomes and treatment effectiveness
- Generate reports on clinical data
- Track key performance indicators
- Analyze treatment impact metrics
Access Requirement: user.staff must be true
Current Users with Access:
- ✅ provider1@example.com / Secret (Staff role)
- ✅ provider2@example.com / Secret (Staff role)
- ✅ medicalassistant@example.com / Secret (Staff role)
2. Super Admin (http://localhost:3001)
Purpose: Administrative interface for system management and user administration What it does:
- Manage user accounts and permissions
- Configure system settings
- Access administrative functions
- Oversee all system operations
Access Requirement: user.superAdmin must be true
Current Users with Access:
- ✅ provider1@example.com / Secret (SuperAdmin role)
3. Patient Portal (http://localhost:3002)
Purpose: Patient-facing interface for personal health information and interactions What it does:
- View personal health records
- Complete surveys and assessments
- Access study information
- Communicate with care team
Access Requirement: user.patient must be true
Current Users with Access:
- ✅ patient1@example.com / Secret (Patient role)
- ✅ patient2@example.com / Secret (Patient role)
4. Access Management (http://localhost:3003)
Purpose: User permission and access control management What it does:
- Manage user roles and permissions
- Control access to different system areas
- Assign and modify user capabilities
Access Requirement: user.accessUser must be true
Current Users with Access:
- ✅ provider3@example.com / Secret (AccessUser role)
| User | Password | Role | Can Access |
|---|---|---|---|
| provider1@example.com | Secret | SuperAdmin | Super Admin (3001), Impact Dashboard (3000) |
| provider2@example.com | Secret | Staff | Impact Dashboard (3000) |
| medicalassistant@example.com | Secret | Staff | Impact Dashboard (3000) |
| provider3@example.com | Secret | AccessUser | Access Management (3003) |
| patient1@example.com | Secret | Patient | Patient Portal (3002) |
| patient2@example.com | Secret | Patient | Patient Portal (3002) |
| User | Password | Role | Issue |
|---|---|---|---|
| provider4@example.com | Secret | None | No role assigned |
| patient3@example.com | Secret | None | No role assigned |
| patient4@example.com | Secret | None | No role assigned |
- Use: provider1@example.com / Secret at http://localhost:3000
- This user has Staff role and can access analytics and reporting
- Use: patient1@example.com / Secret at http://localhost:3002
- This user has Patient role and can access patient features
- Use: provider1@example.com / Secret at http://localhost:3001
- This user has SuperAdmin role and can access administrative functions
- Use: provider3@example.com / Secret at http://localhost:3003
- This user has AccessUser role and can manage permissions
If you need to grant access to other interfaces:
docker-compose exec backend rails runner "user = User.find_by(email: 'EMAIL'); user.vp_authn_roles = ['SuperAdmin']; user.save!"docker-compose exec backend rails runner "user = User.find_by(email: 'EMAIL'); user.vp_authn_roles = ['AccessUser']; user.save!"docker-compose exec backend rails runner "user = User.find_by(email: 'EMAIL'); user.vp_authn_roles = ['Staff', 'SuperAdmin']; user.save!"- Impact Dashboard: 3 users with access (Staff/SuperAdmin roles)
- Super Admin: 1 user with access (SuperAdmin role)
- Patient Portal: 2 users with access (Patient role)
- Access Management: 1 user with access (AccessUser role)
All interfaces now have users with appropriate access for testing!