Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
Kişisel Sağlık Kaydı (PHR) Uygulaması FHIR ile
Öğretici: FHIR R4 üzerinde bağlı bir PHR'nin arka ucu — insanlardan, laboratuvarlardan, belgelerden ve cihazlardan gelen veriler, bir zaman çizelgesi, paylaşılacak bir IPS, onay. Test edilmiş kod.
Kişisel Sağlık Kaydı (PHR) uygulaması, bir kişinin sağlık bilgilerini — sonuçlar, ölçümler, teşhisler, ilaçlar, belgeler — kişinin kontrolünde olan bir kayıtta tutar; bu kayıt, tek bir hastaneden ziyade birçok kaynaktan toplanır. Zor kısımlar ekranlar değildir: zor kısımlar, laboratuvarlardan, kliniklerden ve cihazlardan verileri kullanılabilir bir biçimde almak, her öğenin nereden geldiğini takip etmek ve kişinin kaydı kontrolünü kaybetmeden paylaşmasına izin vermektir. Bu eğitim, Anpheros TypeScript SDK ile HL7 FHIR R4 üzerinde bir PHR'nin arka ucunu oluşturur; aşağıdaki kod, bir sandbox anahtarıyla platformun yerel bir örneğine karşı çalıştırıldı.
Bağlı, Bağımsız ve Entegre KBY'ler
| Tür | Verinin Yaşadığı Yer | Sınırlama |
|---|---|---|
| Bağlı (bir hastanenin hasta portalı) | Sağlayıcının KBYS'si | Yalnızca o sağlayıcının verisini gösterir; kişi doktor değiştirdiğinde değişir |
| Bağımsız (bağımsız bir uygulama veya not defteri) | Uygulamanın kendi veritabanı | Kişi her şeyi yazar; veri nadiren uygulamadan çıkar |
| Entegre | Kişinin rızasıyla uygulamaların, laboratuvarların ve kliniklerin okuyup yazdığı standart bir kayıt | Altta standartlar, rıza ve köken bilgisi gerektirir |
Entegre bir KBY, bugün inşa etmeye değer olanıdır. Aynı zamanda politikanın da yöneldiği yöndür: Amerika Birleşik Devletleri'nde, sertifikalı KBYS'ler hastalara verilerine FHIR tabanlı API erişimi sunmak zorundadır (US Core) ve Avrupa Birliği'nde Avrupa Sağlık Veri Alanı, kişilere elektronik sağlık verilerine erişme ve bunları tercih ettikleri sağlayıcılarla paylaşma hakkı verir, bu hak 2029'dan itibaren aşamalı olarak yürürlüğe girecektir.
Bir KBY'nin verisi nereden gelir
- Kişi: ev ölçümleri, semptomlar, kullandığı ilaçlar, bildiği rahatsızlıklar. Bunları hasta tarafından bildirilen olarak işaretleyin.
- Laboratuvar raporları: çoğu insan PDF alır; bazı laboratuvarlar HL7 v2 veya CSV gönderebilir. Her sonuç kodlanmış bir Gözlem haline gelmelidir (Laboratuvar sonuçları API'si).
- Belgeler: taburcu mektupları, görüntüleme raporları, reçeteler. Orijinal dosyayı, değiştirilmeden, yapılandırılmış verinin yanında saklayın.
- Cihazlar ve giyilebilir cihazlar: Apple Health veya Health Connect'ten günlük adımlar, kalp atış hızı, uyku, kan basıncı (FHIR'de giyilebilir veri).
- Sağlayıcılar: ABD'de, hastanelerin ve sigortacıların SMART on FHIR ile erişilen hasta erişimli FHIR API'leri; diğer yerlerde, çoğunlukla Uluslararası Hasta Özeti gibi belgeler ve özetler.
Her kaynak aynı kayda yazar. Güvenilirliğini koruyan şey, her öğenin kimin yazdığını ve hangi sistemden geldiğini kaydetmesidir (tıbbi veri kökeni).
Mimari
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
Arka uç, proje anahtarını (sandbox'ta sk_test_…, uygulamada asla) tutar. Uygulamanız, kendi kimlik doğrulamanızla kişileri oturum açtırır ve arka uçunuzla konuşur; arka uç her kullanıcıyı bir hasta kaydına eşler.
Adım adım
SDK'yı (npm install @anpheros/sdk) yükleyin ve kontrol panelinden ücretsiz bir sandbox anahtarı alın. Örnek, iki sonuçlu bir HL7 v2 lipid paneli (lipid-panel.hl7) ve herhangi bir PDF (report.pdf) kullanır.
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);
Bu çalıştırmadan yazdırılanlar:
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
Yukarıdaki her şey FHIR R4 olarak saklanır — Patient, Observation, Condition, MedicationStatement, DocumentReference — böylece aynı kayıt herhangi bir FHIR istemcisi (GET /fhir/R4/Patient/{id}/$everything) ile okunabilir ve bozulmadan başka bir yere taşınabilir. SDK'daki /v1 çağrıları aynı kaynakların daha basit bir görünümüdür; Medical data API bunları listeler.
Kontrolü Kaybetmeden Paylaşım
Bir PHR, kişinin kendi belirlediği koşullarda paylaşılmak üzere vardır:
- Bir doktorla: Uluslararası Hasta Özeti (
$summary), klinisyenlere yönelik hazırlanmış bir FHIR belgesidir — sorunlar, ilaçlar, alerjiler, sonuçlar — uygulamanızın gösterebileceği, yazdırabileceği veya gönderebileceği. FHIR platformu,$summaryve$everything'yi açıklar. - Başka bir uygulamayla: Diğer uygulama, OAuth 2.1 ve SMART on FHIR aracılığıyla onay ister; kişi hangi verilerin (örneğin yalnızca laboratuvar sonuçları) ve ne kadar süreyle paylaşılacağını seçer ve istediği zaman bu onayı geri alabilir. SMART on FHIR ile hasta onayının nasıl uygulanacağı bunu adım adım açıklar.
- Bir yapay zeka asistanıyla:
POST /v1/context, model için bütçelenmiş, kaynak etiketli bir kayıt özeti oluşturur ve okuma işlemi erişim günlüğünde görünür (Yapay zeka sağlık uygulaması nasıl oluşturulur). - Şeffaflık: Herhangi bir uygulama tarafından yapılan her okuma ve yazma, uygulama bazında günlüğe kaydedilir ve kişi bu günlüğü ve aktif izinleri görebilir.
Aileler
Birçok Kişisel Sağlık Kaydı (PHR), çocuklar, eş veya yaşlı bir ebeveyn gibi birden fazla kişi için tek bir kişi tarafından tutulur. Herkesin verilerini tek bir yerde karıştırmak yerine, her kişiye kendi kaydını verin ve onları koruyucuya bağlayın. Ardından onay, kayıt başına verilir. Hasta tıbbi kaydı modeli açıklar.
Kendiniz Neler Oluşturmalısınız, Neler Oluşturmamalısınız?
Deneyimi siz oluşturursunuz: işe alım, sonuçların nasıl açıklandığı, hatırlatıcılar, grafikler, kişinin okuduğu dil. Anpheros kaydı, standart formatları, onayı, kaynağı, erişim günlüğünü ve laboratuvar, belge ve özet işlemlerini sağlar.
Anpheros'un bugün bir PHR için yapmadığı şeyler: kişinin adına hastane hasta portallarına veya ABD hasta erişim API'lerine giriş yapmaz (uygulamanız bunu bir SMART on FHIR istemcisi ile yapabilir ve aldığı bilgileri yazabilir), API aracılığıyla PDF raporlarını okumaz ve tıbbi tavsiye vermez. Anpheros'un kendi PHR uygulaması olan Anpheros Daily, bu aynı API üzerine kurulmuştur.
Sıkça Sorulan Sorular
Kişisel Sağlık Kaydı (PHR) nedir?
Bir kişinin sahip olduğu ve kontrol ettiği, tek bir sağlayıcı tarafından tutulmak yerine, kişinin kendi girişleri, laboratuvarlar, klinikler, cihazlar gibi çeşitli kaynaklardan toplanan sağlık bilgilerinin kaydıdır.
PHR ve EHR arasındaki fark nedir?
EHR bir sağlık kuruluşu tarafından tutulur ve sağlayıcılarının kaydettiği bilgileri kapsar. PHR ise kişi tarafından tutulur ve tüm sağlayıcılarından ve cihazlarından gelen verileri birleştirebilir. Bağlı bir PHR, tek bir sağlayıcının EHR'sine açılan bir penceredir; bağlı olmayan bir PHR ise çeşitli kaynakları bir araya getirmek için standartları kullanır.
Bir PHR FHIR kullanmalı mı?
Veriler bir doktor, başka bir uygulama veya bir yapay zeka asistanı ile paylaşılacaksa, evet: FHIR R4, diğer sistemlerin zaten anladığı kodlanmış, sürümlenmiş kaynaklar sunar ve ABD'deki hasta erişim API'lerinin ve Avrupa hasta özetinin biçimidir.
Bir PHR uygulaması hastanelerden nasıl veri alır?
ABD'de, sertifikalı EHR'lerin ve birçok sigortacının sunduğu FHIR hasta erişim API'leri aracılığıyla, kişinin uygulamayı yetkilendirmesine izin veren SMART on FHIR kullanılarak. Diğer yerlerde ise çoğunlukla belgeler ve özetler, yapılandırılmış verilerin yanında içe aktarılır ve saklanır.
Bir PHR uygulaması API anahtarlarını nereye saklamalı?
Sunucunuzda. Bir proje anahtarı, projenizin oluşturduğu her kaydı okuyabilir, bu nedenle asla bir mobil veya web uygulamasının içine gönderilmemelidir; uygulama arka ucunuzla konuşur ve diğer kişilerin uygulamaları kişinin rızasıyla OAuth kullanır.
İlgili Konular
- Sağlık uygulaması oluşturma: genel kılavuz
- Hasta tıbbi kaydı: kaydın içeriği ve kimlerin erişebileceği
- Dijital tıbbi kayıt altyapısı
- FHIR'da giyilebilir cihaz verileri: Apple Health, Health Connect ve Samsung Health
- Laboratuvar sonuçları API'si
- SDK'lar
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card