# DENTAL-004: Protesis Dentales ## Metadata - **Codigo:** DENTAL-004 - **Modulo:** Protesis - **Prioridad:** P1 - **Estado:** DDL Completado - **Fase:** 3 - Especialidades ## Descripcion Sistema de gestion de trabajos protesicos: coronas, puentes, dentaduras, implantes. Incluye ordenes de trabajo a laboratorio, seguimiento de estatus, materiales, colores, y garantias. ## Objetivos 1. Registro de trabajos protesicos 2. Ordenes a laboratorio dental 3. Seguimiento de estatus 4. Control de materiales y colores 5. Gestion de garantias ## Alcance ### Incluido - Tipos: corona, puente, parcial removible, total, implante - Piezas involucradas en el trabajo - Integracion con laboratorios externos - Fechas: impresion, envio lab, recepcion, colocacion - Material y color (guia VITA) - Garantias configurables - Costo laboratorio vs precio paciente ### Excluido - Diseno CAD/CAM propio - Impresion 3D in-house - Inventario de protesis prefabricadas ## Tipos de Protesis | Tipo | Descripcion | Piezas | |------|-------------|--------| | corona | Corona unitaria | 1 | | puente | Puente fijo | 3+ | | parcial | Dentadura parcial removible | Variable | | total | Dentadura completa | 14/16 | | implante | Implante con corona | 1 | ## Modelo de Datos ### Tabla: dental.protesis | Campo | Tipo | Descripcion | |-------|------|-------------| | id | UUID | PK | | tenant_id | UUID | FK tenants | | patient_id | UUID | FK patients | | odontologo_id | UUID | FK doctors | | tipo | VARCHAR(50) | corona, puente, etc. | | piezas_involucradas | TEXT[] | ['11', '12', '13'] | | laboratorio_id | UUID | FK proveedores | | fecha_envio_lab | DATE | Envio de impresion | | fecha_recepcion_lab | DATE | Recepcion del trabajo | | material | VARCHAR(100) | Zirconia, metal-porcelana | | color | VARCHAR(50) | A2, B1, etc. | | estado | ENUM | en_proceso, completado | | fecha_colocacion | DATE | Fecha de cementado | | tiene_garantia | BOOLEAN | | | meses_garantia | INTEGER | 12, 24, etc. | | costo_laboratorio | NUMERIC | Costo del lab | | precio_paciente | NUMERIC | Precio cobrado | ## Estados del Trabajo ``` impresion ──► laboratorio ──► prueba ──► ajuste ──► cementado ──► entregado │ └──► devolucion (si hay problemas) ``` | Estado | Descripcion | |--------|-------------| | impresion | Toma de impresion/escaneo | | laboratorio | Enviado al laboratorio | | prueba | Prueba en boca | | ajuste | Requiere ajustes | | cementado | Cementado definitivo | | entregado | Finalizado | ## Endpoints API | Metodo | Endpoint | Descripcion | |--------|----------|-------------| | GET | /protesis | Listar trabajos | | GET | /protesis/:id | Detalle de trabajo | | POST | /protesis | Crear trabajo | | PUT | /protesis/:id | Actualizar trabajo | | PUT | /protesis/:id/estado | Cambiar estado | | GET | /patients/:id/protesis | Trabajos del paciente | | GET | /protesis/laboratorio | Pendientes en lab | | GET | /protesis/garantias | Garantias activas | | POST | /protesis/:id/garantia | Reclamacion garantia | ## Interfaz del Servicio ```typescript interface ProtesisService { getAll(filters?: ProtesisFilters): Promise; getById(id: string): Promise; create(data: CreateProtesis): Promise; updateEstado(id: string, estado: EstadoProtesis): Promise; getPendientesLab(): Promise; getGarantiasActivas(): Promise; reclamarGarantia(id: string, motivo: string): Promise; } interface CreateProtesis { patientId: string; odontologoId: string; tipo: TipoProtesis; piezasInvolucradas: string[]; laboratorioId?: string; material: string; color: string; tieneGarantia: boolean; mesesGarantia?: number; costoLaboratorio: number; precioPaciente: number; } ``` ## Flujos ### Crear Trabajo Protesico ``` 1. Paciente requiere corona/puente 2. Preparacion dental (tallado) 3. Toma de impresion o escaneo digital 4. Seleccion de material y color 5. Crear registro en sistema (estado: impresion) 6. Generar orden de laboratorio 7. Enviar al laboratorio (estado: laboratorio) ``` ### Recepcion y Colocacion ``` 1. Laboratorio entrega trabajo 2. Registrar recepcion (estado: prueba) 3. Prueba en boca del paciente 4. Si ajustes necesarios: devolver a lab 5. Si ok: cementar (estado: cementado) 6. Dar indicaciones al paciente 7. Marcar como entregado 8. Registrar garantia ``` ### Reclamacion de Garantia ``` 1. Paciente reporta problema 2. Verificar periodo de garantia 3. Evaluar tipo de falla 4. Si aplica garantia: - Crear nuevo trabajo sin costo - Enviar a laboratorio para refaccion 5. Si no aplica: presupuesto normal ``` ## Guia de Colores VITA | Codigo | Nombre | Descripcion | |--------|--------|-------------| | A1 | Muy claro | Blanquecino | | A2 | Claro | Ligeramente amarillo | | A3 | Medio | Amarillo medio | | A3.5 | Medio-oscuro | Amarillo intenso | | A4 | Oscuro | Amarillo oscuro | | B1 | Claro | Ligeramente naranja | | B2 | Medio | Naranja claro | | C1, C2 | Gris | Tonos grisaceos | | D2, D3 | Rojizo | Tonos rojizos | ## Materiales Comunes | Material | Uso | Durabilidad | |----------|-----|-------------| | Metal-porcelana | Posterior | Alta | | Zirconia | Anterior/Posterior | Muy alta | | Disilicato litio | Anterior | Alta | | Resina | Provisional | Baja | | Acrilico | Dentaduras | Media | ## Entregables | Entregable | Estado | Archivo | |------------|--------|---------| | DDL protesis | Completado | `database/schemas/01-dental-schema-ddl.sql` | | protesis.module.ts | Pendiente | `backend/modules/protesis/` | | protesis.service.ts | Pendiente | `backend/services/` | | OrdenLaboratorio.tsx | Pendiente | `frontend/components/` | | ProtesisTracker.tsx | Pendiente | `frontend/components/` | ## Dependencias ### Depende de - clinica.patients (erp-clinicas) - DENTAL-001 (Odontograma - piezas) - Catalogo proveedores (laboratorios) ### Bloquea a - Reportes de protesis - Integracion con laboratorios digitales ## Criterios de Aceptacion - [ ] CRUD de trabajos protesicos - [ ] Estados se actualizan correctamente - [ ] Piezas involucradas se registran - [ ] Orden a laboratorio se genera - [ ] Color y material se guardan - [ ] Garantias se controlan - [ ] Costos lab vs paciente --- **Ultima actualizacion:** 2026-01-07