Qué hace y para quién
Audiencia
Sección titulada «Audiencia»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.
Problema que resuelve
Sección titulada «Problema que resuelve»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.
Propuesta de valor
Sección titulada «Propuesta de valor»- 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_invocationscon 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.leadscuando un visitante deja email voluntariamente.
Diferencia con un chatbot genérico
Sección titulada «Diferencia con un chatbot genérico»| Chatbot genérico | EMA Emi | |
|---|---|---|
| Persona | una sola | dinámica por producto |
| Tools | sin tools | tools FHIR / Supabase con scope |
| Datos | sólo lo que sabe el modelo | datos reales del producto, scope-ados por tenant |
| Idioma | uno o detección débil | locale por request |
| Tenant scoping | no | sí (per-app, con credenciales Aidbox propias por tenant) |
| Auth | API key suelta | API key + app scope + tool scope + activación per-tenant + rate limit |
| Audit | logs sueltos | tabla emi_invocations con cost/tokens/status sin PHI |
| Lead capture | manual | tool integrado con CRM Vault |