Halaman ini menjelaskan cara mengekspor dan mengimpor pesan HL7v2 ke dan dari Cloud Storage menggunakan metode projects.locations.datasets.hl7V2Stores.import
dan projects.locations.datasets.hl7V2Stores.export
.
Anda dapat mengimpor pesan HL7v2 dari Cloud Storage untuk mempermudah pemuatan banyak pesan HL7v2 secara massal ke penyimpanan HL7v2. Anda dapat mengekspor banyak pesan HL7v2 ke Cloud Storage sekaligus tanpa harus menyimpannya di Cloud Storage satu per satu.
Menetapkan izin Cloud Storage
Sebelum mengekspor dan mengimpor pesan HL7v2 ke dan dari Cloud Storage, Anda harus memberikan izin tambahan ke akun layanan Agen Layanan Layanan Cloud. Untuk mengetahui informasi selengkapnya, lihat Izin Cloud Storage HL7v2.
Mengimpor pesan HL7v2
Untuk mengimpor pesan HL7v2, Anda harus terlebih dahulu membuat satu atau beberapa file JSON (.ndjson
) yang dibatasi baris baru di Cloud Storage yang berisi satu atau beberapa pesan. Setiap baris file adalah satu resource Message
yang berisi pesan HL7v2 berenkode base64. Resource Message
juga dapat menyertakan label opsional.
Misalnya, file bernama messages.ndjson
berikut berisi dua pesan
HL7v2. Label ditentukan dalam pesan kedua.
{"data" :"TVNIfF5+XCZ8QXxTRU5EX0ZBQ0lMSVRZXzF8QXxBfDIwMTgwMTAxMDAwMDAwfHxUWVBFXkF8MjAxODAxMDEwMDAwMDB8VHwwLjB8fHxBQXx8MDB8QVNDSUkNRVZOfEEwMHwyMDE4MDEwMTA0MDAwMA1QSUR8fDE0ATExMV5eXl5NUk58MTExMTExMTFeXl5eTVJOfjExMTExMTExMTFeXl5eT1JHTk1CUg=="}
{"data" :"TVNIfF5+XCZ8QXxTRU5EX0ZBQ0lMSVRZXzJ8QXxBfDIwMTgwMTAxMDAwMDAwfHxUWVBFXkF8MjAxODAxMDEwMDAwMDB8VHwwLjB8fHxBQXx8MDB8QVNDSUkNRVZOfEEwMHwyMDE4MDEwMTA0MDAwMA1QSUR8fDE0ATExMV5eXl5NUk58MTExMTExMTFeXl5eTVJOfjExMTExMTExMTFeXl5eT1JHTk1CUg==","labels":{"foo":"bar"}}
Konsol
Untuk mengimpor pesan HL7v2 dari bucket Cloud Storage, selesaikan langkah-langkah berikut:
Di Konsol Google Cloud, buka halaman Datasets.
Klik set data yang berisi penyimpanan HL7v2 tempat Anda mengimpor pesan HL7v2.
Dalam daftar penyimpanan data, pilih Import dari daftar Actions untuk penyimpanan HL7v2.
Halaman Import to HL7v2 store akan muncul.
Dalam daftar Project, pilih project Cloud Storage.
Dalam daftar Lokasi, pilih bucket Cloud Storage.
Guna menetapkan lokasi tertentu untuk mengimpor file, lakukan hal berikut:
- Luaskan Advanced Options.
- Pilih Override Cloud Storage Path.
Guna menetapkan sumber khusus untuk mengimpor file, tentukan jalur di kotak teks Location. Anda dapat menggunakan karakter pengganti untuk mengimpor beberapa file dari satu atau beberapa direktori. Untuk informasi selengkapnya tentang penamaan objek, lihat Panduan penamaan objek.
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 lainnya di jalur tersebut. 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
Klik Impor untuk mengimpor pesan HL7v2 dari sumber yang ditentukan.
- Untuk melacak status operasi, klik tab Operasi. Setelah operasi selesai, indikasi berikut akan muncul:
- Bagian Status operasi berjalan lama memiliki tanda centang hijau di bawah judul OK.
- Bagian Overview memiliki tanda centang hijau dan indikator OK di baris yang sama dengan ID operasi.
API
Contoh berikut menunjukkan cara mengimpor pesan HL7v2 dari Cloud Storage menggunakan metode projects.locations.datasets.hl7V2Stores.import
.
Perhatikan hal-hal berikut saat memanggil operasi impor:
- Lokasi file dalam bucket bersifat tidak tentu dan tidak harus mematuhi secara persis format yang ditentukan dalam contoh berikut.
- Saat menentukan lokasi pesan HL7v2 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 lainnya di jalur tersebut. 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 pesan HL7v2 ke penyimpanan HL7v2, buat permintaan POST
dan tentukan
informasi berikut:
- Nama set data induk
- Nama toko HL7v2
- 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 "{ 'gcsSource': { 'uri': 'gs://BUCKET/DIRECTORY/HL7V2_MESSAGE_FILE' } }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_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.hl7v2.Hl7V2Service.ImportMessages", "createTime": "CREATE_TIME", "endTime": "END_TIME" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.hl7v2.ImportMessagesResponse" } }
PowerShell
Untuk mengimpor pesan HL7v2 ke penyimpanan HL7v2, buat permintaan POST
dan tentukan
informasi berikut:
- Nama set data induk
- Nama toko HL7v2
- Lokasi objek dalam bucket Cloud Storage
- Token akses
Contoh berikut menunjukkan cara mengimpor satu file menggunakan 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 "{ 'gcsSource': { 'uri': 'gs://BUCKET/DIRECTORY/HL7V2_MESSAGE_FILE' } }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_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.hl7v2.Hl7V2Service.ImportMessages", "createTime": "CREATE_TIME", "endTime": "END_TIME" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.hl7v2.ImportMessagesResponse" } }
Mengekspor pesan HL7v2
Saat Anda mengekspor pesan HL7v2 dari penyimpanan HL7v2, semua pesan di penyimpanan HL7v2 akan diekspor. Untuk mengekspor hanya sebagian pesan tersebut, Anda dapat menentukan parameter startTime
dan endTime
agar hanya menyertakan pesan yang dikirim dalam rentang waktu yang ditentukan. Untuk mengekspor hanya bagian tertentu dari resource Message
, setel MessageView
.
Saat pesan diekspor, Cloud Healthcare API membuat objek untuk
setiap pesan HL7v2. Setiap objek terdiri dari file .ndjson
yang berisi resource Message
di setiap baris. Pesan diekspor dalam urutan menaik berdasarkan sendTime
(MSH.7).
Konsol
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.
Di daftar penyimpanan data, pilih Export dari daftar Actions untuk penyimpanan HL7v2.
Halaman Export HL7v2 messages akan muncul.
Dalam daftar Project, pilih project Cloud Storage.
Dalam daftar Lokasi, 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, indikasi berikut akan muncul:
- Bagian Status operasi berjalan lama memiliki tanda centang hijau di bawah judul OK.
- Bagian Overview memiliki tanda centang hijau dan indikator OK di baris yang sama dengan ID operasi.
API
Contoh berikut menunjukkan cara mengekspor pesan HL7v2 ke Cloud Storage menggunakan metode projects.locations.datasets.hl7V2Stores.messages.export
.
Perhatikan hal-hal berikut saat memanggil operasi ekspor:
- Tulis ke bucket atau direktori Cloud Storage, bukan objek, karena Cloud Healthcare API dapat membuat beberapa file JSON yang dibatasi baris baru jika ada banyak pesan. Di setiap file JSON, setiap baris adalah pesan HL7v2.
- Jika perintah tersebut menentukan direktori yang tidak ada, direktori tersebut akan dibuat.
curl
Untuk mengekspor pesan HL7v2, buat permintaan POST
dan tentukan
informasi berikut:
- Nama set data induk
- Nama toko HL7v2
- Bucket atau direktori Cloud Storage tujuan
- Token akses
Contoh berikut menunjukkan permintaan POST
yang 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/hl7V2Stores/HL7V2_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.hl7v2.Hl7V2Service.ExportMessages", "createTime": "CREATE_TIME", "endTime": "END_TIME", "counter": { "success": "RESOURCE_COUNT" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.hl7v2.ExportMessagesResponse" } }
PowerShell
Untuk mengekspor pesan HL7v2, buat permintaan POST
dan tentukan
informasi berikut:
- Nama set data induk
- Nama toko HL7v2
- Bucket atau direktori Cloud Storage tujuan
- 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 "{ 'gcsDestination': { 'uriPrefix': 'gs://BUCKET/DIRECTORY' } }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_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.hl7v2.Hl7V2Service.ExportMessages", "createTime": "CREATE_TIME", "endTime": "END_TIME", "counter": { "success": "RESOURCE_COUNT" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.hl7v2.ExportMessagesResponse" } }
Memecahkan masalah permintaan impor dan ekspor HL7v2
Jika terjadi error selama permintaan ekspor atau impor HL7v2, error tersebut akan dicatat ke dalam log ke Cloud Logging. Untuk mengetahui informasi selengkapnya, baca artikel Melihat log error di Cloud Logging.
Jika operasi menghasilkan error, lihat Memecahkan masalah operasi yang berjalan lama.