# FHIR платформа: управляемый FHIR R4 с согласием пациента

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

Source: https://developers.anpheros.com/ru/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/ru/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`**: весь отсек одного пациента.
- **`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` создает Международную сводку пациента, проверенную официальным валидатором HL7 (0 ошибок); лабораторные результаты проверяются на соответствие европейским правилам HL7 для лабораторий (сегодня носят рекомендательный характер); сторонние приложения подключаются через автономный запуск SMART on FHIR; принимаются входные данные в виде лабораторных сообщений HL7 v2 `ORU^R01`. Форматы, уровни и шаблоны обмена описаны в разделе [Взаимодействие медицинских данных](https://developers.anpheros.com/ru/guides/interoperability); системы кодирования для каждого типа ресурсов — в разделе [Системы кодирования FHIR](https://developers.anpheros.com/ru/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`.

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

### Могу ли я использовать FHIR-платформу бесплатно?
Да. Песочница бесплатна и включает 30 синтетических пациентов на проект; производство начинается от 49 евро в месяц с первым месяцем бесплатно.

### Должен ли я использовать FHIR для использования Anpheros?
Нет. Более простой REST API (`/v1`) читает и записывает те же ресурсы с теми же идентификаторами, поэтому приложение может начать с плоского JSON и перейти к FHIR, когда ему потребуется полная модель.

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

## Связанные материалы

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