# language: es
# Fuente: album/book/ops-templates/veterinarian/05-historial-pacientes.md
# Drive: 08. IT y Producto/Funcionalidades Plataforma Veterinario
# Tests Backend: pytest tests/contracts/mascotas/test_vet_visits.py
# Tests Frontend: npx playwright test vet-history.spec.ts

Característica: Ver historial de pacientes

  Como veterinario
  Quiero acceder al historial medico de pacientes
  Para tener contexto clinico en mis atenciones

  Antecedentes:
    Dado que estoy logueado como veterinario
    Y estoy en la seccion "Historia clinica"

  # ============================================
  # BUSCAR PACIENTES
  # ============================================

  Esquema del escenario: Buscar paciente por diferentes criterios
    Cuando busco por <criterio> con valor "<valor>"
    Entonces deberia ver resultados que coincidan

    Ejemplos:
      | criterio         | valor              |
      | nombre dueno     | Maria Garcia       |
      | nombre mascota   | Luna               |
      | telefono         | 1155551234         |
      | email            | maria@ejemplo.com  |

  Escenario: Busqueda sin resultados
    Cuando busco "ZZZZZ paciente inexistente"
    Entonces deberia ver mensaje "No se encontraron resultados"
    Y deberia ver sugerencia "Verifica la ortografia"

  Escenario: Busqueda con multiples resultados
    Cuando busco "Garcia"
    Y hay varios duenos con apellido Garcia
    Entonces deberia ver lista de coincidencias
    Y cada resultado deberia mostrar:
      | campo           |
      | Nombre completo |
      | Email           |
      | Mascotas        |

  # ============================================
  # VER FICHA DE MASCOTA
  # ============================================

  Escenario: Ver ficha completa de mascota
    Dado que encontre a la mascota "Luna"
    Cuando hago click en Luna
    Entonces deberia ver la ficha con:
      | seccion            | contenido                        |
      | Datos basicos      | Nombre, tipo, raza, edad, peso   |
      | Foto               | Foto de la mascota               |
      | Dueno              | Nombre y contacto del dueno      |
      | Vacunacion         | Estado de vacunas                |
      | Historial          | Lista de visitas                 |

  Escenario: Ver grafico de peso historico
    Dado que estoy viendo la ficha de "Luna"
    Y Luna tuvo multiples visitas con peso registrado
    Cuando veo la seccion "Evolucion"
    Entonces deberia ver grafico de peso en el tiempo
    Y deberia poder detectar tendencias

  # ============================================
  # VER HISTORIAL DE VISITAS
  # ============================================

  Escenario: Ver listado de visitas
    Dado que estoy viendo la ficha de "Luna"
    Y Luna tiene 5 visitas completadas
    Cuando veo la seccion "Historial de visitas"
    Entonces deberia ver las 5 visitas listadas
    Y deberian estar ordenadas de mas reciente a mas antigua
    Y cada visita deberia mostrar:
      | campo        |
      | Fecha        |
      | Veterinario  |
      | Servicios    |
      | Diagnostico  |

  Escenario: Ver informe de visita de otro veterinario
    Dado que Luna fue atendida por "Dra. Rodriguez"
    Y yo no la atendi en esa visita
    Cuando hago click en esa visita
    Entonces deberia poder ver el informe completo
    # Para continuidad de atencion

  Escenario: Ver informe detallado
    Cuando hago click en una visita
    Entonces deberia ver el informe con:
      | seccion        | contenido                          |
      | Examen fisico  | Peso, temperatura, signos vitales  |
      | Diagnostico    | Descripcion del diagnostico        |
      | Tratamiento    | Plan de tratamiento indicado       |
      | Medicamentos   | Lista con dosis y duracion         |
      | Estudios       | Estudios solicitados y resultados  |
      | Observaciones  | Notas adicionales                  |

  # ============================================
  # FILTROS Y NAVEGACION
  # ============================================

  Escenario: Filtrar historial por tipo de servicio
    Dado que estoy viendo el historial de "Luna"
    Cuando filtro por servicio "Vacunacion"
    Entonces solo deberia ver visitas de vacunacion

  Escenario: Filtrar historial por fecha
    Dado que estoy viendo el historial de "Luna"
    Cuando filtro por año "2023"
    Entonces solo deberia ver visitas del 2023

  Escenario: Filtrar por mis atenciones
    Dado que estoy viendo el historial de "Luna"
    Y Luna fue atendida por varios veterinarios
    Cuando marco "Solo mis atenciones"
    Entonces solo deberia ver las visitas que yo realice

  # ============================================
  # PERMISOS
  # ============================================

  Regla: Veterinarios pueden ver historial de pacientes que atendieron

    Escenario: Puedo ver historial de paciente que atendi
      Dado que yo atendi a "Luna" al menos una vez
      Cuando busco a Luna
      Entonces deberia poder ver su historial completo

    Escenario: Puedo ver historial de paciente con solicitud pendiente
      Dado que hay una solicitud pendiente para "Rocky"
      Y la solicitud esta en mi zona
      Cuando busco a Rocky
      Entonces deberia poder ver su historial
      # Para evaluar si acepto la solicitud

  # ============================================
  # CASOS ESPECIALES
  # ============================================

  Escenario: Paciente sin historial previo
    Dado que busco a "Nuevo" que nunca fue atendido
    Cuando veo su ficha
    Entonces el historial deberia estar vacio
    Y deberia ver mensaje "Sin visitas registradas"

  Escenario: Dueno con multiples mascotas
    Dado que busque al dueno "Maria Garcia"
    Y Maria tiene 3 mascotas
    Cuando veo su perfil
    Entonces deberia ver las 3 mascotas listadas
    Y deberia poder navegar al historial de cada una
