Mengimpor pesan HL7v2 dari Cloud Storage

Halaman ini menjelaskan cara mengimpor pesan HL7v2 dari Cloud Storage ke penyimpanan HL7v2. Impor massal pesan HL7v2 lebih cepat dan lebih 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 Cloud Healthcare Service Agent.

Persyaratan format file input

Untuk mengimpor pesan HL7v2, Anda harus membuat satu atau beberapa file JSON (.ndjson) yang dibatasi baris baru terlebih dahulu 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 berikut, bernama 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:

  1. Di konsol Google Cloud, buka halaman Datasets.

    Buka Set Data

  2. Klik set data yang berisi penyimpanan HL7v2 tempat Anda mengimpor pesan HL7v2.

  3. Dalam daftar penyimpanan data, pilih Import dari daftar Actions untuk penyimpanan HL7v2.

    Halaman Import to HL7v2 store akan muncul.

  4. Dalam daftar Project, pilih project Cloud Storage.

  5. Dalam daftar Location, pilih bucket Cloud Storage.

  6. Guna menetapkan lokasi tertentu untuk mengimpor file, lakukan hal berikut:

    1. Luaskan Advanced Options.
    2. Pilih Ganti Cloud Storage Path.
    3. Untuk menetapkan sumber tertentu untuk mengimpor file, tentukan jalur dalam 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.
      • Menggunakan ** untuk mencocokkan 0 atau beberapa karakter (termasuk pemisah). Harus digunakan di akhir jalur dan tanpa karakter pengganti lainnya di jalur. Dapat juga 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/**.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.
  7. Klik Import untuk mengimpor pesan HL7v2 dari sumber yang ditentukan.

  8. Untuk melacak status operasi, klik tab Operasi. Setelah operasi selesai, indikasi berikut akan muncul:
    • Bagian Long-running Operations status memiliki tanda centang hijau di bawah heading OK.
    • Bagian Overview memiliki tanda centang hijau dan indikator OK di baris yang sama dengan ID operasi.
    Jika Anda mengalami error, klik Tindakan, lalu klik View details in Cloud Logging.

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.
    • Menggunakan ** untuk mencocokkan 0 atau beberapa karakter (termasuk pemisah). Harus digunakan di akhir jalur dan tanpa karakter pengganti lainnya di jalur. Dapat juga 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/**.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.

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"
  }
}

Memecahkan masalah permintaan impor HL7v2

Jika terjadi error saat mengimpor pesan HL7v2, error tersebut akan dicatat ke dalam log ke Cloud Logging. Untuk mengetahui informasi lebih lanjut, baca bagian Melihat log error di Cloud Logging.

Jika operasi yang berjalan lama menampilkan error, lihat Memecahkan masalah operasi yang berjalan lama.