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 di 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 gunakan DicomTagConfig.

Jika Anda sudah menggunakan DicomConfig untuk operasi penghapusan identitas, sebaiknya migrasikan ke penggunaan DicomTagConfig. Untuk ringkasan fitur baru, lihat Opsi konfigurasi baru di DicomTagConfig. Untuk mengetahui petunjuk 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 mengaktifkan de-identifikasi kontekstual teks metadata tidak terstruktur. Opsi ini didasarkan pada Opsi Deskripsi Bersih. Saat Anda menentukan DicomTagConfig.Options.CleanDescriptorsOption, infoType tambahan akan digunakan selama pemeriksaan yang dapat memengaruhi biaya penagihan.

Menggunakan 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 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, yang berisi kata Wall, teks tersebut akan diubah.

Opsi CleanDescriptorsOption menyamarkan frasa kontekstual yang cocok dengan tag apa pun 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 mana yang 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 Deskripsi Bersih. 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 sisipan yang cocok dengan tag apa pun yang ditandai untuk dihapus di Profil Dasar DICOM selama tag cocok dengan salah satu kode tindakan berikut:

  • D
  • Z
  • X
  • U

Tidak ada konfigurasi tambahan untuk de-identifikasi kontekstual teks yang di-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 mana yang akan digunakan selama de-identifikasi gambar DICOM:

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

Memigrasikan permintaan dan respons untuk menggunakan DicomTagConfig

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

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

TagFilterProfile ke ProfileType

Ganti objek DicomConfig TagFilterProfile 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 menjadi menggunakan Action.keepTag. Permintaan menentukan bahwa nilai tag PatientID disimpan selama operasi penghapusan identitas.

DicomConfigDicomTagConfig
"config": {
  "dicom": {
    "keepList": {
      "tags": [
        "PatientID"
      ]
    }
  }
}
"config": {
  "dicomTagConfig": {
    "actions": [
      {
        "queries": [
          "PatientID"
        ],
        "keepTag": {}
      }
    ]
  }
}

Menggabungkan daftar yang dipertahankan, daftar yang dihapus, dan profil

Di objek DicomConfig, Anda dapat menentukan apakah akan menyimpan atau menghapus data berdasarkan daftar simpan, daftar hapus, dan profil. Opsi ini saling eksklusif.

Saat menggunakan objek DicomTagConfig, Anda dapat menggabungkan opsi ini dengan menentukan tag yang akan disimpan 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 yang diberikan dalam permintaan.

skipIdRedaction ke Objects.primaryIds

Ganti kolom skipIdRedaction di objek DicomConfig dengan kolom primaryIds di objek DicomTagConfig. Kolom primaryIds, yang berada dalam 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. Default-nya adalah opsi yang ditentukan di ProfileType.
  • KEEP: Jangan ubah ID utama.
  • REGEN: Buat ulang ID utama.

Contoh berikut menunjukkan cara memigrasikan permintaan dari menggunakan skipIdRedaction menjadi menggunakan Options.primaryIds. Permintaan menentukan bahwa nilai ID utama disimpan selama operasi penghapusan identitas:

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 menjadi menggunakan ImageConfig di DeidentifyConfig.DicomTagConfig.Options.cleanImage. Permintaan 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 di tingkat set data, panggil metode datasets.deidentify. Metode datasets.deidentify memiliki komponen berikut:

  • Set data sumber: Set data yang berisi penyimpanan DICOM 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 dihapus identitasnya ditulis ke set data baru, yang disebut set data tujuan.
  • Hal yang harus dilakukan untuk de-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 di tingkat set data.

De-identifikasi tingkat penyimpanan DICOM

Melakukan de-identifikasi data DICOM di tingkat penyimpanan DICOM memungkinkan Anda memiliki kontrol yang lebih besar terhadap data yang dide-identifikasi. Misalnya, jika memiliki set data dengan beberapa penyimpanan DICOM, Anda dapat mende-identifikasi setiap penyimpanan DICOM sesuai dengan 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 di-de-identifikasi ditulis ke penyimpanan DICOM tujuan. Penyimpanan DICOM tujuan harus sudah ada.
  • Hal yang harus dilakukan untuk de-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 mengetahui 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 subkumpulan data di penyimpanan DICOM dengan mengonfigurasi file filter dan menentukan file dalam permintaan dicomStores.deidentify. Sebagai contoh, lihat Melakukan de-identifikasi subkumpulan penyimpanan DICOM.

Ringkasan sampel

Contoh dalam panduan ini menggunakan satu instance DICOM bernama dicom_deid_instance_sample.dcm, tetapi Anda juga dapat melakukan de-identifikasi beberapa instance. Untuk menggunakan instance DICOM contoh dalam contoh di halaman ini, download file ke komputer 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 sampel

Beberapa contoh di halaman ini berisi output gambar yang 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:

xray_original

Contoh metadata

Sebagian besar contoh di halaman ini berisi output metadata yang diubah di instance DICOM. Setiap sampel menggunakan metadata asli berikut sebagai inputnya. Anda dapat membandingkan metadata output dari setiap operasi penghapusan identitas ke metadata asli ini untuk melihat efek penghapusan identitas:

[
  {
    "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 infoType mana yang akan disertakan atau dikecualikan, dan cara menyamarkan teks menggunakan objek TextRedactionMode.

Menyunting semua teks

Contoh berikut menunjukkan cara menghapus identitas instance DICOM dengan menetapkan TextRedactionMode ke REDACT_ALL_TEXT. Konfigurasi ini menyamarkan semua teks sisipan dalam gambar.

REST

  1. Lakukan 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 data yang dide-identifikasi ditulis

    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
    Output-nya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan saat panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Perhatikan nilai OPERATION_ID. Anda memerlukan nilai ini di langkah berikutnya.

  2. Gunakan metode projects.locations.datasets.operations.get untuk mendapatkan status operasi yang berjalan lama.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

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

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

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang dide-identifikasi ditulis
    • 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 di 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 studi, UID seri, dan UID instance:
      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 Seri (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.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang dide-identifikasi ditulis
    • 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 di 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

    Output-nya berisi metadata baru. Anda dapat membandingkan metadata baru dengan metadata asli untuk melihat efek transformasi.

Setelah mende-identifikasi gambar menggunakan REDACT_ALL_TEXT, gambar akan terlihat seperti ini. Perhatikan bahwa semua teks yang di-burn-in di bagian bawah gambar telah disamarkan.

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

Menyunting teks sensitif dengan Opsi Deskripsi Bersih

Contoh berikut menunjukkan cara menghapus identitas instance DICOM dengan menetapkan TextRedactionMode ke REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS.

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

REST

  1. Lakukan 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 data yang dide-identifikasi ditulis

    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
    Output-nya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan saat panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Perhatikan nilai OPERATION_ID. Anda memerlukan nilai ini di langkah berikutnya.

  2. Gunakan metode projects.locations.datasets.operations.get untuk mendapatkan status operasi yang berjalan lama.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

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

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

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang dide-identifikasi ditulis
    • 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 di 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 studi, UID seri, dan UID instance:
      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 Seri (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.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang dide-identifikasi ditulis
    • 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 di 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

    Output-nya berisi metadata baru. Anda dapat membandingkan metadata baru dengan metadata asli untuk melihat efek transformasi.

Setelah mende-identifikasi gambar menggunakan REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS, gambar akan terlihat seperti ini. Perhatikan bahwa tidak semua teks yang di-burn-in di bagian bawah gambar telah disamarkan. Teks Female masih 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 DicomTagConfig Action:

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"
  • Representasi 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 dilakukan di dalamnya. Untuk menentukan tag yang berbeda yang memiliki opsi Action yang berbeda, Anda harus menentukan beberapa objek Action.

Mempertahankan tag

Anda dapat mencegah nilai tag 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 dalam 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 akan dibuat ulang, yang berarti nilai tersebut diganti dengan nilai yang berbeda melalui transformasi deterministik. Untuk mengetahui informasi selengkapnya, lihat Opsi Retain UIDs dalam standar DICOM.

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

Contoh berikut menunjukkan cara menggunakan objek KeepTag agar nilai tag tertentu tidak berubah selama penghapusan identitas. Tag PatientName ditambahkan dalam daftar queries[], sehingga nilai PatientName tidak disamarkan selama penghapusan identitas.

Karena PrimaryIdsOption tidak ditentukan dalam sampel, kolom primaryIds ditetapkan secara default ke PRIMARY_IDS_OPTION_UNSPECIFIED, yang ditetapkan secara default 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 (Edisi Standar DICOM 2018e).

REST

  1. Lakukan 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 data yang dide-identifikasi ditulis

    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
    Output-nya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan saat panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Perhatikan nilai OPERATION_ID. Anda memerlukan nilai ini di langkah berikutnya.

  2. Gunakan metode projects.locations.datasets.operations.get untuk mendapatkan status operasi yang berjalan lama.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

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

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

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang dide-identifikasi ditulis
    • 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 di 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 studi, UID seri, dan UID instance:
      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 Seri (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.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang dide-identifikasi ditulis
    • 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 di 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

    Output-nya 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 penghapusan identitas. Tag yang dihapus akan diganti dengan nilai kosong.

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

REST

  1. Lakukan 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 data yang dide-identifikasi ditulis

    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
    Output-nya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan saat panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Perhatikan nilai OPERATION_ID. Anda memerlukan nilai ini di langkah berikutnya.

  2. Gunakan metode projects.locations.datasets.operations.get untuk mendapatkan status operasi yang berjalan lama.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

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

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

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang dide-identifikasi ditulis
    • 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 di 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 studi, UID seri, dan UID instance:
      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 Seri (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.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang dide-identifikasi ditulis
    • 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 di 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

    Output-nya 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 penghapusan identitas.

REST

  1. Lakukan 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 data yang dide-identifikasi ditulis

    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
    Output-nya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan saat panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Perhatikan nilai OPERATION_ID. Anda memerlukan nilai ini di langkah berikutnya.

  2. Gunakan metode projects.locations.datasets.operations.get untuk mendapatkan status operasi yang berjalan lama.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

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

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

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang dide-identifikasi ditulis
    • 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 di 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 studi, UID seri, dan UID instance:
      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 Seri (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.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang dide-identifikasi ditulis
    • 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 di 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

    Output-nya 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. Lakukan 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 data yang dide-identifikasi ditulis

    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
    Output-nya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan saat panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Perhatikan nilai OPERATION_ID. Anda memerlukan nilai ini di langkah berikutnya.

  2. Gunakan metode projects.locations.datasets.operations.get untuk mendapatkan status operasi yang berjalan lama.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

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

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

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang dide-identifikasi ditulis
    • 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 di 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 studi, UID seri, dan UID instance:
      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 Seri (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.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang dide-identifikasi ditulis
    • 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 di 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

    Output-nya 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 di objek Actions:

  • Objek CleanTextTag.
  • Daftarqueries[] yang berisi tag DICOM PatientName.

Opsi berikut ditetapkan di objek TextConfig:

Dengan 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) PN, yang merupakan salah satu VR yang didukung dalam objek CleanTextTag.

REST

  1. Lakukan 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 data yang dide-identifikasi ditulis

    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
    Output-nya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan saat panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Perhatikan nilai OPERATION_ID. Anda memerlukan nilai ini di langkah berikutnya.

  2. Gunakan metode projects.locations.datasets.operations.get untuk mendapatkan status operasi yang berjalan lama.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

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

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

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang dide-identifikasi ditulis
    • 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 di 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 studi, UID seri, dan UID instance:
      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 Seri (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.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang dide-identifikasi ditulis
    • 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 di 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

    Output-nya 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 dibuat. Satu-satunya VR yang didukung objek RegenUidTag adalah UI.

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

  • ProfileType ditetapkan ke enum KEEP_ALL, yang mencegah metadata DICOM dide-identifikasi.

  • PrimaryIdsOption ditetapkan ke enum KEEP, yang membuat 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 dibuat. Namun, dengan menambahkan SOPInstanceUID ke array Action.queries[], Anda dapat membuat UID baru khusus untuk tag SOPInstanceUID.

REST

  1. Lakukan 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 data yang dide-identifikasi ditulis

    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
    Output-nya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan saat panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Perhatikan nilai OPERATION_ID. Anda memerlukan nilai ini di langkah berikutnya.

  2. Gunakan metode projects.locations.datasets.operations.get untuk mendapatkan status operasi yang berjalan lama.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

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

  3. Setelah de-identifikasi berhasil, Anda dapat mengambil metadata untuk instance yang dide-identifikasi untuk melihat perubahannya. Instance yang dide-identifikasi memiliki UID instance baru karena Anda menentukan tag SOPInstanceUID dalam array Action.queries[], sehingga Anda harus menelusuri set data baru terlebih dahulu untuk menemukan 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 data yang dide-identifikasi ditulis
    • 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 di 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.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang dide-identifikasi ditulis
    • 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 di 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

    Output-nya 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 dibuat.

Mende-identifikasi tag secara rekursif dalam 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.

Contoh instance 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 dalam Membuat instance DICOM dari metadata JSON dan file JPEG. Instance DICOM yang Anda buat dalam langkah-langkah berikut menggunakan data palsu, dan hanya dimaksudkan untuk mengilustrasikan perilakuRecurseTag.

  1. Simpan metadata DICOM berikut ke file JSON 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 gambar pembuka (untuk metadata JSON), 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 menghapus identitas instance DICOM yang Anda simpan.

REST

  1. Lakukan 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 data yang dide-identifikasi ditulis

    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
    Output-nya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan saat panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Perhatikan nilai OPERATION_ID. Anda memerlukan nilai ini di langkah berikutnya.

  2. Gunakan metode projects.locations.datasets.operations.get untuk mendapatkan status operasi yang berjalan lama.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

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

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

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang dide-identifikasi ditulis
    • 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 di 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 studi, UID seri, dan UID instance:

    Metadata instance asli Metadata instance yang dide-identifikasi
    UID Studi (0020000D) 3333333 1.3.6.1.4.1.11129.5.1.222168347996079463826250565085126257314
    UID Seri (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.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang dide-identifikasi ditulis
    • 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 di 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

    Output-nya 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 di tingkat penyimpanan DICOM

Contoh sebelumnya menunjukkan cara melakukan de-identifikasi data DICOM di 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 di 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 penyimpanan 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 penyimpanan 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 sampel, ID penyimpanan DICOM tujuan harus sudah ada.

REST

  1. Lakukan 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 data yang dide-identifikasi ditulis. 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
    Output-nya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan saat panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Perhatikan nilai OPERATION_ID. Anda memerlukan nilai ini di langkah berikutnya.

  2. Gunakan metode projects.locations.datasets.operations.get untuk mendapatkan status operasi yang berjalan lama.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

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

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

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang dide-identifikasi ditulis
    • 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 di 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 studi, UID seri, dan UID instance:
      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 Seri (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.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang dide-identifikasi ditulis
    • 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 di 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

    Output-nya 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 sebagian data di penyimpanan DICOM dengan menentukan filter.

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

Membuat file filter

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

  • Di tingkat studi
  • Di tingkat seri
  • Di tingkat instance

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

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

Hanya bagian /studies/STUDY_UID dari jalur yang diperlukan. Artinya, Anda dapat menghapus identifikasi studi dengan menentukan /studies/STUDY_UID, atau Anda dapat menghapus identifikasi serial 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 terlebih dahulu mengekspor metadata dari penyimpanan DICOM ke BigQuery. Tindakan ini memungkinkan Anda menggunakan BigQuery untuk melihat UID studi, rangkaian, dan instance data DICOM di penyimpanan DICOM. Kemudian, Anda dapat melakukan hal berikut:

  1. Buat kueri untuk UID studi, serial, dan instance yang Anda minati. Misalnya, setelah mengekspor metadata ke BigQuery, Anda dapat menjalankan kueri berikut untuk menyambungkan UID studi, seri, 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 menampilkan kumpulan hasil yang besar, Anda dapat membuat tabel baru dengan menyimpan hasil kueri ke tabel tujuan di BigQuery.

  3. Setelah menyimpan hasil kueri ke tabel tujuan, Anda dapat menyimpan konten tabel tujuan ke file dan mengekspornya ke Cloud Storage. Untuk mengetahui langkah-langkah cara melakukannya, lihat Mengekspor data tabel. File yang diekspor adalah file filter 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 penghapusan identitas. Contoh berikut menunjukkan cara mengupload file filter ke bucket Cloud Storage menggunakan perintah gcloud storage cp:

gcloud storage cp PATH/TO/FILTER_FILE gs://BUCKET/DIRECTORY

Contoh:

gcloud storage 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 memperluas 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. Lakukan 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 data yang dide-identifikasi ditulis
    • 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
    Output-nya adalah sebagai berikut. Respons ini berisi ID untuk operasi yang berjalan lama. Operasi yang berjalan lama ditampilkan saat panggilan metode mungkin memerlukan waktu yang cukup lama untuk diselesaikan. Perhatikan nilai OPERATION_ID. Anda memerlukan nilai ini pada langkah berikutnya.

  2. Gunakan metode projects.locations.datasets.operations.get untuk mendapatkan status operasi yang berjalan lama.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

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

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

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang dide-identifikasi ditulis
    • 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 di 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 studi, UID seri, dan UID instance:
      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 Seri (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.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang dide-identifikasi ditulis
    • 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 di 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 API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

    Output-nya 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 Cloud Logging. Untuk mengetahui informasi selengkapnya, lihat artikel Melihat log error di Cloud Logging.

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