158 lines
6.5 KiB
YAML
158 lines
6.5 KiB
YAML
# Navegacion Rapida de API
|
|
# Proyecto: clinica-dental
|
|
|
|
version: "1.0.0"
|
|
proyecto: "clinica-dental"
|
|
fecha_creacion: "2026-01-16"
|
|
estado: "planificado"
|
|
|
|
# ============================================================================
|
|
# ENDPOINTS PLANIFICADOS POR MODULO
|
|
# ============================================================================
|
|
por_modulo:
|
|
odontograma:
|
|
base: "/api/v1/dental/odontogramas"
|
|
estado: "planificado"
|
|
endpoints:
|
|
- { method: "POST", path: "/", descripcion: "Crear odontograma" }
|
|
- { method: "GET", path: "/paciente/:patientId", descripcion: "Obtener odontograma activo" }
|
|
- { method: "GET", path: "/paciente/:patientId/historial", descripcion: "Historial de odontogramas" }
|
|
- { method: "PATCH", path: "/:id/pieza", descripcion: "Actualizar estado de pieza" }
|
|
- { method: "GET", path: "/:id", descripcion: "Obtener odontograma por ID" }
|
|
|
|
tratamientos:
|
|
base: "/api/v1/dental/tratamientos"
|
|
estado: "planificado"
|
|
endpoints:
|
|
- { method: "GET", path: "/catalogo", descripcion: "Listar catalogo de tratamientos" }
|
|
- { method: "POST", path: "/catalogo", descripcion: "Crear tratamiento en catalogo" }
|
|
- { method: "POST", path: "/", descripcion: "Registrar tratamiento a paciente" }
|
|
- { method: "GET", path: "/paciente/:patientId", descripcion: "Tratamientos de paciente" }
|
|
- { method: "PATCH", path: "/:id/completar", descripcion: "Marcar como completado" }
|
|
- { method: "GET", path: "/pendientes", descripcion: "Tratamientos pendientes" }
|
|
|
|
ortodoncia:
|
|
base: "/api/v1/dental/ortodoncia"
|
|
estado: "planificado"
|
|
endpoints:
|
|
- { method: "POST", path: "/", descripcion: "Crear caso de ortodoncia" }
|
|
- { method: "GET", path: "/paciente/:patientId", descripcion: "Casos de ortodoncia del paciente" }
|
|
- { method: "GET", path: "/:id", descripcion: "Detalle de caso" }
|
|
- { method: "POST", path: "/:id/citas", descripcion: "Registrar cita de seguimiento" }
|
|
- { method: "GET", path: "/:id/citas", descripcion: "Historial de citas" }
|
|
- { method: "PATCH", path: "/:id/completar", descripcion: "Finalizar tratamiento" }
|
|
|
|
protesis:
|
|
base: "/api/v1/dental/protesis"
|
|
estado: "planificado"
|
|
endpoints:
|
|
- { method: "POST", path: "/", descripcion: "Crear trabajo protesico" }
|
|
- { method: "GET", path: "/paciente/:patientId", descripcion: "Protesis del paciente" }
|
|
- { method: "GET", path: "/:id", descripcion: "Detalle de protesis" }
|
|
- { method: "PATCH", path: "/:id/laboratorio", descripcion: "Actualizar estado laboratorio" }
|
|
- { method: "PATCH", path: "/:id/colocar", descripcion: "Registrar colocacion" }
|
|
|
|
radiografias:
|
|
base: "/api/v1/dental/radiografias"
|
|
estado: "planificado"
|
|
endpoints:
|
|
- { method: "POST", path: "/", descripcion: "Subir radiografia" }
|
|
- { method: "GET", path: "/paciente/:patientId", descripcion: "Radiografias del paciente" }
|
|
- { method: "GET", path: "/:id", descripcion: "Detalle de radiografia" }
|
|
- { method: "PATCH", path: "/:id/interpretacion", descripcion: "Agregar interpretacion" }
|
|
|
|
presupuestos:
|
|
base: "/api/v1/dental/presupuestos"
|
|
estado: "planificado"
|
|
endpoints:
|
|
- { method: "POST", path: "/", descripcion: "Crear presupuesto" }
|
|
- { method: "GET", path: "/paciente/:patientId", descripcion: "Presupuestos del paciente" }
|
|
- { method: "GET", path: "/:id", descripcion: "Detalle de presupuesto" }
|
|
- { method: "PATCH", path: "/:id/aprobar", descripcion: "Aprobar presupuesto" }
|
|
- { method: "PATCH", path: "/:id/rechazar", descripcion: "Rechazar presupuesto" }
|
|
- { method: "GET", path: "/:id/pdf", descripcion: "Generar PDF" }
|
|
- { method: "POST", path: "/:id/convertir", descripcion: "Convertir a tratamientos" }
|
|
|
|
# ============================================================================
|
|
# ENDPOINTS HEREDADOS
|
|
# ============================================================================
|
|
heredados:
|
|
erp_clinicas:
|
|
pacientes:
|
|
base: "/api/v1/patients"
|
|
heredado_de: "erp-clinicas"
|
|
citas:
|
|
base: "/api/v1/appointments"
|
|
heredado_de: "erp-clinicas"
|
|
consultas:
|
|
base: "/api/v1/consultations"
|
|
heredado_de: "erp-clinicas"
|
|
|
|
erp_core:
|
|
auth:
|
|
base: "/api/v1/auth"
|
|
heredado_de: "erp-core"
|
|
users:
|
|
base: "/api/v1/users"
|
|
heredado_de: "erp-core"
|
|
tenants:
|
|
base: "/api/v1/tenants"
|
|
heredado_de: "erp-core"
|
|
|
|
# ============================================================================
|
|
# ENDPOINTS POR METODO (Planificados)
|
|
# ============================================================================
|
|
por_metodo:
|
|
GET:
|
|
- "/api/v1/dental/odontogramas/paciente/:patientId"
|
|
- "/api/v1/dental/tratamientos/catalogo"
|
|
- "/api/v1/dental/tratamientos/paciente/:patientId"
|
|
- "/api/v1/dental/ortodoncia/paciente/:patientId"
|
|
- "/api/v1/dental/protesis/paciente/:patientId"
|
|
- "/api/v1/dental/radiografias/paciente/:patientId"
|
|
- "/api/v1/dental/presupuestos/paciente/:patientId"
|
|
POST:
|
|
- "/api/v1/dental/odontogramas"
|
|
- "/api/v1/dental/tratamientos"
|
|
- "/api/v1/dental/tratamientos/catalogo"
|
|
- "/api/v1/dental/ortodoncia"
|
|
- "/api/v1/dental/protesis"
|
|
- "/api/v1/dental/radiografias"
|
|
- "/api/v1/dental/presupuestos"
|
|
PATCH:
|
|
- "/api/v1/dental/odontogramas/:id/pieza"
|
|
- "/api/v1/dental/tratamientos/:id/completar"
|
|
- "/api/v1/dental/ortodoncia/:id/completar"
|
|
- "/api/v1/dental/presupuestos/:id/aprobar"
|
|
|
|
# ============================================================================
|
|
# AUTENTICACION
|
|
# ============================================================================
|
|
autenticacion:
|
|
tipo: "JWT Bearer"
|
|
header: "Authorization"
|
|
formato: "Bearer {token}"
|
|
endpoints_publicos:
|
|
- "/api/v1/auth/login"
|
|
- "/api/v1/auth/register"
|
|
- "/api/v1/health"
|
|
|
|
# ============================================================================
|
|
# ERRORES COMUNES
|
|
# ============================================================================
|
|
errores:
|
|
400: "Bad Request - Datos invalidos"
|
|
401: "Unauthorized - Token invalido o expirado"
|
|
403: "Forbidden - Sin permisos"
|
|
404: "Not Found - Recurso no encontrado"
|
|
422: "Unprocessable Entity - Validacion fallida"
|
|
500: "Internal Server Error"
|
|
|
|
# ============================================================================
|
|
# REFERENCIAS
|
|
# ============================================================================
|
|
referencias:
|
|
swagger: "/api/docs"
|
|
services: "@PROJ_DEF_SERVICES"
|
|
modules: "@PROJ_DEF_MODULES"
|