69 -> std::optional<ups_state> {
70 if (str ==
"SCHEDULED") {
73 if (str ==
"IN PROGRESS") {
76 if (str ==
"COMPLETED") {
79 if (str ==
"CANCELED") {
122 -> std::optional<ups_priority> {
126 if (str ==
"MEDIUM") {
241 [[nodiscard]]
auto is_valid() const noexcept ->
bool {
250 [[nodiscard]]
auto is_final() const noexcept ->
bool {
251 return state ==
"COMPLETED" ||
state ==
"CANCELED";
@ completed
Procedure completed successfully.
@ in_progress
Procedure is currently being performed.
ups_priority
UPS workitem priority values.
@ medium
Medium priority (default)
auto parse_ups_priority(std::string_view str) -> std::optional< ups_priority >
Parse string to ups_priority enum.
ups_state
UPS workitem state values.
@ scheduled
Workitem is scheduled (initial state)
@ completed
Workitem completed successfully (final)
@ canceled
Workitem was canceled (final)
@ in_progress
Workitem is being performed.
auto parse_ups_state(std::string_view str) -> std::optional< ups_state >
Parse string to ups_state enum.
auto to_string(annotation_type type) -> std::string
Convert annotation_type to string.
UPS subscription record from the database.
std::string subscriber_ae
Subscriber AE Title (required)
auto is_workitem_specific() const noexcept -> bool
Check if this is a workitem-specific subscription.
std::chrono::system_clock::time_point created_at
Record creation timestamp.
std::string filter_criteria
Filter criteria for worklist subscriptions (JSON serialized)
int64_t pk
Primary key (auto-generated)
auto is_global() const noexcept -> bool
Check if this is a global subscription.
std::string workitem_uid
Specific workitem UID (empty for worklist/global subscriptions)
bool deletion_lock
Whether deletion is locked for this subscriber.
std::optional< std::string > procedure_step_label
Procedure Step Label filter (supports wildcards with '*')
size_t limit
Maximum number of results to return (0 = unlimited)
std::optional< std::string > workitem_uid
Workitem SOP Instance UID (exact match)
std::optional< std::string > priority
Priority filter (exact match)
auto has_criteria() const noexcept -> bool
Check if any filter criteria is set.
std::optional< std::string > state
State filter (exact match)
std::optional< std::string > worklist_label
Worklist Label filter (supports wildcards with '*')
std::optional< std::string > scheduled_date_from
Scheduled start date range begin (inclusive, format: YYYYMMDD)
std::optional< std::string > performing_ae
Performing AE filter (exact match)
size_t offset
Offset for pagination.
std::optional< std::string > scheduled_date_to
Scheduled start date range end (inclusive, format: YYYYMMDD)
UPS workitem record from the database.
std::string workitem_uid
UPS SOP Instance UID - unique identifier for this workitem.
std::string scheduled_human_performers
Scheduled Human Performers Sequence (JSON serialized)
std::string input_information
Input Information Sequence (JSON serialized references to input data)
std::string performing_ae
Performing AE Title (set when claimed)
std::string expected_completion_datetime
Expected Completion DateTime (DICOM DT format)
std::string scheduled_station_name
Scheduled Station Name Code Sequence (JSON serialized)
std::string state
Current state of the workitem.
std::string transaction_uid
Transaction UID (set when state changes to IN PROGRESS)
std::chrono::system_clock::time_point updated_at
Record last update timestamp.
std::string output_information
Output Information Sequence (JSON serialized references to output data)
int64_t pk
Primary key (auto-generated)
std::chrono::system_clock::time_point created_at
Record creation timestamp.
std::string progress_description
Procedure Step State (progress description text)
std::string scheduled_station_geographic
Scheduled Station Geographic Location Code Sequence (JSON serialized)
std::string scheduled_start_datetime
Scheduled Procedure Step Start DateTime (DICOM DT format)
int progress_percent
Procedure Step Progress (0-100 percentage)
auto is_final() const noexcept -> bool
Check if this workitem is in a final state.
auto get_priority() const -> std::optional< ups_priority >
Get the priority as enum.
auto get_state() const -> std::optional< ups_state >
Get the state as enum.
std::string priority
Priority (LOW, MEDIUM, HIGH)
std::string worklist_label
Worklist Label (for grouping workitems)
std::string procedure_step_label
Procedure Step Label (human-readable description)
std::string scheduled_station_class
Scheduled Station Class Code Sequence (JSON serialized)
auto is_valid() const noexcept -> bool
Check if this record has valid data.