Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
Architektura aplikacji medycznej
Diagramy i przepływy danych: pacjent do aplikacji do Anpheros API do rekordu FHIR i usług zewnętrznych, oraz agent AI do API kontekstu do autoryzowanych danych.
Anpheros to warstwa danych medycznych pomiędzy Twoją aplikacją (lub agentem AI) a rekordem pacjenta. Twoja aplikacja zachowuje własny interfejs użytkownika i logikę biznesową; rekord medyczny, zgody, pochodzenie danych i audyt znajdują się w Anpheros i są dostępne poprzez jedno API.
Your application, backend or AI agent
(mobile app, web app, clinic system, lab system, LLM-based assistant)
│ HTTPS · API key (sk_test_ / sk_live_) or OAuth token (at_…)
▼
Anpheros Platform API
├─ /v1 simplified REST: patients, observations, conditions, medications,
│ documents, timeline, provenance, context, labs, webhooks
├─ /fhir/R4 strict FHIR R4: 26 resource types, search, history, transactions,
│ $everything, $summary (IPS), $validate
└─ /oauth OAuth 2.1 + PKCE, SMART on FHIR, OpenID Connect
│ every request: project isolation · scopes · rate limits
▼
One FHIR R4 record per patient
├─ versions of every resource (history) ├─ Provenance for every write
├─ Consent resources for every grant └─ access log visible to the patient
│
▼
Events out: signed webhooks to your server (ids only, never clinical content)
Widok pacjenta: od osoby do usług zewnętrznych
Patient
↓ uses an app, chooses what to share, sees every access
Healthcare application Anpheros Daily, or your own app
↓ REST v1 / FHIR R4 over HTTPS, API key or OAuth token
Anpheros API
↓ isolation, scopes, idempotency, provenance
FHIR medical data the patient's record: 26 resource types, every version kept
↓ only what the patient allowed, only for as long as allowed
External healthcare services laboratories (lab import), clinics (directory, acting-as),
other apps (OAuth / SMART), your backend (webhooks)
Widok AI: od agenta do autoryzowanych danych
AI agent or LLM application runs the model you choose — hosted or local
↓ POST /v1/context {patient, task, question, budget_tokens}
Medical context API plans which parts of the record matter, fits them into the budget,
↓ labels every item with author type and source, records a manifest
Authorised medical data only records the project created or the patient granted;
the read appears in the patient's access log
Model nigdy nie otrzymuje poświadczeń i nigdy sam nie wywołuje Anpheros; Twoja aplikacja żąda kontekstu i decyduje, co wysłać do modelu. Dwa kompletne przykłady z wywołaniami API: aplikacja AI w służbie zdrowia w Aplikacje AI w służbie zdrowia i agent za zgodą w Agenci AI i dane medyczne. Szczegóły: Agenci AI i dane medyczne, Aplikacje LLM i dane dotyczące opieki zdrowotnej.
Rekord
Każdy pacjent ma jeden rekord składający się z zasobów FHIR R4: Observation dla parametrów życiowych, wyników badań laboratoryjnych, objawów i podsumowań codziennej aktywności, Condition i EpisodeOfCare, MedicationStatement i MedicationAdministration, DocumentReference, Immunization, AllergyIntolerance i innych — łącznie 26 typów, wymienionych na żywo w CapabilityStatement (GET /fhir/R4/metadata). Nie ma potrzeby uczenia się własnościowego schematu: REST API jest uproszczonym widokiem tych samych zasobów, z tymi samymi identyfikatorami.
Nic nie jest nadpisywane bez powiadomienia. Każda aktualizacja tworzy nową wersję (/fhir/R4/{type}/{id}/_history), a każda wersja rejestruje projekt, który ją zapisał, oraz organizację, w imieniu której została zapisana.
Dwie drogi dostępu
| Klucz API | Token dostępu OAuth | |
|---|---|---|
| Wygląda jak | sk_test_… / sk_live_… |
at_… |
| Używane przez | Twój serwer | Aplikację działającą w imieniu jednego pacjenta |
| Widzi | Pacjentów utworzonych przez Twój projekt | Dokładnie jednego pacjenta, w zakresie uprawnień przyznanych przez pacjenta |
| Typowe zastosowanie | Backend Twojej własnej aplikacji, system laboratoryjny, integracja kliniczna | Aplikacja zewnętrzna lub asystent AI uzyskujący dostęp do rekordu, który pacjent już posiada |
Projekt nigdy nie widzi pacjentów innego projektu, chyba że pacjent udzieli dostępu. Każdy projekt otrzymuje własny identyfikator dla tej samej osoby (identyfikatory parami), dzięki czemu identyfikatory nie mogą być korelowane między aplikacjami, a rekord poza Twoim zasięgiem odpowiada 404, nigdy 403.
Dwa środowiska
Środowisko piaskownicy (sandbox) i produkcyjne to oddzielne bazy danych. Klucz piaskownicy (sk_test_) fizycznie nie ma dostępu do prawdziwych pacjentów; każdy projekt w piaskownicy otrzymuje własną kopię 30 syntetycznych pacjentów, którą może dowolnie modyfikować i resetować. Klucze produkcyjne (sk_live_) są wydawane zweryfikowanym organizacjom.
Przepływy danych
Twoja aplikacja zapisuje. POST /v1/patients/{id}/observations za pomocą Idempotency-Key. Platforma przechowuje Observation FHIR, zapisuje Provenance (typ autora: pacjent, praktyk, urządzenie, import lub AI), loguje dostęp i wysyła webhook resource.created do subskrybowanych punktów końcowych.
Inna aplikacja odczytuje za zgodą. Pacjent zatwierdza ją na hostowanej stronie zgody (/oauth/authorize), wybierając rekord i czas trwania (30–365 dni). Aplikacja wymienia kod na tokeny i odczytuje tylko to, na co pozwalają zakresy (scopes). Pacjent widzi aplikację, jej zakresy i każde odczytanie w swoim dzienniku dostępu i może je w dowolnym momencie odwołać.
Laboratorium dostarcza wyniki. POST /v1/patients/{id}/labs/import z raportem w formacie CSV, HL7 v2 ORU^R01 lub JSON; każdy wynik staje się wynikiem laboratoryjnym Observation z kodami LOINC, jeśli są znane, a ponowne wysłanie tego samego raportu jest bezpieczne.
Model AI potrzebuje kontekstu. POST /v1/context zwraca części rekordu istotne dla zadania, w ramach budżetu tokenów, każdy element oznaczony źródłem; wywołanie jest rejestrowane z identyfikatorem manifestu. Sam model działa tam, gdzie wybierzesz.
Gdzie Anpheros wypada w porównaniu z budowaniem własnego rozwiązania
| Zagadnienie | Budowanie własnego rozwiązania | Z Anpheros |
|---|---|---|
| Model danych medycznych | projektowanie tabel dla każdego rodzaju rekordu | zasoby FHIR R4, 26 typów |
| Interoperacyjność | niestandardowe formaty eksportu | FHIR R4, International Patient Summary, SMART on FHIR |
| Zgoda | budowanie logiki przyznawania, zakresu, wygaśnięcia i cofania | granty OAuth 2.1 odzwierciedlone jako FHIR Consent |
| Audyt | budowanie logowania i sposobu jego prezentacji pacjentom | każde odczytanie i zapis są logowane i widoczne dla pacjenta |
| Integracja z laboratorium | parsowanie formatu każdego laboratorium | import CSV, HL7 v2 ORU i JSON |
| Kontekst AI | pisanie kodu pobierania i podsumowywania | API kontekstu z budżetem tokenów i etykietami pochodzenia |
Powiązane tematy
- Czym jest Anpheros?
- Tworzenie oprogramowania dla branży medycznej
- Backend i baza danych aplikacji medycznych
- Tworzenie aplikacji medycznej
- Model zgody i dostępu
- Bezpieczeństwo, prywatność i lokalizacja danych
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card