Memecahkan masalah kesalahan menggunakan log layanan MedTech

Catatan

Fast Healthcare Interoperability Resources (FHIR®) adalah spesifikasi layanan kesehatan terbuka.

Artikel ini menyediakan langkah-langkah pemecahan masalah dan perbaikan untuk kesalahan yang ditemukan di log layanan MedTech.

Tip

Memiliki akses ke log layanan MedTech sangat penting untuk memecahkan masalah dan menilai kesehatan dan performa keseluruhan layanan MedTech Anda.

Untuk mempelajari cara mengakses log layanan MedTech, lihat Cara mengaktifkan pengaturan diagnostik untuk layanan MedTech.

Tingkat keparahan kesalahan layanan MedTech

Properti ini mewakili tingkat keparahan kesalahan yang terjadi. Berikut adalah daftar nilai yang mungkin untuk properti ini:

Tingkat keparahan Deskripsi
Non-blocking Masalah ada dalam proses aliran data, tetapi pemrosesan pesan perangkat tidak berhenti.
Pemblokiran Ada masalah dalam proses aliran data, dan tidak ada pesan perangkat yang diharapkan untuk diproses.

Operasi yang dilakukan oleh layanan MedTech

Properti ini mewakili operasi yang dilakukan oleh layanan MedTech ketika kesalahan terjadi. Operasi umumnya mewakili tahap aliran data tempat pesan perangkat diproses. Tahap aliran data ditampilkan dalam log kesalahan sebagai OperationName. Berikut adalah daftar nilai yang mungkin untuk properti ini:

OperationName Deskripsi
Normalisasi kasus Tahap aliran data tempat pesan perangkat dinormalisasi.
FHIRConversion Tahap aliran data tempat data yang dikelompokkan dinormalisasi diubah menjadi sumber daya Observasi.

Catatan

Untuk mempelajari tentang transformasi data pesan perangkat layanan MedTech, lihat Gambaran umum tahap pemrosesan data perangkat layanan MedTech.

Pengecualian dan perbaikan pemeriksaan kesehatan layanan MedTech

Pemeriksaan kesehatan dilakukan secara otomatis dan berkala untuk memeriksa apakah layanan MedTech dapat menormalkan dan mengubah pesan perangkat. Jika pemeriksaan kesehatan tidak lulus, maka HealthCheckException terjadi dan dicatat.

Dalam log layanan MedTech, kegagalan pemeriksaan kesehatan dicatat dengan LogTypehealthCheckException, dan nama pemeriksaan kesehatan yang gagal dicatat dalam Pesan.

Nama pemeriksaan kesehatan tercantum dalam tabel berikut, dan perbaikan untuk salah satu kegagalannya dijelaskan di bawah tabel:

Pemeriksaan Kesehatan
CredentialStore:IsCustomerFacingMiCredentialBundlePresent
ExternalEventHub:IsAuthenticated
FhirService:IsAuthenticated

Catatan

Meskipun HealthCheckException adalah masalah pemblokiran, healthCheckException dapat bersifat sementara dan dapat menyelesaikannya sendiri tanpa intervensi.

CredentialStore:IsCustomerFacingMiCredentialBundlePresent

Deskripsi: Memeriksa apakah identitas terkelola yang ditetapkan sistem layanan MedTech telah diaktifkan atau jika identitas terkelola yang ditetapkan pengguna dikonfigurasi.

Tingkat keparahan: Pemblokiran

Perbaikan: Ikuti perbaikan yang dijelaskan dalam ManagedIdentityCredentialNotFound.

ExternalEventHub:IsAuthenticated

Deskripsi: Memeriksa apakah pusat aktivitas valid dan bahwa layanan MedTech telah menerima akses ke hub tersebut.

Tingkat keparahan: Pemblokiran

Perbaikan: Pastikan hub peristiwa Anda valid dengan mengikuti perbaikan yang dijelaskan dalam InvalidEventHubException. Kemudian, pastikan bahwa layanan MedTech Anda telah menerima akses ke pusat aktivitas Anda dengan mengikuti perbaikan yang dijelaskan dalam UnauthorizedAccessEventHubException.

FhirService:IsAuthenticated

Deskripsi: Memeriksa bahwa tujuan FHIR valid dan bahwa layanan MedTech memiliki akses tulis ke dalamnya.

Tingkat keparahan: Pemblokiran

Perbaikan: Pastikan tujuan FHIR Anda valid dengan mengikuti perbaikan yang dijelaskan dalam InvalidFhirServiceException. Kemudian, pastikan bahwa layanan MedTech Anda memiliki akses tulis ke tujuan FHIR Anda dengan mengikuti perbaikan yang dijelaskan dalam UnauthorizedAccessFhirServiceException.

Kesalahan dan perbaikan layanan MedTech

Jika terjadi kesalahan saat menormalkan atau mengubah pesan perangkat, maka pesan tersebut dicatat.

Dalam log layanan MedTech, nama kesalahan dicatat di LogType.

Nama kesalahan tercantum dalam tabel berikut, dan perbaikan untuknya disediakan di bawah tabel:

LogType
CorrelationIdNotDefinedException
FhirDataMappingException
FhirResourceNotFoundException
IncompatibleDataException
InvalidDataFormatException
InvalidEventHubException
InvalidFhirServiceException
InvalidQuantityFhirValueException
InvalidTemplateException
ManagedIdentityCredentialNotFound
MultipleResourceFoundException
NormalizationDataMappingException
PatientDeviceMismatchException
ResourceIdentityNotDefinedException
TemplateExpressionException
TemplateNotFoundException
UnauthorizedAccessEventHubException
UnauthorizedAccessFhirServiceException

CorrelationIdNotDefinedException

Deskripsi: Jika CorrelationIdExpression (yang merupakan ekspresi untuk mengurai pengidentifikasi korelasi dari pesan perangkat) ditentukan dalam pemetaan perangkat, maka kesalahan ini terjadi ketika pengidentifikasi korelasi tidak ada dalam pesan perangkat, atau ketika CorrelationIdExpression tidak dikonfigurasi dengan benar dalam pemetaan perangkat. Catatan: CorrelationIdExpression bersifat opsional. Kesalahan ini terjadi saat mengelompokkan pengukuran yang berbagi perangkat, jenis, dan pengidentifikasi korelasi yang sama ke dalam satu sumber daya Pengamatan FHIR.

Tingkat keparahan: Pemblokiran

Perbaikan:

  • Jika CorrelationIdExpression diperlukan: Pastikan pesan perangkat Anda berisi pengidentifikasi korelasi. Selain itu, pada portal Azure, buka bilah Pemetaan perangkat layanan MedTech Anda, dan pastikan bahwa correlationIdExpression nilai dalam pemetaan perangkat ada dan referensikan kunci pengidentifikasi korelasi dengan benar dalam pesan perangkat Anda.

  • Jika CorrelationIdExpression tidak diperlukan: Pada portal Azure, buka bilah Pemetaan perangkat layanan MedTech Anda, dan hapus baris yang terdapat correlationIdExpression dalam pemetaan perangkat.

FhirDataMappingException

Deskripsi: Terjadi kesalahan saat mengubah data yang dinormalisasi dengan pemetaan tujuan FHIR. Kesalahan ini terjadi ketika templat yang sesuai dengan data yang dinormalisasi tidak ditentukan dalam pemetaan tujuan FHIR.

Tingkat keparahan: Pemblokiran

Perbaikan: Pada portal Azure, buka bilah Pemetaan perangkat dan bilah Tujuan layanan MedTech Anda, dan pastikan bahwa, untuk setiap templat dalam pemetaan perangkat, ada templat dengan nilai yang sama typeName dalam pemetaan tujuan FHIR. Selain itu, perbaiki kesalahan validasi apa pun yang ditampilkan saat mengedit dan menyimpan pemetaan tujuan FHIR di bilah Tujuan .

FhirResourceNotFoundException

Deskripsi: Kesalahan ini terjadi ketika sumber daya FHIR dengan pengidentifikasi yang diberikan dalam pesan perangkat tidak dapat ditemukan di tujuan FHIR. Jika jenis sumber daya FHIR adalah Pasien, maka kesalahannya mungkin adalah bahwa sumber daya FHIR Perangkat dengan pengidentifikasi perangkat yang diberikan dalam pesan perangkat tidak mereferensikan sumber daya Patient FHIR. Jenis sumber daya FHIR (misalnya, Perangkat, Pasien, Pertemuan, atau Pengamatan) ditentukan dalam pesan kesalahan. Catatan: Kesalahan ini hanya dapat terjadi ketika jenis resolusi layanan MedTech diatur ke Pencarian.

Tingkat keparahan: Non-pemblokiran

Perbaikan: Pastikan pesan perangkat Anda berisi pengidentifikasi untuk sumber daya FHIR yang memiliki jenis yang ditentukan dalam pesan kesalahan. Selain itu, pada portal Azure, buka bilah Pemetaan perangkat dari layanan MedTech Anda, dan pastikan bahwa {FHIR resource’s type specified in the error message}IdExpression nilai (misalnya, deviceIdExpression) dalam pemetaan perangkat ada dan mereferensikan kunci pengidentifikasi dengan benar dalam pesan perangkat Anda.

IncompatibleDataException

Deskripsi: Ada ketidaksesuaian antara pesan perangkat dan pemetaan perangkat (misalnya, properti yang diperlukan mungkin hilang atau kosong dalam pesan perangkat dan/atau dalam pemetaan perangkat). Properti pemetaan perangkat dengan kesalahan ditentukan dalam pesan kesalahan.

Tingkat keparahan: Non-pemblokiran

Perbaikan: Pastikan pesan perangkat Anda berisi:

  • Kunci yang dirujuk oleh properti pemetaan perangkat yang ditentukan dalam pesan kesalahan.

  • Nilai tidak kosong untuk kunci.

Selain itu, pada portal Azure, buka bilah Pemetaan perangkat dari layanan MedTech Anda, dan pastikan bahwa properti pemetaan perangkat yang ditentukan dalam pesan kesalahan memiliki nilai yang mereferensikan kunci yang sesuai dengan benar dalam pesan perangkat Anda.

InvalidDataFormatException

Deskripsi: Pesan perangkat tidak dalam format yang dapat diurai ke dalam objek JSON.

Tingkat keparahan: Non-pemblokiran

Perbaikan: Pastikan pesan perangkat Anda dalam format JSON. Salah satu cara untuk mengonfirmasi format JSON adalah dengan menggunakan validator JSON online.

InvalidEventHubException

Deskripsi: Hub peristiwa tidak valid karena salah satu alasan berikut:

  • Setidaknya salah satu detail hub peristiwa (namespace Layanan Pusat Aktivitas, nama hub peristiwa, atau grup konsumen) salah diformat atau tidak ada. Namespace layanan Azure Event Hubs harus berisi pusat aktivitas, dan hub peristiwa harus berisi grup konsumen.

  • Lebih dari satu layanan membaca dari grup konsumen pusat aktivitas.

Tingkat keparahan: Pemblokiran

Perbaikan: Pada portal Azure, buka bilah Azure Event Hubs layanan MedTech Anda, dan pastikan bahwa semua bidang untuk detail hub peristiwa diisi. Untuk memastikan bahwa hanya layanan MedTech Anda yang membaca dari grup konsumen, baik:

  • Buka layanan Anda dan pastikan bahwa layanan MedTech Anda adalah satu-satunya layanan yang mengakses grup konsumen.

  • Buka hub peristiwa Anda di portal Azure, buat grup konsumen baru yang hanya diakses layanan MedTech Anda, buka bilah Azure Event Hubs layanan MedTech Anda, dan pilih grup konsumen baru Anda di bidang Grup konsumen.

InvalidFhirServiceException

Deskripsi: Tujuan FHIR tidak valid karena salah diformat, tidak ada, atau bukan layanan FHIR di Azure Health Data Services.

Tingkat keparahan: Pemblokiran

Perbaikan: Pada portal Azure, buka bilah Tujuan layanan MedTech Anda, dan pastikan bahwa bidang server FHIR diisi dengan benar.

InvalidQuantityFhirValueException

Deskripsi: Nilai dengan jenis data sumber daya Kuantitas tidak valid (misalnya, mungkin dalam format yang tidak didukung). Nilai dengan kesalahan ditentukan dalam pesan kesalahan.

Tingkat keparahan: Non-pemblokiran

Perbaikan: Pastikan bahwa nilai dalam pesan perangkat Anda berada dalam jenis data yang didukung sesuai dengan spesifikasi FHIR Quantity.value.

InvalidTemplateException

Deskripsi: Ada kesalahan dengan templat dalam pemetaan perangkat atau pemetaan tujuan FHIR. Kesalahan meliputi:

  • Jenis templat templat (diwakili oleh templateType properti) hilang atau memiliki nilai kosong.

  • Templat (diwakili oleh template properti) di bawah templat koleksi akar tidak memiliki objek JSON, yang diidentifikasi oleh kurung {}kurawal , sebagai nilainya.

  • Jenis templat (diwakili oleh typeName properti) hilang atau memiliki nilai kosong.

  • Lebih dari satu templat dalam pemetaan memiliki jenis yang sama (memiliki nilai yang sama untuk propertinya typeName ).

Jenis dan baris templat dengan kesalahan ditentukan dalam pesan kesalahan.

Tingkat keparahan: Pemblokiran

Perbaikan: Pada portal Azure, buka bilah Pemetaan perangkat (jika kesalahan ada di pemetaan perangkat) atau bilah Tujuan (jika kesalahan ada di pemetaan tujuan FHIR) dari layanan MedTech Anda, dan perbaiki templat yang ditentukan dalam pesan kesalahan.

ManagedIdentityCredentialNotFound

Deskripsi: Saat layanan MedTech tersambung ke pusat aktivitas, identitas terkelola yang ditetapkan sistem layanan MedTech dinonaktifkan atau tidak ada, atau identitas terkelola yang ditetapkan pengguna tidak dikonfigurasi untuk layanan MedTech. Catatan: Kesalahan ini dapat terjadi jika layanan MedTech disebarkan menggunakan templat Azure Resource Manager (ARM) yang salah dikonfigurasi.

Tingkat keparahan: Pemblokiran

Perbaikan: Perbaikan tergantung pada jenis identitas terkelola yang ingin Anda gunakan. Perbedaan antara identitas terkelola yang ditetapkan sistem dan yang ditetapkan pengguna dapat ditinjau di Jenis identitas terkelola. Catatan: Layanan MedTech hanya mendukung satu identitas: baik identitas terkelola yang ditetapkan sistem atau satu identitas terkelola yang ditetapkan pengguna.  

Jika Anda ingin menggunakan identitas terkelola yang ditetapkan sistem:

  1. Jika Anda menyebarkan layanan MedTech menggunakan templat ARM, pastikan sumber daya layanan MedTech Anda di templat ARM memiliki properti yang identity berisi type nilai "SystemAssigned" (lihat contoh templat ARM di file azuredeploy.json di GitHub).

  2. Pada portal Azure, buka bilah Identitas layanan MedTech Anda, buka tab Sistem yang ditetapkan, dan pastikan hal berikut:

    • Status diatur ke Aktif.
    • Penetapan peran Azure menunjukkan bahwa pusat aktivitas Anda memiliki peran Penerima Data Azure Event Hubs yang ditetapkan ke identitas terkelola yang ditetapkan sistem layanan MedTech Anda. Jika tidak, ikuti instruksi ini. 

Jika Anda ingin menggunakan identitas terkelola yang ditetapkan pengguna:

  1. Pastikan Anda memiliki identitas terkelola yang ditetapkan pengguna. Jika tidak, buat menggunakan templat portal Azure atau ARM.

  2. Jika Anda menyebarkan layanan MedTech menggunakan templat ARM, pastikan sumber daya layanan MedTech Anda di templat ARM memiliki identity properti yang berisi 1) type nilai "userAssigned" dan 2) userAssignedIdentities nilai yang menyertakan nama identitas terkelola yang ditetapkan pengguna Anda (lihat contoh di Menetapkan identitas terkelola yang ditetapkan pengguna ke Azure VM).

  3. Pada portal Azure, buka bilah Identitas layanan MedTech Anda, buka tab Ditetapkan pengguna, dan pastikan identitas terkelola yang ditetapkan pengguna ditampilkan. Jika tidak, tambahkan identitas terkelola yang ditetapkan pengguna Anda (lihat contoh di Menetapkan identitas terkelola yang ditetapkan pengguna ke VM yang sudah ada).

  4. Pada portal Azure, buka pusat aktivitas Anda, dan tetapkan peran Penerima Data Azure Event Hubs ke identitas terkelola yang ditetapkan pengguna layanan MedTech Anda (lihat instruksi, tetapi gunakan identitas terkelola yang ditetapkan pengguna alih-alih identitas terkelola yang ditetapkan sistem).

MultipleResourceFoundException

Deskripsi: Beberapa sumber daya FHIR dengan pengidentifikasi yang sama, yang diambil dari pesan perangkat, ditemukan di tujuan FHIR, tetapi hanya satu sumber daya FHIR yang seharusnya ditemukan. Jenis sumber daya FHIR (misalnya, Perangkat, Pasien, Pertemuan, atau Pengamatan) ditentukan dalam pesan kesalahan.

Tingkat keparahan: Non-pemblokiran

Perbaikan: Pastikan bahwa pengidentifikasi tidak ditetapkan ke lebih dari satu sumber daya FHIR yang memiliki jenis yang ditentukan dalam pesan kesalahan.

NormalizationDataMappingException

Deskripsi: Terjadi kesalahan saat menormalkan pesan perangkat dengan pemetaan perangkat.

Tingkat keparahan: Pemblokiran

Perbaikan: Pada portal Azure, buka bilah Pemetaan perangkat dari layanan MedTech Anda, dan perbaiki kesalahan validasi apa pun yang ditampilkan saat mengedit dan menyimpan pemetaan perangkat.

PatientDeviceMismatchException

Deskripsi: Sumber daya Perangkat di tujuan FHIR mereferensikan sumber daya FHIR Pasien dengan pengidentifikasi yang tidak cocok dengan pengidentifikasi pasien yang diberikan dalam pesan perangkat (artinya, perangkat ditautkan ke pasien lain).

Tingkat keparahan: Non-pemblokiran

Perbaikan: Pastikan bahwa pengidentifikasi pasien tidak ditetapkan ke lebih dari satu perangkat.

ResourceIdentityNotDefinedException

Deskripsi: Kesalahan ini terjadi ketika pengidentifikasi sumber daya FHIR tidak ada dalam pesan perangkat, atau ketika ekspresi untuk mengurai pengidentifikasi sumber daya FHIR dari pesan perangkat tidak dikonfigurasi dalam pemetaan perangkat. Jenis sumber daya FHIR (misalnya, Perangkat, Pasien, Pertemuan, atau Pengamatan) ditentukan dalam pesan kesalahan. Catatan: Kesalahan ini hanya dapat terjadi ketika jenis resolusi layanan MedTech diatur ke Buat.

Tingkat keparahan: Non-pemblokiran

Perbaikan: Pastikan pesan perangkat Anda berisi pengidentifikasi untuk sumber daya FHIR yang memiliki jenis yang ditentukan dalam pesan kesalahan. Selain itu, pada portal Azure, buka bilah Pemetaan perangkat dari layanan MedTech Anda, dan pastikan bahwa {FHIR resource’s type specified in the error message}IdExpression nilai (misalnya, deviceIdExpression) dalam pemetaan perangkat ada dan mereferensikan kunci pengidentifikasi dengan benar dalam pesan perangkat Anda.

TemplateExpressionException

Deskripsi: Ada kesalahan dengan ekspresi dalam templat dalam pemetaan perangkat. Kesalahan meliputi:

  • Ekspresi yang diperlukan hilang.

  • Bahasa ekspresi (diwakili oleh language properti) tidak didukung. Semua jenis templat mendukung ekspresi di JSONPath; hanya jenis templat CalculatedContent yang mendukung ekspresi di JMESPath.

  • Nilai ekspresi (diwakili oleh value properti) salah diformat sesuai sintaks bahasa ekspresi.

Ekspresi dan baris dengan kesalahan ditentukan dalam pesan kesalahan.

Tingkat keparahan: Pemblokiran

Perbaikan: Pada portal Azure, buka bilah Pemetaan perangkat dari layanan MedTech Anda, dan perbaiki ekspresi yang ditentukan dalam pesan kesalahan dalam pemetaan perangkat.

TemplateNotFoundException

Deskripsi: Templat dalam pemetaan perangkat tidak memiliki templat yang cocok dengan jenis yang sama dalam pemetaan tujuan FHIR. Jenis templat ditentukan dalam pesan kesalahan.

Tingkat keparahan: Non-pemblokiran

Perbaikan: Pada portal Azure, buka bilah Pemetaan perangkat dan bilah Tujuan layanan MedTech Anda, dan pastikan bahwa, untuk setiap templat dalam pemetaan perangkat, ada templat dengan nilai yang sama typeName dalam pemetaan tujuan FHIR.

UnauthorizedAccessEventHubException

Deskripsi: Layanan MedTech tidak menerima akses ke pusat aktivitas.

Tingkat keparahan: Pemblokiran

Perbaikan: Pada portal Azure, buka pusat aktivitas Anda, dan tetapkan peran Penerima Data Azure Event Hubs ke layanan MedTech Anda (lihat instruksi).

UnauthorizedAccessFhirServiceException

Deskripsi: Layanan MedTech kehilangan akses tulis ke tujuan FHIR.

Tingkat keparahan: Pemblokiran

Perbaikan: Pada portal Azure, buka layanan FHIR Anda, dan tetapkan peran Penulis Data FHIR ke layanan MedTech Anda (lihat instruksi).

Catatan

Jika Anda tidak dapat memperbaiki masalah layanan MedTech menggunakan panduan pemecahan masalah ini, Anda dapat membuka tiket Dukungan Teknis Azure yang melampirkan salinan pesan perangkat dan perangkat Anda dan pemetaan tujuan FHIR ke permintaan Anda untuk membantu penentuan masalah dengan lebih baik.

Langkah berikutnya

Dalam artikel ini, Anda mempelajari cara memecahkan masalah dan memperbaiki kesalahan menggunakan log layanan MedTech.

Untuk mempelajari tentang tanya jawab umum (FAQ) layanan MedTech, lihat

FHIR® adalah merek dagang terdaftar dari Health Level Seven International, terdaftar di Kantor Merek Dagang AS dan digunakan dengan izin mereka.