Backend de salud Anpheros
Anpheros almacena el registro de salud de cada persona como recursos estándar HL7 FHIR R4 y expone los mismos datos a través de una API REST simple (/v1) y FHIR estricta (/fhir/R4). Los IDs son idénticos en ambas.
- URL base:
https://platform.anpheros.com(la clave decide sandbox o producción) - Guías: https://developers.anpheros.com/guides/ — OpenAPI:
/docs— CapabilityStatement:/fhir/R4/metadata - Servidor MCP de documentación (sin cuenta, solo lectura):
https://platform.anpheros.com/mcp/docs - SDKs:
npm install @anpheros/sdk(TypeScript),anpheros_sdk(Dart/Flutter)
Reglas (siempre)
- Sandbox primero. Usa una clave
sk_test_: solo ve los pacientes sintéticos del proyecto. Nunca pongas datos reales de pacientes en el sandbox y nunca escribas clavessk_live_en código, ejemplos o commits; lee las claves del entorno (ANPHEROS_KEY). - Nunca inventes códigos. Los códigos LOINC, SNOMED CT, ICD-10, ICD-11, ATC y RxNorm provienen del sistema de códigos oficial o de la búsqueda de terminología (
GET /v1/search?q=…,GET /v1/search/{id}). Si un código es desconocido, omítelo. Las unidades son UCUM (mg/dL,mmHg,kg). - El consentimiento es obligatorio. Una clave de API solo ve pacientes que su proyecto creó. Para acceder al registro existente de una persona, pregúntale a través del flujo de consentimiento (paso 4 a continuación). Un
403significa "fuera del consentimiento": pide más, nunca lo evites. Un401después de una revocación significa que el acceso ha terminado. - Di quién lo escribió. Cada escritura lleva
author_type(patient,practitioner,device,import,ai). Los datos escritos por un modelo usanauthor_type: "ai"(la plataforma añade etiquetas de transparencia de IA HL7). - Sin diagnóstico, sin consejo de tratamiento. La aplicación puede mostrar registros, tendencias y patrones; no debe decir a los usuarios qué tienen o qué medicamento tomar.
- Envía un encabezado
Idempotency-Keyen las escrituras que puedan reintentarse.
Flujo de trabajo
- Clave. El desarrollador inicia sesión en https://platform.anpheros.com/dashboard/ y presiona Obtener una clave de sandbox.
- Lectura.
curl $BASE/v1/patients -H "Authorization: Bearer $ANPHEROS_KEY" curl "$BASE/v1/patients/$PID/observations?category=laboratory&limit=10" -H "Authorization: Bearer $ANPHEROS_KEY" curl "$BASE/v1/patients/$PID/timeline?from=2026-06-01" -H "Authorization: Bearer $ANPHEROS_KEY" - Escritura.
Con el SDK:curl -X POST "$BASE/v1/patients/$PID/observations" -H "Authorization: Bearer $ANPHEROS_KEY" \ -H 'content-type: application/json' -H "Idempotency-Key: $(uuidgen)" -d '{ "code": "2339-0", "display": "Glucosa", "category": "laboratory", "value": 112, "unit": "mg/dL", "effective_at": "2026-09-19T08:10:00Z", "author_type": "device"}'import { Anpheros, apiKey } from '@anpheros/sdk'; const anpheros = new Anpheros({ auth: apiKey(process.env.ANPHEROS_KEY!) }); const patient = await anpheros.patients.create({ given: 'Ana', family: 'Ejemplo', birth_date: '1980-05-17', gender: 'female' }); - Consentimiento (SMART on FHIR, OAuth 2.1 + PKCE). Registra una aplicación
(
POST /admin/projects/{id}/applications), envía a la persona aGET /oauth/authorize?…&scope=patient/Observation.rs offline_access&purpose=treatment, intercambia el código enPOST /oauth/token, luego llama a la API conAuthorization: Bearer at_…. Descubrimiento:/.well-known/smart-configuration. Guía: https://developers.anpheros.com/guides/healthcare-api-patient-consent - Contexto de IA.
POST /v1/contextdevuelve las partes de un registro que encajan con una consulta, con procedencia, en lugar de volcar recursos en bruto al modelo. - Importaciones de laboratorio. Informes de laboratorio HL7 v2 ORU y CSV: https://developers.anpheros.com/guides/import-lab-results-fhir
Antes de escribir código para un tema no cubierto aquí, busca en las guías (el servidor MCP de documentación search_docs, o el índice de guías) en lugar de adivinar endpoints.