8.9 KiB
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:
- stock_valuation_layers: Campos
journal_entry_idyjournal_entry_line_id(antesaccount_move_*) - stock_move_consume_rel: Nueva tabla de trazabilidad (antes
move_line_consume_rel) - category_stock_accounts: FK corregida a
core.product_categories - 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