Mengekspor pesan HL7v2 ke Cloud Storage

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

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.

Konsol

Untuk mengekspor pesan HL7v2 ke 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 mengekspor pesan HL7v2.

  3. Dalam daftar penyimpanan data, pilih Ekspor dari daftar Tindakan untuk penyimpanan HL7v2.

    Halaman Ekspor pesan HL7v2 akan muncul.

  4. Dalam daftar Project, pilih project Cloud Storage.

  5. Dalam daftar Location, pilih bucket Cloud Storage.

  6. Klik Export untuk mengekspor instance HL7v2 ke lokasi yang ditentukan di Cloud Storage.

  7. 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.
    Jika Anda mengalami error, klik Actions, lalu klik View details in Cloud Logging.

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:

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: tanggal YYYY-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.

REST

  1. Gunakan metode hl7V2Stores.export untuk mengekspor pesan HL7v2:

    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 penyimpanan HL7v2
    • HL7V2_STORE_ID: ID penyimpanan HL7v2
    • CLOUD_STORAGE_LOCATION: nama bucket atau folder Cloud Storage tempat pesan HL7v2 yang diekspor ditulis

    Meminta isi JSON:

    {
      "gcsDestination": {
        "uriPrefix": "gs://CLOUD_STORAGE_LOCATION"
      },
      "filter": "message_type = \"ADT\""
    }
    

    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'
    {
      "gcsDestination": {
        "uriPrefix": "gs://CLOUD_STORAGE_LOCATION"
      },
      "filter": "message_type = \"ADT\""
    }
    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/hl7V2Stores/HL7V2_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:

    @'
    {
      "gcsDestination": {
        "uriPrefix": "gs://CLOUD_STORAGE_LOCATION"
      },
      "filter": "message_type = \"ADT\""
    }
    '@  | 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/hl7V2Stores/HL7V2_STORE_ID:export" | Select-Object -Expand Content
    Output-nya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan saat panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Perhatikan nilai OPERATION_ID. Anda memerlukan nilai ini di langkah berikutnya.

  2. 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 Content

    APIs Explorer

    Buka 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.

    Output-nya adalah sebagai berikut. Jika respons berisi "done": true, operasi yang berjalan lama telah selesai.

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.

REST

  1. Gunakan metode hl7V2Stores.export untuk mengekspor pesan HL7v2:

    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 penyimpanan HL7v2
    • HL7V2_STORE_ID: ID penyimpanan HL7v2
    • CLOUD_STORAGE_LOCATION: nama bucket atau folder Cloud Storage tempat pesan HL7v2 yang diekspor ditulis

    Meminta isi JSON:

    {
      "gcsDestination": {
        "uriPrefix": "gs://CLOUD_STORAGE_LOCATION",
        "messageView": "BASIC"
      }
    }
    

    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'
    {
      "gcsDestination": {
        "uriPrefix": "gs://CLOUD_STORAGE_LOCATION",
        "messageView": "BASIC"
      }
    }
    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/hl7V2Stores/HL7V2_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:

    @'
    {
      "gcsDestination": {
        "uriPrefix": "gs://CLOUD_STORAGE_LOCATION",
        "messageView": "BASIC"
      }
    }
    '@  | 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/hl7V2Stores/HL7V2_STORE_ID:export" | Select-Object -Expand Content
    Output-nya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan saat panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Perhatikan nilai OPERATION_ID. Anda memerlukan nilai ini di langkah berikutnya.

  2. 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 Content

    APIs Explorer

    Buka 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.

    Output-nya adalah sebagai berikut. Jika respons berisi "done": true, operasi yang berjalan lama telah selesai.

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.