Halaman ini menjelaskan cara mengekspor FHIR resource secara batch ke BigQuery untuk eksplorasi dan analisis. Operasi ekspor membuat satu tabel BigQuery untuk setiap jenis resource FHIR di penyimpanan FHIR Anda.
Untuk meningkatkan performa kueri dan mengurangi biaya, pertimbangkan untuk mengekspor resource FHIR ke tabel berpartisi. Untuk mengetahui petunjuknya, lihat Mengekspor resource FHIR ke tabel berpartisi.
Jika Anda mengekspor resource FHIR sesuai jadwal, pertimbangkan untuk mengekspor data secara bertahap. Untuk mengetahui petunjuknya, lihat Ekspor inkremental.
Menetapkan izin BigQuery
Sebelum mengekspor resource FHIR ke BigQuery, Anda harus memberikan izin tambahan ke akun layanan Agen Layanan Cloud Healthcare . Untuk mengetahui informasi selengkapnya, lihat Izin BigQuery FHIR store.
Memahami perilaku ekspor
Perilaku operasi ekspor bergantung pada hal berikut:
- Apakah tabel tujuan ada.
- Apakah Anda menetapkan kolom
force
. - Apakah Anda menentukan enum di
WriteDisposition
. Jika Anda menentukan enum, jangan tetapkan kolomforce
.
Perilaku dalam setiap kasus adalah sebagai berikut:
- Tabel tujuan ada dan
force
disetel ketrue
: operasi ekspor akan menimpa tabel yang ada - Tabel tujuan ada dan
force
ditetapkan kefalse
: error akan terjadi - Tabel tujuan tidak ada: operasi ekspor membuat tabel baru, terlepas dari apakah Anda menentukan kolom
force
Tabel tujuan ada dan Anda menyetel
WriteDisposition
keWRITE_TRUNCATE
atauWRITE_APPEND
: operasi ekspor berhasil, bukan menampilkan error
Operasi ini menghasilkan satu tabel BigQuery untuk setiap jenis resource di penyimpanan FHIR.
Mengekspor resource FHIR secara batch
Contoh berikut menunjukkan cara mengekspor resource FHIR ke tabel BigQuery.
Saat menentukan tujuan BigQuery, gunakan URI yang sepenuhnya memenuhi syarat:
bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID
Konsol
Untuk mengekspor resource FHIR ke BigQuery menggunakan konsolGoogle Cloud , selesaikan langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Datasets.
Klik set data yang memiliki penyimpanan FHIR dengan data yang Anda ekspor.
Di baris yang sama dengan penyimpanan FHIR, buka daftar Tindakan, lalu pilih Ekspor.
Di halaman Export FHIR resources yang muncul, temukan bagian Select a destination. Pilih Tabel BigQuery.
Di bagian Disposisi tulis tabel tujuan, pilih salah satu opsi berikut untuk menentukan perilaku operasi ekspor:
- Hanya ekspor data jika tabel tujuan kosong: ini setara dengan memilih enum
WRITE_EMPTY
diWriteDisposition
. - Tambahkan data ke tabel tujuan: ini setara dengan memilih enum
WRITE_APPEND
diWriteDisposition
. - Hapus semua data yang ada di tabel tujuan sebelum menulis resource FHIR: ini setara dengan memilih enum
WRITE_TRUNCATE
diWriteDisposition
.
- Hanya ekspor data jika tabel tujuan kosong: ini setara dengan memilih enum
Di bagian Konfigurasi ekspor FHIR, klik Jelajahi untuk memilih project dan set data BigQuery.
Di dropdown Schema type, pilih skema output untuk tabel BigQuery. Skema berikut tersedia:
- Analytics. Skema berdasarkan dokumen SQL on FHIR. Karena BigQuery hanya mengizinkan 10.000 kolom per tabel, skema tidak dibuat untuk kolom
Parameters.parameter.resource
,Bundle.entry.resource
, danBundle.entry.response.outcome
. - Analytics V2. Skema yang mirip dengan skema Analytics, dengan dukungan tambahan untuk berikut ini: Skema Analytics V2 menggunakan lebih banyak ruang di tabel tujuan daripada skema Analytics.
- Analytics. Skema berdasarkan dokumen SQL on FHIR. Karena BigQuery hanya mengizinkan 10.000 kolom per tabel, skema tidak dibuat untuk kolom
Pilih tingkat kedalaman di penggeser Kedalaman Struktur Rekursif untuk menetapkan kedalaman semua struktur rekursif dalam skema output. Secara default, nilai rekursif adalah 2.
Untuk informasi selengkapnya, lihat
recursiveStructureDepth
.Klik Ekspor untuk mengekspor resource FHIR ke BigQuery.
- 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 BigQuery, jalankan perintah
gcloud healthcare fhir-stores export bq
.
Ekspor resource FHIR.
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- PROJECT_ID: ID Google Cloud project Anda
- LOCATION: lokasi set data
- DATASET_ID: set data induk FHIR store
- FHIR_STORE_ID: ID FHIR store
- BIGQUERY_DATASET_ID: nama set data BigQuery yang ada tempat Anda mengekspor resource FHIR
- SCHEMA_TYPE: nilai untuk
SchemaType
. Gunakan salah satu nilai berikut:analytics
. Skema berdasarkan dokumen SQL on FHIR. Karena BigQuery hanya mengizinkan 10.000 kolom per tabel, skema tidak dibuat untuk kolomParameters.parameter.resource
,Bundle.entry.resource
, danBundle.entry.response.outcome
.analytics_v2
. Skema yang mirip dengananalytics
dengan dukungan tambahan untuk berikut ini:analytics-v2
menggunakan lebih banyak ruang di tabel tujuan daripadaanalytics
.
- WRITE_DISPOSITION: nilai untuk
WriteDisposition
. Gunakan salah satu nilai berikut:write-empty
. Hanya ekspor data jika tabel BigQuery tujuan kosong.write-truncate
. Menghapus semua data yang ada di tabel BigQuery sebelum menulis resource FHIR.write-append
. Tambahkan data ke tabel BigQuery tujuan.
- FHIR_RESOURCE_TYPE: kolom opsional. Tentukan satu atau beberapa jenis resource FHIR yang dipisahkan dengan koma untuk hanya mengekspor resource FHIR dari jenis tersebut.
- SINCE_TIMESTAMP: kolom opsional. Tentukan nilai dalam format
YYYY-MM-DDThh:mm:ss.sss+zz:zz
untuk hanya mengekspor resource FHIR yang diperbarui setelah waktu tertentu. Tentukan waktu hingga detik dan sertakan zona waktu. Misalnya,2015-02-07T13:28:17.239+02:00
dan2017-01-01T00:00:00Z
adalah waktu yang valid.
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud healthcare fhir-stores export bq FHIR_STORE_ID \ --location=LOCATION \ --dataset=DATASET_ID \ --bq-dataset=bq://PROJECT_ID.BIGQUERY_DATASET_ID \ --schema-type=SCHEMA_TYPE \ --write-disposition=WRITE_DISPOSITION \ --resource-type=FHIR_RESOURCE_TYPE \ --since=SINCE_TIMESTAMP
Windows (PowerShell)
gcloud healthcare fhir-stores export bq FHIR_STORE_ID ` --location=LOCATION ` --dataset=DATASET_ID ` --bq-dataset=bq://PROJECT_ID.BIGQUERY_DATASET_ID ` --schema-type=SCHEMA_TYPE ` --write-disposition=WRITE_DISPOSITION ` --resource-type=FHIR_RESOURCE_TYPE ` --since=SINCE_TIMESTAMP
Windows (cmd.exe)
gcloud healthcare fhir-stores export bq FHIR_STORE_ID ^ --location=LOCATION ^ --dataset=DATASET_ID ^ --bq-dataset=bq://PROJECT_ID.BIGQUERY_DATASET_ID ^ --schema-type=SCHEMA_TYPE ^ --write-disposition=WRITE_DISPOSITION ^ --resource-type=FHIR_RESOURCE_TYPE ^ --since=SINCE_TIMESTAMP
name
setelah ekspor selesai. Catat nilaiOPERATION_ID
. Anda memerlukan nilai ini pada langkah berikutnya.Respons
Request issued for: [FHIR_STORE_ID] Waiting for operation [projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID] to complete...⠏ name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID
Untuk melihat detail selengkapnya tentang operasi, jalankan
gcloud healthcare operations describe
dan berikan OPERATION_ID dari respons.Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- PROJECT_ID: ID Google Cloud project Anda
- DATASET_ID: ID set data
- LOCATION: lokasi set data
- OPERATION_ID: ID yang ditampilkan dari operasi yang berjalan lama
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud healthcare operations describe OPERATION_ID \ --project=PROJECT_ID \ --dataset=DATASET_ID \ --location=LOCATION
Windows (PowerShell)
gcloud healthcare operations describe OPERATION_ID ` --project=PROJECT_ID ` --dataset=DATASET_ID ` --location=LOCATION
Windows (cmd.exe)
gcloud healthcare operations describe OPERATION_ID ^ --project=PROJECT_ID ^ --dataset=DATASET_ID ^ --location=LOCATION
Anda akan melihat respons seperti berikut:
Respons
done: true // If there were any errors, an `error` field displays instead of a `response` field. // See Troubleshooting long-running operations for a list of response codes. error: ERROR code: ERROR_CODE message: DESCRIPTION metadata: '@type': 'type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata' apiMethodName: 'google.cloud.healthcare.v1.fhir.FhirStoreService.ExportResources_bq' counter: success: 'SUCCESS_COUNT' // If there were any failures, they display in the `failure` field. failure: 'FAILURE_COUNT' createTime: 'YYYY-MM-DDTHH:MM:SS+ZZ:ZZ' endTime: 'YYYY-MM-DDTHH:MM:SS+ZZ:ZZ' logsUrl: https://console.cloud.google.com/CLOUD_LOGGING_URL name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID // The `response` field only displays if there were no errors. response: '@type': 'type.googleapis.com/google.cloud.healthcare.v1.fhir.ExportResourcesResponse'
REST
Untuk mengekspor resource FHIR ke BigQuery, gunakan metode
projects.locations.datasets.fhirStores.export
.
Mengekspor resource FHIR:
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID Google Cloud project Anda
- LOCATION: lokasi set data
- DATASET_ID: set data induk FHIR store
- FHIR_STORE_ID: ID FHIR store
- BIGQUERY_DATASET_ID: nama set data BigQuery yang ada tempat Anda mengekspor resource FHIR
- SCHEMA_TYPE: nilai untuk
SchemaType
. Gunakan salah satu nilai berikut:ANALYTICS
. Skema berdasarkan dokumen SQL on FHIR. Karena BigQuery hanya mengizinkan 10.000 kolom per tabel, skema tidak dibuat untuk kolomParameters.parameter.resource
,Bundle.entry.resource
, danBundle.entry.response.outcome
.ANALYTICS_V2
. Skema yang mirip denganANALYTICS
dengan dukungan tambahan untuk berikut ini:
.ANALYTICS_V2
menggunakan lebih banyak ruang di tabel tujuan daripadaANALYTICS
- WRITE_DISPOSITION: nilai untuk
WriteDisposition
. Gunakan salah satu nilai berikut:WRITE_EMPTY
. Hanya ekspor data jika tabel BigQuery tujuan kosong.WRITE_TRUNCATE
. Menghapus semua data yang ada di tabel BigQuery sebelum menulis resource FHIR.WRITE_APPEND
. Tambahkan data ke tabel BigQuery tujuan.
- FHIR_RESOURCE_TYPE: kolom opsional. Tentukan satu atau beberapa jenis resource FHIR yang dipisahkan dengan koma untuk hanya mengekspor resource FHIR dari jenis tersebut.
- SINCE_TIMESTAMP: kolom opsional. Tentukan nilai dalam format
YYYY-MM-DDThh:mm:ss.sss+zz:zz
untuk hanya mengekspor resource FHIR yang diperbarui setelah waktu tertentu. Tentukan waktu hingga detik dan sertakan zona waktu. Misalnya,2015-02-07T13:28:17.239+02:00
dan2017-01-01T00:00:00Z
adalah waktu yang valid.
Meminta isi JSON:
{ "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", }, "writeDisposition": "WRITE_DISPOSITION" }, "_type": "FHIR_RESOURCE_TYPE", "_since": "SINCE_TIMESTAMP" }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama
request.json
. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:cat > request.json << 'EOF' { "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", }, "writeDisposition": "WRITE_DISPOSITION" }, "_type": "FHIR_RESOURCE_TYPE", "_since": "SINCE_TIMESTAMP" } EOF
Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:export"PowerShell
Simpan isi permintaan dalam file bernama
request.json
. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:@' { "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", }, "writeDisposition": "WRITE_DISPOSITION" }, "_type": "FHIR_RESOURCE_TYPE", "_since": "SINCE_TIMESTAMP" } '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:export" | Select-Object -Expand ContentAPIs Explorer
Salin isi permintaan dan buka halaman referensi metode. Panel APIs Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Tempelkan isi permintaan di alat ini, lengkapi kolom lainnya yang wajib diisi, lalu klik Jalankan.
OPERATION_ID
. Anda memerlukan nilai ini pada langkah berikutnya.Gunakan metode
projects.locations.datasets.operations.get
untuk mendapatkan status operasi yang berjalan lama.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID Google Cloud project Anda
- DATASET_ID: ID set data
- LOCATION: lokasi set data
- OPERATION_ID: ID yang ditampilkan dari operasi yang berjalan lama
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Jalankan perintah berikut:
$cred = gcloud auth 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 ContentAPIs Explorer
Buka halaman referensi metode. Panel APIs Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.
"done": true
, berarti operasi yang berjalan lama telah selesai.
Mengekspor resource FHIR ke tabel berpartisi
Untuk mengekspor resource FHIR ke tabel berpartisi BigQuery, tetapkan enum
TimePartitioning
di kolom
lastUpdatedPartitionConfig
di penyimpanan FHIR Anda.
Tabel berpartisi berfungsi seperti tabel berpartisi unit waktu BigQuery.
Tabel berpartisi memiliki kolom tambahan bernama lastUpdated
, yang merupakan duplikat
dari kolom meta.lastUpdated
yang dihasilkan dari kolom meta.lastUpdated
dalam
sumber daya FHIR. BigQuery menggunakan kolom lastUpdated
untuk mempartisi tabel menurut jam, hari, bulan, atau tahun.
Lihat Memilih partisi harian, per jam, bulanan, atau tahunan untuk mendapatkan rekomendasi tentang cara memilih perincian partisi.
Anda tidak dapat mengonversi tabel BigQuery yang ada dan tidak dipartisi menjadi tabel berpartisi. Jika Anda mengekspor perubahan resource Pasien ke tabel Patients
yang tidak dipartisi, dan kemudian membuat penyimpanan FHIR baru dengan partisi tabel yang mengekspor ke set data BigQuery yang sama, Cloud Healthcare API tetap mengekspor data ke tabel Patients
yang tidak dipartisi. Untuk mulai menggunakan tabel berpartisi, hapus tabel Patients
yang ada atau gunakan set data BigQuery yang berbeda.
Jika menambahkan partisi ke konfigurasi penyimpanan FHIR yang ada, Anda tetap dapat mengekspor ke tabel yang ada dan tidak berpartisi. Namun, partisi hanya akan berlaku pada tabel baru.
Contoh berikut menunjukkan cara mengekspor resource FHIR ke tabel yang dipartisi BigQuery.
Konsol
Konsol Google Cloud dan gcloud CLI tidak mendukung tindakan ini. Sebagai gantinya, gunakan curl
, PowerShell, atau bahasa pilihan Anda.
gcloud
Konsol Google Cloud dan gcloud CLI tidak mendukung tindakan ini. Sebagai gantinya, gunakan curl
, PowerShell, atau bahasa pilihan Anda.
REST
Untuk mengekspor resource FHIR ke tabel berpartisi BigQuery, gunakan metode
projects.locations.datasets.fhirStores.export
.
Mengekspor resource FHIR:
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID Google Cloud project Anda
- LOCATION: lokasi set data
- DATASET_ID: set data induk FHIR store
- FHIR_STORE_ID: ID FHIR store
- BIGQUERY_DATASET_ID: nama set data BigQuery yang ada tempat Anda mengekspor resource FHIR
- SCHEMA_TYPE: nilai untuk
SchemaType
. Gunakan salah satu nilai berikut:ANALYTICS
. Skema berdasarkan dokumen SQL on FHIR. Karena BigQuery hanya mengizinkan 10.000 kolom per tabel, skema tidak dibuat untuk kolomParameters.parameter.resource
,Bundle.entry.resource
, danBundle.entry.response.outcome
.ANALYTICS_V2
. Skema yang mirip denganANALYTICS
dengan dukungan tambahan untuk berikut ini:
.ANALYTICS_V2
menggunakan lebih banyak ruang di tabel tujuan daripadaANALYTICS
- TIME_PARTITION_TYPE: perincian untuk mempartisi resource FHIR yang diekspor. Gunakan salah satu nilai berikut:
HOUR
: mempartisi data per jamDAY
: mempartisi data menurut hariMONTH
: mempartisi data menurut bulanYEAR
: memartisi data menurut tahun
- WRITE_DISPOSITION: nilai untuk
WriteDisposition
. Gunakan salah satu nilai berikut:WRITE_EMPTY
: hanya mengekspor data jika tabel BigQuery kosong.WRITE_TRUNCATE
: menghapus semua data yang ada di tabel BigQuery sebelum menulis instance DICOM.WRITE_APPEND
: menambahkan data ke tabel BigQuery.
Meminta isi JSON:
{ "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", "lastUpdatedPartitionConfig": { "type": "TIME_PARTITION_TYPE" } }, "writeDisposition": "WRITE_DISPOSITION" } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama
request.json
. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:cat > request.json << 'EOF' { "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", "lastUpdatedPartitionConfig": { "type": "TIME_PARTITION_TYPE" } }, "writeDisposition": "WRITE_DISPOSITION" } } EOF
Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:export"PowerShell
Simpan isi permintaan dalam file bernama
request.json
. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:@' { "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", "lastUpdatedPartitionConfig": { "type": "TIME_PARTITION_TYPE" } }, "writeDisposition": "WRITE_DISPOSITION" } } '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:export" | Select-Object -Expand ContentAPIs Explorer
Salin isi permintaan dan buka halaman referensi metode. Panel APIs Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Tempelkan isi permintaan di alat ini, lengkapi kolom lainnya yang wajib diisi, lalu klik Jalankan.
Anda akan melihat respons JSON seperti berikut:
Gunakan metode
projects.locations.datasets.operations.get
untuk mendapatkan status operasi yang berjalan lama.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID Google Cloud project Anda
- DATASET_ID: ID set data
- LOCATION: lokasi set data
- OPERATION_ID: ID yang ditampilkan dari operasi yang berjalan lama
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Jalankan perintah berikut:
$cred = gcloud auth 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 ContentAPIs Explorer
Buka halaman referensi metode. Panel APIs Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.
"done": true
, berarti operasi yang berjalan lama telah selesai.
Mengkueri tabel berpartisi
Untuk mengurangi biaya kueri saat membuat kueri tabel berpartisi, gunakan klausa
WHERE
untuk memfilter menurut unit waktu.
Misalnya, anggaplah Anda menetapkan
enum PartitionType
ke DAY
.
Untuk membuat kueri tabel Patients
untuk resource Pasien yang diperbarui pada tanggal tertentu, jalankan kueri berikut:
SELECT * FROM `PROJECT_ID.BIGQUERY_DATASET.Patients` WHERE DATE(lastUpdated) = 'YYYY-MM-DD'
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
.
Membuat kueri dan menganalisis data FHIR di BigQuery
Setelah mengekspor resource FHIR ke BigQuery, lihat solusi Menganalisis data FHIR di BigQuery untuk mengetahui informasi tentang cara mengkueri dan menganalisis data yang diekspor. Solusi ini menggunakan set data publik Data Sintetis yang Dihasilkan Synthea™ di FHIR, yang menghosting lebih dari 1 juta catatan pasien sintetis yang dihasilkan dalam format Synthea™ dan FHIR.
Memecahkan masalah permintaan ekspor FHIR
Jika terjadi error selama permintaan 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.
Tidak dapat mengonversi kolom dari NULLABLE ke REPEATED
Error ini disebabkan oleh ekstensi yang berulang. Untuk mengatasi error ini, gunakan jenis skema ANALYTICS_V2
. Jika Anda menggunakan ANALYTICS_V2
, Anda mungkin mengalami konflik antara dua ekstensi, atau konflik antara ekstensi dan kolom lain.
Nama kolom dibuat dari teks setelah karakter /
terakhir di URL ekstensi. Jika URL ekstensi diakhiri dengan nilai seperti /resource_field name
, konflik dapat terjadi. \
Untuk mencegah error ini terjadi lagi, jangan gunakan ekstensi jika nama kolomnya sama dengan kolom resource yang Anda isi.
Langkah berikutnya
- Untuk mempelajari lebih lanjut tata kelola dan keamanan data di BigQuery, lihat Ringkasan tata kelola dan keamanan data.