erp-clinicas-database-v2/HERENCIA-ERP-CORE.md
rckrdmrd cf07a84e26 Migración desde erp-clinicas/database - Estándar multi-repo v2
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 08:12:00 -06:00

8.9 KiB

Herencia de Base de Datos - ERP Core -> Clínicas

Fecha: 2025-12-08 Versión: 1.0 Vertical: Clínicas Nivel: 2B.2


RESUMEN

La vertical de Clínicas hereda los schemas base del ERP Core y extiende con schemas específicos del dominio de gestión médica y expediente clínico.

Ubicación DDL Core: apps/erp-core/database/ddl/


ARQUITECTURA DE HERENCIA

┌─────────────────────────────────────────────────────────────────┐
│                        ERP CORE (Base)                          │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐   │
│  │  auth   │ │  core   │ │financial│ │inventory│ │    hr   │   │
│  │ 26 tbl  │ │ 12 tbl  │ │ 15 tbl  │ │ 15 tbl  │ │  6 tbl  │   │
│  └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘   │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐               │
│  │ sales   │ │analytics│ │ system  │ │   crm   │               │
│  │  6 tbl  │ │  5 tbl  │ │ 10 tbl  │ │  5 tbl  │               │
│  └─────────┘ └─────────┘ └─────────┘ └─────────┘               │
│                        TOTAL: ~100 tablas heredadas             │
└─────────────────────────────────────────────────────────────────┘
                              │
                              │ HEREDA
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                    CLÍNICAS (Extensiones)                       │
│  ┌───────────────┐ ┌───────────────┐ ┌───────────────┐         │
│  │   medical     │ │ appointments  │ │   patients    │         │
│  │ (expediente)  │ │    (citas)    │ │  (pacientes)  │         │
│  └───────────────┘ └───────────────┘ └───────────────┘         │
│                   EXTENSIONES: ~35 tablas (planificadas)        │
└─────────────────────────────────────────────────────────────────┘

SCHEMAS HEREDADOS DEL CORE

Schema Tablas Uso en Clínicas
auth 26 Autenticación, usuarios médicos
core 12 Partners (pacientes), catálogos
financial 15 Facturas de servicios médicos
inventory 15 Medicamentos, insumos
hr 6 Personal médico
sales 6 Servicios médicos
crm 5 Seguimiento de pacientes
analytics 5 Estadísticas médicas
system 10 Recordatorios, notificaciones

Total heredado: ~100 tablas


SCHEMAS ESPECÍFICOS DE CLÍNICAS (Planificados)

1. Schema patients (estimado 10+ tablas)

Propósito: Gestión de pacientes

-- Tablas principales planificadas:
patients.patients                -- Pacientes (extiende core.partners)
patients.patient_contacts        -- Contactos de emergencia
patients.insurance_policies      -- Pólizas de seguro
patients.medical_history         -- Antecedentes médicos
patients.allergies               -- Alergias
patients.family_history          -- Antecedentes familiares

2. Schema medical (estimado 15+ tablas)

Propósito: Expediente clínico electrónico

-- Tablas principales planificadas:
medical.consultations           -- Consultas médicas
medical.diagnoses               -- Diagnósticos (CIE-10)
medical.prescriptions           -- Recetas médicas
medical.prescription_lines      -- Medicamentos recetados
medical.vital_signs             -- Signos vitales
medical.lab_results             -- Resultados de laboratorio
medical.imaging_studies         -- Estudios de imagen
medical.clinical_notes          -- Notas clínicas
medical.treatments              -- Tratamientos

3. Schema appointments (estimado 10+ tablas)

Propósito: Gestión de citas

-- Tablas principales planificadas:
appointments.doctors             -- Médicos
appointments.specialties         -- Especialidades
appointments.doctor_schedules    -- Horarios de médicos
appointments.consulting_rooms    -- Consultorios
appointments.appointments        -- Citas
appointments.appointment_types   -- Tipos de cita
appointments.reminders           -- Recordatorios

SPECS DEL CORE APLICABLES

Documento detallado: orchestration/00-guidelines/HERENCIA-SPECS-CORE.md

Correcciones de DDL Core (2025-12-08)

El DDL del ERP-Core fue corregido para resolver FK inválidas:

  1. stock_valuation_layers: Campos journal_entry_id y journal_entry_line_id (antes account_move_*)
  2. stock_move_consume_rel: Nueva tabla de trazabilidad (antes move_line_consume_rel)
  3. category_stock_accounts: FK corregida a core.product_categories
  4. product_categories: ALTERs ahora apuntan a schema core

SPECS Obligatorias

Spec Core Aplicación en Clínicas SP Estado
SPEC-SISTEMA-SECUENCIAS Foliado de expedientes y citas 8 DDL LISTO
SPEC-SEGURIDAD-API-KEYS-PERMISOS Control de acceso a expedientes 31 DDL LISTO
SPEC-INTEGRACION-CALENDAR Agenda de citas médicas 8 PENDIENTE
SPEC-RRHH-EVALUACIONES-SKILLS Credenciales médicas 26 DDL LISTO
SPEC-MAIL-THREAD-TRACKING Historial de comunicación 13 DDL LISTO
SPEC-WIZARD-TRANSIENT-MODEL Wizards de receta y referencia 8 PENDIENTE
SPEC-FIRMA-ELECTRONICA-NOM151 Firma de expedientes clínicos 13 PENDIENTE
SPEC-TWO-FACTOR-AUTHENTICATION Seguridad de acceso 13 DDL LISTO
SPEC-OAUTH2-SOCIAL-LOGIN Portal de pacientes 8 DDL LISTO

SPECS Opcionales

Spec Core Decisión Razón
SPEC-VALORACION-INVENTARIO EVALUAR Solo si hay farmacia interna
SPEC-PRICING-RULES EVALUAR Para paquetes de servicios
SPEC-TAREAS-RECURRENTES EVALUAR Para citas periódicas

SPECS No Aplican

Spec Core Razón
SPEC-PORTAL-PROVEEDORES No hay compras complejas
SPEC-BLANKET-ORDERS No aplica en servicios médicos
SPEC-INVENTARIOS-CICLICOS Solo si hay farmacia grande
SPEC-PROYECTOS-DEPENDENCIAS-BURNDOWN No hay proyectos de este tipo

Cumplimiento Normativo

Norma Descripción SPECS Relacionadas
NOM-024-SSA3-2012 Expediente clínico electrónico SPEC-SEGURIDAD, SPEC-MAIL-THREAD
LFPDPPP Protección de datos personales SPEC-SEGURIDAD, SPEC-2FA
NOM-004-SSA3-2012 Expediente clínico SPEC-FIRMA-ELECTRONICA

CUMPLIMIENTO NORMATIVO

Este sistema debe cumplir con:

Norma Descripción Impacto
NOM-024-SSA3-2012 Expediente clínico electrónico Estructura de datos
LFPDPPP Protección de datos personales Seguridad y acceso
NOM-004-SSA3-2012 Expediente clínico Contenido mínimo

ORDEN DE EJECUCIÓN DDL (Futuro)

# PASO 1: Cargar ERP Core (base)
cd apps/erp-core/database
./scripts/reset-database.sh --force

# PASO 2: Cargar extensiones de Clínicas
cd apps/verticales/clinicas/database
psql $DATABASE_URL -f init/00-extensions.sql
psql $DATABASE_URL -f init/01-create-schemas.sql
psql $DATABASE_URL -f init/02-patients-tables.sql
psql $DATABASE_URL -f init/03-medical-tables.sql
psql $DATABASE_URL -f init/04-appointments-tables.sql

MAPEO DE NOMENCLATURA

Core Clínicas
core.partners Pacientes base
hr.employees Personal médico
inventory.products Medicamentos, insumos
sales.sale_orders Servicios médicos
financial.invoices Facturas de consultas

REFERENCIAS

  • ERP Core DDL: apps/erp-core/database/ddl/
  • ERP Core README: apps/erp-core/database/README.md
  • Directivas: orchestration/directivas/
  • Inventarios: orchestration/inventarios/

Documento de herencia oficial Última actualización: 2025-12-08