clinica-dental/docs/01-epicas/DENTAL-002-tratamientos.md
rckrdmrd 0cb74ec2c1 [SPRINT-6] docs: Agregar documentacion y reportes
- Epicas documentadas
- Reporte de ejecucion Sprint 6

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 08:53:42 -06:00

6.2 KiB

DENTAL-002: Tratamientos Dentales

Metadata

  • Codigo: DENTAL-002
  • Modulo: Tratamientos
  • Prioridad: P0
  • Estado: DDL Completado
  • Fase: 2 - Tratamientos

Descripcion

Sistema de gestion de tratamientos odontologicos: catalogo de procedimientos, planes de tratamiento personalizados, seguimiento de citas, asociacion a piezas dentales y costos.

Objetivos

  1. Catalogo de procedimientos dentales
  2. Planes de tratamiento por paciente
  3. Asociacion tratamiento-pieza dental
  4. Seguimiento de estado
  5. Registro de costos

Alcance

Incluido

  • Catalogo de tratamientos por tenant
  • Categorias: prevencion, restauracion, endodoncia, etc.
  • Asociacion a pieza y caras especificas
  • Estados: pendiente, en_proceso, completado, cancelado
  • Duracion estimada y real
  • Precios y descuentos
  • Vinculacion con citas

Excluido

  • Generacion automatica de presupuestos (ver DENTAL-006)
  • Integracion con inventario de materiales
  • Consentimientos informados digitales

Catalogo de Procedimientos

Prevencion

Codigo Procedimiento Duracion Precio Base
PREV-001 Limpieza dental (profilaxis) 30 min $500
PREV-002 Aplicacion de fluor 15 min $200
PREV-003 Selladores de fosetas 20 min $350
PREV-004 Detartraje 45 min $800

Restauracion

Codigo Procedimiento Duracion Precio Base
REST-001 Resina simple (1 cara) 30 min $600
REST-002 Resina compuesta (2+ caras) 45 min $900
REST-003 Incrustacion inlay 60 min $2,500
REST-004 Incrustacion onlay 60 min $3,000
REST-005 Reconstruccion 60 min $1,500

Endodoncia

Codigo Procedimiento Duracion Precio Base
ENDO-001 Conductos unirradicular 60 min $2,500
ENDO-002 Conductos birradicular 90 min $3,500
ENDO-003 Conductos multirradicular 120 min $4,500
ENDO-004 Retratamiento 90 min $3,000

Cirugia

Codigo Procedimiento Duracion Precio Base
CIR-001 Extraccion simple 30 min $600
CIR-002 Extraccion quirurgica 45 min $1,200
CIR-003 Tercer molar retenido 60 min $2,500

Modelo de Datos

Tablas

dental.tratamientos_catalogo

  • id, tenant_id, codigo, nombre
  • categoria, descripcion
  • duracion_minutos, precio_base
  • requiere_rx, requiere_anestesia
  • active

dental.tratamientos_paciente

  • id, tenant_id, patient_id
  • odontograma_id, tratamiento_id
  • odontologo_id, consultation_id
  • pieza_id, caras_tratadas[]
  • fecha_inicio, fecha_fin
  • estado, precio, descuento, precio_final
  • notas

Endpoints API

Metodo Endpoint Descripcion
GET /tratamientos/catalogo Listar catalogo
POST /tratamientos/catalogo Crear procedimiento
PUT /tratamientos/catalogo/:id Actualizar
DELETE /tratamientos/catalogo/:id Desactivar
GET /patients/:id/tratamientos Tratamientos de paciente
POST /patients/:id/tratamientos Crear tratamiento
PUT /tratamientos/:id Actualizar tratamiento
PUT /tratamientos/:id/estado Cambiar estado
GET /tratamientos/pendientes Tratamientos pendientes
GET /tratamientos/hoy Tratamientos del dia

Interfaz del Servicio

interface TratamientosService {
  // Catalogo
  getCatalogo(filters?: CatalogoFilters): Promise<Tratamiento[]>;
  createProcedimiento(data: CreateProcedimiento): Promise<Tratamiento>;

  // Tratamientos paciente
  getByPatient(patientId: string): Promise<TratamientoPaciente[]>;
  create(data: CreateTratamientoPaciente): Promise<TratamientoPaciente>;
  updateEstado(id: string, estado: EstadoTratamiento): Promise<TratamientoPaciente>;

  // Reportes
  getPendientes(odontologoId?: string): Promise<TratamientoPaciente[]>;
  getCompletadosHoy(): Promise<TratamientoPaciente[]>;
}

interface CreateTratamientoPaciente {
  patientId: string;
  tratamientoId: string;
  odontologoId: string;
  piezaId?: string;
  carasTratadas?: CaraDental[];
  precio?: number;
  descuento?: number;
  notas?: string;
}

Flujos

Registrar Tratamiento

1. Odontologo en consulta del paciente
2. Revisa odontograma actual
3. Identifica pieza a tratar
4. Selecciona procedimiento del catalogo
5. Especifica caras afectadas (si aplica)
6. Confirma precio (puede aplicar descuento)
7. Guarda tratamiento como "pendiente" o "en_proceso"
8. Sistema actualiza estado del odontograma

Completar Tratamiento

1. Odontologo abre tratamiento en curso
2. Registra notas del procedimiento
3. Cambia estado a "completado"
4. Sistema registra fecha de finalizacion
5. Actualiza odontograma automaticamente
6. Tratamiento listo para facturacion

Estados de Tratamiento

pendiente ──► en_proceso ──► completado
     │              │
     └──────────────┴──► cancelado
Estado Descripcion Facturar
pendiente Agendado, no iniciado No
en_proceso En ejecucion Parcial
completado Finalizado Si
cancelado No se realizara No

Entregables

Entregable Estado Archivo
DDL tratamientos Completado database/schemas/01-dental-schema-ddl.sql
tratamientos.module.ts Pendiente backend/modules/tratamientos/
tratamientos.service.ts Pendiente backend/services/
Seeds catalogo Pendiente database/seeds/
TratamientosList.tsx Pendiente frontend/components/
TratamientoForm.tsx Pendiente frontend/components/

Dependencias

Depende de

  • DENTAL-001 (Odontograma)
  • clinica.patients (erp-clinicas)
  • clinica.consultations (erp-clinicas)

Bloquea a

  • DENTAL-006 (Presupuestos)
  • Facturacion

Criterios de Aceptacion

  • Catalogo de procedimientos por tenant
  • CRUD de tratamientos por paciente
  • Asociacion a pieza dental
  • Estados se actualizan correctamente
  • Historial de tratamientos visible
  • Precio final calcula con descuento
  • Integracion con citas funciona

Ultima actualizacion: 2026-01-07