erp-clinicas/docs/08-epicas/EPIC-CL-004-consultas.md

278 lines
9.9 KiB
Markdown

# 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