clinica-dental/docs/_quick/QUICK-DATABASE.yml
2026-01-16 04:14:26 -06:00

198 lines
5.9 KiB
YAML

# Navegacion Rapida de Base de Datos
# Proyecto: clinica-dental
version: "1.0.0"
proyecto: "clinica-dental"
fecha_creacion: "2026-01-16"
# ============================================================================
# SCHEMAS
# ============================================================================
schemas:
dental:
descripcion: "Schema principal de especializacion dental"
tablas_count: 11
tablas_principales:
- piezas_dentales
- tratamientos_catalogo
- odontogramas
- odontograma_piezas
- tratamientos_paciente
- ortodoncia
- ortodoncia_citas
- protesis
- radiografias
- presupuestos
- presupuesto_lineas
clinica:
descripcion: "Schema heredado de erp-clinicas"
desde: "erp-clinicas"
tablas_principales:
- patients
- doctors
- specialties
- appointments
- consultations
auth:
descripcion: "Schema de autenticacion"
desde: "erp-core"
tenants:
descripcion: "Schema de multi-tenancy"
desde: "erp-core"
# ============================================================================
# TABLAS PRINCIPALES (Top 10)
# ============================================================================
tablas_principales:
- nombre: "odontogramas"
schema: "dental"
descripcion: "Odontogramas de pacientes"
modulo: "DENTAL-001"
relaciones: ["odontograma_piezas", "tratamientos_paciente"]
- nombre: "odontograma_piezas"
schema: "dental"
descripcion: "Estado de cada pieza en el odontograma"
modulo: "DENTAL-001"
relaciones: ["odontogramas", "piezas_dentales"]
- nombre: "piezas_dentales"
schema: "dental"
descripcion: "Catalogo de piezas dentales (FDI)"
tipo: "catalogo_global"
registros: 52
- nombre: "tratamientos_catalogo"
schema: "dental"
descripcion: "Catalogo de tratamientos por tenant"
modulo: "DENTAL-002"
tipo: "catalogo_tenant"
- nombre: "tratamientos_paciente"
schema: "dental"
descripcion: "Tratamientos realizados a pacientes"
modulo: "DENTAL-002"
relaciones: ["tratamientos_catalogo", "odontogramas", "piezas_dentales"]
- nombre: "ortodoncia"
schema: "dental"
descripcion: "Casos de ortodoncia"
modulo: "DENTAL-003"
relaciones: ["ortodoncia_citas"]
- nombre: "protesis"
schema: "dental"
descripcion: "Trabajos protesicos"
modulo: "DENTAL-004"
- nombre: "radiografias"
schema: "dental"
descripcion: "Radiografias dentales"
modulo: "DENTAL-005"
relaciones: ["piezas_dentales"]
- nombre: "presupuestos"
schema: "dental"
descripcion: "Presupuestos de tratamiento"
modulo: "DENTAL-006"
relaciones: ["presupuesto_lineas"]
- nombre: "presupuesto_lineas"
schema: "dental"
descripcion: "Lineas de presupuesto"
modulo: "DENTAL-006"
relaciones: ["presupuestos", "tratamientos_catalogo", "piezas_dentales"]
# ============================================================================
# BUSQUEDA RAPIDA
# ============================================================================
busqueda:
por_modulo:
DENTAL-001: ["odontogramas", "odontograma_piezas", "piezas_dentales"]
DENTAL-002: ["tratamientos_catalogo", "tratamientos_paciente"]
DENTAL-003: ["ortodoncia", "ortodoncia_citas"]
DENTAL-004: ["protesis"]
DENTAL-005: ["radiografias"]
DENTAL-006: ["presupuestos", "presupuesto_lineas"]
por_tipo:
catalogo_global:
- piezas_dentales
catalogo_tenant:
- tratamientos_catalogo
transaccional:
- odontogramas
- odontograma_piezas
- tratamientos_paciente
- ortodoncia
- ortodoncia_citas
- protesis
- radiografias
- presupuestos
- presupuesto_lineas
# ============================================================================
# ENUMS
# ============================================================================
enums:
estado_pieza:
schema: "dental"
valores: ["sano", "caries", "obturacion", "endodoncia", "corona", "puente", "implante", "ausente", "extraccion_indicada", "diente_temporal", "fractura", "movilidad"]
cara_dental:
schema: "dental"
valores: ["mesial", "distal", "oclusal", "incisal", "vestibular", "bucal", "lingual", "palatino"]
estado_tratamiento:
schema: "dental"
valores: ["pendiente", "en_proceso", "completado", "cancelado"]
tipo_ortodoncia:
schema: "dental"
valores: ["brackets_metalicos", "brackets_esteticos", "brackets_linguales", "alineadores", "removible", "retenedor"]
# ============================================================================
# ARCHIVOS DDL
# ============================================================================
ddl:
ubicacion: "database/schemas/"
archivos:
- archivo: "01-dental-schema-ddl.sql"
descripcion: "Schema dental completo"
fecha: "2026-01-04"
# ============================================================================
# SEEDS
# ============================================================================
seeds:
ubicacion: "database/seeds/fase8/"
archivos:
- archivo: "01-dental-catalogos.sql"
descripcion: "Seeds de catalogos dentales"
# ============================================================================
# RLS (Row Level Security)
# ============================================================================
rls:
habilitado: true
patron: "tenant_id = current_setting('app.current_tenant_id', true)::UUID"
tablas_con_rls:
- tratamientos_catalogo
- odontogramas
- odontograma_piezas
- tratamientos_paciente
- ortodoncia
- ortodoncia_citas
- protesis
- radiografias
- presupuestos
- presupuesto_lineas
# ============================================================================
# REFERENCIAS
# ============================================================================
referencias:
schema_completo: "@PROJ_DEF_DB"
entities: "@PROJ_DEF_ENTITIES"
inventario: "orchestration/inventarios/DATABASE_INVENTORY.yml"