AnpherosAnpheros PlatformDevelopers

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

टेस्टिंग के लिए सिंथेटिक पेशेंट डेटा

Synthea, पर्सोना और मॉडल-जनित डेटा की तुलना, अच्छे टेस्ट डेटा में क्या होता है, और जब हमने Synthea पेशेंट्स को FHIR सर्वर में लोड किया तो क्या हुआ।

सिंथेटिक रोगी डेटा आविष्कारित चिकित्सा रिकॉर्ड हैं — रोगी, निदान, दवाएं, लैब परिणाम, विज़िट — जिन्हें वास्तविक लोगों की तरह दिखने और व्यवहार करने के लिए उत्पन्न किया जाता है, ताकि आप किसी की भी स्वास्थ्य जानकारी को छुए बिना स्वास्थ्य सेवा सॉफ़्टवेयर बना सकें, उसका परीक्षण कर सकें और उसका प्रदर्शन कर सकें। यह विकास के लिए डिफ़ॉल्ट है: परीक्षण वातावरण में वास्तविक रोगी डेटा एक गोपनीयता जोखिम है और आमतौर पर एक कानूनी समस्या है। यह पृष्ठ सिंथेटिक डेटा प्राप्त करने के मुख्य तरीकों, प्रत्येक की अच्छाई और बुराई, इसके आसपास परीक्षणों को कैसे डिज़ाइन किया जाए, और इसे FHIR सर्वर में कैसे लोड किया जाए — जिसमें यह भी शामिल है कि जब हमने Anpheros में सिंथेआ रोगियों को लोड किया तो क्या हुआ।

सिंथेटिक मरीज़ प्राप्त करने के तीन तरीके

तरीका उदाहरण किसके लिए अच्छा है ध्यान दें
नियम-आधारित सिमुलेशन Synthea (ओपन सोर्स, MITRE से): रोग मॉड्यूल के साथ जन्म से जीवन का अनुकरण करता है और FHIR R4 बंडल, C-CDA और CSV निर्यात करता है वॉल्यूम, पूर्ण इतिहास, मानक प्रारूप डिफ़ॉल्ट रूप से US-केंद्रित (जनसांख्यिकी, बिलिंग संसाधन, कोड); पैटर्न केवल मॉड्यूल जितने ही यथार्थवादी होते हैं
क्यूरेटेड पर्सोना विशिष्ट स्थितियों वाले हाथ से डिज़ाइन किए गए मरीज़ डेमो, एज केस, दोहराने योग्य परीक्षण कुछ मरीज़; किसी को उन्हें सुसंगत रखना होगा
वास्तविक डेटा से सांख्यिकीय या 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 संदर्भ सर्वर आईडी में हल किए गए (एक DiagnosticReport का result एक Observation की ओर इशारा करता है जो मौजूद है); 39 छोड़ी गई प्रविष्टियों के संदर्भ वैसे ही रहते हैं जैसे लिखे गए थे, इसलिए लोड करने से पहले, छोड़ी गई प्रत्येक प्रविष्टि के fullUrl को इकट्ठा करें और रखे गए संदर्भों को हटा दें या परिवर्तित करें जो उन पर इंगित करते हैं, और Patient/{id}/$summary ने 15 समस्याओं, 6 टीकाकरणों, 15 परिणामों और 28 महत्वपूर्ण संकेतों के साथ एक अंतर्राष्ट्रीय रोगी सारांश (International Patient Summary) उत्पन्न किया। $everything ने प्लेटफ़ॉर्म द्वारा प्रत्येक राइट में जोड़े गए प्रोवेनेंस सहित 363 प्रविष्टियाँ लौटाईं।

इस पर भरोसा करने से पहले जानने योग्य तीन बातें:

Synthea में नाम जानबूझकर संख्याओं (Marcelo725 Gulgowski816) के साथ शामिल किए जाते हैं, ताकि कोई भी उन्हें वास्तविक लोगों के साथ भ्रमित न करे।

Anpheros सैंडबॉक्स में सिंथेटिक मरीज़

हर Anpheros सैंडबॉक्स प्रोजेक्ट को 30 सिंथेटिक मरीज़ों की अपनी कॉपी मिलती है, जो हाथ से डिज़ाइन किए गए पर्सोना से उत्पन्न होते हैं: 3 से 85 वर्ष की आयु, कई यूरोपीय देश और भाषाएँ, ICD-10 में कोड की गई स्थितियाँ, ATC में दवाएँ, UCUM इकाइयों और संदर्भ श्रेणियों के साथ LOINC में लैब और वाइटल्स, छह महीने का इतिहास और दस्तावेज़। एक ताज़ा सीडेड प्रोजेक्ट में 30 मरीज़, 43 स्थितियाँ, 51 दवा कथन, 1,811 अवलोकन, 57 दस्तावेज़ और 6 एलर्जी होती हैं। डेटा नियतात्मक है — हर प्रोजेक्ट को समान लोग समान मानों के साथ मिलते हैं, केवल अलग आईडी — और एक रीसेट इसे पुनर्स्थापित करता है। प्रत्येक पर्सोना एक स्थिर पहचानकर्ता रखता है, इसलिए Patient?identifier=https://anpheros.com/fhir/sid/sandbox-persona|p02 हमेशा एक ही व्यक्ति को ढूंढता है। Free FHIR database and sandbox देखें।

उन पर्सोना का उपयोग करें जब आप यूरोपीय भाषाओं और प्लेटफ़ॉर्म की अपनी सुविधाओं को कवर करने वाले छोटे, सुसंगत रिकॉर्ड चाहते हैं; जब आपको वॉल्यूम या यूएस-शैली के इतिहास की आवश्यकता हो तो Synthea लोड करें।

अक्सर पूछे जाने वाले प्रश्न

सिंथेटिक रोगी डेटा क्या है?

काल्पनिक स्वास्थ्य रिकॉर्ड जो संरचना और पैटर्न में वास्तविक लोगों के समान होते हैं, लेकिन किसी वास्तविक व्यक्ति का वर्णन नहीं करते हैं। यह डेवलपर्स को संरक्षित स्वास्थ्य जानकारी का उपयोग किए बिना निर्माण और परीक्षण करने की अनुमति देता है।

क्या सिंथेटिक डेटा परिभाषा के अनुसार गुमनाम है?

नियमों से उत्पन्न डेटा, जैसे Synthea's, में कोई वास्तविक रोगी नहीं होता है। वास्तविक रिकॉर्ड पर प्रशिक्षित मॉडल द्वारा उत्पन्न डेटा अभी भी वास्तविक लोगों को प्रकट कर सकता है और साझा किए जाने से पहले गोपनीयता मूल्यांकन की आवश्यकता होती है।

क्या मैं Synthea डेटा को FHIR सर्वर में आयात कर सकता हूँ?

हाँ। Synthea FHIR R4 ट्रांजेक्शन बंडल निर्यात करता है। उन संसाधन प्रकारों को हटा दें जिन्हें सर्वर समर्थन नहीं करता है, जांचें कि यह सशर्त संदर्भों को कैसे संभालता है, और प्रत्येक बंडल को एक ट्रांजेक्शन के रूप में पोस्ट करें।

क्या 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