AnpherosAnpheros PlatformDevelopers

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

Συνθετικά δεδομένα ασθενών για δοκιμές

Σύγκριση Synthea, personas και δεδομένων που παράγονται από μοντέλα, τι περιέχουν τα καλά δεδομένα δοκιμών και τι συνέβη όταν φορτώσαμε ασθενείς Synthea σε έναν διακομιστή FHIR.

Τα συνθετικά δεδομένα ασθενών είναι επινοημένα ιατρικά αρχεία — ασθενείς, διαγνώσεις, φάρμακα, εργαστηριακά αποτελέσματα, επισκέψεις — που δημιουργούνται για να μοιάζουν και να συμπεριφέρονται σαν πραγματικά, ώστε να μπορείτε να δημιουργείτε, να δοκιμάζετε και να παρουσιάζετε λογισμικό υγειονομικής περίθαλψης χωρίς να αγγίζετε πληροφορίες υγείας κανενός. Είναι η προεπιλογή για την ανάπτυξη: πραγματικά δεδομένα ασθενών σε περιβάλλον δοκιμών αποτελούν κίνδυνο απορρήτου και συνήθως νομικό πρόβλημα. Αυτή η σελίδα καλύπτει τους κύριους τρόπους απόκτησης συνθετικών δεδομένων, τι είναι καλό και κακό σε καθένα, πώς να σχεδιάσετε δοκιμές γύρω από αυτά και πώς να τα φορτώσετε σε έναν διακομιστή FHIR — συμπεριλαμβανομένου του τι συνέβη όταν φορτώσαμε ασθενείς Synthea στην Anpheros.

Τρεις τρόποι λήψης συνθετικών ασθενών

Προσέγγιση Παράδειγμα Κατάλληλο για Προσοχή
Προσομοίωση βάσει κανόνων Synthea (open source, από το MITRE): προσομοιώνει ζωές από τη γέννηση με ενότητες ασθενειών και εξάγει FHIR R4 bundles, C-CDA και CSV Όγκος, πλήρη ιστορικά, τυπικές μορφές Εστιασμένο στις ΗΠΑ από προεπιλογή (δημογραφικά στοιχεία, πόροι χρέωσης, κωδικοί). τα μοτίβα είναι τόσο ρεαλιστικά όσο οι ενότητες
Επιμελημένες προσωπικότητες Ασθενείς σχεδιασμένοι στο χέρι με συγκεκριμένες παθήσεις Επιδείξεις, ακραίες περιπτώσεις, επαναλήψιμες δοκιμές Λίγοι ασθενείς· κάποιος πρέπει να τους διατηρεί συνεκτικούς
Στατιστική ή ML παραγωγή από πραγματικά δεδομένα Μοντέλα εκπαιδευμένα σε ένα πραγματικό σύνολο δεδομένων Ρεαλισμός έρευνας Μπορεί να διαρρεύσει πραγματικούς ανθρώπους αν γίνει άσχημα· απαιτεί αξιολόγηση απορρήτου, όχι απλώς "είναι συνθετικό"

Το κείμενο που γράφεται από ένα γλωσσικό μοντέλο κατ' απαίτηση είναι μια τέταρτη, επικίνδυνη πηγή: διαβάζεται καλά, αλλά συχνά αντιφάσκει στον εαυτό του (ένα φάρμακο χωρίς την πάθηση που θεραπεύει, αδύνατες τιμές εργαστηριακών εξετάσεων) και δεν πρέπει να αποτελεί τη βάση δοκιμών.

Τι περιέχει καλά δεδομένα δοκιμών

Οι ρεαλιστικοί μέσοι όροι δεν αρκούν. Ο κώδικας "σπάει" στα άκρα, οπότε βεβαιωθείτε ότι τα δεδομένα σας, συνθετικά ή μη, περιλαμβάνουν:

Φόρτωση ασθενών Synthea σε διακομιστή FHIR

Το Synthea γράφει ένα πακέτο FHIR R4 transaction ανά ασθενή. Δημιουργήσαμε δύο ασθενείς (java -jar synthea-with-dependencies.jar -p 2 -s 4242 Massachusetts) και τους φορτώσαμε σε μια τοπική εγκατάσταση του Anpheros. Το πακέτο του πρώτου ασθενούς είχε 221 καταχωρήσεις:

Διατηρήθηκαν (τύποι που αποθηκεύει το Anpheros) Αφαιρέθηκαν (τύποι που δεν αποθηκεύει το Anpheros)
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

Ο φορτωτής ρωτά τον διακομιστή ποιοι τύποι υποστηρίζονται, διατηρεί μόνο αυτούς και δημοσιεύει τους υπόλοιπους ως μία συναλλαγή:

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

Αποτέλεσμα: 182 πόροι δημιουργήθηκαν σε μία συναλλαγή. Οι urn:uuid αναφορές μεταξύ των διατηρημένων καταχωρήσεων επιλύθηκαν σε αναγνωριστικά διακομιστή (μια result DiagnosticReport δείχνει σε μια Observation που υπάρχει). οι αναφορές στις 39 απορριφθείσες καταχωρήσεις παραμένουν όπως γράφτηκαν, οπότε πριν τη φόρτωση, συλλέξτε τις fullUrl κάθε απορριφθείσας καταχώρησης και αφαιρέστε ή μετατρέψτε τις διατηρημένες αναφορές που δείχνουν σε αυτές, και το Patient/{id}/$summary παρήγαγε ένα International Patient Summary με 15 προβλήματα, 6 εμβολιασμούς, 15 αποτελέσματα και 28 ζωτικά σημεία. Το $everything επέστρεψε 363 καταχωρήσεις, συμπεριλαμβανομένης της προέλευσης που προσθέτει η πλατφόρμα σε κάθε εγγραφή.

Τρία πράγματα που πρέπει να γνωρίζετε πριν βασιστείτε σε αυτό:

Τα ονόματα στο Synthea περιλαμβάνουν αριθμούς (Marcelo725 Gulgowski816) επίτηδες, ώστε κανείς να μην τα συγχέει με πραγματικούς ανθρώπους.

Συνθετικοί ασθενείς στο sandbox του Anpheros

Κάθε project sandbox του Anpheros λαμβάνει το δικό του αντίγραφο 30 συνθετικών ασθενών, που δημιουργούνται από χειροποίητες περσόνες: ηλικίες από 3 έως 85 ετών, διάφορες χώρες και γλώσσες της ΕΕ, καταστάσεις κωδικοποιημένες σε ICD-10, φάρμακα σε ATC, εργαστηριακές εξετάσεις και ζωτικά σημεία σε LOINC με μονάδες UCUM και εύρη αναφοράς, έξι μήνες ιστορικού και έγγραφα. Ένα φρεσκο-εγκατεστημένο project περιέχει 30 ασθενείς, 43 καταστάσεις, 51 δηλώσεις φαρμακευτικής αγωγής, 1.811 παρατηρήσεις, 57 έγγραφα και 6 αλλεργίες. Τα δεδομένα είναι ντετερμινιστικά — κάθε project βλέπει τους ίδιους ανθρώπους με τις ίδιες τιμές, μόνο διαφορετικά IDs — και μια επαναφορά τα αποκαθιστά. Κάθε περσόνα διατηρεί ένα σταθερό αναγνωριστικό, οπότε το Patient?identifier=https://anpheros.com/fhir/sid/sandbox-persona|p02 βρίσκει πάντα τον ίδιο άνθρωπο. Δείτε Δωρεάν βάση δεδομένων FHIR και sandbox.

Χρησιμοποιήστε τις περσόνες όταν θέλετε μικρά, συνεκτικά αρχεία που καλύπτουν ευρωπαϊκές γλώσσες και τις δικές του δυνατότητες της πλατφόρμας. Φορτώστε το Synthea όταν χρειάζεστε όγκο ή ιστορικά τύπου ΗΠΑ.

Συχνές ερωτήσεις

Τι είναι τα συνθετικά δεδομένα ασθενών;

Επινοημένα ιατρικά αρχεία που μοιάζουν με τα πραγματικά σε δομή και μοτίβα, αλλά δεν περιγράφουν κανένα πραγματικό πρόσωπο. Επιτρέπει στους προγραμματιστές να δημιουργούν και να δοκιμάζουν χωρίς να χρησιμοποιούν προστατευμένες πληροφορίες υγείας.

Είναι τα συνθετικά δεδομένα ανώνυμα εξ ορισμού;

Τα δεδομένα που παράγονται από κανόνες, όπως αυτά του Synthea, δεν περιέχουν πραγματικούς ασθενείς. Τα δεδομένα που παράγονται από μοντέλα εκπαιδευμένα σε πραγματικά αρχεία μπορούν ακόμα να αποκαλύψουν πραγματικούς ανθρώπους και χρειάζονται αξιολόγηση απορρήτου πριν κοινοποιηθούν.

Μπορώ να εισαγάγω δεδομένα Synthea σε έναν διακομιστή FHIR;

Ναι. Το Synthea εξάγει πακέτα συναλλαγών FHIR R4. Αφαιρέστε τους τύπους πόρων που ο διακομιστής δεν υποστηρίζει, ελέγξτε πώς χειρίζεται τις υπό όρους αναφορές και δημοσιεύστε κάθε πακέτο ως συναλλαγή.

Περιλαμβάνει το sandbox Anpheros συνθετικούς ασθενείς;

Ναι: 30 ανά έργο, με έξι μήνες κωδικοποιημένου ιστορικού, συν έως και 50 ασθενείς δοκιμής που δημιουργείτε μόνοι σας.

Σχετικά

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