|
| 1 | +<!-- |
| 2 | +SPDX-FileCopyrightText: © 2022 MONAI Consortium |
| 3 | +SPDX-License-Identifier: Apache License 2.0 |
| 4 | +--> |
| 5 | + |
| 6 | +# DICOMWeb STOW-RS APIs |
| 7 | + |
| 8 | +The `dicomweb/` endpoint implements the specifications defined in section [6.6 STOW-RS Request/Response](https://dicom.nema.org/dicom/2013/output/chtml/part18/sect_6.6.html#sect_6.6.1.3.2.1.1) defined by the DICOM committee to provide the [DICOMWeb STOW-RS](https://www.dicomstandard.org/using/dicomweb/store-stow-rs) interface to enable the triggering of new workflows. |
| 9 | + |
| 10 | + |
| 11 | +The *STOW-RS* service provides the following two endpoints: |
| 12 | + |
| 13 | +## POST /dicomweb/studies/[{study-instance-uid}] |
| 14 | + |
| 15 | +Triggers a new workflow request with the uploaded DICOM dataset. |
| 16 | + |
| 17 | +> [!IMPORTANT] |
| 18 | +> Each HTTP POST request triggers a new workflow request; the service *does not* support waiting for additional instances like the DIMSE service. |
| 19 | +
|
| 20 | +### Parameters |
| 21 | + |
| 22 | +#### Query Parameters: |
| 23 | + |
| 24 | +| Name | Type | Description | |
| 25 | +| ------------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
| 26 | +| study-instance-uid | string | Optionally associate the DICOM dataset with a StudyInstanceUID. Note: the service records any mismatch in the StudyInstanceUID header to the provided value in the response with `Warning Reason (0008,1196)` = `B007`. | |
| 27 | + |
| 28 | +#### Request Body: |
| 29 | + |
| 30 | +Supported Content-Types: |
| 31 | + |
| 32 | +- `application/dicom` |
| 33 | +- `multipart/related` |
| 34 | + |
| 35 | +### Responses |
| 36 | + |
| 37 | +Response Content Type: `JSON` |
| 38 | + |
| 39 | +| Code | Data Type | Description | |
| 40 | +| ---- | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | |
| 41 | +| 200 | [DicomDataset](https://github.com/fo-dicom/fo-dicom/blob/development/FO-DICOM.Core/DicomDataset.cs) | All instances are received and stored succesfully. | |
| 42 | +| 202 | [DicomDataset](https://github.com/fo-dicom/fo-dicom/blob/development/FO-DICOM.Core/DicomDataset.cs) | ALl instances are received and stored with warnings. E.g. mismatch StudyInstanceUID. | |
| 43 | +| 204 | `none` | No data provided. | |
| 44 | +| 400 | [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) | Request contains invalid values. | |
| 45 | +| 415 | `none` | Unsupported media type. | |
| 46 | +| 500 | [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) | Server error. | |
| 47 | + |
| 48 | +--- |
| 49 | + |
| 50 | + |
| 51 | +## POST /dicomweb/{workflow-id}/studies/[{study-instance-uid}] |
| 52 | + |
| 53 | +Triggers the specified workflow with the uploaded DICOM dataset. |
| 54 | + |
| 55 | +> [!IMPORTANT] |
| 56 | +> Each HTTP POST request triggers a new workflow request; the service *does not* support waiting for additional instances like the DIMSE service. |
| 57 | +
|
| 58 | +### Parameters |
| 59 | + |
| 60 | +#### Query Parameters: |
| 61 | + |
| 62 | +| Name | Type | Description | |
| 63 | +| ------------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
| 64 | +| workflow-id | string | The unique identifier of the workflow registered with the Workflow Manager. | |
| 65 | +| study-instance-uid | string | Optionally associate the DICOM dataset with a StudyInstanceUID. Note: the service records any mismatch in the StudyInstanceUID header to the provided value in the response with `Warning Reason (0008,1196)` = `B007`. | |
| 66 | + |
| 67 | +#### Request Body: |
| 68 | + |
| 69 | +Supported Content-Types: |
| 70 | + |
| 71 | +- `application/dicom` |
| 72 | +- `multipart/related` |
| 73 | + |
| 74 | +### Responses |
| 75 | + |
| 76 | +Response Content Type: `JSON` |
| 77 | + |
| 78 | +| Code | Data Type | Description | |
| 79 | +| ---- | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | |
| 80 | +| 200 | [DicomDataset](https://github.com/fo-dicom/fo-dicom/blob/development/FO-DICOM.Core/DicomDataset.cs) | All instances are received and stored succesfully. | |
| 81 | +| 202 | [DicomDataset](https://github.com/fo-dicom/fo-dicom/blob/development/FO-DICOM.Core/DicomDataset.cs) | ALl instances are received and stored with warnings. E.g. mismatch StudyInstanceUID. | |
| 82 | +| 204 | `none` | No data provided. | |
| 83 | +| 400 | [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) | Request contains invalid values. | |
| 84 | +| 415 | `none` | Unsupported media type. | |
| 85 | +| 500 | [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) | Server error. | |
0 commit comments