# Медичний API даних

> Куди кожен тип медичних даних потрапляє в Anpheros API, як він кодується, і як його записувати, фільтрувати, відстежувати, виправляти та видаляти — з робочими прикладами.

Source: https://developers.anpheros.com/uk/guides/medical-data-api

**Медичний API даних надає програмному забезпеченню структурований доступ до вмісту записів пацієнтів: створити пацієнта, записати показник артеріального тиску, перерахувати активні ліки, додати лабораторний звіт, відстежити, хто що написав.** Ця сторінка описує операції з даними Anpheros API — куди потрапляє кожен тип медичних даних, як він кодується та як його зчитати назад — з прикладами, що працюють у пісочниці.

Додатки використовують ці операції для того, щоб розглядати Anpheros як медичну базу даних свого продукту: записи пацієнтів зберігаються в сховищі HL7 FHIR R4 платформи, а додаток читає та записує їх через API замість того, щоб вести власні таблиці медичних даних.

Для ширшого огляду (автентифікація, згода, події) див. [Healthcare API](https://developers.anpheros.com/uk/guides/healthcare-api).

## Куди потрапляють різні типи медичних даних

| Медичні дані | REST v1 | FHIR ресурс | Кодування |
|---|---|---|---|
| Особа | `POST /v1/patients` | `Patient` | name, birth date, gender, identifiers |
| Життєві показники, результати лабораторних досліджень, симптоми, активність, опитування | `/v1/patients/{id}/observations` | `Observation` | LOINC (симптоми: ICD-10 chapter R); UCUM units |
| Діагнози та проблеми | `/v1/patients/{id}/conditions` | `Condition` | ICD-10 |
| Медикаменти | `/v1/patients/{id}/medications` | `MedicationStatement` | ATC, product name kept as text |
| Документи (PDF, зображення) | `/v1/patients/{id}/documents` | `DocumentReference` | LOINC document kinds |
| Повний лабораторний звіт | `POST /v1/patients/{id}/labs/import` | `Observation` (laboratory) | LOINC where known, the lab's own code otherwise |
| Прийняті або пропущені дози, вакцинації, алергії, процедури, звіти, плани догляду, цілі, направлення, візити, прийоми, команди догляду, сімейний анамнез, анкети | `/fhir/R4/{type}` | `MedicationAdministration`, `Immunization`, `AllergyIntolerance`, `Procedure`, `DiagnosticReport`, `CarePlan`, `Goal`, `ServiceRequest`, `Encounter`, `Appointment`, `CareTeam`, `FamilyMemberHistory`, `QuestionnaireResponse` | per [FHIR code systems](https://developers.anpheros.com/uk/guides/fhir-code-systems) |

Об'єкти REST v1 та ресурси FHIR є однаковими записами з однаковими ідентифікаторами; кожен об'єкт v1 містить посилання `fhir`.

## Запис медичних даних

```bash
# a lab result with its reference range, linked to the report it came from
curl -X POST https://platform.anpheros.com/v1/patients/$PID/observations \
     -H "Authorization: Bearer $KEY" -H 'content-type: application/json' -H "Idempotency-Key: $(uuidgen)" -d '{
  "code": "4548-4", "display": "Hemoglobin A1c", "category": "laboratory",
  "value": 6.4, "unit": "%", "effective_at": "2026-09-01T08:00:00Z",
  "reference_range": {"low": 4.0, "high": 5.6},
  "derived_from": ["DocumentReference/'$DOC'"], "author_type": "import"
}'
```

- **Категорії спостережень:** `vital-signs`, `laboratory`, `symptom`, `activity`, `survey`, `exam`, `imaging`, `social-history`.
- **Складові вимірювання**, такі як артеріальний тиск, використовують `components` (систолічний `8480-6`, діастолічний `8462-4` у межах панелі `85354-9`).
- **Типи авторів:** `patient`, `practitioner`, `device`, `import`, `ai`. Без одного з них платформа записує `import`.
- **Коди, які ви не знаєте напам'ять:** `GET /v1/terminology/loinc?q=hba1c` шукає у вбудованому підмножині LOINC, а `GET /v1/search?q=metformin` — у каталозі симптомів, станів та ліків; спостереження, записане без назви відображення, автоматично отримує назву LOINC.

## Читання медичних даних

```bash
curl "https://platform.anpheros.com/v1/patients/$PID/observations?category=laboratory&code=4548-4&from=2026-01-01" -H "Authorization: Bearer $KEY"
curl "https://platform.anpheros.com/v1/patients/$PID/conditions?clinical_status=active" -H "Authorization: Bearer $KEY"
curl "https://platform.anpheros.com/v1/patients/$PID/medications?status=active" -H "Authorization: Bearer $KEY"
curl "https://platform.anpheros.com/v1/patients/$PID/timeline?from=2026-06-01" -H "Authorization: Bearer $KEY"
```

| Кінцева точка | Фільтри |
|---|---|
| observations | `category`, `code`, `from`, `to` |
| conditions | `clinical_status` |
| medications | `status` |
| documents | `kind` |
| timeline | `from`, `to`, `types` |

Списки мають сторінки з `limit` та `cursor`. **timeline** об'єднує спостереження (observations), стани (conditions), медикаменти (medications), документи (documents), візити (visits), прийоми (appointments), вакцинації (vaccinations) та епізоди лікування (episodes of care) в один хронологічний список — природний вхід для екрана історії пацієнта.

Для всього, що не охоплюється REST-фільтрами, використовуйте пошук FHIR: `GET /fhir/R4/Observation?patient=$PID&code=http://loinc.org|4548-4&_sort=-date` ([FHIR platform](https://developers.anpheros.com/uk/guides/fhir)).

## Відстеження та виправлення даних

- **Хто написав:** `GET /v1/patients/{id}/provenance/{type}/{resourceId}` — один запис на версію, з типом автора, проєктом, організацією та вихідною системою.
- **Кожна версія:** `GET /fhir/R4/{type}/{id}/_history`; оновлюйте за допомогою `If-Match`, щоб уникнути перезапису змін іншої особи.
- **Право власності:** за згодою ви можете читати те, що написали інші організації, але змінювати або видаляти лише те, що написав ваш проєкт (інакше `403`).
- **Видалення:** `DELETE /v1/{observations|conditions|medications}/{id}`; видалення `Patient` видаляє весь запис.

## Документи

Створіть документ (отримаєте ціль для завантаження), завантажте байти через платформу або безпосередньо до сховища, а потім завершіть. Після завершення оригінал стає незмінним; його SHA-256 та розмір записуються. До 25 МіБ на файл.

## Пов'язане

- [Як нормалізувати медичні дані](https://developers.anpheros.com/uk/guides/normalize-medical-data): коди, одиниці вимірювання, дати, дублікати, валідація
- [Пояснення походження медичних даних](https://developers.anpheros.com/uk/guides/medical-data-provenance): хто що написав і як це записати
- [API для охорони здоров'я](https://developers.anpheros.com/uk/guides/healthcare-api)
- [Медична карта пацієнта](https://developers.anpheros.com/uk/guides/patient-medical-record)
- [Створення медичного застосунку](https://developers.anpheros.com/uk/guides/build-a-healthcare-app)
- [Довідник API (OpenAPI)](https://developers.anpheros.com/docs) · [Початок роботи](https://developers.anpheros.com/uk/guides/getting-started)
