# Platforma FHIR: zarządzana usługa FHIR R4 z zgodą pacjenta

> Zarządzana platforma FHIR R4: 26 typów zasobów, wyszukiwanie, historia, transakcje, $everything, IPS, uruchamianie SMART testowane przez Inferno, zgoda i pochodzenie danych, plus proste API REST. Darmowy sandbox.

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

**Anpheros to platforma FHIR — zarządzana baza danych FHIR (magazyn danych), której aplikacje używają jako swojego zaplecza FHIR: przechowuje ona każdy rekord pacjenta natywnie jako zasoby HL7 FHIR R4 (4.0.1) i udostępnia je pod adresem `https://platform.anpheros.com/fhir/R4`,** z dodaną na wierzchu standardu zgodą, pochodzeniem danych i audytem. Aplikacje, które już obsługują FHIR, mogą z niej korzystać bezpośrednio; aplikacje, które tego nie robią, mogą używać prostszego API REST (`/v1`), które odczytuje i zapisuje te same zasoby z tymi samymi identyfikatorami.

Dla aplikacji AI sprawia to, że Anpheros jest zapleczem FHIR, z którego pochodzi kontekst modelu: zobacz [Aplikacje LLM i dane medyczne](https://developers.anpheros.com/pl/guides/llm-healthcare-data).

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

## Czym jest HL7 FHIR?

FHIR (Fast Healthcare Interoperability Resources) to standard HL7 do wymiany danych medycznych przez Internet. Definiuje on:

- **zasoby** — małe, typowane dokumenty JSON (lub XML) dla każdej koncepcji klinicznej: `Patient`, `Observation`, `Condition`, `MedicationStatement`;
- **odniesienia** między nimi (`"subject": {"reference": "Patient/123"}`), dzięki czemu rekord jest grafem zasobów wokół pacjenta;
- **REST API** do odczytu, wyszukiwania, tworzenia, aktualizacji i usuwania zasobów, ze standardowymi parametrami wyszukiwania;
- **paczki (bundles)** do wysyłania wielu zasobów naraz (transakcje) lub jako dokument (np. podsumowanie pacjenta);
- **powiązania terminologii**, dzięki czemu wartości niosą kody z systemów takich jak LOINC lub ICD-10;
- **profile** — ograniczenia dla danego przypadku użycia lub kraju, takie jak International Patient Summary.

R4 (wersja 4.0.1) jest obecnie najszerzej wdrażaną wersją. Używanie FHIR jako modelu przechowywania — nie tylko jako formatu eksportu — oznacza brak warstwy tłumaczenia między tym, co aplikacja zapisuje, a tym, co odczytuje inny system 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": "%"}
}
```

## Instrukcja możliwości

`GET /fhir/R4/metadata` zwraca instrukcję CapabilityStatement: obsługiwane typy zasobów, ich parametry wyszukiwania i operacje. Jest ona publiczna i stanowi autorytatywną listę; poniższa tabela odzwierciedla ją na dzień 28 września 2026 r.

## 26 typów zasobów

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

| Obszar | Typy zasobów |
|---|---|
| Pacjent i osoby | `Patient`, `RelatedPerson` |
| Pomiary i wyniki | `Observation` (parametry życiowe, badania laboratoryjne, objawy, samopoczucie, codzienna aktywność i sen), `DiagnosticReport` |
| Problemy i opieka | `Condition`, `EpisodeOfCare`, `Procedure`, `CarePlan`, `Goal`, `ServiceRequest`, `CareTeam`, `FamilyMemberHistory` |
| Leki i profilaktyka | `MedicationStatement`, `MedicationAdministration`, `Immunization`, `AllergyIntolerance` |
| Dokumenty i kwestionariusze | `DocumentReference`, `QuestionnaireResponse` |
| Wizyty | `Encounter`, `Appointment` |
| Katalog | `Organization`, `Practitioner`, `PractitionerRole` |
| Zarządzanie | `Consent`, `Provenance` |
| Punkt rozszerzeń | `Basic` |

Każdy typ w zakresie pacjenta należy do przedziału pacjenta, więc `Patient/{id}/$everything`, zakresy OAuth na poziomie pacjenta i filtry zgody mają zastosowanie do wszystkich z nich. Zasoby katalogu (`Organization`, `Practitioner`, `PractitionerRole`) nie mają pacjenta; są one czytelne we wszystkich projektach w tym samym środowisku i mogą być zmieniane tylko przez projekt, który je utworzył.

## Interakcje i operacje

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

- **Read, search, create, update, delete** dla każdego obsługiwanego typu; parametry wyszukiwania dla każdego typu są wymienione w CapabilityStatement. Nieznane parametry wyszukiwania są odrzucane z kodem `400` zamiast być cicho ignorowane.
- **History**: `GET /fhir/R4/{type}/{id}/_history` zwraca każdą wersję; aktualizacje mogą być warunkowe z `If-Match` (niezgodność wersji odpowiada `412`).
- **Transactions and batches**: `POST /fhir/R4` z `Bundle` typu `transaction` lub `batch`.
- **`Patient/{id}/$everything`**: cały zasób (compartment) jednego pacjenta.
- **`Patient/{id}/$summary`**: dokument International Patient Summary (IPS) `Bundle`, w języku angielskim lub rumuńskim (`?lang=`).
- **`Observation/$validate?profile=eu-lab`**: raportuje, jak wynik laboratoryjny odpowiada zasadom raportowania laboratoryjnego HL7 Europe.
- **Paging**: `_count` do 200; `_revinclude` zwraca co najwyżej 1 000 zasobów.
- **Idempotency**: `POST` requests akceptują `Idempotency-Key`; powtórzenie żądania z tym samym kluczem zwraca tę samą odpowiedź i niczego nie tworzy.

```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 i prostszy interfejs API REST

`/v1` istnieje dla deweloperów, którzy nie chcą pracować bezpośrednio z zasobami FHIR. Obejmuje on pacjentów, obserwacje, schorzenia, leki, dokumenty, chronologiczną oś czasu i pochodzenie danych, a także funkcje platformy (kontekst, import wyników badań laboratoryjnych, webhooks, terminologia). Każdy obiekt `/v1` zawiera odniesienie do `fhir`, dzięki czemu aplikacja może rozpocząć od `/v1` i przełączyć się na FHIR dla tych części, w których potrzebuje pełnego modelu.

## Standardy dotyczące FHIR

`$summary` generuje Międzynarodowy Podsumowanie Pacjenta (International Patient Summary) zweryfikowane za pomocą oficjalnego walidatora HL7 (0 błędów); wyniki laboratoryjne są sprawdzane zgodnie z europejskimi zasadami laboratoryjnymi HL7 (obecnie doradczymi); aplikacje stron trzecich łączą się za pomocą samodzielnego uruchomienia SMART on FHIR; wiadomości laboratoryjne HL7 v2 `ORU^R01` są akceptowane jako dane wejściowe. Formaty, poziomy i wzorce wymiany opisano w [Interoperacyjność danych medycznych](https://developers.anpheros.com/pl/guides/interoperability); systemy kodowania dla każdego typu zasobu w [Systemy kodowania FHIR](https://developers.anpheros.com/pl/guides/fhir-code-systems).

## Często zadawane pytania

### Czym jest platforma FHIR?
Usługa, która przechowuje dane medyczne jako zasoby HL7 FHIR i udostępnia je za pośrednictwem standardowego API REST FHIR, dodając to, czego aplikacje potrzebują wokół standardu: autoryzację, zgodę, audyt, historię i operacje takie jak `$everything` i `$summary`. Anpheros to zarządzana platforma FHIR R4: wywołujesz ją zamiast uruchamiać serwer FHIR.

### Jaka jest różnica między serwerem FHIR a platformą FHIR?
Serwer FHIR implementuje API FHIR nad bazą danych. Platforma FHIR uruchamia je za Ciebie i dodaje warstwę wokół niego — zgodę pacjenta, pochodzenie danych, logi dostępu, SDK, webhooki, import danych laboratoryjnych i piaskownicę — dzięki czemu aplikacje nie muszą budować tych części.

### Którą wersję FHIR obsługuje Anpheros?
FHIR R4 (4.0.1), z 26 typami zasobów wymienionymi w publicznym CapabilityStatement pod adresem `/fhir/R4/metadata`.

### Czy platforma Anpheros FHIR jest testowana niezależnie?
Grupa "Standalone Launch" SMART App Launch STU2 w ramach zestawu testowego open-source Inferno przechodzi 22 z 22 testów (stan na 28 września 2026 r.), a International Patient Summary waliduje z 0 błędami w oficjalnym walidatorze HL7. Uruchamianie EHR i eksport danych zbiorczych nie są jeszcze obsługiwane.

### Czy mogę korzystać z platformy FHIR za darmo?
Tak. Piaskownica jest bezpłatna i zawiera 30 syntetycznych pacjentów na projekt; produkcja zaczyna się od 99 € miesięcznie z pierwszym miesiącem gratis.

### Czy muszę używać FHIR, aby korzystać z Anpheros?
Nie. Prostsze API REST (`/v1`) odczytuje i zapisuje te same zasoby z tymi samymi identyfikatorami, dzięki czemu aplikacja może zacząć od płaskiego JSON i przełączyć się na FHIR tam, gdzie potrzebuje pełnego modelu.

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

## Powiązane

- [Piaskownica FHIR](https://developers.anpheros.com/pl/guides/fhir-sandbox): darmowy, prywatny serwer testowy FHIR R4
- [Międzynarodowy Podsumowanie Pacjenta (IPS) w FHIR](https://developers.anpheros.com/pl/guides/international-patient-summary-fhir)
- [Pochodzenie danych medycznych wyjaśnione](https://developers.anpheros.com/pl/guides/medical-data-provenance): kto co napisał i jak to zarejestrować
- [Jak przechowywać dokumentację medyczną przy użyciu FHIR R4](https://developers.anpheros.com/pl/guides/store-medical-records-fhir): samouczek krok po kroku z curl
- [FHIR vs. niestandardowa baza danych medycznych](https://developers.anpheros.com/pl/guides/fhir-vs-custom-database): kiedy projektować własne tabele, a kiedy używać FHIR
- [Darmowa baza danych i piaskownica FHIR](https://developers.anpheros.com/pl/guides/free-fhir-database)
- [Jak Anpheros wypada na tle innych serwerów FHIR](https://developers.anpheros.com/pl/guides/fhir-server-comparison)
- [Interoperacyjność danych w opiece zdrowotnej](https://developers.anpheros.com/pl/guides/interoperability)
- [Systemy kodowania FHIR](https://developers.anpheros.com/pl/guides/fhir-code-systems)
- [API danych medycznych](https://developers.anpheros.com/pl/guides/medical-data-api)
- [Zbuduj aplikację opieki zdrowotnej](https://developers.anpheros.com/pl/guides/build-a-healthcare-app)
- [Dokumentacja API (OpenAPI)](https://developers.anpheros.com/docs)
- [DICOM vs FHIR](https://developers.anpheros.com/pl/guides/dicom-vs-fhir): gdzie kończy się FHIR, a zaczyna obrazowanie medyczne
