Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
Eine Gesundheits-App entwickeln
Tutorial: Anpheros als Medical-Data-Backend für eine Gesundheits-App nutzen – Patienten, Messungen, Diagnosen, Medikamente, Dokumente, Laborergebnisse, Einwilligung, Webhooks und SDKs.
Dieses Tutorial zeigt, wie eine Gesundheits- oder medizinische Anwendung die Anpheros Platform als Backend für medizinische Daten nutzen kann: wo Patientenakten gespeichert werden, wie sie gelesen und geschrieben werden, wie andere Systeme angebunden werden und wie der Patient die Kontrolle behält. Jeder Aufruf unten ist Teil der öffentlichen API (Referenz).
Was Sie erstellen
Eine typische patientenorientierte App – ein Tracker für chronische Erkrankungen, eine Familien-Gesundheits-App, ein Begleiter für die Fernüberwachung – muss:
- einen Datensatz pro Patient führen: Messungen, Zustände, Medikamente, Dokumente;
- diesen Datensatz als Listen und Zeitachse anzeigen;
- Daten von anderen Quellen (Geräte, Labore, Kliniken) akzeptieren;
- Teile des Datensatzes mit Zustimmung des Patienten teilen;
- reagieren, wenn sich etwas ändert.
Mit Anpheros behält Ihre App ihre eigenen Benutzer, Bildschirme und Geschäftslogik bei und delegiert den medizinischen Datensatz an die Plattform:
Mobile / web app ──► your backend ──► Anpheros Platform API ──► FHIR R4 record of each patient
▲ │
└──────────── signed webhooks ◄────────────────┘
Ihr Backend speichert den API-Schlüssel; die App spricht mit Ihrem Backend. (Apps, die für einen Patienten handeln, der bereits einen Anpheros-Datensatz hat, verwenden stattdessen OAuth – siehe Schritt 7.)
1. Sandbox-Schlüssel erhalten
Die Sandbox ist Self-Service: Melden Sie sich im Dashboard (https://platform.anpheros.com/dashboard/) mit Google an und klicken Sie auf Sandbox-Schlüssel erhalten. Sandbox-Schlüssel beginnen mit sk_test_ und können nur auf die Sandbox-Datenbank zugreifen, in der Ihr Projekt bereits eine eigene Kopie von 30 synthetischen Patienten hat.
export BASE=https://platform.anpheros.com
export KEY=sk_test_…
curl $BASE/v1/patients -H "Authorization: Bearer $KEY"
2. Patient erstellen
Jeder Benutzer Ihrer App erhält einen Patienten-Datensatz, der Ihrem Projekt gehört.
curl -X POST $BASE/v1/patients -H "Authorization: Bearer $KEY" -H 'content-type: application/json' \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"given": "Elena", "family": "Ionescu", "birth_date": "1985-09-03", "gender": "female"}'
Die Antwort enthält den Patienten id (Ihre eigene Kennung für diese Person – andere Projekte sehen eine andere) und dessen fhir Referenz.
3. Messungen, Zustände und Medikamente schreiben
Geben Sie an, woher die Daten stammen, mit author_type: patient, practitioner, device, import oder ai. Wenn Sie dies weglassen, erfasst die Plattform import, niemals patient per Annahme.
# a blood-pressure reading from a connected device (LOINC panel with two components)
curl -X POST $BASE/v1/patients/$PID/observations -H "Authorization: Bearer $KEY" -H 'content-type: application/json' \
-H "Idempotency-Key: $(uuidgen)" -d '{
"code": "85354-9", "display": "Blood pressure panel", "category": "vital-signs",
"effective_at": "2026-09-28T08:00:00Z", "author_type": "device",
"components": [
{"code": "8480-6", "display": "Systolic", "value": 128, "unit": "mm[Hg]"},
{"code": "8462-4", "display": "Diastolic", "value": 82, "unit": "mm[Hg]"}
]}'
# a diagnosis (ICD-10 by default)
curl -X POST $BASE/v1/patients/$PID/conditions -H "Authorization: Bearer $KEY" -H 'content-type: application/json' \
-d '{"code": "I10", "display": "Essential hypertension", "onset": "2024-03-01", "author_type": "practitioner"}'
# a medication (ATC by default)
curl -X POST $BASE/v1/patients/$PID/medications -H "Authorization: Bearer $KEY" -H 'content-type: application/json' \
-d '{"display": "Amlodipine 5 mg", "code": "C08CA01", "dosage": "1 tablet in the morning", "start": "2024-03-01", "author_type": "patient"}'
Kategorien von Beobachtungen: vital-signs, laboratory, symptom, activity, survey, exam, imaging, social-history. Jeder Schreibvorgang wird als FHIR-Ressource gespeichert und erhält automatisch einen Provenance-Eintrag.
4. Dokumente speichern
# create the document, then upload the bytes
curl -X POST $BASE/v1/patients/$PID/documents -H "Authorization: Bearer $KEY" -H 'content-type: application/json' \
-d '{"title": "Blood tests 2026-09-14", "kind": "lab_report", "content_type": "application/pdf", "date": "2026-09-14"}'
curl -X PUT $BASE/v1/documents/$DOC/content -H "Authorization: Bearer $KEY" -H 'content-type: application/pdf' --data-binary @report.pdf
Das Original ist nach dem Hochladen unveränderlich; Werte, die Sie daraus extrahieren, können mit derived_from darauf verweisen.
5. Den Datensatz zurücklesen
curl "$BASE/v1/patients/$PID/observations?category=vital-signs&limit=20" -H "Authorization: Bearer $KEY"
curl "$BASE/v1/patients/$PID/medications?status=active" -H "Authorization: Bearer $KEY"
curl "$BASE/v1/patients/$PID/timeline?from=2026-06-01" -H "Authorization: Bearer $KEY" # everything, chronologically
Wenn Sie das vollständige FHIR-Modell benötigen, sind dieselben Daten unter /fhir/R4 mit denselben IDs verfügbar (FHIR R4 API).
6. Labore und Geräte verbinden
- Laborberichte:
POST /v1/patients/{id}/labs/importmit CSV, HL7 v2 ORU^R01 oder JSON wandeln einen vollständigen Bericht in Labor-Observations mit LOINC-Codes um (Lab connector). - Geräte und Wearables: schreiben Observations mit
author_type: deviceund dem LOINC-Code der Messung (Herzfrequenz, SpO₂, Schritte, Schlafdauer und andere sind in FHIR code systems aufgeführt).
7. Erreichen eines Datensatzes, den der Patient bereits hat (OAuth)
Wenn die Person bereits einen Datensatz in Anpheros führt (z. B. über Anpheros Daily), kann Ihre App um Zugriff bitten, anstatt einen neuen Patienten anzulegen: Registrieren Sie eine Anwendung, senden Sie die Person mit den benötigten Scopes zur Einwilligungsseite, tauschen Sie den Code gegen Tokens und rufen Sie die API mit dem Access Token auf. Der Patient wählt die Dauer und kann den Zugriff jederzeit widerrufen. Details: Authentifizierung und OAuth.
8. Auf Änderungen mit Webhooks reagieren
curl -X POST $BASE/v1/webhooks -H "Authorization: Bearer $KEY" -H 'content-type: application/json' \
-d '{"url": "https://your.app/anpheros/hook", "events": ["resource.created", "consent.revoked"]}'
Verifizieren Sie den Anpheros-Signature-Header jeder Zustellung (Webhooks).
9. Ein SDK verwenden
Der gleiche Ablauf in TypeScript:
import { Anpheros, apiKey } from '@anpheros/sdk';
const anpheros = new Anpheros({ auth: apiKey(process.env.ANPHEROS_KEY!) });
const { data: patients } = await anpheros.patients.list();
const vitals = await anpheros.observations.list(patients[0].id, { category: 'vital-signs', limit: 20 });
Ein Dart / Flutter Client mit der gleichen Struktur ist verfügbar als anpheros_sdk (SDKs).
Vor dem Produktivgang
- Produktionsschlüssel (
sk_live_) werden an verifizierte Organisationen mit einem unterzeichneten Datenverarbeitungsvertrag ausgegeben. - Lesen Sie die Seite Sicherheit, Datenschutz und Datenresidenz und die Limits.
- Behandeln Sie Fehler nach ihrem Typ und zitieren Sie den Header
Anpheros-Request-Id, wenn Sie den Support kontaktieren (Fehler).
Verwandte Themen
- Erstellen einer Healthcare-API mit TypeScript: Schritt-für-Schritt-Anleitung mit Express
- Erstellen einer Healthcare-App mit Flutter: Schritt-für-Schritt-Anleitung mit dem Dart SDK
- Erstellen einer KI-Healthcare-App mit einem FHIR-Backend: Schritt-für-Schritt-Anleitung in TypeScript
- Entwickeln mit Anpheros
- Backend und Datenbank für medizinische Apps
- API für medizinische Daten
- Softwareentwicklung im Gesundheitswesen
- Erstellen einer Personal Health Record (PHR)-App mit FHIR
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card