Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
Tipare de sănătate pentru agenți AI (beta)
Ce s-a schimbat într-un fișier al pacientului și ce se repetă, calculat prin reguli statistice fixe: tendințe, deviații de la nivelul obișnuit al persoanei și recurența simptomelor, fiecare cu perioada, dovezile și limitările sale; nu diagnostice.
Anpheros calculează ce s-a schimbat în istoricul unui pacient și ce se repetă, prin reguli statistice fixe, și transmite fiecare constatare aplicației sau agentului AI cu perioada sa, resursele din spate, versiunea metodei și limitările sale. Un model nu mai trebuie să ghicească o tendință dintr-un pumn de numere: primește tendința, incertitudinea din jurul ei și datele de citat.
Beta. În sandbox funcționează cu orice credențial sandbox (chei sk_test_… și conexiuni OAuth sandbox). Pe istorice de producție rulează doar sub consimțământul OAuth al unui pacient care include permisiunea separată anpheros/patterns; cheile API de producție primesc 403.
Ce găsește
| Tip | La ce întrebare răspunde | Metodă |
|---|---|---|
trend |
O măsurătoare este în creștere sau în scădere pe parcursul perioadei? | Panta Theil–Sen cu Mann–Kendall pe o valoare pe zi (mediane săptămânale pentru date dense de monitorizare), corectată atunci când zilele vecine sunt similare |
trend (change_between_results) |
Cum s-a modificat un test de laborator cu două până la cinci rezultate? | Primul și ultimul rezultat, cu cel mai recent în raport cu intervalul de referință al raportului; descris, nu testat |
trend (event_rate_change) |
Un simptom este înregistrat mai des sau mai rar? | Zile cu simptome peste zilele în care persoana a înregistrat ceva, ultimele 30 de zile comparativ cu cele 90 anterioare, test exact |
baseline_deviation |
Săptămâna trecută este neobișnuită pentru această persoană? | Ultimele 7 zile comparativ cu zilele 8–60, Mann–Whitney sau o diferență de medii ajustată prin autocorelație |
recurrence |
Episodul de simptome revine la intervale regulate? | Intervalele dintre debutul episoadelor, Monte Carlo cu semințe comparativ cu episoade plasate aleatoriu |
association (around_medication_start, sandbox) |
Un simptom este înregistrat mai des sau mai rar de la începutul unui medicament? | Zile cu simptome peste zilele active în cele 30 de zile de la început comparativ cu până la 90 de zile înainte, test exact |
association (after_short_sleep, sandbox) |
Un simptom este înregistrat mai des în zilele cu mai puțin de 6 ore de somn? | Zile cu somn măsurat și o înregistrare de către persoană, nopți scurte comparativ cu nopți mai lungi, testul exact Fisher |
convergence (recent_changes_together, sandbox) |
Mai multe lucruri s-au schimbat în aceeași perioadă recentă? | Niciun test nou: grupează cel puțin două schimbări recente (o săptămână neobișnuită, un simptom mai des sau mai rar) care sunt fiecare susținute statistic; spune doar că s-au întâmplat împreună |
Toate testele dintr-o rulare sunt corectate împreună (Benjamini–Hochberg). O constatare este statistically_supported doar atunci când valoarea q corectată este sub 0.05 și schimbarea este cel puțin pragul pentru acea măsurătoare.
Ce nu este
- Nu este un diagnostic. Constatările descriu înregistrarea; ele nu numesc niciodată o afecțiune și nu recomandă o modificare a tratamentului. Fiecare constatare poartă
safety.not_a_diagnosis = trueșisafety.causal_claim = false. - Nu este o cauză. O modificare după un nou medicament sau două lucruri înregistrate împreună nu sunt dovezi că unul a cauzat celălalt. Asocierile spun doar că două lucruri s-au întâmplat aproximativ în același timp; fiecare poartă
confounding_possibleșinot_causal, iar doar începuturile de medicație și somnul sunt testate împotriva simptomelor, nu fiecare pereche. Cu credențiale sandbox doar deocamdată. - Nu este un model AI și nu a fost încă revizuit clinic. Fiecare număr provine din reguli statistice fixe, versiuniate; niciun model AI nu analizează datele. Pragurile pentru o schimbare semnificativă au fost stabilite cu asistență AI și nu au fost încă revizuite de un clinician; fiecare constatare o menționează în
review.thresholds_reviewed_by_clinician. Motorul este validat pe pacienți sintetici cu modele cunoscute plantate: găsește ceea ce a fost plantat și rămâne tăcut când nu a fost nimic. Aceasta nu este validare clinică.
Încercați
Fiecare proiect sandbox are 30 de pacienți sintetici, iar șase dintre ei au un model predefinit. Găsiți unul cu GET /fhir/R4/Patient?identifier=https://anpheros.com/fhir/sid/sandbox-persona|<key>.
| Pacient | Ce a fost predefinit | Ce raportează motorul |
|---|---|---|
| p01 Andrei Popescu | Tensiune arterială zilnică la domiciliu, scăzând cu aproximativ 8/5 mmHg pe parcursul a șase luni | trend.decreasing pentru sistolică (8480-6) și diastolică (8462-4) |
| p06 Giulia Rossi | Durere de cap la fiecare 7 zile, cu o marjă de eroare de una | recurrence.intervals pentru durere de cap (R51) |
| p17 Ciarán Murphy | Oboseală în aproximativ jumătate din ultimele 30 de zile, față de 1 zi din 12 înainte | frequency.increased pentru oboseală (R53) |
| p19 Felix Gruber | Ritm cardiac de repaus de la un ceas, cu aproximativ 9 bpm peste nivelul său obișnuit în ultima săptămână | baseline.higher pentru ritm cardiac de repaus (40443-4) |
| p20 Ivana Horvat | Ritm cardiac de repaus de la un ceas, stabilizându-se cu aproximativ 16 bpm pe parcursul a șase luni | trend.decreasing pentru ritm cardiac de repaus (40443-4) |
| p30 Jan Kowalczyk | Date dense de la ceas și de acasă, fără nimic predefinit | nicio constatare suportată: motorul rămâne tăcut |
Proiectele create înainte de 16 octombrie 2026 primesc aceste modele după resetarea pacienților lor sintetici din dashboard; o resetare înlocuiește orice modificări aduse acestora.
curl -s https://platform.anpheros.com/v1/patients/$PATIENT/patterns?window_days=180 \
-H "Authorization: Bearer $ANPHEROS_KEY"
Cu SDK-ul TypeScript (@anpheros/sdk 0.2.0 sau mai recent):
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));
Cu serverul MCP, întrebați agentul dvs. "Ce s-a schimbat în dosarul acestui pacient în ultimele șase luni?": acesta apelează get_health_patterns și poate continua cu get_pattern_evidence, get_series și compare_periods. POST /v1/context adaugă o secțiune patterns pentru întrebări despre schimbare și relații, sau când solicitați nevoia patterns.
Endpoints
| Endpoint | Ce returnează |
|---|---|
GET /v1/patients/{id}/patterns |
un rulaj: rezultate, ce nu a putut fi calculat și de ce, ce consimțământ a fost omis; filtre window_days (30–730), end, types, min_strength |
GET /v1/patients/{id}/patterns/{finding_id} |
o singură constatare, recalculată pentru aceeași fereastră |
GET /v1/patients/{id}/patterns/{finding_id}/evidence |
fiecare resursă de suport, paginată |
GET /v1/patients/{id}/series?code=… |
o singură măsurătoare ca o valoare pe zi, cu acoperire, goluri și modificări ale sursei |
POST /v1/patients/{id}/patterns/compare |
o singură măsurătoare în două perioade alese de dumneavoastră |
Citirea unei constatări
summary_text: o propoziție simplă, sigură de afișat sau de citat.strength:strong,moderate,weaksaunot_tested. Constatările slabe și netestate sunt descrieri, nu dovezi.window,comparison_window: perioadele analizate.evidence(până la 20, distribuite pe parcursul perioadei) șievidence_total: resursele din spatele constatării, cu versiune, dată, valoare și tip de autor.limitations: codificat, cu text. Afișați-le împreună cu constatările.review: dacă un clinician a revizuit pragurile (falsepentru moment) și de unde provin acestea.method,engine_version,input_fingerprint: aceleași date, configurație și versiuni oferă același rezultat și același id.
Reguli de știut
- Consimțământul mai întâi. Sub o autorizație OAuth, motorul citește doar ceea ce permite autorizația; ceea ce nu a putut citi este listat în
omitted, fără conținut. - ID-uri. Pacienții apar cu ID-ul pereche al proiectului dumneavoastră; ID-urile găsite sunt derivate per proiect. Când înregistrarea se modifică, o constatare primește un nou ID, iar cel vechi returnează 404.
- Timp. Când timpul unei citiri poartă un offset explicit (
2026-10-16T00:30:00+03:00), acesta se contorizează în ziua proprie a persoanei; timpurile în UTC (Z) sau fără offset rămân în ziua UTC. Fiecare constatare indică acest lucru întime_basis(record_offsets,partly_localsaulocal_time_unknown). Zilele locale sunt utilizate pe înregistrările sandbox și de producție; tiparele orare nu sunt încă calculate. - Omise. Valorile scrise de AI, rezultatele marcate ca entered-in-error și datele cunoscute doar la nivel de lună nu sunt utilizate și sunt numărate.
- Limite. 30 de rulări de tipare pe minut per acreditare, pe lângă cele obișnuite 600 de cereri pe minut.
Întrebări frecvente
Folosește un model lingvistic?
Nu. Fiecare număr provine din metode statistice fixe, versiificate. Orice model, găzduit sau local, poate citi rezultatele.
De ce este marcată o schimbare clară în datele mele ca fiind slabă?
Deoarece dovezile nu supraviețuiesc corecției pentru toate testele din rulare, seria este scurtă sau zgomotoasă, sau schimbarea este sub pragul pentru acea măsurătoare. Constatarea descrie în continuare ceea ce arată înregistrarea.
Funcționează pe înregistrări de producție?
Da, începând cu 16 octombrie 2026, dar numai sub consimțământul OAuth al unui pacient care include permisiunea separată anpheros/patterns, pe care ecranul de consimțământ o afișează pe propria linie. Solicitați scopul alături de scopurile patient/…; o acordare fără acesta și orice cheie API de producție, returnează 403.
Conexe
- Server MCP FHIR pentru agenți AI
- Aplicații LLM și date din domeniul sănătății
- Agenți AI și date medicale
- API pentru sănătate cu consimțământul pacientului
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card