Skip to content

Commit a7201fa

Browse files
committed
Acrolinx fixes.
1 parent 722f96f commit a7201fa

File tree

3 files changed

+44
-41
lines changed

3 files changed

+44
-41
lines changed

articles/healthcare-apis/dicom/api-versioning-dicom-service.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,18 +52,18 @@ We currently only increment the major version whenever there's a breaking change
5252

5353
Below are some examples of breaking changes (Major version is incremented):
5454

55-
1. Renaming or removing endpoints.
56-
2. Removing parameters or adding mandatory parameters.
57-
3. Changing status code.
58-
4. Deleting a property in a response, or altering a response type at all, but it's okay to add properties to the response.
59-
5. Changing the type of a property.
60-
6. Behavior when an API changes such as changes in business logic used to do foo, but it now does bar.
55+
* Renaming or removing endpoints.
56+
* Removing parameters or adding mandatory parameters.
57+
* Changing status code.
58+
* Deleting a property in a response, or altering a response type at all, but it's okay to add properties to the response.
59+
* Changing the type of a property.
60+
* Behavior when an API changes such as changes in business logic used to do foo, but it now does bar.
6161

6262
Non-breaking changes (Version isn't incremented):
6363

64-
1. Addition of properties that are nullable or have a default value.
65-
2. Addition of properties to a response model.
66-
3. Changing the order of properties.
64+
* Addition of properties that are nullable or have a default value.
65+
* Addition of properties to a response model.
66+
* Changing the order of properties.
6767

6868
## Header in response
6969

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

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ You can find example requests for supported transactions in the [Postman collect
4646

4747
## Preamble Sanitization
4848

49-
The service ignores the 128-byte File Preamble, and replaces its contents with null characters. This behavior ensures that no files passed through the service are vulnerable to the [malicious preamble vulnerability](https://dicom.nema.org/medical/dicom/current/output/chtml/part10/sect_7.5.html). However, this also means that [preambles used to encode dual format content](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6489422/) such as TIFF can't be used with the service.
49+
The service ignores the 128-byte File Preamble, and replaces its contents with null characters. This behavior ensures that no files passed through the service are vulnerable to the [malicious preamble vulnerability](https://dicom.nema.org/medical/dicom/current/output/chtml/part10/sect_7.5.html). However, this preamble sanitization also means that [preambles used to encode dual format content](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6489422/) such as TIFF can't be used with the service.
5050

5151
## Studies Service
5252

@@ -91,12 +91,13 @@ Each file stored must have a unique combination of `StudyInstanceUID`, `SeriesIn
9191

9292
Only transfer syntaxes with explicit Value Representations are accepted.
9393

94+
> [!NOTE]
9495
> Requests are limited to 2GB. No single DICOM file or combination of files may exceed this limit.
9596
9697
#### Store changes from v1
97-
In previous versions, a Store request would fail if any of the [required](#store-required-attributes) or [searchable attributes](#searchable-attributes) failed validation. Beginning with V2, the request will only fail if **required attributes** fail validation.
98+
In previous versions, a Store request would fail if any of the [required](#store-required-attributes) or [searchable attributes](#searchable-attributes) failed validation. Beginning with V2, the request fails only if **required attributes** fail validation.
9899

99-
Failed validation of attributes not required by the API results in the file being stored and a warning is given about each failing attribute per instance.
100+
Failed validation of attributes not required by the API results in the file being stored with a warning. A warning is given about each failing attribute per instance.
100101
When a sequence contains an attribute that fails validation, or when there are multiple issues with a single attribute, only the first failing attribute reason is noted.
101102

102103
#### Store response status codes
@@ -130,7 +131,7 @@ Each dataset in the `FailedSOPSequence` has the following elements (if the DICOM
130131
| (0008, 1150) | `ReferencedSOPClassUID` | The SOP class unique identifier of the instance that failed to store. |
131132
| (0008, 1155) | `ReferencedSOPInstanceUID` | The SOP instance unique identifier of the instance that failed to store. |
132133
| (0008, 1197) | `FailureReason` | The reason code why this instance failed to store. |
133-
| (0008, 1196) | `WarningReason` | A `WarningReason` indicates validation issues that were detected but were not severe enough to fail the store operation. |
134+
| (0008, 1196) | `WarningReason` | A `WarningReason` indicates validation issues that were detected but weren't severe enough to fail the store operation. |
134135
| (0074, 1048) | `FailedAttributesSequence` | The sequence of `ErrorComment` that includes the reason for each failed attribute. |
135136

136137
Each dataset in the `ReferencedSOPSequence` has the following elements:
@@ -348,7 +349,7 @@ The following `Accept` header is supported for retrieving metadata for a study,
348349

349350
* `application/dicom+json`
350351

351-
Retrieving metadata will not return attributes with the following value representations:
352+
Retrieving metadata won't return attributes with the following value representations:
352353

353354
| VR Name | Description |
354355
| :------ | :--------------------- |
@@ -365,7 +366,7 @@ Retrieving metadata will not return attributes with the following value represen
365366
Cache validation is supported using the `ETag` mechanism. In the response to a metadata request, ETag is returned as one of the headers. This ETag can be cached and added as `If-None-Match` header in the later requests for the same metadata. Two types of responses are possible if the data exists:
366367

367368
* Data hasn't changed since the last request: `HTTP 304 (Not Modified)` response is sent with no response body.
368-
* Data has changed since the last request: `HTTP 200 (OK)` response is sent with updated ETag. Required data will also be returned as part of the body.
369+
* Data has changed since the last request: `HTTP 200 (OK)` response is sent with updated ETag. Required data is returned as part of the body.
369370

370371
### Retrieve response status codes
371372

@@ -401,7 +402,7 @@ The following `Accept` header(s) are supported for searching:
401402
* `application/dicom+json`
402403

403404
### Search changes from v1
404-
In the v1 API and continued for v2, if an [extended query tag](dicom-extended-query-tags-overview.md) has any errors, because one or more of the existing instances had a tag value that could not be indexed, then subsequent search queries containing the extended query tag will return `erroneous-dicom-attributes` as detailed in the [documentation](dicom-extended-query-tags-overview.md#tag-query-status). However, tags (also known as attributes) with validation warnings from STOW-RS are **not** included in this header. If a store request results in validation warnings on [searchable tags](#searchable-attributes), subsequent searches containing these tags will not consider any DICOM SOP instance that produced a warning. This may result in incomplete search results.
405+
In the v1 API and continued for v2, if an [extended query tag](dicom-extended-query-tags-overview.md) has any errors, because one or more of the existing instances had a tag value that couldn't be indexed, then subsequent search queries containing the extended query tag will return `erroneous-dicom-attributes` as detailed in the [documentation](dicom-extended-query-tags-overview.md#tag-query-status). However, tags (also known as attributes) with validation warnings from STOW-RS are **not** included in this header. If a store request results in validation warnings on [searchable tags](#searchable-attributes), subsequent searches containing these tags won't consider any DICOM SOP instance that produced a warning. This behavior may result in incomplete search results.
405406
To correct an attribute, delete the stored instance and upload the corrected data.
406407

407408
### Supported search parameters
@@ -414,7 +415,7 @@ The following parameters for each query are supported:
414415
| `includefield=` | `{attributeID}`<br/>`all` | 0...N | The additional attributes to return in the response. Both, public and private tags are supported.<br/>When `all` is provided, refer to [Search Response](#search-response) for more information about which attributes are returned for each query type.<br/>If a mixture of `{attributeID}` and `all` is provided, the server defaults to using `all`. |
415416
| `limit=` | `{value}` | 0..1 | Integer value to limit the number of values returned in the response.<br/>Value can be between the range 1 >= x <= 200. Defaulted to 100. |
416417
| `offset=` | `{value}` | 0..1 | Skip `{value}` results.<br/>If an offset is provided larger than the number of search query results, a 204 (no content) response is returned. |
417-
| `fuzzymatching=` | `true` / `false` | 0..1 | If true fuzzy matching is applied to PatientName attribute. It does a prefix word match of any name part inside PatientName value. For example, if PatientName is "John^Doe", then "joh", "do", "jo do", "Doe" and "John Doe" will all match. However "ohn" won't match. |
418+
| `fuzzymatching=` | `true` / `false` | 0..1 | If true fuzzy matching is applied to PatientName attribute. It does a prefix word match of any name part inside PatientName value. For example, if PatientName is "John^Doe", then "joh", "do", "jo do", "Doe" and "John Doe" all match. However "ohn" doesn't match. |
418419

419420
#### Searchable attributes
420421

@@ -443,7 +444,7 @@ We support the following matching types.
443444

444445
| Search Type | Supported Attribute | Example |
445446
| :---------- | :------------------ | :------ |
446-
| Range Query | `StudyDate`/`PatientBirthDate` | `{attributeID}={value1}-{value2}`. For date/ time values, we support an inclusive range on the tag. This will be mapped to `attributeID >= {value1} AND attributeID <= {value2}`. If `{value1}` isn't specified, all occurrences of dates/times prior to and including `{value2}` will be matched. Likewise, if `{value2}` isn't specified, all occurrences of `{value1}` and subsequent dates/times will be matched. However, one of these values has to be present. `{attributeID}={value1}-` and `{attributeID}=-{value2}` are valid, however, `{attributeID}=-` is invalid. |
447+
| Range Query | `StudyDate`/`PatientBirthDate` | `{attributeID}={value1}-{value2}`. For date/ time values, we support an inclusive range on the tag. This is mapped to `attributeID >= {value1} AND attributeID <= {value2}`. If `{value1}` isn't specified, all occurrences of dates/times prior to and including `{value2}` are matched. Likewise, if `{value2}` isn't specified, all occurrences of `{value1}` and subsequent dates/times are matched. However, one of these values has to be present. `{attributeID}={value1}-` and `{attributeID}=-{value2}` are valid, however, `{attributeID}=-` is invalid. |
447448
| Exact Match | All supported attributes | `{attributeID}={value1}` |
448449
| Fuzzy Match | `PatientName`, `ReferringPhysicianName` | Matches any component of the name that starts with the value. |
449450

@@ -647,10 +648,11 @@ There are several requirements related to DICOM data attributes in the context o
647648
required to be present, required to not be present, required to be empty, or required to not be empty. These requirements can be
648649
found [in this table](https://dicom.nema.org/medical/dicom/current/output/html/part04.html#table_CC.2.5-3).
649650

650-
Notes on dataset attributes:
651+
> [!NOTE]
652+
> Although the reference table above 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.
651653
652-
* **SOP Instance UID:** Although the reference table above 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.
653-
* **Conditional requirement codes:** All the conditional requirement codes including 1C and 2C are treated as optional.
654+
> [!NOTE]
655+
> All the conditional requirement codes including 1C and 2C are treated as optional.
654656
655657
#### Create response status codes
656658

@@ -761,11 +763,11 @@ There are many requirements related to DICOM data attributes in the context of a
761763
required to be present, required to not be present, required to be empty, or required to not be empty. These requirements can be
762764
found in [this table](https://dicom.nema.org/medical/dicom/current/output/html/part04.html#table_CC.2.5-3).
763765

764-
Notes on dataset attributes:
765-
766-
* **Conditional requirement codes:** All the conditional requirement codes including 1C and 2C are treated as optional.
766+
> [!NOTE]
767+
> All the conditional requirement codes including 1C and 2C are treated as optional.
767768
768-
* The request can't set the value of the Procedure Step State (0074,1000) attribute. Procedure Step State is managed using the Change State transaction, or the Request Cancellation transaction.
769+
> [!NOTE]
770+
> The request can't set the value of the Procedure Step State (0074,1000) attribute. Procedure Step State is managed using the Change State transaction, or the Request Cancellation transaction.
769771
770772
#### Update Workitem transaction response status codes
771773

0 commit comments

Comments
 (0)