Feature Overview¶
This page lists the main features of MedUX. Since MedUX is in pre-alpha, some features are partially implemented or planned.
Core Features¶
Patient Management¶
- Patient demographics (name, address, insurance, contact details)
- Patient search and listing
- Patient detail view with encounter history
Encounter Management¶
- Clinical encounters linked to patients
- Encounter documentation
Dashboard¶
- Customizable start page after login
- Extensible via
IDashboardSection— plugins can contribute widgets
Multi-Tenancy¶
- Multiple practices on a single installation
- Tenant-scoped data isolation
- Role-based tenant membership (admin, staff, etc.)
- Tenant switching for users with access to multiple tenants
User & Access Management¶
- Django-based authentication with extensible login form
- Role-based permissions per tenant
- User groups with configurable permissions
- Administration area for tenant-level user management
Scoped Settings¶
- Five-level configuration cascade: User > Device > Group > Tenant > Vendor
- Lockable settings (higher scopes can lock values for lower scopes)
- Plugin-contributed settings sections
Plugin System¶
- Install/remove features as independent Python packages
- Plugin discovery and registration via GDAPS
- Plugins can contribute: views, models, URLs, menus, settings, dashboard sections, administration screens, middleware, and more
Notification System¶
- Real-time notifications via WebSocket (Django Channels)
- In-app alerts
Employee Management¶
- Employee records linked to user accounts
- Working contracts and schedules
Wiki¶
- Built-in wiki plugin for internal practice documentation
UI / UX¶
- Modern admin theme based on Tabler.io (Bootstrap 5)
- Server-rendered HTML with HTMX for seamless interactivity — no JavaScript framework required
- Modal dialogs for CRUD operations
- Toast notifications for user feedback
- Responsive layout with sidebar, topbar, and offcanvas regions
- Command palette for quick access to actions
Technical Features¶
- Python 3.13+, Django 6.0+
- PostgreSQL for production, SQLite for development
- Django Channels for WebSocket support
- Internationalization (i18n) ready
- Pre-commit hooks for code quality (ruff)
- Comprehensive test setup with pytest