erp-clinicas/docs/08-epicas/EPIC-CL-005-recetas.md

244 lines
9.8 KiB
Markdown

# EPICA: EPIC-CL-005 - Recetas (Prescripciones)
## Metadata
| Campo | Valor |
|-------|-------|
| **ID** | EPIC-CL-005 |
| **Nombre** | Recetas (Prescripciones) |
| **Modulo** | recetas |
| **Fase** | Fase 1 - MVP |
| **Prioridad** | P0 (Critico) |
| **Estado** | Backlog |
| **Story Points** | 35 |
| **Sprint(s)** | Sprint 5-6 |
---
## Descripcion
Sistema de prescripción médica electrónica. Generación de recetas con búsqueda de medicamentos, dosificación, verificación de interacciones medicamentosas, firma electrónica (NOM-151) y envío digital al paciente o farmacia.
---
## Objetivo de Negocio
- Recetas legibles y sin errores
- Cumplimiento de NOM-151-SCFI-2016
- Agilizar proceso de prescripción
- Evitar errores de medicación
- Trazabilidad de prescripciones
---
## Historias de Usuario
| ID | Historia | Prioridad | SP | Estado |
|----|----------|-----------|-----|--------|
| US-CL005-001 | Como médico, quiero buscar medicamento por nombre genérico o comercial | P0 | 3 | Backlog |
| US-CL005-002 | Como médico, quiero agregar medicamento a receta con dosis y frecuencia | P0 | 5 | Backlog |
| US-CL005-003 | Como médico, quiero ver alertas de interacciones medicamentosas | P0 | 8 | Backlog |
| US-CL005-004 | Como médico, quiero ver alergias conocidas del paciente al prescribir | P0 | 3 | Backlog |
| US-CL005-005 | Como médico, quiero usar recetas previas como base para nueva receta | P1 | 3 | Backlog |
| US-CL005-006 | Como médico, quiero firmar electrónicamente la receta | P0 | 5 | Backlog |
| US-CL005-007 | Como paciente, quiero recibir mi receta por email/WhatsApp | P0 | 3 | Backlog |
| US-CL005-008 | Como médico, quiero indicar si requiere receta resurtible | P1 | 2 | Backlog |
| US-CL005-009 | Como admin, quiero configurar cuadro básico de medicamentos | P1 | 3 | Backlog |
**Total Story Points:** 35 SP
---
## Estructura de Receta
```
┌─────────────────────────────────────────────────────────┐
│ RECETA MÉDICA ELECTRÓNICA │
├─────────────────────────────────────────────────────────┤
│ │
│ DATOS DEL PRESCRIPTOR │
│ ├── Nombre del médico │
│ ├── Cédula profesional │
│ ├── Especialidad │
│ ├── Institución/Consultorio │
│ └── Domicilio y teléfono │
│ │
│ DATOS DEL PACIENTE │
│ ├── Nombre completo │
│ ├── Edad │
│ └── Sexo │
│ │
│ PRESCRIPCIÓN │
│ ├── Medicamento 1 │
│ │ ├── Nombre genérico / comercial │
│ │ ├── Forma farmacéutica │
│ │ ├── Concentración │
│ │ ├── Cantidad │
│ │ ├── Dosis │
│ │ ├── Vía de administración │
│ │ ├── Frecuencia │
│ │ └── Duración del tratamiento │
│ ├── Medicamento 2... │
│ └── Indicaciones adicionales │
│ │
│ DATOS DE CONTROL │
│ ├── Folio único │
│ ├── Fecha de expedición │
│ ├── Fecha de vigencia │
│ ├── Firma electrónica del médico │
│ └── Código QR de verificación │
│ │
└─────────────────────────────────────────────────────────┘
```
---
## Verificación de Interacciones
```
┌─────────────────────────────────────────────────────────┐
│ ALERTAS DE INTERACCIÓN │
├─────────────────────────────────────────────────────────┤
│ │
│ ⚠️ INTERACCIÓN GRAVE │
│ Warfarina + Aspirina │
│ Riesgo: Sangrado aumentado │
│ Recomendación: Evitar combinación o monitorear INR │
│ │
│ ⚠️ INTERACCIÓN MODERADA │
│ Metformina + Alcohol │
│ Riesgo: Acidosis láctica │
│ Recomendación: Advertir al paciente │
│ │
│ ⚠️ ALERGIA CONOCIDA │
│ Paciente alérgico a Penicilina │
│ Medicamento prescrito: Amoxicilina │
│ Acción: Requiere confirmación del médico │
│ │
└─────────────────────────────────────────────────────────┘
```
---
## Criterios de Aceptacion de la Epica
**Funcionales:**
- [ ] Búsqueda de medicamentos
- [ ] Agregar múltiples medicamentos a receta
- [ ] Alertas de interacciones
- [ ] Verificación de alergias
- [ ] Firma electrónica (e.firma o similar)
- [ ] Generación de PDF con código QR
- [ ] Envío digital al paciente
- [ ] Recetas resurtibles
**No Funcionales:**
- [ ] Búsqueda de medicamentos < 500ms
- [ ] Verificación de interacciones < 2 segundos
- [ ] Cumplimiento NOM-151-SCFI-2016
**Tecnicos:**
- [ ] Catálogo de medicamentos (PLM o similar)
- [ ] Base de datos de interacciones
- [ ] Firma electrónica avanzada
- [ ] Generación de PDF con QR
---
## Dependencias
**Esta epica depende de:**
| Epica/Modulo | Estado | Bloqueante |
|--------------|--------|------------|
| EPIC-CL-001 Fundamentos | Backlog | Si |
| EPIC-CL-002 Pacientes | Backlog | Si |
| EPIC-CL-004 Consultas | Backlog | Si |
**Esta epica bloquea:**
| Epica/Modulo | Razon |
|--------------|-------|
| EPIC-CL-007 Farmacia | Requiere recetas para surtir |
---
## Desglose Tecnico
**Database:**
- [ ] Schema: `prescriptions`
- [ ] Tablas: 6 (prescriptions, prescription_items, medications, interactions, patient_allergies, signature_logs)
- [ ] Funciones: 3 (check_interactions, validate_prescription, generate_folio)
- [ ] Indices: Por paciente, médico, fecha, medicamento
**Backend:**
- [ ] Modulo: `prescriptions`
- [ ] Entities: 5 (Prescription, PrescriptionItem, Medication, Interaction, PatientAllergy)
- [ ] Services: InteractionChecker, SignatureService
- [ ] Endpoints: 12
- [ ] Tests: 28
**Frontend:**
- [ ] Paginas: 4 (PrescriptionEditor, MedicationSearch, PrescriptionView, PrescriptionHistory)
- [ ] Componentes: 12 (MedicationLine, InteractionAlert, AllergyWarning, SignatureModal, etc.)
- [ ] Stores: 1 (prescriptionsStore)
---
## Endpoints API
| Metodo | Endpoint | Descripcion |
|--------|----------|-------------|
| POST | /api/prescriptions | Crear receta |
| GET | /api/prescriptions/:id | Detalle de receta |
| POST | /api/prescriptions/:id/items | Agregar medicamento |
| DELETE | /api/prescriptions/:id/items/:itemId | Quitar medicamento |
| POST | /api/prescriptions/:id/check-interactions | Verificar interacciones |
| POST | /api/prescriptions/:id/sign | Firmar receta |
| POST | /api/prescriptions/:id/send | Enviar al paciente |
| GET | /api/prescriptions/:id/pdf | Descargar PDF |
| GET | /api/medications/search | Buscar medicamentos |
| GET | /api/patients/:id/allergies | Alergias del paciente |
---
## Riesgos
| Riesgo | Probabilidad | Impacto | Mitigacion |
|--------|--------------|---------|------------|
| Interacciones no detectadas | Baja | Alto | Base de datos actualizada |
| Firma electrónica inválida | Baja | Alto | Proveedor certificado |
| Errores de dosificación | Media | Alto | Validaciones y rangos |
---
## Definition of Ready (DoR)
- [x] Historias de usuario definidas
- [x] Criterios de aceptacion claros
- [x] Dependencias identificadas
- [x] Estimacion completada
- [ ] Catálogo de medicamentos disponible
- [ ] Proveedor de firma electrónica seleccionado
## Definition of Done (DoD)
- [ ] Prescripción completa funcionando
- [ ] Alertas de interacciones operativas
- [ ] Firma electrónica válida
- [ ] Envío digital al paciente
- [ ] 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