Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
API de datos de síntomas: conceptos, terminología FHIR y síntomas reportados por el paciente
Identificadores de síntomas estables mapeados a ICD-10, servidos como REST y como CodeSystem, ValueSet y ConceptMap de FHIR; cómo se ve un síntoma reportado por el paciente como Observación y cómo validar uno.
Anpheros asigna a cada síntoma un identificador estable (SYM-0047 es dolor de cabeza), lo mapea a ICD-10 y sirve la lista a través de un endpoint REST y como terminología FHIR R4 (CodeSystem, ValueSet, ConceptMap, $lookup). Los síntomas que los pacientes reportan se almacenan como Observations de FHIR que llevan ambos códigos, las propias palabras de la persona, la intensidad y, cuando se conoce, cuándo comenzó y terminó el síntoma. Esta página muestra cómo encontrar un concepto, cómo se ve un síntoma reportado por el paciente, cómo verificar uno que usted mismo escriba y qué datos deliberadamente no contiene.
Contenido del lanzamiento
| Lanzamiento | 2026.10.4 (cada respuesta indica cuál) |
| Conceptos | 274: 197 síntomas (ICD-10 R00–R69 y sus subcategorías no residuales como R06.0 disnea o R43.0 anosmia, más el código de la OMS donde la OMS clasifica el síntoma en otro lugar: G47, H53.2, H53.8, H93.1, K59.0, L29.9, M25.5, M54) y 77 hallazgos (R65, R70–R94) |
| Sistema de identificadores | https://anpheros.com/fhir/CodeSystem/symptom |
| Códigos | verificados contra la versión 2019 de la OMS ICD-10 (15 de octubre de 2026), con sus notas de inclusión y exclusión; los títulos oficiales de la OMS ICD-10 no se proporcionan hasta que la OMS confirme la licencia (icd10.display: null), el título oficial en inglés es el de ICD-11 |
| ICD-11 | cada concepto se mapea a un código ICD-11 MMS 2025-01 (el código de síntoma del capítulo 21) y a un sistema corporal |
| Etiquetas proporcionadas | el título oficial en inglés de la OMS ICD-11 (source), las etiquetas en rumano y términos coincidentes utilizados por Anpheros Daily (in_use), y etiquetas para el público general en 19 idiomas adicionales (ai_reviewed: traducciones automáticas revisadas con ayuda de IA, no por un traductor médico profesional); para los 188 conceptos añadidos en 2026.10.3, el nombre en rumano también es una traducción de IA |
| Revisión clínica | clinical_review: false — ningún clínico ha revisado el lanzamiento; no hay causas ni asociaciones de condiciones |
| Señales de advertencia | 32, para 14 conceptos, citadas textualmente de las páginas de CDC y NIDDK (review: source_quoted) |
Los identificadores nunca se reutilizan. Un concepto que se retira permanece en la lista con status: deprecated.
Buscar un concepto (REST)
export API=https://platform.anpheros.com/v1
export KEY=sk_test_…
curl "$API/terminology/symptoms?q=headache" -H "Authorization: Bearer $KEY"
q coincide con el ID del concepto, los códigos ICD-10 e ICD-11, las etiquetas y los términos de coincidencia. Otros parámetros: icd10=R51 (el concepto para un código), icd11=MB4D, body_system=nervous, kind=symptom|finding|all, lang=de (el idioma de display: la etiqueta preferida, si no, la etiqueta común, si no, inglés), limit y offset.
{
"data": [{
"concept_id": "SYM-0047",
"system": "https://anpheros.com/fhir/CodeSystem/symptom",
"kind": "symptom",
"status": "active",
"display": "Headache, not elsewhere classified",
"display_lang": "en",
"icd10": {"system": "http://hl7.org/fhir/sid/icd-10", "code": "R51", "display": null, "equivalence": "equivalent"},
"icd11": {"system": "http://id.who.int/icd/release/11/mms", "code": "MB4D", "display": "Headache, not elsewhere classified", "equivalence": "equivalent"},
"body_system": {"code": "nervous", "display": "Symptoms, signs or clinical findings of the nervous system", "icd11_block": "BlockL1-MB4"},
"labels": [
{"lang": "ro", "use": "preferred", "text": "Durere de cap (cefalee)", "review": "in_use"},
{"lang": "de", "use": "lay", "text": "Kopfschmerzen", "review": "ai_reviewed"}
],
"match_terms": [{"lang": "ro", "text": "durere de cap"}, {"lang": "ro", "text": "cefalee"}],
"clinical_review": false,
"release": "2026.10.2"
}],
"total": 1,
"release": "2026.10.2"
}
labels lista cada etiqueta servida (20 idiomas; acortada aquí). Un concepto: GET $API/terminology/symptoms/SYM-0047.
La misma lista que la terminología FHIR
export BASE=https://platform.anpheros.com/fhir/R4
curl "$BASE/CodeSystem/anpheros-symptom" -H "Authorization: Bearer $KEY"
curl "$BASE/CodeSystem/\$lookup?system=https://anpheros.com/fhir/CodeSystem/symptom&code=SYM-0047&displayLanguage=ro" -H "Authorization: Bearer $KEY"
curl "$BASE/ValueSet/\$expand?url=https://anpheros.com/fhir/ValueSet/anpheros-symptoms&filter=cough" -H "Authorization: Bearer $KEY"
curl "$BASE/ConceptMap/anpheros-symptom-to-icd10" -H "Authorization: Bearer $KEY"
curl "$BASE/ConceptMap/anpheros-symptom-to-icd11" -H "Authorization: Bearer $KEY"
CodeSystem/anpheros-symptom—content: complete,status: draft(la versión no ha sido revisada por un clínico); propiedadeskind,status,icd10; etiquetas rumanas, términos coincidentes y etiquetas generales comodesignation.ValueSet/anpheros-symptoms— los síntomas activos (hallazgos excluidos);$expandtomafilter,displayLanguage,countyoffset.ConceptMap/anpheros-symptom-to-icd10—equivalent, owidercuando el código ICD-10 abarca más que el concepto (H53.8 "Otras alteraciones visuales" es más amplio que la visión borrosa).- Todos ellos son de solo lectura y se enumeran en el
CapabilityStatementdel servidor (GET $BASE/metadata).
Un síntoma reportado por el paciente
Así es como Anpheros Daily registra un síntoma que una persona reportó como presente, sobre sí misma:
{
"resourceType": "Observation",
"status": "final",
"meta": {"profile": ["https://anpheros.com/fhir/StructureDefinition/anpheros-symptom-observation"]},
"category": [{"coding": [{"system": "urn:anpheros:observation-category", "code": "symptom"}]}],
"code": {
"text": "Mă doare capul de 3 zile",
"coding": [
{"system": "http://hl7.org/fhir/sid/icd-10", "code": "R51"},
{"system": "https://anpheros.com/fhir/CodeSystem/symptom", "code": "SYM-0047", "display": "Headache"}
]
},
"subject": {"reference": "Patient/…"},
"effectivePeriod": {"start": "2026-10-11T08:00:00+03:00", "end": "2026-10-14T18:00:00+03:00"},
"valueQuantity": {"value": 6, "unit": "1-10", "system": "http://unitsofmeasure.org", "code": "{score}"}
}
code.textson siempre las palabras de la persona, en su idioma (Observation.language); los códigos se sitúan a su lado.effectivePeriodse utiliza cuando la persona indica cuándo comenzó o terminó; de lo contrario,effectiveDateTimees el momento en que lo anotó. Las horas conservan el desplazamiento del teléfono que las registró.valueQuantityes la intensidad en una escala de 1 a 10; sin ella no hay valor.- Cuando la persona edita un síntoma, el mismo recurso obtiene una nueva versión; lea las anteriores con
GET $BASE/Observation/{id}/_history. - Filtre por categoría con
?category=symptom; los ámbitos de consentimiento comopatient/Observation.rs?category=symptomfuncionan de la misma manera.
Lo que nunca se publica como síntoma
Solo los síntomas que están presentes y son sobre el paciente se convierten en Observaciones, y solo después de que el texto libre ha sido normalizado. "Ya no me duele la cabeza", "quizás tenga fiebre mañana", "mi madre tiene tos" o un texto que el normalizador no pudo leer no se convierten en un síntoma del paciente; si un síntoma publicado se corrige posteriormente a uno de estos, su Observación se retira (eliminación lógica: el historial permanece). Las quejas de los familiares no se convierten automáticamente en historial familiar.
Comprobar un síntoma que escriba
curl -X POST "$BASE/Observation/\$validate?profile=anpheros-symptom" -H "Authorization: Bearer $KEY" \
-H "Content-Type: application/fhir+json" -d @symptom.json
El perfil anpheros-symptom (canónico https://anpheros.com/fhir/StructureDefinition/anpheros-symptom-observation) informa, como un OperationOutcome:
| Regla | Severidad |
|---|---|
Categoría urn:anpheros:observation-category\|symptom (el sistema HL7 observation-category no tiene código symptom) |
error |
code.text presente |
error |
| Un concepto de Anpheros que existe y coincide con el código ICD-10 | error |
subject es un Paciente; status final, enmendado, corregido o introducido por error; effective[x] presente; effectivePeriod.end no antes de start |
error |
Intensidad como UCUM {score} entre 0 y 10 |
error |
| Solo texto libre, sin códigos | information (still valid) |
Al igual que los otros perfiles, informa y no rechaza escrituras. Un meta.profile que envíe se mantiene en el recurso almacenado.
Límites
- La versión no ha sido revisada por un clínico; úsela para codificación y búsqueda, no para decisiones médicas.
- Las señales de advertencia se citan palabra por palabra de páginas de dominio público del gobierno federal de EE. UU. (CDC: signos de accidente cerebrovascular y ataque cardíaco; NIDDK: diarrea y estreñimiento) y se verificaron contra esas páginas el 15 de octubre de 2026. Cada elemento lleva el encabezado propio de la fuente (
context), su consejo (quote), el grupo al que se aplica (applies_to), la fuente con licencia y atribución,review: source_verifiedy la nota de que no es un diagnóstico y no ha sido revisado por un clínico. Las fuentes son estadounidenses: donde una cita dice 9-1-1, la nota añade que el número de emergencia en Europa es 112. - No se sirven causas ni asociaciones de condiciones:
associationspermanece vacío hasta que un clínico revise un elemento. Una asociación es siempre "puede estar asociada con". - Los códigos SNOMED CT se escriben solo donde la licencia lo permite (ver Sistemas de códigos FHIR).
- Las Observaciones de síntomas anteriores reciben la codificación de concepto de Anpheros la próxima vez que se actualicen.
Relacionado
- Anpheros Symptom Engine: metodología: cómo se asignan, verifican y evalúan los conceptos
- Anpheros Search: una búsqueda sobre síntomas, afecciones y tratamientos, con fuentes
- Sistemas de códigos FHIR: cada sistema de códigos por tipo de recurso
- API de datos longitudinales del paciente
- Cómo almacenar historiales médicos usando FHIR R4
- Plataforma FHIR
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card