تصدير بيانات FHIR

باستخدام العملية المجمعة $export في خدمة FHIR، يمكنك تصدير البيانات كما هو موضح في مواصفات HL7 FHIR Bulk Data Access.

قبل محاولة استخدام $export، تأكد من تكوين خدمة FHIR للاتصال بحساب Azure Data Lake Storage Gen2. لتكوين إعدادات التصدير وإنشاء حساب Data Lake Storage Gen2، راجع تكوين الإعدادات للتصدير.

$export استدعاء نقطة النهاية

بعد إعداد خدمة FHIR للاتصال بحساب Data Lake Storage Gen2، يمكنك استدعاء $export نقطة النهاية، وستقوم خدمة FHIR بتصدير البيانات إلى حاوية تخزين Azure Blob داخل حساب التخزين. يقوم طلب المثال التالي بتصدير كافة الموارد إلى حاوية، والتي يتم تحديدها بالاسم ({{containerName}}). لاحظ أنه يجب إنشاء الحاوية في حساب Data Lake Storage Gen2 مسبقا إذا كنت تريد تحديد {{containerName}} في الطلب.

GET {{fhirurl}}/$export?_container={{containerName}}

إذا لم تحدد اسم حاوية في الطلب (على سبيل المثال، عن طريق استدعاء GET {{fhirurl}}/$export)، فسيتم إنشاء حاوية جديدة باسم تم إنشاؤه تلقائيا للبيانات المصدرة.

للحصول على معلومات عامة حول مواصفات واجهة برمجة تطبيقات FHIR $export ، راجع وثائق تدفق طلب تصدير HL7 FHIR.

تدعم $export خدمة FHIR على المستويات التالية:

  • النظام: GET {{fhirurl}}/$export
  • المريض: GET {{fhirurl}}/Patient/$export
  • مجموعة من المرضى*: GET {{fhirurl}}/Group/[ID]/$export
    *تقوم خدمة FHIR بتصدير جميع الموارد المشار إليها ولكنها لا تصدر خصائص مورد المجموعة نفسه.

يتم تصدير البيانات في ملفات متعددة. يحتوي كل ملف على موارد من نوع واحد فقط. سيكون عدد الموارد في ملف فردي محدودا. يعتمد الحد الأقصى لعدد الموارد على أداء النظام. تم تعيينه حاليا إلى 5000، ولكن يمكن أن يتغير. والنتيجة هي أنك قد تحصل على ملفات متعددة لنوع مورد. ستتبع أسماء الملفات التنسيق <resourceName>-<number>-<number>.ndjson. لا يضمن ترتيب الملفات أن يتوافق مع أي ترتيب للموارد في قاعدة البيانات.

إشعار

Patient/$export ويمكن تصدير Group/[ID]/$export الموارد المكررة إذا كان المورد في مجموعات متعددة أو في حجرة من أكثر من مورد واحد.

بالإضافة إلى التحقق من وجود الملفات المصدرة في حساب التخزين الخاص بك، يمكنك التحقق من $export حالة العملية من خلال عنوان URL في Content-Location العنوان الذي تم إرجاعه في استجابة خدمة FHIR. لمزيد من المعلومات، راجع وثائق طلب حالة البيانات المجمعة من HL7.

تصدير بيانات FHIR إلى Data Lake Storage Gen2

حاليا، تدعم $export خدمة FHIR حسابات Data Lake Storage Gen2، مع القيود التالية:

  • يوفر Data Lake Storage Gen2 مساحات أسماء هرمية، ومع ذلك لا توجد طريقة لاستهداف $export العمليات إلى دليل فرعي معين داخل حاوية. يمكن لخدمة FHIR تحديد حاوية الوجهة للتصدير فقط، حيث يتم إنشاء مجلد جديد لكل $export عملية.
  • $export بعد اكتمال العملية وكتابة جميع البيانات داخل مجلد، لا تقوم خدمة FHIR بتصدير أي شيء إلى هذا المجلد مرة أخرى، لأن عمليات التصدير اللاحقة إلى نفس الحاوية ستكون داخل مجلد تم إنشاؤه حديثا.

لتصدير البيانات إلى حساب تخزين خلف جدار حماية، راجع تكوين إعدادات التصدير.

الإعدادات والمعلمات

الرؤوس

يجب تعيين معلمتين مطلوبتين للعنوان للوظائف $export . يتم تعيين القيم وفقا لمواصفات HL7 $export الحالية.

  • قبول: application/fhir+json
  • يفضل: respond-async

معلمات الاستعلام

تدعم خدمة FHIR معلمات الاستعلام التالية لتصفية البيانات المصدرة. كل هذه المعلمات اختيارية.

معلمة الاستعلام معرفة بواسطة مواصفات FHIR؟ ‏‏الوصف
_outputFormat ‏‏نعم‬ يدعم حاليا ثلاث قيم لمحاذاة مواصفات FHIR: application/fhir+ndjsonأو application/ndjsonأو فقط ndjson. ستقوم جميع مهام التصدير بإعادة .ndjson الملفات وليس للقيمة التي تم تمريرها أي تأثير على سلوك التعليمات البرمجية.
_since ‏‏نعم‬ يسمح لك بتصدير الموارد التي تم تعديلها منذ الوقت المحدد فقط.
_type ‏‏نعم‬ يسمح لك بتحديد أنواع الموارد التي سيتم تضمينها. على سبيل المثال، _type=Patient سيعيد موارد المرضى فقط.
_typeFilter ‏‏نعم‬ لطلب تصفية أكثر دقة، يمكنك استخدام _typeFilter جنبا إلى جنب مع المعلمة _type . قيمة المعلمة _typeFilter هي قائمة مفصولة بفواصل من استعلامات FHIR التي تحد من النتائج بشكل أكبر.
_container لا يحدد اسم الحاوية في حساب التخزين المكون حيث يجب تصدير البيانات. إذا تم تحديد حاوية، فسيتم تصدير البيانات إلى مجلد في تلك الحاوية. إذا لم يتم تحديد الحاوية، فسيتم تصدير البيانات إلى حاوية جديدة باسم تم إنشاؤه تلقائيا.
_till لا يسمح لك بتصدير الموارد التي تم تعديلها حتى الوقت المحدد. هذه المعلمة قابلة للتطبيق فقط مع التصدير على مستوى النظام. في هذه الحالة، إذا لم يتم تعطيل الإصدارات التاريخية أو إزالتها، يضمن التصدير عرض اللقطة الحقيقي، أو بعبارة أخرى، يتيح السفر عبر الزمن.
includeAssociatedData لا يسمح لك بتصدير المحفوظات والموارد المحذوفة مبدئيا. لا يعمل عامل التصفية هذا مع معلمة الاستعلام "_typeFilter". قم بتضمين القيمة ك "_history" لتصدير المحفوظات/ الموارد غير الأحدث التي تم إصدارها. قم بتضمين القيمة ك "_deleted" لتصدير الموارد المحذوفة مبدئيا.

إشعار

يسمح فقط بتسجيل حسابات التخزين في نفس الاشتراك مثل خدمة FHIR كوجهة للعمليات $export .

استكشاف الأخطاء وإصلاحها‬

يمكن أن تساعدك المعلومات التالية في حل المشاكل المتعلقة بتصدير بيانات FHIR.

الوظائف عالقة في حالة سيئة

في بعض الحالات، هناك احتمال أن تكون الوظيفة عالقة في حالة سيئة بينما تحاول خدمة FHIR تصدير البيانات. يمكن أن يحدث هذا خاصة إذا لم يتم إعداد أذونات حساب Data Lake Storage Gen2 بشكل صحيح.

إحدى الطرق للتحقق من $export حالة العملية هي الانتقال إلى مستعرض التخزين لحساب التخزين الخاص بك ومعرفة ما إذا كانت أي .ndjson ملفات موجودة في حاوية التصدير. إذا لم تكن الملفات موجودة ولم يتم تشغيل أي مهام أخرى $export ، فمن المحتمل أن تكون الوظيفة الحالية عالقة في حالة سيئة. في هذه الحالة، يمكنك إلغاء $export المهمة عن طريق استدعاء واجهة برمجة تطبيقات خدمة FHIR مع DELETE طلب. لاحقا، يمكنك إعادة طلب المهمة والمحاولة $export مرة أخرى.

لمزيد من المعلومات حول إلغاء $export عملية، راجع وثائق طلب حذف البيانات المجمعة من HL7.

إشعار

في خدمة FHIR، الوقت $export الافتراضي لعملية خمول في حالة سيئة هو 10 دقائق قبل أن توقف الخدمة العملية وتنتقل إلى وظيفة جديدة.

الخطوات التالية

في هذه المقالة، تعرفت على تصدير موارد FHIR باستخدام $export العملية. للحصول على معلومات حول كيفية إعداد واستخدام خيارات إضافية للتصدير، راجع:

FHIR® هي علامة تجارية مسجلة ل HL7 وتستخدم بإذن من HL7.