# Vytvorte zdravotnícku aplikáciu

> Tutoriál: Použite Anpheros ako backend pre zdravotnícke údaje vo vašej zdravotníckej aplikácii — pacienti, merania, diagnózy, lieky, dokumenty, laboratórne výsledky, súhlasy, webhooks a SDK.

Source: https://developers.anpheros.com/sk/guides/build-a-healthcare-app

Tento tutoriál ukazuje, ako môže zdravotnícka alebo lekárska aplikácia použiť Anpheros Platform ako svoj backend pre zdravotnícke údaje: kde sú uložené záznamy pacientov, ako sa čítajú a zapisujú, ako sú pripojené iné systémy a ako pacient zostáva v kontrole. Každé volanie nižšie je súčasťou verejného API ([odkaz](https://developers.anpheros.com/docs)).

## Čo budujete

Typická aplikácia pre pacienta – sledovač chronických ochorení, aplikácia pre rodinné zdravie, sprievodca diaľkového monitorovania – potrebuje:

1. viesť záznam na pacienta: merania, diagnózy, lieky, dokumenty;
2. zobraziť tento záznam späť ako zoznamy a časovú os;
3. prijímať dáta z iných zdrojov (zariadenia, laboratóriá, kliniky);
4. zdieľať časti záznamu so súhlasom pacienta;
5. reagovať, keď sa niečo zmení.

S Anpheros si vaša aplikácia vedie vlastných používateľov, obrazovky a obchodnú logiku a deleguje lekársky záznam na platformu:

```
Mobile / web app ──► your backend ──► Anpheros Platform API ──► FHIR R4 record of each patient
                         ▲                                              │
                         └──────────── signed webhooks ◄────────────────┘
```

Váš backend drží API kľúč; aplikácia komunikuje s vaším backendom. (Aplikácie, ktoré konajú v mene pacienta, ktorý už má Anpheros záznam, namiesto toho používajú OAuth – pozri krok 7.)

## 1. Získanie kľúča do sandboxu

Sandbox je samoobslužný: prihláste sa pomocou Google na ovládacom paneli (`https://platform.anpheros.com/dashboard/`) a stlačte *Získať kľúč do sandboxu*. Kľúče do sandboxu začínajú na `sk_test_` a môžu pristupovať iba k databáze sandboxu, kde váš projekt už má svoju vlastnú kópiu 30 syntetických pacientov.

```bash
export BASE=https://platform.anpheros.com
export KEY=sk_test_…
curl $BASE/v1/patients -H "Authorization: Bearer $KEY"
```

## 2. Vytvorenie pacienta

Každý používateľ vašej aplikácie získa záznam pacienta, ktorý patrí vášmu projektu.

```bash
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"}'
```

Odpoveď obsahuje `id` pacienta (váš vlastný identifikátor pre túto osobu – iné projekty vidia iný) a jeho `fhir` referenciu.

## 3. Zápis meraní, diagnóz a liekov

Uveďte, odkiaľ dáta pochádzajú, pomocou `author_type`: `patient`, `practitioner`, `device`, `import` alebo `ai`. Ak to vynecháte, platforma zaznamená `import`, nikdy nie `patient` z predpokladu.

```bash
# 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"}'
```

Kategórie pozorovaní: `vital-signs`, `laboratory`, `symptom`, `activity`, `survey`, `exam`, `imaging`, `social-history`. Každý zápis je uložený ako FHIR resource a automaticky dostane záznam `Provenance`.

## 4. Ukladanie dokumentov

```bash
# 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
```

Originál je po nahratí nemenný; hodnoty, ktoré z neho extrahujete, naň môžu odkazovať pomocou `derived_from`.

## 5. Načítanie záznamu späť

```bash
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
```

Keď potrebujete plný FHIR model, rovnaké dáta sú dostupné na `/fhir/R4` s rovnakými identifikátormi ([FHIR R4 API](https://developers.anpheros.com/sk/guides/fhir)).

## 6. Pripojenie laboratórií a zariadení

- **Laboratórne správy:** `POST /v1/patients/{id}/labs/import` s formátmi CSV, HL7 v2 ORU^R01 alebo JSON premení celú správu na laboratórne pozorovania (Observations) s LOINC kódmi ([Lab connector](https://developers.anpheros.com/sk/guides/lab-connector)).
- **Zariadenia a nositeľné zariadenia:** zapisujú pozorovania (Observations) s `author_type: device` a LOINC kódom merania (tepová frekvencia, SpO₂, kroky, dĺžka spánku a iné sú uvedené v [FHIR code systems](https://developers.anpheros.com/sk/guides/fhir-code-systems)).

## 7. Dosiahnutie záznamu, ktorý pacient už má (OAuth)

Ak osoba už má záznam v Anpheros (napríklad prostredníctvom Anpheros Daily), vaša aplikácia môže požiadať o prístup namiesto vytvorenia nového pacienta: zaregistrujte aplikáciu, odošlite osobu na stránku súhlasu s požadovanými scopes, vymeňte kód za tokeny a zavolajte API s prístupovým tokenom. Pacient si vyberie trvanie a môže kedykoľvek odvolať prístup. Podrobnosti: [Autentifikácia a OAuth](https://developers.anpheros.com/sk/guides/authentication).

## 8. Reagujte na zmeny pomocou webhookov

```bash
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"]}'
```

Overte hlavičku `Anpheros-Signature` každej doručenej správy ([Webhooks](https://developers.anpheros.com/sk/guides/webhooks)).

## 9. Použite SDK

Rovnaký postup v TypeScript:

```ts
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 });
```

Klient Dart / Flutter s rovnakou štruktúrou je k dispozícii ako `anpheros_sdk` ([SDKs](https://developers.anpheros.com/sk/guides/sdks)).

## Pred nasadením do produkcie

- Produkčné kľúče (`sk_live_`) sú vydávané overeným organizáciám s podpísanou dohodou o spracovaní údajov.
- Prečítajte si stránku [Bezpečnosť, ochrana súkromia a lokalita údajov](https://developers.anpheros.com/sk/guides/security) a [limity](https://developers.anpheros.com/sk/guides/limits).
- Chyby riešte podľa ich typu a pri kontaktovaní podpory uveďte hlavičku `Anpheros-Request-Id` ([Chyby](https://developers.anpheros.com/sk/guides/errors)).

## Súvisiace

- [Ako vytvoriť zdravotnícku API pomocou TypeScript](https://developers.anpheros.com/sk/guides/healthcare-api-typescript): podrobný návod s Express
- [Ako vytvoriť zdravotnícku aplikáciu pomocou Flutter](https://developers.anpheros.com/guides/healthcare-app-flutter): podrobný návod s Dart SDK
- [Ako vytvoriť zdravotnícku aplikáciu s umelou inteligenciou a backendom FHIR](https://developers.anpheros.com/sk/guides/build-ai-healthcare-app): podrobný návod v TypeScript
- [Budujte s Anpheros](https://developers.anpheros.com/sk/guides/build-with-anpheros)
- [Backend a databáza pre lekárske aplikácie](https://developers.anpheros.com/sk/guides/medical-app-backend)
- [API pre lekárske dáta](https://developers.anpheros.com/sk/guides/medical-data-api)
- [Vývoj zdravotníckeho softvéru](https://developers.anpheros.com/sk/guides/healthcare-software)
- [Ako vytvoriť aplikáciu na osobnú zdravotnú kartu (PHR) s FHIR](https://developers.anpheros.com/sk/guides/personal-health-record-app)
