تحويل بياناتك إلى 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:
- ادفع القوالب إلى Azure Container Registry.
- تمكين الهوية المدارة على واجهة برمجة تطبيقات Azure لمثيل FHIR.
- توفير الوصول إلى ACR إلى واجهة برمجة تطبيقات Azure للهوية المدارة FHIR.
- تسجيل خوادم ACR في واجهة برمجة تطبيقات Azure ل FHIR.
- تكوين جدار حماية 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
استعرض للوصول إلى شفرة التحكم في الوصول (IAM ).
حدد إضافة، ثم حدد إضافة تعيين دور لفتح صفحة إضافة تعيين دور.
تعيين دور 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.