

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Pemecahan masalah AWS HealthLake
<a name="reference-healthlake-troubleshooting"></a>

Topik berikut memberikan saran pemecahan masalah untuk kesalahan dan masalah yang mungkin Anda temui saat menggunakan AWS CLI, AWS SDKs, atau HealthLake konsol. Jika Anda menemukan masalah yang tidak tercantum di bagian ini, gunakan tombol **Berikan umpan balik** di bilah sisi kanan halaman ini untuk melaporkannya.

**Topics**
+ [Tindakan penyimpanan data](#troubleshooting-data-store)
+ [Tindakan impor](#troubleshooting-import)
+ [FHIR APIs](#troubleshooting-fhir-apis)
+ [Integrasi NLP](#troubleshooting-nlp-integrations)
+ [Integrasi SQL](#troubleshooting-sql-integrations)

## Tindakan penyimpanan data
<a name="troubleshooting-data-store"></a>

**Masalah:** *Ketika saya mencoba membuat penyimpanan HealthLake data, saya menerima kesalahan berikut:*

```
AccessDeniedException: Insufficient Lake Formation permission(s): Required Database on Catalog
```

Pada 14 November 2022, HealthLake memperbarui izin IAM yang diperlukan untuk membuat penyimpanan data baru. Untuk informasi selengkapnya, lihat [Konfigurasikan pengguna IAM atau peran yang akan digunakan HealthLake (Administrator IAM)](getting-started-setting-up.md#setting-up-configure-iam).

**Masalah:** *Saat membuat penyimpanan HealthLake data menggunakan AWS SDKs, status pembuatan penyimpanan data mengembalikan pengecualian atau status tidak dikenal.*

Perbarui AWS SDK Anda ke versi terbaru jika panggilan `DescribeFHIRDatastore` atau `ListFHIRDatastores` API menampilkan pengecualian atau status penyimpanan data yang tidak dikenal.

## Tindakan impor
<a name="troubleshooting-import"></a>

**Masalah:** Apakah *saya masih dapat menggunakan HealthLake jika data saya tidak dalam format FHIR R4?*

Hanya data berformat FHIR R4 yang dapat diimpor ke penyimpanan data. HealthLake [Untuk daftar mitra yang dapat membantu mengubah data kesehatan yang ada ke format FHIR R4, lihat AWS HealthLake Mitra.](https://docs.aws.amazon.com/healthlake/partners/)

**Masalah:** *Mengapa pekerjaan impor FHIR saya gagal*?

Pekerjaan impor yang berhasil akan menghasilkan folder dengan hasil (log keluaran) dalam `.ndjson` format, namun, catatan individu dapat gagal diimpor. Ketika ini terjadi, `FAILURE` folder kedua akan dihasilkan dengan manifes catatan yang gagal diimpor. Untuk informasi selengkapnya, lihat [Mengimpor data FHIR dengan AWS HealthLake](importing-fhir-data.md).

Untuk menganalisis mengapa pekerjaan impor gagal, gunakan `DescribeFHIRImportJob` API untuk menganalisis JobProperties. Berikut ini direkomendasikan:
+ Jika status `FAILED` dan pesan ada, kegagalan terkait dengan parameter pekerjaan seperti ukuran data input atau jumlah file input yang berada di luar HealthLake kuota.
+ Jika status pekerjaan impor adalah`COMPLETED_WITH_ERRORS`, periksa file manifes,`manifest.json`, untuk informasi tentang file mana yang tidak berhasil diimpor. 
+ Jika status pekerjaan impor `FAILED` dan pesan tidak ada, buka lokasi keluaran pekerjaan untuk mengakses file manifes,`manifest.json`. 

 Untuk setiap file input, ada file keluaran kegagalan dengan nama file input untuk sumber daya apa pun yang gagal diimpor. Tanggapan berisi nomor baris (lineID) yang sesuai dengan lokasi data input, objek respons FHIR (UpdateResourceResponse), dan kode status (statusCode) respons.

File keluaran sampel mungkin mirip dengan yang berikut ini:

```
{"lineId":3, UpdateResourceResponse:{"jsonBlob":{"resourceType":"OperationOutcome","issue":[{"severity":"error","code":"processing","diagnostics":"1 validation error detected: Value 'Patient123' at 'resourceType' failed to satisfy constraint: Member must satisfy regular expression pattern: [A-Za-z]{1,256}"}]}, "statusCode":400}
{"lineId":5, UpdateResourceResponse:{"jsonBlob":{"resourceType":"OperationOutcome","issue":[{"severity":"error","code":"processing","diagnostics":"This property must be an simple value, not a com.google.gson.JsonArray","location":["/EffectEvidenceSynthesis/name"]},{"severity":"error","code":"processing","diagnostics":"Unrecognised property '@telecom'","location":["/EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Unrecognised property '@gender'","location":["/EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Unrecognised property '@birthDate'","location":["/EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Unrecognised property '@address'","location":["/EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Unrecognised property '@maritalStatus'","location":["/EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Unrecognised property '@multipleBirthBoolean'","location":["/EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Unrecognised property '@communication'","location":["/EffectEvidenceSynthesis"]},{"severity":"warning","code":"processing","diagnostics":"Name should be usable as an identifier for the module by machine processing applications such as code generation [name.matches('[A-Z]([A-Za-z0-9_]){0,254}')]","location":["EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Profile http://hl7.org/fhir/StructureDefinition/EffectEvidenceSynthesis, Element 'EffectEvidenceSynthesis.status': minimum required = 1, but only found 0","location":["EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Profile http://hl7.org/fhir/StructureDefinition/EffectEvidenceSynthesis, Element 'EffectEvidenceSynthesis.population': minimum required = 1, but only found 0","location":["EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Profile http://hl7.org/fhir/StructureDefinition/EffectEvidenceSynthesis, Element 'EffectEvidenceSynthesis.exposure': minimum required = 1, but only found 0","location":["EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Profile http://hl7.org/fhir/StructureDefinition/EffectEvidenceSynthesis, Element 'EffectEvidenceSynthesis.exposureAlternative': minimum required = 1, but only found 0","location":["EffectEvidenceSynthesis"]},{"severity":"error","code":"processing","diagnostics":"Profile http://hl7.org/fhir/StructureDefinition/EffectEvidenceSynthesis, Element 'EffectEvidenceSynthesis.outcome': minimum required = 1, but only found 0","location":["EffectEvidenceSynthesis"]},{"severity":"information","code":"processing","diagnostics":"Unknown extension http://synthetichealth.github.io/synthea/disability-adjusted-life-years","location":["EffectEvidenceSynthesis.extension[3]"]},{"severity":"information","code":"processing","diagnostics":"Unknown extension http://synthetichealth.github.io/synthea/quality-adjusted-life-years","location":["EffectEvidenceSynthesis.extension[4]"]}]}, "statusCode":400}
{"lineId":7, UpdateResourceResponse:{"jsonBlob":{"resourceType":"OperationOutcome","issue":[{"severity":"error","code":"processing","diagnostics":"2 validation errors detected: Value at 'resourceId' failed to satisfy constraint: Member must satisfy regular expression pattern: [A-Za-z0-9-.]{1,64}; Value at 'resourceId' failed to satisfy constraint: Member must have length greater than or equal to 1"}]}, "statusCode":400}
{"lineId":9, UpdateResourceResponse:{"jsonBlob":{"resourceType":"OperationOutcome","issue":[{"severity":"error","code":"processing","diagnostics":"Missing required id field in resource json"}]}, "statusCode":400}
{"lineId":15, UpdateResourceResponse:{"jsonBlob":{"resourceType":"OperationOutcome","issue":[{"severity":"error","code":"processing","diagnostics":"Invalid JSON found in input file"}]}, "statusCode":400}
```

Contoh di atas menunjukkan bahwa ada kegagalan pada baris 3, 4, 7, 9, 15 dari baris input yang sesuai dari file input. Untuk masing-masing baris tersebut, penjelasannya adalah sebagai berikut: 
+ Pada Baris 3, respons menjelaskan bahwa `resourceType` disediakan di baris 3 file input tidak valid.
+ Pada Baris 5, respons menjelaskan bahwa ada kesalahan validasi FHIR di baris 5 file input.
+ Pada Baris 7, tanggapan menjelaskan bahwa ada masalah validasi dengan `resourceId` disediakan sebagai input.
+ Pada Baris 9, respons menjelaskan bahwa file input harus berisi id sumber daya yang valid.
+ Pada baris 15, respons file input adalah bahwa file tersebut tidak dalam format JSON yang valid.

## FHIR APIs
<a name="troubleshooting-fhir-apis"></a>

**Masalah:** *Bagaimana cara menerapkan otorisasi untuk FHIR? RESTful APIs*

Tentukan [Strategi otorisasi penyimpanan data](getting-started-concepts.md#concept-data-store-authorization-strategy) yang akan digunakan.

Untuk membuat otorisasi SigV4 menggunakan AWS SDK untuk Python (Boto3), buat skrip yang mirip dengan contoh berikut.

```
import boto3
import requests
import json
from requests_auth_aws_sigv4 import AWSSigV4
 
# Set the input arguments
data_store_endpoint = 'https://healthlake.us-east-1.amazonaws.com/datastore/<datastore id>/r4//'
resource_path = "Patient"
requestBody = {"resourceType": "Patient", "active": True, "name": [{"use": "official","family": "Dow","given": ["Jen"]},{"use": "usual","given": ["Jen"]}],"gender": "female","birthDate": "1966-09-01"}
region = 'us-east-1'
 
#Frame the resource endpoint
resource_endpoint = data_store_endpoint+resource_path
session = boto3.session.Session(region_name=region)
client = session.client("healthlake")
 
# Frame authorization
auth = AWSSigV4("healthlake", session=session)
 
# Call data store FHIR endpoint using SigV4 auth

r = requests.post(resource_endpoint, json=requestBody, auth=auth, )
print(r.json())
```

**Masalah:** *Mengapa saya menerima `AccessDenied` kesalahan saat menggunakan FHIR RESTful APIs untuk penyimpanan data yang dienkripsi dengan kunci KMS yang dikelola pelanggan*?

Izin untuk kunci yang dikelola pelanggan dan kebijakan IAM diperlukan bagi pengguna atau peran untuk mengakses penyimpanan data. Pengguna harus memiliki izin IAM yang diperlukan untuk menggunakan kunci yang dikelola pelanggan. Jika pengguna mencabut atau menghentikan hibah yang memberikan HealthLake izin untuk menggunakan kunci KMS yang dikelola pelanggan, HealthLake akan mengembalikan kesalahan. `AccessDenied`

HealthLake harus memiliki izin untuk mengakses data pelanggan, mengenkripsi sumber daya FHIR baru yang diimpor ke penyimpanan data, dan untuk mendekripsi sumber daya FHIR saat diminta. Untuk informasi selengkapnya, lihat [Izin pemecahan masalah AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html).

**Masalah:** *Operasi `POST` API FHIR untuk HealthLake menggunakan dokumen 10MB mengembalikan kesalahan. `413 Request Entity Too Large`*

AWS HealthLake memiliki batas Create and Update API sinkron sebesar 5MB untuk menghindari peningkatan latensi dan batas waktu. Anda dapat menyerap dokumen besar, hingga 164MB, menggunakan jenis `Binary` sumber daya menggunakan API Impor Massal.

## Integrasi NLP
<a name="troubleshooting-nlp-integrations"></a>

**Masalah:** *Bagaimana cara mengaktifkan HealthLake fitur pemrosesan bahasa alami terintegrasi?*

Per 14 November 2022, perilaku default penyimpanan HealthLake data berubah.

**Penyimpanan data saat ini: Semua penyimpanan** HealthLake data saat ini akan berhenti menggunakan pemrosesan bahasa alami (NLP) pada sumber daya yang dikodekan `DocumentReference` base64. Ini berarti bahwa `DocumentReference` sumber daya baru tidak akan dianalisis menggunakan NLP, dan tidak ada sumber daya baru yang akan dihasilkan berdasarkan teks dalam jenis `DocumentReference` sumber daya. Untuk `DocumentReference` sumber daya yang ada, data dan sumber daya yang dihasilkan melalui NLP tetap ada, tetapi tidak akan diperbarui setelah 20 Februari 2023.

**Penyimpanan data baru: penyimpanan** HealthLake data yang dibuat setelah 20 Februari 2023 *tidak* akan melakukan pemrosesan bahasa alami (NLP) pada sumber daya yang disandikan base64. `DocumentReference`

Untuk mengaktifkan integrasi HealthLake NLP, buat kasus dukungan menggunakan. [AWS Support Center Console](https://console.aws.amazon.com/support/home#/) Untuk membuat kasus Anda, masuk ke kasing Anda Akun AWS, lalu pilih **Buat kasus**. Untuk mempelajari selengkapnya tentang membuat manajemen kasus dan kasus, lihat [Membuat kasus dukungan dan manajemen kasus](https://docs.aws.amazon.com/awssupport/latest/user/case-management.html) di *Panduan Dukungan Pengguna*.

**Masalah:** *>Bagaimana cara menemukan `DocumentReference` sumber daya yang tidak dapat diproses oleh NLP terintegrasi?*

Jika `DocumentReference` sumber daya tidak valid, HealthLake berikan ekstensi yang menunjukkan kesalahan validasi alih-alih menyediakannya dalam output NLP medis terintegrasi. **Untuk menemukan `DocumentReference` sumber daya yang menyebabkan kesalahan validasi selama pemrosesan NLP, Anda dapat menggunakan HealthLake `search` fungsi FHIR dengan kunci pencarian **cm-decoration-status**dan nilai pencarian VALIDATION\$1ERROR.** Pencarian ini akan mencantumkan semua `DocumentReference` sumber daya yang menyebabkan kesalahan validasi, bersama dengan pesan kesalahan yang menjelaskan sifat kesalahan. Struktur bidang ekstensi dalam `DocumentReference` sumber daya tersebut dengan kesalahan validasi akan menyerupai contoh berikut.

```
"extension": [
          {
              "extension": [
                  {
                      "url": "http://healthlake.amazonaws.com/aws-cm/status/",
                      "valueString": "VALIDATION_ERROR"
                  },
                  {
                      "url": "http://healthlake.amazonaws.com/aws-cm/message/",
                      "valueString": "Resource led to too many nested objects after NLP operation processed the document. 10937 nested objects exceeds the limit of 10000."
                  }
              ],
              "url": "http://healthlake.amazonaws.com/aws-cm/"
          }
    ]
```

**catatan**  
A juga `VALIDATION_ERROR` dapat terjadi jika dekorasi NLP menciptakan lebih dari 10.000 objek bersarang. Ketika ini terjadi, dokumen harus dibagi menjadi dokumen yang lebih kecil sebelum diproses.

## Integrasi SQL
<a name="troubleshooting-sql-integrations"></a>

**Masalah:** *Mengapa saya mendapatkan Lake Formation `permissions error: lakeformation:PutDataLakeSettings` saat menambahkan administrator danau data baru?*

Jika pengguna atau peran IAM Anda berisi kebijakan `AWSLakeFormationDataAdmin` AWS terkelola, Anda tidak dapat menambahkan administrator data lake baru. Anda akan mendapatkan kesalahan yang berisi berikut ini:

```
User arn:aws:sts::111122223333:assumed-role/lakeformation-admin-user is not authorized to perform: lakeformation:PutDataLakeSettings on resource: arn:aws:lakeformation:us-east-2:111122223333:catalog:111122223333 with an explicit deny in an identity-based policy
```

Kebijakan AWS terkelola `AdministratorAccess` diperlukan untuk menambahkan pengguna IAM atau peran sebagai administrator danau data AWS Lake Formation. Jika pengguna atau peran IAM Anda juga berisi `AWSLakeFormationDataAdmin` tindakan akan gagal. Kebijakan `AWSLakeFormationDataAdmin` AWS terkelola berisi penolakan eksplisit untuk operasi AWS Lake Formation API,`PutDataLakeSetting`. Bahkan administrator dengan akses penuh untuk AWS menggunakan kebijakan `AdministratorAccess` terkelola dapat dibatasi oleh `AWSLakeFormationDataAdmin` kebijakan.

**Masalah:** *Bagaimana cara memigrasi penyimpanan HealthLake data yang ada untuk menggunakan integrasi SQL Amazon Athena?*

HealthLake penyimpanan data yang dibuat sebelum 14 November 2022 berfungsi, tetapi tidak dapat ditanyakan di Athena menggunakan SQL. Untuk menanyakan penyimpanan data yang sudah ada sebelumnya dengan Athena, Anda harus terlebih dahulu memigrasikannya ke penyimpanan data baru. 

**Untuk memigrasikan HealthLake data Anda ke penyimpanan data baru**

1. Buat toko data baru.

1. Ekspor data dari yang sudah ada sebelumnya ke bucket Amazon S3.

1. Impor data ke penyimpanan data baru dari bucket Amazon S3.

**catatan**  
Mengekspor data ke bucket Amazon S3 menimbulkan biaya tambahan. Biaya tambahan tergantung pada ukuran data yang Anda ekspor.

**Masalah:** *Saat membuat penyimpanan HealthLake data baru untuk integrasi SQL, status penyimpanan data tidak berubah*. `Creating`

Jika Anda mencoba membuat penyimpanan HealthLake data baru, dan status penyimpanan data Anda tidak berubah dari **Membuat**, Anda perlu memperbarui Athena untuk menggunakan. AWS Glue Data Catalog Untuk informasi selengkapnya, lihat [Memutakhirkan ke Katalog Data AWS Glue step-by-step](https://docs.aws.amazon.com/athena/latest/ug/glue-upgrade.html) di Panduan *Pengguna Amazon Athena*.

Setelah berhasil memutakhirkan AWS Glue Data Catalog, Anda dapat membuat penyimpanan HealthLake data.

Untuk menghapus penyimpanan HealthLake data lama, buat kasus dukungan menggunakan [AWS Support Center Console](https://console.aws.amazon.com/support/home#/). Untuk membuat kasus Anda, masuk ke kasing Anda Akun AWS, lalu pilih **Buat kasus**. Untuk mempelajari selengkapnya, lihat [Membuat kasus dukungan dan manajemen kasus](https://docs.aws.amazon.com/awssupport/latest/user/case-management.html) di *Panduan Dukungan Pengguna*.

**Masalah:** *Konsol Athena tidak berfungsi setelah mengimpor data ke penyimpanan data baru HealthLake *

Setelah Anda mengimpor data ke penyimpanan HealthLake data baru, data mungkin tidak tersedia untuk segera digunakan. Ini untuk memberikan waktu bagi data untuk dicerna ke dalam tabel Apache Iceberg. Coba lagi di lain waktu.

**Masalah:** *Bagaimana cara menghubungkan hasil pencarian di Athena ke layanan lain? AWS *

Saat membagikan hasil penelusuran Anda dari Athena dengan AWS layanan lain, masalah dapat terjadi saat Anda menggunakan `json_extract[1]` sebagai bagian dari kueri penelusuran SQL. Untuk memperbaiki masalah ini, Anda harus memperbarui ke`CATVAR`.

Anda mungkin mengalami masalah ini saat mencoba **Membuat** hasil penyimpanan, **Tabel** (statis), atau **Tampilan** (dinamis).