Skip to main content
SofIA se implementa como un sistema distribuido que combina un SDK front-end (Web Component) con servicios back-end especializados. La plataforma utiliza streaming seguro para comunicaciones en tiempo real y un framework cognitivo basado en agentes especializados para el procesamiento de información clínica.

Arquitectura del Sistema

1

Sistema EHR/HIS

La aplicación host integra el SofIA SDK Web Component, proporcionando configuración y contexto del paciente.
2

Canales de comunicación

El SDK se comunica a través de dos canales: la SofIA REST API para procesamiento de IA, y conexiones WebSocket para transcripción en tiempo real.
3

Procesamiento backend

La REST API enruta las solicitudes a través del Framework Cognitivo para generación de reportes, mientras el Motor de Transcripción procesa los flujos de audio.
4

Entrega de resultados

Los reportes generados y las transcripciones fluyen de vuelta a través del SDK hacia la aplicación EHR/HIS host.

Arquitectura del SDK

El SofIA SDK es un Web Component (<sofia-sdk>) construido con React y TypeScript, envuelto mediante @r2wc/react-to-web-component. Utiliza Shadow DOM para encapsulación completa de estilos, asegurando que los estilos del SDK nunca entren en conflicto con la aplicación host.

Jerarquía de Providers

El componente utiliza internamente una arquitectura de providers por capas. Cada provider gestiona un dominio específico de la funcionalidad del SDK: Los providers se envuelven unos a otros en este orden (más externo a más interno): ApiConfigProvider → SettingsProvider → I18nProvider → TranscriptorProvider → LangGraphProvider → ProcessingThreadsProvider → ThreadProvider → MessageImagesProvider → StreamProvider → ToastProvider → App

Registro del Web Component

El SDK se registra automáticamente como elemento personalizado al cargarse:
El wrapper de Web Component mapea atributos HTML a props de React con conversión automática de tipos:

Flujo de Datos

Chat y Generación de Reportes

1

Interacción del usuario

El profesional sanitario interactúa mediante chat (texto) o voz (botón de micrófono). El audio se captura a través de la API MediaStream del navegador.
2

Transcripción

El audio se transmite por streaming a través de una conexión WebSocket al servicio de transcripción (la URL se resuelve desde la API de settings), que devuelve segmentos de texto en tiempo real. El SDK soporta múltiples motores de transcripción.
3

Procesamiento IA

Los mensajes del chat (escritos o transcritos) se envían a la API REST de SofIA (baseurl), que los enruta a través del framework cognitivo usando streaming LangGraph para entrega de respuestas en tiempo real.
4

Generación de reportes

Cuando se proporcionan template y templateid, aparece el botón de generar. Al hacer clic, la IA utiliza el esquema JSON Schema de la plantilla para estructurar datos clínicos de la conversación en un reporte formateado.
5

Entrega del reporte

El reporte generado se entrega a la aplicación host mediante el callback handle-report, permitiendo al EHR/HIS procesar, mostrar o almacenar los datos estructurados.

Resolución de Plantillas

El SDK resuelve la configuración de plantillas con compatibilidad hacia atrás:
La generación de reportes solo se habilita cuando se proporcionan tanto templateid como una plantilla válida. En caso contrario, el SDK opera en modo solo chat automáticamente.

Framework Cognitivo

El núcleo de procesamiento de SofIA se basa en un sistema de agentes especializados que colaboran para generar documentación clínica precisa:
  • Motor de razonamiento: Modelo de lenguaje especializado en dominio médico que coordina las operaciones de los agentes
  • Agente de documentación: Genera notas clínicas estructuradas siguiendo plantillas JSON Schema predefinidas
  • Agentes de codificación: Especializados en sistemas de clasificación médica (SNOMED CT, CIE-10, LOINC)
  • Agente de validación: Verifica la coherencia clínica y reduce errores mediante validación cruzada

Sistema de Transcripción

La pila de transcripción está optimizada para el procesamiento de audio médico:
  • Captura de audio: API MediaStream del navegador → AudioContext → Streaming WebSocket
  • Transcriptor en tiempo real: Proporciona retroalimentación inmediata durante las consultas
  • Motor de transcripción médica: Especializado en terminología y contexto clínico específico
  • Sistema de traducción: Soporte nativo para múltiples idiomas
  • Separación de interlocutores: Identificación automática de médico y paciente
  • Normalización terminológica: Corrección y estandarización de términos médicos

Pipeline de Audio

1

Captura de audio

El Micrófono del navegador proporciona un MediaStream a través de la API MediaStream.
2

Procesamiento de audio

El stream pasa por un AudioContext para procesamiento, luego se envía a través de una conexión WebSocket.
3

Transcripción

El Motor de Transcripción convierte el audio en segmentos de texto en tiempo real.
4

Visualización

El texto transcrito se muestra en la interfaz del SofIA SDK Chat.
La grabación de audio utiliza un patrón de sesión singleton — solo una sesión de grabación puede estar activa en cualquier momento en toda la aplicación, previniendo conflictos con múltiples instancias de micrófono.

Arquitectura de Seguridad

  • Encapsulación Shadow DOM: Los estilos y DOM del SDK están aislados de la aplicación host
  • HTTPS/WSS requerido: Todas las comunicaciones usan protocolos cifrados
  • Enmascaramiento de PII: Los identificadores de paciente y doctor se enmascaran automáticamente en logs de debug para cumplimiento HIPAA/GDPR
  • Almacenamiento local cifrado: Los datos de sesión se cifran usando la clave API como semilla
  • Sin persistencia de datos: Los datos clínicos no se almacenan localmente más allá de la sesión activa

Próximos Pasos

  1. Detalles de seguridad y cumplimiento
  2. Configurar propiedades requeridas
  3. Diseñar esquemas de datos clínicos
  4. Integrar en tu framework