تخزين ملفات التعريف في واجهة برمجة تطبيقات Azure ل FHIR

تحدد HL7 Fast Healthcare Interoperability Resources (FHIR®) طريقة قياسية وقابلة للتشغيل التفاعلي لتخزين بيانات الرعاية الصحية وتبادلها. حتى ضمن مواصفات FHIR الأساسية، يمكن أن يكون من المفيد تحديد قواعد أو ملحقات أخرى استنادا إلى السياق الذي يتم استخدام FHIR. بالنسبة لمثل هذه الاستخدامات الخاصة بالسياق ل FHIR، يتم استخدام ملفات تعريف FHIR للطبقة الإضافية من المواصفات. يسمح لك ملف تعريف FHIR بتضييق نطاق تعريفات الموارد وتخصيصها باستخدام القيود والملحقات.

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

ملف تعريف FHIR: الأساسيات

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

فيما يلي بعض الأمثلة على كيفية تعديل ملفات التعريف للمورد الأساسي:

  • تقييد العلاقة الأساسية: على سبيل المثال، يمكنك تعيين الحد الأقصى للعلاقة الأساسية على عنصر إلى 0، ما يعني أن العنصر مستبعد في السياق المحدد.
  • تقييد محتويات عنصر بقيمة ثابتة واحدة.
  • حدد الملحقات المطلوبة للمورد.

StructureDefinition يتم تحديد بواسطة عنوان URL المتعارف عليه الخاص به:http://hl7.org/fhir/StructureDefinition/{profile}

على سبيل المثال:

  • http://hl7.org/fhir/StructureDefinition/patient-birthPlace هو ملف تعريف أساسي يتطلب معلومات حول العنوان المسجل لمولد المريض.
  • http://hl7.org/fhir/StructureDefinition/bmi هو ملف تعريف أساسي آخر يحدد كيفية تمثيل ملاحظات مؤشر كتلة الجسم (BMI).
  • http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance هو ملف تعريف أساسي للولايات المتحدة يحدد الحد الأدنى من التوقعات للمورد AllergyIntolerance المرتبط بالمريض، ويحدد الحقول الإلزامية مثل الملحقات ومجموعات القيم.

عندما يتوافق مورد مع ملف تعريف، يتم تحديد ملف التعريف داخل profile عنصر المورد. أدناه يمكنك مشاهدة مثال على بداية مورد "المريض"، الذي يحتوي على http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Patient ملف تعريف.

{
  "resourceType" : "Patient",
  "id" : "ExamplePatient1",
  "meta" : {
    "lastUpdated" : "2020-10-30T09:48:01.8512764-04:00",
    "source" : "Organization/PayerOrganizationExample1",
    "profile" : [
      "http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Patient"
    ]
  },

ملاحظة

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

يتم تحديد ملفات التعريف أيضا بواسطة أدلة التنفيذ المختلفة (IGs). يتم سرد بعض IGs الشائعة أدناه. لمزيد من المعلومات، تفضل بزيارة موقع IG المحدد لمعرفة المزيد حول IG وملفات التعريف المحددة داخله:

ملاحظة

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

الوصول إلى ملفات التعريف وتخزين ملفات التعريف

تخزين ملفات التعريف

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

قياسي PUT: PUT http://<your Azure API for FHIR base URL>/StructureDefinition/profile-id

أو

التحديث الشرطي: PUT http://<your Azure API for FHIR base URL>/StructureDefinition?url=http://sample-profile-url

{ 
"resourceType" : "StructureDefinition",
"id" : "profile-id",
"url": "http://sample-profile-url"
	…
}

على سبيل المثال، إذا كنت ترغب في تخزين us-core-allergyintolerance ملف التعريف، يمكنك استخدام الأمر المتبقي التالي مع ملف تعريف عدم تحمل الحساسية ل US Core في الجسم. لقد قمنا بإدراج قصاصة برمجية من ملف التعريف هذا على سبيل المثال.

PUT https://myAzureAPIforFHIR.azurehealthcareapis.com/StructureDefinition?url=http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance
{
    "resourceType" : "StructureDefinition",
    "id" : "us-core-allergyintolerance",
    "text" : {
        "status" : "extensions"
    },
    "url" : "http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance",
    "version" : "3.1.1",
    "name" : "USCoreAllergyIntolerance",
    "title" : "US  Core AllergyIntolerance Profile",
    "status" : "active",
    "experimental" : false,
    "date" : "2020-06-29",
        "publisher" : "HL7 US Realm Steering Committee",
    "contact" : [
    {
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://www.healthit.gov"
        }
      ]
    }
  ],
    "description" : "Defines constraints and extensions on the AllergyIntolerance resource for the minimal set of data to query and retrieve allergy information.",

لمزيد من الأمثلة، راجع نموذج ملف REST ل US Core على الموقع مفتوح المصدر الذي يستعرض تخزين ملفات تعريف US Core. للحصول على أحدث ملفات التعريف، يجب أن تحصل على ملفات التعريف مباشرة من HL7 ودليل التنفيذ الذي يحددها.

عرض ملفات التعريف

يمكنك الوصول إلى ملفات التعريف المخصصة الموجودة باستخدام GET طلب، ، GET http://<your Azure API for FHIR base URL>/StructureDefinition?url={canonicalUrl}حيث {canonicalUrl} هو عنوان URL المتعارف عليه لملف التعريف الخاص بك.

على سبيل المثال، إذا كنت تريد عرض ملف تعريف مورد US Core Goal:

GET https://myworkspace-myfhirserver.fhir.azurehealthcareapis.com/StructureDefinition?url=http://hl7.org/fhir/us/core/StructureDefinition/us-core-goal

سيؤدي هذا إلى StructureDefinition إرجاع المورد لملف تعريف الهدف الأساسي للولايات المتحدة، الذي سيبدأ كما يلي:

{
  "resourceType" : "StructureDefinition",
  "id" : "us-core-goal",
  "url" : "http://hl7.org/fhir/us/core/StructureDefinition/us-core-goal",
  "version" : "3.1.1",
  "name" : "USCoreGoalProfile",
  "title" : "US Core Goal Profile",
  "status" : "active",
  "experimental" : false,
  "date" : "2020-07-21",
  "publisher" : "HL7 US Realm Steering Committee",
  "contact" : [
    {
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://www.healthit.gov"
        }
      ]
    }
  ],
  "description" : "Defines constraints and extensions on the Goal resource for the minimal set of data to query and retrieve a patient's goal(s).",

}

ملاحظة

سترى فقط ملفات التعريف التي قمت بتحميلها في واجهة برمجة تطبيقات Azure ل FHIR.

لا ترجع StructureDefinition واجهة برمجة تطبيقات Azure ل FHIR مثيلات ملفات التعريف الأساسية، ولكن يمكن العثور عليها في موقع HL7 على الويب، مثل:

  • http://hl7.org/fhir/Observation.profile.json.html
  • http://hl7.org/fhir/Patient.profile.json.html

ملفات التعريف في عبارة القدرة

يسرد Capability Statement جميع السلوكيات المحتملة لواجهة برمجة تطبيقات Azure ل FHIR. تقوم واجهة برمجة تطبيقات Azure ل FHIR بتحديث بيان الإمكانية بتفاصيل ملفات التعريف المخزنة في أشكال:

  • CapabilityStatement.rest.resource.profile
  • CapabilityStatement.rest.resource.supportedProfile

على سبيل المثال، إذا قمت بحفظ ملف تعريف US Core Patient، والذي يبدأ كما يلي:

{
  "resourceType": "StructureDefinition",
  "id": "us-core-patient",
  "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient",
  "version": "3.1.1",
  "name": "USCorePatientProfile",
  "title": "US Core Patient Profile",
  "status": "active",
  "experimental": false,
  "date": "2020-06-27",
  "publisher": "HL7 US Realm Steering Committee",

وأرسل GET طلبا ل metadata:

GET http://<your Azure API for FHIR base URL>/metadata

سيتم إرجاعك مع CapabilityStatement الذي يتضمن المعلومات التالية على ملف تعريف US Core Patient الذي قمت بتحميله إلى واجهة برمجة تطبيقات Azure ل FHIR:

...
{
    "type": "Patient",
    "profile": "http://hl7.org/fhir/StructureDefinition/Patient",
    "supportedProfile":[
        "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient"
    ],

الروابط في ملفات التعريف

خدمة المصطلحات هي مجموعة من الوظائف التي يمكنها إجراء عمليات على "المصطلحات" الطبية، مثل التحقق من صحة التعليمات البرمجية وترجمة الرموز وتوسيع مجموعات القيم وما إلى ذلك. لا تدعم واجهة برمجة تطبيقات Azure لخدمة FHIR خدمة المصطلحات. يمكن العثور على معلومات العمليات المدعومة ($) وأنواع الموارد والتفاعلات في القدرة الخاصة بالخدمة. يتم دعم أنواع الموارد ValueSet و StructureDefinition و CodeSystem مع عمليات CRUD الأساسية والبحث (كما هو محدد في CapabilityStatement) بالإضافة إلى الاستفادة منها من قبل النظام لاستخدامها في $validate.

يمكن أن تحتوي ValueSets على مجموعة معقدة من القواعد والمراجع الخارجية. اليوم، ستنظر الخدمة فقط في الرموز المضمنة الموسعة مسبقا. يحتاج العملاء إلى تحميل ValueSets المدعومة إلى خادم FHIR قبل استخدام عملية $validate. يجب تحميل موارد ValueSet إلى خادم FHIR، باستخدام PUT أو التحديث الشرطي كما هو مذكور ضمن قسم تخزين ملفات التعريف أعلاه.

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

في هذه المقالة، تعرفت على ملفات تعريف FHIR. بعد ذلك، ستتعلم كيف يمكنك استخدام $validate لضمان توافق الموارد مع ملفات التعريف هذه.

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