8.1 KiB
8.1 KiB
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)
- Historias de usuario definidas
- Criterios de aceptacion claros
- Dependencias identificadas
- 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