Personalizar
La URL de iframe acepta varios parámetros de consulta que controlan su comportamiento y apariencia. Esta página es la referencia canónica: todos los parámetros que iframe soporta se enumeran a continuación, y cada uno se explica en detalle en las secciones que siguen.
Usa el generador para obtener una vista previa y copiar una URL de iframe configurada.
El generador usa un identificador de company de ejemplo para que la vista previa funcione. Reemplázalo con tu propio identificador antes de implementar.
Referencia rápida
company(obligatorio): identificador de empresa de corta duración (también llamado clave de aplicación) emitido desde tu token API S2S. Consulta la página de Seguridad para saber cómo generarlo.companyCallbackUrl: anula la URL de devolución de llamada predeterminada a la que se envía el informe de diagnóstico. Consulta la sección de anulación de URL de devolución de llamada.isForPatient(por defecto0): cuando es1, simplifica la redacción del cuestionario para usuarios no clínicos.enableResult(por defecto1): alterna la visualización de los resultados de diagnóstico al usuario.showQuestionnairesHeader(por defecto1): controla la visibilidad del título del cuestionario.enableDiagnosisSupport(por defecto1): cuando es0, omite el paso de identificación de condición y solo mide la gravedad.forcedScoringSystems: lista separada por comas de códigos de sistemas de puntuación que deben calcularse independientemente del nivel de confianza diagnóstica.enableAnamnesis(por defecto0): cuando es1, muestra el formulario de anamnesis.macroscopicMedia(por defectodisabled): si se requiere una imagen de contexto (macroscópica). Valores permitidos:disabled,optional,required.enableExtendedInstructions(por defecto0): cuando es1, muestra el conjunto completo de mejores prácticas para tomar fotos.enableAlternativeCameraModule(por defecto0): habilita el módulo de cámara dentro del iframe (solución para frameworks que bloquean entradas de archivo).enableAlternativeCameraModuleAndroid(por defecto0): lo mismo que el indicador anterior, limitado a Android.primary: código de color hexadecimal para el color de interfaz de usuario principal.secondary: código de color hexadecimal para el color de interfaz de usuario secundario.fontFamily: familia de fuentes usada dentro del iframe. Soportadas:Roboto,Montserrat.locale(por defectoen): idioma de la aplicación. Soportados:en,es.extraData: JSON codificado en Base64 con datos adicionales adjuntos al informe (por ejemplo, un identificador de paciente). Oculto a los usuarios finales.enableExtraDataInPdf(por defecto0): cuando es1, imprime los valores deextraDataen el informe PDF generado.
El resto de esta página describe cada parámetro en detalle, agrupados por propósito.
Modo paciente
Cuando los usuarios principales del iframe son pacientes, establece isForPatient=1. Esto reescribe los cuestionarios en lenguaje más simple. Por ejemplo, en lugar de la etiqueta técnica Itchiness, el paciente ve Cómo describirías lo picazón que sientes?.
Visibilidad de los resultados
El comportamiento predeterminado es mostrar los resultados al usuario una vez que se ha procesado su foto. Pasa enableResult=0 para ocultar los resultados y mostrar solo un mensaje de confirmación.
Título del cuestionario
showQuestionnairesHeader controla la visibilidad del título sobre los cuestionarios (el encabezado "Cuestionario médico"). Por defecto 1.
Apoyo diagnóstico
El parámetro enableDiagnosisSupport controla si se ejecuta la función de apoyo diagnóstico impulsada por IA.
Cuando está deshabilitada (enableDiagnosisSupport=0), el iframe omite completamente el paso de identificación de condición. Esto es útil cuando la condición del paciente ya se conoce y el objetivo es solo medir la gravedad. Por ejemplo, cuando un clínico ha confirmado un diagnóstico y desea monitorizar las puntuaciones PASI o SCORAD a lo largo del tiempo sin desencadenar un nuevo análisis diagnóstico.
Sistemas de puntuación forzados
forcedScoringSystems es una lista separada por comas de códigos de sistemas de puntuación que deben calcularse independientemente del nivel de confianza diagnóstica:
https://iframe.legit.health/?company=XXX&forcedScoringSystems=aladinLocal,ascoradLocal
Sistemas de puntuación disponibles
aladinLocal: Acne Lesion estimation grading index (IGA acne).agppgaLocal: Generalized Pustular Psoriasis Physician Global Assessment.aihs4Local: International Hidradenitis Suppurativa severity score.apasiLocal: Automatic Psoriasis Area and Severity Index.asaltLocal: Automatic Severity of ALopecia Tool.ascoradLocal: SCORAD for atopic dermatitis.auasLocal: Urticaria Activity Score.awosiLocal: Pressure ulcers assessment.pure4: Psoriatic arthritis UnclutteRed screening Evaluation.sevenPc(u7PC): 7-point checklist for pigmented lesions.uct: Urticaria Control Test.
Si no se especifica forcedScoringSystems, el iframe calcula automáticamente el sistema de puntuación siempre que la condición detectada por el algoritmo de apoyo diagnóstico tenga un nivel de confianza superior al 40% y un sistema de puntuación asociado. Esto mantiene el flujo simplificado: las condiciones más probables se evalúan por gravedad sin requerir una configuración explícita.
Cuestionario de anamnesis
El parámetro enableAnamnesis muestra u oculta el formulario de anamnesis. El predeterminado es 0, así que pasa enableAnamnesis=1 para mostrarlo.
Hay dos tipos de preguntas que el iframe puede hacer:
Preguntas genéricas
Cuando se habilita el formulario de anamnesis, el usuario ve cinco preguntas clínicamente relevantes que no están vinculadas a una condición específica:
- ¿Cuál es la razón de la consulta? ¿Cómo comenzó el problema? Describe el origen.
- ¿Tienes alguna alergia, especialmente a medicamentos? Si es así, enumera las alergias.
- ¿Estás tomando algún medicamento o tratamiento? Si es así, explica qué tratamiento estás recibiendo.
- ¿Tienes alguna enfermedad importante? ¿Te han operado de algo?
- ¿Hay algún historial de enfermedad importante en tu familia?
Preguntas específicas de condición
Si la IA identifica una condición con suficiente confianza, el iframe automáticamente añade el cuestionario asociado a esa condición. Por ejemplo, si la lesión es psoriasis con alta probabilidad, se le hace al paciente las preguntas PASI que la IA no puede derivar de la imagen.
Las preguntas específicas de condición son las que componen cada sistema de puntuación. Consulta la sección Avanzado: Sistemas de puntuación.
Carga de imagen
En el iframe, el usuario carga imágenes haciendo clic en Haz clic aquí para añadir una imagen. Esto abre la cámara o el selector de archivos.
Los usuarios pueden cargar múltiples imágenes de la misma lesión:
Cuando esto ocurre, todas las imágenes pertenecen al mismo DiagnosticReport y constituyen una única llamada al dispositivo.
Calidad de imagen
El dispositivo ejecuta una tecnología llamada DIQA que mide la calidad visual de cada imagen cargada. Si la puntuación está por debajo de 60, el iframe pide al usuario que recargue después de corregir el problema.
La puntuación se incluye en el mensaje publicado por el iframe:
"originalMedia": {
"type": "Image",
"modality": "Clinical",
"diqaScore": 74, // 👈
// ...
},
Imagen macroscópica
macroscopicMedia controla si el usuario debe cargar una imagen de contexto (macroscópica):
disabled(predeterminado): el campo está oculto.optional: el usuario puede cargar una imagen macroscópica.required: el usuario debe cargar una imagen macroscópica para continuar.
Esto es útil cuando el contexto visual es esencial, por ejemplo en evaluaciones clínicas donde una toma amplia complementa una toma de cerca.
Instrucciones extendidas
enableExtendedInstructions=1 muestra un conjunto completo de mejores prácticas para tomar fotos. El predeterminado 0 muestra un conjunto mínimo.
Módulo de cámara alternativo
Frameworks como Ionic a menudo restringen el acceso a hardware (particularmente la cámara) cuando el contenido se renderiza dentro de un iframe. El flujo estándar <input type="file"> que usa el iframe por defecto está bloqueado en esos entornos, así que enviamos un módulo alternativo que solicita acceso a la cámara directamente desde el iframe.
Este problema afecta principalmente a dispositivos Android que ejecutan aplicaciones basadas en Ionic. Es posible que tengas que habilitar enableAlternativeCameraModuleAndroid específicamente para esos.
enableAlternativeCameraModule=1: activa el módulo alternativo en cada plataforma.enableAlternativeCameraModuleAndroid=1: lo activa solo para Android.
Colores y familia de fuentes
Los colores primario y secundario se personalizan a través de los parámetros primary y secondary (códigos hexadecimales).
Para tipografía, el iframe actualmente soporta Roboto y Montserrat a través del parámetro fontFamily. Contacta con nosotros si necesitas una fuente adicional y haremos lo posible por incluirla.
Idioma
El idioma de la interfaz se establece con el parámetro locale (en, es). Si requieres otro idioma, contáctanos.
Datos adicionales
extraData acepta cualquier cadena y se adjunta al informe. Es un lugar conveniente para pasar identificadores que deben viajar con el informe pero permanecer ocultos a los usuarios, como identificadores de paciente, proveedores de seguros o referencias de episodio:
const data = toBase64(JSON.stringify({ patient: "XXX", insuranceProvider: "YYY" }));
Por defecto, extraData se almacena en el informe pero NO se imprime en el PDF generado. Establece enableExtraDataInPdf=1 para incluirlo en el PDF. Esto es útil cuando el PDF se entrega directamente a un clínico o paciente y los datos adicionales deben ser visibles en el documento.
Anulación de URL de devolución de llamada
Durante la configuración de tu empresa, el integrador proporciona una URL de devolución de llamada predeterminada a la que Legit.Health envía el informe de diagnóstico una vez que finaliza el análisis. El parámetro companyCallbackUrl te permite anular esa predeterminada a nivel de iframe, lo cual es útil cuando el mismo identificador company se reutiliza en diferentes entornos (staging, producción) o en diferentes productos que necesitan que el informe se entregue a diferentes puntos finales:
https://iframe.legit.health/?company=XXX&companyCallbackUrl=https://your-server.example.com/legit-health-webhook
La URL debe ser accesible desde internet pública, aceptar solicitudes POST y responder con un código de estado 2xx. El cargo útil que recibe tu punto final coincide con el esquema JSON descrito en la sección Output: JSON Formats.
companyCallbackUrl habilita un modelo de entrega push: Legit.Health envia un POST al informe a tu punto final tan pronto como esté listo. Si prefieres obtener el informe bajo demanda usando el id de informe devuelto por la postMessage analysis_completed, usa el Endpoint API. Ambos modelos pueden coexistir.
Pasos siguientes
- ¿Asegurando el acceso a producción? Consulta la página de Seguridad.
- ¿Quieres saber qué código específico de plataforma es necesario? Consulta la sección Platforms.
- ¿Necesitas manejar devoluciones de llamada desde el iframe? Consulta la sección Callbacks.