المريض كل شيء في FHIR

يتم استخدام عملية المريض-كل شيء لتوفير عرض لجميع الموارد المتعلقة بالمريض. يمكن أن تكون هذه العملية مفيدة لمنح المرضى حق الوصول إلى سجلهم بالكامل أو لموفر أو مستخدم آخر لإجراء تنزيل بيانات مجمعة تتعلق بمريض. وفقا لمواصفات FHIR، يقوم المريض-كل شيء بإرجاع جميع المعلومات المتعلقة بواحد أو أكثر من المرضى الموضحين في المورد أو السياق الذي يتم استدعاء هذه العملية عليه. في واجهة برمجة تطبيقات Azure ل FHIR، يتوفر كل شيء للمرضى لسحب البيانات المتعلقة بمريض معين.

استخدام المريض-كل شيء

لاستدعاء Patient-everything، استخدم الأمر التالي:

GET {FHIRURL}/Patient/{ID}/$everything

ملاحظة

يجب تحديد معرف لمريض معين. إذا كنت بحاجة إلى جميع البيانات لجميع المرضى، فشاهد $export.

تتحقق واجهة برمجة تطبيقات Azure ل FHIR من أنه يمكنه العثور على المريض الذي يطابق معرف المريض المقدم. إذا تم العثور على نتيجة، ستكون الاستجابة مجموعة من النوع searchset مع المعلومات التالية:

  • مورد المريض
  • الموارد التي تتم الإشارة إليها مباشرة بواسطة مورد المريض، باستثناء مراجع الارتباط التي ليست من seealso أو إذا كان seealso الارتباط يشير إلى RelatedPerson.
  • إذا كان هناك seealso مرجع (مراجع) ارتباط إلى مريض (مرضى) آخرين، فستتضمن النتائج عملية كل شيء للمريض مقابل seealso المريض (المرضى) المدرجين.
  • الموارد في حجرة المريض
  • موارد الجهاز التي تشير إلى مورد المريض.

ملاحظة

إذا كان لدى المريض أكثر من 100 جهاز مرتبط به، فسيتم إرجاع 100 جهاز فقط.

معلمات كل المرضى

تدعم واجهة برمجة تطبيقات Azure ل FHIR معلمات الاستعلام التالية. جميع هذه المعلمات اختيارية:

معلمة الاستعلام الوصف
_اكتب يسمح لك بتحديد أنواع الموارد التي سيتم تضمينها في الاستجابة. على سبيل المثال، _type=اللقاء سيعيد الموارد المقترنة بالمريض فقط Encounter .
_منذ سيعيد الموارد التي تم تعديلها منذ الوقت المقدم فقط.
ابدأ سيؤدي تحديد تاريخ البدء إلى سحب الموارد حيث يكون تاريخها السريري بعد تاريخ البدء المحدد. إذا لم يتم توفير تاريخ بدء، تكون جميع السجلات قبل تاريخ الانتهاء في النطاق.
النهاية سيؤدي تحديد تاريخ الانتهاء إلى سحب الموارد حيث يكون تاريخها السريري قبل تاريخ الانتهاء المحدد. إذا لم يتم توفير تاريخ انتهاء، تكون جميع السجلات بعد تاريخ البدء في النطاق.

ملاحظة

لا يدعم هذا التنفيذ ل Patient-كل شيء المعلمة _count.

على مورد المريض، هناك عنصر يسمى الارتباط، والذي يربط المريض بالمرضى الآخرين أو الأشخاص ذوي الصلة. يساعد هؤلاء المرضى المرتبطون في إعطاء نظرة شاملة للمريض الأصلي. يمكن استخدام مرجع الارتباط عندما يحل مريض محل مريض آخر أو عندما يكون لدى موردين من موارد المريض معلومات تكميلية. حالة استخدام واحدة للارتباطات هي عندما تأتي رسالة ADT 38 أو 39 HL7v2. يصف ADT38/39 تحديثا للمريض. يمكن تخزين هذا التحديث كمرجع بين مريضين في عنصر الارتباط.

تحتوي مواصفات FHIR على نظرة عامة مفصلة على الأنواع المختلفة من ارتباطات المرضى، ولكن فيما يلي ملخص عالي المستوى:

  • replaces - يحل مورد المريض محل مريض مختلف.
  • الرجوع - المريض صالح، ولكنه لا يعتبر المصدر الرئيسي للمعلومات. يشير إلى مريض آخر لاسترداد معلومات إضافية.
  • seealso - يحتوي المريض على ارتباط إلى مريض آخر صالح على قدم المساواة.
  • استبدال - يحل مورد المريض محل مريض مختلف.

تعالج عملية المريض-كل شيء في واجهة برمجة تطبيقات Azure ل FHIR ارتباطات المرضى بطرق مختلفة لمنحك العرض الأكثر شمولية للمريض.

ملاحظة

يمكن أن يشير الارتباط أيضا إلى RelatedPerson. في الوقت الحالي، RelatedPerson لا تتم معالجة الموارد في كل شيء للمرضى ولا يتم إرجاعها في الحزمة.

في الوقت الحالي، يتم تجاهل الروابط والاستعاضة عن طريق عملية كل شيء للمريض، ولا يتم إرجاع المريض المرتبط في المجموعة.

كما هو موضح، تشير ارتباطات seealso إلى مريض آخر يعتبر صالحا بنفس القدر للمريض الأصلي. بعد تشغيل عملية المريض-كل شيء، إذا كان لدى المريض seealso ارتباطات إلى مرضى آخرين، فإن العملية تقوم بتشغيل كل شيء على كل seealso ارتباط. وهذا يعني أنه إذا كان المريض يرتبط بخمسة مرضى آخرين لديهم ارتباط نوع seealso ، فسنقوم بتشغيل كل شيء على كل مريض من هؤلاء المرضى الخمسة.

ملاحظة

تم إعداد هذا لمتابعة seealso الارتباطات بعمق طبقة واحدة فقط. لا يعالج seealso ارتباطات الارتباط seealso .

راجع أيضا الرسم التخطيطي للتدفق.

يتم استبدال نوع الارتباط النهائي. في هذه الحالة، لم يعد يتم استخدام مورد المريض الأصلي ويشير replaced-by الارتباط إلى المريض الذي يجب استخدامه. سيتضمن هذا التنفيذ Patient-everything بشكل افتراضي نتيجة عملية في بداية المجموعة مع تحذير بأن المريض لم يعد صالحا. سيكون هذا أيضا السلوك عند Prefer تعيين العنوان إلى handling=lenient.

بالإضافة إلى ذلك، يمكنك تعيين Prefer العنوان إلى handling=strict لطرح خطأ بدلا من ذلك. في هذه الحالة، يشير إرجاع رمز الخطأ 301 MovedPermanently إلى أن المريض الحالي قديم ويعيد معرف المريض الصحيح المضمن في الارتباط. ContentLocation سيشير عنوان الخطأ الذي تم إرجاعه إلى الطلب الصحيح والمحدث.

ملاحظة

replaced-by إذا كان الارتباط موجودا، Prefer: handling=lenient وتم إرجاع النتائج بشكل غير متزامن في حزم متعددة، يتم إرجاع نتيجة العملية فقط في حزمة واحدة.

طلب استجابة كل المرضى

ترجع عملية Patient-everything النتائج على مراحل:

  1. ترجع Patient المرحلة 1 المورد نفسه بالإضافة إلى أي generalPractitioner من مراجع ir للموارد managingOrganization .
  2. تقوم المرحلة 2 و3 بإعادة الموارد في حجرة المريض. إذا تم تحديد معلمات استعلام البدء أو النهاية، فترجع المرحلة 2 الموارد من الحجرة التي يمكن تصفيتها حسب تاريخها السريري، وترجع المرحلة 3 الموارد من الحجرة التي لا يمكن تصفيتها حسب تاريخها السريري. إذا لم يتم تحديد أي من هذه المعلمات، يتم تخطي المرحلة 2 وترجع المرحلة 3 جميع موارد حجرة المريض.
  3. ستقوم المرحلة 4 بإعادة أي أجهزة تشير إلى المريض.

سترجع كل مرحلة النتائج في مجموعة. إذا كانت النتائج تمتد عبر صفحات متعددة، فسيشير الارتباط التالي في المجموعة إلى الصفحة التالية من النتائج لتلك المرحلة. بعد إرجاع جميع النتائج من مرحلة، سيشير الارتباط التالي في الحزمة إلى الاستدعاء لبدء المرحلة التالية.

إذا كان المريض الأصلي لديه أي seealso روابط، سيتم تكرار المراحل من 1 إلى 4 لكل من هؤلاء المرضى.

أمثلة على المريض-كل شيء

فيما يلي بعض الأمثلة على استخدام عملية Patient-everything. بالإضافة إلى الأمثلة، لدينا نموذج ملف REST يوضح كيفية seealso عمل سلوك و replaced-by .

لاستخدام Patient-كل شيء للاستعلام بين 2010 و2020، استخدم الاستدعاء التالي:

GET {FHIRURL}/Patient/{ID}/$everything?start=2010&end=2020

لاستخدام $patient-كل شيء للاستعلام عن ملاحظة المريض ولقاءه، استخدم الاستدعاء التالي:

GET {FHIRURL}/Patient/{ID}/$everything?_type=Observation,Encounter 

لاستخدام $patient-كل شيء للاستعلام عن "كل شيء" للمريض منذ 2021-05-27T05:00:00Z، استخدم المكالمة التالية:

GET {FHIRURL}/Patient/{ID}/$everything?_since=2021-05-27T05:00:00Z 

إذا تم العثور على مريض لكل من هذه المكالمات، فستحصل على استجابة 200 مع أحد Bundle الموارد المقابلة.

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

الآن بعد أن عرفت كيفية استخدام عملية Patient-everything، يمكنك التعرف على خيارات البحث.

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