clinica-dental/docs/04-fase-saas/MGN-017-plans
rckrdmrd 27b4e7bccf [DOCS] feat: Add phase 04-SAAS and 05-IA documentation structure
- Update docs/_MAP.md with new phase references
- Add docs/04-fase-saas/ phase structure
- Add docs/05-fase-ia/ phase structure

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 00:28:18 -06:00
..
_MAP.md [DOCS] feat: Add phase 04-SAAS and 05-IA documentation structure 2026-01-16 00:28:18 -06:00
README.md [DOCS] feat: Add phase 04-SAAS and 05-IA documentation structure 2026-01-16 00:28:18 -06:00

id title type status version created_date updated_date source normativas
MGN-017-plans Modulo Plans - Planes y Feature Gating para Clinica Dental Module Draft 1.0.0 2026-01-13 2026-01-13 erp-core/MGN-017-plans
NOM-013-SSA2-2015

MGN-017: Modulo Plans - Planes y Feature Gating Dental

Descripcion

El modulo Plans gestiona la definicion de planes de suscripcion para clinicas dentales, feature gating por plan, y enforcement de limites y cuotas por consultorio. Controla acceso a funcionalidades especializadas como odontograma digital, radiografias, ortodoncia 3D y herramientas de IA.

Objetivos

  1. Definicion de Planes Dentales - Planes diferenciados por tipo de consultorio
  2. Feature Gating Odontologico - Control de acceso a funcionalidades dentales
  3. Limites por Sillon - Enforcar limites por numero de sillones
  4. Usage Tracking - Monitorear uso de funcionalidades
  5. Upgrade/Downgrade - Flujos para cambio de plan

Planes para Clinica Dental

Plan Precio/mes Sillones Usuarios Storage Pacientes/mes
Consultorio $499 MXN 1 3 5 GB 100
Clinica $1,499 MXN 5 15 25 GB 500
Centro Dental $3,999 MXN Ilimitado Ilimitado 100 GB Ilimitado

Features por Plan

Feature Consultorio Clinica Centro Dental
odontograma_basico Si Si Si
odontograma_digital No Si Si
radiografias_digitales No Si Si
ortodoncia_3d No No Si
presupuestos_dentales Si Si Si
reportes_basicos Si Si Si
reportes_avanzados No Si Si
whatsapp_business No No Si
asistente_ia No No Si
multi_sucursal No No Si
api_access No Si Si
exportar_datos Si Si Si
historial_auditoria 7 dias 30 dias 365 dias

Limites por Plan

Limite Consultorio Clinica Centro Dental
Sillones 1 5 Ilimitado
Usuarios 3 15 Ilimitado
Pacientes/mes 100 500 Ilimitado
Storage 5 GB 25 GB 100 GB
Radiografias/mes 50 250 Ilimitado
API calls/mes 0 10,000 Ilimitado

Alcance

Caracteristica Incluido Notas
Plans CRUD Si Admin only
Limites por sillon Si Enforcement estricto
Feature flags dentales Si Boolean y limites
Quota enforcement Si Middleware
Usage tracking Si Snapshots diarios
Usage alerts Si 80%, 90%, 100%
Overage billing No Fase posterior

Arquitectura

Flujo de Quota Check

Request (ej: crear_radiografia)
   |
   v
+-------------------+
| QuotaMiddleware   |-----> Permitido (si dentro de limite)
+-------------------+
   |
   v (check)
+-------------------+
| PlanLimitsService |
+-------------------+
   |
   v
+-------------------+
| Usage Tracking    |
+-------------------+
   |
   v (excede limite)
QuotaExceededException -> "Limite de radiografias alcanzado"

Prioridad de Evaluacion

  1. Tenant Override - Maxima prioridad, excepciones manuales
  2. Plan Features - Features incluidas en plan de la clinica
  3. Global Flag - Valor default con soporte de rollout

Casos de Uso Odontologicos

Ejemplo: Verificar Feature Odontograma Digital

// Controller
@Get('odontograma/digital')
@FeatureGuard('odontograma_digital')
async getDigitalOdontograma(@Tenant() tenant: Tenant) {
  // Solo accesible para planes Clinica y Centro
  return this.odontogramaService.getDigital(tenant.id);
}

Ejemplo: Verificar Limite de Radiografias

// Antes de crear radiografia
const canCreate = await this.quotaService.checkLimit(
  tenantId,
  'radiografias_mes',
  1 // cantidad a crear
);

if (!canCreate) {
  throw new QuotaExceededException(
    'Limite de radiografias mensuales alcanzado. ' +
    'Actualiza a plan Clinica para mas radiografias.'
  );
}

Contenido del Modulo

Dependencias

Modulos Requeridos

  • MGN-001-tenants - Gestion de tenants (tenant_id)
  • MGN-016-billing - Suscripciones y pagos (plan_id)

Modulos Dependientes

  • Odontograma (feature gating)
  • Radiografias (limites)
  • Ortodoncia (feature gating)
  • IA (feature gating)
  • WhatsApp (feature gating)

Referencias


Modulo: MGN-017-plans | Clinica Dental Propagado desde erp-core via erp-clinicas Actualizado: 2026-01-13