Halaman ini menjelaskan cara mengimpor pesan HL7v2 dari Cloud Storage ke penyimpanan HL7v2. Mengimpor pesan HL7v2 secara massal lebih cepat dan sederhana daripada menyimpannya satu per satu menggunakan REST API.
Sebelum memulai
Lihat Mengimpor pesan HL7v2 dari Cloud Storage untuk mengetahui peran yang harus Anda berikan ke akun layanan Agen Layanan Cloud Healthcare.
Persyaratan format file input
Untuk mengimpor pesan HL7v2, Anda harus terlebih dahulu membuat satu atau beberapa file JSON yang dibatasi baris baru (.ndjson) di Cloud Storage yang berisi satu atau beberapa pesan. Setiap baris file adalah satu Message
resource yang berisi pesan HL7v2 yang dienkode base64. Resource Message juga dapat menyertakan label opsional.
Misalnya, file berikut, yang diberi nama messages.ndjson, berisi dua pesan HL7v2. Label ditentukan dalam pesan kedua.
{"data" :"TVNIfF5+XCZ8QXxTRU5EX0ZBQ0lMSVRZXzF8QXxBfDIwMTgwMTAxMDAwMDAwfHxUWVBFXkF8MjAxODAxMDEwMDAwMDB8VHwwLjB8fHxBQXx8MDB8QVNDSUkNRVZOfEEwMHwyMDE4MDEwMTA0MDAwMA1QSUR8fDE0ATExMV5eXl5NUk58MTExMTExMTFeXl5eTVJOfjExMTExMTExMTFeXl5eT1JHTk1CUg=="}
{"data" :"TVNIfF5+XCZ8QXxTRU5EX0ZBQ0lMSVRZXzJ8QXxBfDIwMTgwMTAxMDAwMDAwfHxUWVBFXkF8MjAxODAxMDEwMDAwMDB8VHwwLjB8fHxBQXx8MDB8QVNDSUkNRVZOfEEwMHwyMDE4MDEwMTA0MDAwMA1QSUR8fDE0ATExMV5eXl5NUk58MTExMTExMTFeXl5eTVJOfjExMTExMTExMTFeXl5eT1JHTk1CUg==","labels":{"foo":"bar"}}
Mengimpor pesan HL7v2
Konsol
Untuk mengimpor pesan HL7v2 dari bucket Cloud Storage, selesaikan langkah-langkah berikut:
Di Google Cloud konsol, buka halaman Set Data.
Klik set data yang berisi penyimpanan HL7v2 tempat Anda mengimpor pesan HL7v2.
Dalam daftar penyimpanan data, pilih Impor dari daftar Tindakan untuk penyimpanan HL7v2.
Halaman Impor ke penyimpanan HL7v2 akan muncul.
Dalam daftar Project, pilih project Cloud Storage.
Dalam daftar Lokasi, pilih bucket Cloud Storage.
Untuk menetapkan lokasi tertentu untuk mengimpor file, lakukan hal berikut:
- Luaskan Opsi Lanjutan.
- Pilih Ganti Jalur Cloud Storage.
Untuk menetapkan sumber tertentu untuk mengimpor file, tentukan jalur di kotak teks Lokasi. Anda dapat menggunakan karakter pengganti untuk mengimpor beberapa file dari satu atau beberapa direktori. Untuk mengetahui informasi selengkapnya tentang penamaan objek, lihat Pedoman penamaan objek.
Karakter pengganti berikut didukung:- Gunakan
*untuk mencocokkan 0 atau beberapa karakter non-pemisah. Misalnya,gs://BUCKET/DIRECTORY/Example*.ndjsoncocok dengan Example.ndjson dan Example22.ndjson di DIRECTORY. - Gunakan
**untuk mencocokkan 0 atau beberapa karakter (termasuk pemisah). Harus digunakan di di akhir jalur dan tanpa karakter pengganti lain di jalur. Juga dapat digunakan dengan ekstensi nama file (seperti .ndjson), yang mengimpor semua file dengan ekstensi nama file di direktori yang ditentukan dan subdirektorinya. Misalnya,gs://BUCKET/DIRECTORY/**.ndjsonmengimpor semua file dengan ekstensi nama file .ndjson di DIRECTORY dan subdirektorinya. - Gunakan
?untuk mencocokkan 1 karakter. Misalnya,gs://BUCKET/DIRECTORY/Example?.ndjsoncocok 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 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.
API
Contoh berikut menunjukkan cara mengimpor pesan HL7v2 dari Cloud Storage menggunakan
metode projects.locations.datasets.hl7V2Stores.import.
Perhatikan hal berikut saat memanggil operasi impor:
- Lokasi file dalam bucket bersifat arbitrer dan tidak harus sesuai dengan 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 non-pemisah. Misalnya,gs://BUCKET/DIRECTORY/Example*.ndjsoncocok dengan Example.ndjson dan Example22.ndjson di DIRECTORY. - Gunakan
**untuk mencocokkan 0 atau beberapa karakter (termasuk pemisah). Harus digunakan di di akhir jalur dan tanpa karakter pengganti lain di jalur. Juga dapat digunakan dengan ekstensi nama file (seperti .ndjson), yang mengimpor semua file dengan ekstensi nama file di direktori yang ditentukan dan subdirektorinya. Misalnya,gs://BUCKET/DIRECTORY/**.ndjsonmengimpor semua file dengan ekstensi nama file .ndjson di DIRECTORY dan subdirektorinya. - Gunakan
?untuk mencocokkan 1 karakter. Misalnya,gs://BUCKET/DIRECTORY/Example?.ndjsoncocok 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 penyimpanan HL7v2
- Lokasi objek di 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 penyimpanan HL7v2
- Lokasi objek di 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"
}
}
Memecahkan masalah permintaan impor HL7v2
Jika terjadi error saat mengimpor pesan HL7v2, error tersebut akan dicatat ke Cloud Logging. Untuk mengetahui informasi selengkapnya, lihat Melihat log error di Cloud Logging.
Jika operasi yang berjalan lama menampilkan error, lihat Memecahkan masalah operasi yang berjalan lama.