Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
Egészségügyi alkalmazás építése
Oktatóanyag: használd az Anpherost egészségügyi alkalmazás orvosi adat backendjeként – betegek, mérések, állapotok, gyógyszerek, dokumentumok, laborok, beleegyezés, webhookok és SDK-k.
Ez az oktatóanyag bemutatja, hogyan használhat egy egészségügyi vagy orvosi alkalmazás az Anpheros Platformot orvosi adatháttérként: hol tárolódnak a betegrekordok, hogyan olvashatók és írhatók, hogyan csatlakoznak más rendszerek, és hogyan marad a beteg ellenőrzése alatt. Az alábbi hívások mindegyike a nyilvános API (referencia) részét képezi.
Mit építesz
Egy tipikus, páciens-orientált alkalmazásnak – krónikus betegségek nyomon követésére, családi egészségügyi alkalmazásnak, távfelügyeleti kiegészítőnek – a következőkre van szüksége:
- minden pácienshez nyilvántartást vezetni: mérések, állapotok, gyógyszerek, dokumentumok;
- ezt a nyilvántartást listákban és idővonalon megjeleníteni;
- adatokat fogadni más forrásokból (eszközök, laborok, klinikák);
- a nyilvántartás részeit megosztani, a páciens beleegyezésével;
- reagálni, ha valami megváltozik.
Az Anpheros segítségével az alkalmazás megtartja saját felhasználóit, képernyőit és üzleti logikáját, míg az orvosi nyilvántartást a platformra bízza:
Mobile / web app ──► your backend ──► Anpheros Platform API ──► FHIR R4 record of each patient
▲ │
└──────────── signed webhooks ◄────────────────┘
A backend tárolja az API kulcsot; az alkalmazás a backenddel kommunikál. (Azok az alkalmazások, amelyek egy már Anpheros nyilvántartással rendelkező páciens nevében járnak el, ehelyett OAuth-ot használnak – lásd a 7. lépést.)
1. Sandbox kulcs igénylése
A sandbox önkiszolgáló: jelentkezzen be a Google-lal a dashboardon (https://platform.anpheros.com/dashboard/), és nyomja meg a Get a sandbox key gombot. A sandbox kulcsok sk_test_-nel kezdődnek, és csak a sandbox adatbázisát érhetik el, ahol a projektje már rendelkezik 30 szintetikus beteg saját példányával.
export BASE=https://platform.anpheros.com
export KEY=sk_test_…
curl $BASE/v1/patients -H "Authorization: Bearer $KEY"
2. Beteg létrehozása
Az alkalmazás minden felhasználója rendelkezik egy betegrekorddal, amely a projekt tulajdonában van.
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"}'
A válasz tartalmazza a beteg id (az Ön azonosítója erre a személyre – más projektek eltérő azonosítót látnak) és annak fhir referenciáját.
3. Mérések, állapotok és gyógyszerek írása
Adja meg, honnan származik az adat a author_type: patient, practitioner, device, import vagy ai segítségével. Ha ezt kihagyja, a platform import-et rögzít, soha nem patient-et feltételezés alapján.
# 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"}'
Megfigyelési kategóriák: vital-signs, laboratory, symptom, activity, survey, exam, imaging, social-history. Minden írás FHIR erőforrásként kerül tárolásra, és automatikusan kap egy Provenance bejegyzést.
4. Dokumentumok tárolása
# 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
Az eredeti dokumentum feltöltés után nem módosítható; az abból kinyert értékek visszautalhatnak rá a derived_from segítségével.
5. Az adatok visszaolvasása
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
Amikor a teljes FHIR modellre van szüksége, ugyanazok az adatok érhetők el a /fhir/R4 címen, ugyanolyan azonosítókkal (FHIR R4 API).
6. Laboratóriumok és eszközök csatlakoztatása
- Laboratóriumi jelentések:
POST /v1/patients/{id}/labs/importCSV, HL7 v2 ORU^R01 vagy JSON formátumban egy teljes jelentést laboratóriumi megfigyelésekké (Observations) alakít át LOINC kódokkal (Lab connector). - Eszközök és viselhető eszközök: Observations írása
author_type: deviceés a mérés LOINC kódja (pulzus, SpO₂, lépésszám, alvásidőtartam és mások a FHIR kódrendszerekben találhatók).
7. Elérni egy már meglévő beteg rekordját (OAuth)
Ha a személynek már van rekordja az Anpheros rendszerében (például az Anpheros Daily-n keresztül), az Ön alkalmazása kérhet hozzáférést az új beteg létrehozása helyett: regisztráljon egy alkalmazást, küldje el a személyt a beleegyezési oldalra a szükséges scope-okkal, cserélje be a kódot tokenekre, és hívja meg az API-t az access token segítségével. A beteg kiválaszthatja a hozzáférés időtartamát, és bármikor visszavonhatja azt. Részletek: Hitelesítés és OAuth.
8. Reagálás változásokra webhookokkal
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"]}'
Ellenőrizze minden kézbesítés Anpheros-Signature fejlécét (Webhooks).
9. SDK használata
Ugyanez az áramlás TypeScriptben:
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 });
Egy hasonló felépítésű Dart / Flutter kliens is elérhető a anpheros_sdk alatt (SDK-k).
Production előtti teendők
- A production kulcsokat (
sk_live_) igazolt szervezetek kaphatják meg, aláírt adatfeldolgozási megállapodással. - Olvassa el a Biztonság, adatvédelem és adattárolás oldalt és a korlátokat.
- Kezelje a hibákat típusuk szerint, és idézze a
Anpheros-Request-Idfejlécet, amikor kapcsolatba lép a támogatással (Hibák).
Kapcsolódó
- Egészségügyi API építése TypeScript segítségével: lépésről lépésre útmutató Express-szel
- Egészségügyi alkalmazás építése Flutter segítségével: lépésről lépésre útmutató a Dart SDK-val
- AI alapú egészségügyi alkalmazás építése FHIR backenddel: lépésről lépésre útmutató TypeScriptben
- Fejlesszen az Anpheros segítségével
- Orvosi alkalmazás backend és adatbázis
- Egészségügyi adat API
- Egészségügyi szoftverfejlesztés
- Személyes egészségügyi nyilvántartás (PHR) alkalmazás építése FHIR segítségével
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card