# API danych medycznych

> Gdzie każdy rodzaj danych medycznych znajduje się w API Anpheros, jak jest kodowany i jak go zapisywać, filtrować, śledzić, poprawiać i usuwać — z działającymi przykładami.

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

**API danych medycznych zapewnia oprogramowaniu ustrukturyzowany dostęp do zawartości kart pacjentów: tworzenie pacjenta, zapis odczytu ciśnienia krwi, lista aktywnych leków, dołączanie raportu z laboratorium, śledzenie, kto co napisał.** Ta strona opisuje operacje na danych w API Anpheros — gdzie znajduje się każdy rodzaj danych medycznych, jak jest kodowany i jak go odczytać — wraz z przykładami działającymi w środowisku sandbox.

Aplikacje wykorzystują te operacje do traktowania Anpheros jako bazy danych medycznych swojego produktu: karty pacjentów znajdują się w repozytorium HL7 FHIR R4 platformy, a aplikacja odczytuje i zapisuje je za pośrednictwem API zamiast prowadzić własne tabele danych medycznych.

Aby uzyskać szerszy obraz (uwierzytelnianie, zgody, zdarzenia), zobacz [API opieki zdrowotnej](https://developers.anpheros.com/pl/guides/healthcare-api).

## Gdzie trafiają poszczególne rodzaje danych medycznych

| Dane medyczne | REST v1 | Zasób FHIR | Kodowanie |
|---|---|---|---|
| Osoba | `POST /v1/patients` | `Patient` | name, birth date, gender, identifiers |
| Parametry życiowe, wyniki badań laboratoryjnych, objawy, aktywność, ankiety | `/v1/patients/{id}/observations` | `Observation` | LOINC (objawy: rozdział R ICD-10); jednostki UCUM |
| Diagnozy i problemy | `/v1/patients/{id}/conditions` | `Condition` | ICD-10 |
| Leki | `/v1/patients/{id}/medications` | `MedicationStatement` | ATC, nazwa produktu zachowana jako tekst |
| Dokumenty (PDF, obrazy) | `/v1/patients/{id}/documents` | `DocumentReference` | rodzaje dokumentów LOINC |
| Kompletny raport laboratoryjny | `POST /v1/patients/{id}/labs/import` | `Observation` (laboratory) | LOINC, jeśli znany, w przeciwnym razie własny kod laboratorium |
| Przyjęte lub pominięte dawki, szczepienia, alergie, procedury, raporty, plany opieki, cele, skierowania, wizyty, spotkania, zespoły opiekuńcze, historia rodziny, kwestionariusze | `/fhir/R4/{type}` | `MedicationAdministration`, `Immunization`, `AllergyIntolerance`, `Procedure`, `DiagnosticReport`, `CarePlan`, `Goal`, `ServiceRequest`, `Encounter`, `Appointment`, `CareTeam`, `FamilyMemberHistory`, `QuestionnaireResponse` | zgodnie z [systemami kodowania FHIR](https://developers.anpheros.com/pl/guides/fhir-code-systems) |

Obiekty REST v1 i zasoby FHIR to te same rekordy z tymi samymi identyfikatorami; każdy obiekt v1 zawiera odniesienie `fhir`.

## Zapisywanie danych medycznych

```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"
}'
```

- **Kategorie obserwacji:** `vital-signs`, `laboratory`, `symptom`, `activity`, `survey`, `exam`, `imaging`, `social-history`.
- **Pomiary złożone**, takie jak ciśnienie krwi, wykorzystują `components` (skurczowe `8480-6`, rozkurczowe `8462-4` w ramach panelu `85354-9`).
- **Typy autorów:** `patient`, `practitioner`, `device`, `import`, `ai`. Bez jednego z nich platforma rejestruje `import`.
- **Kody, których nie znasz na pamięć:** `GET /v1/terminology/loinc?q=hba1c` przeszukuje dołączony podzbiór LOINC, a `GET /v1/search?q=metformin` katalog objawów, schorzeń i leków; obserwacja zapisana bez nazwy wyświetlanej automatycznie otrzymuje nazwę LOINC.

## Odczytywanie danych medycznych

```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"
```

| Punkt końcowy | Filtry |
|---|---|
| observations | `category`, `code`, `from`, `to` |
| conditions | `clinical_status` |
| medications | `status` |
| documents | `kind` |
| timeline | `from`, `to`, `types` |

Listy są stronicowane za pomocą `limit` i `cursor`. **Timeline** łączy obserwacje, schorzenia, leki, dokumenty, wizyty, terminy i epizody opieki w jedną chronologiczną listę — naturalne dane wejściowe dla ekranu historii pacjenta.

Dla wszystkiego, czego nie obejmują filtry REST, użyj wyszukiwania FHIR: `GET /fhir/R4/Observation?patient=$PID&code=http://loinc.org|4548-4&_sort=-date` ([platforma FHIR](https://developers.anpheros.com/pl/guides/fhir)).

## Śledzenie i korygowanie danych

- **Kto napisał:** `GET /v1/patients/{id}/provenance/{type}/{resourceId}` — jedno wpisanie na wersję, z typem autora, projektem, organizacją i systemem źródłowym.
- **Każda wersja:** `GET /fhir/R4/{type}/{id}/_history`; aktualizuj za pomocą `If-Match`, aby uniknąć nadpisania zmian dokonanych przez kogoś innego.
- **Własność:** za zgodą możesz odczytywać dane napisane przez inne organizacje, ale zmieniaj lub usuwaj tylko te, które napisał Twój projekt (w przeciwnym razie `403`).
- **Usuwanie:** `DELETE /v1/{observations|conditions|medications}/{id}`; usunięcie `Patient` powoduje usunięcie całego rekordu.

## Dokumenty

Utwórz dokument (otrzymasz cel przesłania), prześlij bajty za pośrednictwem platformy lub bezpośrednio do pamięci masowej, a następnie zakończ. Po zakończeniu oryginał jest niezmienny; jego SHA-256 i rozmiar są rejestrowane. Do 25 MiB na plik.

## Powiązane

- [Jak normalizować dane medyczne](https://developers.anpheros.com/pl/guides/normalize-medical-data): kody, jednostki, daty, duplikaty, walidacja
- [Wyjaśnienie pochodzenia danych medycznych](https://developers.anpheros.com/pl/guides/medical-data-provenance): kto co napisał i jak to zarejestrować
- [API opieki zdrowotnej](https://developers.anpheros.com/pl/guides/healthcare-api)
- [Karta medyczna pacjenta](https://developers.anpheros.com/pl/guides/patient-medical-record)
- [Tworzenie aplikacji medycznej](https://developers.anpheros.com/pl/guides/build-a-healthcare-app)
- [Dokumentacja API (OpenAPI)](https://developers.anpheros.com/docs) · [Pierwsze kroki](https://developers.anpheros.com/pl/guides/getting-started)
