Responsibility Matrix
The responsibility matrix defines who can perform which actions on different system entities.
Concept
The PCH-SIG RACI matrix (Responsible, Accountable, Consulted, Informed) precisely defines:
- Who executes an action (R)
- Who approves an action (A)
- Who must be consulted (C)
- Who must be informed (I)
Accessing the matrix
- Go to Settings > Administration
- Click Responsibility Matrix
Matrix structure
Entities involved
| Entity | Description |
|---|---|
| Households | Household registration and validation |
| Beneficiaries | Beneficiary management |
| Cycles | Payment cycles |
| Payments | Individual payments |
| Documents | Identity documents |
Actions by entity
Households
| Action | Admin | Coordinator | Supervisor | Data Entry | Reader |
|---|---|---|---|---|---|
| Create | R,A | R | R | R | - |
| Modify | R,A | R | R | R | - |
| Validate | R,A | R,A | R,A | - | - |
| Delete | R,A | - | - | - | - |
| View | R | R | R | R | R |
Payment cycles
| Action | Admin | Coordinator | Transfer Spec. | RAF | Reader |
|---|---|---|---|---|---|
| Create | R,A | R | R | - | - |
| Generate payments | R,A | R | R | - | - |
| Validate level 1 | R,A | R,A | R,A | R,A | - |
| Validate level 2 | R,A | A | - | - | - |
| Export | R,A | R | R | R | - |
| View | R | R | R | R | R |
Payments
| Action | Admin | Coordinator | Transfer Spec. | RAF | Reader |
|---|---|---|---|---|---|
| Modify status | R,A | R | R | - | - |
| Validate | R,A | R,A | - | R,A | - |
| Cancel | R,A | R | - | - | - |
| View | R | R | R | R | R |
Matrix configuration
Via interface
- Select the entity to configure
- For each action, define authorized roles
- Check the corresponding boxes (R, A, C, I)
- Save
Configuration structure
{
"matrice": {
"menages": {
"create": {
"ROLE_ADMIN": ["R", "A"],
"ROLE_COORDINATEUR": ["R"],
"ROLE_DATA_ENTRY": ["R"]
},
"validate": {
"ROLE_ADMIN": ["R", "A"],
"ROLE_COORDINATEUR": ["R", "A"],
"ROLE_FIELD_SUPERVISOR": ["R", "A"]
},
"delete": {
"ROLE_ADMIN": ["R", "A"]
}
},
"cycles": {
"create": {
"ROLE_ADMIN": ["R", "A"],
"ROLE_TM_SPECIALIST": ["R"],
"ROLE_GESTIONNAIRE_PAIEMENT": ["R"]
},
"validate_level1": {
"ROLE_ADMIN": ["R", "A"],
"ROLE_TM_SPECIALIST": ["R", "A"]
},
"validate_level2": {
"ROLE_ADMIN": ["R", "A"],
"ROLE_RAF": ["R", "A"]
}
}
}
}
Validation levels
PCH-SIG supports multi-level validation for certain critical operations.
Payment validation
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Creation │────▶│ Validation L1 │────▶│ Validation L2 │
│(Transfer Spec.) │ │ (Coordinator) │ │ (RAF) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
▼
┌─────────────────┐
│ Export │
│(Transfer Spec.) │
└─────────────────┘
Configure levels
- Go to Settings > Responsibility Matrix
- Section Validation levels
- Define:
- Number of levels (1-3)
- Required roles per level
- Escalation delay (optional)
Geographic constraints
The matrix can be combined with geographic constraints.
Example: Regional supervisor
A supervisor can be limited to certain regions:
{
"user_id": 5,
"role": "ROLE_SUPERVISEUR",
"constraints": {
"regions": ["dakar", "thies"],
"secteurs": ["all"]
}
}
Configure constraints
- Go to Settings > Users
- Select the user
- Geographic scope tab
- Select authorized regions/sectors
Action audit
All actions are tracked with:
- User who performed the action
- Date and time
- Entity involved
- Action performed
- Before/after values
View audit
- Go to Settings > Audit
- Filter by:
- User
- Entity
- Action
- Period
Notifications
The matrix can trigger notifications for "Consulted" or "Informed" roles.
Notification types
| Type | Description |
|---|---|
| Email notification | |
| In-app | Application notification |
| Both | Email + in-app notification |
Configure notifications
- Go to Settings > Notifications
- For each action, define:
- Notified roles
- Notification type
- Message template
Best practices
Separation of duties principle
- The user who creates should not validate
- Final validation should be done by a higher hierarchical level
- Critical actions require dual validation
Documentation
- Document each role's responsibilities
- Train users on their permissions
- Review the matrix regularly
Security
- Limit administrators
- Audit sensitive actions
- Enable notifications for critical actions