Evaluations
This page documents the Community Worker evaluation system.
Overview
Evaluations measure Community Worker performance against defined criteria. They are conducted periodically by supervisors.
Data Model (CWEvaluation)
| Field | Type | Description |
|---|---|---|
id | UUID | Unique identifier |
communityWorker | object | Evaluated CW |
periode | string | Evaluation period (e.g., "Q1 2026") |
dateEvaluation | date | Evaluation date |
noteGlobale | string | Overall grade (A, B, C, D, E) |
mention | string | Associated rating |
criteres | object | Scores by criterion |
pointsForts | text | Identified strengths |
axesAmelioration | text | Areas for improvement |
statut | string | Evaluation status |
evaluateur | object | Evaluator user |
Grades and Ratings
| Grade | Rating | Description |
|---|---|---|
| A | Excellent | Exceptional performance |
| B | Very Good | Performance above expectations |
| C | Good | Performance meets expectations |
| D | Needs Improvement | Performance below expectations |
| E | Insufficient | Insufficient performance |
Evaluation Criteria
Criteria are configured according to program needs. Example:
| Criterion | Weight | Description |
|---|---|---|
ponctualite | 15% | Respect for schedules and deadlines |
qualite_rapports | 25% | Quality of submitted reports |
couverture_zone | 20% | Coverage of assigned zone |
relation_communaute | 20% | Community relations |
competences_techniques | 20% | Mastery of tools and procedures |
Evaluation Statuses
| Status | Description |
|---|---|
brouillon | Evaluation being drafted |
soumise | Evaluation submitted for approval |
approuvee | Evaluation approved |
contestee | Evaluation contested by CW |
API Endpoints
| Endpoint | Method | Description |
|---|---|---|
/api/cw-evaluations | GET | List evaluations |
/api/cw-evaluations | POST | Create an evaluation |
/api/cw-evaluations/{id} | GET | Get evaluation details |
/api/cw-evaluations/{id} | PUT | Update an evaluation |
/api/cw-evaluations/{id}/approuver | POST | Approve evaluation |
/api/community-workers/{id}/evaluations | GET | Evaluations for a CW |
List CW Evaluations
Endpoint
GET /api/community-workers/{id}/evaluations
Response
{
"success": true,
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"periode": "Q1 2026",
"noteGlobale": "A",
"mention": "Excellent",
"criteres": {
"ponctualite": 18,
"qualite_rapports": 24,
"couverture_zone": 19,
"relation_communaute": 20,
"competences_techniques": 18
},
"pointsForts": "Very good community relations. Detailed and well-documented reports.",
"axesAmelioration": "Improve coverage of remote areas.",
"statut": "approuvee",
"dateEvaluation": "2026-03-31",
"evaluateur": "Regional Supervisor"
},
{
"id": "...",
"periode": "Q4 2025",
"noteGlobale": "B",
"mention": "Very Good",
"statut": "approuvee",
"dateEvaluation": "2025-12-31",
"evaluateur": "Regional Supervisor"
}
]
}
Create an Evaluation
Endpoint
POST /api/cw-evaluations
Request Body
{
"communityWorkerId": "550e8400-e29b-41d4-a716-446655440000",
"periode": "Q2 2026",
"dateEvaluation": "2026-06-30",
"criteres": {
"ponctualite": 17,
"qualite_rapports": 22,
"couverture_zone": 18,
"relation_communaute": 19,
"competences_techniques": 17
},
"pointsForts": "Notable improvement in report quality since last evaluation.",
"axesAmelioration": "Continue developing technical skills on digital tools."
}
Overall Grade Calculation
The overall grade is automatically calculated from the criteria:
Total Score = Sum(criterion * weight)
Grade = A if >= 90, B if >= 80, C if >= 70, D if >= 60, E otherwise
Response (201 Created)
{
"success": true,
"data": {
"id": "...",
"periode": "Q2 2026",
"noteGlobale": "B",
"mention": "Very Good",
"statut": "brouillon",
"scoreTotal": 93
},
"message": "Evaluation created"
}
Performance Evolution
The system tracks performance evolution over time:
Performance
│
A ──┼──────────*─────────*
│ ╱
B ──┼────────*
│ ╱
C ──┼──────*
│
└──────────────────────────> Time
Q4 Q1 Q2
2025 2026 2026
The Community Worker details include:
derniereNote: Grade from last evaluationderniereEvaluation: Date of last evaluationjoursDepuisDerniereEvaluation: Days since last evaluation
Automatic Recommendations
The system can generate recommendations based on evaluations:
| Situation | Recommendation |
|---|---|
| Repeated D or E grade | Refresher training |
| Grade drop (A -> C) | Meeting with supervisor |
| Maintained A grade | Eligibility for supervisor promotion |
| > 180 days without evaluation | Evaluation reminder |
History and Traceability
Each evaluation retains:
- Evaluator identity
- Exact evaluation date
- Modification history (via audit trail)
- Comments and any contestations