Melakukan de-identifikasi data DICOM menggunakan DicomTagConfig

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

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

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

Jika Anda sudah menggunakan DicomConfig untuk operasi penghilangan identitas, sebaiknya Anda bermigrasi 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 Deskriptor Bersih. Jika 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, dan dengan demikian meningkatkan kualitas anonimisasi. Misalnya, Anda melakukan de-identifikasi hasil rontgen, dan pasien yang menjalani rontgen 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 dalam Profil Dasar DICOM selama tag cocok dengan salah satu kode tindakan berikut:

  • D
  • Z
  • X
  • U

Frasa kontekstual yang cocok 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 penghapusan identitas kontekstual teks sisipan dalam gambar. Opsi ini didasarkan pada Opsi Deskriptor Bersih. Saat Anda menentukan enum TextRedactionMode.REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS, infoType tambahan 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 menyunting teks sisipan yang cocok dengan tag yang ditandai untuk dihapus dalam Profil Dasar DICOM selama tag tersebut cocok dengan salah satu kode tindakan berikut:

  • D
  • Z
  • X
  • U

Tidak ada konfigurasi tambahan untuk penghilangan identitas kontekstual pada teks yang disematkan selain mengaktifkan atau menonaktifkannya menggunakan enum di objek ProfileType. Tidak perlu menentukan enum.

InfoType tambahan dalam de-identifikasi gambar

Anda dapat menggunakan jenis informasi (infoType) 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 infoType 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 sekaligus.

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 penggunaan TagFilterProfile ke penggunaan 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 Anda 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 memberikan opsi tambahan untuk mengubah tag.

Contoh berikut menunjukkan cara memigrasikan permintaan dari penggunaan keepList ke penggunaan Action.keepTag. Permintaan menentukan bahwa nilai tag PatientID dipertahankan selama operasi penghapusan identitas.

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

Menggabungkan daftar simpan, daftar hapus, dan profil

Dalam 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 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 dalam objek DicomConfig dengan kolom primaryIds dalam objek DicomTagConfig. Kolom primaryIds, yang ada di objek Options, berisi objek PrimaryIdsOption tempat Anda menentukan salah satu enum berikut:

  • PRIMARY_IDS_OPTION_UNSPECIFIED: Perilaku default jika tidak ada nilai yang diberikan ke PrimaryIdsOption. Default-nya adalah opsi yang ditentukan dalam ProfileType.
  • KEEP: Biarkan ID utama tidak berubah.
  • REGEN: Buat ulang ID utama.

Contoh berikut menunjukkan cara memigrasikan permintaan dari penggunaan skipIdRedaction ke penggunaan Options.primaryIds. Permintaan menentukan bahwa nilai ID utama dipertahankan 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 penggunaan ImageConfig di DeidentifyConfig.image ke penggunaan ImageConfig di DeidentifyConfig.DicomTagConfig.Options.cleanImage. Permintaan menentukan bahwa semua teks dalam gambar harus 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 di-de-identifikasi.
  • Set data tujuan: De-identifikasi tidak memengaruhi set data asli atau datanya. Sebagai gantinya, salinan data asli yang tidak dapat diidentifikasi 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 lebih besar atas data mana yang akan di-de-identifikasi. Misalnya, jika Anda memiliki set data dengan beberapa penyimpanan DICOM, Anda dapat melakukan de-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 di-de-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. Tujuan penyimpanan DICOM 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 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 subset data di penyimpanan DICOM dengan mengonfigurasi file filter dan menentukan file dalam permintaan dicomStores.deidentify. Sebagai contoh, lihat Menghilangkan identitas subset penyimpanan DICOM.

Ringkasan contoh

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 mesin lokal Anda dan ikuti petunjuk di Menyimpan data DICOM untuk menyimpannya di penyimpanan DICOM.

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

Contoh gambar

Beberapa contoh di halaman ini berisi output gambar yang tidak diidentifikasi. Setiap sampel menggunakan gambar asli berikut sebagai inputnya. Anda dapat membandingkan gambar output dari setiap operasi penghapusan identitas dengan gambar asli ini untuk melihat efek operasi:

xray_original

Contoh metadata

Sebagian besar contoh di halaman ini berisi output metadata yang diubah dalam instance DICOM. Setiap sampel menggunakan metadata asli berikut sebagai inputnya. Anda dapat membandingkan metadata output dari setiap operasi penghapusan identitas dengan 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 menyamarkan teks sisipan dalam gambar DICOM menggunakan objek ImageConfig di dalam objek Action. Di dalam ImageConfig, Anda dapat menentukan infoType yang akan disertakan atau dikecualikan, dan cara menyamarkan teks menggunakan objek TextRedactionMode.

Menyunting semua teks

Contoh berikut menunjukkan cara menghilangkan identitas instance DICOM dengan menyetel 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 Google Cloud project Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi 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. Catat 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 Google Cloud project Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • OPERATION_ID: ID yang ditampilkan dari operasi yang berjalan lama

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID"

    PowerShell

    Jalankan perintah berikut:

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

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content

    APIs Explorer

    Buka halaman referensi metode. Panel APIs Explorer 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, berarti operasi yang berjalan lama telah selesai.

  3. Setelah proses penghapusan identitas berhasil, Anda dapat mengambil metadata untuk instance yang identitasnya dihapus untuk melihat perubahannya. Instance yang di-de-identifikasi memiliki UID studi, UID rangkaian, dan UID instance baru, jadi Anda harus menelusuri instance yang di-de-identifikasi di set data baru terlebih dahulu.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 deret, 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 Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 APIs 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 gambar di-de-identifikasi menggunakan REDACT_ALL_TEXT, gambar akan terlihat seperti ini. Perhatikan bahwa semua teks permanen di bagian bawah gambar telah disamarkan.

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

Menyunting teks sensitif dengan Opsi Deskriptor Bersih

Contoh berikut menunjukkan cara menghilangkan identitas instance DICOM dengan menyetel TextRedactionMode ke REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS.

Untuk mengetahui informasi selengkapnya tentang opsi CleanDescriptorsOption, lihat Menghilangkan identitas teks dengan penghilangan identitas kontekstual.

REST

  1. Lakukan de-identifikasi set data.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi 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. Catat 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 Google Cloud project Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • OPERATION_ID: ID yang ditampilkan dari operasi yang berjalan lama

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID"

    PowerShell

    Jalankan perintah berikut:

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

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content

    APIs Explorer

    Buka halaman referensi metode. Panel APIs Explorer 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, berarti operasi yang berjalan lama telah selesai.

  3. Setelah proses penghapusan identitas berhasil, Anda dapat mengambil metadata untuk instance yang identitasnya dihapus untuk melihat perubahannya. Instance yang di-de-identifikasi memiliki UID studi, UID rangkaian, dan UID instance baru, jadi Anda harus menelusuri instance yang di-de-identifikasi di set data baru terlebih dahulu.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 deret, 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 Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 APIs 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 gambar di-de-identifikasi menggunakan REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS, gambar akan terlihat seperti ini. Perhatikan bahwa tidak semua teks yang terbakar di bagian bawah gambar telah disamarkan. Teks Female masih ditampilkan, karena PatientSex (0010,0040) bukan salah satu infoType 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 DICOM, nama, atau Representasi Nilai (VR), lalu opsi tersebut 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 padanya. Untuk menentukan berbagai tag yang memiliki opsi Action berbeda yang dilakukan padanya, 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 dipertahankan, sehingga memastikan bahwa instance DICOM yang telah di-de-identifikasi adalah DICOM yang valid:

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

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

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

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

Karena PrimaryIdsOption tidak ditentukan dalam sampel, kolom primaryIds secara default adalah PRIMARY_IDS_OPTION_UNSPECIFIED, yang secara default adalah nilai di ProfileType. Karena ProfileType juga tidak ditentukan, kolom profileType secara default ditetapkan 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 Google Cloud project Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi 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. Catat 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 Google Cloud project Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • OPERATION_ID: ID yang ditampilkan dari operasi yang berjalan lama

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID"

    PowerShell

    Jalankan perintah berikut:

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

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content

    APIs Explorer

    Buka halaman referensi metode. Panel APIs Explorer 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, berarti operasi yang berjalan lama telah selesai.

  3. Setelah proses penghapusan identitas berhasil, Anda dapat mengambil metadata untuk instance yang identitasnya dihapus untuk melihat perubahannya. Instance yang di-de-identifikasi memiliki UID studi, UID rangkaian, dan UID instance baru, jadi Anda harus menelusuri instance yang di-de-identifikasi di set data baru terlebih dahulu.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 deret, 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 Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 APIs 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 proses 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 proses penghapusan identitas.

REST

  1. Lakukan de-identifikasi set data.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi 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. Catat 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 Google Cloud project Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • OPERATION_ID: ID yang ditampilkan dari operasi yang berjalan lama

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID"

    PowerShell

    Jalankan perintah berikut:

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

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content

    APIs Explorer

    Buka halaman referensi metode. Panel APIs Explorer 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, berarti operasi yang berjalan lama telah selesai.

  3. Setelah proses penghapusan identitas berhasil, Anda dapat mengambil metadata untuk instance yang identitasnya dihapus untuk melihat perubahannya. Instance yang di-de-identifikasi memiliki UID studi, UID rangkaian, dan UID instance baru, jadi Anda harus menelusuri instance yang di-de-identifikasi di set data baru terlebih dahulu.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 deret, 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 Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 APIs 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 proses penghapusan identitas.

REST

  1. Lakukan de-identifikasi set data.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi 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. Catat 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 Google Cloud project Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • OPERATION_ID: ID yang ditampilkan dari operasi yang berjalan lama

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID"

    PowerShell

    Jalankan perintah berikut:

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

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content

    APIs Explorer

    Buka halaman referensi metode. Panel APIs Explorer 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, berarti operasi yang berjalan lama telah selesai.

  3. Setelah proses penghapusan identitas berhasil, Anda dapat mengambil metadata untuk instance yang identitasnya dihapus untuk melihat perubahannya. Instance yang di-de-identifikasi memiliki UID studi, UID rangkaian, dan UID instance baru, jadi Anda harus menelusuri instance yang di-de-identifikasi di set data baru terlebih dahulu.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 deret, 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 Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 APIs 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 proses penghapusan identitas.

REST

  1. Lakukan de-identifikasi set data.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi 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. Catat 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 Google Cloud project Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • OPERATION_ID: ID yang ditampilkan dari operasi yang berjalan lama

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID"

    PowerShell

    Jalankan perintah berikut:

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

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content

    APIs Explorer

    Buka halaman referensi metode. Panel APIs Explorer 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, berarti operasi yang berjalan lama telah selesai.

  3. Setelah proses penghapusan identitas berhasil, Anda dapat mengambil metadata untuk instance yang identitasnya dihapus untuk melihat perubahannya. Instance yang di-de-identifikasi memiliki UID studi, UID rangkaian, dan UID instance baru, jadi Anda harus menelusuri instance yang di-de-identifikasi di set data baru terlebih dahulu.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 deret, 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 Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 APIs 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 disetel ke PLACEHOLDER:

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

Memeriksa dan mengubah teks sensitif dalam tag

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

Dalam contoh ini, opsi berikut ditetapkan dalam objek Actions:

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

Opsi berikut ditetapkan dalam objek TextConfig:

Dengan konfigurasi ini yang ditetapkan, operasi penghapusan identitas 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 Google Cloud project Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi 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. Catat 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 Google Cloud project Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • OPERATION_ID: ID yang ditampilkan dari operasi yang berjalan lama

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID"

    PowerShell

    Jalankan perintah berikut:

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

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content

    APIs Explorer

    Buka halaman referensi metode. Panel APIs Explorer 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, berarti operasi yang berjalan lama telah selesai.

  3. Setelah proses penghapusan identitas berhasil, Anda dapat mengambil metadata untuk instance yang identitasnya dihapus untuk melihat perubahannya. Instance yang di-de-identifikasi memiliki UID studi, UID rangkaian, dan UID instance baru, jadi Anda harus menelusuri instance yang di-de-identifikasi di set data baru terlebih dahulu.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 deret, 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 Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 APIs 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 disetel 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 sampel dengan VR UI memiliki UID yang dibuat selama proses penghapusan identitas. Untuk menunjukkan cara membuat UID untuk tag tertentu, opsi berikut ditetapkan dalam contoh:

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

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

Jika opsi ini disetel, tidak ada UID ID utama dalam data contoh 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 Google Cloud project Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi 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. Catat 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 Google Cloud project Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • OPERATION_ID: ID yang ditampilkan dari operasi yang berjalan lama

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID"

    PowerShell

    Jalankan perintah berikut:

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

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content

    APIs Explorer

    Buka halaman referensi metode. Panel APIs Explorer 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, berarti operasi yang berjalan lama telah selesai.

  3. Setelah proses penghapusan identitas berhasil, Anda dapat mengambil metadata untuk instance yang identitasnya dihapus untuk melihat perubahannya. Instance yang di-de-identifikasi memiliki UID instance baru karena Anda menentukan tag SOPInstanceUID dalam array Action.queries[], jadi Anda harus menelusuri set data baru untuk menemukan instance yang di-de-identifikasi terlebih dahulu.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 APIs 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.

Menghapus identitas tag secara rekursif dalam Sequence bertingkat

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

Untuk mengetahui informasi tentang VR SQ, lihat 7.5 Penyesuaian 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 di Membuat instance DICOM dari metadata JSON dan file JPEG. Instance DICOM yang Anda buat pada langkah-langkah berikut menggunakan data palsu, dan hanya dimaksudkan untuk 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. DICOMweb API Cloud Healthcare API menerima gambar JPEG apa pun yang dipasangkan dengan metadata JSON selama metadata tersebut valid.

  3. Jalankan perintah berikut untuk membuat pembuka (untuk metadata JSON), gambar tengah (untuk JPEG), dan 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. Bungkus gambar google.jpg di 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 Google Cloud project Anda
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • 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 menganonimkan instance DICOM yang Anda simpan.

REST

  1. Lakukan de-identifikasi set data.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi 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. Catat 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 Google Cloud project Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • OPERATION_ID: ID yang ditampilkan dari operasi yang berjalan lama

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID"

    PowerShell

    Jalankan perintah berikut:

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

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content

    APIs Explorer

    Buka halaman referensi metode. Panel APIs Explorer 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, berarti operasi yang berjalan lama telah selesai.

  3. Setelah proses penghapusan identitas berhasil, Anda dapat mengambil metadata untuk instance yang identitasnya dihapus untuk melihat perubahannya. Instance yang di-de-identifikasi memiliki UID studi, UID rangkaian, dan UID instance baru, jadi Anda harus menelusuri instance yang di-de-identifikasi di set data baru terlebih dahulu.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 deret, 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 Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 APIs 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 bertumpuk 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 dalam destinationStore saat menentukan tujuan
  • Tambahkan 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 telah di-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 Google Cloud project Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang di-de-identifikasi ditulis. Harus sudah ada sebelum menjalankan operasi de-identifikasi.
    • DESTINATION_DICOM_STORE_ID: DICOM store 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. Catat 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 Google Cloud project Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • OPERATION_ID: ID yang ditampilkan dari operasi yang berjalan lama

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID"

    PowerShell

    Jalankan perintah berikut:

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

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content

    APIs Explorer

    Buka halaman referensi metode. Panel APIs Explorer 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, berarti operasi yang berjalan lama telah selesai.

  3. Setelah proses penghapusan identitas berhasil, Anda dapat mengambil metadata untuk instance yang identitasnya dihapus untuk melihat perubahannya. Instance yang di-de-identifikasi memiliki UID studi, UID rangkaian, dan UID instance baru, jadi Anda harus menelusuri instance yang di-de-identifikasi di set data baru terlebih dahulu.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 deret, 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 Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 APIs 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 dalam penyimpanan DICOM dengan menentukan filter.

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

Membuat file filter

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

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

File filter terdiri dari satu baris per studi, deret, atau instance yang ingin Anda anonimkan. 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 dide-identifikasi dan tidak akan ada di penyimpanan DICOM tujuan.

Hanya bagian /studies/STUDY_UID dari jalur yang diperlukan. Artinya, Anda dapat menyamarkan studi dengan menentukan /studies/STUDY_UID, atau Anda dapat menyamarkan seri dengan menentukan /studies/STUDY_UID/series/SERIES_UID.

Pertimbangkan file filter berikut. File filter menyebabkan satu studi, dua deret, dan tiga instance individual dianonimkan:

/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

Biasanya, Anda membuat file filter dengan terlebih dahulu mengekspor metadata dari penyimpanan DICOM ke BigQuery. Dengan begitu, Anda dapat menggunakan BigQuery untuk melihat UID studi, rangkaian, dan instance data DICOM di penyimpanan DICOM Anda. Kemudian, Anda dapat melakukan hal berikut:

  1. Kueri untuk UID studi, serial, dan instance yang Anda minati. Misalnya, setelah mengekspor metadata ke BigQuery, Anda dapat menjalankan kueri berikut untuk menggabungkan UID studi, deret, 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 mewujudkan tabel baru dengan menyimpan hasil kueri ke tabel tujuan di BigQuery.

  3. Setelah menyimpan hasil kueri ke tabel tujuan, Anda dapat menyimpan isi tabel tujuan ke file dan mengekspornya ke Cloud Storage. Untuk 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 dalam objek filterConfig.

Contoh berikut memperluas De-identifikasi data di tingkat penyimpanan DICOM, tetapi file filter di Cloud Storage disediakan untuk menentukan resource DICOM mana yang akan di-de-identifikasi.

REST

  1. Lakukan de-identifikasi set data.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • LOCATION: lokasi set data
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DICOM_STORE_ID: ID penyimpanan DICOM yang berisi data yang akan di-de-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 berisi ID untuk operasi yang berjalan lama. Operasi yang berjalan lama ditampilkan saat panggilan metode mungkin memerlukan waktu yang cukup lama untuk diselesaikan. Catat 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 Google Cloud project Anda
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • SOURCE_DATASET_ID: ID set data yang berisi data yang akan dianonimkan
    • OPERATION_ID: ID yang ditampilkan dari operasi yang berjalan lama

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Jalankan perintah berikut:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID"

    PowerShell

    Jalankan perintah berikut:

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

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content

    APIs Explorer

    Buka halaman referensi metode. Panel APIs Explorer 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, berarti operasi yang berjalan lama telah selesai.

  3. Setelah proses penghapusan identitas berhasil, Anda dapat mengambil metadata untuk instance yang identitasnya dihapus untuk melihat perubahannya. Instance yang di-de-identifikasi memiliki UID studi, UID rangkaian, dan UID instance baru, jadi Anda harus menelusuri instance yang di-de-identifikasi di set data baru terlebih dahulu.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 deret, 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 Google Cloud project Anda
    • DESTINATION_DATASET_ID: ID set data tujuan tempat data yang tidak diidentifikasi ditulis
    • SOURCE_DATASET_LOCATION: lokasi set data sumber
    • DESTINATION_DICOM_STORE_ID: ID penyimpanan DICOM di set data tujuan. 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 APIs 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.