# EPICA: EPIC-CL-002 - Pacientes

## Metadata

| Campo | Valor |
|-------|-------|
| **ID** | EPIC-CL-002 |
| **Nombre** | Pacientes |
| **Modulo** | pacientes |
| **Fase** | Fase 1 - MVP |
| **Prioridad** | P0 (Critico) |
| **Estado** | Backlog |
| **Story Points** | 38 |
| **Sprint(s)** | Sprint 2-3 |

---

## Descripcion

Registro y gestión integral de pacientes. Incluye datos demográficos, datos de contacto, información de seguros médicos, contactos de emergencia, consentimientos informados y portal de acceso para pacientes.

---

## Objetivo de Negocio

- Expediente único del paciente
- Cumplimiento de NOM-024-SSA3-2012
- Agilizar proceso de registro
- Datos actualizados y accesibles
- Comunicación efectiva con pacientes

---

## Historias de Usuario

| ID | Historia | Prioridad | SP | Estado |
|----|----------|-----------|-----|--------|
| US-CL002-001 | Como recepcionista, quiero registrar paciente nuevo con datos mínimos para agilizar primera cita | P0 | 5 | Backlog |
| US-CL002-002 | Como recepcionista, quiero buscar paciente por nombre, teléfono o CURP para consultar expediente | P0 | 3 | Backlog |
| US-CL002-003 | Como recepcionista, quiero registrar datos de seguro médico del paciente para facturación | P0 | 3 | Backlog |
| US-CL002-004 | Como recepcionista, quiero registrar contactos de emergencia del paciente | P0 | 2 | Backlog |
| US-CL002-005 | Como paciente, quiero firmar consentimiento informado digitalmente para autorizar tratamientos | P0 | 5 | Backlog |
| US-CL002-006 | Como médico, quiero ver ficha completa del paciente antes de la consulta | P0 | 3 | Backlog |
| US-CL002-007 | Como paciente, quiero acceder a mi portal para ver citas e historial | P1 | 8 | Backlog |
| US-CL002-008 | Como admin, quiero configurar campos obligatorios según tipo de paciente | P1 | 3 | Backlog |
| US-CL002-009 | Como recepcionista, quiero registrar datos del menor y de su tutor | P0 | 3 | Backlog |
| US-CL002-010 | Como admin, quiero fusionar expedientes duplicados preservando historial | P2 | 3 | Backlog |

**Total Story Points:** 38 SP

---

## Datos del Paciente

```
┌─────────────────────────────────────────────────────────┐
│              EXPEDIENTE DEL PACIENTE                    │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  DATOS PERSONALES                                       │
│  ├── Nombre completo                                    │
│  ├── Fecha de nacimiento / Edad                         │
│  ├── Sexo                                               │
│  ├── CURP                                               │
│  ├── Estado civil                                       │
│  ├── Ocupación                                          │
│  └── Escolaridad                                        │
│                                                         │
│  CONTACTO                                               │
│  ├── Teléfono principal                                 │
│  ├── Teléfono alternativo                               │
│  ├── Email                                              │
│  ├── Dirección completa                                 │
│  └── Preferencia de contacto                            │
│                                                         │
│  EMERGENCIA                                             │
│  ├── Nombre del contacto                                │
│  ├── Parentesco                                         │
│  └── Teléfono                                           │
│                                                         │
│  SEGURO MÉDICO                                          │
│  ├── Aseguradora                                        │
│  ├── Número de póliza                                   │
│  ├── Vigencia                                           │
│  └── Tipo de cobertura                                  │
│                                                         │
│  MENORES DE EDAD                                        │
│  ├── Datos del tutor/responsable                        │
│  ├── Parentesco                                         │
│  └── Identificación del tutor                           │
│                                                         │
└─────────────────────────────────────────────────────────┘
```

---

## Consentimiento Informado Digital

```
┌─────────────────────────────────────────────────────────┐
│              CONSENTIMIENTO INFORMADO                   │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  TIPOS DE CONSENTIMIENTO                                │
│  ├── General (tratamientos y procedimientos)            │
│  ├── Específico por procedimiento                       │
│  ├── Menores (firma del tutor)                          │
│  └── Tratamiento de datos personales (LFPDPPP)          │
│                                                         │
│  ELEMENTOS                                              │
│  ├── Texto del consentimiento                           │
│  ├── Firma digital del paciente                         │
│  ├── Fecha y hora de firma                              │
│  ├── IP y dispositivo                                   │
│  └── PDF generado y almacenado                          │
│                                                         │
│  VALIDEZ                                                │
│  ├── Vigencia configurable                              │
│  ├── Renovación automática                              │
│  └── Revocación por el paciente                         │
│                                                         │
└─────────────────────────────────────────────────────────┘
```

---

## Criterios de Aceptacion de la Epica

**Funcionales:**
- [ ] Registro de paciente con validación de datos
- [ ] Búsqueda por múltiples criterios
- [ ] Registro de datos de seguro
- [ ] Contactos de emergencia
- [ ] Consentimiento informado digital
- [ ] Ficha completa del paciente
- [ ] Portal del paciente
- [ ] Manejo de menores con tutor

**No Funcionales:**
- [ ] Búsqueda < 1 segundo
- [ ] Encriptación de datos sensibles
- [ ] Cumplimiento NOM-024-SSA3-2012
- [ ] Auditoría de accesos

**Tecnicos:**
- [ ] Validación de CURP
- [ ] Firma digital integrada
- [ ] Encriptación AES-256 para datos sensibles
- [ ] Portal web para pacientes

---

## Dependencias

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

**Esta epica bloquea:**
| Epica/Modulo | Razon |
|--------------|-------|
| EPIC-CL-003 Citas | Requiere pacientes registrados |
| EPIC-CL-004 Consultas | Requiere datos del paciente |
| EPIC-CL-011 Expediente | Requiere pacientes |

---

## Desglose Tecnico

**Database:**
- [ ] Schema: `patients`
- [ ] Tablas: 7 (patients, emergency_contacts, insurance_info, consents, consent_signatures, minors, patient_merge_log)
- [ ] Funciones: 2 (validate_curp, encrypt_sensitive)
- [ ] Indices: Por CURP, teléfono, nombre, fecha nacimiento

**Backend:**
- [ ] Modulo: `patients`
- [ ] Entities: 5 (Patient, EmergencyContact, InsuranceInfo, Consent, ConsentSignature)
- [ ] Endpoints: 15
- [ ] Tests: 30

**Frontend:**
- [ ] Paginas: 5 (PatientList, PatientForm, PatientDetail, ConsentSign, PatientPortal)
- [ ] Componentes: 12 (PatientCard, SearchBar, ConsentModal, SignaturePad, etc.)
- [ ] Portal del paciente (separado)
- [ ] Stores: 1 (patientsStore)

---

## Endpoints API

| Metodo | Endpoint | Descripcion |
|--------|----------|-------------|
| POST | /api/patients | Registrar paciente |
| GET | /api/patients/search | Buscar pacientes |
| GET | /api/patients/:id | Detalle de paciente |
| PATCH | /api/patients/:id | Actualizar paciente |
| POST | /api/patients/:id/insurance | Agregar seguro |
| POST | /api/patients/:id/emergency-contacts | Agregar contacto |
| POST | /api/patients/:id/consents/:consentId/sign | Firmar consentimiento |
| GET | /api/patients/:id/consents | Ver consentimientos |
| POST | /api/patients/merge | Fusionar expedientes |

---

## Riesgos

| Riesgo | Probabilidad | Impacto | Mitigacion |
|--------|--------------|---------|------------|
| Datos duplicados | Alta | Medio | Validación de CURP + alertas |
| Fuga de datos sensibles | Baja | Alto | Encriptación + auditoría |
| Consentimiento inválido | Baja | Alto | Firma digital con evidencia |

---

## Definition of Ready (DoR)

- [x] Historias de usuario definidas
- [x] Criterios de aceptacion claros
- [x] Dependencias identificadas
- [x] Estimacion completada
- [ ] Textos de consentimiento aprobados
- [ ] Campos obligatorios por regulación definidos

## Definition of Done (DoD)

- [ ] Registro completo de pacientes
- [ ] Búsqueda multi-criterio funcionando
- [ ] Consentimiento digital operativo
- [ ] Datos sensibles encriptados
- [ ] 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
