Header
El header es el núcleo estructurado de un Dossier. Contiene los metadatos imprescindibles para identificar, clasificar, filtrar, auditar y aplicar flujos de trabajo sobre cada expediente dentro de ValerIA.
Propósito
- Identificación única (códigos internos + secuenciales humanos).
- Contexto funcional (tipo de dossier, estado, usuarios implicados).
- Control de acceso (propietario, asignados, grupos).
- Auditoría y trazabilidad (fechas, último actor).
- Soporte a automatizaciones y resúmenes.
Campos del Header
| Campo | Tipo | Obligatorio | Descripción | Notas |
|---|---|---|---|---|
code | string | No, lo crea el sistema si no existe | Identificador único interno del dossier (UUID prefijado). | Usado en rutas y referencias técnicas. |
scode | string | No, lo crea el sistema si no existe | Código secuencial corto y legible. | Ideal para comunicación humana. |
name | string | No (fallback a code) | Nombre descriptivo del dossier. | Editable. |
description | string | No | Texto ampliado opcional. | Útil para contexto rápido. |
owner | string (email) | No | Usuario responsable principal. | También replicado en who al crear. |
assignedto | string[] | No | Usuarios asignados operativamente. | Para reparto de trabajo. |
groups | string[] | No | Grupos con acceso ampliado. | Control lógico de visibilidad. |
filetype | string | No (recomendado) | Tipo funcional del dossier. | Activa flujos/esquemas dinámicos. |
status | string | No | Estado libre (ej: OPEN, ONHOLD, CLOSED). | Base para dashboards. |
active | boolean | No (default true) | Marca si participa en procesos activos. | Desactivar evita automatizaciones. |
created | Date | Auto | Fecha de creación. | Seteada por el sistema. |
updated | Date | Auto | Última modificación. | Refrescada en cada cambio. |
who | string (email) | Auto | Último usuario que modificó. | Auditoría rápida. |
Ejemplo de Definición (Esquema Simplificado)
"header": {
name: { type: String },
code: {
type: String,
required: true,
index: true,
default: () => `dc${uuid()}`
},
scode: {
type: String,
required: true,
index: true,
default: () => Comm.scode(global.scode++)
},
description: { type: String },
owner: { type: String, index: true },
assignedto: [{ type: String, index: true }],
groups: [{ type: String, index: true }],
filetype: { type: String, index: true },
status: { type: String },
active: { type: Boolean, default: true },
created: { type: Date, default: () => new Date() },
updated: { type: Date, default: () => new Date() },
who: { type: String }
}
Ejemplo de Instancia en Producción
{
"header": {
"code": "dc5d9f3d5e-21c4-4c5d-a91b-5a2d1b2e9f45",
"scode": "A0123",
"name": "Alta Cliente – ACME S.A.",
"description": "Onboarding corporativo completo (fase documentación).",
"owner": "abogado1@firma.com",
"assignedto": ["paralegal2@firma.com"],
"groups": ["fiscal", "mercantil"],
"filetype": "cliente",
"status": "OPEN",
"active": true,
"created": "2025-08-20T10:12:33.000Z",
"updated": "2025-08-26T08:04:11.000Z",
"who": "paralegal2@firma.com"
}
}
Buenas Prácticas
- Define siempre
filetypepara habilitar formularios y flujos dinámicos. - Usa
scodeen comunicación interna (reuniones, notas rápidas). - Mantén
statuscon un vocabulario corto y consensuado (evita “en proceso de revisión larga”). - Desactiva (
active: false) en lugar de borrar para conservar historia. - Actualiza
descriptionsolo si aporta valor contextual (no repitasname).
Errores Frecuentes a Evitar
| Situación | Problema | Recomendación |
|---|---|---|
No asignar filetype | Pérdida de formularios dinámicos | Asignarlo al crear. |
Abusar de status | Filtros ineficaces | Lista cerrada y documentada. |
No usar scode en soporte | Dificulta localizar el dossier | Integrar en todos los flujos humanos. |
| Borrar en vez de desactivar | Pérdida de trazabilidad | Usar active: false. |
Checklist de Creación
-
filetypecorrecto -
ownerdefinido -
assignedtoygroupsajustados -
statusinicial (ej: OPEN) -
nameclaro y breve -
descriptionsolo si añade contexto
Resumen
El header no es solo “metadata”: es la capa contractual entre la capa dinámica (filetype) y la capa operativa (workflows, seguridad y reporting). Dominarlo te permite explotar todo el potencial de ValerIA en automatización, visibilidad y control.
¿Sigues con file o pasamos a `economics