AnpherosAnpheros PlatformDevelopers

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

SDK

Klienti Dart / Flutter (anpheros_sdk) a TypeScript (@anpheros/sdk): stejné rozhraní, idempotentní vytváření, opakování pokusů, obnovení tokenu a proces souhlasu.

Oficiální klientské knihovny pro FHIR R4 healthcare API s bezplatným FHIR sandboxem: pacienti, pozorování, laboratorní výsledky, stavy, léky, International Patient Summary, souhlas pacienta a AI kontext, v TypeScript a Dart / Flutter.

Anpheros je interoperabilní infrastruktura pro lékařská data pro vytváření zdravotnických aplikací, lékařského softwaru a AI služeb. Každý pacient má jeden HL7 FHIR R4 záznam, který ovládá; aplikace, kliniky, laboratoře a AI agenti jej čtou a zapisují prostřednictvím Anpheros Platform API — se souhlasem pacienta (OAuth 2.1 / SMART on FHIR), s údaji o původu při každém zápisu a s logem přístupu, které může pacient vidět. Tento repozitář obsahuje oficiální klientské knihovny a spustitelné příklady.

Jazyk Balíček Instalace Zdroj
Dart / Flutter anpheros_sdk dart pub add anpheros_sdk dart/anpheros_sdk
TypeScript (Node 18+, prohlížeče, Deno, Bun) @anpheros/sdk npm install @anpheros/sdk ts

Rychlý start za 2 minuty

  1. Získejte bezplatný klíč pro sandbox: přihlaste se na dashboard a klikněte na Get a sandbox key (sk_test_…). Váš sandbox obsahuje 30 syntetických pacientů.
  2. Ověřte funkčnost:

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

  1. Nainstalujte SDK a načtěte záznam: npm install @anpheros/sdk nebo dart pub add anpheros_sdk, poté spusťte kód v sekci Connect, nebo naklonujte repozitář quickstart-ts.

Pro koho je určen

Vývojáři vytvářející aplikace pro zdraví pacientů a rodiny, backendy lékařských aplikací, integrace klinik a laboratoří a asistenty či agenty s umělou inteligencí, kteří potřebují strukturovaný lékařský kontext pacienta – aniž by museli od nuly navrhovat databázi zdravotních záznamů, systém souhlasu a auditní záznam.

Získání sandbox klíče

Sandbox je zdarma a samoobslužný. Přihlaste se pomocí Google na dashboardu a stiskněte Získat sandbox klíč: okamžitě získáte sandbox projekt a klíč. Každý sandbox projekt obsahuje 30 syntetických pacientů — šest měsíců stavů, léků, alergií, laboratorních výsledků a vitálních funkcí — které můžete libovolně měnit a kdykoli resetovat. Sandbox klíče (sk_test_…) se nikdy nedostanou k reálným datům pacientů.

Když přejdete do produkčního prostředí, produkce je určena pro ověřené organizace s dohodou o zpracování dat a produkce začíná od 99 € měsíčně s prvním měsícem zdarma (ceny).

Připojení

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 klíče patří na servery. Aplikace jednající jménem osoby používá místo toho OAuth: oba SDK implementují tok souhlasu (autorizační kód + PKCE) a automaticky obnovují tokeny.

Co pokrývají SDK

Obě pokrývají celou veřejnou plochu (/v1, /fhir/R4, /oauth/token, /oauth/revoke) se stejným tvarem: patients, observations, conditions, medications, documents, timeline, provenance, context, grants, terminology a surové fhir. Test selže při sestavení, pokud v jednom z SDK chybí veřejná trasa, nebo když SDK volá trasu, kterou server nemá.

Obě SDK: automatické Idempotency-Key při vytváření, opakované pokusy s exponenciálním zpožděním při 429/5xx, jedno obnovení tokenu při 401, typované chyby s ID požadavku, pomocníci PKCE a tok souhlasu.

Lékařská data a FHIR

Záznam se skládá ze standardních FHIR R4 zdrojů — 26 typů, včetně Observation, Condition, MedicationStatement, DocumentReference, Immunization a AllergyIntolerance — kódovaných pomocí LOINC, ICD-10, ATC a UCUM. REST API (/v1) a FHIR API (/fhir/R4) čtou a zapisují stejné zdroje se stejnými ID; fhir v obou SDK poskytuje přímý přístup k FHIR (vyhledávání, transakce, $everything, $summary, $validate).

Příklady

Příklad Zobrazuje
quickstart-ts zápis a čtení záznamu: měření, laboratorní výsledky, diagnózy, léky, časová osa, FHIR vyhledávání, IPS, kontext AI
quickstart-dart totéž z Dart / Flutter
consent-app-ts webová aplikace, která žádá o souhlas (OAuth 2.1 + PKCE) a čte záznam pacienta
ai-context-llm otázka týkající se záznamu zodpovězená modelem dle vašeho výběru (lokální nebo hostovaný)
fhir-transaction FHIR R4 transakční bundle a výsledný International Patient Summary

Příklady běží proti bezplatnému sandboxu, kde každý sandbox projekt má svých 30 syntetických pacientů – viz Získat klíč k sandboxu.

Související repozitáře

Repozitář Co to je
fhir-api-openapi OpenAPI 3.1 spec a Postman kolekce API
mcp-server hostovaný FHIR MCP server pro AI agenty: konfigurace pro Claude, Cursor, VS Code
agent-skills Agent Skill, Claude Code plugin, pravidla pro Cursor a AGENTS.md
fhir-synthetic-patients 30 syntetických pacientů ve formátu FHIR R4 Bundles a NDJSON
ips-examples dokumenty International Patient Summary ve formátu FHIR R4
fhir-validate-action GitHub Action, která validuje FHIR R4 JSON v CI
lab-results-to-fhir CLI: CSV / HL7 v2 laboratorní zprávy → FHIR Observations
healthcare-app-starters šablony pro zdravotnické aplikace v Next.js a Flutter

Shoda

Nezpracované výsledky testů, publikované pro kontrolu (výsledky testů, nikoli certifikace): conformance/. Dne 28. září 2026 skupina Standalone Launch testovací sady Inferno SMART App Launch STU2 (v1.0.3) prošla 22 z 22 testů proti platformě. Spuštění EHR není podporováno.

Dokumentace

Problémy a zabezpečení

Chyby nahlašujte v sekci issues tohoto repozitáře. Nikdy do issue nezahrnujte API klíče, tokeny ani data pacientů. Bezpečnostní hlášení: [email protected].

Licence

Apache License 2.0 — viz soubor LICENSE v každém balíčku. Copyright 2026 Anpheros.

@anpheros/sdk

TypeScript klient pro Anpheros Platform: zdravotní záznam pacienta ve formátu FHIR R4, izolace projektů, souhlas pacienta (OAuth 2.1 / SMART on FHIR), sledování původu každého zápisu a kontextové API s umělou inteligencí. Běží kdekoli, kde existuje fetch (Node 18+, prohlížeče, 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' });

Jednání jménem 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 }) });

Chyby jsou AnpherosError (status, type, message, field, requestId). Vytváření odesílá Idempotency-Key; 429/5xx se opakují; vypršené tokeny se jednou obnoví a volání se zopakuje.

anpheros_sdk

Dart / Flutter klient pro Anpheros Platform: backend pro zdravotní data s FHIR R4 záznamem na pacienta, izolací projektů, souhlasem pacienta (OAuth 2.1 / SMART on FHIR), sledováním původu u každého zápisu a API pro kontext 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));

Jednání jménem osoby (aplikace)

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ždý objekt nese fhir (jeho /fhir/R4 odkaz); anpheros.fhir poskytuje přímý přístup k FHIR (read, search, create, transaction, $everything, $summary, $validate).

Chyby jsou AnpherosException s status, type, message, field a requestId. Vytváření automaticky odesílá Idempotency-Key; 429/5xx se opakují s backoff; vypršené OAuth tokeny jsou jednou obnoveny a volání je zopakováno.

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