# EPICA: EPIC-CL-004 - Consultas (Notas Médicas)

## Metadata

| Campo | Valor |
|-------|-------|
| **ID** | EPIC-CL-004 |
| **Nombre** | Consultas (Notas Médicas) |
| **Modulo** | consultas |
| **Fase** | Fase 1 - MVP |
| **Prioridad** | P0 (Critico) |
| **Estado** | Backlog |
| **Story Points** | 55 |
| **Sprint(s)** | Sprint 4-6 |

---

## Descripcion

Módulo 100% nuevo para documentación de consultas médicas. Incluye notas clínicas estructuradas (SOAP), signos vitales, diagnósticos con codificación CIE-10, planes de tratamiento, indicaciones y generación de documentos médicos.

---

## Objetivo de Negocio

- Documentación clínica completa
- Cumplimiento de NOM-004-SSA3-2012
- Agilizar consulta médica
- Historial clínico consultable
- Soporte para decisiones clínicas

---

## Historias de Usuario

| ID | Historia | Prioridad | SP | Estado |
|----|----------|-----------|-----|--------|
| US-CL004-001 | Como médico, quiero iniciar consulta desde cita agendada para documentar atención | P0 | 3 | Backlog |
| US-CL004-002 | Como enfermera, quiero registrar signos vitales antes de la consulta | P0 | 5 | Backlog |
| US-CL004-003 | Como médico, quiero documentar nota clínica en formato SOAP | P0 | 8 | Backlog |
| US-CL004-004 | Como médico, quiero registrar diagnósticos con código CIE-10 | P0 | 5 | Backlog |
| US-CL004-005 | Como médico, quiero ver historial de consultas previas del paciente | P0 | 3 | Backlog |
| US-CL004-006 | Como médico, quiero generar indicaciones médicas imprimibles | P0 | 3 | Backlog |
| US-CL004-007 | Como médico, quiero usar plantillas de notas para consultas frecuentes | P1 | 5 | Backlog |
| US-CL004-008 | Como médico, quiero dictar nota por voz (speech-to-text) | P2 | 8 | Backlog |
| US-CL004-009 | Como médico, quiero agregar antecedentes a la historia clínica | P0 | 5 | Backlog |
| US-CL004-010 | Como médico, quiero cerrar consulta y liberar consultorio | P0 | 2 | Backlog |
| US-CL004-011 | Como admin, quiero configurar plantillas de notas por especialidad | P1 | 3 | Backlog |
| US-CL004-012 | Como auditor, quiero ver log de cambios en notas clínicas | P0 | 5 | Backlog |

**Total Story Points:** 55 SP

---

## Formato SOAP

```
┌─────────────────────────────────────────────────────────┐
│              NOTA CLÍNICA - FORMATO SOAP                │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  S - SUBJETIVO (Lo que el paciente refiere)             │
│  ├── Motivo de consulta                                 │
│  ├── Historia de la enfermedad actual                   │
│  ├── Síntomas referidos                                 │
│  └── Evolución desde última visita                      │
│                                                         │
│  O - OBJETIVO (Lo que el médico observa/mide)           │
│  ├── Signos vitales                                     │
│  │   ├── T/A: 120/80 mmHg                               │
│  │   ├── FC: 72 lpm                                     │
│  │   ├── FR: 16 rpm                                     │
│  │   ├── Temp: 36.5°C                                   │
│  │   ├── Peso: 70 kg                                    │
│  │   ├── Talla: 170 cm                                  │
│  │   └── IMC: 24.2                                      │
│  ├── Exploración física                                 │
│  └── Resultados de estudios                             │
│                                                         │
│  A - ANÁLISIS (Diagnósticos)                            │
│  ├── Diagnóstico principal (CIE-10)                     │
│  ├── Diagnósticos secundarios                           │
│  └── Diagnósticos diferenciales                         │
│                                                         │
│  P - PLAN (Tratamiento)                                 │
│  ├── Medicamentos (→ Receta)                            │
│  ├── Estudios solicitados (→ Lab/Imagen)                │
│  ├── Indicaciones generales                             │
│  ├── Referencia a especialista                          │
│  └── Próxima cita                                       │
│                                                         │
└─────────────────────────────────────────────────────────┘
```

---

## Flujo de Consulta

```
┌─────────────┐
│  CHECK-IN   │  ← Paciente llega
└──────┬──────┘
       │
       ▼
┌─────────────┐
│SIGNOS VITAL │  ← Enfermera registra
└──────┬──────┘
       │
       ▼
┌─────────────┐
│ EN_CONSULTA │  ← Médico inicia
└──────┬──────┘
       │
       ├── Revisar historial
       ├── Documentar SOAP
       ├── Generar receta
       ├── Solicitar estudios
       │
       ▼
┌─────────────┐
│   CERRADA   │  ← Consulta finalizada
└──────┬──────┘
       │
       ▼
┌─────────────┐
│  FACTURAR   │  ← Proceso de cobro
└─────────────┘
```

---

## Criterios de Aceptacion de la Epica

**Funcionales:**
- [ ] Iniciar consulta desde cita
- [ ] Registrar signos vitales
- [ ] Documentar nota SOAP completa
- [ ] Codificar diagnósticos CIE-10
- [ ] Ver historial de consultas
- [ ] Generar indicaciones imprimibles
- [ ] Plantillas de notas
- [ ] Registro de antecedentes
- [ ] Auditoría de cambios

**No Funcionales:**
- [ ] Autoguardado cada 30 segundos
- [ ] Búsqueda de CIE-10 < 500ms
- [ ] Notas no editables después de cierre
- [ ] Cumplimiento NOM-004-SSA3-2012

**Tecnicos:**
- [ ] Catálogo CIE-10 integrado
- [ ] Editor de texto enriquecido
- [ ] Opcional: Speech-to-text
- [ ] Generación de PDFs

---

## Dependencias

**Esta epica depende de:**
| Epica/Modulo | Estado | Bloqueante |
|--------------|--------|------------|
| EPIC-CL-001 Fundamentos | Backlog | Si |
| EPIC-CL-002 Pacientes | Backlog | Si |
| EPIC-CL-003 Citas | Backlog | Si |

**Esta epica bloquea:**
| Epica/Modulo | Razon |
|--------------|-------|
| EPIC-CL-005 Recetas | Requiere consulta para prescribir |
| EPIC-CL-006 Laboratorio | Requiere consulta para solicitar |
| EPIC-CL-011 Expediente | Requiere notas clínicas |

---

## Desglose Tecnico

**Database:**
- [ ] Schema: `consultations`
- [ ] Tablas: 10 (consultations, vital_signs, diagnoses, treatments, indications, templates, medical_history, antecedents, note_versions, audit_log)
- [ ] Funciones: 3 (search_icd10, calculate_bmi, lock_consultation)
- [ ] Indices: Por paciente, médico, fecha, diagnóstico

**Backend:**
- [ ] Modulo: `consultations`
- [ ] Entities: 8 (Consultation, VitalSigns, Diagnosis, Treatment, Template, MedicalHistory, Antecedent, NoteVersion)
- [ ] Endpoints: 20
- [ ] Tests: 40

**Frontend:**
- [ ] Paginas: 5 (ConsultationRoom, VitalSignsForm, SOAPEditor, HistoryView, Templates)
- [ ] Componentes: 18 (SOAPSection, ICD10Search, VitalsWidget, HistoryTimeline, etc.)
- [ ] Editor WYSIWYG para notas
- [ ] Stores: 2 (consultationsStore, icd10Store)

---

## Endpoints API

| Metodo | Endpoint | Descripcion |
|--------|----------|-------------|
| POST | /api/consultations | Iniciar consulta |
| GET | /api/consultations/:id | Detalle de consulta |
| PATCH | /api/consultations/:id | Actualizar nota |
| POST | /api/consultations/:id/vitals | Registrar signos vitales |
| POST | /api/consultations/:id/diagnoses | Agregar diagnóstico |
| POST | /api/consultations/:id/close | Cerrar consulta |
| GET | /api/consultations/history/:patientId | Historial del paciente |
| GET | /api/icd10/search | Buscar código CIE-10 |
| GET | /api/templates | Listar plantillas |
| POST | /api/templates | Crear plantilla |

---

## Catálogo CIE-10

```
Ejemplos de códigos frecuentes:
├── J00 - Rinofaringitis aguda (resfriado común)
├── J06.9 - Infección aguda de las vías respiratorias
├── E11 - Diabetes mellitus tipo 2
├── I10 - Hipertensión esencial
├── K30 - Dispepsia funcional
├── M54.5 - Dolor lumbar
└── F32 - Episodio depresivo
```

---

## Riesgos

| Riesgo | Probabilidad | Impacto | Mitigacion |
|--------|--------------|---------|------------|
| Pérdida de notas | Baja | Alto | Autoguardado + versiones |
| Diagnóstico incorrecto | Media | Alto | Búsqueda asistida CIE-10 |
| Notas incompletas | Media | Medio | Validación antes de cerrar |

---

## Nota Técnica

Este módulo es **100% nuevo** y no tiene equivalente en el ERP-Core. Es específico para el sector salud y debe cumplir con las NOM mexicanas aplicables a expedientes clínicos electrónicos.

---

## Definition of Ready (DoR)

- [x] Historias de usuario definidas
- [x] Criterios de aceptacion claros
- [x] Dependencias identificadas
- [x] Estimacion completada
- [ ] Catálogo CIE-10 importado
- [ ] Plantillas iniciales definidas

## Definition of Done (DoD)

- [ ] Flujo completo de consulta
- [ ] Formato SOAP funcionando
- [ ] Búsqueda CIE-10 operativa
- [ ] Auditoría de cambios
- [ ] Tests de integración pasando
- [ ] Documentación de API

---

## Historial

| Fecha | Cambio | Autor |
|-------|--------|-------|
| 2025-12-08 | Creacion de epica | Claude-Agent |

---

**Creada por:** Claude-Agent
**Fecha:** 2025-12-08
**Ultima actualizacion:** 2025-12-08
