major restructure
This commit is contained in:
@@ -0,0 +1,129 @@
|
||||
# language: es
|
||||
# Fuente: album/book/ops-templates/veterinarian/01-aceptar-solicitud.md
|
||||
# Drive: 08. IT y Producto/Funcionalidades Plataforma Veterinario
|
||||
# Tests Backend: pytest tests/contracts/solicitudes/test_service_requests.py
|
||||
# Tests Frontend: npx playwright test vet-requests.spec.ts
|
||||
|
||||
Característica: Aceptar o rechazar solicitudes de servicio
|
||||
|
||||
Como veterinario de la plataforma
|
||||
Quiero revisar y responder a solicitudes en mi zona
|
||||
Para gestionar mi agenda de visitas a domicilio
|
||||
|
||||
Antecedentes:
|
||||
Dado que estoy logueado como veterinario
|
||||
Y tengo cobertura en los barrios "Palermo" y "Recoleta"
|
||||
Y estoy en el dashboard de veterinario
|
||||
|
||||
# ============================================
|
||||
# VER SOLICITUDES PENDIENTES
|
||||
# ============================================
|
||||
|
||||
Escenario: Ver lista de solicitudes en mi zona
|
||||
Cuando veo la seccion "Solicitudes pendientes"
|
||||
Entonces deberia ver solo solicitudes de "Palermo" y "Recoleta"
|
||||
Y no deberia ver solicitudes de otros barrios
|
||||
|
||||
Escenario: Ver detalle de solicitud
|
||||
Dado que hay una solicitud pendiente
|
||||
Cuando hago click en la solicitud
|
||||
Entonces deberia ver:
|
||||
| seccion | contenido |
|
||||
| Dueno | Nombre, telefono, direccion |
|
||||
| Mascota | Nombre, tipo, edad, foto |
|
||||
| Servicios | Lista de servicios solicitados |
|
||||
| Fechas | Fechas preferidas por el dueno |
|
||||
| Historial | Visitas anteriores si las hay |
|
||||
|
||||
# ============================================
|
||||
# ACEPTAR SOLICITUD
|
||||
# ============================================
|
||||
|
||||
Escenario: Aceptar solicitud con fecha disponible
|
||||
Dado que hay una solicitud para el barrio "Palermo"
|
||||
Y el dueno prefiere fechas:
|
||||
| fecha | franja |
|
||||
| 2024-01-15 | Mañana |
|
||||
| 2024-01-16 | Tarde |
|
||||
Y tengo disponibilidad el 15 de enero a las 10:00
|
||||
Cuando hago click en "Aceptar"
|
||||
Y selecciono fecha "15 de enero" hora "10:00"
|
||||
Y confirmo la aceptacion
|
||||
Entonces la solicitud deberia pasar a estado "Coordinado"
|
||||
Y deberia quedar asignada a mi
|
||||
Y el dueno deberia recibir notificacion con mis datos
|
||||
Y la visita deberia aparecer en mi agenda
|
||||
|
||||
Escenario: Aceptar solicitud con datos de mascota que ya atendi
|
||||
Dado que hay una solicitud para mascota "Luna"
|
||||
Y yo atendi a "Luna" anteriormente
|
||||
Cuando veo el detalle de la solicitud
|
||||
Entonces deberia ver badge "Paciente recurrente"
|
||||
Y deberia ver el historial de mis visitas anteriores a Luna
|
||||
|
||||
# ============================================
|
||||
# RECHAZAR SOLICITUD
|
||||
# ============================================
|
||||
|
||||
Esquema del escenario: Rechazar solicitud con motivo
|
||||
Dado que hay una solicitud pendiente
|
||||
Cuando hago click en "Rechazar"
|
||||
Y selecciono motivo "<motivo>"
|
||||
Y confirmo el rechazo
|
||||
Entonces la solicitud deberia desaparecer de mi lista
|
||||
Y deberia seguir visible para otros veterinarios
|
||||
|
||||
Ejemplos:
|
||||
| motivo |
|
||||
| No tengo disponibilidad |
|
||||
| Fuera de mi zona |
|
||||
| No realizo este servicio |
|
||||
| Otro |
|
||||
|
||||
Escenario: Rechazar sin seleccionar motivo
|
||||
Dado que hay una solicitud pendiente
|
||||
Cuando hago click en "Rechazar"
|
||||
Y confirmo sin seleccionar motivo
|
||||
Entonces deberia poder rechazar igual
|
||||
# El motivo es opcional
|
||||
|
||||
# ============================================
|
||||
# RACE CONDITIONS
|
||||
# ============================================
|
||||
|
||||
Regla: Solo un veterinario puede aceptar cada solicitud
|
||||
|
||||
Escenario: Otro vet acepta mientras estoy viendo
|
||||
Dado que estoy viendo el detalle de una solicitud
|
||||
Y otro veterinario acepta la misma solicitud
|
||||
Cuando intento aceptarla
|
||||
Entonces deberia ver error "Esta solicitud ya fue aceptada"
|
||||
Y deberia ser redirigido al listado
|
||||
|
||||
Escenario: Solicitud desaparece cuando otro la acepta
|
||||
Dado que estoy viendo el listado de solicitudes
|
||||
Y otro veterinario acepta una solicitud
|
||||
Entonces esa solicitud deberia desaparecer de mi lista
|
||||
# Idealmente en tiempo real via websocket
|
||||
|
||||
# ============================================
|
||||
# CASOS ESPECIALES
|
||||
# ============================================
|
||||
|
||||
Escenario: Solicitud urgente destacada
|
||||
Dado que hay una solicitud marcada como "Urgente"
|
||||
Cuando veo el listado de solicitudes
|
||||
Entonces deberia ver la solicitud con indicador de urgencia
|
||||
Y deberia aparecer primero en la lista
|
||||
|
||||
Escenario: Solicitud con multiples mascotas
|
||||
Dado que hay una solicitud para 2 mascotas
|
||||
Cuando veo el detalle
|
||||
Entonces deberia ver informacion de ambas mascotas
|
||||
Y deberia ver nota sobre tiempo estimado adicional
|
||||
|
||||
Escenario: No puedo aceptar con agenda completa
|
||||
Dado que tengo mi agenda completa para las fechas de la solicitud
|
||||
Cuando intento aceptar la solicitud
|
||||
Entonces deberia ver advertencia "No tienes disponibilidad en las fechas preferidas"
|
||||
Y deberia poder proponer una fecha alternativa
|
||||
@@ -0,0 +1,134 @@
|
||||
# language: es
|
||||
# Fuente: album/book/ops-templates/veterinarian/02-gestion-agenda.md
|
||||
# Drive: 08. IT y Producto/Funcionalidades Plataforma Veterinario
|
||||
# Tests Backend: pytest tests/contracts/mascotas/test_vet_availability.py
|
||||
# Tests Frontend: npx playwright test vet-schedule.spec.ts
|
||||
|
||||
Característica: Gestion de agenda veterinaria
|
||||
|
||||
Como veterinario
|
||||
Quiero gestionar mi calendario y disponibilidad
|
||||
Para organizar mis visitas a domicilio eficientemente
|
||||
|
||||
Antecedentes:
|
||||
Dado que estoy logueado como veterinario
|
||||
Y estoy en la seccion "Mi agenda"
|
||||
|
||||
# ============================================
|
||||
# VER AGENDA
|
||||
# ============================================
|
||||
|
||||
Escenario: Ver calendario semanal
|
||||
Cuando veo mi agenda en vista semanal
|
||||
Entonces deberia ver los 7 dias de la semana
|
||||
Y deberia ver mis visitas programadas
|
||||
Y cada visita deberia mostrar hora y nombre del paciente
|
||||
|
||||
Escenario: Ver visitas con codigo de color por estado
|
||||
Dado que tengo visitas en diferentes estados
|
||||
Cuando veo mi agenda
|
||||
Entonces las visitas deberian mostrarse con colores:
|
||||
| estado | color |
|
||||
| Coordinado | amarillo |
|
||||
| Pagado | verde |
|
||||
| En progreso | azul |
|
||||
| Completado | gris |
|
||||
|
||||
Escenario: Ver detalle de visita desde el calendario
|
||||
Dado que tengo una visita programada para hoy
|
||||
Cuando hago click en la visita
|
||||
Entonces deberia ver popup con:
|
||||
| campo | valor |
|
||||
| Hora | 10:00 - 11:00 |
|
||||
| Dueno | Maria Garcia |
|
||||
| Direccion | Av Santa Fe 1234 |
|
||||
| Mascota | Luna (Gato, 3 años) |
|
||||
| Servicios | Vacunacion, Consulta |
|
||||
| Estado pago | Pagado |
|
||||
Y deberia ver boton "Ver detalle completo"
|
||||
|
||||
# ============================================
|
||||
# CONFIGURAR DISPONIBILIDAD SEMANAL
|
||||
# ============================================
|
||||
|
||||
Escenario: Configurar horario laboral
|
||||
Cuando voy a "Configuracion" -> "Mi disponibilidad"
|
||||
Y configuro mi horario:
|
||||
| dia | trabajo | desde | hasta | pausa_desde | pausa_hasta |
|
||||
| Lunes | Si | 09:00 | 18:00 | 13:00 | 14:00 |
|
||||
| Martes | Si | 09:00 | 18:00 | 13:00 | 14:00 |
|
||||
| Miercoles | Si | 09:00 | 18:00 | 13:00 | 14:00 |
|
||||
| Jueves | Si | 09:00 | 18:00 | 13:00 | 14:00 |
|
||||
| Viernes | Si | 09:00 | 15:00 | | |
|
||||
| Sabado | No | | | | |
|
||||
| Domingo | No | | | | |
|
||||
Y guardo la configuracion
|
||||
Entonces mi disponibilidad deberia actualizarse
|
||||
Y no deberia recibir solicitudes fuera de ese horario
|
||||
|
||||
# ============================================
|
||||
# BLOQUEAR DIAS ESPECIFICOS
|
||||
# ============================================
|
||||
|
||||
Escenario: Marcar dia como no disponible
|
||||
Dado que necesito el 20 de enero libre
|
||||
Cuando hago click en el dia 20 de enero en el calendario
|
||||
Y selecciono "Marcar como no disponible"
|
||||
Y ingreso motivo "Vacaciones"
|
||||
Y confirmo
|
||||
Entonces el dia 20 deberia mostrarse como bloqueado
|
||||
Y no deberia poder aceptar solicitudes para ese dia
|
||||
|
||||
Escenario: Bloquear rango de fechas
|
||||
Dado que tomo vacaciones del 15 al 22 de enero
|
||||
Cuando voy a "Agregar indisponibilidad"
|
||||
Y selecciono fecha inicio "15 de enero"
|
||||
Y selecciono fecha fin "22 de enero"
|
||||
Y ingreso motivo "Vacaciones"
|
||||
Y confirmo
|
||||
Entonces todos esos dias deberian mostrarse como bloqueados
|
||||
|
||||
Escenario: Desbloquear dia
|
||||
Dado que tengo el 20 de enero bloqueado
|
||||
Y ya no necesito ese dia libre
|
||||
Cuando hago click en el dia bloqueado
|
||||
Y selecciono "Quitar bloqueo"
|
||||
Entonces el dia deberia estar disponible nuevamente
|
||||
|
||||
# ============================================
|
||||
# IMPACTO EN SOLICITUDES
|
||||
# ============================================
|
||||
|
||||
Regla: Los bloqueos no afectan visitas ya aceptadas
|
||||
|
||||
Escenario: Bloquear dia con visita ya aceptada
|
||||
Dado que tengo una visita aceptada para el 15 de enero
|
||||
Cuando intento bloquear el 15 de enero
|
||||
Entonces deberia ver advertencia "Tienes una visita programada ese dia"
|
||||
Y deberia poder elegir:
|
||||
| opcion |
|
||||
| Cancelar el bloqueo |
|
||||
| Bloquear y contactar al dueno |
|
||||
|
||||
Regla: Cambios de disponibilidad solo afectan solicitudes futuras
|
||||
|
||||
Escenario: Cambiar horario no afecta visitas existentes
|
||||
Dado que tengo una visita a las 17:00 el lunes
|
||||
Cuando cambio mi horario del lunes para terminar a las 16:00
|
||||
Y guardo los cambios
|
||||
Entonces la visita de las 17:00 deberia mantenerse
|
||||
Y deberia ver advertencia sobre la inconsistencia
|
||||
|
||||
# ============================================
|
||||
# NAVEGACION
|
||||
# ============================================
|
||||
|
||||
Escenario: Navegar entre semanas
|
||||
Cuando hago click en "Semana siguiente"
|
||||
Entonces deberia ver el calendario de la proxima semana
|
||||
Y deberia poder volver con "Semana anterior"
|
||||
|
||||
Escenario: Ir a fecha especifica
|
||||
Cuando hago click en el selector de fecha
|
||||
Y selecciono "15 de marzo"
|
||||
Entonces deberia ver la semana que contiene el 15 de marzo
|
||||
@@ -0,0 +1,159 @@
|
||||
# language: es
|
||||
# Fuente: album/book/ops-templates/veterinarian/03-realizar-visita.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-visit.spec.ts
|
||||
|
||||
Característica: Realizar visita y crear informe medico
|
||||
|
||||
Como veterinario
|
||||
Quiero registrar la atencion medica de mis visitas
|
||||
Para mantener el historial clinico del paciente
|
||||
|
||||
Antecedentes:
|
||||
Dado que estoy logueado como veterinario
|
||||
Y tengo una visita programada para hoy con mascota "Luna"
|
||||
Y la visita esta en estado "Pagado"
|
||||
|
||||
# ============================================
|
||||
# INICIAR VISITA
|
||||
# ============================================
|
||||
|
||||
Escenario: Ver informacion antes de la visita
|
||||
Cuando accedo al detalle de la visita
|
||||
Entonces deberia ver la direccion para llegar
|
||||
Y deberia ver el telefono del dueno para confirmar
|
||||
Y deberia ver los servicios a realizar
|
||||
Y deberia ver el historial previo de Luna
|
||||
|
||||
Escenario: Iniciar visita al llegar
|
||||
Dado que llegue al domicilio
|
||||
Cuando hago click en "Iniciar visita"
|
||||
Entonces el estado deberia cambiar a "En progreso"
|
||||
Y deberia registrarse la hora de inicio
|
||||
Y deberia habilitarse el boton "Crear informe"
|
||||
|
||||
# ============================================
|
||||
# CREAR INFORME MEDICO
|
||||
# ============================================
|
||||
|
||||
Escenario: Completar informe con examen fisico
|
||||
Dado que la visita esta en progreso
|
||||
Cuando voy a "Crear informe"
|
||||
Y completo el examen fisico:
|
||||
| campo | valor |
|
||||
| Peso | 4.5 kg |
|
||||
| Temperatura | 38.5 °C |
|
||||
| Frecuencia cardiaca | 120 lpm |
|
||||
| Frecuencia resp | 25 rpm |
|
||||
| Mucosas | Rosadas |
|
||||
| Hidratacion | Normal |
|
||||
Y guardo el informe
|
||||
Entonces el examen fisico deberia guardarse
|
||||
|
||||
Escenario: Agregar diagnostico y tratamiento
|
||||
Dado que complete el examen fisico
|
||||
Cuando agrego el diagnostico:
|
||||
"""
|
||||
Otitis externa bilateral leve.
|
||||
Paciente presenta prurito y secrecion ceruminosa.
|
||||
Sin signos de infeccion secundaria.
|
||||
"""
|
||||
Y agrego el tratamiento:
|
||||
"""
|
||||
Limpieza de oidos con solucion fisiologica.
|
||||
Aplicacion de gotas oticas antibioticas.
|
||||
Control en 7 dias.
|
||||
"""
|
||||
Y guardo el informe
|
||||
Entonces el diagnostico y tratamiento deberian guardarse
|
||||
|
||||
Escenario: Recetar medicamentos
|
||||
Dado que estoy creando el informe
|
||||
Cuando agrego medicamentos:
|
||||
| nombre | dosis | frecuencia | duracion |
|
||||
| Otomax gotas | 5 gotas | cada 12 horas | 7 dias |
|
||||
| Meloxicam 1.5mg | 1 comp | cada 24 horas | 3 dias |
|
||||
Y guardo el informe
|
||||
Entonces los medicamentos deberian aparecer en el informe
|
||||
Y el dueno podra verlos desde su cuenta
|
||||
|
||||
Escenario: Solicitar estudios complementarios
|
||||
Dado que necesito estudios de laboratorio
|
||||
Cuando agrego estudio:
|
||||
| tipo | indicaciones |
|
||||
| Hemograma completo | Ayuno de 8 horas |
|
||||
| Perfil hepatico | Para control pre-quirurgico |
|
||||
Y guardo el informe
|
||||
Entonces los estudios deberian quedar registrados
|
||||
Y deberian mostrarse como "Pendientes de resultado"
|
||||
|
||||
# ============================================
|
||||
# COMPLETAR VISITA
|
||||
# ============================================
|
||||
|
||||
Escenario: Completar visita con informe
|
||||
Dado que el informe esta completo
|
||||
Cuando hago click en "Completar visita"
|
||||
Y confirmo la finalizacion
|
||||
Entonces la visita deberia pasar a estado "Completado"
|
||||
Y deberia generarse factura electronica (AFIP)
|
||||
Y el dueno deberia recibir notificacion
|
||||
Y el informe deberia ser visible para el dueno
|
||||
|
||||
Escenario: No puedo completar sin informe
|
||||
Dado que la visita esta en progreso
|
||||
Pero no cree ningun informe
|
||||
Cuando intento completar la visita
|
||||
Entonces deberia ver error "Debes crear el informe antes de completar"
|
||||
|
||||
# ============================================
|
||||
# GUARDADO AUTOMATICO
|
||||
# ============================================
|
||||
|
||||
Regla: El informe se guarda automaticamente
|
||||
|
||||
Escenario: Guardado automatico cada 30 segundos
|
||||
Dado que estoy escribiendo el informe
|
||||
Cuando pasan 30 segundos
|
||||
Entonces deberia ver indicador "Guardado automaticamente"
|
||||
|
||||
Escenario: Recuperar informe despues de desconexion
|
||||
Dado que estaba escribiendo el informe
|
||||
Y perdi conexion a internet
|
||||
Cuando recupero la conexion
|
||||
Entonces deberia recuperar mi progreso
|
||||
Y no deberia perder lo que escribi
|
||||
|
||||
# ============================================
|
||||
# CASOS ESPECIALES
|
||||
# ============================================
|
||||
|
||||
Escenario: Visita con multiples mascotas
|
||||
Dado que la visita incluye a "Luna" y "Rocky"
|
||||
Cuando creo el informe
|
||||
Entonces deberia crear un informe separado para cada mascota
|
||||
Y ambos informes deberian estar asociados a la misma visita
|
||||
|
||||
Escenario: Cancelar visita in situ
|
||||
Dado que llegue al domicilio
|
||||
Pero el dueno no esta
|
||||
Cuando marco la visita como "Cancelada in situ"
|
||||
Y selecciono motivo "Dueno ausente"
|
||||
Entonces la visita deberia marcarse como cancelada
|
||||
Y deberia generarse cargo por visita fallida
|
||||
# Segun politicas de la empresa
|
||||
|
||||
Escenario: Emergencia durante visita rutinaria
|
||||
Dado que estoy en una consulta de vacunacion
|
||||
Y detecto una condicion que requiere atencion urgente
|
||||
Cuando agrego servicio "Consulta de urgencia"
|
||||
Entonces deberia poder documentar ambos servicios
|
||||
Y el precio deberia ajustarse
|
||||
|
||||
Escenario: Derivar a clinica
|
||||
Dado que el paciente necesita atencion en clinica
|
||||
Cuando marco "Derivacion a clinica"
|
||||
Y especifico el motivo
|
||||
Entonces deberia quedar registrada la derivacion
|
||||
Y el dueno deberia recibir instrucciones
|
||||
@@ -0,0 +1,121 @@
|
||||
# language: es
|
||||
# Fuente: album/book/ops-templates/veterinarian/04-zonas-cobertura.md
|
||||
# Drive: 08. IT y Producto/Funcionalidades Plataforma Veterinario
|
||||
# Tests Backend: pytest tests/contracts/mascotas/test_veterinarians.py
|
||||
# Tests Frontend: npx playwright test vet-coverage.spec.ts
|
||||
|
||||
Característica: Gestionar zonas de cobertura
|
||||
|
||||
Como veterinario
|
||||
Quiero definir en que zonas atiendo
|
||||
Para recibir solo solicitudes que puedo cubrir
|
||||
|
||||
Antecedentes:
|
||||
Dado que estoy logueado como veterinario
|
||||
Y estoy en la seccion "Mi cobertura"
|
||||
|
||||
# ============================================
|
||||
# VER ZONAS ACTUALES
|
||||
# ============================================
|
||||
|
||||
Escenario: Ver mapa con mis zonas de cobertura
|
||||
Cuando cargo la pagina de cobertura
|
||||
Entonces deberia ver un mapa de la ciudad
|
||||
Y mis zonas cubiertas deberian estar resaltadas
|
||||
Y deberia ver un listado de barrios seleccionados
|
||||
|
||||
Escenario: Ver estadisticas por zona
|
||||
Dado que tengo cobertura en "Palermo" y "Recoleta"
|
||||
Cuando veo el detalle de mis zonas
|
||||
Entonces deberia ver para cada zona:
|
||||
| metrica |
|
||||
| Solicitudes este mes |
|
||||
| Visitas completadas |
|
||||
| Otros vets en la zona |
|
||||
|
||||
# ============================================
|
||||
# AGREGAR ZONAS
|
||||
# ============================================
|
||||
|
||||
Escenario: Agregar barrio desde el mapa
|
||||
Dado que no tengo cobertura en "Belgrano"
|
||||
Cuando hago click en "Belgrano" en el mapa
|
||||
Y confirmo agregar la zona
|
||||
Entonces "Belgrano" deberia aparecer en mi lista de zonas
|
||||
Y deberia empezar a ver solicitudes de Belgrano
|
||||
|
||||
Escenario: Agregar barrio desde el buscador
|
||||
Cuando busco "Nuñez" en el buscador de barrios
|
||||
Y selecciono "Nuñez" de los resultados
|
||||
Y confirmo agregar la zona
|
||||
Entonces "Nuñez" deberia aparecer en mi lista
|
||||
|
||||
Escenario: Agregar multiples zonas a la vez
|
||||
Cuando selecciono los barrios:
|
||||
| barrio |
|
||||
| Colegiales |
|
||||
| Chacarita |
|
||||
| Villa Crespo |
|
||||
Y hago click en "Agregar seleccionados"
|
||||
Entonces los 3 barrios deberian agregarse a mi cobertura
|
||||
|
||||
# ============================================
|
||||
# QUITAR ZONAS
|
||||
# ============================================
|
||||
|
||||
Escenario: Quitar zona de cobertura
|
||||
Dado que tengo cobertura en "Recoleta"
|
||||
Cuando hago click en "X" junto a "Recoleta"
|
||||
Y confirmo quitar la zona
|
||||
Entonces "Recoleta" no deberia estar en mi lista
|
||||
Y no deberia ver nuevas solicitudes de Recoleta
|
||||
|
||||
Escenario: Quitar zona con solicitudes pendientes
|
||||
Dado que tengo cobertura en "Palermo"
|
||||
Y hay solicitudes pendientes en Palermo que no acepte
|
||||
Cuando intento quitar "Palermo"
|
||||
Entonces deberia ver advertencia "Hay X solicitudes pendientes en esta zona"
|
||||
Y deberia poder confirmar de todas formas
|
||||
# Las solicitudes pendientes siguen disponibles para otros vets
|
||||
|
||||
# ============================================
|
||||
# IMPACTO EN SOLICITUDES
|
||||
# ============================================
|
||||
|
||||
Regla: Los cambios de zona afectan solo solicitudes nuevas
|
||||
|
||||
Escenario: Agregar zona muestra solicitudes existentes
|
||||
Dado que no tengo cobertura en "Belgrano"
|
||||
Y hay 3 solicitudes pendientes en Belgrano
|
||||
Cuando agrego "Belgrano" a mi cobertura
|
||||
Entonces deberia ver las 3 solicitudes pendientes de Belgrano
|
||||
|
||||
Escenario: Quitar zona no afecta visitas aceptadas
|
||||
Dado que tengo cobertura en "Recoleta"
|
||||
Y tengo una visita aceptada en Recoleta para mañana
|
||||
Cuando quito "Recoleta" de mi cobertura
|
||||
Entonces la visita de mañana deberia mantenerse
|
||||
Pero no deberia ver nuevas solicitudes de Recoleta
|
||||
|
||||
# ============================================
|
||||
# CASOS ESPECIALES
|
||||
# ============================================
|
||||
|
||||
Escenario: Zona no disponible en el sistema
|
||||
Dado que quiero cubrir "Barrio Nuevo"
|
||||
Pero ese barrio no esta en el sistema
|
||||
Cuando busco "Barrio Nuevo"
|
||||
Entonces deberia ver mensaje "Zona no encontrada"
|
||||
Y deberia ver opcion "Solicitar que agreguen esta zona"
|
||||
|
||||
Escenario: Zona con baja demanda
|
||||
Dado que agrego una zona con poca actividad
|
||||
Cuando pasan 30 dias sin solicitudes
|
||||
Entonces deberia recibir sugerencia "Considera expandir tu cobertura"
|
||||
|
||||
Escenario: Zona saturada de veterinarios
|
||||
Dado que quiero agregar "Palermo"
|
||||
Y hay muchos veterinarios cubriendo Palermo
|
||||
Cuando agrego la zona
|
||||
Entonces deberia ver nota "Esta zona tiene alta cobertura de veterinarios"
|
||||
# Informativo, no bloquea
|
||||
@@ -0,0 +1,157 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user