Refactor services
- StaffService
- (Provider)
- Staff
- StaffAttribute
- StaffAttributeType
- StaffTag
- QualificationService
- Certificate
- Education
- StaffCert
- PostService
- Assignment
- IscoCodes
- JobTitle
- Leave
- Post
- PostHistory
- TrainingService
- Training
- TrainingClass
- TrainPerson
- ReportingService
- Report
- ReportParameter
- CompetencyService
- Competency
- Evaluation
- StaffNote
- (TrainingCompetency)
Service Stack
User Views
Landing Page
Staff view (tab metaphor)/ HR Clerk Views
- Personal
- from Staff, Staff Attributes
- modal page for editing
- Post/Assignment
- from Post, PostHistory, Assignment
- modal pages for transactions
- Leave
- from PostHistory, Leave
- modal page for editing
- Education
- from Education
- modal page for editing
- Certification
- from Certification, StaffCert
- edit mode or modal page for editing
- Evaluation
- from Evaluation, Note
- modal page for editing evaluation
- modal page for editing note (like discipline except note type)
- Discipline
- from Note
- modal page for editing
- Injury (like discipline except note type)
- from Note
- modal page for editing
- Training
- from TrainPerson, TrainingCourse, Training
- modal page for editing
Management Functions/HR Manager Views
- Jobs
- Import/edit ISCO codes
- Add/edit/retire cadres
- Add/edit/retire job titles
- Posts and Leaves
- Add/close posts
- Add/retire leave types
- Training and competencies
- Add/edit/retire competencies
- Add/edit/retire trainings, training competencies
- Add/edit/retire training courses
- Qualifications
- Add/edit/retire certifications
Staff Training, Patient Education
- Same functionality, different target population and courses
- Find people in need of training
- Select (cadre, job title category, all)/cohort
- Select competency or training or all and start date
- Display people without competency or training since start date
- Mark people to be scheduled
- Find training class
- Select competency or training (remembered from find people)
- Display available training courses for selection
- Assign people to be scheduled to class
- Update training class assignments
- Add/drop
- Edit completion status
Report generation
- Start with existing report generation functionality
- Possibly add report retention and reprinting
Admin views
- Settings
- Settings (formerly global properties 1.8 and below), location tagging
- Add/edit available reports
Service-Level Permissions
- HR Manager
- Permissions to all the management functions listed above.
- HR Weak Clerk
- Add/Edit Assignment
- Add/Edit Post History
- Edit Staff
- Add/Edit Education
- Add/Edit Certification for Staff
- Add/Edit Evaluation
- Add/Edit Leaves
- Add/Edit Evaluation
- Add/Edit Discipline
- Add/Edit Injury
- Add/Edit Training
- HR Strong Clerk
- Add Post
- Add Job Title
- Add Staff
- Add Training and Competencies
- Add Certifications
- All HR Weak Clerk Permissions
Find the methods related to these in the currently existing services - HRService and HRManagerService. Once these services are refactored, it should be fairly easy to identify which service call carries what permission.