# EPICA: EPIC-CL-007 - Farmacia ## Metadata | Campo | Valor | |-------|-------| | **ID** | EPIC-CL-007 | | **Nombre** | Farmacia | | **Modulo** | farmacia | | **Fase** | Fase 1 - MVP | | **Prioridad** | P1 (Alto) | | **Estado** | Backlog | | **Story Points** | 40 | | **Sprint(s)** | Sprint 7-8 | --- ## Descripcion Gestión de farmacia clínica. Control de inventario de medicamentos, surtido de recetas, dispensación, control de caducidades, medicamentos controlados y punto de venta de farmacia. --- ## Objetivo de Negocio - Control de inventario de medicamentos - Surtido rápido de recetas - Evitar merma por caducidad - Cumplimiento de medicamentos controlados - Rentabilidad de farmacia --- ## Historias de Usuario | ID | Historia | Prioridad | SP | Estado | |----|----------|-----------|-----|--------| | US-CL007-001 | Como farmacéutico, quiero ver recetas pendientes de surtir | P0 | 3 | Backlog | | US-CL007-002 | Como farmacéutico, quiero verificar stock antes de surtir | P0 | 3 | Backlog | | US-CL007-003 | Como farmacéutico, quiero dispensar medicamentos registrando lote | P0 | 5 | Backlog | | US-CL007-004 | Como farmacéutico, quiero cobrar la receta surtida | P0 | 5 | Backlog | | US-CL007-005 | Como farmacéutico, quiero recibir mercancía de proveedor | P0 | 5 | Backlog | | US-CL007-006 | Como farmacéutico, quiero ver alertas de medicamentos próximos a caducar | P0 | 3 | Backlog | | US-CL007-007 | Como farmacéutico, quiero registrar salidas de medicamentos controlados | P0 | 5 | Backlog | | US-CL007-008 | Como admin, quiero ver reporte de ventas de farmacia | P1 | 3 | Backlog | | US-CL007-009 | Como admin, quiero realizar inventario físico de medicamentos | P1 | 5 | Backlog | | US-CL007-010 | Como admin, quiero configurar márgenes de ganancia por categoría | P2 | 3 | Backlog | **Total Story Points:** 40 SP --- ## Flujo de Dispensación ``` ┌─────────────┐ │ RECETA │ ← Receta electrónica del médico └──────┬──────┘ │ ▼ ┌─────────────┐ │ VERIFICAR │ ← Verificar stock disponible │ STOCK │ └──────┬──────┘ │ ├── No hay stock ──► Notificar faltante │ ▼ ┌─────────────┐ │ PREPARAR │ ← Tomar medicamentos de anaquel └──────┬──────┘ │ ▼ ┌─────────────┐ │ VERIFICAR │ ← Doble chequeo └──────┬──────┘ │ ▼ ┌─────────────┐ │ COBRAR │ ← Proceso de pago └──────┬──────┘ │ ▼ ┌─────────────┐ │ ENTREGAR │ ← Dispensar al paciente └─────────────┘ ``` --- ## Control de Medicamentos ``` ┌─────────────────────────────────────────────────────────┐ │ CONTROL DE INVENTARIO │ ├─────────────────────────────────────────────────────────┤ │ │ │ TRAZABILIDAD │ │ ├── Código de producto │ │ ├── Lote │ │ ├── Fecha de caducidad │ │ ├── Proveedor │ │ └── Fecha de entrada │ │ │ │ ALERTAS DE CADUCIDAD │ │ ├── 🔴 Caducados (vencidos) │ │ ├── 🟠 < 30 días para vencer │ │ ├── 🟡 < 90 días para vencer │ │ └── Sugerencia: Promoción o devolución │ │ │ │ MEDICAMENTOS CONTROLADOS │ │ ├── Libro de registro (físico y digital) │ │ ├── Receta foliada obligatoria │ │ ├── Control de existencias exactas │ │ ├── Auditoría de movimientos │ │ └── Reportes para COFEPRIS │ │ │ └─────────────────────────────────────────────────────────┘ ``` --- ## Criterios de Aceptacion de la Epica **Funcionales:** - [ ] Ver recetas pendientes - [ ] Verificar stock - [ ] Dispensar con lote y caducidad - [ ] Cobro de receta - [ ] Recepción de mercancía - [ ] Alertas de caducidad - [ ] Control de medicamentos controlados - [ ] Inventario físico **No Funcionales:** - [ ] Dispensación < 3 minutos - [ ] Trazabilidad 100% de lotes - [ ] Cumplimiento COFEPRIS **Tecnicos:** - [ ] Integración con recetas - [ ] Integración con facturación - [ ] Lector de código de barras - [ ] Reportes para autoridades --- ## Dependencias **Esta epica depende de:** | Epica/Modulo | Estado | Bloqueante | |--------------|--------|------------| | EPIC-CL-001 Fundamentos | Backlog | Si | | EPIC-CL-005 Recetas | Backlog | Si | **Esta epica bloquea:** | Epica/Modulo | Razon | |--------------|-------| | EPIC-CL-008 Facturación | Ventas de farmacia | --- ## Desglose Tecnico **Database:** - [ ] Schema: `pharmacy` - [ ] Tablas: 8 (products, stock, stock_movements, dispensations, dispensation_items, controlled_log, suppliers, physical_counts) - [ ] Funciones: 3 (check_expiry, update_stock, log_controlled) - [ ] Indices: Por producto, lote, caducidad, proveedor **Backend:** - [ ] Modulo: `pharmacy` - [ ] Entities: 6 (Product, Stock, StockMovement, Dispensation, DispensationItem, ControlledLog) - [ ] Endpoints: 15 - [ ] Tests: 30 **Frontend:** - [ ] Paginas: 5 (PendingPrescriptions, Dispensation, Inventory, ExpiryAlerts, ControlledLog) - [ ] Componentes: 12 (PrescriptionCard, StockChecker, BarcodeScanner, ExpiryCalendar, etc.) - [ ] Stores: 1 (pharmacyStore) --- ## Endpoints API | Metodo | Endpoint | Descripcion | |--------|----------|-------------| | GET | /api/pharmacy/prescriptions/pending | Recetas pendientes | | GET | /api/pharmacy/stock/:productId | Verificar stock | | POST | /api/pharmacy/dispensations | Registrar dispensación | | POST | /api/pharmacy/receipts | Recibir mercancía | | GET | /api/pharmacy/expiry-alerts | Alertas de caducidad | | POST | /api/pharmacy/controlled-log | Registrar movimiento controlado | | POST | /api/pharmacy/physical-count | Inventario físico | | GET | /api/pharmacy/reports/sales | Reporte de ventas | --- ## Riesgos | Riesgo | Probabilidad | Impacto | Mitigacion | |--------|--------------|---------|------------| | Merma por caducidad | Media | Medio | Alertas tempranas | | Error en dispensación | Baja | Alto | Doble verificación | | Faltantes de controlados | Baja | Alto | Auditorías frecuentes | --- ## Definition of Ready (DoR) - [x] Historias de usuario definidas - [x] Criterios de aceptacion claros - [x] Dependencias identificadas - [x] Estimacion completada - [ ] Catálogo de medicamentos definido - [ ] Proceso de controlados documentado ## Definition of Done (DoD) - [ ] Flujo de dispensación funcionando - [ ] Control de lotes y caducidad - [ ] Registro de controlados - [ ] Alertas de caducidad activas - [ ] 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