Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
SDKs
Die Dart / Flutter (anpheros_sdk) und TypeScript (@anpheros/sdk) Clients: gleiche Struktur, idempotente Creates, Wiederholungsversuche, Token-Aktualisierung und der Zustimmungsfluss.
Offizielle Client-Bibliotheken für eine FHIR R4 Healthcare API mit einer kostenlosen FHIR Sandbox: Patienten, Beobachtungen, Laborergebnisse, Zustände, Medikamente, International Patient Summary, Patientenzustimmung und KI-Kontext, in TypeScript und Dart / Flutter.
Anpheros ist eine interoperable medizinische Dateninfrastruktur zum Erstellen von Healthcare-Anwendungen, medizinischer Software und KI-Diensten. Jeder Patient hat einen HL7 FHIR R4 Datensatz, den er kontrolliert; Anwendungen, Kliniken, Labore und KI-Agenten lesen und schreiben ihn über die Anpheros Platform API – mit Patientenzustimmung (OAuth 2.1 / SMART on FHIR), Provenienz bei jedem Schreibvorgang und einem Zugriffsprotokoll, das der Patient einsehen kann. Dieses Repository enthält die offiziellen Client-Bibliotheken und ausführbare Beispiele.
| Sprache | Paket | Installation | Quelle |
|---|---|---|---|
| Dart / Flutter | anpheros_sdk |
dart pub add anpheros_sdk |
dart/anpheros_sdk |
| TypeScript (Node 18+, Browser, Deno, Bun) | @anpheros/sdk |
npm install @anpheros/sdk |
ts |
Schnelleinstieg in 2 Minuten
- Holen Sie sich einen kostenlosen Sandbox-Schlüssel: Melden Sie sich auf dem Dashboard an und klicken Sie auf Sandbox-Schlüssel erhalten (
sk_test_…). Ihre Sandbox enthält 30 synthetische Patienten. - Überprüfen Sie die Funktionsfähigkeit:
bash
curl -H "Authorization: Bearer $ANPHEROS_KEY" "https://platform.anpheros.com/fhir/R4/Patient?_count=3"
- Installieren Sie ein SDK und lesen Sie einen Datensatz:
npm install @anpheros/sdkoderdart pub add anpheros_sdk, führen Sie dann den Code unter Verbinden aus oder klonen Sie quickstart-ts.
Für wen ist das gedacht
Entwickler, die Apps für Patienten und Angehörige, medizinische App-Backends, Klinik- und Laborintegrationen sowie KI-Assistenten oder -Agenten erstellen, die den strukturierten medizinischen Kontext eines Patienten benötigen – ohne eine medizinische Datenbank, ein Zustimmungssystem und eine Audit-Trail von Grund auf neu entwerfen zu müssen.
Sandbox-Schlüssel erhalten
Die Sandbox ist kostenlos und self-service. Melden Sie sich mit Google auf dem Dashboard an und klicken Sie auf Sandbox-Schlüssel erhalten: Sie erhalten sofort ein Sandbox-Projekt und einen Schlüssel. Jedes Sandbox-Projekt enthält 30 synthetische Patienten – sechs Monate an Bedingungen, Medikamenten, Allergien, Laborergebnissen und Vitalwerten –, die Sie jederzeit frei ändern und zurücksetzen können. Sandbox-Schlüssel (sk_test_…) greifen niemals auf echte Patientendaten zu.
Wenn Sie live gehen, ist die Produktion für verifizierte Organisationen mit einer Datenverarbeitungsvereinbarung vorgesehen und beginnt bei 99 € pro Monat, wobei der erste Monat kostenlos ist (Preise).
Verbinden
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);
API-Schlüssel gehören auf Server. Eine App, die im Auftrag einer Person handelt, verwendet stattdessen OAuth: Beide SDKs implementieren den Consent-Flow (Authorization Code + PKCE) und aktualisieren Tokens automatisch.
Was die SDKs abdecken
Beide decken die gesamte öffentliche Oberfläche (/v1, /fhir/R4, /oauth/token, /oauth/revoke) mit der
gleichen Struktur ab: patients, observations, conditions, medications, documents, timeline,
provenance, context, grants, terminology und rohe fhir. Ein Test schlägt den
Build fehl, wenn eine öffentliche Route in einem der SDKs fehlt oder wenn ein SDK eine Route aufruft, die der Server nicht hat.
Beide SDKs: automatisches Idempotency-Key bei Erstellungen, Wiederholungsversuche mit Backoff bei 429/5xx, ein Token-Refresh bei 401, typisierte Fehler mit der Request ID, PKCE-Helfer und der Consent Flow.
Medizinische Daten und FHIR
Der Datensatz besteht aus Standard-FHIR-R4-Ressourcen – 26 Typen, darunter Observation, Condition, MedicationStatement, DocumentReference, Immunization und AllergyIntolerance – kodiert mit LOINC, ICD-10, ATC und UCUM. Die REST API (/v1) und die FHIR API (/fhir/R4) lesen und schreiben dieselben Ressourcen mit denselben IDs; fhir in beiden SDKs ermöglicht den direkten FHIR-Zugriff (Suche, Transaktionen, $everything, $summary, $validate).
Beispiele
| Beispiel | Zeigt |
|---|---|
| quickstart-ts | Schreiben und Lesen eines Datensatzes: Messungen, Laborergebnis, Diagnose, Medikament, Zeitachse, FHIR-Suche, IPS, KI-Kontext |
| quickstart-dart | dasselbe aus Dart / Flutter |
| consent-app-ts | eine Web-App, die um Zustimmung bittet (OAuth 2.1 + PKCE) und den Datensatz der Person liest |
| ai-context-llm | eine Frage zu einem Datensatz, beantwortet von einem Modell Ihrer Wahl (lokal oder gehostet) |
| fhir-transaction | ein FHIR R4 Transaktionsbundle und die daraus resultierende International Patient Summary |
Die Beispiele laufen gegen die kostenlose Sandbox, wobei jedes Sandbox-Projekt seine eigenen 30 synthetischen Patienten hat – siehe Sandbox-Schlüssel erhalten.
Verwandte Repositories
| Repository | Was es ist |
|---|---|
| fhir-api-openapi | OpenAPI 3.1 Spec und Postman Collection der API |
| mcp-server | der gehostete FHIR MCP Server für KI-Agenten: Konfigurationen für Claude, Cursor, VS Code |
| agent-skills | Agent Skill, Claude Code Plugin, Cursor Rules und AGENTS.md |
| fhir-synthetic-patients | die 30 synthetischen Patienten als FHIR R4 Bundles und NDJSON |
| ips-examples | International Patient Summary Dokumente in FHIR R4 |
| fhir-validate-action | GitHub Action, die FHIR R4 JSON in CI validiert |
| lab-results-to-fhir | CLI: CSV / HL7 v2 Laborberichte → FHIR Observations |
| healthcare-app-starters | Next.js und Flutter Health App Vorlagen |
Konformität
Rohe Testergebnisse, veröffentlicht zur Überprüfung (Testergebnisse, keine Zertifizierungen): conformance/. Am 28. September 2026 bestand die Standalone Launch-Gruppe des Inferno SMART App Launch STU2 Testkits (v1.0.3) 22 von 22 Tests gegen die Plattform. EHR-Launch wird nicht unterstützt.
Dokumentation
- Entwicklerhandbücher
- Erste Schritte
- FHIR-Sandbox
- Healthcare API
- Healthcare API-Plattform
- FHIR-Plattform
- SDK-Handbuch
- API-Referenz (OpenAPI)
- Für KI-Assistenten
- Anpheros
Probleme und Sicherheit
Melden Sie Fehler im Issues-Bereich dieses Repositories. Fügen Sie niemals API-Schlüssel, Token oder Patientendaten in ein Issue ein. Sicherheitsberichte: [email protected].
Lizenz
Apache License 2.0 — siehe die LICENSE Datei jedes Pakets. Copyright 2026 Anpheros.
@anpheros/sdk
TypeScript-Client für die Anpheros Platform: ein FHIR R4 Health Record pro Patient, Projektisolation, Patienteneinwilligung (OAuth 2.1 / SMART on FHIR), Provenienz bei jedem Schreibvorgang und eine KI-Kontext-API. Läuft überall dort, wo fetch existiert (Node 18+, Browser, 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' });
Handeln im Auftrag einer Person:
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 }) });
Fehler sind AnpherosError (status, type, message, field, requestId). Erstellungen senden eine Idempotency-Key; 429/5xx werden wiederholt; abgelaufene Token werden einmal aktualisiert und der Aufruf wiederholt.
anpheros_sdk
Dart / Flutter Client für die Anpheros Platform: ein Gesundheitsdaten-Backend mit einem FHIR R4 Record pro Patient, Projektisolation, Patienteneinwilligung (OAuth 2.1 / SMART on FHIR), Provenienz bei jedem Schreibvorgang und einer AI Context API.
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));
Handeln im Auftrag einer Person (Apps)
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!);
Jedes Objekt trägt fhir (seinen /fhir/R4-Referenz); anpheros.fhir gibt direkten FHIR-Zugriff
(read, search, create, transaction, $everything, $summary, $validate).
Fehler werden AnpherosException mit status, type, message, field und requestId behandelt.
Creates senden automatisch eine Idempotency-Key; 429/5xx werden mit Backoff wiederholt; abgelaufene OAuth-Token
werden einmal aktualisiert und der Aufruf wiederholt.
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card