# Infrastruktura cyfrowych kart medycznych

> Infrastruktura, której potrzebuje cyfrowa karta medyczna — struktura, historia, dokumenty, izolacja, zgoda, audyt, wymiana — i dlaczego jest ona oddzielona od aplikacji skierowanej do pacjenta.

Source: https://developers.anpheros.com/pl/guides/digital-medical-record

**Cyfrowa karta medyczna potrzebuje dwóch różnych rzeczy: aplikacji skierowanej do pacjenta, z której ludzie korzystają na co dzień, oraz infrastruktury bazowej, która przechowuje, chroni i udostępnia kartę.** Anpheros zapewnia to drugie: przechowywanie, wersjonowanie, tożsamość, zgodę, audyt i wymianę karty, za pośrednictwem API. Aplikacją skierowaną do pacjenta może być Anpheros Daily lub aplikacja, którą zbudujesz.

## Aplikacja a infrastruktura

| | Aplikacja skierowana do pacjenta | Infrastruktura danych medycznych |
|---|---|---|
| Czym jest | ekrany, powiadomienia, przypomnienia, wykresy, asystent | sam rekord i zasady z nim związane |
| Częste zmiany | tak — projekt, funkcje, platformy | rzadko — musi pozostać stabilna i kompatybilna |
| Przykłady pracy | dziennik objawów, przypomnienie o lekach, kalendarz rodzinny | magazyn FHIR, historia wersji, zgoda, pochodzenie, audyt, import wyników laboratoryjnych, webhooks |
| W Anpheros | Anpheros Daily (Android, macOS, web) | Anpheros Platform (`platform.anpheros.com`) |

Rozdzielenie ich pozwala rekordowi przetrwać każdą pojedynczą aplikację i być udostępnianym między kilkoma. Anpheros Daily stosuje ten podział: to, co użytkownicy zapisują w aplikacji, jest zapisywane na platformie za pośrednictwem tego samego publicznego API, z którego korzysta każda inna aplikacja, dzięki czemu jest dostępne — za zgodą pacjenta — dla innych aplikacji w tej samej formie FHIR.

## Co musi zapewniać infrastruktura

### Struktura
Rekord jest użyteczny tylko wtedy, gdy inne oprogramowanie może go zrozumieć. Anpheros przechowuje go jako zasoby HL7 FHIR R4 — 26 typów — ze standardowymi kodami (LOINC, ICD-10, ATC, UCUM) i zachowuje oryginalny tekst obok każdego kodu. [Platforma FHIR](https://developers.anpheros.com/pl/guides/fhir)

### Historia
Dane medyczne są poprawiane, a nie nadpisywane. Każda aktualizacja tworzy nową wersję, dostępną do odczytu przez `/fhir/R4/{type}/{id}/_history`; aktualizacje warunkowe z `If-Match` zapobiegają wzajemnemu nadpisywaniu danych przez dwóch autorów (nieaktualna wersja odpowiada `412`).

### Dokumenty
Skanowanie i pliki PDF są przechowywane jako `DocumentReference` z oryginalnym plikiem: przesyłane przez platformę lub bezpośrednio do pamięci masowej, a następnie finalizowane za pomocą sumy kontrolnej SHA-256 i rozmiaru. Po finalizacji oryginału nie można zmienić; wartości z niego wyodrębnione wskazują na niego (`derived_from`). Pliki są przechowywane w unijnym zasobniku pamięci masowej, zaszyfrowanym kluczem zarządzanym przez klienta, każdy do 25 MiB.

### Tożsamość i izolacja
Każda aplikacja działa w ramach projektu i widzi tylko własnych pacjentów (plus tych, którzy udzielili jej dostępu), pod własnymi identyfikatorami parzystymi. Rekord poza jej zasięgiem dla niej nie istnieje (`404`).

### Zgoda
Pacjent udziela aplikacji dostępu na określony czas (30–365 dni), do określonych typów zasobów i akcji, opcjonalnie ograniczonych do kategorii. Zgody są odzwierciedlone jako zasoby FHIR `Consent` i mogą być cofnięte w dowolnym momencie. [Model zgody i dostępu](https://developers.anpheros.com/pl/guides/consent)

### Pochodzenie i audyt
Każde zapisanie rejestruje, kto je zapisał (pacjent, lekarz, urządzenie, import lub AI), dla jakiej organizacji i z jakiego systemu. Każde odczytanie jest rejestrowane i pokazywane pacjentowi według aplikacji.

### Wymiana
Rekord może być wyeksportowany w całości (`Patient/$everything`), podsumowany w formacie International Patient Summary (`Patient/$summary`), zasilany przez laboratoria (CSV, HL7 v2 ORU^R01, JSON) i monitorowany za pomocą podpisanych webhooków. [Integracje opieki zdrowotnej](https://developers.anpheros.com/pl/guides/healthcare-integrations)

### Rezydencja i usuwanie
Dane są przechowywane i przetwarzane w Unii Europejskiej. Usunięcie pacjenta usuwa wszystkie zasoby rekordu.

## Tworzenie własnej aplikacji dla pacjenta

Jeśli tworzysz warstwę aplikacji, możesz skupić się na doświadczeniu użytkownika, a Anpheros wykorzystać do przechowywania danych:

1. utwórz pacjenta dla każdego użytkownika (`POST /v1/patients`) lub poproś istniejącego użytkownika Anpheros o zgodę;
2. zapisz dane wprowadzane przez użytkownika (`/v1/patients/{id}/observations`, `/conditions`, `/medications`, `/documents`);
3. odczytaj je jako listy lub oś czasu (`/v1/patients/{id}/timeline`);
4. subskrybuj webhooki, aby odświeżać ekrany, gdy laboratorium lub przychodnia coś doda.

Pełny przewodnik znajduje się w [Zbuduj aplikację medyczną](https://developers.anpheros.com/pl/guides/build-a-healthcare-app).

## Powiązane tematy

- [Dokumentacja medyczna pacjenta](https://developers.anpheros.com/pl/guides/patient-medical-record)
- [Backend i baza danych aplikacji medycznej](https://developers.anpheros.com/pl/guides/medical-app-backend)
- [Bezpieczeństwo, prywatność i rezydencja danych](https://developers.anpheros.com/pl/guides/security)
- [Infrastruktura danych medycznych](https://developers.anpheros.com/pl/guides/medical-data-infrastructure)
