Melakukan de-identifikasi data DICOM menggunakan DicomTagConfig

Halaman ini menjelaskan cara menggunakan konfigurasi DicomTagConfig v1beta1 di Cloud Healthcare API untuk melakukan de-identifikasi data sensitif dalam instance DICOM pada tingkat berikut:

Halaman ini juga menjelaskan cara menerapkan filter saat melakukan de-identifikasi data di tingkat penyimpanan DICOM.

Anda dapat mengonfigurasi operasi de-identifikasi DICOM menggunakan objek DicomConfig v1 lama atau objek DicomTagConfig v1beta1. Sebaiknya Anda menggunakan DicomTagConfig.

Jika Anda sudah menggunakan DicomConfig untuk operasi de-identifikasi, sebaiknya Anda bermigrasi untuk menggunakan DicomTagConfig. Untuk ringkasan fitur baru, lihat Opsi konfigurasi baru di DicomTagConfig. Untuk petunjuk tentang cara melakukan migrasi, lihat Memigrasikan permintaan dan respons untuk menggunakan DicomTagConfig.

Opsi konfigurasi baru di DicomTagConfig

Melakukan de-identifikasi teks dengan de-identifikasi kontekstual

Anda dapat mengonfigurasi objek DicomTagConfig.Options.CleanDescriptorsOption untuk memungkinkan de-identifikasi kontekstual teks metadata yang tidak terstruktur. Opsi ini didasarkan pada Opsi Clean Descriptors. Saat Anda menentukan DicomTagConfig.Options.CleanDescriptorsOption, infoType tambahan akan digunakan selama pemeriksaan yang dapat memengaruhi biaya penagihan.

Penggunaan opsi DicomTagConfig.Options.CleanDescriptorsOption akan mengubah teks metadata tidak terstruktur yang cocok dengan tag yang dihapus, sehingga meningkatkan kualitas de-identifikasi. Misalnya, Anda melakukan de-identifikasi terhadap sinar-X, dan pasien sinar-X memiliki nama belakang yang juga merupakan kata benda, seperti Wall. Jika ada metadata dalam instance, seperti teks dalam StudyDescription, berisi kata Wall, teks akan diubah.

Opsi CleanDescriptorsOption menyamarkan frasa kontekstual yang cocok dengan tag yang ditandai untuk dihapus di Profil Dasar DICOM selama tag tersebut cocok dengan salah satu kode tindakan berikut:

  • D
  • Z
  • X
  • U

Frasa kontekstual yang cocok akan diganti dengan token [CTX].

Anda dapat mengonfigurasi tag yang akan disamarkan dengan menentukan hal berikut:

Namun, tag yang digunakan dalam Profil Dasar DICOM tidak dapat diubah.

Menyamarkan teks sisipan dengan de-identifikasi kontekstual

Anda dapat menentukan enum TextRedactionMode.REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS untuk mengaktifkan de-identifikasi kontekstual teks sisipan dalam gambar. Opsi ini didasarkan pada Opsi Clean Descriptors. Saat Anda menentukan enum TextRedactionMode.REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS, infoType tambahan akan digunakan selama pemeriksaan yang dapat memengaruhi biaya penagihan.

Anda dapat menentukan enum TextRedactionMode.REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS dengan cara berikut:

Opsi TextRedactionMode.REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS menyamarkan teks burn-in yang cocok dengan tag yang ditandai untuk dihapus di Profil Dasar DICOM selama tag tersebut cocok dengan salah satu kode tindakan berikut:

  • D
  • Z
  • X
  • U

Tidak ada konfigurasi tambahan untuk de-identifikasi kontekstual teks burn-in selain mengaktifkan atau menonaktifkannya menggunakan enum dalam objek ProfileType. Menentukan enum tidak diperlukan.

InfoType tambahan dalam de-identifikasi gambar

Anda dapat menggunakan jenis informasi (infoTypes) untuk menentukan data yang akan dipindai saat melakukan de-identifikasi pada tag. infoType adalah jenis data sensitif, seperti nama pasien, alamat email, nomor telepon, nomor identifikasi, atau nomor kartu kredit.

Anda dapat mengonfigurasi kolom berikut dalam objek DicomTagConfig.Options.ImageConfig untuk menentukan infoTypes yang akan digunakan selama de-identifikasi gambar DICOM:

Kolom ini hanya berlaku jika DicomTagConfig.Options.ImageConfig.TextRedactionMode disetel ke salah satu nilai berikut:

Migrasikan permintaan dan respons untuk menggunakan DicomTagConfig

Anda dapat mengonfigurasi de-identifikasi DICOM menggunakan DicomTagConfig, yang tersedia di Cloud Healthcare API v1beta1 dan merupakan alternatif penggunaan DicomConfig lama. Saat mengirim permintaan, Anda tidak dapat menyertakan DicomConfig dan DicomTagConfig sekaligus.

Bagian berikut menjelaskan konfigurasi di DicomConfig dan cara memigrasikannya ke DicomTagConfig.

TagFilterProfile ke ProfileType

Ganti objek TagFilterProfile DicomConfig dengan objek DicomTagConfig ProfileType. Empat profil yang sama di TagFilterProfileType tersedia di ProfileType.

Contoh berikut menunjukkan cara memigrasikan permintaan dari menggunakan TagFilterProfile ke menggunakan ProfileType:

DicomConfigDicomTagConfig

"config": {
  "dicom": {
    "filterProfile": enum(TagFilterProfile)
  }
}

"config": {
  "dicomTagConfig": {
    "profileType": enum(ProfileType)
  }
}

keepList dan removeList

Kolom DicomConfig keepList dan removeList tidak lagi tersedia di DicomTagConfig. Jika menggunakan keepList dan removeList untuk menentukan tag yang akan disimpan atau dihapus, bukan menggunakan profil, Anda harus bermigrasi ke objek Action baru tempat Anda menentukan perilaku tag. Objek Action menyediakan opsi tambahan untuk mengubah tag.

Contoh berikut menunjukkan cara memigrasikan permintaan dari menggunakan keepList ke Action.keepTag. Permintaan tersebut menentukan bahwa nilai tag PatientID disimpan selama operasi de-identifikasi.

DicomConfigDicomTagConfig

"config": {
  "dicom": {
    "keepList": {
      "tags": [
        "PatientID"
      ]
    }
  }
}

"config": {
  "dicomTagConfig": {
    "actions": [
      {
        "queries": [
          "PatientID"
        ],
        "keepTag": {}
      }
    ]
  }
}

Menggabungkan daftar keeplist, removelist, dan profil

Pada objek DicomConfig, Anda dapat menentukan apakah akan menyimpan atau menghapus data berdasarkan keeplist, removelist, dan profil. Opsi ini sama-sama bersifat eksklusif.

Saat menggunakan objek DicomTagConfig, Anda dapat menggabungkan opsi ini dengan menentukan tag yang akan dipertahankan dan dihapus dalam objek Action sekaligus menentukan profil di ProfileType.

Opsi yang dikonfigurasi dalam objek Action akan menggantikan opsi yang dikonfigurasi dalam profil ProfileType. Opsi dalam objek Action berlaku sesuai urutan penyewaannya dalam permintaan.

skipIdRedaction ke Objects.primaryIds

Ganti kolom skipIdRedaction di objek DicomConfig dengan kolom primaryIds di objek DicomTagConfig. Kolom primaryIds yang ada di objek Options, berisi objek PrimaryIdsOption tempat Anda menentukan salah satu enum berikut:

  • PRIMARY_IDS_OPTION_UNSPECIFIED: Perilaku default jika tidak ada nilai yang diberikan ke PrimaryIdsOption. Setelan default-nya adalah opsi yang ditentukan di ProfileType.
  • KEEP: Membiarkan ID utama tidak berubah.
  • REGEN: Membuat ulang ID utama.

Contoh berikut menunjukkan cara memigrasikan permintaan dari menggunakan skipIdRedaction ke Options.primaryIds. Permintaan tersebut menentukan bahwa nilai ID utama disimpan selama operasi de-identifikasi:

DicomConfigDicomTagConfig

"config": {
  "dicom": {
    "skipIdRedaction": true
  }
}

"config": {
  "dicomTagConfig": {
    "options": {
      "primaryIds": "KEEP"
    }
  }
}

DeidentifyConfig.ImageConfig ke DicomTagConfig.Options.ImageConfig

Ganti objek DeidentifyConfig.ImageConfig dengan objek DicomTagConfig.Options.ImageConfig. Opsi dalam objek ImageConfig sama di kedua versi.

Contoh berikut menunjukkan cara memigrasikan permintaan dari menggunakan ImageConfig di DeidentifyConfig.image ke ImageConfig di DeidentifyConfig.DicomTagConfig.Options.cleanImage. Permintaan tersebut menentukan bahwa semua teks dalam gambar akan disamarkan selama operasi de-identifikasi:

DeidentifyConfig.imageDeidentifyConfig.DicomTagConfig.Options.cleanImage

"config": {
  "image": {
    "textRedactionMode": "REDACT_ALL_TEXT"
  }
}

"config": {
  "dicomTagConfig": {
    "options": {
      "cleanImage": {
        "textRedactionMode": "REDACT_ALL_TEXT"
      }
    }
  }
}

Ringkasan de-identifikasi

De-identifikasi tingkat set data

Untuk melakukan de-identifikasi data DICOM pada tingkat set data, panggil metode datasets.deidentify. Metode datasets.deidentify memiliki komponen berikut:

  • Set data sumber: Set data yang berisi DICOM yang disimpan dengan satu atau beberapa instance yang memiliki data sensitif. Saat Anda memanggil metode datasets.deidentify, semua instance di semua penyimpanan DICOM dalam set data akan dide-identifikasi.
  • Set data tujuan: De-identifikasi tidak memengaruhi set data asli atau datanya. Sebagai gantinya, salinan data asli yang telah dide-identifikasi akan ditulis ke set data baru, yang disebut set data tujuan.
  • Yang harus dide-identifikasi: Parameter konfigurasi yang menentukan cara memproses data DICOM dalam set data. Anda dapat mengonfigurasi de-identifikasi DICOM untuk melakukan de-identifikasi metadata instance DICOM (menggunakan kata kunci tag) atau teks sisipan dalam gambar DICOM dengan menentukan parameter ini dalam objek DeidentifyConfig.

Sebagian besar contoh dalam panduan ini menunjukkan cara melakukan de-identifikasi data DICOM pada tingkat set data.

De-identifikasi tingkat toko DICOM

Dengan melakukan de-identifikasi data DICOM pada tingkat penyimpanan DICOM, Anda dapat memiliki kontrol lebih atas data yang dide-identifikasi. Misalnya, jika Anda memiliki set data dengan beberapa penyimpanan DICOM, Anda dapat melakukan de-identifikasi setiap penyimpanan DICOM berdasarkan jenis data yang ada di penyimpanan.

Untuk melakukan de-identifikasi data DICOM di penyimpanan DICOM, panggil metode dicomStores.deidentify. Metode dicomStores.deidentify memiliki komponen berikut:

  • Penyimpanan DICOM sumber: Penyimpanan DICOM yang berisi satu atau beberapa instance yang memiliki data sensitif. Saat Anda memanggil operasi dicomStores.deidentify, semua instance di penyimpanan DICOM akan dide-identifikasi.
  • Penyimpanan DICOM tujuan: De-identifikasi tidak memengaruhi penyimpanan DICOM asli atau datanya. Sebagai gantinya, salinan data asli yang telah dide-identifikasi akan ditulis ke penyimpanan DICOM tujuan. Penyimpanan DICOM tujuan harus sudah ada.
  • Yang harus dide-identifikasi: Parameter konfigurasi yang menentukan cara memproses penyimpanan DICOM. Anda dapat mengonfigurasi de-identifikasi DICOM untuk melakukan de-identifikasi metadata instance DICOM (menggunakan kata kunci tag) atau teks sisipan dalam gambar DICOM dengan menentukan parameter ini dalam objek DeidentifyConfig.

Untuk contoh cara melakukan de-identifikasi data DICOM di tingkat penyimpanan DICOM, lihat Melakukan de-identifikasi data di tingkat penyimpanan DICOM.

Filter

Saat melakukan de-identifikasi data DICOM di tingkat penyimpanan DICOM, Anda dapat melakukan de-identifikasi sebagian data di penyimpanan DICOM dengan mengonfigurasi file filter dan menentukan file dalam permintaan dicomStores.deidentify. Sebagai contoh, lihat Melakukan de-identifikasi subset penyimpanan DICOM.

Ringkasan contoh

Contoh dalam panduan ini menggunakan instance DICOM tunggal bernama dicom_deid_instance_sample.dcm, tetapi Anda juga dapat melakukan de-identifikasi beberapa instance. Untuk menggunakan contoh instance DICOM dalam contoh di halaman ini, download file ke mesin lokal Anda dan ikuti petunjuk di Menyimpan data DICOM untuk menyimpannya di penyimpanan DICOM.

Bagian berikut menunjukkan tampilan gambar dalam instance DICOM dan metadata dalam instance.

Gambar contoh

Beberapa contoh di halaman ini berisi output gambar yang telah dide-identifikasi. Setiap contoh menggunakan gambar asli berikut sebagai inputnya. Anda dapat membandingkan gambar output dari setiap operasi de-identifikasi dengan gambar asli ini untuk melihat efek operasi tersebut:

xray_original

Contoh metadata

Sebagian besar contoh di halaman ini berisi output metadata yang diubah dalam instance DICOM. Setiap contoh menggunakan metadata asli berikut sebagai inputnya. Anda dapat membandingkan metadata output dari setiap operasi de-identifikasi dengan metadata asli ini untuk melihat efek de-identifikasi:

[
  {
    "00020002": {
      "vr": "UI",
      "Value": [
        "1.2.840.10008.5.1.4.1.1.7"
      ]
    },
    "00020003": {
      "vr": "UI",
      "Value": [
        "1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695"
      ]
    },
    "00020010": {
      "vr": "UI",
      "Value": [
        "1.2.840.10008.1.2.4.50"
      ]
    },
    "00020012": {
      "vr": "UI",
      "Value": [
        "1.2.276.0.7230010.3.0.3.6.1"
      ]
    },
    "00020013": {
      "vr": "SH",
      "Value": [
        "OFFIS_DCMTK_361"
      ]
    },
    "00080005": {
      "vr": "CS",
      "Value": [
        "ISO_IR 100"
      ]
    },
    "00080016": {
      "vr": "UI",
      "Value": [
        "1.2.840.10008.5.1.4.1.1.7"
      ]
    },
    "00080018": {
      "vr": "UI",
      "Value": [
        "1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695"
      ]
    },
    "00080020": {
      "vr": "DA",
      "Value": [
        "20110909"
      ]
    },
    "00080030": {
      "vr": "TM",
      "Value": [
        "110032"
      ]
    },
    "00080050": {
      "vr": "SH"
    },
    "00080064": {
      "vr": "CS",
      "Value": [
        "WSD"
      ]
    },
    "00080070": {
      "vr": "LO",
      "Value": [
        "Manufacturer"
      ]
    },
    "00080090": {
      "vr": "PN",
      "Value": [
        {
          "Alphabetic": "John Doe"
        }
      ]
    },
    "00081090": {
      "vr": "LO",
      "Value": [
        "ABC1"
      ]
    },
    "00100010": {
      "vr": "PN",
      "Value": [
        {
          "Alphabetic": "Ann Johnson"
        }
      ]
    },
    "00100020": {
      "vr": "LO",
      "Value": [
        "S1214223-1"
      ]
    },
    "00100030": {
      "vr": "DA",
      "Value": [
        "19880812"
      ]
    },
    "00100040": {
      "vr": "CS",
      "Value": [
        "F"
      ]
    },
    "0020000D": {
      "vr": "UI",
      "Value": [
        "2.25.70541616638819138568043293671559322355"
      ]
    },
    "0020000E": {
      "vr": "UI",
      "Value": [
        "1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694"
      ]
    },
    "00200010": {
      "vr": "SH"
    },
    "00200011": {
      "vr": "IS"
    },
    "00200013": {
      "vr": "IS"
    },
    "00200020": {
      "vr": "CS"
    },
    "00280002": {
      "vr": "US",
      "Value": [
        3
      ]
    },
    "00280004": {
      "vr": "CS",
      "Value": [
        "YBR_FULL_422"
      ]
    },
    "00280006": {
      "vr": "US",
      "Value": [
        0
      ]
    },
    "00280010": {
      "vr": "US",
      "Value": [
        1024
      ]
    },
    "00280011": {
      "vr": "US",
      "Value": [
        1024
      ]
    },
    "00280100": {
      "vr": "US",
      "Value": [
        8
      ]
    },
    "00280101": {
      "vr": "US",
      "Value": [
        8
      ]
    },
    "00280102": {
      "vr": "US",
      "Value": [
        7
      ]
    },
    "00280103": {
      "vr": "US",
      "Value": [
        0
      ]
    },
    "00282110": {
      "vr": "CS",
      "Value": [
        "01"
      ]
    },
    "00282114": {
      "vr": "CS",
      "Value": [
        "ISO_10918_1"
      ]
    }
  }
]

Menyamarkan teks sisipan dari gambar

Anda dapat melakukan de-identifikasi teks sisipan dalam gambar DICOM menggunakan objek ImageConfig di dalam objek Action. Di dalam ImageConfig, Anda dapat menentukan infoTypes yang akan disertakan atau dikecualikan, dan cara menyamarkan teks menggunakan objek TextRedactionMode.

Samarkan semua teks

Contoh berikut menunjukkan cara melakukan de-identifikasi instance DICOM dengan menetapkan TextRedactionMode ke REDACT_ALL_TEXT. Konfigurasi ini akan menyamarkan semua teks sisipan pada gambar.

REST

  1. Melakukan de-identifikasi set data.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi

    Meminta isi JSON:

    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "options": {
            "cleanImage": {
              "textRedactionMode": "REDACT_ALL_TEXT"
            }
          }
        }
      }
    }
    

    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'
    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "options": {
            "cleanImage": {
              "textRedactionMode": "REDACT_ALL_TEXT"
            }
          }
        }
      }
    }
    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    @'
    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "options": {
            "cleanImage": {
              "textRedactionMode": "REDACT_ALL_TEXT"
            }
          }
        }
      }
    }
    '@  | 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify" | Select-Object -Expand Content
    Outputnya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan ketika panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Catat 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 project Google Cloud Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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.

    Outputnya adalah sebagai berikut. Jika respons berisi "done": true, berarti operasi yang berjalan lama telah selesai.

  3. Setelah de-identifikasi berhasil, Anda dapat mengambil metadata untuk instance yang dide-identifikasi guna melihat perubahannya. Instance yang dide-identifikasi memiliki UID studi baru, UID seri, dan UID instance, sehingga Anda harus terlebih dahulu menelusuri set data baru untuk instance yang dide-identifikasi.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand Content

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

    Tabel berikut menunjukkan bagaimana UID studi, UID seri, dan UID instance berubah:
      Metadata instance asli Metadata instance yang dide-identifikasi
    UID Studi (0020000D) 2.25.70541616638819138568043293671559322355 1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
    UID serial (0020000E) 1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694 1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
    UID instance (00080018) 1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695 1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
  4. Dengan menggunakan nilai baru, ambil metadata untuk instance tersebut.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata" | 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 berisi metadata baru. Anda dapat membandingkan metadata baru dengan metadata asli untuk melihat efek transformasi.

Setelah melakukan de-identifikasi gambar menggunakan REDACT_ALL_TEXT, gambar akan terlihat seperti ini. Perhatikan bahwa semua teks sisipan di bagian bawah gambar telah disamarkan.

Gambar 1. Instance DICOM setelah de-identifikasi menggunakan REDACT_ALL_TEXT.

Menyamarkan teks sensitif dengan Opsi Clean Descriptors

Contoh berikut menunjukkan cara melakukan de-identifikasi instance DICOM dengan menetapkan TextRedactionMode ke REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS.

Untuk mengetahui informasi selengkapnya tentang opsi CleanDescriptorsOption, lihat Melakukan de-identifikasi teks dengan de-identifikasi kontekstual.

REST

  1. Melakukan de-identifikasi set data.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi

    Meminta isi JSON:

    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "options": {
            "cleanImage": {
              "textRedactionMode": "REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS"
            }
          }
        }
      }
    }
    

    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'
    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "options": {
            "cleanImage": {
              "textRedactionMode": "REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS"
            }
          }
        }
      }
    }
    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    @'
    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "options": {
            "cleanImage": {
              "textRedactionMode": "REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS"
            }
          }
        }
      }
    }
    '@  | 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify" | Select-Object -Expand Content
    Outputnya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan ketika panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Catat 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 project Google Cloud Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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.

    Outputnya adalah sebagai berikut. Jika respons berisi "done": true, berarti operasi yang berjalan lama telah selesai.

  3. Setelah de-identifikasi berhasil, Anda dapat mengambil metadata untuk instance yang dide-identifikasi guna melihat perubahannya. Instance yang dide-identifikasi memiliki UID studi baru, UID seri, dan UID instance, sehingga Anda harus terlebih dahulu menelusuri set data baru untuk instance yang dide-identifikasi.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand Content

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

    Tabel berikut menunjukkan bagaimana UID studi, UID seri, dan UID instance berubah:
      Metadata instance asli Metadata instance yang dide-identifikasi
    UID Studi (0020000D) 2.25.70541616638819138568043293671559322355 1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
    UID serial (0020000E) 1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694 1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
    UID instance (00080018) 1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695 1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
  4. Dengan menggunakan nilai baru, ambil metadata untuk instance tersebut.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata" | 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 berisi metadata baru. Anda dapat membandingkan metadata baru dengan metadata asli untuk melihat efek transformasi.

Setelah melakukan de-identifikasi gambar menggunakan REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS, gambar akan terlihat seperti ini. Perhatikan bahwa tidak semua teks sisipan di bagian bawah gambar telah disamarkan. Teks Female tetap ditampilkan karena PatientSex (0010,0040) bukan salah satu infoTypes DICOM default.

Gambar 2. Instance DICOM setelah de-identifikasi menggunakan REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS.

Melakukan de-identifikasi tag DICOM

Anda dapat melakukan de-identifikasi instance DICOM berdasarkan kata kunci tag dalam metadata DICOM.

Metode pemfilteran tag berikut tersedia di objek Action DicomTagConfig:

Anda menentukan setiap opsi Action sebagai daftar ID tag, nama, atau Representasi Nilai (VR) DICOM, lalu opsi tersebut akan melakukan tindakan pada tag dalam daftar. Anda tidak dapat menentukan lebih dari satu opsi Action pada daftar tag.

Setiap objek Action menyediakan daftar queries[] tempat Anda menentukan daftar tag. Format tag berikut didukung:

  • ID tag, seperti "00100010"
  • Nama tag, seperti "PatientName"
  • Pernyataan Nilai (VR), seperti "PN"

Tidak ada batasan jumlah tag yang dapat diberikan dalam daftar queries[]. Namun, setiap tag hanya dapat memiliki satu opsi Action yang dijalankan pada tag tersebut. Untuk menentukan berbagai tag yang memiliki opsi Action berbeda yang dijalankan pada tag tersebut, Anda harus menentukan beberapa objek Action.

Simpan tag

Anda dapat mencegah nilai tag agar tidak disamarkan dengan menentukan tag dalam objek KeepTag di objek DicomTagConfig.

Untuk menghasilkan objek DICOM yang valid saat menggunakan objek KeepTag, tentukan nilai MINIMAL_KEEP_LIST_PROFILE atau DEIDENTIFY_TAG_CONTENTS di objek ProfileType.

Dengan menentukan salah satu profil ini, tag berikut akan otomatis disimpan, sehingga memastikan bahwa instance DICOM yang dide-identifikasi adalah DICOM yang valid:

  • StudyInstanceUID
  • SeriesInstanceUID
  • SOPInstanceUID
  • TransferSyntaxUID
  • MediaStorageSOPInstanceUID
  • MediaStorageSOPClassUID
  • PixelData
  • Rows
  • Columns
  • SamplesPerPixel
  • BitsAllocated
  • BitsStored
  • Highbit
  • PhotometricInterpretation
  • PixelRepresentation
  • NumberOfFrames
  • PlanarConfiguration
  • PixelAspectRatio
  • SmallestImagePixelValue
  • LargestImagePixelValue
  • RedPaletteColorLookupTableDescriptor
  • GreenPaletteColorLookupTableDescriptor
  • BluePaletteColorLookupTableDescriptor
  • RedPaletteColorLookupTableData
  • GreenPaletteColorLookupTableData
  • BluePaletteColorLookupTableData
  • ICCProfile
  • ColorSpace
  • WindowCenter
  • WindowWidth
  • VOILUTFunction

Nilai untuk beberapa tag sebelumnya dibuat ulang, yang berarti nilai tersebut diganti dengan nilai yang berbeda melalui transformasi deterministik. Untuk mengetahui informasi selengkapnya, lihat Mempertahankan Opsi UID dalam standar DICOM.

Nilai StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID, dan MediaStorageSOPInstanceUID disebut "ID utama". Untuk menentukan cara ID utama diubah, tentukan nilai di PrimaryIdsOption.

Contoh berikut menunjukkan cara menggunakan objek KeepTag untuk mempertahankan nilai tag tertentu selama de-identifikasi. Tag PatientName ditambahkan dalam daftar queries[], sehingga nilai PatientName tidak disamarkan selama de-identifikasi.

Karena PrimaryIdsOption tidak ditentukan dalam contoh, kolom primaryIds ditetapkan secara default ke PRIMARY_IDS_OPTION_UNSPECIFIED, yang secara default disetel ke nilai dalam ProfileType. Karena ProfileType juga tidak ditentukan, kolom profileType ditetapkan secara default ke PROFILE_TYPE_UNSPECIFIED, yang menghapus tag berdasarkan Profil Dasar Kerahasiaan Atribut (DICOM Standard Edition 2018e).

REST

  1. Melakukan de-identifikasi set data.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi

    Meminta isi JSON:

    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "actions": [
            {
              "queries": [
               "PatientName"
              ],
              "keepTag": {}
            }
          ]
        }
      }
    }
    

    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'
    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "actions": [
            {
              "queries": [
               "PatientName"
              ],
              "keepTag": {}
            }
          ]
        }
      }
    }
    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    @'
    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "actions": [
            {
              "queries": [
               "PatientName"
              ],
              "keepTag": {}
            }
          ]
        }
      }
    }
    '@  | 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify" | Select-Object -Expand Content
    Outputnya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan ketika panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Catat 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 project Google Cloud Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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.

    Outputnya adalah sebagai berikut. Jika respons berisi "done": true, berarti operasi yang berjalan lama telah selesai.

  3. Setelah de-identifikasi berhasil, Anda dapat mengambil metadata untuk instance yang dide-identifikasi guna melihat perubahannya. Instance yang dide-identifikasi memiliki UID studi baru, UID seri, dan UID instance, sehingga Anda harus terlebih dahulu menelusuri set data baru untuk instance yang dide-identifikasi.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand Content

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

    Tabel berikut menunjukkan bagaimana UID studi, UID seri, dan UID instance berubah:
      Metadata instance asli Metadata instance yang dide-identifikasi
    UID Studi (0020000D) 2.25.70541616638819138568043293671559322355 1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
    UID serial (0020000E) 1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694 1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
    UID instance (00080018) 1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695 1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
  4. Dengan menggunakan nilai baru, ambil metadata untuk instance tersebut.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata" | 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 berisi metadata baru. Anda dapat membandingkan metadata baru dengan metadata asli untuk melihat efek transformasi.

Menghapus tag

Contoh berikut menunjukkan cara menggunakan objek RemoveTag untuk menghapus nilai tag tertentu selama de-identifikasi. Tag yang dihapus diganti dengan nilai kosong.

Pada contoh berikut, tag PatientName ditambahkan dalam daftar queries[], sehingga nilainya diganti dengan nilai kosong selama de-identifikasi.

REST

  1. Melakukan de-identifikasi set data.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi

    Meminta isi JSON:

    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "actions": [
            {
              "queries": [
                 "PatientName"
              ],
              "removeTag": {}
            }
          ]
        }
      }
    }
    

    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'
    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "actions": [
            {
              "queries": [
                 "PatientName"
              ],
              "removeTag": {}
            }
          ]
        }
      }
    }
    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    @'
    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "actions": [
            {
              "queries": [
                 "PatientName"
              ],
              "removeTag": {}
            }
          ]
        }
      }
    }
    '@  | 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify" | Select-Object -Expand Content
    Outputnya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan ketika panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Catat 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 project Google Cloud Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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.

    Outputnya adalah sebagai berikut. Jika respons berisi "done": true, berarti operasi yang berjalan lama telah selesai.

  3. Setelah de-identifikasi berhasil, Anda dapat mengambil metadata untuk instance yang dide-identifikasi guna melihat perubahannya. Instance yang dide-identifikasi memiliki UID studi baru, UID seri, dan UID instance, sehingga Anda harus terlebih dahulu menelusuri set data baru untuk instance yang dide-identifikasi.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand Content

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

    Tabel berikut menunjukkan bagaimana UID studi, UID seri, dan UID instance berubah:
      Metadata instance asli Metadata instance yang dide-identifikasi
    UID Studi (0020000D) 2.25.70541616638819138568043293671559322355 1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
    UID serial (0020000E) 1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694 1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
    UID instance (00080018) 1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695 1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
  4. Dengan menggunakan nilai baru, ambil metadata untuk instance tersebut.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata" | 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 berisi metadata baru. Anda dapat membandingkan metadata baru dengan metadata asli untuk melihat efek transformasi.

Menghapus tag

Contoh berikut menunjukkan cara menggunakan objek DeleteTag untuk menghapus tag tertentu selama de-identifikasi.

REST

  1. Melakukan de-identifikasi set data.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi

    Meminta isi JSON:

    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "actions": [
            {
              "queries": [
               "PatientName"
              ],
              "deleteTag": {}
            }
          ]
        }
      }
    }
    

    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'
    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "actions": [
            {
              "queries": [
               "PatientName"
              ],
              "deleteTag": {}
            }
          ]
        }
      }
    }
    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    @'
    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "actions": [
            {
              "queries": [
               "PatientName"
              ],
              "deleteTag": {}
            }
          ]
        }
      }
    }
    '@  | 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify" | Select-Object -Expand Content
    Outputnya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan ketika panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Catat 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 project Google Cloud Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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.

    Outputnya adalah sebagai berikut. Jika respons berisi "done": true, berarti operasi yang berjalan lama telah selesai.

  3. Setelah de-identifikasi berhasil, Anda dapat mengambil metadata untuk instance yang dide-identifikasi guna melihat perubahannya. Instance yang dide-identifikasi memiliki UID studi baru, UID seri, dan UID instance, sehingga Anda harus terlebih dahulu menelusuri set data baru untuk instance yang dide-identifikasi.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand Content

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

    Tabel berikut menunjukkan bagaimana UID studi, UID seri, dan UID instance berubah:
      Metadata instance asli Metadata instance yang dide-identifikasi
    UID Studi (0020000D) 2.25.70541616638819138568043293671559322355 1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
    UID serial (0020000E) 1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694 1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
    UID instance (00080018) 1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695 1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
  4. Dengan menggunakan nilai baru, ambil metadata untuk instance tersebut.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata" | 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 berisi metadata baru. Anda dapat membandingkan metadata baru dengan metadata asli untuk melihat efek transformasi.

Mereset tag ke nilai placeholder

Contoh berikut menunjukkan cara menggunakan objek ResetTag untuk menetapkan nilai tag ke string PLACEHOLDER selama de-identifikasi.

REST

  1. Melakukan de-identifikasi set data.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi

    Meminta isi JSON:

    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "actions": [
            {
              "queries": [
               "PatientName"
              ],
              "resetTag": {}
            }
          ]
        }
      }
    }
    

    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'
    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "actions": [
            {
              "queries": [
               "PatientName"
              ],
              "resetTag": {}
            }
          ]
        }
      }
    }
    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    @'
    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "actions": [
            {
              "queries": [
               "PatientName"
              ],
              "resetTag": {}
            }
          ]
        }
      }
    }
    '@  | 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify" | Select-Object -Expand Content
    Outputnya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan ketika panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Catat 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 project Google Cloud Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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.

    Outputnya adalah sebagai berikut. Jika respons berisi "done": true, berarti operasi yang berjalan lama telah selesai.

  3. Setelah de-identifikasi berhasil, Anda dapat mengambil metadata untuk instance yang dide-identifikasi guna melihat perubahannya. Instance yang dide-identifikasi memiliki UID studi baru, UID seri, dan UID instance, sehingga Anda harus terlebih dahulu menelusuri set data baru untuk instance yang dide-identifikasi.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand Content

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

    Tabel berikut menunjukkan bagaimana UID studi, UID seri, dan UID instance berubah:
      Metadata instance asli Metadata instance yang dide-identifikasi
    UID Studi (0020000D) 2.25.70541616638819138568043293671559322355 1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
    UID serial (0020000E) 1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694 1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
    UID instance (00080018) 1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695 1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
  4. Dengan menggunakan nilai baru, ambil metadata untuk instance tersebut.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata" | 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 berisi metadata baru. Anda dapat membandingkan metadata baru dengan metadata asli untuk melihat efek transformasi.

    Secara khusus, perhatikan bahwa nilai tag PatientName ditetapkan ke PLACEHOLDER:

    Original metadataMetadata setelah menjalankan ResetTag
    
    "00100010": {
      "vr": "PN",
      "Value": [
        {
          "Alphabetic": "Ann Johnson"
        }
      ]
    }
    
    "00100010": {
      "vr": "PN",
      "Value": [
        {
          "Alphabetic": "PLACEHOLDER"
        }
      ]
    }

Memeriksa dan mengubah teks sensitif dalam tag

Contoh berikut menunjukkan cara menggunakan objek CleanTextTag untuk memeriksa tag dan mengubah nilai tag sesuai dengan konfigurasi dalam objek TextConfig.

Dalam contoh ini, opsi berikut ditetapkan dalam objek Actions:

  • Objek CleanTextTag.
  • Daftar queries[] yang berisi tag DICOM PatientName.

Opsi berikut ditetapkan dalam objek TextConfig:

Setelah konfigurasi ini ditetapkan, operasi de-identifikasi akan memeriksa tag PatientName, mencocokkan tag dengan infoType PERSON_NAME, dan mengganti nilai tag dengan infoType PERSON_NAME. Tag PatientName memiliki Representasi Nilai (VR) dari PN, yang merupakan salah satu VR yang didukung dalam objek CleanTextTag.

REST

  1. Melakukan de-identifikasi set data.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi

    Meminta isi JSON:

    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "actions": [
            {
              "queries": [
                "PatientName"
              ],
              "cleanTextTag": {}
            }
          ]
        },
        "text": {
          "additionalTransformations": [
            {
              "infoTypes": [
                "PERSON_NAME"
              ],
              "replaceWithInfoTypeConfig": {}
            }
          ]
        }
      }
    }
    

    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'
    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "actions": [
            {
              "queries": [
                "PatientName"
              ],
              "cleanTextTag": {}
            }
          ]
        },
        "text": {
          "additionalTransformations": [
            {
              "infoTypes": [
                "PERSON_NAME"
              ],
              "replaceWithInfoTypeConfig": {}
            }
          ]
        }
      }
    }
    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    @'
    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "actions": [
            {
              "queries": [
                "PatientName"
              ],
              "cleanTextTag": {}
            }
          ]
        },
        "text": {
          "additionalTransformations": [
            {
              "infoTypes": [
                "PERSON_NAME"
              ],
              "replaceWithInfoTypeConfig": {}
            }
          ]
        }
      }
    }
    '@  | 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify" | Select-Object -Expand Content
    Outputnya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan ketika panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Catat 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 project Google Cloud Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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.

    Outputnya adalah sebagai berikut. Jika respons berisi "done": true, berarti operasi yang berjalan lama telah selesai.

  3. Setelah de-identifikasi berhasil, Anda dapat mengambil metadata untuk instance yang dide-identifikasi guna melihat perubahannya. Instance yang dide-identifikasi memiliki UID studi baru, UID seri, dan UID instance, sehingga Anda harus terlebih dahulu menelusuri set data baru untuk instance yang dide-identifikasi.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand Content

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

    Tabel berikut menunjukkan bagaimana UID studi, UID seri, dan UID instance berubah:
      Metadata instance asli Metadata instance yang dide-identifikasi
    UID Studi (0020000D) 2.25.70541616638819138568043293671559322355 1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
    UID serial (0020000E) 1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694 1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
    UID instance (00080018) 1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695 1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
  4. Dengan menggunakan nilai baru, ambil metadata untuk instance tersebut.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata" | 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 berisi metadata baru. Anda dapat membandingkan metadata baru dengan metadata asli untuk melihat efek transformasi.

    Secara khusus, perhatikan bahwa nilai tag PatientName ditetapkan ke [PERSON_NAME]:

    Original metadataMetadata setelah menjalankan CleanTextTag
    
    "00100010": {
      "vr": "PN",
      "Value": [
        {
          "Alphabetic": "Ann Johnson"
        }
      ]
    }
    
    "00100010": {
      "vr": "PN",
      "Value": [
        {
          "Alphabetic": "[PERSON_NAME]"
        }
      ]
    }

Mengganti UID dengan UID yang dihasilkan

Contoh berikut menunjukkan cara menggunakan objek RegenUidTag untuk mengganti UID dengan UID yang baru dihasilkan. Satu-satunya VR yang didukung objek RegenUidTag adalah UI.

Secara default, setiap tag dalam metadata contoh dengan VR UI memiliki UID yang dihasilkan selama de-identifikasi. Untuk menunjukkan cara membuat UID untuk tag tertentu, opsi berikut ditetapkan dalam contoh:

  • ProfileType disetel ke enum KEEP_ALL, yang mencegah de-identifikasi metadata DICOM.

  • PrimaryIdsOption disetel ke enum KEEP, yang membiarkan ID utama (StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID, dan MediaStorageSOPInstanceUID) tidak berubah.

Jika opsi ini ditetapkan, tidak ada UID ID utama dalam data sampel yang diganti dengan nilai yang baru dihasilkan. Namun, dengan menambahkan SOPInstanceUID ke array Action.queries[], Anda dapat membuat UID baru khusus untuk tag SOPInstanceUID.

REST

  1. Melakukan de-identifikasi set data.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi

    Meminta isi JSON:

    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "options": {
            "primaryIds": "KEEP"
          },
          "actions": [
            {
              "queries": [
                "00080018"
              ],
              "regenUidTag": {}
            }
          ],
          "profileType": "KEEP_ALL_PROFILE"
        }
      }
    }
    

    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'
    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "options": {
            "primaryIds": "KEEP"
          },
          "actions": [
            {
              "queries": [
                "00080018"
              ],
              "regenUidTag": {}
            }
          ],
          "profileType": "KEEP_ALL_PROFILE"
        }
      }
    }
    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    @'
    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "options": {
            "primaryIds": "KEEP"
          },
          "actions": [
            {
              "queries": [
                "00080018"
              ],
              "regenUidTag": {}
            }
          ],
          "profileType": "KEEP_ALL_PROFILE"
        }
      }
    }
    '@  | 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify" | Select-Object -Expand Content
    Outputnya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan ketika panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Catat 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 project Google Cloud Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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.

    Outputnya adalah sebagai berikut. Jika respons berisi "done": true, berarti operasi yang berjalan lama telah selesai.

  3. Setelah de-identifikasi berhasil, Anda dapat mengambil metadata untuk instance yang dide-identifikasi guna melihat perubahannya. Instance yang dide-identifikasi memiliki UID instance baru karena Anda menentukan tag SOPInstanceUID dalam array Action.queries[], sehingga Anda harus terlebih dahulu menelusuri set data baru untuk instance yang telah dide-identifikasi.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand Content

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

    Tabel berikut menunjukkan perubahan UID instance:

      Metadata instance asli Metadata instance yang dide-identifikasi
    UID instance (00080018) 1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695 1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
  4. Dengan menggunakan nilai baru, ambil metadata untuk instance tersebut.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/2.25.70541616638819138568043293671559322355/series/1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/2.25.70541616638819138568043293671559322355/series/1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata" | 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 berisi metadata baru. Anda dapat membandingkan metadata baru dengan metadata asli untuk melihat efek transformasi.

    Perhatikan bahwa, dari ID utama, hanya SOPInstanceUID yang memiliki UID yang baru dihasilkan.

Melakukan de-identifikasi tag secara rekursif di Sequence bertingkat

Contoh berikut menunjukkan cara menggunakan objek RecurseTag untuk melakukan de-identifikasi tag DICOM bertingkat secara rekursif di Sequence. Objek RecurseTag hanya mendukung VR SQ, yang merupakan VR untuk Sequence.

Untuk informasi tentang VR SQ, lihat 7.5 Penyusunan Set Data.

Instance contoh DICOM yang disediakan untuk halaman ini tidak berisi tag DICOM yang memiliki VR SQ. Anda dapat membuat dan menyimpan instance DICOM dengan data palsu yang berisi VR SQ dengan menyelesaikan langkah-langkah berikut, yang didasarkan pada petunjuk di Membuat instance DICOM dari metadata JSON dan file JPEG. Instance DICOM yang Anda buat pada langkah-langkah berikut menggunakan data palsu, dan hanya dimaksudkan untuk menggambarkan perilaku RecurseTag.

  1. Simpan metadata DICOM berikut ke file JSON yang bernama instance.json. Metadata berisi tag PhysiciansReadingStudyIdentificationSequence (00081062). Tag memiliki VR SQ, dan berisi dua tag PersonIdentificationCodeSequence (00401101) bertingkat. Tag bertingkat juga memiliki VR SQ, dan masing-masing berisi tag bertingkat berikut:

    • CodeValue (00080100)
    • CodingSchemeDesignator (00080102)
    [{
      "00020010": {
        "vr": "UI",
        "Value": [
          "1.2.840.10008.1.2.4.50"
        ]
      },
      "00080005": {
        "vr": "CS",
        "Value": [
          "ISO_IR 192"
        ]
      },
      "00080016": {
        "vr": "UI",
        "Value": [
          "1111111"
        ]
      },
      "00080018": {
        "vr": "UI",
        "Value": [
          "2222222"
        ]
      },
      "0020000D": {
        "vr": "UI",
        "Value": [
          "3333333"
        ]
      },
      "0020000E": {
        "vr": "UI",
        "Value": [
          "4444444"
        ]
      },
      "00280002": {
        "vr": "US",
        "Value": [
          3
        ]
      },
      "00280004": {
        "vr": "CS",
        "Value": [
          "YBR_FULL_422"
        ]
      },
      "00280006": {
        "vr": "US",
        "Value": [
          0
        ]
      },
      "00280008": {
        "vr": "IS",
        "Value": [
          1
        ]
      },
      "00280010": {
        "vr": "US",
        "Value": [
          1024
        ]
      },
      "00280011": {
        "vr": "US",
        "Value": [
          1024
        ]
      },
      "00280100": {
        "vr": "US",
        "Value": [
          8
        ]
      },
      "00280101": {
        "vr": "US",
        "Value": [
          8
        ]
      },
      "00280102": {
        "vr": "US",
        "Value": [
          7
        ]
      },
      "00280103": {
        "vr": "US",
        "Value": [
          0
        ]
      },
      "7FE00010": {
        "vr": "OB",
        "BulkDataURI": "jpeg-image"
      },
      "00081062": {
        "vr": "SQ",
        "Value": [
          {
            "00401101": {
              "vr": "SQ",
              "Value": [
                {
                  "00080100": {
                    "vr": "SH",
                    "Value": [
                      "CodeValue1"
                    ]
                  },
                  "00080102": {
                    "vr": "SH",
                    "Value": [
                      "CodingSchemeDesignator1"
                    ]
                  }
                }
              ]
            }
          },
          {
            "00401101": {
              "vr": "SQ",
              "Value": [
                {
                  "00080100": {
                    "vr": "SH",
                    "Value": [
                      "CodeValue2"
                    ]
                  },
                  "00080102": {
                    "vr": "SH",
                    "Value": [
                      "CodingSchemeDesignator2"
                    ]
                  }
                }
              ]
            }
          }
        ]
      }
    }]
    
  2. Download file google.jpg ke komputer lokal Anda. Cloud Healthcare API DICOMweb API menerima gambar JPEG apa pun yang disambungkan dengan metadata JSON selama metadata tersebut valid.

  3. Jalankan perintah berikut untuk membuat batas pembuka (untuk metadata JSON), gambar tengah (untuk JPEG), dan batas penutup dalam gambar:

    echo -ne "--DICOMwebBoundary\r\nContent-Type: application/dicom+json\r\n\r\n" > opening.file
    echo -ne "\r\n--DICOMwebBoundary\r\nContent-Location: jpeg-image\r\nContent-Type: image/jpeg; transfer-syntax=1.2.840.10008.1.2.4.50\r\n\r\n" > middle.file
    echo -ne "\r\n--DICOMwebBoundary--" > closing.file
    
  4. Gabungkan gambar google.jpg dalam batas tengah dan penutup. File output, yang Anda kirim ke Cloud Healthcare API, disebut multipart-request.file:

    cat opening.file instance.json middle.file google.jpg closing.file > multipart-request.file
    
  5. Simpan file multipart-request.file:

    REST

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DICOM_STORE_ID: ID penyimpanan DICOM di dalam set data sumber

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: multipart/related; type=\"application/dicom+json\"; boundary=DICOMwebBoundary" \
    --data-binary @multipart-request.file \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/dicomStores/SOURCE_DICOM_STORE_ID/dicomWeb/studies"

    PowerShell

    Jalankan perintah berikut:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -InFile multipart-request.file `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/dicomStores/SOURCE_DICOM_STORE_ID/dicomWeb/studies" | Select-Object -Expand Content

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

Selesaikan langkah-langkah berikut untuk melakukan de-identifikasi instance DICOM yang Anda simpan.

REST

  1. Melakukan de-identifikasi set data.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi

    Meminta isi JSON:

    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "actions": [
            {
              "queries": [
               "PhysiciansReadingStudyIdentificationSequence"
              ],
              "recurseTag": {}
            }
          ]
        }
      }
    }
    

    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'
    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "actions": [
            {
              "queries": [
               "PhysiciansReadingStudyIdentificationSequence"
              ],
              "recurseTag": {}
            }
          ]
        }
      }
    }
    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    @'
    {
      "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID",
      "config": {
        "dicomTagConfig": {
          "actions": [
            {
              "queries": [
               "PhysiciansReadingStudyIdentificationSequence"
              ],
              "recurseTag": {}
            }
          ]
        }
      }
    }
    '@  | 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify" | Select-Object -Expand Content
    Outputnya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan ketika panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Catat 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 project Google Cloud Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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.

    Outputnya adalah sebagai berikut. Jika respons berisi "done": true, berarti operasi yang berjalan lama telah selesai.

  3. Setelah de-identifikasi berhasil, Anda dapat mengambil metadata untuk instance yang dide-identifikasi guna melihat perubahannya. Instance yang dide-identifikasi memiliki UID studi baru, UID seri, dan UID instance, sehingga Anda harus terlebih dahulu menelusuri set data baru untuk instance yang dide-identifikasi.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand Content

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

    Tabel berikut menunjukkan bagaimana UID studi, UID seri, dan UID instance berubah:

    Metadata instance asli Metadata instance yang dide-identifikasi
    UID Studi (0020000D) 3333333 1.3.6.1.4.1.11129.5.1.222168347996079463826250565085126257314
    UID serial (0020000E) 4444444 1.3.6.1.4.1.11129.5.1.25205702030237830896398173746777399347
    UID instance (00080018) 2222222 1.3.6.1.4.1.11129.5.1.286710307126045768765142714621897494633
  4. Dengan menggunakan nilai baru, ambil metadata untuk instance tersebut.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.222168347996079463826250565085126257314/series/1.3.6.1.4.1.11129.5.1.25205702030237830896398173746777399347/instances/1.3.6.1.4.1.11129.5.1.286710307126045768765142714621897494633/metadata"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.222168347996079463826250565085126257314/series/1.3.6.1.4.1.11129.5.1.25205702030237830896398173746777399347/instances/1.3.6.1.4.1.11129.5.1.286710307126045768765142714621897494633/metadata" | 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 berisi metadata baru. Anda dapat membandingkan metadata baru dengan metadata asli di Langkah 1 untuk melihat efek transformasi.

    Secara khusus, perhatikan bahwa nilai tag CodeValue dan CodingSchemaDesignator bertingkat ditetapkan ke PLACEHOLDER:

    Original metadataMetadata setelah menjalankan RecurseTag
    
    {
      "00081062": {
        "vr": "SQ",
        "Value": [
          {
            "00401101": {
              "vr": "SQ",
              "Value": [
                {
                  "00080100": {
                    "vr": "SH",
                    "Value": [
                      "CodeValue1"
                    ]
                  },
                  "00080102": {
                    "vr": "SH",
                    "Value": [
                      "CodingSchemeDesignator1"
                    ]
                  }
                }
              ]
            }
          },
          {
            "00401101": {
              "vr": "SQ",
              "Value": [
                {
                  "00080100": {
                    "vr": "SH",
                    "Value": [
                      "CodeValue2"
                    ]
                  },
                  "00080102": {
                    "vr": "SH",
                    "Value": [
                      "CodingSchemeDesignator2"
                    ]
                  }
                }
              ]
            }
          }
        ]
      }
    }
    
    {
      "00081062": {
        "vr": "SQ",
        "Value": [
          {
            "00401101": {
              "vr": "SQ",
              "Value": [
                {
                  "00080100": {
                    "vr": "SH",
                    "Value": [
                      "PLACEHOLDER"
                    ]
                  },
                  "00080102": {
                    "vr": "SH",
                    "Value": [
                      "PLACEHOLDER"
                    ]
                  }
                }
              ]
            }
          },
          {
            "00401101": {
              "vr": "SQ",
              "Value": [
                {
                  "00080100": {
                    "vr": "SH",
                    "Value": [
                      "PLACEHOLDER"
                    ]
                  },
                  "00080102": {
                    "vr": "SH",
                    "Value": [
                      "PLACEHOLDER"
                    ]
                  }
                }
              ]
            }
          }
        ]
      }
    }

Melakukan de-identifikasi data pada tingkat penyimpanan DICOM

Contoh sebelumnya menunjukkan cara melakukan de-identifikasi data DICOM pada tingkat set data. Bagian ini menjelaskan cara melakukan de-identifikasi data di tingkat penyimpanan DICOM.

Untuk mengubah permintaan de-identifikasi set data menjadi permintaan de-identifikasi penyimpanan DICOM, lakukan perubahan berikut:

  • Ganti destinationDataset dalam isi permintaan dengan destinationStore
  • Tambahkan dicomStores/DESTINATION_DICOM_STORE_ID di akhir nilai dalam destinationStore saat menentukan tujuan
  • Menambahkan dicomStores/SOURCE_DICOM_STORE_ID saat menentukan lokasi data sumber

Contoh berikut menunjukkan permintaan de-identifikasi tingkat set data dan cara mengubah permintaan untuk de-identifikasi tingkat toko DICOM:

De-identifikasi tingkat set data:

"destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID"
...
"https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID:deidentify"

De-identifikasi tingkat toko DICOM:

"destinationStore": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID"
...
"https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/dicomStores/SOURCE_DICOM_STORE_ID:deidentify"

Contoh berikut menunjukkan cara melakukan de-identifikasi instance DICOM di penyimpanan DICOM dan menulis data yang dide-identifikasi ke penyimpanan DICOM baru. Sebelum menjalankan contoh, ID penyimpanan DICOM tujuan harus sudah ada.

REST

  1. Melakukan de-identifikasi set data.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi. Harus sudah ada sebelum menjalankan operasi de-identifikasi.
    • DESTINATION_DICOM_STORE_ID: penyimpanan DICOM di set data tujuan. Harus sudah ada sebelum menjalankan operasi de-identifikasi.

    Meminta isi JSON:

    {
      "destinationStore": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID",
      "config": {
        "dicomTagConfig": {
          "actions": [
            {
              "queries": [
               "PatientName"
              ],
              "keepTag": {}
            }
          ]
        }
      }
    }
    

    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'
    {
      "destinationStore": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID",
      "config": {
        "dicomTagConfig": {
          "actions": [
            {
              "queries": [
               "PatientName"
              ],
              "keepTag": {}
            }
          ]
        }
      }
    }
    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID:deidentify"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    @'
    {
      "destinationStore": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID",
      "config": {
        "dicomTagConfig": {
          "actions": [
            {
              "queries": [
               "PatientName"
              ],
              "keepTag": {}
            }
          ]
        }
      }
    }
    '@  | 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID:deidentify" | Select-Object -Expand Content
    Outputnya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan ketika panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Catat 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 project Google Cloud Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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.

    Outputnya adalah sebagai berikut. Jika respons berisi "done": true, berarti operasi yang berjalan lama telah selesai.

  3. Setelah de-identifikasi berhasil, Anda dapat mengambil metadata untuk instance yang dide-identifikasi guna melihat perubahannya. Instance yang dide-identifikasi memiliki UID studi baru, UID seri, dan UID instance, sehingga Anda harus terlebih dahulu menelusuri set data baru untuk instance yang dide-identifikasi.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand Content

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

    Tabel berikut menunjukkan bagaimana UID studi, UID seri, dan UID instance berubah:
      Metadata instance asli Metadata instance yang dide-identifikasi
    UID Studi (0020000D) 2.25.70541616638819138568043293671559322355 1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
    UID serial (0020000E) 1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694 1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
    UID instance (00080018) 1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695 1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
  4. Dengan menggunakan nilai baru, ambil metadata untuk instance tersebut.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata" | 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 berisi metadata baru. Anda dapat membandingkan metadata baru dengan metadata asli untuk melihat efek transformasi.

Melakukan de-identifikasi subset penyimpanan DICOM

Anda dapat melakukan de-identifikasi subset data di penyimpanan DICOM dengan menentukan filter.

Filter berbentuk file filter yang Anda tentukan sebagai nilai untuk kolom resourcePathsGcsUri di objek DicomFilterConfig. File filter harus ada di bucket Cloud Storage; Anda tidak dapat menentukan file filter yang ada di mesin lokal Anda atau sumber lainnya. Lokasi file harus dalam format gs://BUCKET/PATH/TO/FILE.

Membuat file filter

File filter menentukan file DICOM mana yang akan dide-identifikasi. Anda dapat memfilter file pada tingkat berikut:

  • Di tingkat studi
  • Di level serial
  • Di tingkat instance

File filter terdiri dari satu baris per studi, rangkaian, atau instance yang ingin Anda de-identifikasi. Setiap baris menggunakan format /studies/STUDY_UID[/series/SERIES_UID[/instances/INSTANCE_UID]]. Di akhir setiap baris adalah karakter baris baru: \n atau \r\n.

Jika studi, rangkaian, atau instance tidak ditentukan dalam file filter yang Anda teruskan saat memanggil operasi de-identifikasi, studi, rangkaian, atau instance tersebut tidak akan dide-identifikasi dan tidak akan ada di penyimpanan DICOM tujuan.

Hanya bagian /studies/STUDY_UID dari jalur yang diperlukan. Ini berarti Anda dapat melakukan de-identifikasi studi dengan menentukan /studies/STUDY_UID, atau Anda dapat melakukan de-identifikasi seri dengan menentukan /studies/STUDY_UID/series/SERIES_UID.

Pertimbangkan file filter berikut. File filter menyebabkan satu studi, dua seri, dan tiga instance individual dide-identifikasi:

/studies/1.123.456.789
/studies/1.666.333.111/series/123.456\n
/studies/1.666.333.111/series/567.890\n
/studies/1.888.999.222/series/123.456/instances/111\n
/studies/1.888.999.222/series/123.456/instances/222\n
/studies/1.888.999.222/series/123.456/instances/333\n

Membuat file filter menggunakan BigQuery

Anda biasanya membuat file filter dengan mengekspor metadata dari penyimpanan DICOM ke BigQuery terlebih dahulu. Hal ini memungkinkan Anda menggunakan BigQuery untuk melihat UID studi, deret, dan instance dari data DICOM di penyimpanan DICOM Anda. Kemudian, Anda dapat melakukan hal berikut:

  1. Buat kueri untuk UID studi, rangkaian, dan instance yang Anda minati. Misalnya, setelah mengekspor metadata ke BigQuery, Anda dapat menjalankan kueri berikut untuk menggabungkan UID studi, rangkaian, dan instance ke format yang kompatibel dengan persyaratan file filter:

    SELECT CONCAT
      ('/studies/', StudyInstanceUID, '/series/', SeriesInstanceUID, '/instances/', SOPInstanceUID)
    FROM
      [PROJECT_ID:BIGQUERY_DATASET.BIGQUERY_TABLE]
  2. Jika kueri tersebut menampilkan kumpulan hasil besar, Anda dapat mewujud tabel baru dengan menyimpan hasil kueri ke tabel tujuan di BigQuery.

  3. Setelah menyimpan hasil kueri ke tabel tujuan, Anda dapat menyimpan isi tabel tujuan ke file dan mengekspornya ke Cloud Storage. Untuk langkah-langkah cara melakukannya, lihat Mengekspor data tabel. {i>File<i} yang diekspor adalah {i>file filter<i} Anda. Anda akan menggunakan lokasi file filter di Cloud Storage saat menentukan filter dalam operasi ekspor.

Membuat file filter secara manual

Anda dapat membuat file filter dengan konten kustom dan menguploadnya ke bucket Cloud Storage. Anda akan menggunakan lokasi file filter di Cloud Storage saat menentukan filter dalam operasi de-identifikasi. Contoh berikut menunjukkan cara mengupload file filter ke bucket Cloud Storage menggunakan perintah gsutil cp:

gsutil cp PATH/TO/FILTER_FILE gs://BUCKET/DIRECTORY

Contoh:

gsutil cp /home/user/Desktop/filters.txt gs://my-bucket/my-directory

Menggunakan filter

Setelah mengonfigurasi file filter, Anda dapat meneruskannya sebagai nilai ke kolom resourcePathsGcsUri di objek filterConfig.

Contoh berikut menjelaskan Melakukan de-identifikasi data di tingkat penyimpanan DICOM, tetapi file filter di Cloud Storage disediakan untuk menentukan resource DICOM mana yang dide-identifikasi.

REST

  1. Melakukan de-identifikasi set data.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • LOCATION: lokasi set data
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DICOM_STORE_ID: ID penyimpanan DICOM yang berisi data yang akan dide-identifikasi
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan
    • BUCKET/PATH/TO/FILE: lokasi file filter di bucket Cloud Storage

    Meminta isi JSON:

    {
      "destinationStore": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID",
      "config": {
        "dicom": {
          "filterProfile": "DEIDENTIFY_TAG_CONTENTS"
        },
        "image": {
          "textRedactionMode": "REDACT_ALL_TEXT"
        }
      },
      "filterConfig": {
        "resourcePathGcsUri": "gs://BUCKET/PATH/TO/FILE"
      }
    }
    

    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'
    {
      "destinationStore": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID",
      "config": {
        "dicom": {
          "filterProfile": "DEIDENTIFY_TAG_CONTENTS"
        },
        "image": {
          "textRedactionMode": "REDACT_ALL_TEXT"
        }
      },
      "filterConfig": {
        "resourcePathGcsUri": "gs://BUCKET/PATH/TO/FILE"
      }
    }
    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/SOURCE_DATASET_ID/dicomStores/SOURCE_DICOM_STORE_ID:deidentify"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

    @'
    {
      "destinationStore": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID",
      "config": {
        "dicom": {
          "filterProfile": "DEIDENTIFY_TAG_CONTENTS"
        },
        "image": {
          "textRedactionMode": "REDACT_ALL_TEXT"
        }
      },
      "filterConfig": {
        "resourcePathGcsUri": "gs://BUCKET/PATH/TO/FILE"
      }
    }
    '@  | 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/SOURCE_DATASET_ID/dicomStores/SOURCE_DICOM_STORE_ID:deidentify" | Select-Object -Expand Content
    Outputnya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama. Operasi yang berjalan lama ditampilkan ketika panggilan metode mungkin memerlukan waktu yang lama untuk diselesaikan. Catat 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 project Google Cloud Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dide-identifikasi
    • 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_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.

    Outputnya adalah sebagai berikut. Jika respons berisi "done": true, berarti operasi yang berjalan lama telah selesai.

  3. Setelah de-identifikasi berhasil, Anda dapat mengambil metadata untuk instance yang dide-identifikasi guna melihat perubahannya. Instance yang dide-identifikasi memiliki UID studi baru, UID seri, dan UID instance, sehingga Anda harus terlebih dahulu menelusuri set data baru untuk instance yang dide-identifikasi.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand Content

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

    Tabel berikut menunjukkan bagaimana UID studi, UID seri, dan UID instance berubah:
      Metadata instance asli Metadata instance yang dide-identifikasi
    UID Studi (0020000D) 2.25.70541616638819138568043293671559322355 1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
    UID serial (0020000E) 1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694 1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
    UID instance (00080018) 1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695 1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
  4. Dengan menggunakan nilai baru, ambil metadata untuk instance tersebut.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat penulisan data yang dide-identifikasi
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. ID ini sama dengan ID penyimpanan DICOM dalam set data sumber.

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata"

    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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata" | 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 berisi metadata baru. Anda dapat membandingkan metadata baru dengan metadata asli untuk melihat efek transformasi.

Memecahkan masalah operasi de-identifikasi DICOM

Jika terjadi error selama operasi de-identifikasi DICOM, error tersebut akan dicatat ke dalam log ke Cloud Logging. Untuk mengetahui informasi lebih lanjut, baca bagian Melihat log error di Cloud Logging.

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