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 peran yang harus Anda berikan ke akun layanan Agen Layanan Cloud Healthcare.

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 sendTime dengan sejumlah nilai.

Ekspor ke bucket atau folder Cloud Storage, bukan objek, karena Cloud Healthcare API mungkin 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 langkah:

  1. Di konsol Google Cloud, buka halaman Datasets.

    Buka Set Data

  2. Klik {i>dataset<i} yang berisi penyimpanan HL7v2 tempat Anda berada mengekspor pesan HL7v2.

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

    Halaman Ekspor pesan HL7v2 akan muncul.

  4. Dalam daftar Project, pilih project Cloud Storage.

  5. Pada daftar Lokasi, pilih bucket Cloud Storage.

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

  7. 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 Judul Oke.
    • Bagian Overview memiliki tanda centang hijau dan indikator OK di baris yang sama dengan ID operasi.
    Jika Anda mengalami error, klik Tindakan, lalu klik Lihat detail di Cloud Logging.

Mengekspor pesan HL7v2 ke Cloud Storage menggunakan filter

Secara default, ekspor pesan HL7v2 ke Cloud Storage mencakup semua file HL7v2 pesan di penyimpanan HL7v2 dan semua kolom di setiap Message .

Anda dapat memfilter pesan HL7v2 yang diekspor sebagai berikut:

Mengekspor sebagian pesan HL7v2 menggunakan filter

Anda dapat menggunakan kolom berikut di kriteria filter:

Anda dapat menentukan parameter filter berikut sebagai kriteria filter di filter kolom tersebut. Untuk mempelajari filter {i>syntax<i} dan membangun kueri, melihat String kueri.

  • message_type: dari kolom MSH.9.1. Contoh, NOT message_type = "ADT".
  • send_date: tanggal YYYY-MM-DD 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 dari 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 sebagai 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 dari jenis ADT.

REST

  1. Menggunakan hl7V2Stores.export untuk mengekspor pesan HL7v2:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • LOCATION: lokasi set data
    • DATASET_ID: set data induk penyimpanan HL7v2
    • HL7V2_STORE_ID: ID toko 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 akan ditampilkan saat panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Perhatikan nilai OPERATION_ID. Anda memerlukan nilai ini pada 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 project Google Cloud 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 APIs Explorer akan 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, elemen yang berjalan lama telah selesai.

Ekspor pesan HL7v2 menurut kolom Message

Di Cloud Healthcare API, pesan HL7v2 disimpan di resource Message. Anda dapat menggunakan MessageView enum untuk menentukan kolom mana dalam resource Message yang disertakan dalam setiap pesan HL7v2 yang diekspor.

Contoh berikut menunjukkan cara menggunakan BASIC nilai di MessageView untuk hanya menyertakan name di pesan HL7v2 yang diekspor.

REST

  1. Menggunakan hl7V2Stores.export untuk mengekspor pesan HL7v2:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • LOCATION: lokasi set data
    • DATASET_ID: set data induk penyimpanan HL7v2
    • HL7V2_STORE_ID: ID toko 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 akan ditampilkan saat panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Perhatikan nilai OPERATION_ID. Anda memerlukan nilai ini pada 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 project Google Cloud 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 APIs Explorer akan 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, elemen yang berjalan lama telah selesai.

Memecahkan masalah permintaan ekspor HL7v2

Jika terjadi error saat mengekspor pesan HL7v2, error akan dicatat ke dalam log Cloud Logging. Untuk informasi selengkapnya, lihat Melihat log error di Cloud Logging.

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