Saltar a contenido

Pantalla: Inventario de Medicamento

Identificador: SCR-MED-007 Modulo: MTS-MED-001 - Gestion de Medicamentos Version: 1.0.0 Fecha: 2025-12-05 Autor: MobileUxUiDrone (Eight of Eight) Estado: Especificado


1. Informacion General

Atributo Valor
Nombre Inventario de Medicamento
Proposito Gestion de stock personal del medicamento
Tipo Bottom Sheet / Full Screen
Acceso Detalle Medicamento > Inventario
Prioridad Media

2. Wireframe ASCII

2.1. Vista Principal

+------------------------------------------+
|  ====                                    |  <- Drag handle
+------------------------------------------+
|                                           |
|  Inventario                        [X]   |
|  Metformina 850mg                         |  <- Context
|                                           |
+------------------------------------------+
|                                           |
|  Cantidad actual                          |
|  +------------------------------------+   |
|  |  [-]        45        [+]         |   |  <- Stepper grande
|  |           tabletas                    ||
|  +------------------------------------+   |
|                                           |
|  +------------------------------------+   |
|  |  [i] Suficiente para 22 dias          ||  <- Calculo
|  +------------------------------------+   |
|                                           |
|  Alerta de reabasto                       |
|  +------------------------------------+   |
|  |  Avisarme cuando queden:              ||
|  |  [-]        10        [+]             ||  <- Umbral
|  |           tabletas                    ||
|  +------------------------------------+   |
|                                           |
|  Fecha de caducidad                       |
|  +------------------------------------+   |
|  |  [Cal] 15 de Junio, 2026      [>]  |   |  <- Date picker
|  +------------------------------------+   |
|                                           |
|  Lote (opcional)                          |
|  +------------------------------------+   |
|  | ABC123456                          |   |  <- Input
|  +------------------------------------+   |
|                                           |
|  Ultimo reabasto                          |
|  +------------------------------------+   |
|  |  [Cal] 01 de Diciembre, 2025  [>]  |   |
|  +------------------------------------+   |
|                                           |
|  +------------------------------------+   |
|  |          [Guardar]                 |   |  <- Primary
|  +------------------------------------+   |
|                                           |
+------------------------------------------+

2.2. Estado: Alerta de Stock Bajo

+------------------------------------------+
|  ====                                    |
+------------------------------------------+
|                                           |
|  Inventario                        [X]   |
|  Metformina 850mg                         |
|                                           |
+------------------------------------------+
|                                           |
|  +------------------------------------+   |
|  | [!] Stock bajo                        ||
|  |     Te quedan menos de 10 tabletas    ||  <- Warning banner
|  |     Considera reabastecer pronto      ||
|  +------------------------------------+   |
|                                           |
|  Cantidad actual                          |
|  +------------------------------------+   |
|  |  [-]         8        [+]         |   |  <- Resaltado warning
|  |           tabletas                    ||
|  +------------------------------------+   |
|                                           |
|  +------------------------------------+   |
|  |  [!] Suficiente para solo 4 dias      ||
|  +------------------------------------+   |
|                                           |
|  ... (resto del formulario) ...           |
|                                           |
|  +------------------------------------+   |
|  | [Cart] Agregar a lista de compras |   |  <- Action link
|  +------------------------------------+   |
|                                           |
+------------------------------------------+

2.3. Estado: Proximo a Caducar

+------------------------------------------+
|  ====                                    |
+------------------------------------------+
|                                           |
|  Inventario                        [X]   |
|  Ibuprofeno 400mg                         |
|                                           |
+------------------------------------------+
|                                           |
|  +------------------------------------+   |
|  | [!] Proximo a caducar                 ||
|  |     Este medicamento caduca en        ||  <- Warning banner
|  |     15 dias (20/12/2025)              ||
|  +------------------------------------+   |
|                                           |
|  Cantidad actual                          |
|  +------------------------------------+   |
|  |  [-]        30        [+]         |   |
|  |           tabletas                    ||
|  +------------------------------------+   |
|                                           |
|  Fecha de caducidad                       |
|  +------------------------------------+   |
|  |  [Cal] 20 de Diciembre, 2025  [>]  |   |  <- Resaltado warning
|  |  [!] Caduca en 15 dias                ||
|  +------------------------------------+   |
|                                           |
|  ... (resto del formulario) ...           |
|                                           |
+------------------------------------------+

3. Componentes UI

3.1. Quantity Stepper

Propiedad Valor
Componente CMP-INP-008
Variante horizontal, large
Min 0
Max 9999
Step 1 (tap), 10 (long press)
Touch targets 48x48dp buttons

3.2. Alert Threshold Stepper

Propiedad Valor
Componente CMP-INP-008
Variante horizontal
Default 10 (o 7 dias de consumo)
Min 0 (sin alerta)
Sugerencia Basado en consumo diario

3.3. Date Picker Trigger

Propiedad Valor
Componente ListTile tappable
Formato "DD de MMMM, YYYY"
Picker CMP-INP-005 (modal)

3.4. Warning Banner

Propiedad Valor
Background warning.light (stock bajo)
Background error.light (caducidad)
Icono Warning / Error
Accion Opcional (agregar a lista)

4. Calculos Automaticos

4.1. Dias Restantes

function calculateDaysRemaining(
  currentQuantity: number,
  dailyDoses: number
): number {
  return Math.floor(currentQuantity / dailyDoses);
}

// Ejemplo: 45 tabletas / 2 dosis diarias = 22 dias

4.2. Fecha de Agotamiento

function calculateDepletionDate(
  currentQuantity: number,
  dailyDoses: number,
  startDate: Date = new Date()
): Date {
  const daysRemaining = calculateDaysRemaining(currentQuantity, dailyDoses);
  return addDays(startDate, daysRemaining);
}

4.3. Umbral Sugerido

function suggestAlertThreshold(
  dailyDoses: number,
  daysBuffer: number = 7
): number {
  return dailyDoses * daysBuffer;
}

// Ejemplo: 2 dosis/dia * 7 dias = 14 tabletas umbral

5. Estados y Alertas

5.1. Estados de Stock

Estado Condicion Visual
OK cantidad > umbral Normal
Warning cantidad <= umbral Banner amarillo
Critical cantidad <= 3 dias Banner rojo
Empty cantidad = 0 Banner rojo, bloquear tomas

5.2. Estados de Caducidad

Estado Condicion Visual
OK > 60 dias para caducar Normal
Warning 30-60 dias Texto warning
Critical < 30 dias Banner amarillo
Expired Fecha pasada Banner rojo

6. Datos Requeridos

6.1. Input Data

interface InventoryScreenData {
  medication: PatientMedication;
  currentInventory?: InventoryData;
  dailyDoses: number;
}

interface InventoryData {
  currentQuantity: number;
  alertThreshold: number;
  expirationDate?: Date;
  lotNumber?: string;
  lastRefillDate?: Date;
}

6.2. Output Data

interface InventoryUpdate {
  medicationId: string;
  currentQuantity: number;
  alertThreshold: number;
  expirationDate?: Date;
  lotNumber?: string;
  lastRefillDate?: Date;
}

7. Accesibilidad

7.1. Labels

Elemento accessibilityLabel
Quantity stepper "Cantidad actual: {n} tabletas. Boton menos para reducir, boton mas para aumentar"
Warning banner "Advertencia: {mensaje}"
Date field "Fecha de caducidad: {fecha}. Toca para cambiar"
Save button "Guardar cambios de inventario"

7.2. Anuncios

Evento Anuncio
Quantity change "Cantidad: {n} tabletas, suficiente para {d} dias"
Threshold change "Alerta configurada para {n} tabletas"
Date change "Caducidad: {fecha}"
Save success "Inventario actualizado"

7.3. Contraste

  • Warning banners con contraste 4.5:1 minimo
  • Numeros grandes (2xl) para cantidad
  • Botones +/- claramente diferenciados

8. Integraciones

8.1. Notificaciones

Tipo Trigger Destino
Stock bajo cantidad <= umbral MTS-NTF-001
Proximo a caducar fecha - 30 dias MTS-NTF-001
Caducado fecha pasada MTS-NTF-001

8.2. Calendario

  • Mostrar fecha estimada de agotamiento en calendario
  • Integrar con recordatorios de reabasto

8.3. Tomas

  • Decrementar automaticamente al registrar toma
  • Alertar si inventario = 0 al intentar toma

9. Metricas

9.1. Analytics Events

Evento Parametros
inventory_view medication_id
quantity_update medication_id, old_value, new_value
threshold_update medication_id, threshold
expiration_set medication_id, days_until
add_to_shopping_list medication_id

10. Referencias


Documento generado por MobileUxUiDrone (Eight of Eight)