PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
kcenon::pacs::storage::ups_subscription Struct Reference

UPS subscription record from the database. More...

#include <ups_workitem.h>

Collaboration diagram for kcenon::pacs::storage::ups_subscription:
Collaboration graph

Public Member Functions

auto is_global () const noexcept -> bool
 Check if this is a global subscription.
 
auto is_workitem_specific () const noexcept -> bool
 Check if this is a workitem-specific subscription.
 

Public Attributes

int64_t pk {0}
 Primary key (auto-generated)
 
std::string subscriber_ae
 Subscriber AE Title (required)
 
std::string workitem_uid
 Specific workitem UID (empty for worklist/global subscriptions)
 
bool deletion_lock {false}
 Whether deletion is locked for this subscriber.
 
std::string filter_criteria
 Filter criteria for worklist subscriptions (JSON serialized)
 
std::chrono::system_clock::time_point created_at
 Record creation timestamp.
 

Detailed Description

UPS subscription record from the database.

Represents a subscription to UPS workitem state change events. Subscribers receive N-EVENT-REPORT notifications when workitems matching their criteria change state.

Subscription types (PS3.4 CC.2.4):

  • Specific workitem: Subscribe to a single workitem by UID
  • Filtered worklist: Subscribe to workitems matching a filter
  • Global: Subscribe to all workitem state changes

Definition at line 285 of file ups_workitem.h.

Member Function Documentation

◆ is_global()

auto kcenon::pacs::storage::ups_subscription::is_global ( ) const -> bool
inlinenodiscardnoexcept

Check if this is a global subscription.

A global subscription matches all workitems.

Returns
true if no workitem_uid and no filter_criteria
Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/ups_workitem.h.

Definition at line 311 of file ups_workitem.h.

311 {
312 return workitem_uid.empty() && filter_criteria.empty();
313 }
std::string filter_criteria
Filter criteria for worklist subscriptions (JSON serialized)
std::string workitem_uid
Specific workitem UID (empty for worklist/global subscriptions)

References filter_criteria, and workitem_uid.

◆ is_workitem_specific()

auto kcenon::pacs::storage::ups_subscription::is_workitem_specific ( ) const -> bool
inlinenodiscardnoexcept

Check if this is a workitem-specific subscription.

Returns
true if subscribed to a specific workitem UID
Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/ups_workitem.h.

Definition at line 320 of file ups_workitem.h.

320 {
321 return !workitem_uid.empty();
322 }

References workitem_uid.

Member Data Documentation

◆ created_at

std::chrono::system_clock::time_point kcenon::pacs::storage::ups_subscription::created_at

◆ deletion_lock

bool kcenon::pacs::storage::ups_subscription::deletion_lock {false}

Whether deletion is locked for this subscriber.

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/ups_workitem.h.

Definition at line 296 of file ups_workitem.h.

296{false};

Referenced by kcenon::pacs::storage::ups_repository::get_ups_subscriptions().

◆ filter_criteria

std::string kcenon::pacs::storage::ups_subscription::filter_criteria

Filter criteria for worklist subscriptions (JSON serialized)

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/ups_workitem.h.

Definition at line 299 of file ups_workitem.h.

Referenced by kcenon::pacs::storage::ups_repository::get_ups_subscriptions(), and is_global().

◆ pk

int64_t kcenon::pacs::storage::ups_subscription::pk {0}

◆ subscriber_ae

std::string kcenon::pacs::storage::ups_subscription::subscriber_ae

◆ workitem_uid

std::string kcenon::pacs::storage::ups_subscription::workitem_uid

The documentation for this struct was generated from the following file: