المريض كل شيء في 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 النتائج على مراحل:
- ترجع
Patient
المرحلة 1 المورد نفسه بالإضافة إلى أيgeneralPractitioner
من مراجع ir للمواردmanagingOrganization
. - تقوم المرحلة 2 و3 بإعادة الموارد في حجرة المريض. إذا تم تحديد معلمات استعلام البدء أو النهاية، فترجع المرحلة 2 الموارد من الحجرة التي يمكن تصفيتها حسب تاريخها السريري، وترجع المرحلة 3 الموارد من الحجرة التي لا يمكن تصفيتها حسب تاريخها السريري. إذا لم يتم تحديد أي من هذه المعلمات، يتم تخطي المرحلة 2 وترجع المرحلة 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.