Skip to content

Commit 0ef7e3a

Browse files
author
Jill Grant
authored
Merge pull request #255438 from shellyhaverkamp/smh-dicom-includes-api
Add include to 4 API articles
2 parents aa379c0 + 05ed75e commit 0ef7e3a

7 files changed

+105
-128
lines changed

articles/healthcare-apis/dicom/dicom-services-conformance-statement-v2.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ ms.author: mmitrik
1515
> [!NOTE]
1616
> API version 2 is the latest API version. For a list of changes in v2 compared to v1, see [DICOM service API v2 changes](dicom-service-v2-api-changes.md)
1717
18-
The Medical Imaging Server for DICOM® supports a subset of the DICOMweb Standard. Support includes:
18+
The Medical Imaging Server for DICOM® supports a subset of the DICOMweb Standard. Support includes:
1919

2020
* [Studies Service](#studies-service)
2121
* [Store (STOW-RS)](#store-stow-rs)
@@ -602,7 +602,7 @@ The query API returns one of the following status codes in the response:
602602

603603
### Delete
604604

605-
This transaction isn't part of the official DICOMweb™ Standard. It uses the DELETE method to remove representations of Studies, Series, and Instances from the store.
605+
This transaction isn't part of the official DICOMweb Standard. It uses the DELETE method to remove representations of Studies, Series, and Instances from the store.
606606

607607
| Method | Path | Description |
608608
| :----- | :------------------------------------------------------ | :---------- |
@@ -671,7 +671,7 @@ required to be present, required to not be present, required to be empty, or req
671671
found [in this table](https://dicom.nema.org/medical/dicom/current/output/html/part04.html#table_CC.2.5-3).
672672

673673
> [!NOTE]
674-
> Although the reference table says that SOP Instance UID shouldn't be present, this guidance is specific to the DIMSE protocol and is handled differently in DICOMWeb. SOP Instance UID should be present in the dataset if not in the URI.
674+
> Although the reference table says that SOP Instance UID shouldn't be present, this guidance is specific to the DIMSE protocol and is handled differently in DICOMWeb. SOP Instance UID should be present in the dataset if not in the URI.
675675
676676
> [!NOTE]
677677
> All the conditional requirement codes including 1C and 2C are treated as optional.

articles/healthcare-apis/dicom/dicom-services-conformance-statement.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ ms.author: mmitrik
1515
> [!NOTE]
1616
> API version 2 is the latest API version and should be used in place of v1. See the [DICOM Conformance Statement v2](dicom-services-conformance-statement-v2.md) for details.
1717
18-
The Medical Imaging Server for DICOM® supports a subset of the DICOMweb Standard. Support includes:
18+
The Medical Imaging Server for DICOM® supports a subset of the DICOMweb Standard. Support includes:
1919

2020
* [Studies Service](#studies-service)
2121
* [Store (STOW-RS)](#store-stow-rs)
@@ -514,7 +514,7 @@ The query API returns one of the following status codes in the response:
514514

515515
### Delete
516516

517-
This transaction isn't part of the official DICOMweb™ Standard. It uses the DELETE method to remove representations of Studies, Series, and Instances from the store.
517+
This transaction isn't part of the official DICOMwe Standard. It uses the DELETE method to remove representations of Studies, Series, and Instances from the store.
518518

519519
| Method | Path | Description |
520520
| :----- | :------------------------------------------------------ | :---------- |
@@ -583,7 +583,7 @@ required to be present, required to not be present, required to be empty, or req
583583
found [in this table](https://dicom.nema.org/medical/dicom/current/output/html/part04.html#table_CC.2.5-3).
584584

585585
> [!NOTE]
586-
> Although the reference table says that SOP Instance UID shouldn't be present, this guidance is specific to the DIMSE protocol and is handled differently in DICOMWeb. SOP Instance UID should be present in the dataset if not in the URI.
586+
> Although the reference table says that SOP Instance UID shouldn't be present, this guidance is specific to the DIMSE protocol and is handled differently in DICOMWeb. SOP Instance UID should be present in the dataset if not in the URI.
587587
588588
> [!NOTE]
589589
> All the conditional requirement codes including 1C and 2C are treated as optional.

articles/healthcare-apis/dicom/dicom-services-faqs.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ sections:
1616
- name: Ignored
1717
questions:
1818
- question: What is the DICOM service?
19-
answer: The DICOM® service is a managed service within [Azure Health Data Services](../healthcare-apis-overview.md) that ingests and persists DICOM objects at multiple thousands of images per second. It facilitates communication and transmission of imaging data with any DICOMweb™ enabled systems or applications via DICOMweb Standard APIs like [Store (STOW-RS)](dicom-services-conformance-statement-v2.md#store-stow-rs), [Search (QIDO-RS)](dicom-services-conformance-statement-v2.md#search-qido-rs), [Retrieve (WADO-RS)](dicom-services-conformance-statement-v2.md#retrieve-wado-rs). It's backed by a managed Platform-as-a Service (PaaS) offering in the cloud with complete [PHI](https://www.hhs.gov/answers/hipaa/what-is-phi/index.html) compliance that you can upload PHI data to the DICOM service and exchange it through secure networks.
19+
answer: The DICOM® service is a managed service within [Azure Health Data Services](../healthcare-apis-overview.md) that ingests and persists DICOM objects at multiple thousands of images per second. It facilitates communication and transmission of imaging data with any DICOMweb enabled systems or applications via DICOMweb Standard APIs like [Store (STOW-RS)](dicom-services-conformance-statement-v2.md#store-stow-rs), [Search (QIDO-RS)](dicom-services-conformance-statement-v2.md#search-qido-rs), [Retrieve (WADO-RS)](dicom-services-conformance-statement-v2.md#retrieve-wado-rs). It's backed by a managed Platform-as-a Service (PaaS) offering in the cloud with complete [PHI](https://www.hhs.gov/answers/hipaa/what-is-phi/index.html) compliance that you can upload PHI data to the DICOM service and exchange it through secure networks.
2020

2121
- question: What are the key requirements to use the DICOM service?
2222
answer: The DICOM service needs an Azure subscription to configure and run the required components. These components are, by default, created inside of an existing or new Azure Resource Group to simplify management. Additionally, a Microsoft Entra account is required.
@@ -31,9 +31,9 @@ sections:
3131
3232
- question: What data formats are compatible with the DICOM service?
3333
answer: |
34-
The DICOM service exposes a REST API that is compatible with the [DICOMweb™ Standards](https://www.dicomstandard.org/using/dicomweb) specified and maintained by NEMA.
34+
The DICOM service exposes a REST API that is compatible with the [DICOMweb Standards](https://www.dicomstandard.org/using/dicomweb) specified and maintained by NEMA.
3535
36-
The server doesn't support DICOM DIMSE, which works primarily over a local area network and is unsuited for modern internet-based APIs. DIMSE is an incredibly popular standard used by nearly all medical imaging devices to communicate with other components of a provider’s medical imaging solution, such as PACS (Picture Archiving and Communication Systems) and medical imaging viewers. However, many modern systems, especially PACS and viewers, have begun to also support the related (and compatible) DICOMweb™ Standard. For those systems which only speak DICOM DIMSE, there are adapters available which allow for seamless communication between the local DIMSE-supporting systems and the DICOM service.
36+
The server doesn't support DICOM DIMSE, which works primarily over a local area network and is unsuited for modern internet-based APIs. DIMSE is an incredibly popular standard used by nearly all medical imaging devices to communicate with other components of a provider’s medical imaging solution, such as PACS (Picture Archiving and Communication Systems) and medical imaging viewers. However, many modern systems, especially PACS and viewers, have begun to also support the related (and compatible) DICOMweb Standard. For those systems which only speak DICOM DIMSE, there are adapters available which allow for seamless communication between the local DIMSE-supporting systems and the DICOM service.
3737
3838
- question: What version of DICOM does the DICOM service support?
3939
answer: |
@@ -57,7 +57,7 @@ sections:
5757
5858
- question: What is the difference between Retrieve, Query, and Store?
5959
answer: |
60-
Query, Retrieve, and store are standard DICOMweb™ verbs. Query (QIDO) searches for DICOM objects. QIDO enables you to search for studies, series and instances by patient ID. Retrieve (WADO) enables you to retrieve specific studies, series, and instances by reference. Store (STOW-RS) enables you to store specific instances to a DICOM server. For more information about the specifics of QIDO, WADO, and STOW, see [DICOMweb™](https://www.dicomstandard.org/using/dicomweb).
60+
Query, Retrieve, and store are standard DICOMweb verbs. Query (QIDO) searches for DICOM objects. QIDO enables you to search for studies, series and instances by patient ID. Retrieve (WADO) enables you to retrieve specific studies, series, and instances by reference. Store (STOW-RS) enables you to store specific instances to a DICOM server. For more information about the specifics of QIDO, WADO, and STOW, see [DICOMweb](https://www.dicomstandard.org/using/dicomweb).
6161
6262
- question: What is REST API versioning in the DICOM service?
6363
answer: |

articles/healthcare-apis/dicom/dicomweb-standard-apis-c-sharp.md

Lines changed: 22 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
---
2-
title: Using DICOMweb™Standard APIs with C# - Azure Health Data Services
3-
description: In this tutorial, you'll learn how to use DICOMweb Standard APIs with C#.
2+
title: Use C# and DICOMweb Standard APIs in Azure Health Data Services
3+
description: Learn how to use C# and DICOMweb Standard APIs to store, retrieve, search, and delete DICOM files in the DICOM service.
44
author: mmitrik
55
ms.service: healthcare-apis
66
ms.subservice: fhir
77
ms.topic: tutorial
8-
ms.date: 05/26/2022
8+
ms.date: 10/18/2023
99
ms.author: mmitrik
1010
---
1111

12-
# Using DICOMweb™ Standard APIs with C#
12+
# Use C# and DICOMweb Standard APIs
1313

14-
This tutorial uses C# to demonstrate working with the DICOM service.
14+
This article shows how to work with the DICOMweb service using C# and [sample .dcm DICOM® files](https://github.com/microsoft/dicom-server/tree/main/docs/dcms).
1515

16-
In this tutorial, we'll use the following [sample .dcm DICOM files](https://github.com/microsoft/dicom-server/tree/main/docs/dcms).
16+
Use these sample files:
1717

18-
* blue-circle.dcm
19-
* dicom-metadata.csv
20-
* green-square.dcm
21-
* red-triangle.dcm
18+
- blue-circle.dcm
19+
- dicom-metadata.csv
20+
- green-square.dcm
21+
- red-triangle.dcm
2222

23-
The file name, studyUID, seriesUID, and instanceUID of the sample DICOM files is as follows:
23+
The filename, studyUID, seriesUID, and instanceUID of the sample DICOM files are:
2424

2525
| File | StudyUID | SeriesUID | InstanceUID |
2626
| --- | --- | --- | ---|
@@ -29,17 +29,17 @@ The file name, studyUID, seriesUID, and instanceUID of the sample DICOM files is
2929
|blue-circle.dcm|1.2.826.0.1.3680043.8.498.13230779778012324449356534479549187420|1.2.826.0.1.3680043.8.498.77033797676425927098669402985243398207|1.2.826.0.1.3680043.8.498.13273713909719068980354078852867170114|
3030

3131
> [!NOTE]
32-
> Each of these files represent a single instance and are part of the same study. Also, the green-square and red-triangle are part of the same series, while the blue-circle is in a separate series.
32+
> Each of these files represents a single instance and is part of the same study. Also, the green-square and red-triangle are part of the same series, while the blue-circle is in a separate series.
3333
3434
## Prerequisites
3535

36-
To use the DICOMweb™ Standard APIs, you must have an instance of the DICOM service deployed. If you haven't already deployed an instance of the DICOM service, see [Deploy DICOM service using the Azure portal](deploy-dicom-services-in-azure.md).
36+
To use the DICOMweb Standard APIs, you need an instance of the DICOM service deployed. If you haven't already deployed an instance of the DICOM service, see [Deploy DICOM service using the Azure portal](deploy-dicom-services-in-azure.md).
3737

38-
After you've deployed an instance of the DICOM service, retrieve the URL for your App service:
38+
After you deploy an instance of the DICOM service, retrieve the URL for your app service:
3939

4040
1. Sign in to the [Azure portal](https://portal.azure.com).
4141
1. Search **Recent resources** and select your DICOM service instance.
42-
1. Copy the **Service URL** of your DICOM service. Make sure to specify the version as part of the url when making requests. More information can be found in the [API Versioning for DICOM service Documentation](api-versioning-dicom-service.md).
42+
1. Copy the **Service URL** of your DICOM service. Make sure to specify the version as part of the url when making requests. For more information, see [API versioning for the DICOM service](api-versioning-dicom-service.md).
4343

4444
In your application, install the following NuGet packages:
4545

@@ -49,7 +49,7 @@ In your application, install the following NuGet packages:
4949

5050
## Create a DicomWebClient
5151

52-
After you've deployed your DICOM service, you'll create a DicomWebClient. Run the following code snippet to create DicomWebClient, which we'll be using for the rest of this tutorial. Ensure you have both NuGet packages installed as mentioned previously. If you haven't already obtained a token, see [Get access token for the DICOM service using Azure CLI](dicom-get-access-token-azure-cli.md).
52+
After you deploy your DICOM service, you create a DicomWebClient. Run the code snippet to create DicomWebClient, which you use for the rest of this tutorial. Ensure you have both NuGet packages installed. If you haven't already obtained a token, see [Get access token for the DICOM service using Azure CLI](dicom-get-access-token-azure-cli.md).
5353

5454
```c#
5555
string webServerUrl ="{Your DicomWeb Server URL}"
@@ -60,7 +60,7 @@ client.HttpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Head
6060
```
6161
With the DicomWebClient, we can now perform the Store, Retrieve, Search, and Delete operations.
6262

63-
## Store DICOM Instances (STOW)
63+
## Store DICOM instances (STOW)
6464

6565
Using the DicomWebClient that we've created, we can now store DICOM files.
6666

@@ -92,11 +92,11 @@ DicomWebResponse response = await client.StoreAsync(new[] { dicomFile }, "1.2.82
9292

9393
Before moving on to the next part of the tutorial, upload the `green-square.dcm` file using either of the preceding methods.
9494

95-
## Retrieving DICOM instance(s) (WADO)
95+
## Retrieve DICOM instance (WADO)
9696

97-
The following code snippets will demonstrate how to perform each of the retrieve queries using the DicomWebClient created previously.
97+
The code snippets show how to perform each of the retrieve queries using the DicomWebClient created previously.
9898

99-
The following variables will be used throughout the rest of the examples:
99+
The variables are used throughout the rest of the examples:
100100

101101
```c#
102102
string studyInstanceUid = "1.2.826.0.1.3680043.8.498.13230779778012324449356534479549187420"; //StudyInstanceUID for all 3 examples
@@ -106,8 +106,6 @@ string sopInstanceUid = "1.2.826.0.1.3680043.8.498.47359123102728459884412887463
106106

107107
### Retrieve all instances within a study
108108

109-
Retrieve all instances within a study retrieves all instances within a single study.
110-
111109
_Details:_
112110

113111
* GET /studies/{study}
@@ -348,7 +346,7 @@ _Details:_
348346
DicomWebResponse response = await client.DeleteSeriesAsync(studyInstanceUid, seriesInstanceUid);
349347
```
350348

351-
This response deletes the green-square instance (it's the only element left in the series) from the server. If it's successful, the response status code will contain no content.
349+
This response deletes the green-square instance (it's the only element left in the series) from the server. If it's successful, the response status code contains no content.
352350

353351
### Delete a specific study
354352

@@ -364,9 +362,4 @@ DicomWebResponse response = await client.DeleteStudyAsync(studyInstanceUid);
364362

365363
This response deletes the blue-circle instance (it's the only element left in the series) from the server. If it's successful, the response status code contains no content.
366364

367-
### Next Steps
368-
369-
For information about the DICOM service, see
370-
371-
>[!div class="nextstepaction"]
372-
>[Overview of the DICOM service](dicom-services-overview.md)
365+
[!INCLUDE [DICOM trademark statement](../includes/healthcare-apis-dicom-trademark.md)]

0 commit comments

Comments
 (0)