# FHIR кодові системи

> Які кодові системи використовує кожен тип ресурсу FHIR: LOINC для вимірювань та лабораторних результатів, ICD-10 для станів, ATC для медикаментів, UCUM для одиниць вимірювання, а SNOMED CT — за ліцензійною позначкою.

Source: https://developers.anpheros.com/uk/guides/fhir-code-systems

Що платформа зберігає та що Anpheros Daily (додаток для пацієнта) записує через API. Додатки можуть використовувати будь-яку
кодову систему, яку дозволяє FHIR; ця сторінка вказує, які з них платформа розпізнає (відображення,
перевірки IPS, контекстний механізм) та які використовує сам Anpheros. Останнє оновлення 22 вересня 2026 року.

| Ресурс | Елемент | Кодові системи | Примітки |
|---|---|---|---|
| Observation (vital-signs) | `code` | LOINC (`http://loinc.org`) | 8867-4 частота серцевих скорочень, 85354-9 панель артеріального тиску (8480-6 / 8462-4 компоненти), 8310-5 температура тіла, 2339-0 глюкоза, 29463-7 маса тіла, 39156-5 ІМТ, 59408-5 SpO₂, 8302-2 зріст |
| Observation (laboratory) | `code` | LOINC; локальна `urn:anpheros:lab`, коли LOINC невідома | відображено Anpheros Daily; референтний діапазон у `referenceRange`, документ у `derivedFrom` |
| Observation (symptom) | `code`, `category` | ICD-10 (`http://hl7.org/fhir/sid/icd-10`) розділ R; категорія `urn:anpheros:observation-category\|symptom`; SNOMED CT за позначкою | вільний текст залишається у `code.text`; інтенсивність 1–10 у `valueQuantity` (`{score}`). Ресурси, записані до 13 жовтня 2026 року, можуть містити систему HL7 `observation-category` з кодом `symptom`; фільтрувати за кодом (`category=symptom`), а не за системою. Записуються лише симптоми, які пацієнт повідомляє як наявні, щодо себе |
| Observation (survey, wellbeing) | `code`, `component` | `urn:anpheros:wellbeing` (вимір: емоційний / ментальний / фізичний) | інтенсивність як компонент `valueQuantity` `{score}`; примітка у `note` |
| Observation (activity, daily watch summaries) | `code` | LOINC: 40443-4 ЧСС у спокої, 8867-4 ЧСС (компоненти хв/середнє/макс), 80404-7 ВСР (RMSSD), 59408-5 SpO₂, 41950-7 кроки, 41981-2 енергія, 93832-4 тривалість сну, 93831-6 / 93830-8 стадії сну | `effectivePeriod` охоплює день; категорія `activity` |
| Condition | `code`, `severity`, `clinicalStatus` | ICD-10; SNOMED CT тяжкість (24484000 тяжка, 6736007 помірна, 255604002 легка); `condition-clinical` | категорія `problem-list-item` |
| MedicationStatement | `medicationCodeableConcept` | ATC (`http://www.whocc.no/atc`); `code.text` = назва продукту | розширення `daily-medication` для полів, специфічних для додатків |
| MedicationAdministration | `medicationCodeableConcept`, `supportingInformation` | ATC; план лікування як `MedicationStatement/{id}` у `supportingInformation` (параметр пошуку `statement`) | один ресурс на прийняту або пропущену дозу (`status` завершено / не виконано) |
| Immunization | `vaccineCode` | ATC J07 (`http://www.whocc.no/atc`) або національна номенклатура; `vaccineCode.text` завжди зберігається | `occurrenceDateTime` обов'язково для розділу IPS; `protocolApplied.doseNumberPositiveInt` для дози |
| AllergyIntolerance | `code`, `reaction.manifestation`, `criticality` | SNOMED CT (за позначкою) або тільки `code.text`; ATC для алергій на ліки | категорія їжа / ліки / середовище / біологічна |
| DocumentReference | `type` | Типи документів LOINC (`DOC_KIND_LOINC` у `/v1`) | |
| Encounter | `class`, `type` | клас v3-ActCode; тип SNOMED CT, коли відомий | `episodeOfCare` → EpisodeOfCare вагітності / хронічного захворювання / лікування |
| EpisodeOfCare | `type`, `diagnosis.condition` | `urn:anpheros:episode-type` (захворювання / лікування / вагітність / інше); `diagnosis.condition` → Condition | один на стан Anpheros Daily ("dosar", 25 вересня 2026 року); `period` = початок → кінець. Пов'язані ресурси вказують на Condition: `Observation.focus`, `MedicationStatement.reasonReference`, `DocumentReference.context.related`, `Appointment.reasonReference` (пошук: `focus`, `reason-reference`, `related`, `condition`) |
| Appointment | `serviceType` | кодова система `service-type` | |
| RelatedPerson | `relationship` | v3-RoleCode (MTH, FTH, CHILD, SPS, …) | |
| QuestionnaireResponse | `questionnaire` | канонічні URL під `https://anpheros.com/fhir/Questionnaire/` | |
| Basic | `code` | `urn:anpheros:basic` | резервний варіант; кожен код документується тут перед використанням |
| Provenance | `agent.type` | `provenance-participant-type` | |

## Ідентифікатори та розширення

- Локальні ідентифікатори рядків Anpheros Daily: `urn:anpheros:daily:{vital|medication|condition|episode|lab|symptom|document|weight|wellbeing|intake|immunization|allergy|health-day}`.
- Розширення стану `daily-condition` (25 вер 2026): `kind` (хвороба / лікування / вагітність / інше), `color` (ключ палітри додатку), `source`, `due_date` (вагітність). Вагітність без письмового коду несе ICD-10 `Z33`.
- Розширення знаходяться в `https://anpheros.com/fhir/StructureDefinition/daily-*` (`daily-medication`, `daily-symptom`, `daily-condition`, …).
- Одиниці вимірювання — UCUM (`http://unitsofmeasure.org`) всюди, де вказана кількість.

## Концепти симптомів (реліз 2026.10.2, 16 жовтня 2026)

`GET /v1/terminology/symptoms?q=&icd10=&kind=symptom|finding|all&lang=&limit=&offset=` та
`GET /v1/terminology/symptoms/{concept_id}` обслуговують концепти симптомів Anpheros: стабільний ідентифікатор
(`SYM-0001`…, ніколи не повторюється; система `https://anpheros.com/fhir/CodeSystem/symptom`), відповідність ICD-10 з її еквівалентністю (`equivalent`, або `broader`, коли код ICD-10 охоплює більше, ніж концепт), мітки та
терміни для пошуку, які використовуються для знаходження концепту у вільному тексті.

- 86 концептів: 70 симптомів та 16 ознак (R70–R94). Симптоми використовують ICD-10 R00–R69 та, де ВООЗ класифікує
  симптом інакше, код ВООЗ: G47 проблеми зі сном, H53.2 двоїння в очах, H53.8 розмите бачення (ширше), H93.1
  дзвін у вухах, K59.0 запор, L29.9 свербіж, M25.5 біль у суглобах, M54 біль у спині.
- Кожен код та англійська назва були перевірені за допомогою браузера WHO ICD-10 Version 2019 від 15 жовтня 2026 року, включаючи
  його примітки щодо включення та виключення; `icd10.display` – це назва ВООЗ.
- Кожен концепт також відповідає **ICD-11 MMS 2025-01** (`icd11`: код, назва ВООЗ, еквівалентність `equivalent | wider |
  narrower | inexact`) and to a **body system** (`body_system`: the ICD-11 chapter 21 block of that code, e.g. `nervous`,
  `digestive`). Використовується код симптому з розділу 21, а не код хвороби (головний біль → MB4D, а не 8A8Z); кожне
  відхилення від таблиці відповідності WHO ICD-10 → ICD-11 перелічено в `release.json` (`icd11_departures`). Фільтруйте за допомогою
  `?icd11=MB4D` або `?body_system=digestive`.
- Мітки мають статус `review`: `source` (офіційна англійська назва ВООЗ), `in_use` (румунські мітки та терміни для пошуку, які використовує Anpheros Daily) або `ai_reviewed` (популярні мітки 19 мовами: машинний переклад, переглянутий термін за терміном
  відповідно до назв ВООЗ за допомогою ШІ, **не** клініцистом чи професійним медичним перекладачем). `display`
  є переважною міткою в `lang`, інакше – популярна мітка, інакше – англійська; `display_lang` вказує, яка саме.
- Попереджувальні знаки: 32 пункти для 14 концептів, цитовані дослівно зі сторінок громадського надбання CDC та NIDDK, кожен зі своїм
  джерелом, `review: source_verified` та приміткою "не є діагнозом". Без причин чи асоціацій із станами. Кожен концепт несе
  `clinical_review: false` доки кваліфікований клініцист не перегляне реліз.
- Дані зберігаються в `app/terminology/symptoms/` (`concepts.csv`, `labels.csv`, `release.json` із джерелами); зміна
  є переглянутим комітом та новим номером релізу.
- Anpheros Daily додає концепт як друге кодування поруч із ICD-10 у спостереженнях симптомів.
- Покроковий приклад із запитами та відповідями: [API даних симптомів](https://developers.anpheros.com/uk/guides/symptom-data-api).

### Ті самі концепти як термінологія FHIR (15 жовтня 2026)

Тільки для читання, з того ж релізу, з тим самим правилом публікації (тільки переглянуті мітки):

| Resource | Read | Notes |
|---|---|---|
| CodeSystem | `GET /fhir/R4/CodeSystem/anpheros-symptom`, `GET /fhir/R4/CodeSystem?url=https://anpheros.com/fhir/CodeSystem/symptom` | `content: complete`, `status: draft` до клінічного перегляду; властивості `kind`, `status`, `icd10`, `icd11`, `body_system`; румунські мітки, терміни для пошуку та популярні мітки як позначення |
| CodeSystem/$lookup | `GET /fhir/R4/CodeSystem/$lookup?system=https://anpheros.com/fhir/CodeSystem/symptom&code=SYM-0047&displayLanguage=ro` | `Parameters` з відображенням, позначеннями та властивостями |
| ValueSet | `GET /fhir/R4/ValueSet/anpheros-symptoms`, `GET /fhir/R4/ValueSet/$expand?url=https://anpheros.com/fhir/ValueSet/anpheros-symptoms&filter=&displayLanguage=&count=&offset=` | активні симптоми (ознаки виключені) |
| ConceptMap | `GET /fhir/R4/ConceptMap/anpheros-symptom-to-icd10` | `equivalent`, або `wider`, коли код ICD-10 охоплює більше, ніж концепт (H53.8) |
| ConceptMap | `GET /fhir/R4/ConceptMap/anpheros-symptom-to-icd11` | ICD-11 MMS 2025-01 (`http://id.who.int/icd/release/11/mms`), з `equivalent`, `wider`, `narrower` або `inexact` |

**Profile `anpheros-symptom`** (`POST /fhir/R4/Observation/$validate?profile=anpheros-symptom`, канонічний
`https://anpheros.com/fhir/StructureDefinition/anpheros-symptom-observation`): категорія
`urn:anpheros:observation-category|symptom` (код HL7 `observation-category` відхилено), слова особи в
`code.text`, концепт Anpheros, що відповідає коду ICD-10, суб'єкт = Patient, статус final / amended /
corrected / entered-in-error, effective[x] з `effectivePeriod.end` не раніше `start`, інтенсивність як UCUM `{score}`
0–10. Як і інші профілі, він повідомляє про проблеми та не відхиляє записи.

## Ліцензії

LOINC, ATC (WHO), ICD-10 (WHO) та UCUM використовуються відповідно до їхніх публічних ліцензій. SNOMED CT вимагає
національної або афілійованої ліцензії: таблиці зіставлення постачаються разом із кодом, але коди SNOMED записуються лише тоді, коли `TERMINOLOGY_SNOMED_ENABLED` увімкнено (очікується ліцензія для Румунії).

Як зіставити дані з різних джерел до цих систем кодування, з одиницями вимірювання, датами та валідацією: [Як нормалізувати медичні дані](https://developers.anpheros.com/uk/guides/normalize-medical-data).

Де шукати ці системи кодування та що охоплює пакетний підмножина: [API медичної термінології](https://developers.anpheros.com/uk/guides/medical-terminology-api).
