Annex A - URL/URI Transfer Syntax (informative)

Access to the content of a data object is enabled by specifying a "link" pointing to a specific DICOM Persistent Object by means of its URL/URI and specifying its DICOM object Instance UID and the transfer syntax to be employed.

Extension to searching DICOM objects from a Server is out of the scope of the present standard. Differences between "Web Accessing" and "Searching" are mainly:

  1. "Web Accessing" means retrieving an object as a "binary" answer: "I have it, I give it to you" or "I haven't". In fact, the negative answer will be a "Void" object or an error.

  2. "Searching" means querying for objects has a "fuzzy answer": "I have a list of potential candidates to your question - see above the (possible void) list of their reference -".

The general syntax of the standard respects the URI recommendation IETF RFC2396. It can be expressed as:

<scheme>://<authority><path>?<query>

It is structured following BNF syntax. The first definition of this syntax is:

  1. URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]

  2. absoluteURI = scheme ":" ( hier_part | opaque_part )

  3. relativeURI = ( net_path | abs_path | rel_path ) [ "?" query ]

  4. hier_part = ( net_path | abs_path ) [ "?" query ]

The present standard aims only to define the term query, and not the other components of the URL/URI that are defining the path way from the Web Client System to the Web Enabled DICOM System, independent of the DICOM Persistent Object itself. However it is anticipated that, if present, scheme value is HTTP, in order to be compatible with web browsers.

This definition of the term query shall respect fully the BNF syntax exposed in the IETF RFC2396. Within a query component, the characters ";", "/", "?", ":", "@", "&", "=", "+", ",", and "$" are reserved. It is only a restriction of it for the unique purpose of retrieving DICOM Persistent Objects through Web Access to DICOM Persistent Objects.

Note: Management of the HTTP returns different codes (e.g. "404 Not found") as specified in IETF RFC2616.

Control names and values are escaped. Space characters are replaced by "+", and then reserved characters are escaped as described in IETF RFC2396. Non-alphanumeric characters are replaced by "%HH", a percent sign and two hexadecimal digits representing the ASCII code of the character. Line breaks are represented as "CR LF" pairs (i.e., "%0D%0A").

The control names/values are listed in the order they appear in the document. The name is separated from the value by "=" and name/value pairs are separated from each other by "&".

Syntax of the <query> component

The BNF syntax restriction of parameters for the Web Access to DICOM Persistent Objects service is the following:

  1. query = parameter ["&" parameter]

  2. parameter = name "=" value

  3. name = nchars

  4. value = nchars

  5. nchars = *nchar

  6. nchar = unreserved | escaped

where unreserved and escaped are defined in IETF RFC2396.