Skip to main content

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​

FieldTypeDescription
idUUIDUnique identifier
codestringUnique training code
titrestringTraining title
descriptiontextDetailed description
typestringTraining type
dureeJoursintDuration in days
obligatoirebooleanMandatory training
actifbooleanTraining available
nbCertifiesintNumber of certified CWs (computed)
createdAtdatetimeCreation date

Training Types​

TypeDescription
initialeInitial training for new CWs
recyclageRefresher training
specialisationSpecialized training (GBV, nutrition, etc.)

Certification (CWCertification)​

A certification attests that a Community Worker has completed and validated a training.

Data Model​

FieldTypeDescription
idUUIDUnique identifier
communityWorkerobjectRelated CW
formationobjectRelated training
statutstringCertification status
dateCertificationdateCertification date
dateExpirationdateExpiration date
notestringGrade obtained
isValidebooleanCertification valid (computed)
isExpireebooleanCertification expired (computed)

Certification Statuses​

StatusDescription
en_coursTraining in progress
reussiTraining successfully completed
echoueTraining not validated
expireeCertification expired

API Endpoints​

Training​

EndpointMethodDescription
/api/cw-formationsGETList training programs
/api/cw-formationsPOSTCreate a training
/api/cw-formations/{id}GETGet training details
/api/cw-formations/{id}PUTUpdate a training
/api/cw-formations/{id}DELETEDelete a training

CW Certifications​

EndpointMethodDescription
/api/community-workers/{id}/certificationsGETList 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 │
└──────────┘
  1. In progress: CW enrolled in training
  2. Passed: Training validated with grade
  3. Failed: Training not validated
  4. 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.