- Epicas documentadas - Reporte de ejecucion Sprint 6 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
228 lines
6.2 KiB
Markdown
228 lines
6.2 KiB
Markdown
# 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<TrabajoProtesico[]>;
|
|
getById(id: string): Promise<TrabajoProtesico>;
|
|
create(data: CreateProtesis): Promise<TrabajoProtesico>;
|
|
updateEstado(id: string, estado: EstadoProtesis): Promise<TrabajoProtesico>;
|
|
getPendientesLab(): Promise<TrabajoProtesico[]>;
|
|
getGarantiasActivas(): Promise<TrabajoProtesico[]>;
|
|
reclamarGarantia(id: string, motivo: string): Promise<TrabajoProtesico>;
|
|
}
|
|
|
|
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
|