Mengekspor data dari penyimpanan HealthLake data Anda dengan operasi FHIR REST API - AWS HealthLake

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

Mengekspor data dari penyimpanan HealthLake data Anda dengan operasi FHIR REST API

Setelah selesaiMenyiapkan izin untuk pekerjaan ekspor, Anda dapat mengekspor data dari penyimpanan HealthLake data Anda dengan FHIR REST API operasi. Untuk membuat permintaan ekspor menggunakan FHIR RESTAPI, Anda harus memiliki IAM pengguna, grup, atau peran dengan izin yang diperlukan, tentukan $export sebagai bagian dari POST permintaan, dan sertakan parameter permintaan di badan permintaan Anda. Menurut FHIR spesifikasi, FHIR server harus mendukung GET permintaan, dan dapat mendukung POST permintaan. Untuk mendukung parameter tambahan, diperlukan badan untuk memulai ekspor, oleh karena itu HealthLake mendukung POST permintaan.

penting

HealthLake penyimpanan data yang dibuat sebelum 1 Juni 2023 hanya mendukung permintaan pekerjaan ekspor FHIR REST API berbasis untuk ekspor seluruh sistem.

HealthLake penyimpanan data yang dibuat sebelum 1 Juni 2023 tidak mendukung mendapatkan status ekspor menggunakan GET permintaan pada titik akhir penyimpanan data.

Semua permintaan ekspor yang Anda buat menggunakan dikembalikan dalam ndjson format dan diekspor ke bucket Amazon S3. FHIR REST API Setiap objek S3 hanya akan berisi satu jenis FHIR sumber daya.

Anda dapat mengantri permintaan ekspor sesuai kuota AWS akun. Untuk mempelajari lebih lanjut tentang Service Quotas yang terkait dengan HealthLake, lihat. AWS HealthLake titik akhir dan kuota

HealthLake mendukung tiga jenis permintaan titik akhir ekspor massal berikut.

Tipe Deskripsi Sintaks

Ekspor sistem

Ekspor semua data dari HealthLake FHIR server.

POST https://healthlake.your-region.amazonaws.com/datastore/your-datastore-id/r4/$export

Semua pasien

Ekspor semua data yang berkaitan dengan semua pasien termasuk jenis sumber daya yang terkait dengan jenis sumber daya Pasien.

POST https://healthlake.your-region.amazonaws.com/datastore/your-datastore-id/r4/Patient/$export

Kelompok Pasien

Ekspor semua data yang berkaitan dengan sekelompok pasien yang ditentukan dengan ID Grup.

POST https://healthlake.your-region.amazonaws.com/datastore/your-datastore-id/r4/Group/ID/$export

Sebelum Anda mulai

Memenuhi persyaratan berikut untuk membuat permintaan ekspor dengan menggunakan FHIR REST API for HealthLake.

  • Anda harus menyiapkan pengguna, grup, atau peran yang memiliki izin yang diperlukan untuk membuat permintaan ekspor. Untuk mempelajari selengkapnya, lihat Mengotorisasi permintaan export.

  • Anda harus telah membuat peran layanan yang memberikan HealthLake akses ke bucket Amazon S3 tempat Anda ingin data Anda diekspor. Peran layanan juga harus ditentukan HealthLake sebagai kepala layanan. Untuk informasi selengkapnya tentang menyiapkan izin, lihatMenyiapkan izin untuk pekerjaan ekspor.

Mengotorisasi permintaan export

Untuk membuat permintaan ekspor yang berhasil menggunakan FHIR RESTAPI, otorisasi pengguna, grup, atau peran Anda dengan menggunakan salah satu IAM atau OAuth2 .0. Anda juga harus memiliki peran layanan.

Mengotorisasi permintaan dengan menggunakan IAM

Saat Anda membuat $export permintaan, pengguna, grup, atau peran harus memiliki StartFHIRExportJobWithPostDescribeFHIRExportJobWithGet, dan CancelFHIRExportJobWithDelete IAM tindakan yang disertakan dalam kebijakan.

penting

HealthLake SDKpermintaan ekspor menggunakan StartFHIRExportJob API operasi dan permintaan FHIR REST API ekspor menggunakan StartFHIRExportJobWithPost API operasi memiliki IAM tindakan terpisah. Setiap IAM tindakan, SDK ekspor dengan StartFHIRExportJob dan FHIR REST API ekspor denganStartFHIRExportJobWithPost, dapat mengizinkan/menolak izin ditangani secara terpisah. Jika Anda ingin keduanya SDK dan FHIR REST API ekspor dibatasi, pastikan untuk menolak izin untuk setiap IAM tindakan.

Mengotorisasi permintaan menggunakan SMART on FHIR (OAuth2.0)

Saat Anda membuat $export permintaan SMART pada penyimpanan HealthLake data yang FHIR diaktifkan, Anda harus memiliki cakupan yang sesuai yang ditetapkan. Untuk mempelajari lebih lanjut tentang cakupan yang didukung, lihatHealthLake cakupan spesifik FHIR sumber daya penyimpanan data.

Membuat export permintaan

Bagian ini menjelaskan langkah-langkah yang diperlukan yang harus Anda ambil saat membuat permintaan ekspor dengan menggunakan FHIR RESTAPI.

Untuk menghindari tagihan yang tidak disengaja pada AWS akun Anda, kami sarankan untuk menguji permintaan Anda dengan membuat POST permintaan tanpa menyediakan sintaks. export

Untuk membuat permintaan, Anda harus melakukan hal berikut:

  1. Tentukan export dalam POST permintaan URL untuk titik akhir yang didukung.

  2. Tentukan parameter header yang diperlukan.

  3. Tentukan badan permintaan yang mendefinisikan parameter yang diperlukan.

Langkah 1: Tentukan exportPOST permintaan URL untuk titik akhir yang didukung

HealthLake mendukung tiga jenis permintaan titik akhir ekspor massal. Untuk membuat permintaan ekspor massal, Anda harus membuat permintaan POST berbasis pada salah satu dari tiga titik akhir yang didukung. Contoh berikut menunjukkan cara menentukan export dalam permintaanURL.

  • POST https://healthlake.your-region.amazonaws.com/datastore/your-datastore-id/r4/$export

  • POST https://healthlake.your-region.amazonaws.com/datastore/your-datastore-id/r4/Patient/$export

  • POST https://healthlake.your-region.amazonaws.com/datastore/your-datastore-id/r4/Group/ID/$export

Dalam string POST permintaan itu, Anda dapat menggunakan parameter pencarian yang didukung berikut.

Parameter pencarian yang didukung

HealthLake mendukung pengubah pencarian berikut dalam permintaan ekspor massal.

Contoh-contoh ini termasuk karakter khusus yang harus dikodekan sebelum mengirimkan permintaan Anda.

Nama Wajib? Deskripsi Contoh
_outputFormat Tidak Format untuk file Data Massal yang diminta untuk dihasilkan. Nilai yang diterima adalahapplication/fhir+ndjson,application/ndjson,ndjson.
_type Tidak Serangkaian jenis FHIR sumber daya yang dibatasi koma yang ingin Anda sertakan dalam pekerjaan ekspor Anda. Kami merekomendasikan termasuk _type karena ini dapat memiliki implikasi biaya ketika semua sumber daya diekspor. &_type=MedicationStatement, Observation
_since Tidak Jenis sumber daya dimodifikasi pada atau setelah stempel tanggal waktu. Jika jenis sumber daya tidak memiliki waktu pembaruan terakhir, mereka akan disertakan dalam respons Anda. &_since=2024-05-09T00%3A00%3A00Z

Langkah 2: Tentukan parameter header yang diperlukan

Untuk membuat permintaan ekspor menggunakan FHIR RESTAPI, Anda harus menentukan dua parameter header berikut.

  • Tipe Konten: application/fhir+json

  • Lebih suka: respond-async

Selanjutnya, Anda harus menentukan elemen yang diperlukan di badan permintaan.

Langkah 3: Tentukan badan permintaan yang menentukan parameter yang diperlukan.

Permintaan ekspor juga membutuhkan badan dalam JSON format. Tubuh dapat mencakup parameter berikut.

Kunci Wajib? Deskripsi Nilai
DataAccessRoleArn Ya Sebuah ARN peran HealthLake layanan. Peran layanan yang digunakan harus ditentukan HealthLake sebagai prinsipal layanan. arn:aws:iam::444455556666:role/your-healthlake-service-role
JobName Tidak Nama permintaan ekspor. your-export-job-name
S3Uri Ya Bagian dari OutputDataConfig kunci. S3 URI dari bucket tujuan tempat data yang Anda ekspor akan diunduh. s3://DOC-EXAMPLE-DESTINATION-BUCKET/EXPORT-JOB/
KmsKeyId Ya Bagian dari OutputDataConfig kunci. AWS KMS Kunci ARN yang digunakan untuk mengamankan bucket Amazon S3. arn:aws:kms:region-of-bucket:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab
contoh — Badan permintaan ekspor yang dibuat dengan menggunakan FHIR REST API

Untuk membuat permintaan ekspor dengan menggunakan FHIR RESTAPI, Anda harus menentukan isi, seperti yang ditunjukkan pada berikut ini.

{ "DataAccessRoleArn": "arn:aws:iam::444455556666:role/your-healthlake-service-role", "JobName": "your-export-job", "OutputDataConfig": { "S3Configuration": { "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/EXPORT-JOB", "KmsKeyId": "arn:aws:kms:region-of-bucket:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab" } } }

Ketika permintaan Anda berhasil, Anda akan menerima tanggapan berikut.

Respon Header

content-location: https://healthlake.your-region.amazonaws.com/datastore/your-datastore-id/r4/export/your-export-request-job-id

Respon Tubuh

{ "datastoreId": "your-data-store-id", "jobStatus": "SUBMITTED", "jobId": "your-export-request-job-id" }

Mengelola permintaan ekspor Anda

Setelah membuat permintaan ekspor berhasil, Anda dapat mengelola permintaan tersebut dengan menggunakan export untuk menjelaskan status permintaan ekspor saat ini, dan export untuk membatalkan permintaan ekspor saat ini.

Ketika Anda membatalkan permintaan ekspor dengan menggunakan RESTAPI, Anda hanya akan ditagih untuk bagian data yang diekspor hingga saat Anda mengajukan permintaan pembatalan.

Topik berikut menjelaskan bagaimana Anda bisa mendapatkan status atau membatalkan permintaan ekspor saat ini.

Membatalkan permintaan ekspor

Untuk membatalkan permintaan ekspor, buat DELETE permintaan dan berikan ID pekerjaan dalam permintaanURL.

DELETE https://healthlake.your-region.amazonaws.com/datastore/your-datastore-id/r4/export/your-export-request-job-id

Ketika permintaan Anda berhasil, Anda menerima yang berikut ini.

{ "exportJobProperties": { "jobId": "your-original-export-request-job-id", "jobStatus": "CANCEL_SUBMITTED", "datastoreId": "your-data-store-id" } }

Ketika permintaan Anda tidak berhasil, Anda menerima yang berikut ini.

{ "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "not-supported", "diagnostics": "Interaction not supported." } ] }

Menjelaskan permintaan ekspor

Untuk mendapatkan status permintaan ekspor, buat GET permintaan dengan menggunakan export dan Andaexport-request-job-id.

GET https://healthlake.your-region.amazonaws.com/datastore/your-datastore-id/r4/export/your-export-request-id

JSONResponsnya akan berisi ExportJobProperties objek. Ini mungkin berisi pasangan key:value berikut.

NamaWajib?DeskripsiNilai
DataAccessRoleArnTidakSebuah ARN peran HealthLake layanan. Peran layanan yang digunakan harus ditentukan HealthLake sebagai prinsipal layanan.arn:aws:iam::444455556666:role/your-healthlake-service-role
SubmitTimeTidakTanggal waktu pekerjaan ekspor diajukan.Apr 21, 2023 5:58:02
EndTimeTidak

Waktu pekerjaan ekspor selesai.

Apr 21, 2023 6:00:08 PM
JobNameTidakNama permintaan ekspor.your-export-job-name
JobStatusTidakNilai yang valid adalah:
SUBMITTED | IN_PROGRESS | COMPLETED_WITH_ERRORS | COMPLETED | FAILED
S3UriYaBagian dari suatu OutputDataConfigobjek. Amazon S3 URI dari bucket tujuan tempat data yang Anda ekspor akan diunduh.s3://DOC-EXAMPLE-DESTINATION-BUCKET/EXPORT-JOB/
KmsKeyIdYaBagian dari suatu OutputDataConfigobjek. AWS KMS Kunci ARN yang digunakan untuk mengamankan bucket Amazon S3.arn:aws:kms:region-of-bucket:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab
contoh : Isi permintaan ekspor deskripsi yang dibuat menggunakan FHIR REST API

Ketika berhasil, Anda akan mendapatkan JSON respon berikut.

{ "exportJobProperties": { "jobId": "your-export-request-id", "JobName": "your-export-job", "jobStatus": "SUBMITTED", "submitTime": "Apr 21, 2023 5:58:02 PM", "endTime": "Apr 21, 2023 6:00:08 PM", "datastoreId": "your-data-store-id", "outputDataConfig": { "s3Configuration": { "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/EXPORT-JOB", "KmsKeyId": "arn:aws:kms:region-of-bucket:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab"" } }, "DataAccessRoleArn": "arn:aws:iam::444455556666:role/your-healthlake-service-role", } }