Un agente de IA que lee "Nolvadex 20 mg por la mañana" necesita saber que se trata de tamoxifeno, un antiestrógeno, ATC L02BA01, y que es una dosis oral diaria, no una dosis única. De dónde proviene ese conocimiento y cómo se almacena el medicamento para que el próximo sistema lo lea de la misma manera, es la verdadera pregunta detrás de "qué base de datos de medicamentos debo usar". Esta guía responde a esa pregunta para la Plataforma Anpheros y es honesta sobre lo que la plataforma proporciona y lo que no.
Versión técnica para desarrolladores: Datos de medicamentos para agentes de IA · Sistemas de códigos FHIR en developers.anpheros.com, con solicitudes, respuestas y límites. Esta página es la versión en lenguaje sencillo.
Códigos primero: ATC
La clasificación Anatómica Terapéutica Química de la OMS otorga a cada sustancia activa un código organizado por lo que actúa y lo que hace: C09AA02 es enalapril (C cardiovascular, C09 renina-angiotensina, C09AA inhibidores de la ECA). ATC es gratuito, internacional y estable, por lo que Anpheros codifica cada medicamento con él. El nombre del producto permanece en code.text, para que la persona siga viendo "Nolvadex" y el agente vea L02BA01.
Lo que ATC no te da: formas de dosificación, tamaños de envase, identificadores nacionales de productos, precios o interacciones. Esos son específicos de cada país y a menudo tienen licencia. Un agente que los necesita requiere una segunda fuente.
Lo que proporciona la plataforma
- Un subconjunto de ATC empaquetado para búsqueda, suficiente para los medicamentos que las personas en Europa realmente toman, con nombres para mostrar, buscable en
GET /v1/terminology/atc?q=y por código enGET /v1/terminology/atc/{code}. El mismo subconjunto respalda la herramienta MCPlookup_code. Un código fuera del subconjunto aún puede usarse en un recurso; la búsqueda simplemente no tiene una visualización para él. - Un subconjunto de LOINC empaquetado para mediciones y resultados de laboratorio, con los mismos puntos finales bajo
/v1/terminology/loinc. - Recursos FHIR con la forma correcta:
MedicationStatementpara el plan de tratamiento (lo que la persona toma, desde cuándo, con qué frecuencia),MedicationAdministrationpara cada dosis tomada, vinculada a su declaración,Immunizationcon códigos de vacunas ATC J07, yAllergyIntolerancecon ATC para alergias a medicamentos.
Lo que la plataforma no proporciona: una base de datos completa de medicamentos, verificación de interacciones, verificación de rangos de dosis o soporte de decisiones clínicas. Esos están deliberadamente fuera, porque harían de la plataforma un dispositivo médico. Si tu agente los necesita, utiliza un servicio con licencia y mantén la plataforma como el registro.
Cómo un agente lee los medicamentos
La API de contexto devuelve medicamentos activos con su código ATC, texto, dosificación y procedencia (quién lo ingresó: el paciente, un profesional, una importación), dentro de un presupuesto de tokens, para que el modelo vea una lista limpia en lugar de una pila de recursos. A través de MCP, lo mismo es get_patient_context, y search_fhir con MedicationStatement?patient=…&status=active proporciona los recursos brutos.
curl "$BASE/v1/patients/$PID/medications?status=active" -H "Authorization: Bearer $TOKEN"
Cómo un agente escribe medicamentos
No escribe, propone. Una MedicationStatement enviada por una aplicación registrada como agente de IA, bajo el consentimiento de la persona, se valida y se mantiene como una propuesta. La persona ve "El Asistente X quiere agregar tamoxifeno 20 mg diarios", acepta o rechaza, y solo una propuesta aceptada entra en el registro, marcada como escrita por IA. El agente debe enviar el código ATC cuando esté seguro, y el nombre del producto en code.text siempre; un texto legible por humanos sin código aún se acepta y se puede codificar más tarde.
Antes de enviar, validate_fhir_resource (o POST /fhir/R4/MedicationStatement/$validate) le dice al agente si el recurso está bien formado, para que nunca se le pida a la persona que apruebe algo mal formado.
Elegir una segunda fuente, si la necesitas
Si el agente debe responder "¿esto interactúa con aquello?", elige una fuente por país (los datos de interacción y los identificadores de productos difieren) y por licencia (la mayoría son comerciales). Conserva el resultado como tu propia anotación, no como un recurso en el registro de la persona, a menos que un médico lo confirme. El registro debe contener lo que se tomó; la capa de asesoramiento es tuya.
Preguntas frecuentes
¿Anpheros tiene una base de datos completa de medicamentos?
No. Tiene un subconjunto de ATC empaquetado para codificación y búsqueda, y almacena medicamentos como recursos FHIR con códigos ATC. No se incluyen interacciones, comprobaciones de dosis ni catálogos nacionales de productos.
¿Por qué ATC en lugar de RxNorm o una lista nacional?
ATC es internacional y gratuito, lo que es importante para un registro que sigue a una persona a través de las fronteras. RxNorm está centrado en EE. UU.; las listas nacionales se detienen en la frontera. Una aplicación puede agregar una segunda codificación (por ejemplo, un código de producto nacional) junto a la de ATC en el mismo recurso.
¿Puede un agente agregar un medicamento al registro de una persona?
Solo como una propuesta que la persona aprueba. Nada de lo que envía un agente de IA se aplica sin esa aprobación.
¿Cómo sabe el agente quién ingresó un medicamento?
Cada elemento en la API de contexto lleva author_type y una fuente, y cada recurso tiene una Provenance. Un medicamento ingresado por un profesional y uno escrito por el paciente se ven diferentes para el modelo, que es el objetivo.
¿Hay alguna forma gratuita de probar esto?
Sí: el sandbox es gratuito y sus 30 pacientes sintéticos tienen medicamentos realistas codificados con ATC. Consulta Servidor FHIR gratuito: el sandbox.
Lleva tu historial médico contigo
Anpheros Daily guarda síntomas, análisis, medicamentos y documentos en un solo lugar, en formato estándar y bajo tu control. El plan Basic es gratuito.