# API pentru date despre simptome: concepte, terminologie FHIR și simptome raportate de pacienți

> Identificatori stabili pentru simptome mapați la ICD-10, serviți ca REST și ca FHIR CodeSystem, ValueSet și ConceptMap; cum arată o observație pentru un simptom raportat de pacient și cum să o validați.

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

**Anpheros atribuie fiecărui simptom un identificator stabil (`SYM-0047` este durere de cap), îl mapează la ICD-10 și servește lista printr-un endpoint REST și ca terminologie FHIR R4 (`CodeSystem`, `ValueSet`, `ConceptMap`, `$lookup`). Simptomele pe care pacienții le raportează sunt stocate ca `Observation` FHIR care conțin ambele coduri, cuvintele proprii ale persoanei, intensitatea și, atunci când sunt cunoscute, când a început și s-a încheiat simptomul.** Această pagină arată cum să găsiți un concept, cum arată un simptom raportat de pacient, cum să verificați unul pe care îl scrieți singur și ce date nu conțin în mod deliberat.

## Ce conține versiunea

| | |
|---|---|
| Versiune | `2026.10.4` (fiecare răspuns indică versiunea) |
| Concepte | 274: 197 simptome (ICD-10 R00–R69 și subcategoriile lor non-reziduale, cum ar fi R06.0 dispnee sau R43.0 anosmie, plus codul WHO unde WHO clasifică simptomul în altă parte: G47, H53.2, H53.8, H93.1, K59.0, L29.9, M25.5, M54) și 77 de constatări (R65, R70–R94) |
| Sistem de identificare | `https://anpheros.com/fhir/CodeSystem/symptom` |
| Coduri | verificate conform WHO ICD-10 Versiunea 2019 (15 octombrie 2026), cu notele sale de includere și excludere; titlurile oficiale WHO ICD-10 nu sunt furnizate până când WHO confirmă licența (`icd10.display: null`), titlul oficial în limba engleză este cel ICD-11 |
| ICD-11 | fiecare concept se mapează la un cod ICD-11 MMS 2025-01 (codul capitolului 21 pentru simptome) și la un sistem corporal |
| Etichete furnizate | titlul oficial WHO ICD-11 în limba engleză (`source`), etichetele în limba română și termenii potriviți utilizați de Anpheros Daily (`in_use`), și etichete laice în alte 19 limbi (`ai_reviewed`: traduceri automate revizuite cu asistență AI, nu de un traducător medical profesionist); pentru cele 188 de concepte adăugate în 2026.10.3, numele în limba română este, de asemenea, o traducere AI |
| Revizuire clinică | `clinical_review: false` — niciun clinician nu a revizuit versiunea; nu există cauze sau asocieri de afecțiuni |
| Semne de avertizare | 32, pentru 14 concepte, citate cuvânt cu cuvânt de pe paginile CDC și NIDDK (`review: source_quoted`) |

Identificatorii nu sunt niciodată reutilizați. Un concept care este retras rămâne în listă cu `status: deprecated`.

## Găsește un concept (REST)

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

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

`q` potrivește ID-ul conceptului, codurile ICD-10 și ICD-11, etichetele și termenii de potrivire. Alți parametri: `icd10=R51` (conceptul pentru un cod), `icd11=MB4D`, `body_system=nervous`, `kind=symptom|finding|all`, `lang=de` (limba pentru `display`: eticheta preferată, altfel eticheta comună, altfel engleză), `limit` și `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` listează fiecare etichetă servită (20 de limbi; scurtată aici). Un concept: `GET $API/terminology/symptoms/SYM-0047`.

## Aceeași listă ca terminologia 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` (versiunea nu a fost revizuită de un clinician); proprietăți `kind`, `status`, `icd10`; etichete în limba română, termeni potriviți și etichete comune ca `designation`.
- `ValueSet/anpheros-symptoms` — simptomele active (fără constatări); `$expand` preia `filter`, `displayLanguage`, `count` și `offset`.
- `ConceptMap/anpheros-symptom-to-icd10` — `equivalent`, sau `wider` atunci când codul ICD-10 acoperă mai mult decât conceptul (H53.8 „Alte tulburări vizuale” este mai larg decât vederea încețoșată).
- Toate sunt read-only și listate în `CapabilityStatement` (`GET $BASE/metadata`) al serverului.

## Un simptom raportat de pacient

Acesta este modul în care Anpheros Daily scrie un simptom pe care o persoană l-a raportat ca fiind prezent, despre sine:

```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` sunt întotdeauna cuvintele persoanei, în limba sa (`Observation.language`); codurile stau lângă ele.
- `effectivePeriod` este utilizat atunci când persoana a spus când a început sau s-a încheiat; altfel `effectiveDateTime` este momentul în care l-a notat. Timpii păstrează offset-ul telefonului care i-a înregistrat.
- `valueQuantity` este intensitatea pe o scară de la 1 la 10; fără una nu există valoare.
- Când persoana editează un simptom, același resource primește o nouă versiune — citiți versiunile anterioare cu `GET $BASE/Observation/{id}/_history`.
- Filtrați după categorie cu `?category=symptom`; scopurile de consimțământ precum `patient/Observation.rs?category=symptom` funcționează în același mod.

### Ce nu este publicat niciodată ca simptom

Doar simptomele care sunt **prezente** și **despre pacient** devin Observații, și numai după ce textul liber a fost normalizat. "Capul meu nu mai doare", "poate febră mâine", "mama mea are tuse" sau un text pe care normalizatorul nu l-a putut citi nu devin un simptom al pacientului; dacă un simptom publicat este ulterior corectat la unul dintre acestea, Observația sa este retrasă (ștergere soft — istoricul rămâne). Plângerile rudelor nu sunt transformate automat în istoricul familial.

## Verificați un simptom pe care îl scrieți

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

Profilul `anpheros-symptom` (canonic `https://anpheros.com/fhir/StructureDefinition/anpheros-symptom-observation`) raportează, ca `OperationOutcome`:

| Regulă | Severitate |
|---|---|
| Categoria `urn:anpheros:observation-category\|symptom` (sistemul HL7 `observation-category` nu are cod `symptom`) | eroare |
| `code.text` prezent | eroare |
| Un concept Anpheros care există și corespunde codului ICD-10 | eroare |
| `subject` este un Pacient; `status` final, amendat, corectat sau introdus-în-eroare; `effective[x]` prezent; `effectivePeriod.end` nu înainte de `start` | eroare |
| Intensitate ca UCUM `{score}` între 0 și 10 | eroare |
| Doar text liber, fără coduri | informație (încă valid) |

Ca și celelalte profiluri, raportează și nu respinge scrierile. Un `meta.profile` pe care îl trimiteți este păstrat pe resursa stocată.

## Limite

- Lansarea nu a fost revizuită de un clinician; utilizați-o pentru codificare și căutare, nu pentru decizii medicale.
- Semnele de avertizare sunt citate cuvânt cu cuvânt din pagini din domeniul public ale guvernului federal al SUA (CDC: semne de accident vascular cerebral și atac de cord; NIDDK: diaree și constipație) și au fost verificate în raport cu acele pagini pe 15 octombrie 2026. Fiecare element poartă antetul propriu al sursei (`context`), sfatul său (`quote`), grupul căruia i se aplică (`applies_to`), sursa cu licență și atribuire, `review: source_verified` și nota că nu este un diagnostic și nu a fost revizuit de un clinician. Sursele sunt americane: acolo unde un citat spune 9-1-1, nota adaugă că numărul de urgență în Europa este 112.
- Nu sunt furnizate cauze sau asocieri de afecțiuni: `associations` rămâne gol până când un clinician revizuiește un element. O asociere este întotdeauna „poate fi asociată cu”.
- Codurile SNOMED CT sunt scrise doar acolo unde licența o permite (vezi [Sisteme de coduri FHIR](https://developers.anpheros.com/ro/guides/fhir-code-systems)).
- Observațiile anterioare ale simptomelor primesc codificarea conceptului Anpheros la următoarea actualizare.

## Conexe

- [Anpheros Symptom Engine: metodologie](https://developers.anpheros.com/ro/guides/symptom-engine): cum sunt atribuite, verificate și evaluate conceptele
- [Anpheros Search](https://developers.anpheros.com/ro/guides/anpheros-search): o singură căutare peste simptome, afecțiuni și tratamente, cu surse
- [Sisteme de coduri FHIR](https://developers.anpheros.com/ro/guides/fhir-code-systems): fiecare sistem de coduri per tip de resursă
- [API pentru date longitudinale ale pacienților](https://developers.anpheros.com/ro/guides/longitudinal-patient-data-api)
- [Cum să stocați dosare medicale utilizând FHIR R4](https://developers.anpheros.com/ro/guides/store-medical-records-fhir)
- [Platforma FHIR](https://developers.anpheros.com/ro/guides/fhir)
