# Egészségügyi mintázatok AI ügynököknek (béta)

> Mi változott egy páciens rekordjában, és mi ismétlődik, rögzített statisztikai szabályok alapján: trendek, eltérések a személy szokásos szintjétől és tünetek ismétlődése, mindegyik a maga periódusával, bizonyítékaival és korlátaival; nem diagnózisok.

Source: https://developers.anpheros.com/hu/guides/health-patterns

**Az Anpheros rögzített statisztikai szabályok alapján kiszámítja, mi változott egy páciens rekordjában, és mi ismétlődik, és minden leletet a maga periódusával, a mögöttes erőforrásokkal, a módszer verziójával és korlátaival együtt átad az alkalmazásának vagy AI ügynökének.** Egy modellnek már nem kell találgatnia egy trendet néhány számból: megkapja a trendet, az azt körülvevő bizonytalanságot és az idézhető adatokat.

Béta. A sandboxban bármilyen sandbox hitelesítő adattal működik (`sk_test_…` kulcsok és sandbox OAuth kapcsolatok). A production rekordokon csak a páciens OAuth hozzájárulása alatt fut, amely tartalmazza a külön `anpheros/patterns` engedélyt; a production API kulcsok 403-at kapnak.

## Mit talál

| Típus | Milyen kérdésre válaszol | Módszer |
|---|---|---|
| `trend` | Növekszik vagy csökken a mérés az időablakban? | Theil–Sen lejtő Mann–Kendall teszttel naponta egy értékre (heti mediánok sűrű megfigyelési adatokhoz), korrigálva, ha a szomszédos napok hasonlóak |
| `trend` (`change_between_results`) | Hogyan változott egy két-öt eredménnyel rendelkező laboratóriumi teszt? | Első és utolsó eredmény, a legújabb a jelentés referenciatartományához képest; leírva, nem tesztelve |
| `trend` (`event_rate_change`) | Gyakrabban vagy ritkábban rögzítik egy tünetet? | Tünetes napok aránya a napokhoz, amikor a személy bármit naplózott, utolsó 30 nap az előző 90-hez képest, pontos teszt |
| `baseline_deviation` | Szokatlan-e az utolsó hét ennek a személynek? | Utolsó 7 nap a 8–60. napokhoz képest, Mann–Whitney vagy egy autokorrelációval korrigált átlagkülönbség |
| `recurrence` | Járnak-e a tünetes epizódok rendszeres időközönként? | Epizódok kezdete közötti intervallumok, magvetéses Monte Carlo véletlenszerűen elhelyezett epizódok ellen |
| `association` (`around_medication_start`, sandbox) | Gyakrabban vagy ritkábban rögzítik egy tünetet egy gyógyszer kezdete óta? | Tünetes napok aránya az aktív napokhoz képest a kezdettől számított 30 napban az azt megelőző legfeljebb 90 naphoz képest, pontos teszt |
| `association` (`after_short_sleep`, sandbox) | Gyakrabban rögzítik egy tünetet kevesebb mint 6 óra alvás utáni napokon? | Alvásméréssel és személyi bejegyzéssel mért napok, rövid éjszakák szemben hosszabbakkal, Fisher pontos teszt |
| `convergence` (`recent_changes_together`, sandbox) | Több dolog változott ugyanabban a közelmúltbeli időszakban? | Nincs új teszt: legalább két közelmúltbeli változást csoportosít (szokatlan hét, gyakrabban vagy ritkábban előforduló tünet), amelyek mindegyike statisztikailag alátámasztott; csak azt mondja, hogy együtt történtek |

Egy futás összes tesztje együtt kerül korrigálásra (Benjamini–Hochberg). Egy lelet `statistically_supported`, csak akkor, ha a korrigált q-érték 0,05 alatt van, **és** a változás legalább a küszöbérték az adott méréshez.

## Mi NEM

- **Nem diagnózis.** A leletek a rekordot írják le; soha nem neveznek meg állapotot vagy javasolnak kezelésváltoztatást. Minden lelet tartalmaz `safety.not_a_diagnosis = true` és `safety.causal_claim = false`.
- **Nem ok.** Az új gyógyszeres kezelés utáni változás, vagy két együtt rögzített dolog nem bizonyíték arra, hogy az egyik okozta a másikat. Az asszociációk csak azt mondják, hogy két dolog nagyjából egy időben történt; mindegyik tartalmaz `confounding_possible` és `not_causal`, és csak a gyógyszeres kezelések kezdete és az alvás kerül tesztelésre tünetekkel szemben, nem minden pár. Jelenleg csak sandbox hitelesítőkkel.
- **Nem AI modell, és még nem klinikai felülvizsgálaton esett át.** Minden szám rögzített, verziószámozott statisztikai szabályokból származik; nincs AI modell, amely elemezné az adatokat. A jelentős változás küszöbértékeit AI segítséggel állították be, és még nem vizsgálták felül klinikusok; minden lelet ezt mondja `review.thresholds_reviewed_by_clinician`. Az engine szintetikus betegeken validálható, ismert beültetett mintázatokkal: megtalálja, amit beültettek, és csendben marad, ha semmi sem volt. Ez nem klinikai validáció.

## Kipróbálás

Minden sandbox projekt 30 szintetikus beteget tartalmaz, és hatukban van egy beültetett minta. Keressen egyet a `GET /fhir/R4/Patient?identifier=https://anpheros.com/fhir/sid/sandbox-persona|<key>`-el.

| Beteg | Mi volt beültetve | Mit jelent a motor |
|---|---|---|
| p01 Andrei Popescu | Napi otthoni vérnyomás, csökkenés kb. 8/5 Hgmm hat hónap alatt | `trend.decreasing` szisztolés (8480-6) és diasztolés (8462-4) értékre |
| p06 Giulia Rossi | Fejfájás 7 naponta, plusz-mínusz egy nap | `recurrence.intervals` fejfájásra (R51) |
| p17 Ciarán Murphy | Fáradtság az elmúlt 30 nap kb. felében, szemben a korábbi 12 napból 1 nappal | `frequency.increased` fáradtságra (R53) |
| p19 Felix Gruber | Nyugalmi pulzus óráról, kb. 9 ütés/perc a szokásos szintje felett az elmúlt héten | `baseline.higher` nyugalmi pulzusra (40443-4) |
| p20 Ivana Horvat | Nyugalmi pulzus óráról, csökkenés kb. 16 ütés/perc hat hónap alatt | `trend.decreasing` nyugalmi pulzusra (40443-4) |
| p30 Jan Kowalczyk | Sűrű óra- és otthoni adatok beültetett minta nélkül | nincs támogatott lelet: a motor csendben marad |

A 2026. október 16. előtt létrehozott projektek ezeket a mintákat a szintetikus betegek visszaállítását követően kapják meg a dashboardról; a visszaállítás felülír minden, a betegekben tett változtatást.

```bash
curl -s https://platform.anpheros.com/v1/patients/$PATIENT/patterns?window_days=180 \
  -H "Authorization: Bearer $ANPHEROS_KEY"
```

A TypeScript SDK-val (`@anpheros/sdk` 0.2.0 vagy újabb):

```ts
const run = await anpheros.patterns.run(patientId, { window_days: 180, min_strength: 'moderate' });
for (const f of run.findings) console.log(f.summary_text, f.strength, f.limitations.map(l => l.code));
```

Az MCP szerverrel kérdezze meg az ügynökét: "Mi változott ennek a betegnek a rekordjában az elmúlt hat hónapban?": ez `get_health_patterns`-et hív, és követheti `get_pattern_evidence`, `get_series` és `compare_periods`-el. A `POST /v1/context` hozzáad egy `patterns` szekciót a változásokkal és kapcsolatokkal kapcsolatos kérdésekhez, vagy amikor a `patterns` szükségletet kéri.

## Végpontok

| Végpont | Mit ad vissza |
|---|---|
| `GET /v1/patients/{id}/patterns` | egy futás eredményeit: a megállapításokat, a nem kiszámítható elemeket és azok okait, a beleegyezésekből kihagyott elemeket; szűrők `window_days` (30–730), `end`, `types`, `min_strength` |
| `GET /v1/patients/{id}/patterns/{finding_id}` | egyetlen megállapítást, ugyanazon ablakra újraszámolva |
| `GET /v1/patients/{id}/patterns/{finding_id}/evidence` | minden támogató erőforrást, lapozva |
| `GET /v1/patients/{id}/series?code=…` | egyetlen mérést értékenként naponta, lefedettséggel, hézagokkal és forrásváltozásokkal |
| `POST /v1/patients/{id}/patterns/compare` | egyetlen mérést két általad választott időszakban |

## Lelet olvasása

- `summary_text`: egy egyszerű mondat, biztonságosan megjeleníthető vagy idézhető.
- `strength`: `strong`, `moderate`, `weak` vagy `not_tested`. A gyenge és teszteletlen leletek leírások, nem bizonyítékok.
- `window`, `comparison_window`: az elemzett időszakok.
- `evidence` (legfeljebb 20, az időszak alatt elosztva) és `evidence_total`: a lelet mögötti erőforrások, verzióval, dátummal, értékkel és szerző típusával.
- `limitations`: kódolt, szöveggel. Jelenítse meg őket a lelettel együtt.
- `review`: hogy egy klinikus felülvizsgálta-e a küszöbértékeket (jelenleg `false`) és honnan származnak.
- `method`, `engine_version`, `input_fingerprint`: ugyanazok az adatok, konfigurációk és verziók ugyanazt az eredményt és ugyanazt az azonosítót adják.

## Tudnivaló szabályok

- **Először a hozzájárulás.** OAuth engedély alapján az engine csak azt olvassa, amit az engedély megenged; amit nem tudott elolvasni, az a `omitted`-ban szerepel, tartalom nélkül.
- **ID-k.** A betegek a projekt páronkénti azonosítójával jelennek meg; a megtalált azonosítók projektenként kerülnek származtatásra. Amikor a rekord megváltozik, egy lelet új azonosítót kap, a régi pedig 404-gyel válaszol.
- **Idő.** Amikor egy lelet ideje explicit eltolódást tartalmaz (`2026-10-16T00:30:00+03:00`), az a személy saját napjára vonatkozik; az UTC (`Z`) vagy eltolódás nélküli idők az UTC napon maradnak. Minden lelet megmondja, melyik a `time_basis`-ban (`record_offsets`, `partly_local` vagy `local_time_unknown`). A helyi napokat a sandbox és a production rekordokon használják; a napszak szerinti mintázatok még nem kerülnek kiszámításra.
- **Kihagyva.** Az AI által írt értékeket, az "entered-in-error" jelölésű eredményeket és a csak hónapra ismert dátumokat nem használjuk fel, de megszámoljuk őket.
- **Korlátok.** 30 mintafutás percenként kredenciálonként, a szokásos 600 kérés percenként mellett.

## Gyakran ismételt kérdések

### Használ nyelvi modellt?
Nem. Minden szám rögzített, verziószámozott statisztikai módszerekből származik. Bármelyik modell, legyen az távoli vagy helyi, képes elolvasni az eredményeket.

### Miért jelölnek gyengének egy egyértelmű változást az adataimban?
Mert a bizonyítékok nem állják meg a helyüket a futtatás összes tesztjének korrekciója után, a sorozat rövid vagy zajos, vagy a változás a mérési küszöbérték alatt van. A megállapítás továbbra is leírja, mit mutat a rekord.

### Működik éles (production) rekordokon?
Igen, 2026. október 16-tól, de csak egy páciens OAuth hozzájárulása mellett, amely tartalmazza a különálló `anpheros/patterns` engedélyt, amit a hozzájárulási képernyő saját soron jelenít meg. Kérje a hatókört (scope) a `patient/…` hatókörök mellett; enélkül, és bármilyen éles API kulcs nélkül 403-as hibát kap.

## Kapcsolódó

- [FHIR MCP szerver AI ügynököknek](https://developers.anpheros.com/hu/guides/mcp)
- [LLM alkalmazások és egészségügyi adatok](https://developers.anpheros.com/hu/guides/llm-healthcare-data)
- [AI ügynökök és orvosi adatok](https://developers.anpheros.com/hu/guides/ai-agents-medical-data)
- [Egészségügyi API beteg beleegyezéssel](https://developers.anpheros.com/hu/guides/healthcare-api-patient-consent)
