AnpherosAnpheros PlatformDevelopers

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

Test İçin Sentetik Hasta Verileri

Synthea, kişilikler ve model tarafından üretilen verilerin karşılaştırması, iyi test verilerinin neleri içerdiği ve Synthea hastalarını bir FHIR sunucusuna yüklediğimizde neler olduğu.

Sentetik hasta verileri, gerçek olanlara benzeyecek ve davranacak şekilde oluşturulmuş icat edilmiş tıbbi kayıtlardır — hastalar, teşhisler, ilaçlar, laboratuvar sonuçları, ziyaretler — böylece kimsenin sağlık bilgisine dokunmadan sağlık yazılımları oluşturabilir, test edebilir ve sergileyebilirsiniz. Geliştirme için varsayılan seçenektir: test ortamındaki gerçek hasta verileri bir gizlilik riski ve genellikle yasal bir sorundur. Bu sayfa, sentetik veri elde etmenin ana yollarını, her birinin nelerde iyi ve kötü olduğunu, etrafında testleri nasıl tasarlayacağınızı ve bunları bir FHIR sunucusuna nasıl yükleyeceğinizi kapsar — Synthea hastalarını Anpheros'a yüklediğimizde neler olduğunu da içerir.

Sentetik hasta elde etmenin üç yolu

Yaklaşım Örnek Neler için uygundur Dikkat edilmesi gerekenler
Kural tabanlı simülasyon Synthea (açık kaynak, MITRE'den): doğumdan itibaren hastalık modülleriyle hayatları simüle eder ve FHIR R4 paketleri, C-CDA ve CSV olarak dışa aktarır Hacim, tam geçmişler, standart formatlar Varsayılan olarak ABD merkezlidir (demografi, faturalandırma kaynakları, kodlar); desenler yalnızca modüller kadar gerçektir
Küratörlü kişilikler Belirli koşullara sahip, el ile tasarlanmış hastalar Demolar, uç durumlar, tekrarlanabilir testler Az sayıda hasta; tutarlı olmalarını sağlamak için birinin ilgilenmesi gerekir
Gerçek verilerden istatistiksel veya ML ile üretim Gerçek bir veri kümesi üzerinde eğitilmiş modeller Gerçekçilik araştırması Kötü yapılırsa gerçek kişileri sızdırabilir; yalnızca "sentetik" olması değil, gizlilik değerlendirmesi gerektirir

Dil modeli tarafından talep üzerine yazılan metin dördüncü, riskli bir kaynaktır: iyi okunur ancak sıklıkla kendiyle çelişir (tedavi ettiği koşulu olmayan bir ilaç, imkansız laboratuvar değerleri) ve testlerin temeli olmamalıdır.

İyi test verileri neleri içerir

Gerçekçi ortalamalar yeterli değildir. Kod kenarlarda bozulur, bu nedenle verilerinizin, ister sentetik ister gerçek olsun, şunları içerdiğinden emin olun:

Synthea hastalarını bir FHIR sunucusuna yükleme

Synthea, hasta başına bir FHIR R4 transaction Bundle yazar. İki hasta (java -jar synthea-with-dependencies.jar -p 2 -s 4242 Massachusetts) oluşturduk ve bunları Anpheros'un yerel bir örneğine yükledik. İlk hastanın bundle'ı 221 giriş içeriyordu:

Saklanan (Anpheros'un depoladığı türler) Kaldırılan (Anpheros'un depolamadığı türler)
Observation 61, Procedure 48, DiagnosticReport 24, Condition 15, Encounter 12, DocumentReference 12, Immunization 6, Patient, CareTeam, CarePlan, Provenance Claim 13, ExplanationOfBenefit 13, SupplyDelivery 9, Device 2, ImagingStudy 1, MedicationRequest 1

Yükleyici, sunucunun hangi türleri desteklediğini sorar, yalnızca desteklenenleri saklar ve geri kalanını tek bir işlem olarak gönderir:

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

const anpheros = new Anpheros({ auth: apiKey(process.env.ANPHEROS_KEY!) });   // sk_test_… key
const SUPPORTED = new Set(((await anpheros.fhir.metadata()) as any).rest[0].resource.map((r: any) => r.type));
const bundle = JSON.parse(await readFile(process.argv[2], 'utf8'));            // one Synthea patient file
const kept = bundle.entry.filter((e: any) => SUPPORTED.has(e.resource.resourceType));
const out: any = await anpheros.fhir.transaction({ ...bundle, entry: kept } as any);
console.log('created', out.entry.length);

Sonuç: Tek bir işlemde 182 kaynak oluşturuldu. Saklanan girişler arasındaki urn:uuid referansları sunucu kimliklerine çözümlendi (bir DiagnosticReport'un result'sı var olan bir Observation'a işaret eder); bırakılan 39 girdiye yapılan referanslar yazıldığı gibi kalır, bu nedenle yüklemeden önce bırakılan her girdinin fullUrl'sini toplayın ve onlara işaret eden saklanan referansları kaldırın veya dönüştürün ve Patient/{id}/$summary, 15 sorun, 6 aşılama, 15 sonuç ve 28 vital bulgu içeren bir International Patient Summary üretti. $everything, platformun her yazmaya eklediği provenance dahil 363 giriş döndürdü.

Ona güvenmeden önce bilmeniz gereken üç şey:

Synthea'daki adlar, kimsenin onları gerçek insanlarla karıştırmaması için kasıtlı olarak sayılar içerir (Marcelo725 Gulgowski816).

Anpheros sandbox'ta sentetik hastalar

Her Anpheros sandbox projesi, el ile tasarlanmış kişilerden oluşturulmuş 30 sentetik hastanın kendi kopyasını alır: yaşları 3 ila 85 arasında, çeşitli AB ülkeleri ve dilleri, ICD-10 ile kodlanmış durumlar, ATC'de ilaçlar, UCUM birimleri ve referans aralıkları ile LOINC'de laboratuvar ve yaşamsal bulgular, altı aylık geçmiş ve belgeler. Yeni başlatılan bir proje 30 hasta, 43 durum, 51 ilaç beyanı, 1.811 gözlem, 57 belge ve 6 alerji içerir. Veriler deterministiktir — her proje aynı kişileri aynı değerlerle görür, yalnızca farklı kimlikler — ve bir sıfırlama onu geri yükler. Her kişilik kararlı bir tanımlayıcı tutar, bu nedenle Patient?identifier=https://anpheros.com/fhir/sid/sandbox-persona|p02 her zaman aynı kişiyi bulur. Ücretsiz FHIR veritabanı ve sandbox bölümüne bakın.

Avrupa dillerini ve platformun kendi özelliklerini kapsayan küçük, tutarlı kayıtlar istediğinizde kişilikleri kullanın; hacim veya ABD tarzı geçmişlere ihtiyacınız olduğunda Synthea'yı yükleyin.

Sıkça Sorulan Sorular

Sentetik hasta verisi nedir?

Gerçek hasta verilerine yapı ve desen olarak benzeyen ancak gerçek bir kişiyi tanımlamayan uydurma sağlık kayıtlarıdır. Geliştiricilerin korunan sağlık bilgilerini kullanmadan oluşturma ve test etme olanağı sağlar.

Sentetik veri tanım gereği anonim midir?

Synthea gibi kurallardan üretilen veriler gerçek hastalar içermez. Gerçek kayıtlara dayalı eğitilmiş modellerden üretilen veriler hala gerçek kişileri ortaya çıkarabilir ve paylaşılmadan önce bir gizlilik değerlendirmesi gerektirir.

Synthea verilerini bir FHIR sunucusuna aktarabilir miyim?

Evet. Synthea, FHIR R4 işlem paketleri (transaction bundles) olarak dışa aktarım yapar. Sunucunun desteklemediği kaynak türlerini (resource types) kaldırın, koşullu referansları (conditional references) nasıl işlediğini kontrol edin ve her paketi bir işlem olarak gönderin.

Anpheros sandbox'ı sentetik hastalar içeriyor mu?

Evet: proje başına 30 hasta, altı aylık kodlanmış geçmiş ile birlikte, ayrıca kendinizin oluşturduğu 50 adede kadar test hastası içerir.

İlgili Kaynaklar

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