How marslanakram/healthdesksystem works
HealthDesk is an ASP.NET MVC application for healthcare administration and clinical workflows. Users browse or manage patients, doctors, departments, appointments, and prescriptions; appointment and prescription controllers call application services, which map domain data into DTOs. Administrators also manage users, roles, permissions, and audit history. The graph shows the principal MVC-to-service flow, the documented doctor-service/unit-of-work relationship, and database and identity setup. Other service-to-repository links are omitted where the sampled source did not establish their wiring.
Main entry points: PrescriptionController.cs Prescription workflows · AppointmentController.cs Appointment workflows · DoctorService.cs Doctor service · AppDbContext.cs Application database
Components 28
Web application
- Appointment workflows
HealthDesk.Web/Controllers/AppointmentController.cs - Prescription workflows
HealthDesk.Web/Controllers/PrescriptionController.cs - Doctor management
HealthDesk.Web/Controllers/DoctorController.cs - Dashboard
HealthDesk.Web/Controllers/DashboardController.cs - Patient management
HealthDesk.Web/Controllers/PatientController.cs - Department management
HealthDesk.Web/Controllers/DepartmentController.cs - Audit history
HealthDesk.Web/Areas/Admin/Controllers/AuditLogController.cs - Role permissions
HealthDesk.Web/Areas/Admin/Controllers/RoleManagementController.cs - User management
HealthDesk.Web/Areas/Admin/Controllers/UserManagementController.cs - Application startup
HealthDesk.Web/Program.cs
Application services
- Appointment service
HealthDesk.Application/Services/AppointmentService.cs - Prescription service
HealthDesk.Application/Services/PrescriptionService.cs - Doctor service
HealthDesk.Application/Services/DoctorService.cs - Patient service
HealthDesk.Application/Services/PatientService.cs - Department service
HealthDesk.Application/Services/DepartmentService.cs - Dashboard service
HealthDesk.Application/Services/DashboardService.cs - Audit service
HealthDesk.Application/Services/AuditService.cs - DTO mapping
HealthDesk.Application/Mappings/MappingProfile.cs - Unit of work
HealthDesk.Infrastructure/Repositories/UnitOfWork.cs
Domain model
- Clinical records
HealthDesk.Domain/Entities
Persistence
- Appointment queries
HealthDesk.Infrastructure/Repositories/AppointmentRepository.cs - Domain repositories
HealthDesk.Infrastructure/Repositories - Application database
HealthDesk.Infrastructure/Data/AppDbContext.cs
Identity and access
- Permission policies
HealthDesk.Infrastructure/Authorization/PermissionPolicyProvider.cs - Permission checks
HealthDesk.Infrastructure/Authorization/PermissionAuthorizationHandler.cs - Role and admin seeds
HealthDesk.Infrastructure/Seeds/DatabaseSeeder.cs - Identity store
HealthDesk.Infrastructure/Data/AppDbContext.cs
Other components
- Staff and patients
Connections 31
- Staff and patients → Appointment workflows: uses
- Staff and patients → Prescription workflows: uses
- Staff and patients → Doctor management: uses
- Staff and patients → Patient management: uses
- Staff and patients → Department management: uses
- Staff and patients → Dashboard: views
- Appointment workflows → Appointment service: calls
- Appointment workflows → Patient service: loads patients
- Appointment workflows → Doctor service: loads doctors
- Prescription workflows → Prescription service: calls
- Prescription workflows → Appointment service: checks appointment
- Prescription workflows → Doctor service: resolves doctor
- Prescription workflows → Patient service: resolves patient
- Doctor management → Doctor service: calls
- Doctor management → Department service: loads departments
- Patient management → Patient service: calls
- Department management → Department service: calls
- Dashboard → Dashboard service: calls
- Audit history → Audit service: calls
- Role permissions → Audit service: records changes
- Doctor service → Unit of work: uses
- Unit of work → Domain repositories: coordinates
- Appointment queries → Application database: queries
- Domain repositories → Application database: persists records
- Application database → Clinical records: stores
- Application startup → Application database: configures
- Application startup → Role and admin seeds: runs on startup
- Role and admin seeds → Identity store: seeds roles and users
- User management → Identity store: manages accounts
- Role permissions → Identity store: manages claims
- Permission policies → Permission checks: resolves requirements