# Δημιουργία εφαρμογής υγειονομικής περίθαλψης

> Οδηγός: χρησιμοποιήστε το Anpheros ως backend ιατρικών δεδομένων για μια εφαρμογή υγειονομικής περίθαλψης — ασθενείς, μετρήσεις, καταστάσεις, φάρμακα, έγγραφα, εργαστηριακές εξετάσεις, συναίνεση, webhooks και SDKs.

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

Αυτός ο οδηγός δείχνει πώς μια εφαρμογή υγειονομικής περίθαλψης ή ιατρική εφαρμογή μπορεί να χρησιμοποιήσει την Πλατφόρμα Anpheros ως backend ιατρικών δεδομένων: πού αποθηκεύονται οι φάκελοι ασθενών, πώς διαβάζονται και γράφονται, πώς συνδέονται άλλα συστήματα και πώς ο ασθενής διατηρεί τον έλεγχο. Κάθε κλήση παρακάτω αποτελεί μέρος του δημόσιου API ([αναφορά](https://developers.anpheros.com/docs)).

## Τι κατασκευάζετε

Μια τυπική εφαρμογή για ασθενείς — μια εφαρμογή παρακολούθησης χρόνιας πάθησης, μια εφαρμογή οικογενειακής υγείας, ένας σύντροφος απομακρυσμένης παρακολούθησης — χρειάζεται να:

1. διατηρεί ένα αρχείο ανά ασθενή: μετρήσεις, παθήσεις, φάρμακα, έγγραφα·
2. εμφανίζει αυτό το αρχείο ως λίστες και χρονοδιάγραμμα·
3. δέχεται δεδομένα από άλλες πηγές (συσκευές, εργαστήρια, κλινικές)·
4. μοιράζεται μέρη του αρχείου, με τη συγκατάθεση του ασθενούς·
5. αντιδρά όταν κάτι αλλάζει.

Με το Anpheros, η εφαρμογή σας διατηρεί τους δικούς της χρήστες, οθόνες και επιχειρησιακή λογική, και αναθέτει το ιατρικό αρχείο στην πλατφόρμα:

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

Το backend σας κατέχει το κλειδί API· η εφαρμογή επικοινωνεί με το backend σας. (Οι εφαρμογές που ενεργούν για έναν ασθενή που έχει ήδη αρχείο Anpheros χρησιμοποιούν OAuth αντ' αυτού — δείτε το βήμα 7.)

## 1. Λήψη κλειδιού sandbox

Το sandbox είναι αυτοεξυπηρετούμενο: συνδεθείτε με το Google στον πίνακα ελέγχου (`https://platform.anpheros.com/dashboard/`) και πατήστε *Λήψη κλειδιού sandbox*. Τα κλειδιά sandbox ξεκινούν με `sk_test_` και μπορούν να έχουν πρόσβαση μόνο στη βάση δεδομένων του sandbox, όπου το έργο σας έχει ήδη τη δική του αντιγραφή 30 συνθετικών ασθενών.

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

## 2. Δημιουργία ασθενούς

Κάθε χρήστης της εφαρμογής σας αποκτά ένα αρχείο ασθενούς που ανήκει στο έργο σας.

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

Η απάντηση περιέχει τον ασθενή `id` (το δικό σας αναγνωριστικό για αυτό το άτομο — άλλα έργα βλέπουν ένα διαφορετικό) και την αναφορά `fhir` του.

## 3. Εγγραφή μετρήσεων, καταστάσεων και φαρμακευτικής αγωγής

Δηλώστε από ποιον προέρχονται τα δεδομένα με `author_type`: `patient`, `practitioner`, `device`, `import` ή `ai`. Αν το παραλείψετε, η πλατφόρμα καταγράφει `import`, ποτέ `patient` εξ ορισμού.

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

Κατηγορίες παρατήρησης: `vital-signs`, `laboratory`, `symptom`, `activity`, `survey`, `exam`, `imaging`, `social-history`. Κάθε εγγραφή αποθηκεύεται ως πόρος FHIR και λαμβάνει αυτόματα μια καταχώρηση `Provenance`.

## 4. Αποθήκευση εγγράφων

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

Το πρωτότυπο είναι αμετάβλητο μετά τη μεταφόρτωση· οι τιμές που εξάγετε από αυτό μπορούν να παραπέμπουν σε αυτό με `derived_from`.

## 5. Ανάγνωση του αρχείου καταγραφής

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

Όταν χρειάζεστε το πλήρες μοντέλο FHIR, τα ίδια δεδομένα είναι διαθέσιμα στο `/fhir/R4` με τα ίδια αναγνωριστικά ([FHIR R4 API](https://developers.anpheros.com/el/guides/fhir)).

## 6. Σύνδεση εργαστηρίων και συσκευών

- **Εργαστηριακές αναφορές:** `POST /v1/patients/{id}/labs/import` με CSV, HL7 v2 ORU^R01 ή JSON μετατρέπουν μια ολόκληρη αναφορά σε εργαστηριακές Παρατηρήσεις (Observations) με κωδικούς LOINC ([Σύνδεση εργαστηρίου](https://developers.anpheros.com/el/guides/lab-connector)).
- **Συσκευές και wearables:** γράψτε Παρατηρήσεις (Observations) με `author_type: device` και τον κωδικό LOINC της μέτρησης (καρδιακός ρυθμός, SpO₂, βήματα, διάρκεια ύπνου και άλλα αναφέρονται στα [Συστήματα κωδικοποίησης FHIR](https://developers.anpheros.com/el/guides/fhir-code-systems)).

## 7. Πρόσβαση σε υπάρχον αρχείο ασθενούς (OAuth)

Εάν το άτομο διατηρεί ήδη ένα αρχείο στο Anpheros (για παράδειγμα μέσω του Anpheros Daily), η εφαρμογή σας μπορεί να ζητήσει πρόσβαση αντί να δημιουργήσει νέο ασθενή: καταχωρήστε μια εφαρμογή, στείλτε το άτομο στη σελίδα συναίνεσης με τα scopes που χρειάζεστε, ανταλλάξτε τον κωδικό για tokens και καλέστε το API με το access token. Ο ασθενής επιλέγει τη διάρκεια και μπορεί να ανακαλέσει την πρόσβαση ανά πάσα στιγμή. Λεπτομέρειες: [Authentication and OAuth](https://developers.anpheros.com/el/guides/authentication).

## 8. Αντιδράστε σε αλλαγές με webhooks

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

Επαληθεύστε την κεφαλίδα `Anpheros-Signature` κάθε παράδοσης ([Webhooks](https://developers.anpheros.com/el/guides/webhooks)).

## 9. Χρήση ενός SDK

Η ίδια ροή σε 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 });
```

Ένας πελάτης Dart / Flutter με το ίδιο σχήμα είναι διαθέσιμος ως `anpheros_sdk` ([SDKs](https://developers.anpheros.com/el/guides/sdks)).

## Πριν τη μετάβαση σε παραγωγή

- Τα κλειδιά παραγωγής (`sk_live_`) εκδίδονται σε επαληθευμένους οργανισμούς με υπογεγραμμένη συμφωνία επεξεργασίας δεδομένων.
- Διαβάστε τη σελίδα [Ασφάλεια, απόρρητο και τοποθεσία δεδομένων](https://developers.anpheros.com/el/guides/security) και τα [όρια](https://developers.anpheros.com/el/guides/limits).
- Διαχειριστείτε τα σφάλματα ανά τύπο και αναφέρετε την κεφαλίδα `Anpheros-Request-Id` όταν επικοινωνείτε με την υποστήριξη ([Σφάλματα](https://developers.anpheros.com/el/guides/errors)).

## Σχετικά

- [Πώς να δημιουργήσετε ένα API υγειονομικής περίθαλψης με TypeScript](https://developers.anpheros.com/el/guides/healthcare-api-typescript): οδηγός βήμα προς βήμα με Express
- [Πώς να δημιουργήσετε μια εφαρμογή υγειονομικής περίθαλψης με Flutter](https://developers.anpheros.com/el/guides/healthcare-app-flutter): οδηγός βήμα προς βήμα με το Dart SDK
- [Πώς να δημιουργήσετε μια εφαρμογή AI υγειονομικής περίθαλψης με backend FHIR](https://developers.anpheros.com/el/guides/build-ai-healthcare-app): οδηγός βήμα προς βήμα σε TypeScript
- [Δημιουργήστε με Anpheros](https://developers.anpheros.com/el/guides/build-with-anpheros)
- [Backend και βάση δεδομένων ιατρικών εφαρμογών](https://developers.anpheros.com/el/guides/medical-app-backend)
- [API ιατρικών δεδομένων](https://developers.anpheros.com/el/guides/medical-data-api)
- [Ανάπτυξη λογισμικού υγειονομικής περίθαλψης](https://developers.anpheros.com/el/guides/healthcare-software)
- [Πώς να δημιουργήσετε μια εφαρμογή προσωπικού ιατρικού φακέλου (PHR) με FHIR](https://developers.anpheros.com/el/guides/personal-health-record-app)
