Halaman ini menjelaskan cara mengekspor pesan HL7v2 dari penyimpanan HL7v2 ke Cloud Storage. Anda dapat mengekspor pesan HL7v2 secara massal ke Cloud Storage untuk pemrosesan downstream.
Sebelum memulai
Lihat Mengekspor pesan HL7v2 dari Cloud Storage untuk mengetahui peran yang harus Anda berikan ke akun layanan Cloud Healthcare Service Agent.
Mengekspor pesan HL7v2 ke Cloud Storage
Izin yang diperlukan untuk langkah ini
Untuk melakukan tugas ini, Anda harus sudah diberi izin berikut atau peran Identity and Access Management (IAM) berikut:
Izin
healthcare.hl7V2Stores.export
di penyimpanan HL7v2 yang diminta
Peran
Anda dapat meminta administrator untuk memberikan peran Identity and Access Management ini kepada Anda. Untuk mengetahui petunjuk tentang cara memberikan peran, lihat Mengelola akses atau Mengontrol akses ke resource Cloud Healthcare API. Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Cloud Healthcare API mengekspor setiap pesan HL7v2 sebagai
baris dalam file .ndjson
NDJSON. Pesan HL7v2 diurutkan secara kronologis berdasarkan nilai sendTime
.
Mengekspor ke bucket atau folder Cloud Storage, bukan objek, karena Cloud Healthcare API dapat membuat beberapa file NDJSON saat ada banyak pesan HL7v2.
Jika Anda mengekspor ke folder Cloud Storage yang tidak ada, folder tersebut akan dibuat.
Untuk mengekspor pesan HL7v2 ke Cloud Storage, selesaikan langkah-langkah berikut:
Di konsol Google Cloud, buka halaman Datasets.
Klik set data yang berisi penyimpanan HL7v2 tempat Anda mengekspor pesan HL7v2.
Dalam daftar penyimpanan data, pilih Ekspor dari daftar Tindakan untuk penyimpanan HL7v2.
Halaman Ekspor pesan HL7v2 akan muncul.
Dalam daftar Project, pilih project Cloud Storage.
Dalam daftar Location, pilih bucket Cloud Storage.
Klik Export untuk mengekspor instance HL7v2 ke lokasi yang ditentukan di Cloud Storage.
- Untuk melacak status operasi, klik tab Operasi. Setelah operasi selesai, petunjuk berikut akan muncul:
- Bagian Status operasi yang berjalan lama memiliki tanda centang hijau di bawah judul Oke.
- Bagian Ringkasan memiliki tanda centang hijau dan indikator OK di baris yang sama dengan ID operasi.
Mengekspor pesan HL7v2 ke Cloud Storage menggunakan filter
Secara default, mengekspor pesan HL7v2 ke Cloud Storage akan menyertakan semua pesan HL7v2 di penyimpanan HL7v2 dan semua kolom di setiap objek Message
.
Anda dapat memfilter pesan HL7v2 yang diekspor sebagai berikut:
- Gunakan filter untuk mengekspor subkumpulan pesan HL7v2 yang cocok dengan kriteria filter. Untuk informasi selengkapnya, lihat Mengekspor subkumpulan pesan HL7v2 menggunakan filter.
- Gunakan objek
MessageView
untuk memilih kolom di setiapMessage
yang akan diekspor. Untuk informasi selengkapnya, lihat Mengekspor pesan HL7v2 menurut kolomMessage
.
Mengekspor sebagian pesan HL7v2 menggunakan filter
Anda dapat menggunakan kolom berikut dalam kriteria filter:
Anda dapat menentukan parameter filter berikut sebagai kriteria filter di kolom filter
. Untuk mempelajari sintaksis filter dan membuat kueri, lihat String kueri.
message_type
: dari kolom MSH.9.1. Contoh,NOT message_type = "ADT"
.send_date
: tanggalYYYY-MM-DD
saat pesan dikirim dari segmen MSH.7, yang ditentukan dalam zona waktu set data. Misalnya,send_date < "2017-01-02"
.send_time
: stempel waktu saat pesan dikirim. Parameter ini berasal dari segmen MSH.7 pesan. Parameter ini menggunakan format waktu RFC 3339 untuk perbandingan. Misalnya,send_time < "2017-01-02T00:00:00-05:00"
.create_time
: stempel waktu saat pesan dibuat di Cloud Healthcare API, menggunakan format waktu RFC 3339 untuk perbandingan. Contoh:create_time < "2017-01-02T00:00:00-05:00"
.send_facility
: pusat perawatan tempat pesan berasal, dari segmen MSH.4. Contoh,send_facility = "ABC"
.
Contoh berikut menunjukkan cara menentukan filter untuk hanya mengekspor pesan HL7v2
berjenis ADT
.
Gunakan metode
hl7V2Stores.export
untuk mengekspor pesan HL7v2:Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
: ID Google Cloud project AndaPROJECT_ID
: lokasi set dataLOCATION
: set data induk penyimpanan HL7v2DATASET_ID
: ID penyimpanan HL7v2HL7V2_STORE_ID
: nama bucket atau folder Cloud Storage tempat pesan HL7v2 yang diekspor ditulisCLOUD_STORAGE_LOCATION
Meminta isi JSON:
{ "gcsDestination": { "uriPrefix": "gs://
CLOUD_STORAGE_LOCATION " }, "filter": "message_type = \"ADT\"" }Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
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' { "gcsDestination": { "uriPrefix": "gs://
CLOUD_STORAGE_LOCATION " }, "filter": "message_type = \"ADT\"" } EOFKemudian, 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 /hl7V2Stores/HL7V2_STORE_ID :export"Simpan isi permintaan dalam file bernama
request.json
. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:@' { "gcsDestination": { "uriPrefix": "gs://
CLOUD_STORAGE_LOCATION " }, "filter": "message_type = \"ADT\"" } '@ | Out-File -FilePath request.json -Encoding utf8Kemudian 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 /hl7V2Stores/HL7V2_STORE_ID :export" | Select-Object -Expand ContentOPERATION_ID
. Anda memerlukan nilai ini di langkah berikutnya.Respons
{ "name": "projects/
PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /operations/OPERATION_ID " }Gunakan metode
projects.locations.datasets.operations.get
untuk mendapatkan status operasi yang berjalan lama.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
: ID Google Cloud project AndaPROJECT_ID
: ID set dataDATASET_ID
: lokasi set dataLOCATION
: ID yang ditampilkan dari operasi yang berjalan lamaOPERATION_ID
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
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 "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 ContentBuka halaman referensi metode. Panel API 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
, operasi yang berjalan lama telah selesai.Respons
{ "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.hl7v2.Hl7V2Service.ExportMessages", "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 " "counter": { "success": "SUCCESS_COUNT ", // If there were any failures, they display in the `failure` field. "failure": "FAILURE_COUNT " } }, "done": true, // The `response` field only displays if there were no errors. "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.hl7v2.ExportMessagesResponse", }, // 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": { "code":ERROR_CODE , "message": "DESCRIPTION ", "details": [ { "@type": "...",FIELD1 : ..., ... } ] } }
Mengekspor pesan HL7v2 menurut kolom Message
Di Cloud Healthcare API, pesan HL7v2 disimpan di resource Message
. Anda dapat menggunakan enum MessageView
untuk menentukan kolom mana dalam resource Message
yang disertakan dalam
setiap pesan HL7v2 yang diekspor.
Contoh berikut menunjukkan cara menggunakan nilai
BASIC
di MessageView
untuk hanya menyertakan kolom name
dalam pesan HL7v2 yang diekspor.
Gunakan metode
hl7V2Stores.export
untuk mengekspor pesan HL7v2:Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
: ID Google Cloud project AndaPROJECT_ID
: lokasi set dataLOCATION
: set data induk penyimpanan HL7v2DATASET_ID
: ID penyimpanan HL7v2HL7V2_STORE_ID
: nama bucket atau folder Cloud Storage tempat pesan HL7v2 yang diekspor ditulisCLOUD_STORAGE_LOCATION
Meminta isi JSON:
{ "gcsDestination": { "uriPrefix": "gs://
CLOUD_STORAGE_LOCATION ", "messageView": "BASIC" } }Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
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' { "gcsDestination": { "uriPrefix": "gs://
CLOUD_STORAGE_LOCATION ", "messageView": "BASIC" } } EOFKemudian, 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 /hl7V2Stores/HL7V2_STORE_ID :export"Simpan isi permintaan dalam file bernama
request.json
. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:@' { "gcsDestination": { "uriPrefix": "gs://
CLOUD_STORAGE_LOCATION ", "messageView": "BASIC" } } '@ | Out-File -FilePath request.json -Encoding utf8Kemudian 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 /hl7V2Stores/HL7V2_STORE_ID :export" | Select-Object -Expand ContentOPERATION_ID
. Anda memerlukan nilai ini di langkah berikutnya.Respons
{ "name": "projects/
PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /operations/OPERATION_ID " }Gunakan metode
projects.locations.datasets.operations.get
untuk mendapatkan status operasi yang berjalan lama.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
: ID Google Cloud project AndaPROJECT_ID
: ID set dataDATASET_ID
: lokasi set dataLOCATION
: ID yang ditampilkan dari operasi yang berjalan lamaOPERATION_ID
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
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 "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 ContentBuka halaman referensi metode. Panel API 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
, operasi yang berjalan lama telah selesai.Respons
{ "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.hl7v2.Hl7V2Service.ExportMessages", "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 " "counter": { "success": "SUCCESS_COUNT ", // If there were any failures, they display in the `failure` field. "failure": "FAILURE_COUNT " } }, "done": true, // The `response` field only displays if there were no errors. "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.hl7v2.ExportMessagesResponse", }, // 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": { "code":ERROR_CODE , "message": "DESCRIPTION ", "details": [ { "@type": "...",FIELD1 : ..., ... } ] } }
Memecahkan masalah permintaan ekspor HL7v2
Jika error terjadi saat mengekspor pesan HL7v2, error tersebut akan dicatat ke log di Cloud Logging. Untuk mengetahui informasi selengkapnya, lihat artikel Melihat log error di Cloud Logging.
Jika operasi yang berjalan lama menampilkan error, lihat Memecahkan masalah operasi yang berjalan lama.