Ir al contenido principal

Examen Medico (1) - [obtain]

🧾 Descripción

Este servicio permite consultar los resultados del examen EMO (Evaluación Médica Ocupacional) de un empleado utilizando su DNI (passport_number).

El servicio valida que el DNI haya sido enviado, busca la información correspondiente mediante el método interno getExamenEmo() y retorna los resultados si existen.

Es un servicio de consulta rápida y directa.


🚀 Endpoint

POST /obtain


📥 Request Body

{ "passport_number": "12345678" }

Campos:

Campo Tipo Obligatorio Descripción
passport_number string ✔️ DNI del empleado para consultar su examen EMO

🔐 Seguridad

Este servicio no requiere autenticación externa, pero su funcionamiento depende de un método interno:

  • getExamenEmo(passport_number) → Consulta la información del examen EMO.


🧠 Flujo del Servicio (Explicación)

  1. Validación inicial del DNI

    • Si el parámetro passport_number no está presente, el servicio responde con error.

  2. Consulta del examen EMO

    • Se llama al método interno getExamenEmo($passport_number).

  3. Validación del resultado

    • Si el método no retorna datos, se responde con un mensaje indicando que no se encontraron resultados.

  4. Respuesta exitosa

    • Si sí existen resultados, se retorna el contenido del examen EMO.


📤 Response 200 – Ejemplos

✔️ Caso exitoso

{ "valor": true, "msn": "Se encontraron resultados", "data": { "resultado": "Apto", "fecha": "2025-01-12", "observaciones": "Ninguna" } }

❗ Error: DNI no enviado

{ "valor": false, "msn": "El dni del empelado es obligatorio" }

❗ Error: Sin resultados EMO

{ "valor": false, "msn": "No se encontraron resultados" }

❗ Posibles Errores

Código Motivo Descripción
400 DNI faltante No se envió el passport_number
404 Sin resultados El empleado no tiene examen EMO registrado
500 Error en método interno Fallo en getExamenEmo()

📚 Schemas

Request Schema

{ "passport_number": "string" }

Response Schema (éxito)

{ "valor": true, "msn": "Se encontraron resultados", "data": { ...examen_emo } }

Response Schema (error)

{ "valor": false, "msn": "Descripción del error" }

🗃 Lógica en pseudocódigo

if !passport_number: return error("El dni del empleado es obligatorio") examen = getExamenEmo(passport_number) if !examen: return error("No se encontraron resultados") return success(examen)