# DoseWeek रिकॉर्ड निकालने का मसौदा — संस्करण 1

यह गाइड DoseWeek में ‘दूसरे ऐप से रिकॉर्ड आयात करें’ के साथ इस्तेमाल होती है। अगर यह स्क्रीन नहीं दिखती, तो पहले DoseWeek अपडेट करें। आयात पूरा होने तक मूल रिकॉर्ड संभालकर रखें।

यह फ़ॉर्मैट DoseWeek की आयात स्क्रीन में जाँच के लिए साक्ष्य सुरक्षित रखता है। यह एन्क्रिप्टेड बैकअप, नैदानिक निर्णय या किसी विक्रेता के फ़ॉर्मैट की गारंटी नहीं है।

ऐप की सीमाएँ: एक आयात में अधिकतम 10,000 पंक्तियाँ और इनपुट JSON अधिकतम 10 MiB हो सकता है। अधूरा जाँच ड्राफ़्ट iPhone और iPad पर अधिकतम 4 MiB और Android पर अधिकतम 1 MiB (1,048,576 बाइट) हो सकता है; इससे बड़ा आयात अस्वीकार होता है, कभी काटा नहीं जाता। लक्षण और अवर्गीकृत पंक्तियाँ सहेजी नहीं जा सकतीं; उनका मूल टेक्स्ट रखें और चयन हटा दें। Android पर, पिछले आयात के बाद हटाए गए रिकॉर्ड से मेल खाने वाली पंक्तियाँ पहले से आयातित मानी जाती हैं और वापस नहीं लाई जातीं।

1. सबसे ऊपर format का मान doseweek.record_extraction_draft है; version का मान 1 है; reviewed_by_user का मान false है। records और unreadable_sections ऐरे हैं। अज्ञात फ़ील्ड चुपचाप हटाने के बजाय अस्वीकार करें।

2. हर पंक्ति में टेम्पलेट के सभी फ़ील्ड और मसौदे के भीतर एक अनूठा row_id हो। स्रोत के पहचानकर्ता अपने-आप DoseWeek रिकॉर्ड ID नहीं बनते। source_references में दस्तावेज़ का लेबल, ज्ञात होने पर 1 से शुरू होने वाली पेज संख्या, पंक्ति का लेबल और दिखता टेक्स्ट रखें; null का अर्थ अज्ञात है।

3. मूल संख्याएँ dose_value_text और measurement_value_text में स्ट्रिंग के रूप में रखें। वर्तनी, दशमलव चिह्न, इकाइयाँ और स्रोत की तारीख/समय का टेक्स्ट सुरक्षित रखें। न पढ़ी जा सकने वाली या सपोर्ट न की गई जानकारी visible_text और needs_review में रहे; कोई मान न गढ़ें।

4. date_iso केवल तभी YYYY-MM-DD हो जब पूरी तारीख स्पष्ट और मान्य हो। time_24h, HH:mm हो; स्रोत में दिखने पर सेकंड और सेकंड के अंश भी हो सकते हैं। time_zone और utc_offset के लिए स्रोत में स्पष्ट प्रमाण आवश्यक है। गायब या अस्पष्ट फ़ील्ड null हों, खाली स्ट्रिंग या अनुमानित तारीख/समय नहीं।

5. स्कीमा केवल संरचना जाँचता है। DoseWeek का आयात वास्तविक कैलेंडर तिथियाँ, इकाइयाँ, समर्थित दवा और माप मैपिंग, समय क्षेत्र और दोहराव भी जाँचता है, और हर पंक्ति की जाँच फिर भी आप करते हैं। केवल स्कीमा पास होने से सहेजने की अनुमति कभी नहीं मिलती।

6. ऐप उन चुनी गई पंक्तियों को अस्वीकार करता है जिनके ज़रूरी फ़ील्ड अनसुलझे हैं, और चयन को मौजूदा रिकॉर्ड ओवरराइट किए बिना एक ही अविभाज्य चरण में जोड़ता है। बिना समय वाली पंक्ति के लिए ऐप में असली समय दर्ज करके उसकी पुष्टि करनी होती है; आधी रात या दोपहर जैसा कोई अस्थायी समय इस्तेमाल नहीं होता।

7. मसौदे और स्रोत फ़ाइलें निजी रखें। इस स्थिर गाइड में कोई अपलोड फ़ॉर्म नहीं है। बाहरी AI चुनने पर चयनित फ़ाइलें उस सेवा की अपनी शर्तों के तहत उसे भेजी जाती हैं। आप वही फ़ील्ड हाथ से या डिवाइस पर ही टेक्स्ट पहचानने वाली सुविधा से तैयार कर सकते हैं। अगर आप फ़ाइल स्वयं बनाते हैं, तो AI के उत्तर में से केवल JSON सामग्री को UTF-8 में .json फ़ाइल के रूप में सहेजें। एक मसौदे में अधिकतम 10,000 रिकॉर्ड हो सकते हैं। डिकोड की गई प्रत्येक JSON स्ट्रिंग की सीमा 16 KiB (16,384 UTF-8 बाइट) है। ऐप इस बाइट सीमा की जाँच करता है; JSON Schema का maxLength Unicode कोड पॉइंट गिनता है, UTF-8 बाइट नहीं। JSON फ़ाइल की सीमा 10 MiB है और नेस्टिंग की सीमा 32 स्तर है।

```json
{
  "format": "doseweek.record_extraction_draft",
  "version": 1,
  "reviewed_by_user": false,
  "records": [
    {
      "row_id": "row-0001",
      "record_type": "unclassified",
      "source_app": null,
      "source_record_id": null,
      "source_references": [
        {
          "document": null,
          "page": null,
          "row": null,
          "visible_text": null
        }
      ],
      "date_text": null,
      "date_iso": null,
      "time_text": null,
      "time_24h": null,
      "time_zone": null,
      "utc_offset": null,
      "medication_name": null,
      "dose_value_text": null,
      "dose_unit": null,
      "site_text": null,
      "measurement_type": null,
      "measurement_value_text": null,
      "measurement_unit": null,
      "symptom_text": null,
      "severity_text": null,
      "note": null,
      "needs_review": []
    }
  ],
  "unreadable_sections": []
}
```
