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.