--- # DATABASE INVENTORY - Clinica Dental # Version: 1.0.0 # Ultima actualizacion: 2026-01-07 proyecto: "clinica-dental" schema_principal: "dental" version_ddl: "1.0" estado: "completado" herencia: vertical_padre: "erp-clinicas" suite_core: "erp-core" schemas_heredados: - name: "auth" desde: "erp-core" - name: "tenants" desde: "erp-core" - name: "users" desde: "erp-core" - name: "clinica" desde: "erp-clinicas" tablas: ["patients", "doctors", "appointments", "consultations"] enums: - name: "estado_pieza" values: - "sano" - "caries" - "obturacion" - "endodoncia" - "corona" - "puente" - "implante" - "ausente" - "extraccion_indicada" - "diente_temporal" - "fractura" - "movilidad" - name: "cara_dental" values: - "mesial" - "distal" - "oclusal" - "incisal" - "vestibular" - "bucal" - "lingual" - "palatino" - name: "estado_tratamiento" values: - "pendiente" - "en_proceso" - "completado" - "cancelado" - name: "tipo_ortodoncia" values: - "brackets_metalicos" - "brackets_esteticos" - "brackets_linguales" - "alineadores" - "removible" - "retenedor" catalogos: - name: "piezas_dentales" descripcion: "Catalogo de piezas dentales (nomenclatura FDI)" registros: 52 columnas: - "id: UUID PK" - "numero: VARCHAR(10) UNIQUE" - "nombre: VARCHAR(50)" - "cuadrante: INTEGER (1-8)" - "es_temporal: BOOLEAN" - "descripcion: TEXT" - name: "tratamientos_catalogo" descripcion: "Catalogo de tratamientos por tenant" columnas: - "id: UUID PK" - "tenant_id: UUID FK" - "codigo: VARCHAR(20)" - "nombre: VARCHAR(100)" - "categoria: VARCHAR(50)" - "duracion_minutos: INTEGER" - "precio_base: NUMERIC(10,2)" - "requiere_rx: BOOLEAN" - "requiere_anestesia: BOOLEAN" tablas: - name: "odontogramas" descripcion: "Odontogramas de pacientes" rls: true columnas: - "id: UUID PK" - "tenant_id: UUID FK" - "patient_id: UUID FK (clinica.patients)" - "fecha_creacion: DATE" - "fecha_actualizacion: DATE" - "notas: TEXT" indices: - "idx_odontogramas_tenant" - "idx_odontogramas_patient" - name: "odontograma_piezas" descripcion: "Estado de cada pieza en el odontograma" rls: true columnas: - "id: UUID PK" - "tenant_id: UUID FK" - "odontograma_id: UUID FK" - "pieza_id: UUID FK (piezas_dentales)" - "estado: dental.estado_pieza" - "caras_afectadas: JSONB" - "observaciones: TEXT" indices: - "idx_odontograma_piezas_odontograma" - "idx_odontograma_piezas_pieza" - name: "tratamientos_paciente" descripcion: "Tratamientos realizados a pacientes" rls: true columnas: - "id: UUID PK" - "tenant_id: UUID FK" - "patient_id: UUID FK" - "odontograma_id: UUID FK" - "tratamiento_id: UUID FK (tratamientos_catalogo)" - "odontologo_id: UUID FK" - "consultation_id: UUID FK" - "pieza_id: UUID FK" - "caras_tratadas: dental.cara_dental[]" - "fecha_inicio: DATE" - "fecha_fin: DATE" - "estado: dental.estado_tratamiento" - "precio: NUMERIC(10,2)" - "descuento: NUMERIC(5,2)" - "precio_final: NUMERIC(10,2)" indices: - "idx_tratamientos_paciente_tenant" - "idx_tratamientos_paciente_patient" - "idx_tratamientos_paciente_estado" - name: "ortodoncia" descripcion: "Casos de ortodoncia" rls: true columnas: - "id: UUID PK" - "tenant_id: UUID FK" - "patient_id: UUID FK" - "odontologo_id: UUID FK" - "tipo: dental.tipo_ortodoncia" - "marca: VARCHAR(100)" - "fecha_inicio: DATE" - "fecha_estimada_fin: DATE" - "fecha_real_fin: DATE" - "estado: dental.estado_tratamiento" - "meses_estimados: INTEGER" - "costo_total: NUMERIC(10,2)" - "enganche: NUMERIC(10,2)" - "mensualidad: NUMERIC(10,2)" indices: - "idx_ortodoncia_tenant" - "idx_ortodoncia_patient" - "idx_ortodoncia_estado" - name: "ortodoncia_citas" descripcion: "Citas de seguimiento de ortodoncia" rls: true columnas: - "id: UUID PK" - "tenant_id: UUID FK" - "ortodoncia_id: UUID FK" - "appointment_id: UUID FK" - "fecha: DATE" - "numero_cita: INTEGER" - "procedimiento: TEXT" - "arco_superior: VARCHAR(50)" - "arco_inferior: VARCHAR(50)" - "ligas: VARCHAR(50)" - "proxima_cita: DATE" indices: - "idx_ortodoncia_citas_ortodoncia" - name: "protesis" descripcion: "Trabajos protesicos" rls: true columnas: - "id: UUID PK" - "tenant_id: UUID FK" - "patient_id: UUID FK" - "odontologo_id: UUID FK" - "tipo: VARCHAR(50)" - "piezas_involucradas: TEXT[]" - "laboratorio_id: UUID FK" - "fecha_envio_lab: DATE" - "fecha_recepcion_lab: DATE" - "material: VARCHAR(100)" - "color: VARCHAR(50)" - "estado: dental.estado_tratamiento" - "fecha_colocacion: DATE" - "tiene_garantia: BOOLEAN" - "meses_garantia: INTEGER" - "costo_laboratorio: NUMERIC(10,2)" - "precio_paciente: NUMERIC(10,2)" indices: - "idx_protesis_tenant" - "idx_protesis_patient" - name: "radiografias" descripcion: "Radiografias dentales" rls: true columnas: - "id: UUID PK" - "tenant_id: UUID FK" - "patient_id: UUID FK" - "consultation_id: UUID FK" - "tipo: VARCHAR(50)" - "pieza_id: UUID FK" - "fecha: DATE" - "url_imagen: VARCHAR(255)" - "interpretacion: TEXT" indices: - "idx_radiografias_tenant" - "idx_radiografias_patient" - name: "presupuestos" descripcion: "Presupuestos de tratamiento" rls: true columnas: - "id: UUID PK" - "tenant_id: UUID FK" - "patient_id: UUID FK" - "odontologo_id: UUID FK" - "numero: VARCHAR(20)" - "fecha: DATE" - "fecha_vencimiento: DATE" - "estado: VARCHAR(20)" - "subtotal: NUMERIC(12,2)" - "descuento_porcentaje: NUMERIC(5,2)" - "descuento_monto: NUMERIC(12,2)" - "total: NUMERIC(12,2)" - "requiere_financiamiento: BOOLEAN" - "enganche: NUMERIC(12,2)" - "numero_pagos: INTEGER" - "monto_pago: NUMERIC(12,2)" indices: - "idx_presupuestos_tenant" - "idx_presupuestos_patient" - "idx_presupuestos_estado" - name: "presupuesto_lineas" descripcion: "Lineas de presupuesto" rls: true columnas: - "id: UUID PK" - "tenant_id: UUID FK" - "presupuesto_id: UUID FK" - "tratamiento_id: UUID FK" - "pieza_id: UUID FK" - "descripcion: TEXT" - "cantidad: INTEGER" - "precio_unitario: NUMERIC(10,2)" - "descuento: NUMERIC(5,2)" - "subtotal: NUMERIC(10,2)" - "sequence: INTEGER" indices: - "idx_presupuesto_lineas_presupuesto" resumen: total_enums: 4 total_catalogos: 2 total_tablas: 10 total_con_rls: 10 archivos_ddl: - "database/schemas/01-dental-schema-ddl.sql" archivos_seeds: - "database/seeds/fase8/01-dental-catalogos.sql" ultima_actualizacion: "2026-01-07" actualizado_por: "Orquestador Workspace"