# Anpheros Symptom Engine: módszertan

> Hogyan válnak a szabad szöveges tünetek bármilyen nyelven WHO ICD-10 és ICD-11 koncepciókká: az AI normalizáló, a jelenlét és tapasztaló detektálása, a WHO által ellenőrzött szókincs, az értékelési eredmények, a hasonló esetek egyeztetése és a korlátok.

Source: https://developers.anpheros.com/hu/guides/symptom-engine

**Az Anpheros Symptom Engine azt alakítja át, amit egy személy leír arról, hogyan érzi magát, saját szavaival és nyelvével, nemzetközi klinikai koncepciókká: egy stabil Anpheros azonosító, egy WHO ICD-10 kód, egy WHO ICD-11 kód és egy testrendszer, együtt azzal, hogy a tünet jelen van-e, megszűnt-e, hipotetikus-e vagy másról szól-e. Ez a funkció az Anpheros Daily mögött fut a termelésben, eredményeit HL7 FHIR R4 Observations-ként teszi közzé az Anpheros Platformon, és ugyanazt a terminológiát teszi elérhetővé bármely alkalmazás számára egy REST és FHIR API-n keresztül.** Ez az oldal ismerteti, hogyan működik, hogyan ellenőrizték, mit mér, és hol vannak a korlátai.

## Áttekintés

| | |
|---|---|
| Fogalmak | 274 (197 tünet, 77 lelet), azonosítók `SYM-0001`…, soha nem kerülnek újra felhasználásra |
| Osztályozások | WHO ICD-10 (2019-es verzió) és WHO ICD-11 MMS (2025-01), az egyes megfelelések ekvivalenciájával |
| Testrendszerek | 13, az ICD-11 21. fejezetének blokkjai alapján (idegrendszer, emésztőrendszer, légzőrendszer, bőr stb.) |
| Nyelvek | nevek 20 nyelven; szabad szöveg a személy saját nyelvén |
| Figyelmeztető jelek | 32, 14 fogalomhoz, szó szerint idézve a CDC és az NIDDK forrásaiból |
| Normalizáló kiértékelés | 5 nyelv (román, angol, spanyol, német, francia): elsődleges kód 97,5–100%, jelenlét és alany 92,5–98%, tagadott tünetek 0%-ban jelentve jelenként minden nyelven |
| Klinikai felülvizsgálat | még nincs: `clinical_review: false` minden válaszra |
| Szabványok | HL7 FHIR R4 (`CodeSystem`, `ValueSet`, `ConceptMap`, `Observation`), ICD-10, ICD-11, LOINC laboreredményekhez |

## 1. A folyamat

Egy tünet négy lépésen megy keresztül. A személy szövege soha nem változik; minden lépés adatokat ad hozzá mellette.

1.  **Rögzítés.** A nyers bejegyzés úgy tárolódik, ahogy le lett írva, a rögzítés pillanatával, a telefon időzónájával, a nyelvvel, és opcionálisan az intenzitással (1–10), az onsettel és az enddel. Semmi sem írja át utólag.
2.  **Normalizálás (AI).** Egy nagy nyelvi modell (Google Gemini a Vertex AI-n) elolvassa a szöveget, és minden említett tünetre a következőket adja vissza: egy elsődleges ICD-10 kódot, opcionális másodlagos kódokat, egy rövid címkét, és két attribútumot, az *assertion*-t (jelen, hiányzik, feloldva, hipotetikus, bizonytalan) és a *subject*-ot (a személy, vagy valaki más). A modell csak az Anpheros szókészletéből választhat kódokat; bármilyen más válasz, kihagyott bejegyzés vagy érvénytelen elsődleges kód sikertelen kísérletnek számít, soha nem "ismeretlen tünetnek".
3.  **Koncepció-hozzárendelés (determinisztikus).** Az ICD-10 kód hozzárendelődik az Anpheros koncepcióhoz, és abból az ICD-11-hez és a testrendszerhez. Ez a lépés rögzített táblázatokat használ, nem AI-t, így ugyanaz a kód mindig ugyanazt a koncepciót adja.
4.  **Publikálás.** Csak azok a tünetek, amelyek **jelen** vannak és **a személyre vonatkoznak**, válnak FHIR Observation-né a személy rekordjában, és csak a normalizálás sikere után. Ha egy későbbi szerkesztés vagy újra-normalizálás ezt megváltoztatja, az Observation visszavonásra kerül; a verziótörténet megmarad.

## 2. Jelenlét, idő és tapasztaló

A klinikai szövegek gyakran említenek olyan tüneteket, amelyekkel a személy nem rendelkezik. A klinikai természetesnyelv-feldolgozás ezt *negációnak*, *temporalitásnak* és *tapasztaló* detektálásának nevezi (a NegEx és ConText módszercsalád). A motor ugyanazt a három kérdést kezeli a modell `assertion` és `subject` attribútumaival:

| Írott szöveg | Assertion / subject | A személy tüneteként jelent meg? |
|---|---|---|
| "I've had a headache since Tuesday" | present / self | igen |
| "my head doesn't hurt any more" | resolved / self | nem |
| "I might get a fever tomorrow" | hypothetical / self | nem |
| "my mother has a cough" | present / other | nem |

Egy rokon panaszát soha nem alakítjuk át automatikusan családi kórtörténetté.

## 3. A szókincs és annak ellenőrzése

A szókincs az ICD-10 XVIII. fejezetét (R00–R94, és a 2026.10.3-as kiadás óta annak nem-maradvány alcsoportjait, mint például az R06.0 dyspnoea) fedi le, és ahol a WHO egy tünetet más fejezetben osztályoz, ott a WHO kódját: székrekedés K59.0, fülzúgás H93.1, kettős látás H53.2, homályos látás H53.8, viszketés L29.9, ízületi fájdalom M25.5, hátfájás M54, alvási problémák G47.

- **ICD-10.** Minden kódot és angol címet ellenőriztünk a WHO ICD-10 2019-es verziójú böngészőjével, beleértve minden kód beillesztési és kizárási megjegyzéseit. Ahol a megjegyzések máshova helyezték a tünetet (például az R19.4 kizárja a székrekedést), a szókincs követte a WHO-t.
- **ICD-11.** Minden koncepció egy ICD-11 MMS 2025-01 kódhoz kapcsolódik, amelyet a WHO Simple Tabulation-ból vettek, és összehasonlítottak a hivatalos WHO ICD-10 → ICD-11 leképezési táblával. A motor a 21. fejezet *tünet* kódját használja betegségkód helyett (fejfájás → MB4D, nem 8A8Z "fejfájás rendellenességek"); a WHO statisztikai táblázatától való 21 eltérés mindegyike fel van sorolva az okával együtt a kiadási fájlban. 67 leképezés ekvivalens, a többi szélesebb, szűkebb vagy pontatlan jelölésű.
- **Dokumentált döntések.** Az ember által írt "migrén" fejfájásként (R51) van kódolva, és a meg nem határozott hasmenés R19-ként, mert az alternatív WHO kódok (G43, A09) diagnózisok; a motor a jelentett tüneteket rögzíti, nem a diagnózisokat.
- **Fordítások.** Az angol nevek a WHO címei. 18 további nyelvű nevek gépi fordítások, amelyeket szóról szóra, AI segítséggel ellenőriztek a WHO címeivel szemben (`review: ai_reviewed`); ötöt minden nyelven újraírtak, ahol a jelentés nem egyezett a kóddal. Professzionális orvosi fordító még nem vizsgálta át őket.
- **Figyelmeztető jelek.** Szó szerint idézve, soha nem parafrazeálva, a CDC (stroke, szívroham) és az NIDDK (hasmenés, székrekedés) nyilvánosan elérhető oldalairól, mindegyik forrásával, licencével és azzal a megjegyzéssel, hogy ez nem diagnózis. Ahol egy idézet 9-1-1-et említ, a megjegyzés hozzáadja az európai 112-t.

## 4. Értékelés

A normalizáló 100 szintetikus, román nyelvű (a legtöbb jelenlegi felhasználó nyelve) esetből álló rögzített készleten lett értékelve, mindegyikhez tartozik egy elvárt elsődleges kód, állítás és alany. A 32 eset szándékosan nincs jelen: tagadott, feloldott, hipotetikus, bizonytalan, vagy más személyre vonatkozik. Eredmények a jelenlegi prompttal (3. verzió, 2026. október 15.):

| Metrika | Eredmény | Cél |
|---|---|---|
| Elsődleges kód helyes | 100 % | ≥ 85 % |
| Állítás és alany is helyes | 98 % | — |
| Tagadott tünetek jelenként jelentve | 0 % | ≤ 3 % |

A két hiba adminisztratív bejegyzés volt ("találkozó a kardiológussal kedden", "5 kg-ot akarok fogyni"), amelyeket jelenkénti helyett hipotetikusnak minősítettek; egyik sem tünet. A tesztkészletet nem vizsgálta orvos, így az eredmények tájékoztató jellegűek.

**Más nyelvek (2026. október 16.).** A 40 eset, amely minden kategóriát lefed, le lett fordítva angolra, spanyolra, németre és franciára, ugyanezekkel az elvárt válaszokkal; az informális eseteket az adott nyelv saját informális stílusában írták át. A modellnek adott utasítások változatlanok maradtak.

| Nyelv | Esetek | Elsődleges kód | Jelenlét és alany | Tagadott jelenként jelentve |
|---|---|---|---|---|
| Román | 100 | 100 % | 98 % | 0 % |
| Angol | 40 | 100 % | 97.5 % | 0 % |
| Spanyol | 40 | 97.5 % | 92.5 % | 0 % |
| Német | 40 | 100 % | 97.5 % | 0 % |
| Francia | 40 | 100 % | 95 % | 0 % |

A legtöbb fennmaradó hiba ugyanazok az adminisztratív bejegyzések ("találkozó a kardiológussal kedden", "ellenőrzés, minden rendben") vagy két nem jelenlévő állapot közötti választás ("ma nincs láz" feloldottként a hiányzó helyett); egyik sem publikál tünetet. Az egyetlen kódolási különbség a spanyol "escalofríos y malestar" (hidegrázás és rossz közérzet) volt, amelyet rossz közérzetként (R53) kódoltak, a hidegrázás (R68) pedig másodlagos kódként, a fordítottja helyett.

Az embereknek megjelenített nevek követik a nyelvüket: az alkalmazás a koncepció nevét a felhasználó nyelvén (először a laikus név) és a jelenléti megjegyzést ("feloldott", "valaki más") az alkalmazás 20 nyelvén jeleníti meg.

**Élesben (2026. október 16.)**, miután a szókincset ellenőrizték a WHO-val, minden tárolt tünetet újra normalizáltak. Valós felhasználók rekordjain: minden tünet normalizálva, 0 jelenlévő tünet maradt "tisztázatlan"-ként, és 0 nem jelenlévő tünet lett publikálva a személy sajátjaként (független audit a publikált megfigyelésekről).

## 5. Hasonló esetek (fejlesztés alatt)

A következő komponens tünetek és kóros laboreredmények alapján hasonlítja össze az embereket, hogy explicit hozzájárulással javasoljon olyan személyeket, akik nagyon hasonló tüneteket jelentenek.

- **Profil.** Az elmúlt 90 nap önbevallott tünetei Anpheros koncepció szerint, és az elmúlt 180 nap laboratóriumi referenciatartományon kívüli laboreredményei LOINC kód szerint. A profilok függetlenek a nyelvtől és az országtól: egy román és egy angol nyelvű laboreredmény ugyanarra a LOINC kódra kerül.
- **Pontszám.** Súlyozott Jaccard-index: megosztott jelek mindkét személy összes jeleire. Nagyon gyakori tünetek (fejfájás, hasi fájdalom, fáradtság, láz, köhögés, szédülés...) súlya 0,25, specifikus tüneteké 1, kóros laboreredményé 1,5. 50 résztvevő esetén a súlyokat az is befolyásolja, hogy egy jel mennyire ritka a populációban (fordított dokumentumfrekvencia). Két különböző jel ugyanazon testrendszerben részleges pontszámot kap.
- **Szabály.** Egy pár csak akkor kerül figyelembe, ha legalább három megosztott specifikus tünet van, vagy kettő plusz egy megosztott kóros laboreredmény: a gyakori panaszok önmagukban soha nem tesznek két személyt "hasonlóvá". 0,70-es pontszámtól meghívás ajánlott; a személy 0,80-tól lát hasonló eseteket.
- **Adatvédelem.** Csak felnőtt fióktulajdonosok, explicit hozzájárulás (GDPR 9. cikk), bármikor visszavonható azonnali törléssel. Egy személy látja a darabszámokat és a megosztott jeleket, soha nem azt, hogy kik a többiek.

Nem javasol diagnózist vagy betegséget.

## 6. Hogyan használják az alkalmazások

- **Anpheros Daily** (iOS, Android, Mac, web): minden tünet, amit egy személy feljegyez, az imént leírt folyamaton megy keresztül; a személy láthatja és javíthatja az eredményt.
- **Anpheros Platform**: a tünetek FHIR `Observation`-ként tárolódnak kategóriával `urn:anpheros:observation-category|symptom`, mind kódokkal, mind a személy saját szövegével. Bármely alkalmazás a személy beleegyezésével elolvashatja ezeket.
- **Az Ön alkalmazása**: keressen koncepciókat a `GET /v1/terminology/symptoms` segítségével, bővítse ki a FHIR `ValueSet`-t, fordítsa le a kódokat a `ConceptMap`-ek segítségével ICD-10 és ICD-11 formátumra, és validálja az Observations-öket a `anpheros-symptom` profil ellen. Kérésekért és válaszokért tekintse meg a [Symptom data API](https://developers.anpheros.com/hu/guides/symptom-data-api) dokumentációját.
- **AI asszisztensek és ügynökök** ugyanazt a strukturált adatot olvassák a [Context API](https://developers.anpheros.com/hu/guides/ai-agents-medical-data) segítségével, nem pedig szabad szöveget, így válaszaikban hivatkozhatnak kódokra.

## 7. Korlátok

- A motor neve és kódja tüneteket jelöl; nem diagnosztizál, nem rangsorolja az okokat, és nem köti össze a tüneteket betegségekkel.
- Egyetlen orvos sem vizsgálta még át a szókincset, a fordításokat vagy a figyelmeztető jeleket.
- Az értékelőkészletek szintetikusak; a 20 nyelv közül 15-nek még nincs értékelőkészlete.
- Az ICD-11 a WHO licencével rendelkezik a CC BY-ND 3.0 IGO alatt; a kódok és a címek változatlanul kerülnek reprodukálásra.

## Kapcsolódó

- [Symptom data API](https://developers.anpheros.com/hu/guides/symptom-data-api): koncepciók, FHIR terminológia és beteg által jelentett tünetek
- [Anpheros Search](https://developers.anpheros.com/hu/guides/anpheros-search): ugyanazok a tünetek, feltételekkel és kezelésekkel együtt egy nyilvános katalógusban, minden bejegyzés forrásokkal
- [FHIR code systems](https://developers.anpheros.com/hu/guides/fhir-code-systems)
- [Longitudinal patient data API](https://developers.anpheros.com/hu/guides/longitudinal-patient-data-api)
