Skip to content

Disciplinas

Modulo: Membresias Tipo: Resource Estado: Implementado Fecha: 2026-01-27


Descripcion

Problema que resuelve

Las instituciones que gestionan membresias ofrecen diversas actividades, deportes o disciplinas a sus miembros. Sin un catalogo centralizado de disciplinas, resulta imposible:

  • Asignar actividades a los miembros de forma estandarizada
  • Controlar cuales disciplinas requieren ficha medica previa
  • Vincular cada disciplina con un producto de facturacion para cobrar cuotas diferenciadas por actividad
  • Mantener una oferta de actividades consistente y administrable

Solucion implementada

Se implemento un catalogo de disciplinas que permite:

  1. Administrar disciplinas: Crear, consultar, modificar y eliminar disciplinas disponibles en la institucion
  2. Vincular producto de facturacion: Cada disciplina tiene un producto asociado del catalogo, permitiendo facturacion diferenciada por actividad
  3. Control de ficha medica: Marcar cuales disciplinas requieren que el miembro presente ficha medica antes de practicarla
  4. Alternancia rapida de ficha medica: Activar o desactivar el requerimiento de ficha medica directamente desde la tabla sin abrir el formulario

Valor de negocio

  • Estandarizacion: Catalogo unico de actividades disponibles para toda la institucion
  • Control sanitario: Identificacion clara de cuales actividades requieren aptitud medica
  • Facturacion diferenciada: Cada actividad puede tener un precio diferente a traves del producto asociado
  • Eficiencia administrativa: Gestion rapida del requerimiento de ficha medica sin necesidad de editar cada registro completo

Contexto del sistema

Este recurso forma parte del modulo de Membresias y se relaciona con:

  • Miembros: Un miembro puede tener asignadas multiples disciplinas
  • Productos: Cada disciplina tiene un producto asociado para facturacion
  • Disciplinas del Miembro: Recurso que gestiona la relacion entre miembros y disciplinas

Frontend (Perspectiva de Usuario)

Vistas

  • Listado de disciplinas: Tabla con todas las disciplinas disponibles, mostrando codigo, nombre, producto asociado e indicador de ficha medica. Accesible desde Inicio > Bases > Disciplinas

Interacciones del usuario

  1. Consultar disciplinas: El usuario visualiza la tabla completa de disciplinas con sus datos principales
  2. Crear disciplina: El usuario abre el formulario, completa nombre, selecciona producto y opcionalmente marca requerimiento de ficha medica
  3. Editar disciplina: El usuario selecciona una disciplina existente, modifica los campos deseados y guarda los cambios
  4. Eliminar disciplina: El usuario solicita eliminar una disciplina; el sistema valida que no tenga dependencias activas antes de proceder
  5. Alternar ficha medica: El usuario activa o desactiva el requerimiento de ficha medica directamente desde la tabla mediante un interruptor

Estados de UI

  • Estado inicial: Tabla cargada con todas las disciplinas disponibles
  • Estado cargando: Indicador de carga mientras se obtienen los datos
  • Estado exito: Notificacion de confirmacion al crear, editar o eliminar
  • Estado error: Mensaje de error descriptivo cuando falla una operacion
  • Estado vacio: Tabla sin registros cuando no hay disciplinas configuradas

Backend (Perspectiva de Datos de Negocio)

Entidades de negocio

Disciplina: Representa una actividad, deporte o disciplina que la institucion ofrece a sus miembros.

Datos necesarios

Cada disciplina debe almacenar:

DatoDescripcionRestricciones
CodigoIdentificador unico de la disciplinaGenerado automaticamente, solo lectura
NombreDenominacion de la disciplina (ej: "Natacion", "Tenis", "Gimnasia")Requerido, maximo 50 caracteres
Producto asociadoProducto del catalogo vinculado para facturacion de la actividadRequerido, debe existir en el catalogo de productos
Ficha medicaIndica si la disciplina requiere que el miembro presente ficha medicaValor booleano (si/no)

Relaciones de negocio

  • Disciplina - Producto: Cada disciplina tiene exactamente un producto asociado del catalogo general de productos
  • Disciplina - Miembros: Una disciplina puede estar asignada a multiples miembros (relacion gestionada por el recurso "Disciplinas del Miembro")

Validaciones de negocio

  1. Nombre requerido: El nombre de la disciplina no puede estar vacio y tiene un maximo de 50 caracteres
  2. Producto requerido: Toda disciplina debe tener un producto asociado valido del catalogo
  3. Validacion de dependencias: No se puede eliminar una disciplina que tenga miembros asignados

Reglas de negocio

RN-001: Requerimiento de ficha medica

Descripcion: Una disciplina puede requerir que los miembros presenten ficha medica antes de poder practicarla.

Condicion: Se configura el indicador de ficha medica en la disciplina.

Accion: El sistema registra si la disciplina requiere o no ficha medica. Este indicador se utiliza en la gestion de disciplinas del miembro para controlar la aptitud medica.


RN-002: Producto asociado obligatorio

Descripcion: Toda disciplina debe tener un producto del catalogo asociado para permitir la facturacion de la actividad.

Condicion: Al crear o modificar una disciplina.

Accion: El sistema valida que se haya seleccionado un producto existente y valido del catalogo de productos.


RN-003: Proteccion contra eliminacion con dependencias

Descripcion: No se puede eliminar una disciplina que este siendo utilizada por miembros.

Condicion: El usuario solicita eliminar una disciplina.

Accion: El sistema verifica si la disciplina tiene miembros asignados. Si tiene dependencias activas, la eliminacion es rechazada con un mensaje explicativo.


Casos de uso

Caso 1: Crear nueva disciplina

Actor: Usuario administrativo

Precondiciones:

  • El usuario esta autenticado en el sistema
  • Existen productos configurados en el catalogo

Flujo principal:

  1. El usuario accede al listado de disciplinas desde Inicio > Bases > Disciplinas
  2. El usuario selecciona "Nva. Disciplina"
  3. El sistema presenta el formulario de alta
  4. El usuario ingresa el nombre de la disciplina (ej: "Natacion")
  5. El usuario busca y selecciona un producto del catalogo
  6. Opcionalmente, el usuario marca el requerimiento de ficha medica
  7. El usuario confirma la creacion
  8. El sistema valida los datos y crea la disciplina
  9. El sistema muestra una notificacion: "Disciplina creada correctamente"

Postcondiciones:

  • La disciplina queda registrada y disponible para asignar a miembros

Flujos alternativos:

  • Error: nombre vacio: El sistema muestra "El nombre es requerido" y no permite guardar
  • Error: producto no seleccionado: El sistema muestra "El producto es requerido" y no permite guardar

Caso 2: Alternar requerimiento de ficha medica

Actor: Usuario administrativo

Precondiciones:

  • El usuario esta autenticado en el sistema
  • Existe al menos una disciplina registrada

Flujo principal:

  1. El usuario visualiza el listado de disciplinas
  2. El usuario identifica la disciplina cuyo requerimiento de ficha medica desea cambiar
  3. El usuario acciona el interruptor de "Ficha Medica" en la tabla
  4. El sistema actualiza inmediatamente el valor (actualizacion optimista)
  5. Si la operacion falla, el sistema revierte al valor anterior automaticamente

Postcondiciones:

  • El indicador de ficha medica de la disciplina queda actualizado

Flujos alternativos:

  • Error de servidor: El sistema revierte el cambio visual y muestra un mensaje de error

Caso 3: Intentar eliminar disciplina con miembros asignados

Actor: Usuario administrativo

Precondiciones:

  • Existe una disciplina con miembros asignados

Flujo principal:

  1. El usuario selecciona la opcion de eliminar en la disciplina
  2. El sistema verifica las dependencias
  3. El sistema rechaza la eliminacion indicando que la disciplina tiene miembros asignados

Postcondiciones:

  • La disciplina permanece sin cambios en el sistema

Consideraciones

Seguridad

  • El acceso a la gestion de disciplinas requiere autenticacion en el sistema
  • Las operaciones de eliminacion son validadas contra dependencias antes de ejecutarse

Auditoria

  • Las operaciones de creacion, modificacion y eliminacion de disciplinas deben registrarse en el sistema de auditoria

Rendimiento

  • El catalogo de disciplinas es un conjunto reducido de datos (tipicamente menos de 30 registros) y debe responder de forma inmediata
  • La alternancia de ficha medica utiliza actualizacion optimista para respuesta inmediata al usuario

Dependencias

Funcionalidades relacionadas

  • Disciplinas del Miembro: Gestion de la relacion entre miembros y las disciplinas que practican
  • Productos: Las disciplinas dependen del catalogo de productos para vincular el producto de facturacion
  • Gestion de Miembros: Los miembros pueden tener asignadas multiples disciplinas

Criterios de aceptacion

La funcionalidad se considera completa cuando:

  • [x] AC-001: El usuario puede consultar el listado completo de disciplinas con codigo, nombre, producto asociado e indicador de ficha medica
  • [x] AC-002: El usuario puede crear una nueva disciplina con nombre, producto asociado y opcionalmente indicador de ficha medica
  • [x] AC-003: El usuario puede editar todos los campos de una disciplina existente
  • [x] AC-004: El usuario puede eliminar una disciplina que no tenga miembros asignados
  • [x] AC-005: El sistema rechaza la eliminacion de una disciplina con miembros asignados
  • [x] AC-006: El usuario puede alternar el requerimiento de ficha medica directamente desde la tabla con respuesta inmediata
  • [x] AC-007: El sistema muestra notificaciones de exito y error para todas las operaciones

Notas adicionales

  • El indicador de ficha medica es una propiedad de la disciplina, no del miembro. Esto significa que si una disciplina requiere ficha medica, todos los miembros que la practiquen deben presentarla
  • La alternancia de ficha medica utiliza actualizacion optimista: el cambio se refleja inmediatamente en la interfaz y si falla en el servidor se revierte automaticamente
  • A diferencia de las categorias de membresia, la eliminacion de disciplinas no requiere seleccionar un reemplazo; simplemente se valida que no tenga dependencias

Historial de cambios

FechaVersionAutorDescripcion
2026-01-271.0SistemaCreacion del documento de requisitos de negocio (funcionalidad ya implementada)