clinica-veterinaria/docs/04-fase-saas/MGN-019-feature-flags/README.md
rckrdmrd c4620ca4e9 [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

166 lines
4.7 KiB
Markdown

---
id: MGN-019-fflags-vet
title: Sistema de Feature Flags Veterinarios
type: Module
status: Draft
priority: P1
version: 1.0.0
created_date: 2026-01-13
updated_date: 2026-01-13
source: erp-core/MGN-019-feature-flags
---
# MGN-019: Sistema de Feature Flags para Clinicas Veterinarias
## Descripcion
Sistema propio de feature flags para control granular de funcionalidades veterinarias por clinica y plan. Permite toggle de features sin redeploy, rollout gradual por porcentaje de clinicas, y override manual por clinica.
## Normativas Aplicables
- **NOM-064-ZOO-2000**: Features relacionadas con prescripcion
- **SENASICA**: Features de reportes oficiales
- **Bienestar Animal**: Features de hospitalizacion
## Objetivos
- Toggle features veterinarias sin necesidad de redeploy
- Flags configurables por clinica y por plan
- Gradual rollout (porcentaje de clinicas)
- A/B testing de funcionalidades
- Override manual por clinica con expiracion opcional
## Feature Flags Veterinarios
### Core - Disponibles en todos los planes
| Flag | Descripcion | Default |
|------|-------------|---------|
| `expediente_digital` | Expediente clinico digital | ON |
| `cartilla_vacunacion` | Cartilla de vacunacion digital | ON |
| `agenda_citas` | Sistema de citas | ON |
| `registro_mascotas` | Registro de pacientes | ON |
### Profesional - Plan Profesional+
| Flag | Descripcion | Default |
|------|-------------|---------|
| `hospitalizacion` | Modulo de internamiento | OFF (plan < Profesional) |
| `laboratorio` | Integracion con laboratorios | OFF (plan < Profesional) |
| `whatsapp_notifications` | Notificaciones WhatsApp | OFF (plan < Profesional) |
| `control_vacunas` | Recordatorios automaticos de vacunas | OFF (plan < Profesional) |
### Clinica - Plan Clinica+
| Flag | Descripcion | Default |
|------|-------------|---------|
| `asistente_ia` | Asistente veterinario IA | OFF (plan < Clinica) |
| `reportes_avanzados` | Analytics y dashboards | OFF (plan < Clinica) |
| `webhooks_outbound` | Webhooks a sistemas externos | OFF (plan < Clinica) |
| `telemedicina` | Consultas remotas | OFF (plan < Clinica) |
### Hospital - Plan Hospital
| Flag | Descripcion | Default |
|------|-------------|---------|
| `multi_sucursal` | Gestion multi-sede | OFF (plan < Hospital) |
| `api_publica` | Acceso a API REST | OFF (plan < Hospital) |
| `custom_branding` | Personalizacion de marca | OFF (plan < Hospital) |
| `senasica_integration` | Reportes automaticos SENASICA | OFF (plan < Hospital) |
### Experimentales (Rollout Gradual)
| Flag | Descripcion | Rollout % |
|------|-------------|-----------|
| `nueva_ui_expediente` | Nueva interfaz de expediente | 10% |
| `ia_diagnostico_apoyo` | IA de apoyo diagnostico | 5% |
| `telemedicina_video` | Videollamadas con propietarios | 15% |
| `integracion_wearables` | Collares inteligentes | 0% (beta cerrada) |
## Arquitectura de Evaluacion
```
Request a funcionalidad veterinaria
|
v
+-------------------+
| FeatureFlagService|
+-------------------+
|
+---> 1. Check override de clinica
| |
| v (si existe)
| Return override value
|
+---> 2. Check plan de clinica
| |
| v (si feature en plan)
| Return plan value
|
+---> 3. Check rollout %
| |
| v
| Evaluate by clinic_id hash
|
v
Return final value (ON/OFF)
```
## Prioridad de Evaluacion
1. **Override de Clinica** - Maxima prioridad, permite excepciones manuales
2. **Features del Plan** - Segun plan contratado por la clinica
3. **Rollout Gradual** - Para features experimentales
## Casos de Uso
### Caso 1: Activar Beta para Clinica Especifica
```yaml
# Override para clinica VIP
override:
clinica_id: "vet-premium-001"
flag: "ia_diagnostico_apoyo"
value: true
expires_at: "2026-03-01"
reason: "Beta tester"
```
### Caso 2: Rollout Gradual de Telemedicina
```yaml
# Rollout gradual 15%
flag:
name: "telemedicina_video"
rollout_percentage: 15
target_plans: ["clinica", "hospital"]
tracking_enabled: true
```
### Caso 3: Desactivar Feature por Incidente
```yaml
# Kill switch de emergencia
flag:
name: "integracion_laboratorio_externo"
value: false
reason: "Incidente API externa - ticket INC-001"
disabled_by: "admin@clinica.com"
disabled_at: "2026-01-13T10:00:00Z"
```
## Documentacion del Modulo
- [Mapa del Modulo](./_MAP.md)
- [Requerimientos](./requerimientos/INDICE-RF-FFLAGS.md)
- [Especificaciones](./especificaciones/INDICE-ET-FFLAGS.md)
- [Historias de Usuario](./historias-usuario/INDICE-US-FFLAGS.md)
- [Trazabilidad](./implementacion/TRACEABILITY.yml)
---
*Modulo: MGN-019-feature-flags-vet*
*Propagado desde: erp-core/MGN-019-feature-flags*
*Adaptado para: Dominio veterinario*
*Actualizado: 2026-01-13*