158 lines
5.7 KiB
Gherkin
158 lines
5.7 KiB
Gherkin
# 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
|