major restructure

This commit is contained in:
buenosairesam
2026-01-20 05:31:26 -03:00
parent 27b32deba4
commit e4052374db
328 changed files with 1018 additions and 10018 deletions

View File

@@ -0,0 +1,77 @@
# Aceptar/Rechazar Solicitud de Servicio
## Tipo de usuario
Veterinario
## Donde empieza
Dashboard veterinario `/vet/` -> Seccion "Solicitudes pendientes"
## Que quiere hacer el usuario
Revisar las solicitudes de servicio en su zona y decidir si las acepta o rechaza
## Pasos - Aceptar solicitud
1. Ingresar al dashboard veterinario
2. Ver listado de solicitudes pendientes en su zona de cobertura
3. Click en una solicitud para ver detalle:
- Datos del dueno (nombre, telefono, direccion)
- Datos de la mascota (nombre, tipo, edad, historial previo)
- Servicios solicitados
- Fechas preferidas por el dueno
4. Verificar disponibilidad en esas fechas
5. Click en "Aceptar"
6. Seleccionar fecha y hora disponible
7. Confirmar aceptacion
## Pasos - Rechazar solicitud
1. Ver detalle de la solicitud
2. Click en "Rechazar"
3. Opcionalmente seleccionar motivo:
- No tengo disponibilidad
- Fuera de mi zona
- No realizo este servicio
- Otro
4. Confirmar rechazo
## Que deberia pasar
Al aceptar:
- Solicitud pasa a estado "Coordinado"
- Vet queda asignado a la solicitud
- Dueno recibe notificacion con fecha/hora y datos del vet
- Aparece en el calendario del vet
Al rechazar:
- Solicitud sigue disponible para otros vets
- Si la rechazo yo, ya no la veo en mi lista
## Problemas comunes
- Multiples vets aceptan la misma solicitud casi simultaneamente
- El vet acepta pero el dueno no puede en esa fecha
- No hay suficientes vets en la zona y la solicitud queda sin atender
- Vet acepta por error y quiere deshacer
- Las fechas preferidas ya pasaron
## Casos especiales
- Solicitud con mascota que el vet ya atendio antes: mostrar historial
- Solicitud urgente/emergencia: destacar visualmente
- Vet con agenda completa: no deberia poder aceptar
- Solicitud con multiples mascotas: revisar tiempo necesario
- Zona limite: solicitud que aparece para vets de zonas adyacentes
## Flujos relacionados
- Ver mi agenda (despues de aceptar)
- Realizar visita
- Cancelar visita aceptada
## Notas tecnicas
- APIs:
- `GET /solicitudes/api/v1/service-requests/?state=pending&veterinarian_area=X`
- `PATCH /solicitudes/api/v1/service-requests/{id}/` (aceptar/rechazar)
- Race condition: backend debe manejar caso de aceptacion simultanea
- Push notification al dueno cuando se acepta

View File

@@ -0,0 +1,87 @@
# Gestion de Agenda
## Tipo de usuario
Veterinario
## Donde empieza
Dashboard veterinario `/vet/` -> Menu "Mi agenda" o `/vet/turnos`
## Que quiere hacer el usuario
Ver su calendario de visitas, gestionar disponibilidad y marcar dias no disponibles
## Pasos - Ver agenda
1. Ir a "Mi agenda"
2. Ver calendario con:
- Visitas confirmadas (con detalle al hacer click)
- Dias/horarios bloqueados
- Disponibilidad por franja horaria
3. Navegar entre semanas/meses
4. Filtrar por estado (pendientes, confirmadas, completadas)
## Pasos - Configurar disponibilidad semanal
1. Ir a "Configuracion" -> "Mi disponibilidad"
2. Para cada dia de la semana:
- Marcar si trabajo ese dia
- Definir franja horaria (ej: 9:00-18:00)
- Definir pausa (ej: 13:00-14:00)
3. Guardar configuracion
## Pasos - Bloquear dias especificos
1. En el calendario, click en un dia
2. Seleccionar "Marcar como no disponible"
3. Opcionalmente agregar motivo (vacaciones, curso, etc.)
4. Confirmar
5. Ese dia no aparece como opcion para nuevas solicitudes
## Pasos - Ver detalle de visita
1. Click en una visita en el calendario
2. Ver informacion completa:
- Dueno: nombre, telefono, direccion
- Mascota: nombre, tipo, edad, foto
- Servicios a realizar
- Historial previo de esa mascota
- Estado de pago
- Notas especiales
## Que deberia pasar
- Calendario siempre actualizado con visitas
- No puedo recibir solicitudes en dias bloqueados
- Cambios de disponibilidad afectan solo solicitudes futuras
- Puedo ver toda la informacion necesaria para la visita
## Problemas comunes
- Vet olvida desbloquear dia despues de terminar vacaciones
- Visitas muy seguidas en zonas distantes (logistica)
- Vet quiere mover visita a otro horario
- Visita cancelada a ultimo momento
- Vet no marco indisponibilidad y le llegan solicitudes que no puede atender
## Casos especiales
- Visita reprogramada: mostrar historial de cambios
- Visita cancelada por el dueno: liberar espacio en agenda
- Emergencia: poder agregar visita fuera de horario normal
- Feriados: bloquear automaticamente?
- Multiples visitas mismo dia/zona: optimizar ruta?
## Flujos relacionados
- Aceptar solicitud (agrega a la agenda)
- Realizar visita (inicia desde la agenda)
- Gestionar zonas de cobertura
## Notas tecnicas
- APIs:
- `GET /mascotas/api/v1/vet-visits/?veterinarian=X`
- `GET /mascotas/api/v1/vet_availabilities/`
- `PUT /mascotas/api/v1/vet_availabilities/{id}/`
- `POST /mascotas/api/v1/vet_unavailabilities/` (dias bloqueados)
- Vista calendario: usar libreria tipo FullCalendar
- Colores por estado: pendiente (amarillo), pagado (verde), completado (azul)

View File

@@ -0,0 +1,97 @@
# Realizar Visita y Crear Informe
## Tipo de usuario
Veterinario
## Donde empieza
Agenda del dia -> Visita programada -> "Iniciar visita" o `/vet/visita/{id}`
## Que quiere hacer el usuario
Registrar la visita medica, crear el informe clinico y completar el flujo
## Pasos - Antes de la visita
1. Ver agenda del dia
2. Click en la visita programada
3. Ver datos del dueno (direccion, telefono) para llegar
4. Ver datos de la mascota e historial
5. Preparar insumos segun servicios solicitados
## Pasos - Iniciar visita
1. Al llegar al domicilio, click "Iniciar visita"
2. Estado cambia a "En progreso"
3. Se registra hora de inicio
## Pasos - Crear informe medico
1. Durante o despues de la atencion, ir a "Crear informe"
2. Completar examen fisico:
- Peso actual
- Temperatura
- Frecuencia cardiaca
- Frecuencia respiratoria
- Estado general (mucosas, hidratacion, etc.)
3. Registrar hallazgos clinicos
4. Escribir diagnostico
5. Indicar tratamiento:
- Descripcion del tratamiento
- Medicamentos recetados (nombre, dosis, frecuencia, duracion)
- Indicaciones especiales
6. Solicitar estudios si es necesario:
- Tipo de estudio
- Laboratorio sugerido
7. Programar seguimiento:
- Fecha sugerida de control
- Motivo del seguimiento
8. Agregar observaciones adicionales
9. Guardar informe
## Pasos - Completar visita
1. Verificar que el informe este guardado
2. Click en "Completar visita"
3. Confirmar finalizacion
4. Se genera factura automaticamente (AFIP)
5. Dueno recibe notificacion con acceso al informe
## Que deberia pasar
- Informe queda guardado y asociado a la mascota
- Dueno puede ver el informe desde su cuenta
- Se genera factura electronica
- Visita se marca como "Completada"
- Vet puede ver la visita en su historial
## Problemas comunes
- Vet olvida completar el informe y cierra la visita
- Mala conexion a internet durante la visita
- Informe muy largo y se pierde por timeout
- Dueno no esta en el domicilio
- Mascota agresiva, no se puede atender
- Necesita derivar a clinica
## Casos especiales
- Visita cancelada in situ: registrar motivo, posible cargo
- Emergencia durante visita rutinaria: agregar servicios
- Multiples mascotas en la visita: un informe por cada una
- Vet necesita segundo opinion: derivar a especialista
- Fallecimiento durante la visita: protocolo especial
## Flujos relacionados
- Ver historial de paciente (antes de atender)
- Cobro de la visita (Mercado Pago del vet)
- Seguimiento post-visita
## Notas tecnicas
- APIs:
- `PATCH /mascotas/api/v1/vet-visits/{id}/` (cambiar estado)
- `POST /mascotas/api/v1/vetvisitreport/` (crear informe)
- `GET /mascotas/api/v1/vet-visits/?pet=X` (historial previo)
- Integracion AFIP via django_afip
- Guardado automatico del informe cada 30 segundos
- Modo offline: guardar localmente y sincronizar despues

View File

@@ -0,0 +1,66 @@
# Gestionar Zonas de Cobertura
## Tipo de usuario
Veterinario
## Donde empieza
Dashboard veterinario -> Menu "Mi cobertura" o Perfil -> "Zonas de atencion"
## Que quiere hacer el usuario
Definir en que barrios/zonas esta dispuesto a atender visitas a domicilio
## Pasos - Ver zonas actuales
1. Ir a "Mi cobertura"
2. Ver mapa con zonas actualmente cubiertas
3. Ver listado de barrios seleccionados
## Pasos - Agregar zona
1. En el mapa o listado, buscar el barrio
2. Click en el barrio para seleccionarlo
3. El barrio se agrega a mi cobertura
4. Guardar cambios
## Pasos - Quitar zona
1. En mi listado de zonas
2. Click en "X" o deseleccionar el barrio
3. Confirmar eliminacion
4. Guardar cambios
## Que deberia pasar
- Solo recibo solicitudes de las zonas que seleccione
- Si agrego zona, empiezo a ver solicitudes pendientes de esa zona
- Si quito zona, dejo de ver nuevas solicitudes de esa zona
- Visitas ya aceptadas no se afectan
## Problemas comunes
- Vet quiere zona muy especifica (solo algunas calles)
- Zonas con poca demanda, vet no recibe solicitudes
- Zonas con mucha demanda, vet saturado
- Limites de zona confusos (calle pertenece a 2 barrios)
- Vet quiere cobertura condicional (solo ciertos dias)
## Casos especiales
- Zona nueva no listada: solicitar a ops que la agregue
- Cobertura temporal (ej: cubriendo a otro vet)
- Cobertura por horario (mañana en zona A, tarde en zona B)
- Vet se muda: actualizar todas las zonas
## Flujos relacionados
- Aceptar solicitud (solo veo solicitudes de mis zonas)
- Ver agenda (optimizar ruta por zonas)
## Notas tecnicas
- APIs:
- `GET /common/api/v1/neighborhoods/` (lista de barrios)
- `GET /mascotas/api/v1/veterinarians/{id}/` (zonas actuales)
- `PATCH /mascotas/api/v1/veterinarians/{id}/` (actualizar zonas)
- Modelo: Veterinarian tiene M2M con Neighborhood
- Coeficiente de distancia por barrio para calcular viabilidad

View File

@@ -0,0 +1,81 @@
# Ver Historial de Pacientes
## Tipo de usuario
Veterinario
## Donde empieza
Dashboard veterinario -> "Historia clinica" o `/vet/historia-clinica`
## Que quiere hacer el usuario
Buscar y revisar el historial medico de pacientes que ha atendido
## Pasos - Buscar paciente
1. Ir a "Historia clinica"
2. Usar el buscador:
- Por nombre del dueno
- Por nombre de la mascota
- Por telefono
- Por email
3. Ver resultados de busqueda
4. Click en el paciente deseado
## Pasos - Ver historial de mascota
1. Seleccionar la mascota
2. Ver ficha de la mascota:
- Datos basicos (nombre, tipo, raza, edad)
- Foto
- Peso historico
- Estado de vacunacion
3. Ver listado de visitas (todas, no solo las mias)
4. Click en una visita para ver el informe completo
## Pasos - Revisar informe anterior
1. En el listado de visitas, click en una
2. Ver informe completo:
- Fecha y veterinario que atendio
- Examen fisico
- Diagnostico
- Tratamiento
- Medicamentos indicados
- Estudios solicitados
- Seguimiento
## Que deberia pasar
- Puedo ver historial completo de pacientes que atendi
- Puedo ver informes de otros vets (para continuidad de atencion)
- Tengo contexto para tomar decisiones clinicas
## Problemas comunes
- Busqueda no encuentra al paciente (nombre mal escrito)
- Mascota atendida por otro vet, no tengo acceso?
- Historial muy extenso, dificil encontrar info relevante
- Informes anteriores incompletos o ilegibles
- Duplicados de pacientes (mismo dueno registrado 2 veces)
## Casos especiales
- Mascota nueva sin historial
- Mascota atendida en otra clinica (historial externo)
- Dueno tiene multiples mascotas
- Mascota transferida a otro dueno
- Paciente de urgencia/emergencia sin cita previa
## Flujos relacionados
- Realizar visita (consultar historial antes/durante)
- Aceptar solicitud (ver si ya lo atendi antes)
## Notas tecnicas
- APIs:
- `GET /mascotas/api/v1/pet-owners/?search=X`
- `GET /mascotas/api/v1/pets/?pet_owner=X`
- `GET /mascotas/api/v1/vet-visits/?pet=X`
- `GET /mascotas/api/v1/vetvisitreport/?vet_visit=X`
- Permisos: vet puede ver historial de cualquier paciente que haya atendido
- Busqueda: usar indice de texto completo para rendimiento