Formations et Certifications
Fonctionnalite Desactivee
Cette fonctionnalite est temporairement desactivee dans l'interface utilisateur. Les endpoints API restent disponibles mais les onglets Formations sont masques dans la fiche Cuidadora.
Cette page documente la gestion des formations et certifications des Community Workers.
Architecture
┌─────────────────────────────────────────────────────────────────────────┐
│ FORMATION │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ Code: FORM-001 │ │
│ │ Titre: Formation initiale Cuidadoras │ │
│ │ Type: initiale │ │
│ │ Duree: 5 jours │ │
│ │ Obligatoire: Oui │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌─────────────────────────────┼─────────────────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Certification│ │ Certification│ │ Certification│ │
│ │ Fatou Sane │ │ Mamadou D. │ │ Aminata B. │ │
│ │ Valide ✓ │ │ Expiree │ │ En cours │ │
│ │ Note: A │ │ Note: B │ │ Note: - │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
Formation (CWFormation)
Une formation represente un programme de formation disponible pour les Community Workers.
Modele de donnees
| Champ | Type | Description |
|---|---|---|
id | UUID | Identifiant unique |
code | string | Code unique de la formation |
titre | string | Titre de la formation |
description | text | Description detaillee |
type | string | Type de formation |
dureeJours | int | Duree en jours |
obligatoire | boolean | Formation obligatoire |
actif | boolean | Formation disponible |
nbCertifies | int | Nombre de CW certifies (calcule) |
createdAt | datetime | Date de creation |
Types de formation
| Type | Description |
|---|---|
initiale | Formation initiale pour nouveaux CW |
recyclage | Formation de remise a niveau |
specialisation | Formation specialisee (VBG, nutrition, etc.) |
Certification (CWCertification)
Une certification atteste qu'un Community Worker a suivi et valide une formation.
Modele de donnees
| Champ | Type | Description |
|---|---|---|
id | UUID | Identifiant unique |
communityWorker | object | CW concerne |
formation | object | Formation concernee |
statut | string | Statut de la certification |
dateCertification | date | Date d'obtention |
dateExpiration | date | Date d'expiration |
note | string | Note obtenue |
isValide | boolean | Certification valide (calcule) |
isExpiree | boolean | Certification expiree (calcule) |
Statuts de certification
| Statut | Description |
|---|---|
en_cours | Formation en cours |
reussi | Formation validee avec succes |
echoue | Formation non validee |
expiree | Certification expiree |
Endpoints API
Formations
| Endpoint | Methode | Description |
|---|---|---|
/api/cw-formations | GET | Liste des formations |
/api/cw-formations | POST | Creer une formation |
/api/cw-formations/{id} | GET | Detail d'une formation |
/api/cw-formations/{id} | PUT | Modifier une formation |
/api/cw-formations/{id} | DELETE | Supprimer une formation |
Certifications d'un CW
| Endpoint | Methode | Description |
|---|---|---|
/api/community-workers/{id}/certifications | GET | Liste des certifications |
Liste des certifications d'un CW
Endpoint
GET /api/community-workers/{id}/certifications
Reponse
{
"success": true,
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"formation": {
"id": "...",
"code": "FORM-001",
"titre": "Formation initiale Cuidadoras",
"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": "Sensibilisation VBG",
"type": "specialisation"
},
"statut": "reussi",
"dateCertification": "2025-06-20",
"dateExpiration": "2026-06-20",
"note": "B",
"isValide": true,
"isExpiree": false
}
]
}
Creer une formation
Endpoint
POST /api/cw-formations
Corps de la requete
{
"code": "FORM-NUTRITION",
"titre": "Formation Nutrition Infantile",
"description": "Formation sur les bonnes pratiques nutritionnelles pour les enfants de 0-5 ans",
"type": "specialisation",
"dureeJours": 3,
"obligatoire": false,
"actif": true
}
Reponse (201 Created)
{
"success": true,
"data": {
"id": "...",
"code": "FORM-NUTRITION",
"titre": "Formation Nutrition Infantile",
"description": "...",
"type": "specialisation",
"dureeJours": 3,
"obligatoire": false,
"actif": true,
"nbCertifies": 0
}
}
Workflow de certification
┌──────────┐ ┌─────────┐ ┌─────────┐
│ En cours │ --> │ Reussi │ --> │ Expiree │
└──────────┘ └─────────┘ └─────────┘
│ ▲
│ │
▼ │
┌──────────┐ (date passee)
│ Echoue │
└──────────┘
- En cours : CW inscrit a la formation
- Reussi : Formation validee avec note
- Echoue : Formation non validee
- Expiree : Date d'expiration depassee (necessite recyclage)
Alerte expiration
Le systeme alerte automatiquement lorsqu'une certification approche de l'expiration :
- 30 jours avant : Notification au CW et superviseur
- 7 jours avant : Rappel urgent
- Jour J : Certification marquee comme expiree
L'information prochaineCertificationExpire est disponible dans le detail du Community Worker.