Halaman ini menjelaskan cara mengekspor dan mengimpor resource FHIR ke dan dari
Cloud Storage menggunakan metode
projects.locations.datasets.fhirStores.import
dan
projects.locations.datasets.fhirStores.export
.
Bergantung pada format data FHIR Anda, untuk memuat data ke dalam penyimpanan FHIR, Anda dapat menggunakan metode
projects.locations.datasets.fhirStores.import
atau metode
projects.locations.datasets.fhirStores.fhir.executeBundle
. Untuk mendapatkan panduan dalam memilih metode, lihat
Impor FHIR.
Menetapkan izin Cloud Storage
Sebelum mengekspor dan mengimpor resource FHIR ke dan dari Cloud Storage, Anda harus memberikan izin tambahan ke akun layanan Agen Layanan Cloud Healthcare. Untuk informasi selengkapnya, lihat Izin Cloud Storage FHIR store.
Membuat data pasien simulasi
Synthea™ adalah simulator untuk menghasilkan data populasi pasien. Jika Anda tidak menggunakan Synthea™ untuk menghasilkan data populasi pasien, lanjutkan ke Mengimpor resource FHIR atau Mengekspor resource FHIR.
Anda hanya dapat mengimpor data dalam versi yang dikonfigurasi untuk diterima oleh FHIR store Anda.
Untuk mendownload dan menginstal Synthea™, selesaikan langkah-langkah berikut:
Clone repositori alat Synthea™ dari GitHub:
git clone https://github.com/synthetichealth/synthea.git
Selesaikan langkah-langkah penginstalan.
Lanjutkan ke salah satu bagian berikut untuk membuat data untuk versi FHIR tertentu:
Membuat data pasien simulasi untuk R4
Secara default, data Synthea™ yang dihasilkan menggunakan representasi JSON FHIR R4 untuk resource. Untuk menghasilkan data FHIR R4 Synthea™ dan mengimpornya ke penyimpanan FHIR Cloud Healthcare API, selesaikan langkah-langkah berikut:
Ikuti petunjuk untuk membuat data pasien sintetis. Data yang dihasilkan akan ditampilkan ke
synthea/output/fhir_r4
untuk FHIR R4.Salin data yang dihasilkan ke bucket Cloud Storage agar Anda dapat mengimpornya ke penyimpanan FHIR Cloud Healthcare API. Misalnya, untuk menyalin data ke direktori bernama
synthea-data
di bucket Cloud Storage yang ada, jalankan perintahgcloud storage cp
berikut dari direktorisynthea
:gcloud storage cp output/fhir_r4/* gs://BUCKET/synthea-data
Ikuti petunjuk untuk mengimpor resource FHIR.
Membuat data pasien simulasi untuk DSTU2 atau STU3
Untuk menghasilkan data FHIR DSTU2 atau STU3 Synthea™ dan mengimpornya ke penyimpanan FHIR Cloud Healthcare API, selesaikan langkah-langkah berikut:
Dari direktori
synthea
, gunakan editor teks untuk membuka filesrc/main/resources/synthea.properties
, lalu lakukan perubahan berikut, bergantung pada apakah Anda membuat data DSTU2 atau STU3.Untuk menghasilkan data FHIR STU3:
- Tetapkan semua nilai
*.fhir.export
dan*.fhir_dstu2.export
kefalse
- Tetapkan semua nilai
*.fhir_stu3.export
ke benar (true)
Untuk membuat data FHIR DSTU2:
- Tetapkan semua nilai
*.fhir.export
dan*.fhir_stu3.export
kefalse
- Tetapkan semua nilai
*.fhir_dstu2.export
ke benar (true)
Misalnya, untuk menghasilkan data FHIR STU3:
exporter.fhir.export = false exporter.fhir_stu3.export = true exporter.fhir_dstu2.export = false exporter.hospital.fhir.export = false exporter.hospital.fhir_stu3.export = true exporter.hospital.fhir_dstu2.export = false exporter.practitioner.fhir.export = false exporter.practitioner.fhir_stu3.export = true exporter.practitioner.fhir_dstu2.export = false
- Tetapkan semua nilai
Ikuti petunjuk untuk membuat data pasien sintetis. Data yang dihasilkan akan ditampilkan ke
synthea/output/fhir_stu3
untuk FHIR STU3 atau direktorisynthea/output/fhir_dstu2
untuk FHIR DSTU2.Salin data yang dihasilkan ke bucket Cloud Storage agar Anda dapat mengimpornya ke penyimpanan FHIR Cloud Healthcare API. Misalnya, untuk menyalin data ke direktori bernama
synthea-data
di bucket Cloud Storage yang ada, jalankan perintahgcloud storage cp
berikut dari direktorisynthea
:gcloud storage cp output/fhir_stu3/* gs://BUCKET/synthea-data
Ikuti petunjuk untuk mengimpor resource FHIR.
Mengimpor resource FHIR
Saat mengonfigurasi isi permintaan impor, tetapkan
ContentStructure
ke salah satu nilai berikut:
CONTENT_STRUCTURE_UNSPECIFIED
BUNDLE
: File sumber berisi satu atau beberapa baris JSON yang dibatasi newline (ndjson). Setiap baris adalah paket, yang berisi satu atau beberapa resource. Jika Anda tidak menentukanContentStructure
, nilai defaultnya adalahBUNDLE
.RESOURCE
: File sumber berisi satu atau beberapa baris JSON (ndjson) yang dibatasi newline. Setiap baris adalah satu resource.BUNDLE_PRETTY
: Seluruh file sumber adalah satu paket JSON. JSON dapat mencakup beberapa baris.RESOURCE_PRETTY
: Seluruh file sumber adalah satu resource JSON. JSON dapat mencakup beberapa baris.
Misalnya, Anda mengimpor file bernama resources.ndjson
dengan konten berikut:
{"class":{"code":"IMP","display":"inpatient encounter","system":"http://hl7.org/fhir/v3/ActCode"},"id":"6090e773-3e91-40a7-8fce-1e22f6774c29","reason":[{"text":"The patient had an abnormal heart rate. She was concerned about this."}],"resourceType":"Encounter","status":"finished","subject":{"reference":"Patient/2938bb9e-1f16-429e-8d44-9508ab0e4151"}}
{"class":{"code":"IMP","display":"inpatient encounter","system":"http://hl7.org/fhir/v3/ActCode"},"id":"7101f884-4f02-51b8-9gdf-2f33g7885d30","reason":[{"text":"The patient was experiencing recurrent fevers."}],"resourceType":"Encounter","status":"finished","subject":{"reference":"Patient/3049cc0f-2g27-530f-9e55-0619bc1f5262"}}
{"birthDate":"1970-01-01","gender":"female","id":"2938bb9e-1f16-429e-8d44-9508ab0e4151","name":[{"family":"Smith","given":["Darcy"],"use":"official"}],"resourceType":"Patient"}
File ini berisi dua resource Encounter dan satu resource Patient. Setiap
resource berada di baris terpisah, jadi Anda menetapkan ContentStructure
ke
RESOURCE
.
Data Anda mungkin diimpor dengan tidak benar atau tidak diimpor sama sekali jika ContentStructure
tidak sesuai dengan format data Anda. Misalnya, file contoh di atas tidak akan diimpor dengan benar kecuali jika ContentStructure
ditetapkan ke RESOURCE
dalam
permintaan impor.
Contoh berikut menunjukkan cara mengimpor resource FHIR dari bucket Cloud Storage.
Konsol
Untuk mengimpor resource FHIR dari bucket Cloud Storage, selesaikan langkah-langkah berikut:
- Di konsol Google Cloud , buka halaman Datasets.
Buka Datasets - Klik set data yang berisi penyimpanan FHIR tempat Anda mengimpor resource FHIR.
- Di daftar penyimpanan data, pilih Impor dari daftar
Tindakan untuk penyimpanan FHIR.
Halaman Impor ke penyimpanan FHIR akan muncul. - Dalam daftar Project, pilih project Cloud Storage.
- Dalam daftar Location, pilih bucket Cloud Storage.
- Di FHIR import settings, pilih struktur konten yang relevan.
- Klik Impor untuk mengimpor resource FHIR.
- Untuk melacak status operasi, klik tab Operasi. Setelah operasi
selesai, indikasi berikut akan muncul:
- Bagian Status operasi yang berjalan lama memiliki tanda centang hijau di bagian judul OK.
- Bagian Ringkasan memiliki tanda centang hijau dan indikator OK di baris yang sama dengan ID operasi.
gcloud
Untuk mengimpor resource FHIR ke penyimpanan FHIR, gunakan perintah
gcloud healthcare fhir-stores import gcs
. Tentukan informasi berikut:
- Nama set data induk
- Nama penyimpanan FHIR
- Lokasi objek di bucket Cloud Storage. Lokasi
file dalam bucket bersifat arbitrer dan tidak harus persis
mengikuti format yang ditentukan dalam contoh berikut. Saat menentukan
lokasi resource FHIR di Cloud Storage, Anda dapat menggunakan
karakter pengganti untuk mengimpor beberapa file dari satu atau beberapa direktori.
Karakter pengganti berikut didukung:
- Gunakan
*
untuk mencocokkan 0 atau beberapa karakter nonpemisah. Misalnya,gs://BUCKET/DIRECTORY/Example*.ndjson
cocok dengan Example.ndjson dan Example22.ndjson di DIRECTORY. - Gunakan
**
untuk mencocokkan 0 atau beberapa karakter (termasuk pemisah). Harus digunakan di akhir jalur dan tanpa karakter pengganti lain di jalur. Dapat juga digunakan dengan ekstensi nama file (seperti .ndjson), yang mengimpor semua file dengan ekstensi nama file dalam direktori yang ditentukan dan subdirektorinya. Misalnya,gs://BUCKET/DIRECTORY/**.ndjson
mengimpor semua file dengan ekstensi nama file .ndjson di DIRECTORY dan subdirektorinya. - Gunakan
?
untuk mencocokkan 1 karakter. Misalnya,gs://BUCKET/DIRECTORY/Example?.ndjson
cocok dengan Example1.ndjson, tetapi tidak cocok dengan Example.ndjson atau Example01.ndjson.
- Gunakan
Contoh berikut menunjukkan perintah gcloud healthcare fhir-stores import gcs
.
gcloud healthcare fhir-stores import gcs FHIR_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION \ --gcs-uri=gs://BUCKET/DIRECTORY/FHIR_RESOURCE_NAME.ndjson
Untuk menentukan struktur file sumber FHIR, gunakan tanda --content-structure
.
Command line akan menampilkan ID operasi dan, setelah operasi selesai,
done
:
Request issued for: [FHIR_STORE_ID] Waiting for operation [OPERATION_ID] to complete...done. name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID
Untuk melihat detail operasi lainnya, jalankan perintah
gcloud healthcare operations describe
dengan memberikan OPERATION_ID dari respons:
gcloud healthcare operations describe OPERATION_ID \ --dataset=DATASET_ID
Respons menyertakan done: true
.
done: true metadata: '@type': type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata apiMethodName: google.cloud.healthcare.v1.fhir.FhirService.ImportResources createTime: 'CREATE_TIME' endTime: 'END_TIME' logsUrl: https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL, counter: success: 'SUCCESS_COUNT' name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID response: '@type': type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ImportResourcesResponse fhirStore: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID
API
Untuk mengimpor resource FHIR ke penyimpanan FHIR, gunakan metode
projects.locations.datasets.fhirStores.import
.
- Lokasi file dalam bucket bersifat arbitrer dan tidak harus mengikuti persis format yang ditentukan dalam contoh berikut.
- Saat menentukan lokasi resource FHIR di Cloud Storage,
Anda dapat menggunakan karakter pengganti untuk mengimpor beberapa file dari satu atau beberapa direktori.
Karakter pengganti berikut didukung:
- Gunakan
*
untuk mencocokkan 0 atau beberapa karakter nonpemisah. Misalnya,gs://BUCKET/DIRECTORY/Example*.ndjson
cocok dengan Example.ndjson dan Example22.ndjson di DIRECTORY. - Gunakan
**
untuk mencocokkan 0 atau beberapa karakter (termasuk pemisah). Harus digunakan di akhir jalur dan tanpa karakter pengganti lain di jalur. Dapat juga digunakan dengan ekstensi nama file (seperti .ndjson), yang mengimpor semua file dengan ekstensi nama file dalam direktori yang ditentukan dan subdirektorinya. Misalnya,gs://BUCKET/DIRECTORY/**.ndjson
mengimpor semua file dengan ekstensi nama file .ndjson di DIRECTORY dan subdirektorinya. - Gunakan
?
untuk mencocokkan 1 karakter. Misalnya,gs://BUCKET/DIRECTORY/Example?.ndjson
cocok dengan Example1.ndjson, tetapi tidak cocok dengan Example.ndjson atau Example01.ndjson.
- Gunakan
curl
Untuk mengimpor resource FHIR ke penyimpanan FHIR, buat permintaan POST
dan tentukan
informasi berikut:
- Nama set data induk
- Nama penyimpanan FHIR
- Lokasi objek dalam bucket Cloud Storage
- Token akses
Contoh berikut menunjukkan cara mengimpor satu file menggunakan permintaan POST
menggunakan curl
.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'contentStructure': 'CONTENT_STRUCTURE', 'gcsSource': { 'uri': 'gs://BUCKET/DIRECTORY/FHIR_RESOURCE_FILE' } }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:import"
Jika permintaan berhasil, server akan menampilkan respons dalam format JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
Respons berisi nama operasi. Untuk melacak status operasi,
Anda dapat menggunakan
Metode get
operasi:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"
Jika permintaan berhasil, server akan menampilkan respons dengan status operasi dalam format JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1.fhir.FhirService.ImportResources", "createTime": "CREATE_TIME", "endTime": "END_TIME", "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL", "counter": { "success": "SUCCESS_COUNT" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ImportResourcesResponse", } }
PowerShell
Untuk mengimpor resource FHIR ke penyimpanan FHIR, buat permintaan POST
dan tentukan
informasi berikut:
- Nama set data induk
- Nama penyimpanan FHIR
- Lokasi objek dalam bucket Cloud Storage
- Token akses
Contoh berikut menunjukkan permintaan POST
menggunakan Windows PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'contentStructure': 'CONTENT_STRUCTURE', 'gcsSource': { 'uri': 'gs://BUCKET/DIRECTORY/FHIR_RESOURCE_FILE' } }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:import" | Select-Object -Expand Content
Jika permintaan berhasil, server akan menampilkan respons dalam format JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
Respons berisi nama operasi. Untuk melacak status operasi,
Anda dapat menggunakan
Metode get
operasi:
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
Jika permintaan berhasil, server akan menampilkan respons dengan status operasi dalam format JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1.fhir.FhirService.ImportResources", "createTime": "CREATE_TIME", "endTime": "END_TIME", "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL", "counter": { "success": "SUCCESS_COUNT" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ImportResourcesResponse", } }
Go
Java
Node.js
Python
Mengekspor resource FHIR
Contoh berikut menunjukkan cara mengekspor resource FHIR ke bucket Cloud Storage. Saat Anda mengekspor resource FHIR dari penyimpanan FHIR, semua resource di penyimpanan FHIR akan diekspor.
Jika Anda mengekspor resource FHIR sesuai jadwal, pertimbangkan untuk mengekspor data secara bertahap. Untuk mengetahui petunjuknya, lihat Ekspor inkremental.
Selama proses ekspor, Cloud Healthcare API membuat satu file untuk setiap jenis resource dari penyimpanan FHIR. Nama file terdiri dari ID operasi dan
jenis resource yang dipisahkan dengan garis bawah. Setiap file terdiri dari JSON yang dibatasi dengan karakter baris baru, di mana setiap baris adalah resource FHIR yang sesuai dengan jenis resource dalam nama file. Misalnya, jika Anda mengekspor beberapa data Pasien, file output akan disebut dengan nama yang mirip dengan 1264567891234567_Patient
dan akan berisi baris untuk setiap resource Pasien dari penyimpanan FHIR.
Konsol
Untuk mengekspor resource FHIR ke Cloud Storage, selesaikan langkah-langkah berikut:
- Di konsol Google Cloud , buka halaman Datasets.
Buka Datasets - Klik set data yang berisi penyimpanan FHIR tempat Anda mengekspor resource FHIR.
- Dalam daftar penyimpanan data, pilih Ekspor dari daftar Tindakan
untuk penyimpanan FHIR.
Halaman Ekspor resource FHIR akan ditampilkan. - Pilih Bucket Google Cloud Storage.
- Dalam daftar Project, pilih project Cloud Storage.
- Dalam daftar Location, pilih bucket Cloud Storage.
- Klik Ekspor untuk mengekspor resource FHIR ke lokasi yang ditentukan di Cloud Storage.
- Untuk melacak status operasi, klik tab Operasi. Setelah operasi
selesai, indikasi berikut akan muncul:
- Bagian Status operasi yang berjalan lama memiliki tanda centang hijau di bagian judul OK.
- Bagian Ringkasan memiliki tanda centang hijau dan indikator OK di baris yang sama dengan ID operasi.
gcloud
Untuk mengekspor resource FHIR ke bucket Cloud Storage, gunakan perintah
gcloud healthcare fhir-stores export gcs
. Tentukan informasi berikut:
- Nama set data induk
- Nama penyimpanan FHIR
- Nama project induk
- Bucket atau direktori Cloud Storage tujuan. Tulis ke bucket atau direktori Cloud Storage, bukan objek, karena Cloud Healthcare API membuat satu objek untuk setiap jenis resource. Setiap objek terdiri dari JSON yang dibatasi baris baru, dengan setiap baris adalah resource FHIR. Jika Anda menentukan direktori yang tidak ada, direktori tersebut akan dibuat.
- Flag opsional,
--resource-type
, yang hanya mengekspor jenis resource tertentu, yang ditentukan sebagai daftar yang dipisahkan koma dari satu atau beberapa jenis resource FHIR - Flag opsional,
--since
, yang hanya mengekspor resource yang diperbarui setelah waktu tertentu, yang ditentukan sebagaiYYYY-MM-DDThh:mm:ss.sss+zz:zz
Contoh berikut menunjukkan perintah gcloud healthcare fhir-stores export gcs
.
gcloud healthcare fhir-stores export gcs FHIR_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION \ --project=PROJECT_ID --gcs-uri=gs://BUCKET/DIRECTORY
Command line akan menampilkan ID operasi:
Waiting for operation [OPERATION_ID] to complete...done. name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID
Untuk melihat status operasi, jalankan perintah
gcloud healthcare operations describe
dengan memberikan OPERATION_ID dari respons:
gcloud healthcare operations describe OPERATION_ID \ --dataset=DATASET_ID
Setelah perintah selesai, respons akan menyertakan done
.
metadata: '@type': type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata apiMethodName: google.cloud.healthcare.v1.fhir.FhirService.ExportFhirData createTime: "CREATE_TIME" endTime: "END_TIME" name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID response: '@type': type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ExportResourcesResponse fhirStore: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID resourceCount: 'RESOURCE_COUNT'
API
Untuk mengekspor resource FHIR, gunakan metode
projects.locations.datasets.fhirStores.export
.
- Tulis ke bucket atau direktori Cloud Storage, bukan objek, karena Cloud Healthcare API membuat satu file JSON yang dibatasi baris baru untuk setiap jenis resource. Di setiap file JSON, setiap baris adalah resource FHIR.
- Jika perintah menentukan direktori yang tidak ada, direktori tersebut akan dibuat.
curl
Untuk mengekspor resource FHIR, buat permintaan POST
dan tentukan
informasi berikut:
- Nama set data induk
- Nama penyimpanan FHIR
- Bucket Cloud Storage tujuan
- Token akses
- Kolom opsional,
_type
, yang hanya mengekspor jenis resource tertentu, yang ditentukan sebagai daftar yang dipisahkan koma dari satu atau beberapa jenis resource FHIR - Kolom opsional,
_since
, yang hanya mengekspor resource yang diperbarui setelah waktu tertentu, yang ditentukan sebagaiYYYY-MM-DDThh:mm:ss.sss+zz:zz
Contoh berikut menunjukkan permintaan POST
menggunakan curl
.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'gcsDestination': { 'uriPrefix': 'gs://BUCKET/DIRECTORY' }, }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:export"
Jika permintaan berhasil, server akan menampilkan respons dalam format JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
Respons berisi nama operasi. Untuk melacak status operasi,
Anda dapat menggunakan
Metode get
operasi:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"
Jika permintaan berhasil, server akan menampilkan respons dengan status operasi dalam format JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1.fhir.FhirService.ExportResources", "createTime": "CREATE_TIME", "endTime": "END_TIME", "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL", "counter": { "success": "SUCCESS_COUNT" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ExportResourcesResponse", } }
PowerShell
Untuk mengekspor resource FHIR, buat permintaan POST
dan tentukan
informasi berikut:
- Nama set data induk
- Nama penyimpanan FHIR
- Bucket atau direktori Cloud Storage tujuan. Tulis ke bucket atau direktori Cloud Storage, bukan objek, karena Cloud Healthcare API membuat satu objek untuk setiap jenis resource. Setiap objek terdiri dari JSON yang dipisahkan newline dengan setiap baris adalah resource FHIR.
- Token akses
- Kolom opsional,
_type
, yang hanya mengekspor jenis resource tertentu, yang ditentukan sebagai daftar yang dipisahkan koma dari satu atau beberapa jenis resource FHIR - Kolom opsional,
_since
, yang hanya mengekspor resource yang diperbarui setelah waktu tertentu, yang ditentukan sebagaiYYYY-MM-DDThh:mm:ss.sss+zz:zz
Contoh berikut menunjukkan permintaan POST
menggunakan Windows PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'gcsDestination': { 'uriPrefix': 'gs://BUCKET/DIRECTORY' }, }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:export" | Select-Object -Expand Content
Jika permintaan berhasil, server akan menampilkan respons dalam format JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
Respons berisi nama operasi. Untuk melacak status operasi,
Anda dapat menggunakan
Metode get
operasi:
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
Jika permintaan berhasil, server akan menampilkan respons dengan status operasi dalam format JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1.fhir.FhirService.ExportResources", "createTime": "CREATE_TIME", "endTime": "END_TIME", "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL", "counter": { "success": "SUCCESS_COUNT" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ExportResourcesResponse", } }
Go
Java
Node.js
Python
Ekspor inkremental
Anda dapat menentukan stempel waktu untuk hanya mengekspor resource FHIR yang ditambahkan ke penyimpanan FHIR sejak ekspor berhasil sebelumnya. Hal ini meningkatkan performa dan menghindari biaya mengekspor ulang seluruh FHIR store, sekaligus memastikan data yang diekspor selalu terbaru.
Saat memanggil fhirStores.export
,
tentukan stempel waktu di kolom _since
.
Memecahkan masalah permintaan impor dan ekspor FHIR
Jika terjadi error selama permintaan impor atau ekspor FHIR, error tersebut akan dicatat ke Cloud Logging. Untuk mengetahui informasi selengkapnya, lihat artikel Melihat log error di Cloud Logging.
Jika seluruh operasi menampilkan error, lihat Memecahkan masalah operasi yang berjalan lama.
Langkah berikutnya
- Jika Anda telah berhasil mengimpor data FHIR dan ingin menganalisis data di BigQuery, lanjutkan ke Mengekspor data FHIR ke BigQuery.