AnpherosAnpheros PlatformDevelopers

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

Személyes egészségügyi nyilvántartó (PHR) alkalmazás FHIR-rel

Oktatóanyag: egy csatlakoztatott PHR backendje FHIR R4-en – adatok emberektől, laboroktól, dokumentumoktól és eszközöktől, idővonal, megosztható IPS, beleegyezés. Tesztelt kód.

A személyes egészségügyi nyilvántartás (PHR) alkalmazás egy személy egészségügyi adatait — eredmények, mérések, diagnózisok, gyógyszerek, dokumentumok — tárolja egy olyan nyilvántartásban, amelyet az illető személy irányít, és amelyet sok forrásból gyűjtöttek össze, nem pedig egyetlen kórházból. A nehéz részek nem a képernyők: hanem az adatok laborokból, klinikákról és eszközökről való bevitele használható formában, annak nyomon követése, hogy az egyes tételek honnan származnak, és annak lehetővé tétele, hogy az illető megossza a nyilvántartást anélkül, hogy elveszítené felette az irányítást. Ez a tutorial egy PHR backendjét építi fel HL7 FHIR R4-en az Anpheros TypeScript SDK segítségével; az alábbi kódot egy helyi példányon futtatták a platformmal egy sandbox kulccsal.

Hozzáerősített, független és csatlakoztatott PHR-ek

Típus Hol tárolódnak az adatok Korlátozás
Hozzáerősített (egy kórház betegportálja) A szolgáltató EHR-je Csak az adott szolgáltató adatait jeleníti meg; változik, amikor a személy orvost vált
Független (önálló alkalmazás vagy jegyzetfüzet) Az alkalmazás saját adatbázisa A személy mindent beír; az adatok ritkán hagyják el az alkalmazást
Csatlakoztatott Egy szabványos rekord, amelyet az alkalmazások, laborok és klinikák a személy beleegyezésével olvasnak és írnak Szabványokat, beleegyezést és eredetet igényel

A csatlakoztatott PHR az, amit ma érdemes megépíteni. Ez az, amerre a politika is halad: az Egyesült Államokban a tanúsított EHR-eknek FHIR-alapú API-hozzáférést kell biztosítaniuk a betegeknek az adataikhoz (US Core), az Európai Unióban pedig az Európai Egészségügyi Adattér (European Health Data Space) jogot ad az embereknek arra, hogy hozzáférjenek elektronikus egészségügyi adataikhoz, és megosszák azokat a választott szolgáltatókkal, fokozatosan bevezetve 2029-től.

A PHR adatai honnan származnak

  1. A személy: otthoni mérések, tünetek, szedett gyógyszerek, ismert állapotok. Jelölje őket beteg által jelentettként.
  2. Laboreredmények: a legtöbb ember PDF-et kap; néhány labor küldhet HL7 v2 vagy CSV formátumot. Minden eredménynek kódolt megfigyeléssé kell válnia (Lab results API).
  3. Dokumentumok: zárójelentések, képalkotó leletek, vények. Tartsa meg az eredeti fájlt, változatlanul, a strukturált adatok mellett.
  4. Eszközök és viselhető eszközök: napi lépésszám, pulzusszám, alvás, vérnyomás az Apple Health vagy a Health Connect szolgáltatásból (wearable data in FHIR).
  5. Szolgáltatók: az Egyesült Államokban kórházak és biztosítók beteg-hozzáférésű FHIR API-jai, amelyek SMART on FHIR segítségével érhetők el; máshol főként dokumentumok és összefoglalók, mint például a Nemzetközi Betegösszefoglaló (International Patient Summary).

Minden forrás ugyanabba a rekordba ír. Ami megbízhatóvá teszi, az az, hogy minden elem rögzíti, ki írta és melyik rendszerből származik (medical data provenance).

Az architektúra

 person ──► your PHR app (mobile / web) ──► your backend ──► Anpheros: one FHIR R4 record per person
                                               │                 ├─ Observations, Conditions, Medications, Documents…
   lab report, PDF, device data ───────────────┘                 ├─ Provenance on every write
                                                                 ├─ access log the person can see
   other apps, doctors, AI assistants ◄── consent (OAuth) ───────┴─ $summary (IPS) to share

A backend tárolja a projektkulcsot (sk_test_… a sandboxban, soha az alkalmazásban). Az Ön alkalmazása a saját hitelesítésével jelenteti be a felhasználókat, és a backenddel kommunikál; a backend minden felhasználót egy páciensrekordhoz rendel.

Lépésről lépésre

Telepítse az SDK-t (npm install @anpheros/sdk), és szerezzen ingyenes sandbox kulcsot a dashboardról. A minta egy két eredményes HL7 v2 lipid panelt (lipid-panel.hl7) és bármilyen PDF-et (report.pdf) használ.

import { readFile } from 'node:fs/promises';
import { Anpheros, apiKey } from '@anpheros/sdk';

const anpheros = new Anpheros({ auth: apiKey(process.env.ANPHEROS_KEY!) });

// 1. One record per person who signs up in your PHR app
const jane = await anpheros.patients.create({ given: 'Jane', family: 'Doe', birth_date: '1984-07-19', gender: 'female' });

// 2. Something the person measured at home
await anpheros.observations.create(jane.id, {
  code: '85354-9', category: 'vital-signs', effective_at: '2026-10-01T08:30:00-05:00', author_type: 'patient',
  components: [{ code: '8480-6', value: 128, unit: 'mm[Hg]' }, { code: '8462-4', value: 82, unit: 'mm[Hg]' }],
});

// 3. A diagnosis and a medication the person reports
await anpheros.conditions.create(jane.id, { code: 'E11.9', system: 'http://hl7.org/fhir/sid/icd-10',
  display: 'Type 2 diabetes mellitus without complications', clinical_status: 'active', onset: '2021-03-15', author_type: 'patient' });
await anpheros.medications.create(jane.id, { code: 'A10BA02', display: 'Metformin 500 mg', status: 'active',
  dosage: '500 mg twice a day', start: '2021-03-20', author_type: 'patient' });

// 4. A lab report the person received, as the lab sent it (HL7 v2)
const lab = await anpheros.labs.importHl7(jane.id, await readFile('lipid-panel.hl7', 'utf8'), { sourceSystem: 'springfield-lis' });

// 5. A PDF they want to keep with the record
const doc = await anpheros.documents.upload(jane.id,
  { title: 'Chest X-ray report', kind: 'imaging_report', content_type: 'application/pdf', date: '2026-10-03' },
  await readFile('report.pdf'));

// 6. One timeline for the home screen
const timeline = await anpheros.timeline.list(jane.id, { limit: 10 });

// 7. A summary to share with a new doctor: the International Patient Summary
const ips = await anpheros.fhir.summary(jane.id);

// 8. Who else can read this record (empty until the person consents to another app)
const grants = await anpheros.grants.of(jane.id);

A futtatásból kinyomtatva:

lab:       created 2, unmapped []
document:  final
timeline:  2026-10-03  document    Chest X-ray report
           2026-10-02  observation Cholesterol in HDL [Mass/volume] in Serum or Plasma
           2026-10-02  observation Cholesterol [Mass/volume] in Serum or Plasma
           2026-10-01  observation Blood pressure panel
           2021-03-20  medication  Metformin 500 mg
           2021-03-15  condition   Type 2 diabetes mellitus without complications
IPS:       Allergies, Medications, Problems, Results, Vital signs
grants:    0

A fenti minden elem FHIR R4 formátumban tárolódik – Patient, Observation, Condition, MedicationStatement, DocumentReference –, így ugyanaz a rekord bármilyen FHIR klienssel (GET /fhir/R4/Patient/{id}/$everything) olvasható, és sértetlenül áthelyezhető máshová. Az SDK-ban található /v1 hívások az erőforrások egyszerűbb nézetét kínálják; a Medical data API részletezi ezeket.

Megosztás kontrollvesztés nélkül

A PHR (Személyes Egészségügyi Nyilvántartás) megosztásra szolgál, a személy feltételei szerint:

Családok

Számos PHR-t egy személy tart fenn több személy számára: gyermekek, partner, idős szülő. Minden személynek adjon saját rekordot, és kapcsolja össze őket a gondozóval, ahelyett, hogy mindenki adatait egybe keverné. Az engedély ezután rekordonként adható meg. A Beteg kórtörténeti nyilvántartása leírja a modellt.

Mit érdemes saját magadnak megépíteni, és mit nem

Te építed meg a felhasználói élményt: az onboardingot, az eredmények magyarázatát, az emlékeztetőket, a diagramokat, a személy által olvasott nyelvet. Az Anpheros biztosítja a rekordot, a standard formátumokat, a hozzájárulást, a származást, a hozzáférési naplót, valamint a laboratóriumi, dokumentum és összefoglaló műveleteket.

Amit az Anpheros ma nem végez el egy PHR (Személyes Egészségügyi Rekord) számára: nem jelentkezik be kórházi betegportálokra vagy amerikai beteg-hozzáférésű API-kra a személy nevében (az alkalmazásod ezt megteheti egy SMART on FHIR klienssel és rögzítheti, amit kap), nem olvas PDF jelentéseket az API-n keresztül, és nem ad orvosi tanácsot. Az Anpheros saját PHR alkalmazása, az Anpheros Daily, ezen a ugyanazon az API-n alapul.

Gyakran ismételt kérdések

Mi az a személyes egészségügyi nyilvántartás (PHR)?

Egy személy egészségügyi információinak nyilvántartása, amelyet az illető vezet és ellenőriz, több forrásból gyűjtve – saját bejegyzések, laborok, klinikák, eszközök – ahelyett, hogy egyetlen szolgáltató tartaná nyilván.

Mi a különbség a PHR és az EHR között?

Az EHR-t egy egészségügyi szervezet vezeti, és az általa rögzített információkat tartalmazza. A PHR-t az illető vezeti, és az összes szolgáltatótól és eszköztől származó adatokat egyesítheti. A "tethered" PHR egy ablak egy szolgáltató EHR-jére; a "connected" PHR szabványokat használ több forrás összekapcsolására.

Használjon-e a PHR FHIR-t?

Ha az adatokat valaha is meg kell osztani egy orvossal, egy másik alkalmazással vagy egy AI asszisztenssel, akkor igen: az FHIR R4 kódolt, verziós erőforrásokat biztosít, amelyeket más rendszerek már ismernek, és ez a beteg-hozzáférésű API-k formátuma az Egyesült Államokban, valamint az európai betegösszefoglalóé.

Hogyan szerez be adatokat egy PHR alkalmazás a kórházakból?

Az Egyesült Államokban a FHIR beteg-hozzáférésű API-kon keresztül, amelyeket a tanúsított EHR-ek és sok biztosító kínál, a SMART on FHIR használatával engedélyezve az illető az alkalmazást. Másutt ez többnyire dokumentumok és összefoglalók, amelyeket strukturált adatok mellett importálnak és tárolnak.

Hol tárolja a PHR alkalmazás az API kulcsokat?

A szerverén. Egy projekt kulcs minden olyan rekordot képes olvasni, amelyet a projektje létrehozott, ezért soha nem szabad mobil- vagy webalkalmazásba beépíteni; az alkalmazás a backendjével kommunikál, és mások alkalmazásai OAuth-ot használnak a személy beleegyezésével.

Kapcsolódó

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