# मेडिकल डेटा प्रोवेनेंस (Medical data provenance) समझाया गया

> FHIR R4 रिकॉर्ड पर हर राइट (write) पर प्रोवेनेंस क्या रिकॉर्ड करता है — लेखक का प्रकार, व्यक्ति, संगठन, स्रोत सिस्टम, संस्करण — हेडर के साथ इसे कैसे सेट करें, इसे कैसे पढ़ें, और यह AI मॉडल को दिए गए डेटा को कैसे लेबल करता है।

Source: https://developers.anpheros.com/hi/guides/medical-data-provenance

**प्रोवेनेंस (Provenance) इस बात का रिकॉर्ड है कि मेडिकल डेटा का एक टुकड़ा कहाँ से आया: इसे किसने लिखा, किस संगठन की ओर से, किस सिस्टम से, कब, और हर संस्करण में क्या बदला।** एक रिकॉर्ड में जो रोगियों, उपकरणों, क्लीनिकों, प्रयोगशालाओं और AI से डेटा एकत्र करता है, प्रोवेनेंस ही किसी मान को भरोसेमंद बनाता है: घर पर टाइप की गई रक्तचाप रीडिंग और क्लिनिक में मापी गई रीडिंग इसके बिना समान दिखती हैं। Anpheros में, HL7 FHIR R4 रिकॉर्ड पर हर राइट (write) स्वचालित रूप से एक FHIR `Provenance` रिसोर्स (resource) उत्पन्न करता है। यह पृष्ठ बताता है कि इसमें क्या शामिल है, इसे सही ढंग से कैसे भरा जाए और इसे कैसे पढ़ा जाए।

## प्रोवेनेंस क्यों मायने रखता है

- **नैदानिक ​​विश्वास।** एक डॉक्टर प्रयोगशाला परिणाम को उस मान से अलग तरीके से तौलता है जो रोगी ने दर्ज किया है या एक संख्या जिसे AI ने फोटो से निकाला है।
- **AI सुरक्षा।** किसी रिकॉर्ड को दिया गया मॉडल को यह जानना आवश्यक है कि कौन सी वस्तुएं तथ्य हैं और कौन सी नोट्स हैं जो किसी अन्य मॉडल ने लिखे हैं। लेबल के बिना यह उन्हें समान मानता है।
- **सुधार और विवाद।** जब कोई मान बदलता है, तो हर किसी को यह जानने की आवश्यकता होती है कि यह पहले क्या था, इसे किसने बदला और क्यों।
- **जवाबदेही।** GDPR और यूरोपीय स्वास्थ्य डेटा स्पेस के तहत, एक संगठन को यह दिखाने में सक्षम होना चाहिए कि उसने किसी व्यक्ति के स्वास्थ्य डेटा के साथ क्या किया।
- **साझा करना।** जब कोई रोगी किसी दूसरे क्लिनिक को अपना रिकॉर्ड पढ़ने देता है, तो उस क्लिनिक को यह जानने की आवश्यकता होती है कि पहले क्लिनिक ने कौन सा डेटा लिखा था।

## Anpheros हर राइट पर क्या रिकॉर्ड करता है

| प्रश्न | कहाँ रिकॉर्ड किया जाता है | आप इसे कैसे सेट करते हैं |
|---|---|---|
| किस प्रकार का लेखक? | `agent.who.identifier` (लेखक प्रकार) | `/v1` में `author_type`, या `X-Anpheros-Author-Type` हेडर: `patient`, `practitioner`, `device`, `import`, `ai` |
| कौन सा व्यक्ति? | `agent.who.reference` | `X-Anpheros-Author-Ref: Practitioner/<id>`, या `X-Anpheros-Acting-As` |
| किस संगठन के लिए? | `agent.onBehalfOf` | `PractitionerRole` का संगठन, या `X-Anpheros-On-Behalf-Of: Organization/<id>` |
| किस सिस्टम से? | `source` भूमिका के साथ `entity` | `X-Anpheros-Source-System: <name>` |
| उस सिस्टम में कौन सा रिकॉर्ड? | मूल आईडी | `X-Anpheros-Origin-Id: <id>` |
| कब, और क्या हुआ? | `recorded`, `activity` (CREATE, UPDATE, DELETE) | स्वचालित |
| कौन सा संस्करण? | `target` `<Resource>/<id>/_history/<version>` की ओर इशारा करता है | स्वचालित |

यदि आप यह नहीं बताते हैं कि लेखक कौन है, तो प्लेटफ़ॉर्म `import` रिकॉर्ड करता है। यह कभी भी `patient` नहीं मानता है, क्योंकि रोगी को गलत तरीके से जिम्मेदार ठहराया गया मान, आयातित के रूप में ईमानदारी से लेबल किए गए मान से बदतर है।

## पूर्ण प्रोवेनेंस के साथ एक लेखन

एक क्लिनिक में एक कार्डियोलॉजिस्ट, क्लिनिक के सॉफ़्टवेयर के माध्यम से, एक विज़िट के दौरान हृदय गति रिकॉर्ड करता है:

```bash
curl -X POST https://platform.anpheros.com/fhir/R4/Observation -H "Authorization: Bearer $KEY" \
     -H "Content-Type: application/fhir+json" \
     -H "X-Anpheros-Author-Type: practitioner" \
     -H "X-Anpheros-Acting-As: PractitionerRole/$ROLE" \
     -H "X-Anpheros-Source-System: ccn-emr" \
     -d '{ "resourceType": "Observation", "status": "final", "code": {"coding": [{"system": "http://loinc.org", "code": "8867-4"}]}, … }'
```

प्रोवेनेंस जो प्लेटफ़ॉर्म लिखता है:

```json
{"resourceType": "Provenance",
 "target": [{"reference": "Observation/8660eb7c-…/_history/1"}],
 "recorded": "2026-10-12T20:41:47.469000Z",
 "activity": {"coding": [{"system": "http://terminology.hl7.org/CodeSystem/v3-DataOperation", "code": "CREATE"}]},
 "agent": [{"type": {"coding": [{"system": "http://terminology.hl7.org/CodeSystem/provenance-participant-type", "code": "author"}]},
            "who": {"reference": "PractitionerRole/e6d8c227-…",
                    "identifier": {"system": "https://anpheros.com/fhir/CodeSystem/author-type", "value": "practitioner"}},
            "onBehalfOf": {"reference": "Organization/c3a56a4b-…", "display": "Clinica Cardio Nord"}}],
 "entity": [{"role": "source", "what": {"identifier": {"system": "ccn-emr"}}}]}
```

डॉक्टर की भूमिका, उनका क्लिनिक, लेखक का प्रकार और स्रोत सिस्टम सभी मानक FHIR में हैं। `PractitionerRole` आपके प्रोजेक्ट की डायरेक्टरी में मौजूद होना चाहिए और सक्रिय होना चाहिए। किसी अन्य व्यक्ति के प्रैक्टिशनर का नामकरण करने वाला अनुरोध अस्वीकार कर दिया जाता है:

```json
{"resourceType": "OperationOutcome", "issue": [{"severity": "error", "code": "invalid",
  "diagnostics": "Unknown or inactive Practitioner in X-Anpheros-Acting-As."}]}
```

डायरेक्टरी स्थापित करना [क्लिनिक सिस्टम को FHIR बैकएंड के साथ कैसे एकीकृत करें](https://developers.anpheros.com/hi/guides/integrate-clinic-systems-fhir) में शामिल है।

## संस्करण: कुछ भी चुपके से अधिलेखित नहीं किया जाता है

प्रत्येक अपडेट संसाधन का एक नया संस्करण और उसके लिए एक नया Provenance बनाता है। ऊपर हृदय गति को 92 से 88 तक सही करने के बाद:

```bash
curl https://platform.anpheros.com/fhir/R4/Observation/$OBS/_history -H "Authorization: Bearer $KEY"
```

संस्करण 2 (88) और संस्करण 1 (92) लौटाता है। REST दृश्य प्रत्येक संस्करण के Provenance का सारांश प्रस्तुत करता है:

```bash
curl https://platform.anpheros.com/v1/patients/$PID/provenance/Observation/$OBS -H "Authorization: Bearer $KEY"
```

```json
{"data": [
  {"version": 1, "activity": "CREATE", "recorded": "2026-10-12T20:41:47.469000Z", "author_type": "practitioner", "author": "PractitionerRole/e6d8c227-…", "source_system": "ccn-emr", "fhir": "Provenance/6ed91529-…"},
  {"version": 2, "activity": "UPDATE", "recorded": "2026-10-12T20:41:47.500000Z", "author_type": "practitioner", "fhir": "Provenance/3fbf270f-…"}],
 "total": 2}
```

हटाना सॉफ्ट है: एक हटाए गए संसाधन खोजों से गायब हो जाता है, लेकिन उसका इतिहास और Provenance बना रहता है।

## प्रोवेनेंस पढ़ना

```bash
# who wrote this resource (all versions)
GET /fhir/R4/Provenance?target=Observation/{id}
# everything a practitioner recorded
GET /fhir/R4/Provenance?agent=PractitionerRole/{id}
# the same, summarised, per resource
GET /v1/patients/{pid}/provenance/Observation/{id}
```

## AI संदर्भों में प्रोवेनेंस (Provenance)

[संदर्भ API](https://developers.anpheros.com/hi/guides/llm-healthcare-data) हर उस आइटम में प्रोवेनेंस ले जाता है जो यह मॉडल को देता है, जैसा कि `author_type` और `source` में है। टेक्स्ट रूप में:

```
- Type 2 diabetes mellitus (E11), active, onset 2024-10-15 [import/anpheros-sandbox]
- Metformin 1000 mg 1 tablet twice daily with meals, active [patient/anpheros-sandbox]
- Glucose [Mass/volume] in Blood: 2026-09-16: 140.0 mg/dL [device/anpheros-sandbox]
```

`author_type: ai` के साथ लिखे गए मापन इन तथ्यों में कभी दिखाई नहीं देते हैं। उन्हें अलग से `ai_notes` के तहत सूचीबद्ध किया गया है और सत्यापित नहीं के रूप में चिह्नित किया गया है, इसलिए मॉडल किसी पिछले मॉडल के अनुमान को मापन के रूप में गलत नहीं समझ सकता है। मॉडल को बताएं कि लेबल का क्या मतलब है और उन्हें उद्धृत करने के लिए कहें; [FHIR बैकएंड के साथ AI हेल्थकेयर ऐप कैसे बनाएं](https://developers.anpheros.com/hi/guides/build-ai-healthcare-app) एक ऐसा प्रॉम्प्ट दिखाता है जो ऐसा करता है।

## मरीज़ क्या देखता है

प्रोवेनेंस (Provenance) वह भी है जो मरीज़ देखता है। उनके रिकॉर्ड में दिखाया जाता है कि किसने कौन सी चीज़ जोड़ी है, और उनके कनेक्शन (connections) की सूची दिखाती है कि प्रत्येक एप्लिकेशन के लिए, किसने क्या एक्सेस किया, जब कोई प्रैक्टिशनर (practitioner) कार्य कर रहा था तो नाम से ("डॉ. एना पोपेस्कु · क्लिनिका कार्डियो नॉर्ड ने आपके लैब परिणाम पढ़े")। [सहमति और एक्सेस मॉडल](https://developers.anpheros.com/hi/guides/consent) देखें।

## प्रोवेनेंस को उपयोगी बनाने वाले नियम

1. **हमेशा लेखक का प्रकार सेट करें।** इसमें एक फ़ील्ड लगता है और यह रिकॉर्ड में सबसे महत्वपूर्ण लेबल है।
2. **जब कोई व्यक्ति इसे लिखे तो व्यक्ति का नाम दें।** क्लिनिकल स्टाफ के लिए `X-Anpheros-Acting-As` का उपयोग करें।
3. **स्रोत सिस्टम का नाम दें**, और जब स्रोत का अपना आईडी हो तो उसे मूल आईडी के रूप में पास करें।
4. **अपडेट करके सही करें, कभी भी डिलीट और फिर से बनाकर नहीं।** एक अपडेट पुराने और नए मान के बीच लिंक बनाए रखता है।
5. **AI आउटपुट को `ai` के रूप में लेबल करें**, जिसमें वे मान भी शामिल हैं जिन्हें मॉडल ने किसी दस्तावेज़ से निकाला है। किसी दस्तावेज़ से प्राप्त मान `derived_from` के साथ उस पर वापस इंगित भी कर सकते हैं।

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

### स्वास्थ्य सेवा में डेटा प्रोवेनेंस क्या है?
किसी स्वास्थ्य डेटा के टुकड़े की प्रलेखित उत्पत्ति और इतिहास: किसने इसे बनाया या बदला, किसके कहने पर, किस सिस्टम से और कब। HL7 FHIR में, इसे `Provenance` संसाधन द्वारा दर्शाया जाता है, जो उस संसाधन के सटीक संस्करण को इंगित करता है जिसका यह वर्णन करता है।

### क्या प्रोवेनेंस ऑडिट लॉग के समान है?
नहीं। प्रोवेनेंस डेटा का वर्णन करता है: किसने प्रत्येक संस्करण लिखा। एक ऑडिट लॉग एक्सेस का वर्णन करता है: किसने क्या, कब, किस सहमति के तहत पढ़ा या लिखा। Anpheros दोनों रखता है; रोगी अपने रिकॉर्ड से जुड़े हर एप्लिकेशन के लिए एक्सेस लॉग देखता है।

### क्या मैं अपने स्वयं के प्रोवेनेंस संसाधन लिख सकता हूँ?
Anpheros प्रत्येक create, update और delete के लिए एक लिखता है, इसलिए आपको सामान्यतः ऐसा करने की आवश्यकता नहीं होती है। इसे सटीक बनाने के लिए ऊपर दिए गए हेडर का उपयोग करें। क्लाइंट-आपूर्ति प्रोवेनेंस को एकल रोगी के संसाधनों को लक्षित करना चाहिए।

## संबंधित

- [सहमति और एक्सेस मॉडल](https://developers.anpheros.com/hi/guides/consent)
- [FHIR बैकएंड के साथ क्लिनिक सिस्टम को कैसे एकीकृत करें](https://developers.anpheros.com/hi/guides/integrate-clinic-systems-fhir)
- [मेडिकल डेटा को कैसे सामान्य करें](https://developers.anpheros.com/hi/guides/normalize-medical-data)
- [स्वास्थ्य सेवा डेटा इंटरऑपरेबिलिटी](https://developers.anpheros.com/hi/guides/interoperability)
- [सुरक्षा, गोपनीयता और डेटा रेजीडेंसी](https://developers.anpheros.com/hi/guides/security)
