AnpherosAnpheros PlatformDevelopers

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

Anpheros Symptom Engine: Methodik

Wie Freitext-Symptome in jeder Sprache zu WHO ICD-10 und ICD-11 Konzepten werden: der KI-Normalisierer, Erkennung von Anwesenheit und Erlebendem, das von der WHO geprüfte Vokabular, Evaluationsergebnisse, ähnliche Fälle und Grenzen.

Die Anpheros Symptom Engine wandelt das, was eine Person in ihren eigenen Worten und ihrer eigenen Sprache über ihr Befinden schreibt, in internationale klinische Konzepte um: eine stabile Anpheros-ID, einen WHO ICD-10-Code, einen WHO ICD-11-Code und ein Körpersystem, zusammen mit der Angabe, ob das Symptom vorhanden, behoben, hypothetisch oder auf eine andere Person bezogen ist. Sie läuft in der Produktion hinter Anpheros Daily, veröffentlicht ihre Ergebnisse als HL7 FHIR R4 Observations auf der Anpheros Platform und stellt dieselbe Terminologie über eine REST- und FHIR-API für jede Anwendung bereit. Diese Seite beschreibt, wie sie funktioniert, wie sie überprüft wurde, was sie misst und wo ihre Grenzen liegen.

Auf einen Blick

Konzepte 274 (197 Symptome, 77 Befunde), Identifikatoren SYM-0001…, niemals wiederverwendet
Klassifikationen WHO ICD-10 (Version 2019) und WHO ICD-11 MMS (2025-01), mit der Äquivalenz jeder Zuordnung
Körpersysteme 13, entnommen aus den ICD-11-Kapitel 21 Blöcken (Nerven, Verdauung, Atmung, Haut…)
Sprachen Namen in 20 Sprachen; Freitext in der Sprache der Person
Warnzeichen 32, für 14 Konzepte, wörtlich zitiert von CDC und NIDDK
Normalizer-Evaluierung 5 Sprachen (Rumänisch, Englisch, Spanisch, Deutsch, Französisch): Primärcode 97,5–100 %, Anwesenheit und Subjekt 92,5–98 %, negierte Symptome als vorhanden gemeldet 0 % in jeder Sprache
Klinische Überprüfung noch keine: clinical_review: false bei jeder Antwort
Standards HL7 FHIR R4 (CodeSystem, ValueSet, ConceptMap, Observation), ICD-10, ICD-11, LOINC für Laborergebnisse

1. Die Pipeline

Ein Symptom durchläuft vier Schritte. Der Text der Person wird nie verändert; jeder Schritt fügt Daten daneben hinzu.

  1. Erfassung. Der Rohdatensatz wird so gespeichert, wie er eingegeben wurde, zusammen mit dem Zeitpunkt der Erfassung, der Zeitzone des Telefons, der Sprache und optional Intensität (1–10), Beginn und Ende. Nichts nachgelagert schreibt ihn um.
  2. Normalisierung (KI). Ein großes Sprachmodell (Google Gemini auf Vertex AI) liest den Text und gibt für jedes erwähnte Symptom zurück: einen primären ICD-10-Code, optionale sekundäre Codes, ein kurzes Label und zwei Attribute, Assertion (present, absent, resolved, hypothetical, uncertain) und subject (the person, or someone else). Das Modell darf nur Codes aus dem Anpheros-Vokabular auswählen; jede andere Antwort, ein ausgelassener Eintrag oder ein ungültiger primärer Code zählt als fehlgeschlagener Versuch, niemals als "unbekanntes Symptom".
  3. Konzeptzuordnung (deterministisch). Der ICD-10-Code wird dem Anpheros-Konzept und von dort ICD-11 und dem Körpersystem zugeordnet. Dieser Schritt verwendet feste Tabellen, keine KI, sodass derselbe Code immer dasselbe Konzept ergibt.
  4. Veröffentlichung. Nur Symptome, die present und about the person sind, werden zu FHIR Observations im Datensatz der Person, und das erst nach erfolgreicher Normalisierung. Wenn eine spätere Bearbeitung oder Re-Normalisierung dies ändert, wird die Observation zurückgezogen; die Versionshistorie bleibt erhalten.

2. Präsenz, Zeit und Erlebender

Klinische Texte erwähnen oft Symptome, die die Person nicht hat. Die klinische Verarbeitung natürlicher Sprache nennt dies Negation, Temporalität und Erlebender-Erkennung (die Methoden der NegEx- und ConText-Familie). Die Engine behandelt dieselben drei Fragen mit den Attributen "assertion" und "subject" des Modells:

Geschrieben Assertion / subject Als Symptom der Person veröffentlicht?
"Ich habe seit Dienstag Kopfschmerzen" present / self ja
"Mein Kopf tut nicht mehr weh" resolved / self nein
"Ich könnte morgen Fieber bekommen" hypothetical / self nein
"Meine Mutter hat Husten" present / other nein

Die Beschwerde eines Verwandten wird niemals automatisch in die Familiengeschichte übernommen.

3. Das Vokabular und dessen Überprüfung

Das Vokabular umfasst ICD-10 Kapitel XVIII (R00–R94 und seit Release 2026.10.3 dessen nicht-residuelle Unterkategorien wie R06.0 Dyspnoe) und, wo die WHO ein Symptom in einem anderen Kapitel klassifiziert, den WHO-Code: Obstipation K59.0, Tinnitus H93.1, Doppeltsehen H53.2, verschwommenes Sehen H53.8, Juckreiz L29.9, Gelenkschmerzen M25.5, Rückenschmerzen M54, Schlafstörungen G47.

4. Evaluierung

Der Normalisierer wird anhand eines festen Satzes von 100 synthetischen Fällen in rumänischer Sprache (der Sprache der meisten aktuellen Benutzer) evaluiert, wobei jeder Fall den erwarteten Primärcode, die Assertion und das Subjekt enthält. 32 der Fälle sind absichtlich nicht vorhanden: negiert, aufgelöst, hypothetisch, unsicher oder betreffen eine andere Person. Ergebnisse mit dem aktuellen Prompt (Version 3, 15. Oktober 2026):

Metrik Ergebnis Ziel
Primärcode korrekt 100 % ≥ 85 %
Assertion und Subjekt beide korrekt 98 % —
Negierte Symptome als vorhanden gemeldet 0 % ≤ 3 %

Die beiden Fehler waren administrative Einträge ("ein Termin beim Kardiologen am Dienstag", "Ich möchte 5 kg abnehmen"), die als hypothetisch statt als vorhanden klassifiziert wurden; keiner davon ist ein Symptom. Der Testdatensatz wurde nicht von einem Kliniker überprüft, daher sind die Ergebnisse indikativ.

Andere Sprachen (16. Oktober 2026). 40 der Fälle, die jede Kategorie abdecken, wurden ins Englische, Spanische, Deutsche und Französische übersetzt, mit denselben erwarteten Antworten; die informellen Fälle wurden in der jeweiligen informellen Sprache neu formuliert. Die Anweisungen an das Modell blieben gleich.

Sprache Fälle Primärcode Anwesenheit und Subjekt Negierte als vorhanden gemeldet
Rumänisch 100 100 % 98 % 0 %
Englisch 40 100 % 97,5 % 0 %
Spanisch 40 97,5 % 92,5 % 0 %
Deutsch 40 100 % 97,5 % 0 %
Französisch 40 100 % 95 % 0 %

Die meisten verbleibenden Fehler sind dieselben administrativen Einträge ("Kardiologentermin am Dienstag", "Check-up, alles in Ordnung") oder eine Wahl zwischen zwei nicht vorhandenen Zuständen ("kein Fieber heute" als aufgelöst statt abwesend); keiner davon veröffentlicht ein Symptom. Der einzige Kodierungsunterschied war das spanische "escalofríos y malestar" (Schüttelfrost und Unwohlsein), das als Unwohlsein (R53) mit Schüttelfrost (R68) als Sekundärcode kodiert wurde, anstatt umgekehrt.

Die Personen angezeigten Namen folgen ihrer Sprache: Die App zeigt den Konzeptnamen in der Sprache des Benutzers (zuerst den Laiennamen) und die Anwesenheitsnotiz ("aufgelöst", "jemand anderes") in den 20 Sprachen der App an.

In Produktion (16. Oktober 2026), nachdem das Vokabular gegen die WHO geprüft wurde, wurde jedes gespeicherte Symptom neu normalisiert. In den Aufzeichnungen echter Benutzer: alle Symptome normalisiert, 0 vorhandene Symptome als "unklar" belassen und 0 nicht vorhandene Symptome als die des Benutzers veröffentlicht (unabhängige Prüfung der veröffentlichten Beobachtungen).

5. Ähnliche Fälle (in Entwicklung)

Die nächste Komponente vergleicht Personen anhand ihrer Symptome und abnormalen Laborergebnisse, um – nur mit ausdrücklicher Zustimmung – Personen vorzuschlagen, die etwas sehr Ähnliches berichten.

Es wird keine Diagnose oder Krankheit vorgeschlagen.

6. Wie Anwendungen es nutzen

7. Einschränkungen

Verwandte Themen

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

Product updates by email

New features, guides and the end of the beta. One email a month at most.

Send me occasional Anpheros Platform updates by email (new features, API changes, guides). I'll confirm by email and can unsubscribe in one click from any email. Privacy