AnpherosAnpheros PlatformDevelopers

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

Syntetické údaje pacientov na testovanie

Porovnanie Synthea, person a modelom generovaných údajov, čo obsahuje dobrý testovací súbor údajov a čo sa stalo, keď sme nahrali pacientov zo Synthea do FHIR servera.

Syntetické dáta pacientov sú vymyslené lekárske záznamy — pacienti, diagnózy, lieky, výsledky laboratórnych testov, návštevy — generované tak, aby vyzerali a správali sa ako skutočné, takže môžete vytvárať, testovať a predvádzať zdravotnícky softvér bez toho, aby ste sa dotkli akýchkoľvek zdravotných informácií kohokoľvek. Je to štandard pre vývoj: skutočné dáta pacientov v testovacom prostredí predstavujú riziko pre súkromie a zvyčajne aj právny problém. Táto stránka pokrýva hlavné spôsoby získavania syntetických dát, čo je dobré a zlé na každom z nich, ako okolo nich navrhovať testy a ako ich načítať na FHIR server — vrátane toho, čo sa stalo, keď sme načítali pacientov Synthea do Anpheros.

Tri spôsoby získania syntetických pacientov

Prístup Príklad Vhodné pre Pozor na
Simulácia založená na pravidlách Synthea (open source, od MITRE): simuluje životy od narodenia s modulmi chorôb a exportuje FHIR R4 zväzky, C-CDA a CSV Objem, úplné histórie, štandardné formáty Predvolene zamerané na USA (demografia, fakturačné zdroje, kódy); vzory sú len také realistické, aké sú moduly
Kurátorované persony Ručne navrhnutí pacienti so špecifickými stavmi Demo ukážky, okrajové prípady, opakovateľné testy Málo pacientov; niekto ich musí udržiavať konzistentné
Štatistická alebo ML generácia z reálnych dát Modely trénované na reálnej datovej sade Realizmus výskumu Môže dôjsť k úniku reálnych osôb, ak sa to urobí zle; vyžaduje posúdenie ochrany osobných údajov, nielen "je to syntetické"

Text napísaný jazykovým modelom na požiadanie je štvrtým, rizikovým zdrojom: číta sa dobre, ale často si protirečí (liek bez stavu, ktorý lieči, nemožné laboratórne hodnoty) a nemal by byť základom testov.

Čo obsahuje dobrý testovací dátový súbor

Realistické priemery nestačia. Kód zlyháva na okrajoch, preto sa uistite, že vaše dáta, syntetické alebo nie, zahŕňajú:

Nahrávanie pacientov zo Synthea na FHIR server

Synthea zapisuje jeden FHIR R4 transaction Bundle na pacienta. Vygenerovali sme dvoch pacientov (java -jar synthea-with-dependencies.jar -p 2 -s 4242 Massachusetts) a nahrali ich do lokálnej inštancie Anpheros. Bundle prvého pacienta mal 221 záznamov:

Ponechané (typy, ktoré Anpheros ukladá) Odstránené (typy, ktoré Anpheros neukladá)
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

Nahrávač sa pýta servera, aké typy podporuje, ponecháva iba tie a zvyšok odosiela ako jednu transakciu:

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);

Výsledok: 182 zdrojov vytvorených v jednej transakcii. urn:uuid referencie medzi ponechanými záznamami boli preložené na serverové ID (result DiagnosticReport odkazuje na existujúcu Observation); referencie na 39 odhodených záznamov zostávajú tak, ako boli zapísané, takže pred nahrávaním zozbierajte fullUrl každého odhodeného záznamu a odstráňte alebo konvertujte ponechané referencie, ktoré na ne odkazujú, a Patient/{id}/$summary vygeneroval International Patient Summary s 15 problémami, 6 imunizáciami, 15 výsledkami a 28 vitálnymi funkciami. $everything vrátil 363 záznamov, vrátane provenance, ktorú platforma pridáva ku každému zápisu.

Tri veci, ktoré by ste mali vedieť, než sa na to budete spoliehať:

Mená v Synthea obsahujú čísla (Marcelo725 Gulgowski816) zámerne, aby si ich nikto nepomýlil so skutočnými ľuďmi.

Syntetickí pacienti v Anpheros sandboxe

Každý Anpheros sandbox projekt dostane vlastnú kópiu 30 syntetických pacientov, generovaných z ručne navrhnutých person: vo veku od 3 do 85 rokov, z viacerých krajín a jazykov EÚ, s podmienkami kódovanými v ICD-10, liekmi v ATC, laboratórnymi výsledkami a vitálnymi funkciami v LOINC s jednotkami UCUM a referenčnými rozsahmi, šesťmesačnou históriou a dokumentmi. Čerstvo inicializovaný projekt obsahuje 30 pacientov, 43 podmienok, 51 liekových záznamov, 1 811 pozorovaní, 57 dokumentov a 6 alergií. Dáta sú deterministické – každý projekt vidí rovnakých ľudí s rovnakými hodnotami, iba s inými identifikátormi – a reset ich obnoví. Každá persona si zachováva stabilný identifikátor, takže Patient?identifier=https://anpheros.com/fhir/sid/sandbox-persona|p02 vždy nájde rovnakú osobu. Pozri Free FHIR database and sandbox.

Použite persony, keď chcete malé, koherentné záznamy, ktoré pokrývajú európske jazyky a vlastné funkcie platformy; načítajte Synthea, keď potrebujete objem alebo históriu v americkom štýle.

Často kladené otázky

Čo sú syntetické údaje o pacientoch?

Vymyslené zdravotné záznamy, ktoré štruktúrou a vzormi pripomínajú skutočné, ale nepopisujú žiadnu skutočnú osobu. Umožňuje vývojárom stavať a testovať bez použitia chránených zdravotných informácií.

Sú syntetické údaje anonymné z definície?

Údaje generované na základe pravidiel, ako sú tie v Synthea, neobsahujú žiadnych skutočných pacientov. Údaje generované modelmi trénovanými na skutočných záznamoch môžu stále odhaliť skutočných ľudí a vyžadujú posúdenie ochrany súkromia pred ich zdieľaním.

Môžem importovať údaje zo Synthea na FHIR server?

Áno. Synthea exportuje FHIR R4 transakčné balíky. Odstráňte typy zdrojov, ktoré server nepodporuje, skontrolujte, ako spracováva podmienené referencie, a odošlite každý balík ako transakciu.

Obsahuje Anpheros sandbox syntetických pacientov?

Áno: 30 na projekt, so šiestimi mesiacmi kódovanej histórie, plus až 50 testovacích pacientov, ktorých si vytvoríte sami.

Súvisiace

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