Skip to main content
Todos los cambios notables del SDK de SofIA se documentan en esta página. El formato sigue Keep a Changelog y el proyecto adhiere a Versionado Semántico. Los refactors internos que no afectan tu integración se resumen como “mejoras de estabilidad y rendimiento”.

v1.0.11 - 2026-08-25

Añadido

  • Eventos de actividad (onEvent) — un flujo de eventos tipados y sin datos clínicos sobre lo que ocurre dentro del widget: grabación (started, stopped, audio_lost, microphone_disconnected), actividad del médico (interaction, typing), generación del informe (generation_started, settled) y ciclo de vida (ready, closed). Pensado para que un HIS con cierre por inactividad sepa que el médico está trabajando aunque no toque el teclado. Ver Eventos de actividad.
  • Prop eventSubscriptions — qué eventos recibe onEvent: nombres exactos, comodines de familia ("recording.*") o "*". Sin ella no se entrega nada.
  • recording.heartbeat — late con el primer paquete de audio y cada ~30 s mientras siga fluyendo audio al transcriptor. Es la señal para mantener viva una sesión externa sin guardar estado: si el audio deja de fluir, los latidos cesan y tu propio timeout actúa.
  • Tipos SdkEvent, SdkEventName, KnownSdkEventName, SdkEventFamily, SdkEventHandler, SdkEventPayloadMap y SdkEventSubscription exportados desde @omniloy/sofia-sdk.

Corregido

  • La protección frente a JSON mal formado en atributos del web component ahora cubre también los atributos en kebab-case (template-extras, insertion-preview-class-names, event-subscriptions), que antes no se validaban.

v1.0.10 - 2026-08-10

Añadido

  • Salvaguardas de activación — antes de arrancar una consulta, SofIA evalúa el contexto del paciente y puede avisar, pedir confirmación o impedir el arranque. Las reglas se evalúan de forma independiente y prevalece la más restrictiva. Ver Seguridad y cumplimiento.
  • Política de pacientes menores — configurable por cliente (sin efecto, aviso, confirmación explícita o bloqueo) con un umbral de edad propio. Se deriva de patientdata.birthDate y se ajusta desde tu cuenta de Omniloy; escribe a support@omniloy.com. Sin configurar, no cambia nada.
  • Rechazo del uso de IA — nuevo campo opcional signedConsent.aiUse ("accepted", "refused", "pending") dentro de patientdata. Con "refused" y el indicador de consentimiento activo, no se pueden grabar ni generar informes en esa consulta (grabación, dictado, informe y acciones clínicas); el chat sigue disponible. Omitirlo equivale a "pending" y mantiene el comportamiento actual. Ver Datos del Paciente.
  • Tercer estado en el indicador de consentimiento del encabezado para reflejar el rechazo del uso de IA.

Cambiado

  • El indicador de consentimiento pasa de ser solo informativo a habilitar también el bloqueo por rechazo de IA. Si tu HIS no informa aiUse, nada cambia.
  • Mejoras de estabilidad y fiabilidad en la grabación, la generación de informes y la vista previa de inserción (detener una grabación está siempre disponible; las ediciones hechas en la vista previa se conservan completas).

Corregido

  • Un JSON mal formado en un atributo del web component (p. ej. patientdata) ya no rompe el widget — se registra un error de configuración y se conserva el último valor válido.
  • La validación del chat ya no rechaza lenguaje clínico legítimo.
  • Dependencias actualizadas para corregir vulnerabilidades de seguridad.

v1.0.9 - 2026-07-16

Añadido

  • Acciones clínicas (Extras) — extrae las acciones que surgen de la consulta (peticiones, citas, pruebas, derivaciones) y entrégalas a tu HIS por categoría. Defines las categorías en la nueva prop templateExtras y recibes sus items en el callback handleExtras, tal como los produjo tu esquema (sin renombrar campos). Un botón por categoría, las dos primeras inline y el resto en un menú de tres puntos. Ver Acciones clínicas (Extras).
  • Prop templateExtras (object, JSON Schema) — sus propiedades de primer nivel son las categorías.
  • Callback handleExtras — recibe los items de la categoría pulsada, extraídos bajo demanda. Reutiliza el modal de vista previa de inserción para la curación (mismo flag showInsertionPreview, activado por templateExtras).

Cambiado

  • Rediseño de la barra de acciones del transcriptor: botón de grabación/parada dedicado, medidor de nivel de audio, y los botones de Generar y Extras separados en píldoras propias.

v1.0.8 - 2026-07-09

Añadido

  • Modal de vista previa de inserción — revisa y cura un informe generado antes de que llegue a tu app. Opt-in por API key (desactivado por defecto). Ver vista previa de inserción.
  • Prop onReportApply — recibe el informe curado desde el modal de vista previa de inserción.
  • Callback updateTemplate — alimenta los valores existentes de los campos de tu EMR a la generación para que la regeneración produzca una nota revisada en lugar de una copia idéntica. Ver pre-rellenar desde tu EMR.
  • Resolución automática de baseurl — las claves más nuevas seleccionan el endpoint automáticamente, por lo que baseurl ahora es opcional para ellas.

v1.0.7 - 2026-06-23

Añadido

  • Selector de entorno de audio en los ajustes de micrófono: una opción de cobertura mínima de VAD por usuario obtenida del backend y enviada como vad_min_coverage en el comando de grabación por WS

Deprecado

  • wssurl — deprecada e ignorada. La URL del WebSocket de transcripción ahora la proporciona la settings API; solo elimina la prop.

v1.0.6 - 2026-06-11

Añadido

  • Anonimización de datos del paciente — la PII en patientdata se enmascara del lado del cliente antes de cada petición saliente y se restaura en la respuesta.

Cambiado

  • Límite de descripción personalizada por campo elevado de 1.000 a 3.000 caracteres.
  • Mejoras de estabilidad y rendimiento.

v1.0.5 - 2026-05-13

Añadido

  • Borrador automático del informe — se borronea un informe en segundo plano en cuanto termina la grabación.
  • Detección de cortes de audio — los cortes se marcan inline en la transcripción, con una advertencia antes de generar o regenerar.

Cambiado

  • Mejoras de estabilidad y rendimiento en la grabación y la generación de notas.

v1.0.4 - 2026-04-17

Cambiado

  • Mejoras de fiabilidad en la grabación de audio — recuperación del micrófono, monitoreo de conectividad y manejo más claro de “no hay micrófono disponible”.

v1.0.3 - 2026-04-14

Añadido

  • Soporte de idiomas extendido.

Eliminado

  • Propiedad showconsentindicator.

Corregido

  • Parches de seguridad para dependencias de terceros.

v1.0.2 - 2026-03-19

Añadido

  • Soporte de idiomas extendido (checo, francés, sueco; separación de en en en_GB / en_US).
  • Rediseño de la UI de configuración de templates — un campo de prompt general y toggles de activación/desactivación por campo.
  • Arrastrar y soltar archivos y pegado desde el portapapeles en el chat.

Cambios importantes

  • Se agregó la propiedad showconsentindicator; el indicador de consentimiento está oculto por defecto (establécela en true para mostrarlo). (Eliminada más tarde en 1.0.3.)

v1.0.0 — 2025

Tipo de release: Mayor

Añadido

  • Prop template reemplaza toolsargs para la configuración de esquemas de datos clínicos
  • Prop templateid requerida junto con template para la generación de reportes
  • Campo isConfigurable en las propiedades del template para controlar la personalización del usuario
  • Modo debug="true" con logging estructurado en consola con prefijo [Sofia SDK]
  • Modo solo-chat automático cuando se omiten template/templateid

Cambiado

  • El botón de generar ahora requiere ambos template y templateid para aparecer

Deprecado

  • toolsargs → usar template (será eliminado en v2.0)

Eliminado

  • isonlychat — el modo solo-chat ahora es automático
  • disablegenerate — omitir template/templateid en su lugar
  • disableactions — no montar el componente en su lugar
  • sofiatitle — el título siempre es “SofIA”
  • isscreenloading — no disponible en UI basada en Chat
  • transcriptorselectvalues — sin efecto
  • renderReportContent — renderizado personalizado no disponible en Chat UI
  • handleFill — no disponible en Chat UI
  • toast — sin efecto

Migración

Consulta la Guía de Migración para instrucciones paso a paso.

v0.0.x — 2024

Versiones pre-release iniciales. Destacados:
  • v0.0.10 — soporte de procesamiento de archivos; warnings de deprecación para props legacy; soporte de isConfigurable en campos del template.
  • v0.0.9 — autosummary configurable de la conversación.
  • v0.0.3 — primera versión pública: web component <sofia-sdk> con Shadow DOM, transcripción de audio en tiempo real, generación de informes, soporte de frameworks (Vanilla JS, React, Angular), inglés/español, callbacks handleReport/setIsOpen/setGetLastReport, patientdata y templates JSON Schema Draft-07.
Las versiones v0.0.4–v0.0.8 fueron mejoras internas de estabilidad y de ajustes sin cambios en la API visibles para el usuario.