> For the complete documentation index, see [llms.txt](https://saludplus.gitbook.io/saludplus/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://saludplus.gitbook.io/saludplus/modulos/chat-soporte.md).

# Chat-Soporte

Este módulo permite la gestión de conversaciones de chat en tiempo real entre usuarios/pacientes y agentes de soporte de la institución. Soporta creación de chats, envío de mensajes, historial de conversaciones, estados de escritura (typing), y configuración de SLA (Service Level Agreement) con horarios de oficina.

***

## Subtemas

### [Chat Activo](/saludplus/modulos/chat-soporte/chat-activo.md)

Consulta y gestión de conversaciones de chat activas.

### [Crear Chat](/saludplus/modulos/chat-soporte/crear-chat.md)

Creación de nuevas conversaciones de soporte.

### [Mensajes](/saludplus/modulos/chat-soporte/mensajes.md)

Gestión de mensajes dentro de una conversación.

### [Historial](/saludplus/modulos/chat-soporte/historial.md)

Consulta del historial de conversaciones pasadas.

### [Estado de Escritura](/saludplus/modulos/chat-soporte/estado-de-escritura.md)

Indicador en tiempo real de cuando un usuario está escribiendo.

### [Configuración SLA](/saludplus/modulos/chat-soporte/configuracion-sla.md)

Configuración de horarios de oficina, breaks de almuerzo y chats concurrentes por agente.

***

## Descripción Técnica

El módulo Chat-Soporte utiliza **MongoDB** para el almacenamiento de documentos:

* **ChatDocument**: Almacena la información de cada conversación
* **MessageDocument**: Almacena los mensajes individuales
* **TypingStatusDocument**: Registra el estado de escritura por usuario
* **SlaConfigDocument**: Configuración de SLA y horarios

### Estados del Chat

| Estado    | Descripción                     |
| --------- | ------------------------------- |
| `pending` | Chat creado, esperando atención |
| `open`    | Chat abierto, en curso          |
| `closed`  | Chat cerrado Finalizado         |

### Roles de Sender

| Rol       | Descripción                    |
| --------- | ------------------------------ |
| `patient` | Usuario/paciente               |
| `agent`   | Agente de soporte              |
| `system`  | Mensaje automático del sistema |
