Skip to main content

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}"
q
string
RSQL filter query
content
array
Array of Comite objects

Get Committee by ID

curl -X GET "http://localhost:4280/comites/1" \
  -H "Authorization: Bearer {token}"
id
long
required
Committee identifier

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}"
q
string
RSQL filter query
content
array
Array of Memoria objects

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}"
content
array
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

Get Evaluation Comments

Get Evaluator Comments

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

Get Manager Comments

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

Pagination

All list endpoints support pagination:
page
integer
default:"0"
Page number (zero-based)
size
integer
default:"10"
Number of items per page
sort
string
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*'

Response Format

Paginated responses include:
content
array
Array of result objects
pageable
object
Pagination metadata
totalElements
long
Total number of elements
totalPages
integer
Total number of pages
size
integer
Page size
number
integer
Current page number

Build docs developers (and LLMs) love