# API данных о симптомах: концепции, терминология FHIR и симптомы, сообщаемые пациентом

> Стабильные идентификаторы симптомов, сопоставленные с ICD-10, предоставляемые как REST, так и как FHIR CodeSystem, ValueSet и ConceptMap; как выглядит наблюдение о симптоме, сообщаемом пациентом, и как его проверить.

Source: https://developers.anpheros.com/ru/guides/symptom-data-api

**Anpheros присваивает каждому симптому стабильный идентификатор (`SYM-0047` — головная боль), сопоставляет его с ICD-10 и предоставляет список через конечную точку REST, а также в виде терминологии FHIR R4 (`CodeSystem`, `ValueSet`, `ConceptMap`, `$lookup`). Симптомы, о которых сообщают пациенты, хранятся как FHIR `Observation`, которые содержат как коды, так и собственные слова человека, интенсивность и, когда известно, время начала и окончания симптома.** На этой странице показано, как найти концепцию, как выглядит симптом, сообщаемый пациентом, как проверить тот, который вы пишете сами, и чего намеренно не содержит данных.

## Что содержится в релизе

| | |
|---|---|
| Релиз | `2026.10.4` (указано в каждом ответе) |
| Концепты | 274: 197 симптомов (ICD-10 R00–R69 и их не остаточные подкатегории, такие как R06.0 одышка или R43.0 аносмия, плюс код ВОЗ, где ВОЗ классифицирует симптом иначе: G47, H53.2, H53.8, H93.1, K59.0, L29.9, M25.5, M54) и 77 состояний (R65, R70–R94) |
| Система идентификаторов | `https://anpheros.com/fhir/CodeSystem/symptom` |
| Коды | проверены по WHO ICD-10 Версия 2019 (15 октября 2026 г.) с примечаниями о включении и исключении; заголовки WHO ICD-10 не предоставляются до подтверждения лицензии ВОЗ (`icd10.display: null`), официальный английский заголовок является заголовком ICD-11 |
| ICD-11 | каждый концепт сопоставляется с кодом ICD-11 MMS 2025-01 (код симптома из главы 21) и с системой органов |
| Предоставляемые метки | английский заголовок WHO ICD-11 (`source`), румынские метки и совпадающие термины, используемые Anpheros Daily (`in_use`), и метки для широкой публики на 19 других языках (`ai_reviewed`: машинные переводы, проверенные с помощью ИИ, а не профессиональным медицинским переводчиком); для 188 концептов, добавленных в 2026.10.3, румынское название также является переводом ИИ |
| Клиническая экспертиза | `clinical_review: false` — ни один клиницист не рецензировал релиз; нет причин или ассоциаций состояний |
| Предупреждающие знаки | 32, для 14 концептов, дословно цитируемые со страниц CDC и NIDDK (`review: source_quoted`) |

Идентификаторы никогда не повторяются. Концепт, который был отозван, остается в списке с `status: deprecated`.

## Найти концепцию (REST)

```bash
export API=https://platform.anpheros.com/v1
export KEY=sk_test_…

curl "$API/terminology/symptoms?q=headache" -H "Authorization: Bearer $KEY"
```

`q` соответствует идентификатору концепции, кодам ICD-10 и ICD-11, меткам и терминам соответствия. Другие параметры: `icd10=R51` (концепция для одного кода), `icd11=MB4D`, `body_system=nervous`, `kind=symptom|finding|all`, `lang=de` (язык `display`: предпочтительная метка, иначе общедоступная метка, иначе английский), `limit` и `offset`.

```json
{
  "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` перечисляет каждую обслуживаемую метку (20 языков; здесь сокращено). Одна концепция: `GET $API/terminology/symptoms/SYM-0047`.

## Тот же список, что и терминология FHIR

```bash
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` (релиз не был рассмотрен клиницистом); свойства `kind`, `status`, `icd10`; румынские метки, соответствие терминов и пользовательских меток в качестве `designation`.
- `ValueSet/anpheros-symptoms` — активные симптомы (исключая находки); `$expand` принимает `filter`, `displayLanguage`, `count` и `offset`.
- `ConceptMap/anpheros-symptom-to-icd10` — `equivalent` или `wider`, когда код ICD-10 охватывает больше, чем концепция (H53.8 "Другие нарушения зрения" шире, чем нечеткое зрение).
- Все они доступны только для чтения и перечислены в `CapabilityStatement` сервера (`GET $BASE/metadata`).

## Симптом, сообщенный пациентом

Вот как Anpheros Daily записывает симптом, который человек сообщил о себе как о присутствующем:

```json
{
  "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.text` — это всегда собственные слова человека на его языке (`Observation.language`); коды располагаются рядом.
- `effectivePeriod` используется, когда человек указал, когда симптом начался или закончился; в противном случае `effectiveDateTime` — это момент, когда он его отметил. Время сохраняет смещение телефона, который его записал.
- `valueQuantity` — это интенсивность по шкале от 1 до 10; без нее значение отсутствует.
- Когда человек редактирует симптом, тот же ресурс получает новую версию — предыдущие версии читаются с помощью `GET $BASE/Observation/{id}/_history`.
- Фильтруйте по категории с помощью `?category=symptom`; области согласия, такие как `patient/Observation.rs?category=symptom`, работают так же.

### Что никогда не публикуется как симптом

Только симптомы, которые **присутствуют** и **касаются пациента**, становятся Observations, и только после нормализации свободного текста. "У меня больше не болит голова", "возможно, завтра будет лихорадка", "у моей матери кашель" или текст, который нормализатор не смог прочитать, не становятся симптомом пациента; если опубликованный симптом позже корректируется до одного из этих, его Observation отзывается (мягкое удаление — история сохраняется). Жалобы родственников автоматически не превращаются в семейный анамнез.

## Проверка введенного вами симптома

```bash
curl -X POST "$BASE/Observation/\$validate?profile=anpheros-symptom" -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/fhir+json" -d @symptom.json
```

Профиль `anpheros-symptom` (канонический `https://anpheros.com/fhir/StructureDefinition/anpheros-symptom-observation`) сообщает, как `OperationOutcome`:

| Правило | Серьезность |
|---|---|
| Категория `urn:anpheros:observation-category\|symptom` (система HL7 `observation-category` не имеет кода `symptom`) | error |
| `code.text` присутствует | error |
| Концепция Anpheros, которая существует и соответствует коду ICD-10 | error |
| `subject` является Patient; `status` final, amended, corrected или entered-in-error; `effective[x]` присутствует; `effectivePeriod.end` не ранее `start` | error |
| Интенсивность в UCUM `{score}` от 0 до 10 | error |
| Только свободный текст, без кодов | information (still valid) |

Как и другие профили, он сообщает, а не отклоняет записи. `meta.profile`, который вы отправляете, сохраняется в хранимом ресурсе.

## Ограничения

- Релиз не был рассмотрен клиницистом; используйте его для кодирования и поиска, а не для принятия медицинских решений.
- Предупреждающие знаки цитируются дословно с общедоступных федеральных страниц США (CDC: признаки инсульта и сердечного приступа; NIDDK: диарея и запор) и были проверены по этим страницам 15 октября 2026 года. Каждый элемент содержит собственный заголовок источника (`context`), его рекомендации (`quote`), группу, к которой он относится (`applies_to`), источник с лицензией и указанием авторства (`review: source_verified`) и примечание о том, что это не диагноз и не было рассмотрено клиницистом. Источники американские: там, где в цитате указан номер 9-1-1, в примечании добавляется, что номер экстренной помощи в Европе — 112.
- Причины или ассоциации состояний не предоставляются: `associations` остается пустым до тех пор, пока клиницист не рассмотрит элемент. Ассоциация всегда означает "может быть связана с".
- Коды SNOMED CT указываются только там, где это разрешено лицензией (см. [FHIR code systems](https://developers.anpheros.com/ru/guides/fhir-code-systems)).
- Более ранние наблюдения за симптомами получают кодирование концепции Anpheros при следующем обновлении.

## Связанные материалы

- [Anpheros Symptom Engine: методология](https://developers.anpheros.com/ru/guides/symptom-engine): как концепции назначаются, проверяются и оцениваются
- [Anpheros Search](https://developers.anpheros.com/ru/guides/anpheros-search): единый поиск по симптомам, состояниям и методам лечения с указанием источников
- [Системы кодирования FHIR](https://developers.anpheros.com/ru/guides/fhir-code-systems): каждая система кодирования для каждого типа ресурса
- [API для продольных данных пациента](https://developers.anpheros.com/ru/guides/longitudinal-patient-data-api)
- [Как хранить медицинские записи с использованием FHIR R4](https://developers.anpheros.com/ru/guides/store-medical-records-fhir)
- [Платформа FHIR](https://developers.anpheros.com/ru/guides/fhir)
