Ir al contenido

Qué hace y para quién

EMA Emi sirve a seis audiencias distintas desde el mismo backend:

  • Visitantes de emahealth.io — usuarios anónimos, mayoritariamente vendors y prestadores que evalúan EMA Health como proveedor. Si dejan email, se convierten en lead persistido.
  • Profesionales de salud en emaclinic — médicos, enfermeros, personal de admisión que ya están logueados en el sistema clínico.
  • Profesionales de laboratorio en emalab (alpha) — bioquímicos, TENS de laboratorio.
  • Patólogos en emapath (planned, Wave 6).
  • Personas que cuidan su salud personal en emawell (no implementado, Wave 5+).
  • Equipo interno EMA en emavault — operación, finanzas, comercial.

Si cada producto del ecosistema EMA construyera su propio chatbot, tendríamos N implementaciones duplicadas con N system prompts a mantener sincronizados, N integraciones contra Claude, y N puntos de seguridad.

EMA Emi centraliza esa inteligencia: una API, un deployment, un lugar donde actualizar prompts, agregar capacidades, auditar uso y controlar costos. Cada producto cliente sólo necesita instalar el widget y configurar su API key.

  • Contexto especializado. Emi cambia personalidad, system prompt y herramientas disponibles según el producto que la invoca. No es un chatbot genérico.
  • Tool use real. Los agentes pueden consultar datos reales (FHIR, Supabase) — no responden con “no tengo acceso a esa información”, la buscan.
  • Multi-tenancy clínico. Cada tenant clínico tiene credenciales Aidbox propias encriptadas con AES-GCM, decryptadas runtime. Un tenant nunca ve datos de otro.
  • Activación granular. Vault controla qué apps puede invocar cada tenant y cuántas veces por día (tenant_emi_access + daily_invocation_limit).
  • Audit log automático. Cada invocación queda en emi_invocations con tokens, costo USD, status y context summary sin PHI.
  • Multi-contexto (anónimo + autenticado). El SalesAgent atiende visitantes anónimos del sitio; los demás agentes operan sobre tenants autenticados.
  • Multi-idioma. Responde en el idioma del usuario (vía context.locale).
  • Lead capture. El SalesAgent puede crear/actualizar leads en emavault.leads cuando un visitante deja email voluntariamente.
Chatbot genéricoEMA Emi
Personauna soladinámica por producto
Toolssin toolstools FHIR / Supabase con scope
Datossólo lo que sabe el modelodatos reales del producto, scope-ados por tenant
Idiomauno o detección débillocale por request
Tenant scopingnosí (per-app, con credenciales Aidbox propias por tenant)
AuthAPI key sueltaAPI key + app scope + tool scope + activación per-tenant + rate limit
Auditlogs sueltostabla emi_invocations con cost/tokens/status sin PHI
Lead capturemanualtool integrado con CRM Vault