# API pro data symptomů: koncepty, terminologie FHIR a symptomy hlášené pacientem

> Stabilní identifikátory symptomů namapované na ICD-10, dostupné jako REST a jako FHIR CodeSystem, ValueSet a ConceptMap; jak vypadá symptom hlášený pacientem v rámci Observation a jak jej validovat.

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

**Anpheros přiřazuje každému symptomu stabilní identifikátor (`SYM-0047` je bolest hlavy), mapuje jej na ICD-10 a seznam zpřístupňuje prostřednictvím koncového bodu REST a jako terminologii FHIR R4 (`CodeSystem`, `ValueSet`, `ConceptMap`, `$lookup`). Symptomy, které pacienti hlásí, jsou ukládány jako FHIR `Observation`s, které nesou oba kódy, vlastní slova osoby, intenzitu a, pokud je známo, kdy symptom začal a skončil.** Tato stránka ukazuje, jak najít koncept, jak vypadá symptom hlášený pacientem, jak zkontrolovat ten, který si sami napíšete, a co data záměrně neobsahují.

## Co je v této verzi

| | |
|---|---|
| Verze | `2026.10.4` (každá odpověď uvádí, která) |
| Koncepty | 274: 197 symptomů (ICD-10 R00–R69 a jejich podkategorie bez reziduí, jako R06.0 dušnost nebo R43.0 anosmie, plus kód WHO, kde WHO klasifikuje symptom jinde: G47, H53.2, H53.8, H93.1, K59.0, L29.9, M25.5, M54) a 77 nálezů (R65, R70–R94) |
| Systém identifikátorů | `https://anpheros.com/fhir/CodeSystem/symptom` |
| Kódy | zkontrolováno oproti WHO ICD-10 Verze 2019 (15. října 2026) s poznámkami o zahrnutí a vyloučení; názvy WHO ICD-10 nejsou poskytovány, dokud WHO nepotvrdí licenci (`icd10.display: null`), oficiální anglický název je název ICD-11 |
| ICD-11 | každý koncept je mapován na kód ICD-11 MMS 2025-01 (kód symptomu z kapitoly 21) a na tělesný systém |
| Poskytované popisky | anglický název WHO ICD-11 (`source`), rumunské popisky a shodné termíny používané Anpheros Daily (`in_use`) a laické popisky v 19 dalších jazycích (`ai_reviewed`: strojové překlady revidované s pomocí AI, nikoli profesionálním lékařským překladatelem); pro 188 konceptů přidaných ve verzi 2026.10.3 je rumunský název rovněž překladem AI |
| Klinické hodnocení | `clinical_review: false` — žádný klinický pracovník tuto verzi nehodnotil; žádné příčiny ani asociace stavů |
| Varovné příznaky | 32, pro 14 konceptů, citováno slovo od slova ze stránek CDC a NIDDK (`review: source_quoted`) |

Identifikátory se nikdy znovu nepoužívají. Koncept, který je stažen, zůstává v seznamu s `status: deprecated`.

## Najít koncept (REST)

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

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

`q` odpovídá ID konceptu, kódům ICD-10 a ICD-11, štítkům a shodným termínům. Další parametry: `icd10=R51` (koncept pro jeden kód), `icd11=MB4D`, `body_system=nervous`, `kind=symptom|finding|all`, `lang=de` (jazyk `display`: preferovaný štítek, jinak běžný štítek, jinak angličtina), `limit` a `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` uvádí každý obsluhovaný štítek (20 jazyků; zde zkráceno). Jeden koncept: `GET $API/terminology/symptoms/SYM-0047`.

## Stejný seznam jako terminologie 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` (vydání nebylo zkontrolováno klinickým lékařem); vlastnosti `kind`, `status`, `icd10`; rumunské popisky, shodné termíny a laické popisky jako `designation`.
- `ValueSet/anpheros-symptoms` — aktivní symptomy (nálezy vyloučeny); `$expand` přebírá `filter`, `displayLanguage`, `count` a `offset`.
- `ConceptMap/anpheros-symptom-to-icd10` — `equivalent`, nebo `wider`, když kód ICD-10 pokrývá více než koncept (H53.8 „Jiné zrakové poruchy“ je širší než rozmazané vidění).
- Všechny jsou pouze pro čtení a uvedeny v `CapabilityStatement` serveru (`GET $BASE/metadata`).

## Pacientem nahlášený symptom

Takto Anpheros Daily zaznamenává symptom, který osoba nahlásila jako přítomný, týkající se jí samotné:

```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` jsou vždy vlastní slova osoby, v jejím jazyce (`Observation.language`); kódy jsou uvedeny vedle nich.
- `effectivePeriod` se používá, když osoba uvedla, kdy symptom začal nebo skončil; jinak `effectiveDateTime` je okamžik, kdy jej zaznamenala. Časy si zachovávají offset telefonu, který je zaznamenal.
- `valueQuantity` je intenzita na škále 1–10; bez ní není hodnota.
- Když osoba upraví symptom, stejný zdroj dostane novou verzi — starší verze se čtou pomocí `GET $BASE/Observation/{id}/_history`.
- Filtrujte podle kategorie pomocí `?category=symptom`; rozsahy souhlasu, jako je `patient/Observation.rs?category=symptom`, fungují stejně.

### Co se nikdy nepublikuje jako symptom

Pouze symptomy, které jsou **přítomné** a **týkají se pacienta**, se stávají Observation a pouze poté, co byl volný text normalizován. "Moje hlava už nebolí", "možná zítra horečka", "moje matka má kašel" nebo text, který normalizátor nedokázal přečíst, se nestanou symptomem pacienta; pokud je publikovaný symptom později opraven na jeden z těchto, jeho Observation je stažena (soft delete — historie zůstává). Stížnosti příbuzných se automaticky nepřevádějí na rodinnou anamnézu.

## Zkontrolujte zadaný symptom

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

Profil `anpheros-symptom` (kanonický `https://anpheros.com/fhir/StructureDefinition/anpheros-symptom-observation`) hlásí jako `OperationOutcome`:

| Pravidlo | Závažnost |
|---|---|
| Kategorie `urn:anpheros:observation-category\|symptom` (systém HL7 `observation-category` nemá žádný kód `symptom`) | error |
| `code.text` přítomno | error |
| Koncept Anpheros, který existuje a odpovídá kódu ICD-10 | error |
| `subject` je Pacient; `status` konečné, pozměněné, opravené nebo zadané s chybou; `effective[x]` přítomno; `effectivePeriod.end` ne dříve než `start` | error |
| Intenzita jako UCUM `{score}` mezi 0 a 10 | error |
| Pouze volný text, žádné kódy | information (stále platné) |

Stejně jako ostatní profily, i tento hlásí a neodmítá zápisy. `meta.profile`, které odešlete, zůstane v uloženém zdroji.

## Omezení

- Tato verze nebyla zkontrolována lékařem; používejte ji pro kódování a vyhledávání, nikoli pro lékařská rozhodnutí.
- Varovné příznaky jsou citovány doslovně z veřejně dostupných amerických federálních stránek (CDC: příznaky mrtvice a infarktu; NIDDK: průjem a zácpa) a byly zkontrolovány s těmito stránkami k 15. říjnu 2026. Každá položka obsahuje vlastní nadpis zdroje (`context`), jeho doporučení (`quote`), skupinu, na kterou se vztahuje (`applies_to`), zdroj s licencí a uvedením autora, `review: source_verified` a poznámku, že se nejedná o diagnózu a nebyla zkontrolována lékařem. Zdroje jsou americké: kde citace uvádí 9-1-1, poznámka dodává, že nouzové číslo v Evropě je 112.
- Žádné příčiny ani asociace stavů nejsou poskytovány: `associations` zůstává prázdné, dokud lékař položku nezkontroluje. Asociace je vždy "může být spojena s".
- Kódy SNOMED CT jsou uvedeny pouze tam, kde to licence umožňuje (viz [FHIR code systems](https://developers.anpheros.com/cs/guides/fhir-code-systems)).
- Dřívější pozorování symptomů obdrží kódování konceptu Anpheros při příští aktualizaci.

## Související

- [Anpheros Symptom Engine: metodologie](https://developers.anpheros.com/cs/guides/symptom-engine): jak jsou koncepty přiřazovány, kontrolovány a hodnoceny
- [Anpheros Search](https://developers.anpheros.com/cs/guides/anpheros-search): jedno vyhledávání napříč symptomy, stavy a léčbami, včetně zdrojů
- [FHIR code systems](https://developers.anpheros.com/cs/guides/fhir-code-systems): každý kódový systém pro typ zdroje
- [Longitudinal patient data API](https://developers.anpheros.com/cs/guides/longitudinal-patient-data-api)
- [Jak ukládat lékařské záznamy pomocí FHIR R4](https://developers.anpheros.com/cs/guides/store-medical-records-fhir)
- [FHIR platform](https://developers.anpheros.com/cs/guides/fhir)
