本页面介绍了如何使用 Cloud Healthcare API 中的 v1beta1 DicomTagConfig
配置在以下级层对 DICOM 实例中的敏感数据进行去标识化:
- 在数据集级层,使用
datasets.deidentify
- 在 DICOM 存储区级层,使用
dicomStores.deidentify
本页面还介绍了在 DICOM 存储区级层对数据进行去标识化时如何应用过滤条件。
您可以使用旧版 v1 DicomConfig
对象或 v1beta1 DicomTagConfig
对象来配置 DICOM 去标识化操作。我们强烈建议您使用 DicomTagConfig
。
如果您已使用 DicomConfig
执行去标识化操作,我们建议您迁移到使用 DicomTagConfig
。如需查看新功能摘要,请参阅 DicomTagConfig
中的新配置选项。
如需了解迁移说明,请参阅迁移请求和响应以使用 DicomTagConfig
。
DicomTagConfig
中的新配置选项
使用情境去标识化功能对文本进行去标识化
您可以配置 DicomTagConfig.Options.CleanDescriptorsOption
对象,以启用非结构化元数据文本的上下文去标识化。此选项基于干净的描述符选项。
指定 DicomTagConfig.Options.CleanDescriptorsOption
时,检查期间会使用额外的 infoType,这可能会影响结算费用。
使用 DicomTagConfig.Options.CleanDescriptorsOption
选项可转换与已移除标记匹配的任何非结构化元数据文本,从而提高去标识化质量。例如,假设您要对一张 X 射线照片进行去标识化,而该 X 射线照片的患者的姓氏也是一个名词,例如 Wall
。如果实例中的任何元数据(例如 StudyDescription
中的文本)包含字词 Wall
,则该文本将被转换。
CleanDescriptorsOption
选项会对与 DICOM 基本配置文件中标记为要移除的任何标记匹配的上下文短语进行遮盖,前提是这些标记与以下任一操作代码匹配:
D
Z
X
U
匹配的内容相关短语会被替换为令牌 [CTX]
。
您可以通过指定以下内容来配置要遮盖哪些标记:
ProfileType
对象中的枚举。无需指定枚举。CleanTextTag
过滤到特定标记。
不过,DICOM 基本配置文件中使用的标记无法更改。
使用上下文去标识化功能隐去内置文本
您可以指定 TextRedactionMode.REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS
枚举,以启用对图片中烧屏文字的上下文去标识化。
此选项基于干净的描述符选项。
指定 TextRedactionMode.REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS
枚举时,检查期间会使用额外的 infoType,这可能会影响结算费用。
您可以通过以下方式指定 TextRedactionMode.REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS
枚举:
在具有
DicomTagConfig.Options.ImageConfig.TextRedactionMode
的Options.ImageConfig
对象中。 指定此选项后,系统会自动将PixelData (7FE0,0010)
标记添加到要进行编辑的标记列表中。在具有
DicomTagConfig.Action.CleanImageTag.TextRedactionMode
的Action.CleanImageTag
对象中。 指定此选项时,您必须手动将PixelData
标记添加到Action.queries[]
数组。使用Action.CleanImageTag
时,唯一受支持的代码是PixelData
代码。
TextRedactionMode.REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS
选项会遮盖与 DICOM 基本配置文件中标记为要移除的任何标记相匹配的烧屏文本,前提是这些标记与以下任一操作代码相匹配:
D
Z
X
U
除了使用 ProfileType
对象中的枚举启用或停用上下文相关内置文字去标识化之外,无需进行其他配置。无需指定枚举。
图片去标识化中的其他 infoType
您可以使用信息类型 (infoType) 来指定在对标记执行去标识化操作时要扫描的数据。infoType 是一种敏感数据类型,例如患者姓名、电子邮件地址、电话号码、身份证号码和信用卡号等等。
您可以在 DicomTagConfig.Options.ImageConfig
对象中配置以下字段,以确定在 DICOM 图像去标识化期间使用哪些 infoType:
仅当 DicomTagConfig.Options.ImageConfig.TextRedactionMode
设置为以下值之一时,这些字段才会生效:
迁移请求和响应以使用 DicomTagConfig
您可以使用 DicomTagConfig
配置 DICOM 去标识化,该方法可在 Cloud Healthcare API v1beta1 中使用,是使用旧版 DicomConfig
的替代方法。
发送请求时,您不能同时包含 DicomConfig
和 DicomTagConfig
。
以下部分介绍了 DicomConfig
中的配置以及如何将其迁移到 DicomTagConfig
。
TagFilterProfile
至 ProfileType
将 DicomConfig
TagFilterProfile
对象替换为 DicomTagConfig
ProfileType
对象。TagFilterProfileType
中的这四种配置文件同样适用于 ProfileType
。
以下示例展示了如何将请求从使用 TagFilterProfile
迁移到使用 ProfileType
:
DicomConfig | DicomTagConfig |
---|---|
|
|
“keepList
”和“removeList
”
DicomConfig
keepList
和 removeList
字段在 DicomTagConfig
中不再可用。如果您之前使用 keepList
和 removeList
指定要保留或移除的标记,而不是使用配置文件,则必须迁移到新的 Action
对象,并在其中指定标记行为。Action
对象提供用于转换标记的其他选项。
以下示例展示了如何将请求从使用 keepList
迁移到使用 Action.keepTag
。请求指定在去标识化操作期间保留 PatientID
标记的值。
DicomConfig | DicomTagConfig |
---|---|
|
|
合并保留列表、移除列表和个人资料
在 DicomConfig
对象中,您可以根据保留列表、移除列表和配置文件来确定是保留还是移除数据。这些选项是互斥的。
使用 DicomTagConfig
对象时,您可以通过以下方式组合使用这些选项:在 Action
对象中指定要保留和移除的标记,同时在 ProfileType
中指定配置文件。
在 Action
对象中配置的选项会替换在 ProfileType
配置文件中配置的选项。Action
对象中的选项按其在请求中提供的顺序应用。
skipIdRedaction
至 Objects.primaryIds
将 DicomConfig
对象中的 skipIdRedaction
字段替换为 DicomTagConfig
对象中的 primaryIds
字段。Options
对象中的 primaryIds
字段包含一个 PrimaryIdsOption
对象,您可以在其中指定以下枚举之一:
PRIMARY_IDS_OPTION_UNSPECIFIED
:未向PrimaryIdsOption
提供值时的默认行为。默认为ProfileType
中指定的选项。KEEP
:保持主 ID 不变。REGEN
:重新生成主 ID。
以下示例展示了如何将请求从使用 skipIdRedaction
迁移到使用 Options.primaryIds
。该请求指定在去标识化操作期间保留主 ID 的值:
DicomConfig | DicomTagConfig |
---|---|
|
|
DeidentifyConfig.ImageConfig
至 DicomTagConfig.Options.ImageConfig
将 DeidentifyConfig.ImageConfig
对象替换为 DicomTagConfig.Options.ImageConfig
对象。
ImageConfig
对象中的选项在两个版本中是相同的。
以下示例展示了如何将请求从使用 DeidentifyConfig.image
中的 ImageConfig
迁移到使用 DeidentifyConfig.DicomTagConfig.Options.cleanImage
中的 ImageConfig
。该请求指定在去标识化操作期间,图片中的所有文本都将被隐去:
DeidentifyConfig.image | DeidentifyConfig.DicomTagConfig.Options.cleanImage |
---|---|
|
|
去标识化概览
数据集级别去标识化
如需在数据集级层对 DICOM 数据进行去标识化,请调用 datasets.deidentify
方法。datasets.deidentify
方法包含以下组件:
- 源数据集:包含 DICOM 存储区的数据集,DICOM 存储区具有一个或多个包含敏感数据的实例。调用
datasets.deidentify
方法时,会对数据集中所有 DICOM 存储区中的所有实例进行去标识化。 - 目标数据集:去标识化不会影响原始数据集或其数据。相反,已经去标识化的原始数据副本将会写入到称为目标数据集的新数据集。
- 要进行去标识化的内容:用于指定如何处理数据集中的 DICOM 数据的配置参数。您可以在
DeidentifyConfig
对象中指定以下参数,以配置 DICOM 去标识化,从而对 DICOM 实例元数据(使用标记关键字)或 DICOM 图片中的烧屏文字进行去标识化。
本指南中的大部分示例展示了如何在数据集级层对 DICOM 数据进行去标识化。
DICOM 存储区级层去标识化
通过在 DICOM 存储区级层对 DICOM 数据进行去标识化,您可以更好地控制要对哪些数据进行去标识化。例如,如果您有一个包含多个 DICOM 存储区的数据集,则可以根据存储区中存在的数据类型对每个 DICOM 存储区进行去标识化。
要对 DICOM 存储区中的 DICOM 数据进行去标识化,请调用 dicomStores.deidentify
方法。dicomStores.deidentify
方法包含以下组件:
- 来源 DICOM 存储区:包含一个或多个实例(具有敏感数据)的 DICOM 存储区。当您调用
dicomStores.deidentify
操作时,DICOM 存储区中的所有实例都会进行去标识化。 - 目标 DICOM 存储区:去标识化不会影响原始 DICOM 存储区或其数据。相反,已经去标识化的原始数据副本将会写入到目标 DICOM 存储区。目标 DICOM 存储区必须已存在。
- 要进行去标识化的内容:用于指定如何处理 DICOM 存储区的配置参数。您可以在
DeidentifyConfig
对象中指定这些参数,以配置 DICOM 去标识化,从而对 DICOM 实例元数据(使用标记关键字)或 DICOM 图片中的烧屏文字进行去标识化。
如需查看示例以了解如何在 DICOM 存储区级层对 DICOM 数据进行去标识化,请参阅在 DICOM 存储区级层对数据进行去标识化。
过滤条件
在 DICOM 存储区级层对 DICOM 数据进行去标识化时,您可以通过配置过滤条件文件并在 dicomStores.deidentify
请求中指定该文件,对 DICOM 存储区中的一部分数据进行去标识化。如需查看示例,请参阅对 DICOM 存储区的一部分数据进行去标识化。
示例概览
本指南中的示例使用名为 dicom_deid_instance_sample.dcm
的单个 DICOM 实例,但您也可以对多个实例进行去标识化。如需使用本页示例中的示例 DICOM 实例,请将该文件下载到本地机器,然后按照存储 DICOM 数据中的说明将其存储到 DICOM 存储区中。
以下各部分展示了 DICOM 实例中的图片和元数据。
示例图片
本页面中的某些示例包含去标识化后的图片输出。每个示例都使用以下原始图片作为其输入。您可以将每个去标识化操作的输出图片与该原始图片进行比较,以查看该操作的效果:
元数据示例
本页面中的大多数示例都包含 DICOM 实例中已更改元数据的输出。每个示例都使用以下原始元数据作为其输入。您可以将每个去标识化操作的输出元数据与该原始元数据进行比较,以查看去标识化的效果:
[
{
"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"
]
}
}
]
隐去图片中的内置文本
您可以使用 Action
对象内的 ImageConfig
对象,对 DICOM 图片中的内置文本进行去标识化处理。在 ImageConfig
中,您可以指定要包含或排除哪些 infoType,以及如何使用 TextRedactionMode
对象遮盖文本。
遮盖所有文本
以下示例展示了如何通过将 TextRedactionMode
设置为 REDACT_ALL_TEXT
来对 DICOM 实例进行去标识化。此配置会隐去图片中的所有内置文本。
REST
对数据集进行去标识化处理。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
请求 JSON 正文:
{ "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "options": { "cleanImage": { "textRedactionMode": "REDACT_ALL_TEXT" } } } } }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为
request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件: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
然后,执行以下命令以发送 REST 请求:
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
将请求正文保存在名为
request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:@' { "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
然后,执行以下命令以发送 REST 请求:
$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 ContentOPERATION_ID
的值。您需要在下一步中使用此值。使用
projects.locations.datasets.operations.get
方法可获取长时间运行的操作的状态。在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- OPERATION_ID:从长时间运行的操作返回的 ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
"done": true
时,长时间运行的操作已完成。在去标识化操作成功后,您可以检索去标识化后的实例的元数据以查看其更改情况。去标识化后的实例将具有新的研究 UID、系列 UID 和实例 UID,因此您首先需要在新数据集中搜索去标识化的实例。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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您应该收到类似以下内容的 JSON 响应:
下表显示了研究 UID、系列 UID 和实例 UID 的变化情况:原始实例元数据 去标识化的实例元数据 研究 UID ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
系列 UID ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
实例 UID ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
使用新值检索实例的元数据。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
使用 REDACT_ALL_TEXT
对图片进行去标识化处理后,图片如下所示。请注意,图片底部的所有已烧屏文字均已被遮盖。

REDACT_ALL_TEXT
对 DICOM 实例进行去标识化后的结果。使用“清理描述符”选项遮盖敏感文本
以下示例展示了如何通过将 TextRedactionMode
设置为 REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS
来对 DICOM 实例进行去标识化。
如需详细了解 CleanDescriptorsOption
选项,请参阅使用上下文去标识化功能对文本进行去标识化。
REST
对数据集进行去标识化处理。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
请求 JSON 正文:
{ "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "options": { "cleanImage": { "textRedactionMode": "REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS" } } } } }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为
request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件: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
然后,执行以下命令以发送 REST 请求:
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
将请求正文保存在名为
request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:@' { "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
然后,执行以下命令以发送 REST 请求:
$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 ContentOPERATION_ID
的值。您需要在下一步中使用此值。使用
projects.locations.datasets.operations.get
方法可获取长时间运行的操作的状态。在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- OPERATION_ID:从长时间运行的操作返回的 ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
"done": true
时,长时间运行的操作已完成。在去标识化操作成功后,您可以检索去标识化后的实例的元数据以查看其更改情况。去标识化后的实例将具有新的研究 UID、系列 UID 和实例 UID,因此您首先需要在新数据集中搜索去标识化的实例。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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您应该收到类似以下内容的 JSON 响应:
下表显示了研究 UID、系列 UID 和实例 UID 的变化情况:原始实例元数据 去标识化的实例元数据 研究 UID ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
系列 UID ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
实例 UID ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
使用新值检索实例的元数据。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
使用 REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS
对图片进行去标识化处理后,图片如下所示。请注意,图片底部并非所有已烧屏文字都被遮盖。文本 Female
仍会显示,因为 PatientSex (0010,0040)
不属于默认 DICOM infoType。

REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS
对 DICOM 实例进行去标识化后的结果。对 DICOM 标记进行去标识化
您可以根据 DICOM 元数据中的标记关键字对 DICOM 实例进行去标识化。
以下标记过滤方法可在 DicomTagConfig
Action
对象中使用:
您可以将每个 Action
选项指定为 DICOM 标记 ID、名称或值表示 (VR) 的列表,然后该选项会对列表中的标记执行操作。您无法在代码列表中指定多个 Action
选项。
每个 Action
对象都提供一个 queries[]
列表,您可以在其中指定标记列表。支持以下标记格式:
- 代码 ID,例如
"00100010"
- 标记名称,例如
"PatientName"
- 值表示法 (VR),例如
"PN"
queries[]
列表中可提供的标记数量没有限制。不过,每个标记只能执行一个 Action
操作。
如需指定具有不同 Action
选项的不同标记,您必须指定多个 Action
对象。
保留代码
您可以在 DicomTagConfig
对象的 KeepTag
对象中指定标记,以防止标记的值被遮盖。
如需在使用 KeepTag
对象时生成有效的 DICOM 对象,请在 ProfileType
对象中指定 MINIMAL_KEEP_LIST_PROFILE
或 DEIDENTIFY_TAG_CONTENTS
值。
指定任一配置文件后,系统会自动保留以下标记,以确保去标识化的 DICOM 实例是有效的 DICOM:
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
上述某些标记的值是重新生成的,也就是说这些值将通过确定性转换替换为其他值。如需了解详情,请参阅 DICOM 标准中的保留 UID 选项。
StudyInstanceUID
、SeriesInstanceUID
、SOPInstanceUID
和 MediaStorageSOPInstanceUID
的值称为“主要 ID”。如需确定主 ID 的转换方式,请在 PrimaryIdsOption
中指定一个值。
以下示例展示了如何使用 KeepTag
对象在去标识化期间保持特定标记的值不变。PatientName
标记已添加到 queries[]
列表中,因此在去标识化期间,PatientName
值不会被遮盖。
由于示例中未指定 PrimaryIdsOption
,因此 primaryIds
字段默认为 PRIMARY_IDS_OPTION_UNSPECIFIED
,而 PRIMARY_IDS_OPTION_UNSPECIFIED
默认为 ProfileType
中的值。由于未指定 ProfileType
,因此 profileType
字段默认设置为 PROFILE_TYPE_UNSPECIFIED
,这会根据属性保密性基本配置文件 (DICOM 标准版本 2018e) 移除标记。
REST
对数据集进行去标识化处理。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
请求 JSON 正文:
{ "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "keepTag": {} } ] } } }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为
request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "keepTag": {} } ] } } } EOF
然后,执行以下命令以发送 REST 请求:
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
将请求正文保存在名为
request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:@' { "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
然后,执行以下命令以发送 REST 请求:
$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 ContentOPERATION_ID
的值。您需要在下一步中使用此值。使用
projects.locations.datasets.operations.get
方法可获取长时间运行的操作的状态。在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- OPERATION_ID:从长时间运行的操作返回的 ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
"done": true
时,长时间运行的操作已完成。在去标识化操作成功后,您可以检索去标识化后的实例的元数据以查看其更改情况。去标识化后的实例将具有新的研究 UID、系列 UID 和实例 UID,因此您首先需要在新数据集中搜索去标识化的实例。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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您应该收到类似以下内容的 JSON 响应:
下表显示了研究 UID、系列 UID 和实例 UID 的变化情况:原始实例元数据 去标识化的实例元数据 研究 UID ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
系列 UID ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
实例 UID ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
使用新值检索实例的元数据。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
移除标记
以下示例展示了如何使用 RemoveTag
对象在去标识化期间移除特定标记的值。移除的标记会被替换为空值。
在以下示例中,PatientName
标记已添加到 queries[]
列表中,因此在去标识化期间,其值会被替换为空值。
REST
对数据集进行去标识化处理。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
请求 JSON 正文:
{ "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "removeTag": {} } ] } } }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为
request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "removeTag": {} } ] } } } EOF
然后,执行以下命令以发送 REST 请求:
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
将请求正文保存在名为
request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:@' { "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
然后,执行以下命令以发送 REST 请求:
$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 ContentOPERATION_ID
的值。您需要在下一步中使用此值。使用
projects.locations.datasets.operations.get
方法可获取长时间运行的操作的状态。在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- OPERATION_ID:从长时间运行的操作返回的 ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
"done": true
时,长时间运行的操作已完成。在去标识化操作成功后,您可以检索去标识化后的实例的元数据以查看其更改情况。去标识化后的实例将具有新的研究 UID、系列 UID 和实例 UID,因此您首先需要在新数据集中搜索去标识化的实例。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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您应该收到类似以下内容的 JSON 响应:
下表显示了研究 UID、系列 UID 和实例 UID 的变化情况:原始实例元数据 去标识化的实例元数据 研究 UID ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
系列 UID ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
实例 UID ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
使用新值检索实例的元数据。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
删除标记
以下示例展示了如何使用 DeleteTag
对象在去标识化期间删除特定标记。
REST
对数据集进行去标识化处理。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
请求 JSON 正文:
{ "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "deleteTag": {} } ] } } }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为
request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "deleteTag": {} } ] } } } EOF
然后,执行以下命令以发送 REST 请求:
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
将请求正文保存在名为
request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:@' { "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
然后,执行以下命令以发送 REST 请求:
$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 ContentOPERATION_ID
的值。您需要在下一步中使用此值。使用
projects.locations.datasets.operations.get
方法可获取长时间运行的操作的状态。在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- OPERATION_ID:从长时间运行的操作返回的 ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
"done": true
时,长时间运行的操作已完成。在去标识化操作成功后,您可以检索去标识化后的实例的元数据以查看其更改情况。去标识化后的实例将具有新的研究 UID、系列 UID 和实例 UID,因此您首先需要在新数据集中搜索去标识化的实例。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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您应该收到类似以下内容的 JSON 响应:
下表显示了研究 UID、系列 UID 和实例 UID 的变化情况:原始实例元数据 去标识化的实例元数据 研究 UID ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
系列 UID ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
实例 UID ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
使用新值检索实例的元数据。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
将标记重置为占位值
以下示例展示了如何在去标识化期间使用 ResetTag
对象将标记的值设置为字符串 PLACEHOLDER
。
REST
对数据集进行去标识化处理。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
请求 JSON 正文:
{ "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "resetTag": {} } ] } } }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为
request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "resetTag": {} } ] } } } EOF
然后,执行以下命令以发送 REST 请求:
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
将请求正文保存在名为
request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:@' { "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
然后,执行以下命令以发送 REST 请求:
$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 ContentOPERATION_ID
的值。您需要在下一步中使用此值。使用
projects.locations.datasets.operations.get
方法可获取长时间运行的操作的状态。在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- OPERATION_ID:从长时间运行的操作返回的 ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
"done": true
时,长时间运行的操作已完成。在去标识化操作成功后,您可以检索去标识化后的实例的元数据以查看其更改情况。去标识化后的实例将具有新的研究 UID、系列 UID 和实例 UID,因此您首先需要在新数据集中搜索去标识化的实例。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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您应该收到类似以下内容的 JSON 响应:
下表显示了研究 UID、系列 UID 和实例 UID 的变化情况:原始实例元数据 去标识化的实例元数据 研究 UID ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
系列 UID ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
实例 UID ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
使用新值检索实例的元数据。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
请特别注意,
PatientName
标记的值设置为PLACEHOLDER
:Original metadata
运行 ResetTag
后的元数据"00100010": { "vr": "PN", "Value": [ { "Alphabetic": "Ann Johnson" } ] }
"00100010": { "vr": "PN", "Value": [ { "Alphabetic": "PLACEHOLDER" } ] }
检查并转换标记中的敏感文本
以下示例展示了如何使用 CleanTextTag
对象来检查标记,并根据 TextConfig
对象中的配置转换标记的值。
在这些示例中,Actions
对象中设置了以下选项:
CleanTextTag
对象。- 包含
PatientName
DICOM 标记的queries[]
列表。
以下选项在 TextConfig
对象中设置:
- 一个
InfoTypeTransformation
对象,用于转换与特定 infoType 匹配的文本。 - 一个
ReplaceWithInfoTypeConfig
对象,用于将所有匹配的文本替换为 infoType 的名称。 - 包含
PERSON_NAME
infoType 的infoTypes[]
列表。
设置这些配置后,去标识化操作会检查 PatientName
标记,将该标记与 PERSON_NAME
infoType 进行匹配,然后将该标记的值替换为 PERSON_NAME
infoType。PatientName
标记的值表示 (VR) 为 PN
,这是 CleanTextTag
对象中受支持的 VR 之一。
REST
对数据集进行去标识化处理。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
请求 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": {} } ] } } }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为
request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件: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
然后,执行以下命令以发送 REST 请求:
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
将请求正文保存在名为
request.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": {} } ] } } } '@ | Out-File -FilePath request.json -Encoding utf8
然后,执行以下命令以发送 REST 请求:
$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 ContentOPERATION_ID
的值。您需要在下一步中使用此值。使用
projects.locations.datasets.operations.get
方法可获取长时间运行的操作的状态。在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- OPERATION_ID:从长时间运行的操作返回的 ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
"done": true
时,长时间运行的操作已完成。在去标识化操作成功后,您可以检索去标识化后的实例的元数据以查看其更改情况。去标识化后的实例将具有新的研究 UID、系列 UID 和实例 UID,因此您首先需要在新数据集中搜索去标识化的实例。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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您应该收到类似以下内容的 JSON 响应:
下表显示了研究 UID、系列 UID 和实例 UID 的变化情况:原始实例元数据 去标识化的实例元数据 研究 UID ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
系列 UID ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
实例 UID ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
使用新值检索实例的元数据。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
请特别注意,
PatientName
标记的值设置为[PERSON_NAME]
:Original metadata
运行 CleanTextTag
后的元数据"00100010": { "vr": "PN", "Value": [ { "Alphabetic": "Ann Johnson" } ] }
"00100010": { "vr": "PN", "Value": [ { "Alphabetic": "[PERSON_NAME]" } ] }
将 UID 替换为生成的 UID
以下示例展示了如何使用 RegenUidTag
对象将 UID 替换为新生成的 UID。RegenUidTag
对象支持的唯一 VR 是 UI
。
默认情况下,在去标识化期间,系统会为具有 UI
VR 的示例元数据中的每个标记生成 UID。为了展示如何为特定标记生成 UID,示例中设置了以下选项:
ProfileType
设置为KEEP_ALL
枚举,这会阻止任何 DICOM 元数据被去标识化。PrimaryIdsOption
设置为KEEP
枚举,这会使主 ID(StudyInstanceUID
、SeriesInstanceUID
、SOPInstanceUID
和MediaStorageSOPInstanceUID
)保持不变。
设置这些选项后,系统不会将样本数据中的任何主要 ID UID 替换为新生成的值。不过,通过向 Action.queries[]
数组添加 SOPInstanceUID
,您可以专门为 SOPInstanceUID
标记生成新的 UID。
REST
对数据集进行去标识化处理。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
请求 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" } } }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为
request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件: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
然后,执行以下命令以发送 REST 请求:
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
将请求正文保存在名为
request.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" } } } '@ | Out-File -FilePath request.json -Encoding utf8
然后,执行以下命令以发送 REST 请求:
$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 ContentOPERATION_ID
的值。您需要在下一步中使用此值。使用
projects.locations.datasets.operations.get
方法可获取长时间运行的操作的状态。在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- OPERATION_ID:从长时间运行的操作返回的 ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
"done": true
时,长时间运行的操作已完成。在去标识化操作成功后,您可以检索去标识化后的实例的元数据以查看其更改情况。由于您在
Action.queries[]
数组中指定了SOPInstanceUID
标记,因此去标识化后的实例具有新的实例 UID,您首先需要在新数据集中搜索去标识化的实例。在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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您应该收到类似以下内容的 JSON 响应:
下表显示了实例 UID 的变化情况:
原始实例元数据 去标识化的实例元数据 实例 UID ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
使用新值检索实例的元数据。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
请注意,在主 ID 中,只有
SOPInstanceUID
具有新生成的 UID。
以递归方式对嵌套 Sequence
中的标记进行去标识化
以下示例展示了如何使用 RecurseTag
对象以递归方式对 Sequence
中的嵌套 DICOM 标记进行去标识化处理。RecurseTag
对象仅支持 SQ
VR,即 Sequence
的 VR。
如需了解 SQ
VR,请参阅7.5 数据集的嵌套。
本页面提供的 DICOM 示例实例不包含任何具有 SQ
VR 的 DICOM 标记。您可以按照以下步骤(基于创建 JSON 元数据和 JPEG 文件的 DICOM 实例中的说明)创建并存储包含 SQ
VR 的虚假数据的 DICOM 实例。您在以下步骤中创建的 DICOM 实例使用虚假数据,仅用于说明 RecurseTag
的行为。
将以下 DICOM 元数据保存到名为
instance.json
的 JSON 文件中。元数据包含PhysiciansReadingStudyIdentificationSequence
(00081062
) 标记。该标记具有SQ
VR,并包含两个嵌套的PersonIdentificationCodeSequence
(00401101
) 标记。嵌套标记也具有SQ
VR,并且每个标记都包含以下嵌套标记: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" ] } } ] } } ] } }]
将
google.jpg
文件下载到本地机器。Cloud Healthcare API DICOMweb API 接受与 JSON 元数据配对的任何 JPEG 图片,前提是元数据有效。运行以下命令,在图片中创建起始(用于 JSON 元数据)、中间(用于 JPEG)图片和结束边界:
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
将
google.jpg
映像封装在中间和结束边界内。您发送到 Cloud Healthcare API 的输出文件称为multipart-request.file
:cat opening.file instance.json middle.file google.jpg closing.file > multipart-request.file
存储
multipart-request.file
文件:REST
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DICOM_STORE_ID:源数据集内 DICOM 存储区的 ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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您应该收到类似以下内容的 JSON 响应:
完成以下步骤,对您存储的 DICOM 实例进行去标识化处理。
REST
对数据集进行去标识化处理。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
请求 JSON 正文:
{ "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PhysiciansReadingStudyIdentificationSequence" ], "recurseTag": {} } ] } } }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为
request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PhysiciansReadingStudyIdentificationSequence" ], "recurseTag": {} } ] } } } EOF
然后,执行以下命令以发送 REST 请求:
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
将请求正文保存在名为
request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:@' { "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
然后,执行以下命令以发送 REST 请求:
$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 ContentOPERATION_ID
的值。您需要在下一步中使用此值。使用
projects.locations.datasets.operations.get
方法可获取长时间运行的操作的状态。在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- OPERATION_ID:从长时间运行的操作返回的 ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
"done": true
时,长时间运行的操作已完成。在去标识化操作成功后,您可以检索去标识化后的实例的元数据以查看其更改情况。去标识化后的实例将具有新的研究 UID、系列 UID 和实例 UID,因此您首先需要在新数据集中搜索去标识化的实例。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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您应该收到类似以下内容的 JSON 响应:
下表显示了研究 UID、系列 UID 和实例 UID 的变化情况:
原始实例元数据 去标识化的实例元数据 研究 UID ( 0020000D
)3333333
1.3.6.1.4.1.11129.5.1.222168347996079463826250565085126257314
系列 UID ( 0020000E
)4444444
1.3.6.1.4.1.11129.5.1.25205702030237830896398173746777399347
实例 UID ( 00080018
)2222222
1.3.6.1.4.1.11129.5.1.286710307126045768765142714621897494633
使用新值检索实例的元数据。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
请特别注意,嵌套的
CodeValue
和CodingSchemaDesignator
标记的值已设置为PLACEHOLDER
:Original metadata
运行 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" ] } } ] } } ] } }
在 DICOM 存储区级层对数据进行去标识化
前面的示例展示了如何在数据集级层对 DICOM 数据进行去标识化。本部分介绍如何对 DICOM 存储区级层的数据进行去标识化。
如需将数据集去标识化请求更改为 DICOM 存储区去标识化请求,请进行以下更改:
- 将请求正文中的
destinationDataset
替换为destinationStore
- 在指定目标位置时,在
destinationStore
中的值末尾添加dicomStores/DESTINATION_DICOM_STORE_ID
- 在指定源数据所在的位置时添加
dicomStores/SOURCE_DICOM_STORE_ID
以下示例展示了数据集级层的去标识化请求,以及如何修改该请求以实现 DICOM 存储区级层的去标识化:
数据集级层去标识化:
"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"
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"
以下示例展示了如何对 DICOM 存储区中的 DICOM 实例进行去标识化,并将去标识化后的数据写入新的 DICOM 存储区。在运行示例之前,目标 DICOM 存储区 ID 必须已存在。
REST
对数据集进行去标识化处理。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID。在运行去标识化操作之前必须已存在。
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区。在运行去标识化操作之前必须已存在。
请求 JSON 正文:
{ "destinationStore": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "keepTag": {} } ] } } }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为
request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件: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
然后,执行以下命令以发送 REST 请求:
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
将请求正文保存在名为
request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:@' { "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
然后,执行以下命令以发送 REST 请求:
$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 ContentOPERATION_ID
的值。您需要在下一步中使用此值。使用
projects.locations.datasets.operations.get
方法可获取长时间运行的操作的状态。在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- OPERATION_ID:从长时间运行的操作返回的 ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
"done": true
时,长时间运行的操作已完成。在去标识化操作成功后,您可以检索去标识化后的实例的元数据以查看其更改情况。去标识化后的实例将具有新的研究 UID、系列 UID 和实例 UID,因此您首先需要在新数据集中搜索去标识化的实例。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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您应该收到类似以下内容的 JSON 响应:
下表显示了研究 UID、系列 UID 和实例 UID 的变化情况:原始实例元数据 去标识化的实例元数据 研究 UID ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
系列 UID ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
实例 UID ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
使用新值检索实例的元数据。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
对 DICOM 存储区的一部分进行去标识化
通过指定过滤条件,您可以对 DICOM 存储区中的部分数据进行去标识化。
过滤条件采用过滤条件文件的形式,您可以指定它作为 DicomFilterConfig
对象中 resourcePathsGcsUri
字段的值。Cloud Storage 存储分区中必须已存在过滤条件文件;您不能指定本地计算机或任何其他来源上存在的过滤条件文件。文件的位置必须采用 gs://BUCKET/PATH/TO/FILE
格式。
创建过滤条件文件
过滤条件文件定义要将哪些 DICOM 文件进行去标识化。您可以在以下级别过滤文件:
- 在研究级别
- 在系列级别
- 在实例级别
在过滤条件文件中,您要进行去标识化的每个研究、系列或实例分别对应一行内容。每行都使用 /studies/STUDY_UID[/series/SERIES_UID[/instances/INSTANCE_UID]]
格式。每行末尾有一个换行符:\n
或 \r\n
。
如果您在调用去标识化操作时传递的过滤条件文件中未指定研究、系列或实例,则该研究、系列或实例不会进行去标识化,并且不会出现在目标 DICOM 存储区中。
只需要提供路径的 /studies/STUDY_UID
部分。这意味着您可以通过指定 /studies/STUDY_UID
对研究进行去标识化,也可以通过指定 /studies/STUDY_UID/series/SERIES_UID
对系列进行去标识化。
请考虑以下过滤条件文件。过滤条件文件会导致一项研究、两个系列和三个单独的实例进行去标识化:
/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
使用 BigQuery 创建过滤条件文件
要创建过滤条件文件,您通常需要先将 DICOM 存储区中的元数据导出到 BigQuery。这样,您就可以使用 BigQuery 来查看 DICOM 存储区中 DICOM 数据的研究、系列和实例 UID。然后,您可以执行以下操作:
查询您感兴趣的研究、系列和实例 UID。例如,将元数据导出到 BigQuery 后,您可以运行以下查询,将研究、系列和实例 UID 串接为符合过滤条件文件要求的格式:
SELECT CONCAT ('/studies/', StudyInstanceUID, '/series/', SeriesInstanceUID, '/instances/', SOPInstanceUID) FROM [PROJECT_ID:BIGQUERY_DATASET.BIGQUERY_TABLE]
如果查询返回大型结果集,您可以通过将查询结果保存到 BigQuery 中的目标表将新表具体化。
将查询结果保存到目标表后,您可以将目标表的内容保存到文件中,并将文件导出到 Cloud Storage。如需了解如何执行此操作,请参阅导出表数据。导出的文件就是您的过滤条件文件。在导出操作中指定过滤条件时,您将使用 Cloud Storage 中的过滤条件文件所在的位置。
手动创建过滤条件文件
您可以创建包含自定义内容的过滤条件文件,然后将其上传到 Cloud Storage 存储分区。在去标识化操作中指定过滤条件时,您将使用 Cloud Storage 中的过滤条件文件所在的位置。以下示例展示了如何使用 gcloud storage cp
命令将过滤条件文件上传到 Cloud Storage 存储分区:
gcloud storage cp PATH/TO/FILTER_FILE gs://BUCKET/DIRECTORY
例如:
gcloud storage cp /home/user/Desktop/filters.txt gs://my-bucket/my-directory
使用过滤器
配置过滤条件文件后,您可以将其作为值传递到 filterConfig
对象中的 resourcePathsGcsUri
字段。
以下示例对在 DICOM 存储区级层对数据进行去标识化进行了扩展,但提供了 Cloud Storage 中的过滤条件文件,用来确定哪些 DICOM 资源要进行去标识化。
REST
对数据集进行去标识化处理。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- LOCATION:数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DICOM_STORE_ID:包含要进行去标识化处理的数据的 DICOM 存储区的 ID
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID
- BUCKET/PATH/TO/FILE:过滤条件文件在 Cloud Storage 存储分区中的位置
请求 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" } }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为
request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件: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
然后,执行以下命令以发送 REST 请求:
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
将请求正文保存在名为
request.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" } } '@ | Out-File -FilePath request.json -Encoding utf8
然后,执行以下命令以发送 REST 请求:
$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使用
projects.locations.datasets.operations.get
方法可获取长时间运行的操作的状态。在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- SOURCE_DATASET_ID:包含要取消标识的数据集 ID
- OPERATION_ID:从长时间运行的操作返回的 ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
"done": true
时,长时间运行的操作已完成。在去标识化操作成功后,您可以检索去标识化后的实例的元数据以查看其更改情况。去标识化后的实例将具有新的研究 UID、系列 UID 和实例 UID,因此您首先需要在新数据集中搜索去标识化的实例。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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您应该收到类似以下内容的 JSON 响应:
下表显示了研究 UID、系列 UID 和实例 UID 的变化情况:原始实例元数据 去标识化的实例元数据 研究 UID ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
系列 UID ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
实例 UID ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
使用新值检索实例的元数据。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- DESTINATION_DATASET_ID:写入去标识化数据的目标数据集的 ID
- SOURCE_DATASET_LOCATION:源数据集位置
- DESTINATION_DICOM_STORE_ID:目标数据集中的 DICOM 存储区的 ID。这与源数据集中 DICOM 存储区的 ID 相同。
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
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
执行以下命令:
$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 ContentAPI Explorer
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
排查 DICOM 去标识化操作问题
如果在执行 DICOM 去标识化操作期间发生错误,系统会将错误记录到 Cloud Logging。如需了解详情,请参阅在 Cloud Logging 中查看错误日志。
如果整个操作返回错误,请参阅排查长时间运行的操作问题。