Skip to content

Commit 50ebf70

Browse files
Merge pull request #296983 from arunmk-ms/dicom-uid-update
Dicom: Bulk UID update feature
2 parents 6ef12cb + b9ee5fe commit 50ebf70

File tree

1 file changed

+45
-3
lines changed

1 file changed

+45
-3
lines changed

articles/healthcare-apis/dicom/update-files.md

Lines changed: 45 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@ Beyond the efficiency gains, the bulk update capability preserves a record of th
1919
There are a few limitations when you use the bulk update operation:
2020

2121
- A maximum of 50 studies can be updated in a single operation.
22-
- Only one bulk update operation can be performed at a time.
22+
- Only one bulk update operation can be performed at a time for a given study.
23+
- For updates involving UID changes, only one study can be updated in a single operation.
24+
- Only Study Instance UID and Series Instance UID can be updated as part of UID update. SOP Instance UID cannot be updated for an instance.
25+
- UID update operation would fail when the target UIDs (`studyInstanceUID`, `seriesInstanceUid` and `sopInstanceUId`) already exists.
2326
- You can't delete only the latest version of a study, or revert back to the original version.
2427
- You can't update any field from non-null to a null value.
2528

@@ -64,6 +67,41 @@ The request body contains the specification for studies to update. Both the `stu
6467
}
6568
```
6669

70+
For updating the UIDs, new UIDs have to be provided in the change dataset as follows. The `seriesInstanceUid` is an optional field.
71+
72+
1. Use the request in the format below to update the `studyInstanceUid` for all instances within a study.
73+
74+
```
75+
{
76+
"studyInstanceUids": ["1.2.3.4"],
77+
"changeDataset": {
78+
"0020000D": {
79+
"vr": "UI",
80+
"Value": ["1.2.3.5"]
81+
}
82+
}
83+
}
84+
```
85+
86+
2. Use the request in the format below to update the `studyInstanceUid` and the `seriesInstanceUid` for all instances within a series. Note that only one study can be updated at a time, and if a series-level update is performed, the entire hierarchy must be included. For series-level update, both the new `studyInstanceUid` and `seriesInstanceUid` have to be provided in the `changeDataset`.
87+
88+
```
89+
{
90+
"studyInstanceUids": ["1.2.3.4"],
91+
"seriesInstanceUid": "5.6.7.8",
92+
"changeDataset": {
93+
"0020000D": {
94+
"vr": "UI",
95+
"Value": ["1.2.3.5"]
96+
},
97+
"0020000E": {
98+
"vr": "UI",
99+
"Value": ["5.6.7.9"]
100+
}
101+
}
102+
}
103+
```
104+
67105
#### Responses
68106
When a bulk update operation starts successfully, the API returns a `202` status code. The body of the response contains a reference to the operation.
69107

@@ -140,7 +178,7 @@ GET {dicom-service-url}/{version}/operations/{operationId}
140178
| 404 (Not Found) | | Operation not found |
141179

142180
## Retrieving study versions
143-
The [Retrieve (WADO-RS)](dicom-services-conformance-statement-v2.md#retrieve-wado-rs) transaction allows you to retrieve both the original and latest version of a study, series, or instance. By default, the latest version of a study, series, or instance is returned. The original version is returned by setting the `msdicom-request-original` header to `true`. An example request follows.
181+
The [Retrieve (WADO-RS)](dicom-services-conformance-statement-v2.md#retrieve-wado-rs) transaction allows you to retrieve both the original and latest version of a study, series, or instance. By default, the latest version of a study, series, or instance is returned. The original version is returned by setting the `msdicom-request-original` header to `true`. For bulk updates involving UID update, the original and latest version can be retrieved using the newer UIDs only. An example request follows.
144182

145183
```http
146184
GET {dicom-service-url}/{version}/studies/{study}/series/{series}/instances/{instance}
@@ -149,11 +187,13 @@ msdicom-request-original: true
149187
Content-Type: application/dicom
150188
```
151189

190+
For bulk updates involving UID update, the original and latest version can be retrieved using the newer UIDs only.
191+
152192
## Delete
153193
The [delete](dicom-services-conformance-statement-v2.md#delete) method deletes both the original and latest version of a study, series, or instance.
154194

155195
## Change feed
156-
The [change feed](change-feed-overview.md) records update actions in the same manner as create and delete actions.
196+
The [change feed](change-feed-overview.md) records update actions in the same manner as create and delete actions. For UID updates, change feed entries for the older UIDs will not be updated. The update action would be present only for the new UIDs.
157197

158198
## Supported DICOM modules
159199
Any attributes in the [Patient Identification Module](https://dicom.nema.org/dicom/2013/output/chtml/part03/sect_C.2.html#table_C.2-2) and [Patient Demographic Module](https://dicom.nema.org/dicom/2013/output/chtml/part03/sect_C.2.html#table_C.2-3) that aren't sequences can be updated using the bulk update operation. Supported attributes are called out in the tables.
@@ -213,6 +253,8 @@ The UID `1.3.6.1.4.1.311.129` is a registered under [Microsoft OID arc](https://
213253
#### General study module
214254
| Attribute Name | Tag | Description |
215255
| ---------------- | --------------| --------------------- |
256+
| Study Instance UID | (0020,000D) | Unique identifier for the Study |
257+
| Series Instance UID | (0020,000E) | Unique identifier for the Series |
216258
| Referring Physician's Name | (0008,0090) | Name of the patient's referring physician |
217259
| Accession Number | (0008,0050) | A RIS generated number that identifies the order for the Study |
218260
| Study Description | (0008,1030) | Institution-generated description or classification of the Study (component) performed |

0 commit comments

Comments
 (0)