Training and Certifications
This page documents the management of Community Worker training and certifications.
Architecture
┌─────────────────────────────────────────────────────────────────────────┐
│ TRAINING │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ Code: FORM-001 │ │
│ │ Title: Initial Cuidadoras Training │ │
│ │ Type: initial │ │
│ │ Duration: 5 days │ │
│ │ Mandatory: Yes │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌─────────────────────────────┼─────────────────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Certification│ │ Certification│ │ Certification│ │
│ │ Fatou Sane │ │ Mamadou D. │ │ Aminata B. │ │
│ │ Valid ✓ │ │ Expired │ │ In progress │ │
│ │ Grade: A │ │ Grade: B │ │ Grade: - │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
Training (CWFormation)
A training represents a training program available for Community Workers.
Data Model
| Field | Type | Description |
|---|---|---|
id | UUID | Unique identifier |
code | string | Unique training code |
titre | string | Training title |
description | text | Detailed description |
type | string | Training type |
dureeJours | int | Duration in days |
obligatoire | boolean | Mandatory training |
actif | boolean | Training available |
nbCertifies | int | Number of certified CWs (computed) |
createdAt | datetime | Creation date |
Training Types
| Type | Description |
|---|---|
initiale | Initial training for new CWs |
recyclage | Refresher training |
specialisation | Specialized training (GBV, nutrition, etc.) |
Certification (CWCertification)
A certification attests that a Community Worker has completed and validated a training.
Data Model
| Field | Type | Description |
|---|---|---|
id | UUID | Unique identifier |
communityWorker | object | Related CW |
formation | object | Related training |
statut | string | Certification status |
dateCertification | date | Certification date |
dateExpiration | date | Expiration date |
note | string | Grade obtained |
isValide | boolean | Certification valid (computed) |
isExpiree | boolean | Certification expired (computed) |
Certification Statuses
| Status | Description |
|---|---|
en_cours | Training in progress |
reussi | Training successfully completed |
echoue | Training not validated |
expiree | Certification expired |
API Endpoints
Training
| Endpoint | Method | Description |
|---|---|---|
/api/cw-formations | GET | List training programs |
/api/cw-formations | POST | Create a training |
/api/cw-formations/{id} | GET | Get training details |
/api/cw-formations/{id} | PUT | Update a training |
/api/cw-formations/{id} | DELETE | Delete a training |
CW Certifications
| Endpoint | Method | Description |
|---|---|---|
/api/community-workers/{id}/certifications | GET | List certifications |
List CW Certifications
Endpoint
GET /api/community-workers/{id}/certifications
Response
{
"success": true,
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"formation": {
"id": "...",
"code": "FORM-001",
"titre": "Initial Cuidadoras Training",
"type": "initiale"
},
"statut": "reussi",
"dateCertification": "2025-02-15",
"dateExpiration": "2027-02-15",
"note": "A",
"isValide": true,
"isExpiree": false
},
{
"id": "...",
"formation": {
"id": "...",
"code": "FORM-VBG",
"titre": "GBV Awareness",
"type": "specialisation"
},
"statut": "reussi",
"dateCertification": "2025-06-20",
"dateExpiration": "2026-06-20",
"note": "B",
"isValide": true,
"isExpiree": false
}
]
}
Create a Training
Endpoint
POST /api/cw-formations
Request Body
{
"code": "FORM-NUTRITION",
"titre": "Child Nutrition Training",
"description": "Training on nutritional best practices for children aged 0-5",
"type": "specialisation",
"dureeJours": 3,
"obligatoire": false,
"actif": true
}
Response (201 Created)
{
"success": true,
"data": {
"id": "...",
"code": "FORM-NUTRITION",
"titre": "Child Nutrition Training",
"description": "...",
"type": "specialisation",
"dureeJours": 3,
"obligatoire": false,
"actif": true,
"nbCertifies": 0
}
}
Certification Workflow
┌──────────┐ ┌─────────┐ ┌─────────┐
│ In prog │ --> │ Passed │ --> │ Expired │
└──────────┘ └─────────┘ └─────────┘
│ ▲
│ │
▼ │
┌──────────┐ (date passed)
│ Failed │
└──────────┘
- In progress: CW enrolled in training
- Passed: Training validated with grade
- Failed: Training not validated
- Expired: Expiration date passed (requires refresher)
Expiration Alert
The system automatically alerts when a certification is approaching expiration:
- 30 days before: Notification to CW and supervisor
- 7 days before: Urgent reminder
- Day of: Certification marked as expired
The prochaineCertificationExpire information is available in the Community Worker details.