DICOM PS3.4 2024d - Service Class Specifications

CC.2.3 Subscribe/Unsubscribe to Receive UPS Event Reports (N-ACTION)

This operation allows an SCU to subscribe with an SCP in order to receive N-EVENT-REPORTS of subsequent changes to the state of a UPS instance, or to unsubscribe in order to no longer receive such N-EVENT-REPORTs. This operation shall be invoked by the SCU through the DIMSE N-ACTION Service.

CC.2.3.1 Action Information

DICOM AEs that claim conformance to the UPS Watch SOP Class as an SCU and/or an SCP shall support the Action Types and Action Information as specified in Table CC.2.3-1.

Table CC.2.3-1. Subscribe/Unsubscribe to Receive UPS Event Reports - Action Information

Action Type Name

Action Type ID

Attribute Name

Tag

Requirement Type SCU/SCP

Subscribe to Receive UPS Event Reports

3

Receiving AE

(0074,1234)

1/1

Deletion Lock

(0074,1230)

1/1

Matching Keys (see Section CC.2.3.1)

1/1

Unsubscribe from Receiving UPS Event Reports

4

Receiving AE

(0074,1234)

1/1

Suspend Global Subscription

5

Receiving AE

(0074,1234)

1/1


Each AE may be in one of three UPS Subscription States for each existing UPS Instance: Not Subscribed, Subscribed with Deletion Lock, or Subscribed w/o Deletion Lock. The UPS Subscription State determines whether N-EVENT-REPORTs relating to a UPS Instance will be sent to the AE.

Each AE may also be in one of three Global Subscription States for a given SCP: No Global Subscription, Globally Subscribed with Deletion Lock, Globally Subscribed w/o Deletion Lock. The Global Subscription State mainly determines the initial UPS Subscription State for an AE and new UPS Instances created by the SCP. Changes to the Global Subscription State can also change the UPS Subscription State for existing UPS Instances as described in Table CC.2.3-2.

The three Subscription actions in Table CC.2.3-1 are used to manage the UPS Subscription State and Global Subscription State of an AE.

Table CC.2.3-2 describes the UPS Subscription State transitions of an AE for a given UPS Instance. Each row in the table defines what should happen in response to a Subscription Action, or a UPS creation event, given the initial state. The table also shows when an initial event message should be sent to the AE describing the "Current UPS State".

Note

In general, instance specific instructions take precedence over global instructions. The exception is the Unsubscribe Globally instruction, which removes all subscriptions, global and specific. To simply stop globally subscribing to new instances without removing specific subscriptions, use the Suspend Global Subscription message.

Most actions affect only the UPS Subscription State of a single UPS Instance. However, Global actions potentially affect all existing UPS Instances managed by the SCP and this is indicated in the following table by "All". For example, in the "AE Subscribes Globally with Lock" row, the content of the "Not Subscribed" cell means that in addition to setting the Global Subscription State for the AE to "Global Subscription with Lock", all existing UPS Instances whose UPS Subscription State for the Receiving AE is "Not Subscribed" will each have their UPS Subscription State changed to "Subscribed with Lock" and an event will be sent to the Receiving AE for each Instance.

Table CC.2.3-2. UPS Subscription State Transition Table

States (for a specific UPS and AE)

Events

null

Not Subscribed

Subscribed with Lock

Subscribed w/o Lock

A UPS is Created when the AE Global Subscription State is "No Global Subscription"

Go to Not Subscribed

N/A

N/A

N/A

A UPS is Created when the AE Global Subscription State is "Global Subscription with Lock"

Go to Subscribed with Lock; Send initial event

N/A

N/A

N/A

A UPS is Created when the AE Global Subscription State is "Global Subscription w/o Lock"

Go to Subscribed w/o Lock; Send initial event

N/A

N/A

N/A

AE Subscribes Globally with Lock

N/A

AE Global State is now "Global Sub. with Lock";

All Go to Subscribed with Lock; All Send initial event

AE Global State is now "Global Sub. with Lock";

No UPS state change;

AE Global State is now "Global Sub. with Lock";

No UPS state change;

AE Subscribes Globally w/o Lock

N/A

AE Global State is now "Global Sub. w/o Lock";

All Go to Subscribed w/o Lock;

AE Global State is now "Global Sub. w/o Lock";

No UPS state change;

AE Global State is now "Global Sub. w/o Lock";

No UPS state change;

AE Subscribes to Specific UPS with Lock

N/A

Go to Subscribed with Lock; Send initial event

No UPS state change; Send initial event

Go to Subscribed with Lock; Send initial event

AE Subscribes to Specific UPS without Lock

N/A

Go to Subscribed w/o Lock; Send initial event

Go to Subscribed w/o Lock; Send initial event

No UPS state change; Send initial event

AE Unsubscribes from Specific UPS

N/A

No UPS state change

Go to Not Subscribed

Go to Not Subscribed

AE Unsubscribes Globally

N/A

AE Global State is now "No Global Subscription";

No UPS state change;

AE Global State is now "No Global Subscription";

All Go to Not Subscribed;

AE Global State is now "No Global Subscription";

All Go to Not Subscribed;

AE Suspends Global Subscription

N/A

AE Global State is now "No Global Subscription";

No UPS state change;

AE Global State is now "No Global Subscription";

No UPS state change;

AE Global State is now "No Global Subscription";

No UPS state change;


See Section GGG.1 “Introduction” in PS3.17 Reliable Watchers and Deletion Locks for further discussion of deletion locks.

DICOM PS3.4 2024d - Service Class Specifications