<Omniscribe>.
Configuración inicial
1. Instalación
2. Importación en su aplicación
Componente React básico
Implementación con hooks
Props
Requeridas
| Prop | Tipo | Descripción |
|---|---|---|
baseurl | string | Endpoint de la API de SofIA |
wssurl | string | URL de WebSocket para funciones en tiempo real |
apikey | string | Clave de autenticación |
userid | string | Identificador del usuario en el sistema EHR/HIS |
patientid | string | Identificador del paciente en el sistema EHR/HIS |
template | object | Objeto de template para la generación de reportes |
templateid | string | Identificador del template (ambos template y templateid son necesarios) |
Opcionales
| Prop | Tipo | Descripción |
|---|---|---|
isopen | boolean | Mostrar/ocultar componente |
language | LanguageCode | Idioma de la interfaz (e.g., LanguageCode.es) |
debug | boolean | Habilitar logging de depuración |
patientdata | object | Información del paciente (ver estructura más abajo) |
showconsentindicator | boolean | Muestra el indicador de estado de consentimiento en el encabezado (valor por defecto: false) |
Callbacks
| Prop | Firma | Descripción |
|---|---|---|
handleReport | (report: unknown) => void | Recibe reportes generados |
setIsOpen | (value: boolean | (prev: boolean) => boolean) => void | Controla visibilidad del widget |
setGetLastReport | (fn: () => Promise<unknown>) => void | Expone función async para obtener último reporte |
Obtener el último reporte
El callbacksetGetLastReport recibe una función async que puede almacenar y llamar después:
Actualización de datos del paciente
Use el estado de React para actualizar dinámicamente el contexto del paciente. El SDK se reinicializa automáticamente cuandopatientid o userid cambian.
Estructura de datos del paciente
Campos de extraData
| Campo | Descripción |
|---|---|
medical_practice | Especialidad del médico (e.g., "Cardiology", "Pediatrics"). Ayuda a SofIA a contextualizar las respuestas |
patient_medical_notes | Notas de consultas previas. Incluya campos url para que SofIA pueda citar la fuente |
| (campos personalizados) | Cualquier dato adicional relevante para la consulta (e.g., allergies, medications) |
Ejemplo completo
Gestión de estado con context
Para aplicaciones que necesitan compartir el estado de SofIA entre múltiples componentes:Ejemplo completo
Para ver una implementación completa con React y TypeScript, consulte nuestro repositorio de ejemplos: Ver ejemplo completo de React El ejemplo incluye:- Configuración completa con Vite + React 19 + TypeScript
- Consola de desarrollo con controles en tiempo real
- Editores de template y datos del paciente con validación JSON
- Cambio dinámico de User ID, Patient ID y Template ID
Mejores prácticas
Rendimiento
- Use
useCallbackpara callbacks estables (handleReport,setGetLastReport) - Implemente lazy loading para el componente en rutas no críticas
Estado
- Pase
setIsOpendirectamente — el SDK controla la visibilidad - Cambiar
useridopatientidremonta el SDK automáticamente