# FHIR платформа: керована FHIR R4 з дозволом пацієнта

> Керована FHIR R4 платформа: 26 типів ресурсів, пошук, історія, транзакції, $everything, IPS, запуск SMART, протестований Inferno, згода та походження, плюс простий REST API. Безкоштовний пісочниця.

Source: https://developers.anpheros.com/uk/guides/fhir

**Anpheros — це FHIR платформа — керована FHIR база даних (сховище даних), яку програми використовують як свій FHIR бекенд: вона зберігає кожен запис пацієнта нативно як ресурси HL7 FHIR R4 (4.0.1) і надає їх за адресою `https://platform.anpheros.com/fhir/R4`,** з додаванням згоди, походження та аудиту поверх стандарту. Програми, які вже працюють з FHIR, можуть використовувати її безпосередньо; програми, які не працюють, можуть використовувати простіший REST API (`/v1`), який читає та записує ті самі ресурси з тими самими ідентифікаторами.

Для AI програм це робить Anpheros FHIR бекендом, з якого походить контекст моделі: див. [AI програми та медичні дані](https://developers.anpheros.com/uk/guides/llm-healthcare-data).

<!-- visual:fhir-hero -->

## Що таке HL7 FHIR?

FHIR (Fast Healthcare Interoperability Resources) — це стандарт HL7 для обміну медичними даними через веб. Він визначає:

- **ресурси** — невеликі типізовані JSON (або XML) документи для кожної клінічної концепції: `Patient`, `Observation`, `Condition`, `MedicationStatement`;
- **посилання** між ними (`"subject": {"reference": "Patient/123"}`), тому запис є графом ресурсів навколо пацієнта;
- **REST API** для читання, пошуку, створення, оновлення та видалення ресурсів зі стандартними параметрами пошуку;
- **пакети (bundles)** для одночасного надсилання кількох ресурсів (транзакції) або як документ (наприклад, резюме пацієнта);
- **прив'язки термінології**, щоб значення несли коди з таких систем, як LOINC або ICD-10;
- **профілі** — обмеження для конкретного випадку використання або країни, наприклад, International Patient Summary.

R4 (версія 4.0.1) є найбільш широко впровадженою версією сьогодні. Використання FHIR як моделі зберігання — а не лише як формату експорту — означає відсутність рівня перекладу між тим, що записує одна програма, і тим, що читає інша FHIR-система.

```json
{
  "resourceType": "Observation",
  "status": "final",
  "category": [{"coding": [{"system": "http://terminology.hl7.org/CodeSystem/observation-category", "code": "laboratory"}]}],
  "code": {"coding": [{"system": "http://loinc.org", "code": "4548-4", "display": "Hemoglobin A1c"}]},
  "subject": {"reference": "Patient/…"},
  "effectiveDateTime": "2026-09-01T08:00:00Z",
  "valueQuantity": {"value": 6.4, "unit": "%", "system": "http://unitsofmeasure.org", "code": "%"}
}
```

## Заява про можливості

`GET /fhir/R4/metadata` повертає CapabilityStatement: підтримувані типи ресурсів, їх параметри пошуку та операції. Це публічний і авторитетний список; таблиця нижче відображає його станом на 28 вересня 2026 року.

## 26 типів ресурсів

<!-- visual:fhir-map:replace -->

| Сфера | Типи ресурсів |
|---|---|
| Пацієнт та люди | `Patient`, `RelatedPerson` |
| Вимірювання та результати | `Observation` (життєві показники, лабораторні дослідження, симптоми, самопочуття, щоденна активність та сон), `DiagnosticReport` |
| Проблеми та догляд | `Condition`, `EpisodeOfCare`, `Procedure`, `CarePlan`, `Goal`, `ServiceRequest`, `CareTeam`, `FamilyMemberHistory` |
| Медикаменти та профілактика | `MedicationStatement`, `MedicationAdministration`, `Immunization`, `AllergyIntolerance` |
| Документи та анкети | `DocumentReference`, `QuestionnaireResponse` |
| Візити | `Encounter`, `Appointment` |
| Довідник | `Organization`, `Practitioner`, `PractitionerRole` |
| Управління | `Consent`, `Provenance` |
| Точка розширення | `Basic` |

Кожен тип, що належить до області видимості пацієнта, входить до компартменту пацієнта, тому `Patient/{id}/$everything`, OAuth-скоупи на рівні пацієнта та фільтри згоди застосовуються до всіх них. Ресурси довідника (`Organization`, `Practitioner`, `PractitionerRole`) не мають пацієнта; вони доступні для читання в усіх проєктах в одному середовищі та можуть бути змінені лише проєктом, який їх створив.

## Взаємодії та операції

<!-- visual:fhir-ops -->

- **Read, search, create, update, delete** для кожного підтримуваного типу; параметри пошуку для кожного типу перелічені в CapabilityStatement. Невідомі параметри пошуку відхиляються з помилкою `400`, а не ігноруються мовчки.
- **History**: `GET /fhir/R4/{type}/{id}/_history` повертає кожну версію; оновлення можуть бути умовними за допомогою `If-Match` (невідповідність версії призводить до відповіді `412`).
- **Transactions and batches**: `POST /fhir/R4` з `Bundle` типу `transaction` або `batch`.
- **`Patient/{id}/$everything`**: весь compartment одного пацієнта.
- **`Patient/{id}/$summary`**: документ International Patient Summary (IPS) `Bundle`, англійською або румунською мовами (`?lang=`).
- **`Observation/$validate?profile=eu-lab`**: повідомляє, як лабораторний результат відповідає правилам звітності лабораторії HL7 Europe.
- **Paging**: `_count` до 200; `_revinclude` повертає максимум 1 000 ресурсів.
- **Idempotency**: `POST` запити приймають `Idempotency-Key`; повторний запит з тим самим ключем повертає ту саму відповідь і нічого не створює.

```bash
# latest HbA1c results of one patient, strict FHIR
curl "https://platform.anpheros.com/fhir/R4/Observation?patient=$PID&code=http://loinc.org|4548-4&_sort=-date" \
     -H "Authorization: Bearer $KEY"

# the patient's International Patient Summary
curl "https://platform.anpheros.com/fhir/R4/Patient/$PID/\$summary?lang=en" -H "Authorization: Bearer $KEY"
```

## FHIR та простіший REST API

`/v1` існує для розробників, які не бажають працювати безпосередньо з ресурсами FHIR. Він охоплює пацієнтів, спостереження, стани, ліки, документи, хронологічну шкалу та походження, а також функції платформи (контекст, імпорт лабораторних даних, вебхуки, термінологія). Кожен об'єкт `/v1` містить посилання `fhir`, тому програма може почати з `/v1` і перейти до FHIR для тих частин, де потрібна повна модель.

## Стандарти навколо FHIR

`$summary` генерує Міжнародний Пацієнтський Резюме (International Patient Summary), валідоване офіційним валідатором HL7 (0 помилок); лабораторні результати перевіряються відповідно до європейських правил HL7 для лабораторій (сьогодні мають дорадчий характер); сторонні додатки підключаються через SMART on FHIR standalone launch; повідомлення HL7 v2 `ORU^R01` для лабораторій приймаються як вхідні дані. Формати, рівні та шаблони обміну описані в [Інтероперабельність медичних даних](https://developers.anpheros.com/uk/guides/interoperability); кодові системи за типом ресурсу — в [Кодові системи FHIR](https://developers.anpheros.com/uk/guides/fhir-code-systems).

## Часті запитання

### Що таке FHIR платформа?
Сервіс, який зберігає медичні дані як ресурси HL7 FHIR та надає до них доступ через стандартний FHIR REST API, додаючи те, що потрібно додаткам навколо стандарту: авторизацію, згоду, аудит, історію та операції, такі як `$everything` та `$summary`. Anpheros — це керована FHIR R4 платформа: ви викликаєте її замість того, щоб запускати FHIR сервер.

### Яка різниця між FHIR сервером та FHIR платформою?
FHIR сервер реалізує FHIR API поверх бази даних. FHIR платформа запускає його для вас і додає шар навколо нього — згоду пацієнта, походження даних, журнали доступу, SDK, вебхуки, імпорт лабораторних даних та пісочницю — щоб додаткам не доводилося створювати ці частини.

### Яку версію FHIR підтримує Anpheros?
FHIR R4 (4.0.1), з 26 типами ресурсів, переліченими у публічному CapabilityStatement за адресою `/fhir/R4/metadata`.

### Чи проходить платформа Anpheros FHIR незалежне тестування?
Група SMART App Launch STU2 "Standalone Launch" відкритого набору тестів Inferno проходить 22 з 22 тестів (запуск від 28 вересня 2026 року), а International Patient Summary валідується з 0 помилками в офіційному валідаторі HL7. Запуск EHR та експорт великих обсягів даних поки що не підтримуються.

### Чи можу я використовувати FHIR платформу безкоштовно?
Так. Пісочниця безкоштовна і включає 30 синтетичних пацієнтів на проект; виробниче використання починається від €99 на місяць з першим місяцем безкоштовно.

### Чи повинен я використовувати FHIR, щоб використовувати Anpheros?
Ні. Простіший REST API (`/v1`) читає та записує ті самі ресурси з тими самими ідентифікаторами, тому додаток може почати з плоского JSON і перейти до FHIR там, де йому потрібна повна модель.

<!-- visual:cta-fhir -->

## Пов'язане

- [FHIR sandbox](https://developers.anpheros.com/uk/guides/fhir-sandbox): безкоштовний приватний тестовий сервер FHIR R4
- [International Patient Summary (IPS) у FHIR](https://developers.anpheros.com/uk/guides/international-patient-summary-fhir)
- [Пояснення походження медичних даних](https://developers.anpheros.com/uk/guides/medical-data-provenance): хто що написав і як це записати
- [Як зберігати медичні записи за допомогою FHIR R4](https://developers.anpheros.com/uk/guides/store-medical-records-fhir): покроковий посібник з curl
- [FHIR проти власної бази даних медичних даних](https://developers.anpheros.com/uk/guides/fhir-vs-custom-database): коли розробляти власні таблиці, а коли використовувати FHIR
- [Безкоштовна база даних та пісочниця FHIR](https://developers.anpheros.com/uk/guides/free-fhir-database)
- [Порівняння Anpheros з іншими серверами FHIR](https://developers.anpheros.com/uk/guides/fhir-server-comparison)
- [Сумісність медичних даних](https://developers.anpheros.com/uk/guides/interoperability)
- [Системи кодування FHIR](https://developers.anpheros.com/uk/guides/fhir-code-systems)
- [API медичних даних](https://developers.anpheros.com/uk/guides/medical-data-api)
- [Створення медичного застосунку](https://developers.anpheros.com/uk/guides/build-a-healthcare-app)
- [Довідник API (OpenAPI)](https://developers.anpheros.com/docs)
- [DICOM проти FHIR](https://developers.anpheros.com/uk/guides/dicom-vs-fhir): де закінчується FHIR і починається медична візуалізація
