Saltar a contenido

Pantalla: Escaneo de Codigo de Barras

Identificador: SCR-CAT-006 Modulo: MTS-CAT-001 - Catalogo de Medicamentos Version: 1.0.0 Fecha: 2025-12-05 Autor: MobileUxUiDrone (Eight of Eight) Estado: Especificado FASE: 2 - Value


1. Informacion General

Atributo Valor
Nombre Escaneo de Codigo de Barras
Proposito Busqueda rapida de medicamentos escaneando codigo EAN/UPC
Tipo Full Screen Modal
Acceso SCR-CAT-001 > Icono camara
Prioridad Media

2. Wireframe ASCII

2.1. Estado: Escaneando

+------------------------------------------+
|                              [X]          |
+------------------------------------------+
|                                           |
|                                           |
|     ┌─────────────────────────────────┐   |
|                                         |
|                                         |
|                                         |
|         ┌───────────────────────┐       |
|                                       |
|            [  VIEWFINDER  ]           |
|                                       |
|            ═══════════════════        |
|                                       |
|         └───────────────────────┘       |
|                                         |
|                                         |
|                                         |
|     └─────────────────────────────────┘   |
|                                           |
|  Apunta al codigo de barras del empaque   |
|                                           |
|  ┌─────────────────────────────────────┐  |
|    [🔦 Flash]      [📷 Galeria]         |
|  └─────────────────────────────────────┘  |
|                                           |
|  Formatos soportados:                     |
|  EAN-13, EAN-8, UPC-A, UPC-E, Code128     |
|                                           |
+------------------------------------------+

2.2. Estado: Codigo Detectado (Procesando)

+------------------------------------------+
|                              [X]          |
+------------------------------------------+
|                                           |
|     ┌─────────────────────────────────┐   |
|                                         |
|         ┌───────────────────────┐       |
|                                       |
|            [  VIEWFINDER  ]           |
|                Detectado             |
|            ═══════════════════        |
|                                       |
|         └───────────────────────┘       |
|                                         |
|     └─────────────────────────────────┘   |
|                                           |
|  ┌─────────────────────────────────────┐  |
|    Codigo: 7501234567890                |
|                                         |
|            Buscando...                |
|                                         |
|  └─────────────────────────────────────┘  |
|                                           |
+------------------------------------------+

2.3. Estado: Medicamento Encontrado

+------------------------------------------+
|                              [X]          |
+------------------------------------------+
|                                           |
|  ┌─────────────────────────────────────┐  |
|                                         |
|           ┌─────────────────┐           |
|                                      |
|              Encontrado               |
|           └─────────────────┘           |
|                                         |
|    ─────────────────────────────────    |
|                                         |
|    💊 Metformina 850mg                 |
|       Tableta | Via oral               |
|       Generico                         |
|                                         |
|       Laboratorio: Merck               |
|       Codigo: 7501234567890            |
|                                         |
|    ─────────────────────────────────    |
|                                         |
|    +─────────────────────────────────+│  |
|           Ver ficha completa        ││  |
|    +─────────────────────────────────+│  |
|                                         |
|    [Escanear otro]                      |
|                                         |
|  └─────────────────────────────────────┘  |
|                                           |
+------------------------------------------+

2.4. Estado: No Encontrado

+------------------------------------------+
|                              [X]          |
+------------------------------------------+
|                                           |
|  ┌─────────────────────────────────────┐  |
|                                         |
|           ┌─────────────────┐           |
|                                     |
|             No encontrado             |
|           └─────────────────┘           |
|                                         |
|    ─────────────────────────────────    |
|                                         |
|    Codigo escaneado:                    |
|    7509876543210                        |
|                                         |
|    No encontramos este codigo en        |
|    nuestra base de datos.               |
|                                         |
|    Opciones:                            |
|                                         |
|    +─────────────────────────────────+│  |
|      + Agregar como personalizado   ││  |
|    +─────────────────────────────────+│  |
|                                         |
|    [Intentar de nuevo]                  |
|    [Buscar por nombre]                  |
|                                         |
|  └─────────────────────────────────────┘  |
|                                           |
+------------------------------------------+

2.5. Estado: Sin Permiso de Camara

+------------------------------------------+
|                              [X]          |
+------------------------------------------+
|                                           |
|  ┌─────────────────────────────────────┐  |
|                                         |
|           ┌─────────────────┐           |
|                📷                     |
|                                       |
|           └─────────────────┘           |
|                                         |
|    Permiso de camara requerido          |
|                                         |
|    Para escanear codigos de barras,     |
|    necesitamos acceso a tu camara.      |
|                                         |
|    +─────────────────────────────────+│  |
|         Permitir acceso a camara    ││  |
|    +─────────────────────────────────+│  |
|                                         |
|    [Buscar por nombre en su lugar]      |
|                                         |
|  └─────────────────────────────────────┘  |
|                                           |
+------------------------------------------+

3. Componentes UI

3.1. Camera Viewfinder

Propiedad Valor
Componente CMP-CAT-015 (CameraViewfinder) NUEVO
Aspect ratio 16:9 o device ratio
Overlay Rectangulo de escaneo
Animacion Linea de scan pulsante
Border Esquinas redondeadas

3.2. Scan Result Card

Propiedad Valor
Componente CMP-CAT-016 (ScanResultCard) NUEVO
Estados success, not_found, searching
Icono Check / X / Spinner
Contenido Codigo + medicamento

3.3. Action Buttons

Propiedad Valor
Flash Toggle icon button
Gallery Icon button a galeria
Close X en header

3.4. Medication Preview Card

Propiedad Valor
Similar a CMP-CAT-007 (MedicationResultCard)
Extra Codigo de barras mostrado
Accion "Ver ficha completa"

4. Comportamientos

4.1. Flujo de Escaneo

flowchart TD
    A[Abrir escaner] --> B{Permiso camara?}

    B -->|No| C[Solicitar permiso]
    C --> D{Otorgado?}
    D -->|No| E[Mostrar alternativa]
    D -->|Si| F[Activar camara]

    B -->|Si| F

    F --> G[Detectar codigo]
    G --> H{Codigo valido?}

    H -->|No| I[Ignorar, seguir escaneando]
    I --> G

    H -->|Si| J[Buscar en BD]
    J --> K{Encontrado?}

    K -->|Si| L[Mostrar resultado]
    K -->|No| M[Mostrar no encontrado]

    L --> N{Accion?}
    N -->|Ver ficha| O[SCR-CAT-003]
    N -->|Escanear otro| F

    M --> P{Accion?}
    P -->|Agregar personalizado| Q[Formulario]
    P -->|Intentar de nuevo| F
    P -->|Buscar nombre| R[SCR-CAT-001]

4.2. Gestos

Gesto Elemento Accion
Tap Flash Toggle flash
Tap Gallery Seleccionar imagen
Tap Close Cerrar escaner
Tap Ver ficha SCR-CAT-003
Tap Escanear otro Reset escaner
Tap Agregar personal Formulario personalizado

4.3. Formatos Soportados

Formato Descripcion Digitos
EAN-13 Europa, Latam 13
EAN-8 Productos pequenos 8
UPC-A USA, Canada 12
UPC-E USA comprimido 8
Code128 Industrial Variable

4.4. Manejo de Galeria

flowchart TD
    A[Tap galeria] --> B[Abrir picker]
    B --> C{Imagen seleccionada?}

    C -->|No| D[Cancelar]
    C -->|Si| E[Procesar imagen]

    E --> F{Codigo detectado?}
    F -->|Si| G[Buscar en BD]
    F -->|No| H[Error: no se detecto codigo]

    H --> I[Volver a camara]

5. Datos Requeridos

5.1. Input Data

interface ScannerScreenData {
  // Estado de permisos
  cameraPermission: 'granted' | 'denied' | 'not_determined';

  // Estado del flash
  flashEnabled: boolean;
  flashAvailable: boolean;

  // Resultado actual
  scanResult?: ScanResult;
}

interface ScanResult {
  code: string;
  format: 'EAN13' | 'EAN8' | 'UPCA' | 'UPCE' | 'CODE128';
  status: 'searching' | 'found' | 'not_found';
  medication?: MedicationPreview;
}

interface MedicationPreview {
  id: string;
  name: string;
  form: string;
  route: string;
  type: string;
  manufacturer?: string;
}

5.2. Output Events

Evento Payload Destino
onCodeDetected code, format Buscar API
onMedicationSelect medication_id SCR-CAT-003
onAddCustom code Agregar personalizado
onFlashToggle enabled Toggle flash
onGallerySelect image Procesar imagen
onClose - Cerrar
onRetry - Reset

6. Accesibilidad

6.1. Labels

Elemento accessibilityLabel
Viewfinder "Camara para escanear codigo de barras"
Flash "Flash {activado/desactivado}"
Gallery "Seleccionar imagen de galeria"
Close "Cerrar escaner"
Result "Medicamento encontrado: {nombre}"

6.2. Screen Reader

Evento Anuncio
Codigo detectado "Codigo detectado, buscando"
Encontrado "Encontrado: {nombre}"
No encontrado "Codigo no encontrado en base de datos"
Permiso denegado "Se requiere permiso de camara"

7. Metricas

7.1. Analytics Events

Evento Parametros
screen_view screen_name: "barcode_scanner"
scan_start source
scan_success code, format, medication_id
scan_not_found code, format
scan_permission_denied -
flash_toggle enabled
gallery_select -
add_custom_from_scan code

8. Referencias


Documento generado por MobileUxUiDrone (Eight of Eight)