Skip to content

Commit 7d47b01

Browse files
authored
Merge pull request #285919 from KendalBond007/DICOMeditsBatch3_Aug24
DICOMeditsBatch3_Aug24
2 parents ab622b9 + 9d8a2f5 commit 7d47b01

File tree

5 files changed

+98
-99
lines changed

5 files changed

+98
-99
lines changed

articles/healthcare-apis/dicom/enable-diagnostic-logging.md

Lines changed: 53 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,124 +1,123 @@
11
---
22
title: Enable diagnostic logging in the DICOM service - Azure Health Data Services
33
description: This article explains how to enable diagnostic logging in the DICOM service.
4-
author: mmitrik
4+
author: varunbms
55
ms.service: azure-health-data-services
66
ms.subservice: dicom-service
77
ms.topic: conceptual
88
ms.date: 10/13/2023
9-
ms.author: mmitrik
9+
ms.author: buchvarun
1010
---
1111

1212
# Enable audit and diagnostic logging in the DICOM service
1313

14-
In this article, you'll learn how to enable diagnostic logging in DICOM service and be able to review some sample queries for these logs. Access to diagnostic logs is essential for any healthcare service where compliance with regulatory requirements is a must. The feature in DICOM service enables diagnostic logs is the [Diagnostic settings](../../azure-monitor/essentials/diagnostic-settings.md) in the Azure portal.
14+
In this article, you'll learn how to enable diagnostic logging in DICOM® service and be able to review some sample queries for these logs. Access to diagnostic logs is essential for any healthcare service where compliance with regulatory requirements is required. The feature in DICOM service that enables diagnostic logs is the [Diagnostic settings](../../azure-monitor/essentials/diagnostic-settings.md) in the Azure portal.
1515

1616
## Enable logs
1717

1818
1. To enable logging DICOM service, select your DICOM service in the Azure portal.
1919
2. Select the **Activity log** on the left pane, and then select **Diagnostic settings**.
2020

21-
[ ![Screenshot of Azure activity log.](media/dicom-activity-log.png) ](media/dicom-activity-log.png#lightbox)
21+
[![Screenshot of Azure activity log.](media/dicom-activity-log.png)](media/dicom-activity-log.png#lightbox)
2222

2323
3. Select **+ Add diagnostic setting**.
2424

25-
[ ![Screenshot of Add Diagnostic settings.](media/add-diagnostic-settings.png) ](media/add-diagnostic-settings.png#lightbox)
25+
[![Screenshot of Add Diagnostic settings.](media/add-diagnostic-settings.png)](media/add-diagnostic-settings.png#lightbox)
2626

2727
4. Enter the **Diagnostic settings name**.
2828

29-
[ ![Screenshot of Configure Diagnostic settings.](media/configure-diagnostic-settings.png) ](media/configure-diagnostic-settings.png#lightbox)
29+
[![Screenshot of Configure Diagnostic settings.](media/configure-diagnostic-settings.png)](media/configure-diagnostic-settings.png#lightbox)
3030

31-
5. Select the **Category** and **Destination** details for accessing the diagnostic logs.
31+
5. Select the **Category** and **Destination** details for accessing the diagnostic logs:
3232

3333
* **Send to Log Analytics workspace** in the Azure Monitor. You need to create your Logs Analytics workspace before you can select this option. For more information about the platform logs, see [Overview of Azure platform logs](../../azure-monitor/essentials/platform-logs-overview.md).
34-
* **Archive to a storage account** for auditing or manual inspection. The storage account you want to use needs to be already created.
34+
* **Archive to a storage account** for auditing or manual inspection. The storage account you want to use needs to already be created.
3535
* **Stream to an event hub** for ingestion by a third-party service or custom analytic solution. You need to create an event hub namespace and event hub policy before you can configure this step.
36-
* **Send to partner solution** that you're working with as partner organization in Azure. For information about potential partner integrations, see [Azure partner solutions documentation](../../partner-solutions/overview.md)
36+
* **Send to partner solution** that you're working with as a partner organization in Azure. For information about potential partner integrations, see [Azure partner solutions documentation](../../partner-solutions/overview.md)
3737

3838
For information about supported metrics, see [Supported metrics with Azure Monitor](.././../azure-monitor/essentials/metrics-supported.md).
3939

4040
6. Select **Save**.
4141

42-
4342
> [!Note]
44-
> It might take up to 15 minutes for the first Logs to show in Log Analytics. Also, if the DICOM service is moved from one resource group or subscription to another, update the settings once the move is complete.
43+
> It might take up to 15 minutes for the first Logs to appear in Log Analytics. Also, if the DICOM service is moved from one resource group or subscription to another, update the settings once the move is complete.
4544
4645
For information on how to work with diagnostic logs, see [Azure Resource Log documentation](../../azure-monitor/essentials/platform-logs-overview.md)
4746

4847
## Log details
49-
The log schema used differs based on the destination. Log Analytics has a schema that differs from other destinations. Each log type has a schema that differs.
48+
The log schema used differs based on the destination. Log Analytics has a schema that differs from other destinations. Each log type has a different schema.
5049

5150
### Audit log details
5251

5352
#### Raw logs
5453

55-
The DICOM service returns the following fields in the audit log as seen when streamed outside of Log Analytics:
54+
The DICOM service returns the following fields in the audit log as seen when streamed outside of Log Analytics.
5655

5756
|Field Name |Type |Notes |
5857
|---------|---------|---------|
59-
|correlationId|String|Correlation ID
60-
|operationName|String|Describes the type of operation (for example, Retrieve, Store, Query, etc.)
61-
|time|DateTime|Date and time of the event.
62-
|resourceId|String| Azure path to the resource.
63-
|identity|Dynamic|A generic property bag containing identity information (currently doesn't apply to DICOM).
64-
|location|String|The location of the server that processed the request.
65-
|uri|String|The request URI.
66-
|resultType|String| The available values currently are Started, Succeeded, or Failed.
67-
|resultSignature|Int|The HTTP Status Code (for example, 200)
68-
|type|String|Type of log (it's always MicrosoftHealthcareApisAuditLog in this case).
69-
|level|String|Log level (Informational, Error).
58+
| correlationId | String | Correlation ID |
59+
| operationName | String | Describes the type of operation (for example, Retrieve, Store, Query, etc.) |
60+
|time | DateTime | Date and time of the event. |
61+
|resourceId | String | Azure path to the resource. |
62+
|identity | Dynamic | A generic property bag containing identity information (currently doesn't apply to DICOM). |
63+
| location | String | The location of the server that processed the request. |
64+
| uri | String | The request URI. |
65+
| resultType | String | The available values currently are Started, Succeeded, or Failed. |
66+
| resultSignature | Int | The HTTP Status Code (for example, 200) |
67+
| type | String | Type of log (it's always MicrosoftHealthcareApisAuditLog in this case). |
68+
| level | String | Log level (Informational, Error). |
7069

7170

7271
#### Log Analytics logs
7372

74-
The DICOM service returns the following fields in the audit sign-in Log Analytics:
73+
The DICOM service returns the following fields in the audit sign-in Log Analytics.
7574

7675
|Field Name |Type |Notes |
7776
|---------|---------|---------|
78-
|CorrelationId|String|Correlation ID
79-
|OperationName|String|Describes the type of operation (for example, Retrieve, Store, Query, etc.)
80-
|TimeGenerated [UTC]|DateTime|Date and time of the event.
81-
|_ResourceId|String| Azure path to the resource.
82-
|Identity|Dynamic|A generic property bag containing identity information (currently doesn't apply to DICOM).
83-
|Uri|String|The request URI.
84-
|ResultType|String| The available values currently are Started, Succeeded, or Failed.
85-
|StatusCode|Int|The HTTP Status Code (for example, 200)
86-
|Type|String|Type of log (it's always AHDSDicomAuditLogs in this case).
87-
|Level|String|Log level (Informational, Error).
88-
|TenantId|String| Tenant ID.
77+
| CorrelationId | String | Correlation ID |
78+
| OperationName | String | Describes the type of operation (for example, Retrieve, Store, Query, etc.) |
79+
| TimeGenerated [UTC] | DateTime | Date and time of the event. |
80+
| _ResourceId | String | Azure path to the resource. |
81+
| Identity | Dynamic | A generic property bag containing identity information (currently doesn't apply to DICOM). |
82+
| Uri | String | The request URI. |
83+
| ResultType | String | The available values currently are Started, Succeeded, or Failed. |
84+
| StatusCode | Int | The HTTP Status Code (for example, 200) |
85+
| Type|String | Type of log (it's always AHDSDicomAuditLogs in this case). |
86+
| Level | String | Log level (Informational, Error). |
87+
| TenantId | String | Tenant ID. |
8988

9089

9190
### Diagnostic log details
9291

9392
#### Raw logs
9493

95-
The DICOM service returns the following fields in the audit log as seen when streamed outside of Log Analytics:
94+
The DICOM service returns the following fields in the audit log as seen when streamed outside of Log Analytics.
9695

9796
|Field Name |Type |Notes |
9897
|---------|---------|---------|
99-
|correlationId|String|Correlation ID
100-
|operationName|String|Describes the type of operation (for example, Retrieve, Store, Query, etc.)
101-
|time|DateTime|Date and time of the event.
102-
|resultDescription|String|Description of the log entry. An example is a diagnostic log with a validation warning message when storing a file.
103-
|resourceId|String| Azure path to the resource.
104-
|identity|Dynamic|A generic property bag containing identity information (currently doesn't apply to DICOM).
105-
|location|String|The location of the server that processed the request.
106-
|properties|String|Additional information about the event in JSON array format. Examples include DICOM identifiers present in the request.
107-
|level|String|Log level (Informational, Error).
98+
| correlationId | String | Correlation ID |
99+
| operationName | String | Describes the type of operation (for example, Retrieve, Store, Query, etc.) |
100+
| time | DateTime | Date and time of the event. |
101+
| resultDescription | String | Description of the log entry. An example is a diagnostic log with a validation warning message when storing a file. |
102+
| resourceId | String | Azure path to the resource. |
103+
| identity | Dynamic | A generic property bag containing identity information (currently doesn't apply to DICOM). |
104+
| location | String | The location of the server that processed the request. |
105+
| properties | String | Additional information about the event in JSON array format. Examples include DICOM identifiers present in the request. |
106+
| level | String | Log level (Informational, Error). |
108107

109108
#### Log Analytics logs
110109

111-
The DICOM service returns the following fields in the audit sign-in Log Analytics:
110+
The DICOM service returns the following fields in the audit sign-in Log Analytics.
112111

113112
|Field Name |Type |Notes |
114113
|---------|---------|---------|
115-
|CorrelationId|String|Correlation ID
116-
|OperationName|String|Describes the type of operation (for example, Retrieve, Store, Query, etc.)
117-
|TimeGenerated|DateTime|Date and time of the event.
118-
|Message|String|Description of the log entry. An example is a diagnostic log with a validation warning message when storing a file.
119-
|Location|String|The location of the server that processed the request.
120-
|Properties|String|Additional information about the event in JSON array format. Examples include DICOM identifiers present in the request.
121-
|LogLevel|String|Log level (Informational, Error).
114+
| CorrelationId | String | Correlation ID |
115+
| OperationName | String | Describes the type of operation (for example, Retrieve, Store, Query, etc.) |
116+
| TimeGenerated | DateTime | Date and time of the event. |
117+
| Message | String | Description of the log entry. An example is a diagnostic log with a validation warning message when storing a file. |
118+
| Location | String | The location of the server that processed the request. |
119+
| Properties | String | Additional information about the event in JSON array format. Examples include DICOM identifiers present in the request. |
120+
| LogLevel | String | Log level (Informational, Error). |
122121

123122
## Sample Log Analytics queries
124123

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

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
22
title: Export DICOM files by using the export API of the DICOM service
33
description: This how-to guide explains how to export DICOM files to an Azure Blob Storage account.
4-
author: mmitrik
4+
author: varunbms
55
ms.service: azure-health-data-services
66
ms.subservice: dicom-service
77
ms.topic: how-to
88
ms.date: 10/30/2023
9-
ms.author: mmitrik
9+
ms.author: buchvarun
1010
---
1111

1212
# Export DICOM files
@@ -23,7 +23,7 @@ There are three steps to exporting data from the DICOM service:
2323

2424
The first step to export data from the DICOM service is to enable a system-assigned managed identity. This managed identity is used to authenticate the DICOM service and give permission to the storage account used as the destination for export. For more information about managed identities in Azure, see [About managed identities for Azure resources](../../active-directory/managed-identities-azure-resources/overview.md).
2525

26-
1. In the Azure portal, browse to the DICOM service that you want to export from and select **Identity**.
26+
1. In the Azure portal, browse to the DICOM service that you want to export from, and select **Identity**.
2727

2828
:::image type="content" source="media/dicom-export-identity.png" alt-text="Screenshot that shows selection of Identity view." lightbox="media/dicom-export-identity.png":::
2929

@@ -63,9 +63,9 @@ The export API exposes one `POST` endpoint for exporting data.
6363
POST <dicom-service-url>/<version>/export
6464
```
6565

66-
Given a *source*, the set of data to be exported, and a *destination*, the location to which data is exported, the endpoint returns a reference to a new, long-running export operation. The duration of this operation depends on the volume of data to be exported. For more information about monitoring progress of export operations, see the [Operation status](#operation-status) section.
66+
Given a *source*, the set of data to be exported, and a *destination* (the location to which data is exported), the endpoint returns a reference to a new, long-running export operation. The duration of this operation depends on the volume of data to be exported. For more information about monitoring progress of export operations, see the [Operation status](#operation-status) section.
6767

68-
Any errors encountered while you attempt to export are recorded in an error log. For more information, see the [Errors](#errors) section.
68+
Any errors encountered while attempting to export are recorded in an error log. For more information, see the [Errors](#errors) section.
6969

7070
#### Request
7171

@@ -95,15 +95,15 @@ The request body consists of the export source and destination.
9595
The only setting is the list of identifiers to export.
9696

9797
| Property | Required | Default | Description |
98-
| :------- | :------- | :------ | :---------- |
98+
| -------- | -------- | ------- | ----------- |
9999
| `Values` | Yes | | A list of one or more DICOM studies, series, and/or SOP instance identifiers in the format of `"<StudyInstanceUID>[/<SeriesInstanceUID>[/<SOPInstanceUID>]]"` |
100100

101101
#### Destination settings
102102

103103
The connection to the Blob Storage account is specified with `BlobContainerUri`.
104104

105105
| Property | Required | Default | Description |
106-
| :------------------- | :------- | :------ | :---------- |
106+
| -------------------- | -------- | ------- | ----------- |
107107
| `BlobContainerUri` | No | `""` | The complete URI for the blob container |
108108
| `UseManagedIdentity` | Yes | `false` | A required flag that indicates whether managed identity should be used to authenticate to the blob container |
109109

@@ -142,7 +142,7 @@ Content-Type: application/json
142142

143143
#### Response
144144

145-
The export API returns a `202` status code when an export operation is started successfully. The body of the response contains a reference to the operation, while the value of the `Location` header is the URL for the export operation's status (the same as `href` in the body).
145+
The export API returns a `202` status code when an export operation is started successfully. The body of the response contains a reference to the operation. The value of the `Location` header is the URL for the export operation's status (the same as `href` in the body).
146146

147147
Inside the destination container, use the path format `<operation id>/results/<study>/<series>/<sop instance>.dcm` to find the DCM files.
148148

@@ -178,11 +178,11 @@ Content-Type: application/json
178178

179179
## Errors
180180

181-
If there are any user errors when you export a DICOM file, the file is skipped and its corresponding error is logged. This error log is also exported alongside the DICOM files and the caller can review it. You can find the error log at `<export blob container uri>/<operation ID>/errors.log`.
181+
If there are any user errors exporting a DICOM file, the file is skipped and its corresponding error is logged. This error log is also exported alongside the DICOM files, and the caller can review it. You can find the error log at `<export blob container uri>/<operation ID>/errors.log`.
182182

183183
#### Format
184184

185-
Each line of the error log is a JSON object with the following properties. A given error identifier might appear multiple times in the log as each update to the log is processed *at least once*.
185+
Each line of the error log is a JSON object with the following properties. A given error identifier might appear multiple times in the log, as each update to the log is processed *at least once*.
186186

187187
| Property | Description |
188188
| ------------ | ----------- |

0 commit comments

Comments
 (0)