Ir al contenido

Ciclo de Vida de Miembros y Envejecimiento

Los miembros de un plan grupal no se agregan ni se quitan al instante: la mayoría de los cambios se aplican en el límite del ciclo (la fecha de renovación de la suscripción), procesados por el ciclo diario de medianoche. Esto explica por qué un miembro recién agregado puede quedar “pendiente” y por qué un miembro que cumple 18 años se retira solo.

EstadoSignificado
activeMiembro con cobertura vigente.
pending_activationAgregado, en espera del límite del ciclo para activarse.
pending_removalMarcado para remoción; se retira al cierre del ciclo.
removedYa no es miembro.

El motivo de remoción se guarda como manual (acción de un usuario) o age_out (cumplió la edad límite).

Las fechas que gobiernan las transiciones son activates_at (cuándo activar), deactivates_at (cuándo remover), coverage_starts_at y coverage_ends_at (rango de cobertura efectiva).

El paso de ciclo de vida de miembros del ciclo diario ejecuta tres etapas en orden, todas ancladas a la medianoche de Panamá:

graph TD
    A[Ciclo de vida de miembros] --> B[1. Activar pendientes]
    B --> C{¿Cupo disponible<br/>menor a 3?}
    C -->|Sí| D[Estado active<br/>coverage_starts_at = hoy]
    C -->|No| E[Se omite la activación]
    A --> F[2. Remover marcados]
    F --> G{deactivates_at<br/>menor o igual a hoy}
    G -->|Sí| H[Estado removed]
    A --> I[3. Procesar envejecimiento]
    I --> J{DOB + 18 años<br/>respecto a la renovación}
    J --> K[Notificar / marcar para remoción]
  1. Activar pendientes: los miembros pending_activation con activates_at <= hoy pasan a active, siempre que la cuenta tenga cupo. Al activarse se fija coverage_starts_at y se limpia activates_at.
  2. Remover marcados: los pending_removal con deactivates_at <= hoy pasan a removed, registrando el motivo.
  3. Procesar envejecimiento: revisa qué miembros cumplen la edad límite en la próxima renovación (ver abajo).

Cada transición queda asentada en el historial del miembro (old_status, new_status, changed_at, quién la hizo y el motivo).

ReglaDetalle
Máximo de adicionalesHasta 3 miembros no titulares por cuenta.
Qué cuenta para el cupoCuentan los miembros active y pending_removal; los pending_activation aún no ocupan cupo al activarse.
Máximo de adultosSolo 1 adulto no titular por cuenta.
Excepción de hijos adultosLos miembros con parentesco hijo (child) no cuentan como adulto aunque tengan 18 años o más.

El conteo de adultos no hijos considera a los miembros no titulares de 18 años o más, excluyendo a los child. La regla se valida en los tres puntos donde se agregan miembros: el portal del suscriptor (/my/members), el portal del operador y la administración de cuentas. Para los niveles de permiso que aplican a estas acciones, ver Permisos y navegación.

Cuando un miembro cumplirá 18 años para la próxima renovación, el sistema lo retira automáticamente. El ancla de la comparación es fecha de nacimiento + 18 años contra la fecha de vigencia (valid_until) de la suscripción, no la fecha de hoy.

AspectoDetalle
Días de avisoConfigurables por inquilino (age_out_notification_days, por defecto [30, 7, 0]). Ver Configuración y pruebas.
Aviso previoEn cada umbral mayor que 0 se publica una notificación al sistema de comunicaciones.
RemociónCon días = 0 el miembro se marca pending_removal con motivo age_out y deactivates_at en la fecha de renovación; se retira en el paso de remoción del ciclo.
Sin duplicadosCada aviso se registra una sola vez por miembro y umbral; no se reenvía.
  • Un miembro agregado a mitad de ciclo queda pending_activation hasta la renovación.
  • Agregar un segundo adulto no titular se rechaza; agregar un hijo de 18+ se permite (no consume el cupo de adulto).
  • No se puede activar un cuarto miembro si la cuenta ya tiene tres con cobertura.
  • Un miembro que cumple 18 en la renovación recibe los avisos configurados y se retira el día de renovación.
  • Una suscripción individual no permite agregar miembros adicionales.