Saltar al contenido principal
Estas propiedades te permiten personalizar el comportamiento y apariencia del componente SofIA SDK para adaptarse a las necesidades específicas de tu implementación.

Control de Interfaz

PropiedadTipoDescripción
isopenbooleanEstado de visibilidad del componente, permite control bidireccional del estado abierto/cerrado

Callbacks

PropiedadTipoDescripción
handle-reportfunctionFunción callback que recibe el reporte clínico estructurado generado por SofIA. Puede referenciarse como función global o usar eventos
set-is-openfunctionFunción callback para manejar cambios de visibilidad solicitados por el componente

Datos Contextuales

PropiedadTipoValor por DefectoDescripción
patientdatastring (JSON) | objectundefinedInformación contextual del paciente (antecedentes, notas previas, referencias) para enriquecer el procesamiento clínico
transcriptorselectvaluesstring (JSON)undefinedConfiguración para los valores del selector del transcriptor de audio

Control de Características

PropiedadTipoValor por DefectoDescripción
isonlychatbooleanfalseOculta el módulo de transcripción de audio, manteniendo solo la funcionalidad de chat
disableactionsbooleanfalseDeshabilita todos los botones de acción (Generar, Rellenar)
disablegeneratebooleanfalseDeshabilita solo el botón Generar, manteniendo Rellenar activo

Personalización de UI

PropiedadTipoValor por DefectoDescripción
sofiatitlestring"Sofia Assistant"Texto mostrado en el encabezado del componente

Depuración

PropiedadTipoValor por DefectoDescripción
debugbooleanfalseHabilita logging detallado para propósitos de depuración

Localización

PropiedadTipoValor por DefectoDescripción
languagestring"es"Idioma de la interfaz. Valores soportados: "es" (Español), "en" (Inglés)

Estados de UI

PropiedadTipoValor por DefectoDescripción
isscreenloadingbooleanfalseFuerza que se muestre el indicador de carga global en el componente

Callbacks Avanzados

PropiedadTipoValor por DefectoDescripción
render-report-contentfunctionundefinedUna función para personalizar la renderización del contenido del reporte
set-get-last-reportfunctionundefinedUn callback que recibe una función para recuperar el último reporte generado
toaststring (JSON)undefinedConfiguración para notificaciones toast para mostrar mensajes al usuario

Recuperación Manual de Reportes

Además de recibir el reporte automáticamente, puedes solicitarlo bajo demanda desde tu aplicación. La propiedad set-get-last-report ejecuta un callback que te proporciona una función asíncrona. Debes almacenar esta referencia para usarla cuando necesites recuperar el último reporte generado.
let getLastReportFn = null;

// Callback asignado a: set-get-last-report
function registerGetter(fn) {
  getLastReportFn = fn;
}

// Ejemplo de uso en un botón externo
async function handleSaveClick() {
  if (getLastReportFn) {
    const report = await getLastReportFn();
    console.log("Reporte recuperado:", report);
  }
}

Ejemplos de Uso

Configuración básica con datos del paciente

<sofia-sdk
  patientdata='{"age": 45, "history": "Hipertensión arterial"}'
  language="es"
  sofiatitle="Consulta de Cardiología"
  baseurl="https://api.example.com"
  wssurl="wss://ws.example.com"
  apikey="your-key"
  userid="doc123"
  patientid="pat456"
  toolsargs='{"type": "object"}'
  isopen="true"
  handle-report="handleReport"
  set-is-open="setIsOpen"
>
</sofia-sdk>

Modo solo chat para consultas rápidas

<sofia-sdk
  isonlychat="true"
  sofiatitle="Consulta Rápida"
  <!-- propiedades requeridas... -->
>
</sofia-sdk>

Configuración con acciones limitadas y fuentes de datos

<sofia-sdk
  disablegenerate="true"
  isscreenloading="true"
  language="en"
  transcriptorselectvalues='{"model": "whisper", "language": "es"}'
  <!-- propiedades requeridas... -->
>
</sofia-sdk>

Configuración avanzada con callbacks

<sofia-sdk
  render-report-content="customRenderFunction"
  set-get-last-report="setGetReportFunction"
  toast='{"message": "Reporte generado", "type": "success"}'
  <!-- propiedades requeridas... -->
>
</sofia-sdk>

Notas Importantes

  • patientdata: Debe contener solo información necesaria para el contexto clínico, siguiendo principios de minimización de datos.
  • Dimensiones: Las unidades pueden ser px, %, em, rem, o cualquier otra unidad CSS válida.
  • Estados: Los cambios en propiedades booleanas se reflejan inmediatamente en la interfaz.
  • Localización: Cambiar el idioma afecta toda la interfaz del componente, incluyendo mensajes de error y etiquetas.
  • Callbacks: Las funciones pueden referenciarse por su nombre global o manejarse vía eventos DOM.