تحويل بياناتك إلى FHIR لواجهة برمجة تطبيقات Azure ل FHIR

$convert-data نقطة النهاية المخصصة في خدمة FHIR مخصصة لتحويل البيانات من أنواع بيانات مختلفة إلى FHIR. يستخدم محرك قالب Liquid والقوالب من مشروع محول FHIR كقوالب افتراضية. يمكنك تخصيص قوالب التحويل هذه حسب الحاجة.

$convert-data تدعم four نقطة النهاية المخصصة حاليا أنواع تحويل البيانات:

تنسيق بيانات الأصل تنسيق بيانات الوجهة
C-CDA موارد تبادلية الرعاية الصحية السريعة
HL7v2 موارد تبادلية الرعاية الصحية السريعة
JSON موارد تبادلية الرعاية الصحية السريعة
FHIR STU3 FHIR R4

ملاحظة

$convert-data يمكن استخدام نقطة النهاية كمكون داخل مسار ETL لتحويل بيانات الرعاية الصحية الأولية من التنسيقات القديمة إلى تنسيق FHIR. ومع ذلك، فإنه ليس مسار ETL في حد ذاته. نوصيك باستخدام محرك ETL مثل Logic Apps أو Azure Data Factory لسير عمل كامل في إعداد بيانات FHIR الخاصة بك للاستمرار في خادم FHIR. قد يتضمن سير العمل ما يلي: قراءة البيانات واستيعابها، والتحقق من صحة البيانات، وإجراء استدعاءات واجهة برمجة تطبيقات البيانات $convert، والمعالجة المسبقة/اللاحقة للبيانات، وإثراء البيانات، وإلغاء تكرار البيانات.

استخدام نقطة نهاية بيانات $convert

$convert-data يتم دمج العملية في خدمة FHIR لتشغيلها كجزء من الخدمة. بعد التمكين $convert-data في الخادم الخاص بك، يمكنك إجراء استدعاءات API إلى الخادم لتحويل بياناتك إلى FHIR: https://<<FHIR service base URL>>/$convert-data

مورد المعلمة

تأخذ $convert-data مورد معلمة في نص الطلب كما هو موضح في الجدول أدناه. في نص طلب استدعاء واجهة برمجة التطبيقات، يمكنك تضمين المعلمات التالية:

اسم المعلمة الوصف القيم المقبولة
بيانات الإدخال البيانات التي سيتم تحويلها. ل Hl7v2: سلسلة
ل Ccda: XML
ل Json: JSON
ل FHIR STU3: JSON
inputDataType نوع بيانات الإدخال. HL7v2, Ccda, Json, Fhir
templateCollectionReference مرجع إلى مجموعة قوالب صور OCI على Azure Container Registry (ACR). إنها الصورة التي تحتوي على قوالب Liquid لاستخدامها للتحويل. يمكن أن يكون مرجعا إما إلى القوالب الافتراضية أو صورة قالب مخصصة مسجلة داخل خدمة FHIR. انظر أدناه للتعرف على تخصيص القوالب واستضافة تلك القوالب على ACR والتسجيل في خدمة FHIR. بالنسبة للقوالب الافتراضية/العينة :
قوالب HL7v2:
microsofthealth/fhirconverter:default
microsofthealth/hl7v2templates:default
قوالب C-CDA:
microsofthealth/ccdatemplates:default
قوالب JSON:
microsofthealth/jsontemplates:default
قوالب FHIR STU3:
microsofthealth/stu3tor4templates:default

بالنسبة للقوالب المخصصة :
<RegistryServer>/<imageName>@<imageDigest>, <RegistryServer>/<imageName>:<imageTag>
rootTemplate قالب الجذر المراد استخدامه أثناء تحويل البيانات. بالنسبة إلى HL7v2:
"ADT_A01" و"ADT_A02" و"ADT_A03" و"ADT_A04" و"ADT_A05" و"ADT_A08" و"ADT_A11" و"ADT_A13" و"ADT_A14" و"ADT_A15" و"ADT_A16" و"ADT_A25" و"ADT_A26"، "ADT_A27" و"ADT_A28" و"ADT_A29" و"ADT_A31" و"ADT_A47" و"ADT_A60" و"OML_O21" و"ORU_R01" و"ORM_O01" و"VXU_V04" و"SIU_S12" و"SIU_S13" و"SIU_S14" و"SIU_S15" و"SIU_S16"، "SIU_S17" و"SIU_S26" و"MDM_T01" و"MDM_T02"

بالنسبة إلى C-CDA:
"CCD", "ConsultationNote", "DischargeSummary", "HistoryandPhysical", "OperativeNote", "ProcedureNote", "ProgressNote", "ReferralNote", "TransferSummary"

بالنسبة إلى JSON:
"ExamplePatient"، "Stu3ChargeItem"

FHIR STU3":
اسم مورد STU3 على سبيل المثال، "المريض"، "المراقبة"، "المؤسسة".

ملاحظة

قوالب FHIR STU3 إلى R4 هي قوالب "diff" Liquid التي توفر تعيينات للاختلافات الميدانية فقط بين مورد STU3 والمورد المكافئ له في معيار FHIR R4. تتم إعادة تسمية بعض موارد STU3 أو إزالتها من R4. يرجى الرجوع إلى اختلافات الموارد والقيود لتحويل STU3 إلى R4.

ملاحظة

قوالب JSON هي نماذج قوالب للاستخدام، وليست قوالب "افتراضية" تلتزم بأي أنواع رسائل JSON محددة مسبقا. لا يحتوي JSON على أي أنواع رسائل موحدة، على عكس رسائل HL7v2 أو مستندات C-CDA. لذلك، بدلا من القوالب الافتراضية، نوفر لك بعض نماذج القوالب التي يمكنك استخدامها كدليل بداية للقوالب المخصصة الخاصة بك.

تحذير

يتم إصدار القوالب الافتراضية ضمن ترخيص MIT ولا يدعمها دعم Microsoft.

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

طلب عينة

{
    "resourceType": "Parameters",
    "parameter": [
        {
            "name": "inputData",
            "valueString": "MSH|^~\\&|SIMHOSP|SFAC|RAPP|RFAC|20200508131015||ADT^A01|517|T|2.3|||AL||44|ASCII\nEVN|A01|20200508131015|||C005^Whittingham^Sylvia^^^Dr^^^DRNBR^D^^^ORGDR|\nPID|1|3735064194^^^SIMULATOR MRN^MRN|3735064194^^^SIMULATOR MRN^MRN~2021051528^^^NHSNBR^NHSNMBR||Kinmonth^Joanna^Chelsea^^Ms^^D||19870624000000|F|||89 Transaction House^Handmaiden Street^Wembley^^FV75 4GJ^GBR^HOME||020 3614 5541^PRN|||||||||C^White - Other^^^||||||||\nPD1|||FAMILY PRACTICE^^12345|\nPV1|1|I|OtherWard^MainRoom^Bed 183^Simulated Hospital^^BED^Main Building^4|28b|||C005^Whittingham^Sylvia^^^Dr^^^DRNBR^D^^^ORGDR|||CAR|||||||||16094728916771313876^^^^visitid||||||||||||||||||||||ARRIVED|||20200508131015||"
        },
        {
            "name": "inputDataType",
            "valueString": "Hl7v2"
        },
        {
            "name": "templateCollectionReference",
            "valueString": "microsofthealth/fhirconverter:default"
        },
        {
            "name": "rootTemplate",
            "valueString": "ADT_A01"
        }
    ]
}

استجابة عينة

{
  "resourceType": "Bundle",
  "type": "transaction",
  "entry": [
    {
      "fullUrl": "urn:uuid:9d697ec3-48c3-3e17-db6a-29a1765e22c6",
      "resource": {
        "resourceType": "Patient",
        "id": "9d697ec3-48c3-3e17-db6a-29a1765e22c6",
        ...
        ...
      "request": {
        "method": "PUT",
        "url": "Location/50becdb5-ff56-56c6-40a1-6d554dca80f0"
      }
    }
  ]
}

تخصيص القوالب

يمكنك استخدام ملحق محول FHIR ل Visual Studio Code لتخصيص القوالب وفقا لاحتياجاتك. يوفر الملحق تجربة تحرير تفاعلية، ويجعل من السهل تنزيل القوالب المنشورة من Microsoft وبيانات العينة. راجع الوثائق الموجودة في الملحق لمزيد من التفاصيل.

ملاحظة

يتوفر ملحق محول FHIR ل Visual Studio Code لقوالب HL7v2 وC-CDA وJSON Liquid. قوالب FHIR STU3 إلى R4 Liquid غير مدعومة حاليا.

استضافة القوالب واستخدامها

يوصى باستضافة نسختك الخاصة من القوالب على ACR. هناك أربع خطوات مضمنة في استضافة نسختك الخاصة من القوالب واستخدام تلك الموجودة في عملية $convert-data:

  1. ادفع القوالب إلى Azure Container Registry.
  2. تمكين الهوية المدارة على واجهة برمجة تطبيقات Azure لمثيل FHIR.
  3. توفير الوصول إلى ACR إلى واجهة برمجة تطبيقات Azure للهوية المدارة FHIR.
  4. تسجيل خوادم ACR في واجهة برمجة تطبيقات Azure ل FHIR.
  5. تكوين جدار حماية ACR اختياريا للوصول الآمن.

دفع القوالب إلى Azure Container Registry

بعد إنشاء مثيل ACR، يمكنك استخدام الأمر FHIR Converter: Push Templates في ملحق FHIR Converter لدفع القوالب المخصصة إلى ACR. بدلا من ذلك، يمكنك استخدام أداة Template Management CLI لهذا الغرض.

تمكين الهوية المدارة على واجهة برمجة تطبيقات Azure ل FHIR

استعرض للوصول إلى مثيل Azure API لخدمة FHIR في مدخل Microsoft Azure، ثم حدد شفرة الهوية . غير الحالة إلى تشغيل لتمكين الهوية المدارة في واجهة برمجة تطبيقات Azure ل FHIR.

صورة شاشة لتمكين الهوية المدارة.

توفير الوصول إلى ACR إلى واجهة برمجة تطبيقات Azure ل FHIR

  1. استعرض للوصول إلى شفرة التحكم في الوصول (IAM ).

  2. حدد إضافة، ثم حدد إضافة تعيين دور لفتح صفحة إضافة تعيين دور.

  3. تعيين دور AcrPull .

    صورة شاشة لصفحة إضافة تعيين دور.

لمزيد من المعلومات حول تعيين الأدوار في مدخل Microsoft Azure، راجع أدوار Azure المضمنة.

تسجيل خوادم ACR في واجهة برمجة تطبيقات Azure ل FHIR

يمكنك تسجيل خادم ACR باستخدام مدخل Microsoft Azure، أو باستخدام CLI.

تسجيل خادم ACR باستخدام مدخل Microsoft Azure

استعرض للوصول إلى شفرة Artifacts ضمن تحويل البيانات في واجهة برمجة تطبيقات Azure لمثيل FHIR. سترى قائمة خوادم ACR المسجلة حاليا. حدد إضافة، ثم حدد خادم التسجيل من القائمة المنسدلة. ستحتاج إلى تحديد حفظ حتى يصبح التسجيل ساري المفعول. قد يستغرق تطبيق التغيير وإعادة تشغيل المثيل بضع دقائق.

تسجيل خادم ACR باستخدام CLI

يمكنك تسجيل ما يصل إلى 20 خادم ACR في واجهة برمجة تطبيقات Azure ل FHIR.

تثبيت Azure Health Data Services CLI من Azure PowerShell إذا لزم الأمر:

az extension add -n healthcareapis

سجل خوادم acr في واجهة برمجة تطبيقات Azure ل FHIR باتباع الأمثلة أدناه:

تسجيل خادم ACR واحد
az healthcareapis acr add --login-servers "fhiracr2021.azurecr.io" --resource-group fhir-test --resource-name fhirtest2021
تسجيل خوادم ACR متعددة
az healthcareapis acr add --login-servers "fhiracr2021.azurecr.io fhiracr2020.azurecr.io" --resource-group fhir-test --resource-name fhirtest2021

تكوين جدار حماية ACR

حدد Networking لحساب تخزين Azure من المدخل.

 صورة شاشة لسجل الحاوية.

حدد «⁧⁩الشبكات المحددة⁧⁩».

ضمن قسم جدار الحماية ، حدد عنوان IP في مربع نطاق العنوان . أضف نطاقات IP للسماح بالوصول من الإنترنت أو الشبكات المحلية.

في الجدول أدناه، ستجد عنوان IP لمنطقة Azure حيث يتم توفير واجهة برمجة تطبيقات Azure لخدمة FHIR.

منطقة Azure عنوان IP العام
شرق أستراليا 20.53.47.210
جنوب البرازيل 191.238.72.227
كندا الوسطى 20.48.197.161
وسط الهند 20.192.47.66
شرق الولايات المتحدة 20.62.134.242, 20.62.134.244, 20.62.134.245
شرق الولايات المتحدة 2 20.62.60.115, 20.62.60.116, 20.62.60.117
فرنسا الوسطى 51.138.211.19
منطقة شمال ألمانيا 51.116.60.240
وسط غرب ألمانيا 20.52.88.224
شرق اليابان 20.191.167.146
غرب اليابان 20.189.228.225
وسط كوريا 20.194.75.193
شمال وسط الولايات المتحدة 52.162.111.130, 20.51.0.209
شمال أوروبا 52.146.137.179
قطر الوسطى 20.21.36.225
شمال جنوب أفريقيا 102.133.220.199
جنوب وسط الولايات المتحدة 20.65.134.83
جنوب شرق آسيا 20.195.67.208
منطقة السويد الوسطى 51.12.28.100
شمال سويسرا 51.107.247.97
جنوب المملكة المتحدة 51.143.213.211
غرب المملكة المتحدة 51.140.210.86
غرب وسط الولايات المتحدة 13.71.199.119
غرب أوروبا 20.61.103.243, 20.61.103.244
منطقة غرب الولايات المتحدة الأمريكية 2 20.51.13.80, 20.51.13.84, 20.51.13.85
West US 3 20.150.245.165

ملاحظة

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

التحقق

قم بإجراء استدعاء إلى $convert-data API التي تحدد مرجع القالب الخاص بك في معلمة templateCollectionReference.

<RegistryServer>/<imageName>@<imageDigest>

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

في هذه المقالة، تعرفت على تحويل البيانات لواجهة برمجة تطبيقات Azure ل FHIR. لمزيد من المعلومات حول مشاريع GitHub ذات الصلة لواجهة برمجة تطبيقات Azure ل FHIR، راجع

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