GSOC 2012 Refactoring

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 from platform 1.8 downwards), 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.