AnpherosAnpheros PlatformDevelopers

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

SDK

Klient Dart / Flutter (anpheros_sdk) i TypeScript (@anpheros/sdk): ten sam kształt, tworzenie idempotentne, ponawianie prób, odświeżanie tokenów i przepływ zgody.

Oficjalne biblioteki klienckie dla FHIR R4 API w służbie zdrowia z darmowym piaskownicą FHIR: pacjenci, obserwacje, wyniki badań laboratoryjnych, schorzenia, leki, Międzynarodowy Podsumowanie Pacjenta, zgoda pacjenta i kontekst AI, w TypeScript i Dart / Flutter.

Anpheros to interoperacyjna infrastruktura danych medycznych do tworzenia aplikacji medycznych, oprogramowania medycznego i usług AI. Każdy pacjent ma jeden rekord HL7 FHIR R4, którym zarządza; aplikacje, kliniki, laboratoria i agenci AI odczytują i zapisują go za pośrednictwem Anpheros Platform API — za zgodą pacjenta (OAuth 2.1 / SMART on FHIR), z informacją o pochodzeniu przy każdym zapisie i dziennikiem dostępu, który pacjent może przeglądać. Ten repozytorium zawiera oficjalne biblioteki klienckie i przykłady do uruchomienia.

Język Pakiet Instalacja Źródło
Dart / Flutter anpheros_sdk dart pub add anpheros_sdk dart/anpheros_sdk
TypeScript (Node 18+, przeglądarki, Deno, Bun) @anpheros/sdk npm install @anpheros/sdk ts

Szybki start w 2 minuty

  1. Uzyskaj darmowy klucz sandboxowy: zaloguj się na pulpicie nawigacyjnym i naciśnij Get a sandbox key (sk_test_…). Twój sandbox zawiera 30 syntetycznych pacjentów.
  2. Sprawdź, czy działa:

bash curl -H "Authorization: Bearer $ANPHEROS_KEY" "https://platform.anpheros.com/fhir/R4/Patient?_count=3"

  1. Zainstaluj SDK i odczytaj rekord: npm install @anpheros/sdk lub dart pub add anpheros_sdk, a następnie uruchom kod w sekcji Connect lub sklonuj quickstart-ts.

Dla kogo jest przeznaczony

Dla deweloperów tworzących aplikacje zdrowotne dla pacjentów i ich rodzin, zaplecza aplikacji medycznych, integracje kliniczne i laboratoryjne oraz asystentów lub agentów AI, którzy potrzebują ustrukturyzowanego kontekstu medycznego pacjenta – bez konieczności tworzenia od podstaw bazy danych medycznych, systemu zgód i ścieżki audytu.

Uzyskaj klucz sandbox

Sandbox jest bezpłatny i dostępny samoobsługowo. Zaloguj się za pomocą Google na dashboard i naciśnij Get a sandbox key: natychmiast otrzymasz projekt sandbox i klucz. Każdy projekt sandbox zawiera 30 syntetycznych pacjentów — sześć miesięcy historii chorób, leków, alergii, wyników laboratoryjnych i parametrów życiowych — które możesz dowolnie modyfikować i resetować w dowolnym momencie. Klucze sandbox (sk_test_…) nigdy nie uzyskują dostępu do rzeczywistych danych pacjentów.

Po przejściu na produkcję, środowisko produkcyjne jest przeznaczone dla zweryfikowanych organizacji z umową o przetwarzaniu danych, a produkcja zaczyna się od 99 € miesięcznie z pierwszym miesiącem bezpłatnie (pricing).

Połączenie

import { Anpheros, apiKey } from '@anpheros/sdk';

const anpheros = new Anpheros({ auth: apiKey(process.env.ANPHEROS_KEY!) });   // sk_test_… in the sandbox
const { data: patients } = await anpheros.patients.list();
const labs = await anpheros.observations.list(patients[0].id, { category: 'laboratory', limit: 10 });
const ctx = await anpheros.context.build({ patient: patients[0].id, task: 'weekly check-in', budget_tokens: 1500, format: 'text' });
import 'package:anpheros_sdk/anpheros_sdk.dart';

final anpheros = Anpheros(auth: AnpherosAuth.apiKey('sk_test_…'));
final patients = await anpheros.patients.list();
final labs = await anpheros.observations.list(patients.data.first.id, category: 'laboratory', limit: 10);

Klucze API należą do serwerów. Aplikacja działająca w imieniu osoby korzysta zamiast tego z OAuth: oba zestawy SDK implementują przepływ zgody (kod autoryzacji + PKCE) i automatycznie odświeżają tokeny.

Zakres pakietów SDK

Oba pakiety obejmują całą publiczną powierzchnię (/v1, /fhir/R4, /oauth/token, /oauth/revoke) o tym samym kształcie: patients, observations, conditions, medications, documents, timeline, provenance, context, grants, terminology i surowe fhir. Test kończy się niepowodzeniem kompilacji, gdy publiczna trasa jest pominięta w jednym z pakietów SDK lub gdy pakiet SDK wywołuje trasę, której serwer nie posiada.

Oba pakiety SDK: automatyczne Idempotency-Key przy tworzeniu, ponawianie prób z wycofywaniem przy błędach 429/5xx, jedno odświeżenie tokenu przy błędzie 401, typowane błędy z identyfikatorem żądania, pomoc w PKCE i przepływ zgody.

Dane medyczne i FHIR

Rekord składa się ze standardowych zasobów FHIR R4 — 26 typów, w tym Observation, Condition, MedicationStatement, DocumentReference, Immunization i AllergyIntolerance — zakodowanych za pomocą LOINC, ICD-10, ATC i UCUM. REST API (/v1) i FHIR API (/fhir/R4) odczytują i zapisują te same zasoby z tymi samymi identyfikatorami; fhir w obu SDK zapewnia surowy dostęp do FHIR (wyszukiwanie, transakcje, $everything, $summary, $validate).

Przykłady

Przykład Pokazuje
quickstart-ts zapis i odczyt rekordu: pomiary, wynik laboratoryjny, diagnoza, lek, oś czasu, wyszukiwanie FHIR, IPS, kontekst AI
quickstart-dart to samo z Dart / Flutter
consent-app-ts aplikacja internetowa, która prosi o zgodę (OAuth 2.1 + PKCE) i odczytuje rekord osoby
ai-context-llm pytanie dotyczące rekordu, na które odpowiada wybrany model (lokalny lub hostowany)
fhir-transaction pakiet transakcyjny FHIR R4 i wynikowe International Patient Summary

Przykłady działają na darmowym środowisku sandbox, gdzie każdy projekt sandbox ma własnych 30 syntetycznych pacjentów — zobacz Uzyskaj klucz sandbox.

Powiązane repozytoria

Repozytorium Opis
fhir-api-openapi Specyfikacja OpenAPI 3.1 i kolekcja Postman API
mcp-server Hostowany serwer FHIR MCP dla agentów AI: konfiguracje dla Claude, Cursor, VS Code
agent-skills Umiejętności agenta, wtyczka Claude Code, reguły Cursor i AGENTS.md
fhir-synthetic-patients 30 syntetycznych pacjentów jako pakiety FHIR R4 i NDJSON
ips-examples Dokumenty International Patient Summary w FHIR R4
fhir-validate-action Akcja GitHub, która waliduje FHIR R4 JSON w CI
lab-results-to-fhir CLI: raporty laboratoryjne CSV / HL7 v2 → obserwacje FHIR
healthcare-app-starters Szablony aplikacji zdrowotnych Next.js i Flutter

Zgodność

Surowe wyniki testów, opublikowane w celu ich weryfikacji (wyniki testów, nie certyfikaty): conformance/. W dniu 28 września 2026 roku grupa Standalone Launch zestawu testowego Inferno SMART App Launch STU2 (v1.0.3) przeszła 22 z 22 testów na platformie. Uruchomienie EHR nie jest obsługiwane.

Dokumentacja

Problemy i bezpieczeństwo

Zgłaszaj błędy w issues tego repozytorium. Nigdy nie umieszczaj kluczy API, tokenów ani danych pacjentów w zgłoszeniu. Zgłoszenia dotyczące bezpieczeństwa: [email protected].

Licencja

Apache License 2.0 — patrz plik LICENSE każdego pakietu. Copyright 2026 Anpheros.

@anpheros/sdk

Klient TypeScript dla Anpheros Platform: rekord zdrowia pacjenta zgodny ze standardem FHIR R4, izolacja projektów, zgoda pacjenta (OAuth 2.1 / SMART on FHIR), śledzenie pochodzenia przy każdej operacji zapisu oraz API kontekstu AI. Działa wszędzie tam, gdzie fetch (Node 18+, przeglądarki, Deno, Bun).

import { Anpheros, apiKey } from '@anpheros/sdk';

const anpheros = new Anpheros({ auth: apiKey(process.env.ANPHEROS_KEY!) });
const { data: patients } = await anpheros.patients.list();
const labs = await anpheros.observations.list(patients[0].id, { category: 'laboratory', limit: 10 });
const ctx = await anpheros.context.build({ patient: patients[0].id, task: 'weekly check-in', budget_tokens: 1500, format: 'text' });

Działanie w imieniu osoby:

import { OAuthFlow, OAuthAuth, generatePkce } from '@anpheros/sdk';

const flow = new OAuthFlow({ baseUrl: BASE, clientId: 'client_…', redirectUri: 'https://myapp.example/callback' });
const pkce = await generatePkce();
location.href = flow.authorizeUrl({ scopes: ['patient/Observation.rs?category=laboratory', 'offline_access'], state, pkce, lang: 'ro' });
// on the callback:
const tokens = await flow.exchange(code, pkce);
const anpheros = new Anpheros({ auth: new OAuthAuth({ tokens, onRefresh: flow.refresh, onTokens: persist }) });

Błędy są AnpherosError (status, type, message, field, requestId). Tworzenie wysyła Idempotency-Key; błędy 429/5xx są ponawiane; wygasłe tokeny są odświeżane raz, a wywołanie ponawiane.

anpheros_sdk

Klient Dart / Flutter dla Anpheros Platform: backend danych medycznych z rekordem FHIR R4 na pacjenta, izolacją projektów, zgodą pacjenta (OAuth 2.1 / SMART on FHIR), śledzeniem pochodzenia każdego zapisu i API kontekstu AI.

import 'package:anpheros_sdk/anpheros_sdk.dart';

final anpheros = Anpheros(auth: AnpherosAuth.apiKey('sk_test_…'));      // server / sandbox

final patients = await anpheros.patients.list();
final elena = patients.data.first;
final labs = await anpheros.observations.list(elena.id, category: 'laboratory', limit: 10);
final ctx = await anpheros.context.build(ContextRequest(patient: elena.id, task: 'weekly check-in', budgetTokens: 1500));

Działanie w imieniu osoby (aplikacje)

final flow = OAuthFlow(baseUrl: 'https://…', clientId: 'client_…', redirectUri: 'myapp://callback');
final pkce = Pkce.generate();
final url = flow.authorizeUrl(scopes: ['patient/Observation.rs?category=laboratory', 'patient/MedicationStatement.r', 'offline_access'],
                              state: 'abc', pkce: pkce, lang: 'ro');
// open `url`; on return with ?code=…:
final tokens = await flow.exchange(code: code, pkce: pkce);
final anpheros = Anpheros(auth: AnpherosAuth.oauth(
  accessToken: tokens.accessToken, refreshToken: tokens.refreshToken, expiresAt: tokens.expiresAt,
  onRefresh: flow.refresh, onTokens: persist));
final meds = await anpheros.medications.listMedications(tokens.patient!);

Każdy obiekt zawiera fhir (jego referencję /fhir/R4); anpheros.fhir zapewnia surowy dostęp do FHIR (odczyt, wyszukiwanie, tworzenie, transakcja, $everything, $summary, $validate).

Błędy są AnpherosException z status, type, message, field i requestId. Tworzenie automatycznie wysyła Idempotency-Key; błędy 429/5xx są ponawiane z wycofaniem (backoff); wygasłe tokeny OAuth są odświeżane raz, a wywołanie jest ponawiane.

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

Product updates by email

New features, guides and the end of the beta. One email a month at most.

Send me occasional Anpheros Platform updates by email (new features, API changes, guides). I'll confirm by email and can unsubscribe in one click from any email. Privacy