AnpherosAnpheros PlatformDevelopers

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

Anpheros Symptom Engine: методологія

Як симптоми у вільній формі будь-якою мовою перетворюються на концепції ВООЗ ICD-10 та ICD-11: нормалізатор ШІ, виявлення наявності та досвіду, перевірений ВООЗ словник, результати оцінки, зіставлення схожих випадків та обмеження.

Anpheros Symptom Engine перетворює те, що людина пише про свої відчуття, власними словами та мовою, на міжнародні клінічні концепції: стабільний ідентифікатор Anpheros, код ВООЗ ICD-10, код ВООЗ ICD-11 та системний орган, разом із зазначенням, чи симптом присутній, вирішений, гіпотетичний або стосується іншої особи. Він працює в продакшені за Anpheros Daily, публікує свої результати як HL7 FHIR R4 Observations на Anpheros Platform та надає ту саму термінологію будь-якій програмі через REST та FHIR API. Ця сторінка описує, як він працює, як він був перевірений, що він вимірює та де його обмеження.

Огляд

Концепції 274 (197 симптомів, 77 знахідок), ідентифікатори SYM-0001…, ніколи не повторюються
Класифікації WHO ICD-10 (Версія 2019) та WHO ICD-11 MMS (2025-01), з еквівалентністю кожного відображення
Системи органів 13, взяті з блоків розділу 21 ICD-11 (нервова, травна, дихальна, шкірна тощо)
Мови назви 20 мовами; вільний текст рідною мовою особи
Попереджувальні знаки 32, для 14 концепцій, цитовані дослівно з CDC та NIDDK
Оцінка нормалізатора 5 мов (румунська, англійська, іспанська, німецька, французька): основний код 97.5–100 %, наявність та суб'єкт 92.5–98 %, заперечені симптоми, повідомлені як наявні 0 % кожною мовою
Клінічний огляд поки що немає: clinical_review: false на кожну відповідь
Стандарти HL7 FHIR R4 (CodeSystem, ValueSet, ConceptMap, Observation), ICD-10, ICD-11, LOINC для лабораторних результатів

1. Конвеєр

Симптом проходить чотири етапи. Текст особи ніколи не змінюється; кожен етап додає дані поруч із ним.

  1. Захоплення. Необроблений запис зберігається як написано, із зазначенням моменту його фіксації, часового поясу телефону, мови та, за бажанням, інтенсивності (1–10), початку та завершення. Жоден наступний етап не перезаписує його.
  2. Нормалізація (AI). Велика мовна модель (Google Gemini на Vertex AI) читає текст і повертає для кожного згаданого симптому: основний код ICD-10, необов'язкові вторинні коди, коротку мітку та два атрибути: твердження (присутній, відсутній, вирішений, гіпотетичний, невизначений) та суб'єкт (особа або хтось інший). Модель може вибирати коди лише зі словника Anpheros; будь-яка інша відповідь, пропущений запис або недійсний основний код вважається невдалою спробою, ніколи "невідомим симптомом".
  3. Зіставлення концепцій (детерміноване). Код ICD-10 зіставляється з концепцією Anpheros і, на її основі, з ICD-11 та системою тіла. Цей етап використовує фіксовані таблиці, а не AI, тому однаковий код завжди дає однакову концепцію.
  4. Публікація. Лише симптоми, які є присутніми та стосуються особи, стають FHIR Observations у записі особи, і лише після успішної нормалізації. Якщо пізніша правка або повторна нормалізація це змінить, Observation буде відкликано; історія версій залишається.

2. Присутність, час та суб'єкт

Клінічні тексти часто згадують симптоми, яких людина не має. Клінічна обробка природної мови називає це виявленням заперечення, темпоральності та суб'єкта (сімейство методів NegEx та ConText). Рушій обробляє ті самі три питання за допомогою атрибутів assertion та subject моделі:

Написано Assertion / subject Опубліковано як симптом особи?
"I've had a headache since Tuesday" present / self yes
"my head doesn't hurt any more" resolved / self no
"I might get a fever tomorrow" hypothetical / self no
"my mother has a cough" present / other no

Скарги родича ніколи автоматично не перетворюються на сімейний анамнез.

3. Словник та як його перевіряли

Словник охоплює розділ XVIII ICD-10 (R00–R94, а з випуску 2026.10.3 – його нерезідюальні підкатегорії, такі як R06.0 задишка) та, де ВООЗ класифікує симптом в іншому розділі, код ВООЗ: запор K59.0, дзвін у вухах H93.1, двоїння в очах H53.2, розмите бачення H53.8, свербіж L29.9, біль у суглобах M25.5, біль у спині M54, проблеми зі сном G47.

4. Оцінка

Нормалізатор оцінюється на фіксованому наборі зі 100 синтетичних випадків, написаних румунською мовою (мова більшості поточних користувачів), кожен з очікуваним основним кодом, твердженням та суб'єктом. 32 випадки навмисно відсутні: заперечені, вирішені, гіпотетичні, невизначені або стосуються іншої особи. Результати з поточним запитом (версія 3, 15 жовтня 2026 року):

Метрика Результат Ціль
Основний код правильний 100 % ≥ 85 %
Твердження та суб'єкт обидва правильні 98 % —
Заперечені симптоми, повідомлені як присутні 0 % ≤ 3 %

Дві помилки були адміністративними записами ("призначення до кардіолога у вівторок", "я хочу схуднути на 5 кг"), класифікованими як гіпотетичні замість присутніх; жоден з них не є симптомом. Тестовий набір не був переглянутий клініцистом, тому показники є орієнтовними.

Інші мови (16 жовтня 2026 року). 40 випадків, що охоплюють кожну категорію, були перекладені на англійську, іспанську, німецьку та французьку мови з тими ж очікуваними відповідями; неформальні випадки були переписані у власному неформальному стилі кожної мови. Інструкції для моделі залишилися незмінними.

Мова Випадки Основний код Присутність та суб'єкт Заперечені повідомлені як присутні
Румунська 100 100 % 98 % 0 %
Англійська 40 100 % 97.5 % 0 %
Іспанська 40 97.5 % 92.5 % 0 %
Німецька 40 100 % 97.5 % 0 %
Французька 40 100 % 95 % 0 %

Більшість помилок, що залишилися, — це ті самі адміністративні записи ("призначення до кардіолога у вівторок", "огляд, все гаразд") або вибір між двома несутніми станами ("сьогодні немає температури" як вирішений, а не відсутній); жоден з них не публікує симптом. Єдина відмінність у кодуванні полягала в іспанському "escalofríos y malestar" (озноб і нездужання), закодованому як нездужання (R53) з ознобом (R68) як вторинним кодом, а не навпаки.

Імена, показані людям, відповідають їхній мові: додаток відображає назву концепції мовою користувача (спочатку немедична назва) та примітку про присутність ("вирішено", "хтось інший") 20 мовами додатка.

У продакшені (16 жовтня 2026 року), після перевірки словника за ВООЗ, кожен збережений симптом був повторно нормалізований. На записах реальних користувачів: усі симптоми нормалізовані, 0 присутніх симптомів залишилися як "незрозумілі", і 0 симптомів, які не присутні, опубліковані як власні особисті (незалежний аудит опублікованих спостережень).

5. Схожі випадки (у розробці)

Наступний компонент порівнює людей за їхніми симптомами та аномальними лабораторними результатами, щоб запропонувати, лише за явним дозволом, людей, які повідомляють про щось дуже схоже.

Це не пропонує діагноз чи хворобу.

6. Як програми використовують це

7. Обмеження

Пов'язане

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