Overview
The ETI (Ética de la Investigación) service manages ethics review processes for research projects:
- Comités - Ethics committees
- Memorias - Ethics reports and submissions
- Evaluaciones - Ethics evaluations and reviews
- Peticiones de Evaluación - Evaluation requests
Base URL: /comites, /memorias, /evaluaciones
Authentication
All endpoints require JWT authentication with ETI-specific permissions:
ETI-MEM-* - Memoria (report) permissions
ETI-EVC-* - Evaluacion permissions
ETI-ACT-* - Acta (minutes) permissions
Comités (Ethics Committees)
List Committees
curl -X GET "http://localhost:4280/comites" \
-H "Authorization: Bearer {token}"
Array of Comite objects
Committee code (e.g., “CEISH”, “CEEA”)
Get Committee by ID
curl -X GET "http://localhost:4280/comites/1" \
-H "Authorization: Bearer {token}"
Get Committee Memorias
curl -X GET "http://localhost:4280/comites/1/memorias-peticion-evaluacion/123" \
-H "Authorization: Bearer {token}"
Returns modifiable memorias for a specific evaluation request in a committee.
Required Permission: ETI-PEV-INV-C, ETI-PEV-INV-ER
Memorias (Ethics Reports)
List Memorias
curl -X GET "http://localhost:4280/memorias?q=estadoActual.id==1" \
-H "Authorization: Bearer {token}"
Get Memoria by ID
curl -X GET "http://localhost:4280/memorias/123" \
-H "Authorization: Bearer {token}"
Required Permission: ETI-MEM-INV-ER, ETI-MEM-V
Create Memoria
curl -X POST "http://localhost:4280/memorias" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"titulo": "Research Ethics Assessment",
"comite": {"id": 1},
"peticionEvaluacion": {"id": 456},
"requiereRetrospectiva": false
}'
Required Permission: ETI-MEM-INV-CR, ETI-MEM-INV-ER
Update Memoria
curl -X PUT "http://localhost:4280/memorias/123" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"titulo": "Updated Title"}'
Required Permission: ETI-MEM-INV-ER
Delete Memoria
curl -X DELETE "http://localhost:4280/memorias/123" \
-H "Authorization: Bearer {token}"
Deactivates (soft delete) the memoria.
Required Permission: ETI-MEM-INV-BR
Create Modified Memoria
curl -X POST "http://localhost:4280/memorias/123/crear-memoria-modificada" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"titulo": "Modified Version"}'
Creates a modified version based on an existing memoria.
Get Memoria Evaluations
curl -X GET "http://localhost:4280/memorias/123/evaluaciones-anteriores/789/1" \
-H "Authorization: Bearer {token}"
Returns previous evaluations for a memoria.
Get Memoria Documents
curl -X GET "http://localhost:4280/memorias/123/documentacion-inicial" \
-H "Authorization: Bearer {token}"
Returns initial documentation required for the memoria.
Get Current State
curl -X GET "http://localhost:4280/memorias/123/estado-actual" \
-H "Authorization: Bearer {token}"
Returns the current state of the memoria.
Evaluaciones (Evaluations)
List Evaluations
curl -X GET "http://localhost:4280/evaluaciones?q=activo==true" \
-H "Authorization: Bearer {token}"
Array of Evaluacion objects
Get Evaluation by ID
curl -X GET "http://localhost:4280/evaluaciones/789" \
-H "Authorization: Bearer {token}"
Required Permission: ETI-EVC-V, ETI-EVC-VR, ETI-EVC-INV-VR, etc.
Create Evaluation
curl -X POST "http://localhost:4280/evaluaciones" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"memoria": {"id": 123},
"convocatoriaReunion": {"id": 456},
"tipoEvaluacion": {"id": 1},
"esRevMinima": false
}'
Required Permission: ETI-EVC-C, ETI-EVC-E, ETI-CNV-C, ETI-CNV-E
Update Evaluation
curl -X PUT "http://localhost:4280/evaluaciones/789" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"dictamen": {"id": 2}}'
Required Permission: ETI-EVC-EVAL, ETI-CNV-E
Delete Evaluation
curl -X DELETE "http://localhost:4280/evaluaciones/789" \
-H "Authorization: Bearer {token}"
Deactivates the evaluation.
Required Permission: ETI-CNV-E
Get Evaluations by Meeting
curl -X GET "http://localhost:4280/evaluaciones/convocatoriareunion/456" \
-H "Authorization: Bearer {token}"
Returns all active evaluations for a committee meeting.
Required Permission: ETI-ACT-C, ETI-ACT-E, ETI-ACT-INV-ER, ETI-ACT-ER
curl -X GET "http://localhost:4280/evaluaciones/789/comentarios-evaluador" \
-H "Authorization: Bearer {token}"
Returns comments from evaluators for this evaluation.
Required Permission: ETI-EVC-EVAL, ETI-EVC-EVALR, ETI-EVC-INV-EVALR
curl -X GET "http://localhost:4280/evaluaciones/789/comentarios-gestor" \
-H "Authorization: Bearer {token}"
Returns comments from managers for this evaluation.
Required Permission: ETI-EVC-EVAL, ETI-PEV-INV-ER, ETI-EVC-EVALR
Common Patterns
All list endpoints support pagination:
Sort specification (e.g., numReferencia,desc)
Filtering
Use RSQL syntax in the q parameter:
q=activo==true;comite.id==1
q=estadoActual.nombre==COMPLETADA
q=titulo=like='Research*'
Paginated responses include: