# सहमति और एक्सेस मॉडल

> कौन क्या देखता है: प्रोजेक्ट आइसोलेशन, पेयरवाइज आईडी, ग्रांट्स, राइट ओनरशिप, प्रोवेनेंस और हर उस एप्लिकेशन के बारे में जो एक्सेस रखता है, पेशेंट क्या देखता है।

Source: https://developers.anpheros.com/hi/guides/consent

**नियम:** पेशेंट की सहमति से एक संगठन पूरे रिकॉर्ड को देखता है — जिसमें अन्य क्लीनिकों द्वारा लिखी गई जानकारी भी शामिल है — लेकिन वह केवल वही बदल या हटा सकता है जो उसने स्वयं लिखा है। हर रिसोर्स के हर संस्करण में उस प्रोजेक्ट का रिकॉर्ड होता है जिसने उसे लिखा था और उस संगठन का जिसके ओर से वह लिखा गया था।

## कौन क्या देखता है
- एक **प्रोजेक्ट** (API key) उन रोगियों को देखता है जिन्हें उसने बनाया है। एक **ग्रांट** (OAuth token) के तहत एक एप्लिकेशन, सभी लेखकों में से ठीक एक रोगी को देखता है, जो ग्रांट किए गए स्कोप और श्रेणी फिल्टर तक सीमित है। बाकी सब कुछ 404 लौटाता है, कभी भी 403 नहीं, इसलिए आईडी की जांच नहीं की जा सकती है।
- **पेयरवाइज आईडी:** प्रत्येक प्रोजेक्ट को एक ही व्यक्ति के लिए अपनी आईडी मिलती है; आंतरिक आईडी कभी भी प्लेटफ़ॉर्म से बाहर नहीं जाती हैं। आपके स्कोप के बाहर के रोगियों के संदर्भों को एक अपारदर्शी, प्रति-प्रोजेक्ट टोकन के साथ मास्क किया जाता है।
- **निर्देशिका** (Organization, Practitioner, PractitionerRole): संदर्भों को हल करने के लिए आईडी द्वारा प्लेन में पठनीय है; केवल आपके प्रोजेक्ट के भीतर खोजने योग्य है; `X-Anpheros-Acting-As` / `X-Anpheros-On-Behalf-Of` के रूप में केवल तभी प्रयोग करने योग्य है जब आपका हो।
- **सैंडबॉक्स और प्रोडक्शन** अलग-अलग डेटाबेस हैं। एक सैंडबॉक्स कुंजी भौतिक रूप से वास्तविक रोगियों तक नहीं पहुंच सकती है।

## लेखन और स्वामित्व
- प्रत्येक संसाधन संस्करण पर `project_id` = लेखक। किसी अन्य प्रोजेक्ट द्वारा अपडेट/डिलीट → 403 स्पष्टीकरण के साथ; अपना स्वयं का संसाधन लिखें।
- लेखन के समय `Provenance.agent.onBehalfOf` = क्लिनिक/संगठन: `X-Anpheros-On-Behalf-Of`, अन्यथा कार्यशील PractitionerRole का संगठन, अन्यथा प्रोजेक्ट का संगठन।
- प्रत्येक लेखन एक Provenance संसाधन और एक ऑडिट पंक्ति उत्पन्न करता है (कौन, क्या, कब, किस अनुदान के तहत, कौन सा एप्लिकेशन, किस स्रोत फिंगरप्रिंट से)।

## मरीज़ क्या देखता है
`/me/patients/{id}/grants` हर उस एप्लिकेशन को सूचीबद्ध करता है जिसकी पहुँच है, उसके स्कोप और समाप्ति की तारीख; `…/access-log` सूचीबद्ध करता है कि प्रत्येक ने क्या पढ़ा या लिखा — सहमति **और** प्रोजेक्ट की अपनी कुंजी के तहत। निरस्तीकरण अगले अनुरोध पर प्रभावी होता है; एप्लिकेशन वापस रीफ़्रेश नहीं कर सकता।
`format=fhir` के साथ एक्सेस लॉग एक FHIR R4 `AuditEvent` संसाधनों के बंडल के रूप में वापस आता है, जो IHE बेसिक ऑडिट लॉग पैटर्न (प्रकार `rest`, उपप्रकार के रूप में इंटरैक्शन, एजेंट के रूप में एप्लिकेशन और उसके माध्यम से कार्य करने वाला व्यक्ति, संस्थाओं के रूप में मरीज़ और संसाधन, कोई नैदानिक डेटा नहीं) के बाद आकार दिया गया है, ताकि कोई अन्य सिस्टम इसे व्यक्ति के रिकॉर्ड तक किसने पहुँचा, इसके दृश्य में मर्ज कर सके।

प्रत्येक Provenance संसाधन क्या रिकॉर्ड करता है और इसे कैसे सेट करें: [मेडिकल डेटा प्रोवेनेंस समझाया गया](https://developers.anpheros.com/hi/guides/medical-data-provenance)।

## SMART Health Links (QR या लिंक द्वारा साझा करना)

कोई व्यक्ति बीच में किसी एप्लिकेशन के बिना अपना रिकॉर्ड साझा कर सकता है: `POST /me/patients/{id}/shl` **आपातकालीन** सबसेट (एलर्जी, दवाएं, समस्याएं, टीकाकरण - कोई परिणाम या इतिहास नहीं) या **पूर्ण** अंतर्राष्ट्रीय रोगी सारांश के लिए एक [SMART Health Link](https://hl7.org/fhir/uv/smart-health-cards-and-links/) बनाता है, जिसमें एक वैकल्पिक पासकोड और समाप्ति तिथि होती है। प्रतिक्रिया में `shlink:/…` URI (QR कोड के लिए) और `/shl/view` पर एक व्यूअर एड्रेस होता है, जो इसे किसी भी ब्राउज़र में खोलता है। जो कोई भी इसे स्कैन करता है, वह मैनिफ़ेस्ट URL पर पोस्ट करता है और JWE (`dir` + `A256GCM`) के रूप में सारांश प्राप्त करता है, जो लिंक के अंदर की कुंजी के साथ एन्क्रिप्टेड होता है; कोई भी SMART Health Link रीडर काम करता है।

- सामग्री प्रत्येक बार खोले जाने पर उत्पन्न होती है (फ्लैग `L`, स्थिति `can-change`), इसलिए फोन में रखा गया कार्ड वर्तमान रहता है।
- सर्वर पर एक पासकोड (फ्लैग `P`) की जाँच की जाती है; 10 गलत प्रयासों के बाद लिंक काम करना बंद कर देता है।
- `GET /me/patients/{id}/shl` प्रत्येक लिंक को कितनी बार और कब खोला गया, इसकी सूची देता है; `…/shl/{link}/revoke` एक बार में एक को बंद कर देता है। प्रत्येक बार खोले जाने की जानकारी एक्सेस लॉग में होती है।
- व्यक्ति का आंतरिक आईडी कभी भी प्लेटफ़ॉर्म नहीं छोड़ता है: दस्तावेज़ उन्हें लिंक के छद्म नाम से नामित करता है।

## एआई एजेंट प्रस्ताव देते हैं, व्यक्ति निर्णय लेता है

व्यक्ति की सहमति के तहत, एक एआई एजेंट द्वारा लिखा गया (उदाहरण के लिए, एम.सी.पी. के माध्यम से जुड़ा एक सहायक) या `author_type` `ai` के साथ कोई भी लेखन तुरंत लागू नहीं होता है। प्लेटफ़ॉर्म इसे मान्य करता है और प्रस्ताव आईडी (हेडर `Anpheros-Proposal`) के साथ `202 Accepted` का उत्तर देता है; रिकॉर्ड में कुछ भी नहीं बदलता है। व्यक्ति इसे `GET /me/patients/{id}/proposals` में देखता है — यह क्या है, किस एप्लिकेशन ने इसे भेजा — और इसे स्वीकार या अस्वीकार करता है (`…/proposals/{proposal}/accept` या `…/reject`)। एक स्वीकृत प्रस्ताव ठीक उसी तरह लिखा जाता है जैसा भेजा गया था, जिसे एआई-लिखित (एच.एल.7 ए.आई. पारदर्शिता) के रूप में चिह्नित किया जाता है। जो प्रोजेक्ट रिकॉर्ड देख सकते हैं, उन्हें एक पतली `proposal.created` वेबहुक मिलती है। प्रोजेक्ट की अपनी कुंजी के साथ किए गए लेखन, उन रिकॉर्ड पर जिन्हें प्रोजेक्ट ने बनाया है, रोके नहीं जाते हैं।
