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

Classes

struct  annotation_query
 
struct  annotation_record
 Annotation record from the database. More...
 
class  annotation_repository
 Repository for annotation persistence (legacy SQLite interface) More...
 
struct  annotation_style
 Style information for annotations. More...
 
struct  audit_query
 Query parameters for audit log search. More...
 
struct  audit_record
 Audit log record from the database. More...
 
class  audit_repository
 
struct  azure_blob_info
 Information about an Azure Blob object. More...
 
class  azure_blob_storage
 
struct  azure_storage_config
 Configuration for Azure Blob storage. More...
 
struct  cloud_storage_config
 Configuration for S3-compatible cloud storage. More...
 
class  file_storage
 
struct  file_storage_config
 Configuration for file_storage. More...
 
class  hsm_migration_service
 
struct  hsm_statistics
 Combined statistics for all HSM tiers. More...
 
class  hsm_storage
 
struct  hsm_storage_config
 Configuration for HSM storage. More...
 
struct  index_config
 Configuration for index database. More...
 
class  index_database
 
struct  instance_query
 
struct  instance_record
 Instance record from the database. More...
 
class  instance_repository
 Repository for instance metadata persistence (legacy SQLite interface) More...
 
struct  job_query_options
 Query options for listing jobs. More...
 
class  job_repository
 Repository for job persistence (legacy SQLite interface) More...
 
struct  key_image_query
 
struct  key_image_record
 Key image record from the database. More...
 
class  key_image_repository
 Repository for key image persistence (legacy SQLite interface) More...
 
struct  measurement_query
 
struct  measurement_record
 Measurement record from the database. More...
 
class  measurement_repository
 Repository for measurement persistence (legacy SQLite interface) More...
 
struct  migration_record
 Represents a record of an applied database migration. More...
 
struct  migration_result
 Result of a migration operation. More...
 
class  migration_runner
 
struct  migration_service_config
 Configuration for the migration service. More...
 
class  mock_azure_client
 Mock Azure Blob client for testing without Azure SDK dependency. More...
 
class  mock_s3_client
 Mock S3 client for testing without AWS SDK dependency. More...
 
struct  mpps_query
 
struct  mpps_record
 MPPS record from the database. More...
 
class  mpps_repository
 
class  node_repository
 Repository for remote node persistence (legacy SQLite interface) More...
 
struct  patient_query
 
struct  patient_record
 Patient record from the database. More...
 
class  patient_repository
 Repository for patient metadata persistence (legacy SQLite interface) More...
 
struct  performed_series_info
 Information about a performed series. More...
 
struct  prefetch_history_query_options
 Query options for listing prefetch history. More...
 
class  prefetch_repository
 Repository for prefetch persistence (legacy SQLite interface) More...
 
struct  prefetch_rule_query_options
 Query options for listing prefetch rules. More...
 
struct  recent_study_record
 Recent study access record from the database. More...
 
class  routing_repository
 Repository for routing rule persistence (legacy SQLite interface) More...
 
struct  routing_rule_query_options
 Query options for listing routing rules. More...
 
struct  s3_object_info
 Information about an S3 object. More...
 
class  s3_storage
 
struct  series_query
 
struct  series_record
 Series record from the database. More...
 
class  series_repository
 Repository for series metadata persistence (legacy SQLite interface) More...
 
class  storage_interface
 
struct  storage_statistics
 Storage statistics structure. More...
 
struct  study_query
 
struct  study_record
 Study record from the database. More...
 
class  study_repository
 Repository for study metadata persistence (legacy SQLite interface) More...
 
class  sync_repository
 Repository for sync persistence (legacy SQLite interface) More...
 
struct  tier_metadata
 Metadata for tracking instance tier location. More...
 
struct  tier_policy
 
struct  tier_statistics
 Statistics for a single storage tier. More...
 
class  ups_repository
 
struct  ups_subscription
 UPS subscription record from the database. More...
 
struct  ups_workitem
 UPS workitem record from the database. More...
 
struct  ups_workitem_query
 
struct  viewer_state_query
 
struct  viewer_state_record
 Viewer state record from the database. More...
 
class  viewer_state_repository
 Repository for viewer state persistence (legacy SQLite interface) More...
 
struct  worklist_item
 Worklist item record from the database. More...
 
struct  worklist_query
 
class  worklist_repository
 

Typedefs

template<typename T >
using Result = kcenon::common::Result<T>
 Result type alias for operations returning a value.
 
using azure_progress_callback
 Callback type for upload/download progress tracking.
 
using migration_function = std::function<VoidResult(sqlite3* db)>
 Function type for migration implementations (SQLite)
 
using progress_callback
 Callback type for upload/download progress tracking.
 

Enumerations

enum class  annotation_type {
  arrow , line , rectangle , ellipse ,
  polygon , freehand , text , angle ,
  roi
}
 Annotation types supported by the system. More...
 
enum class  audit_event_type {
  association_established , association_released , c_store , c_find ,
  c_move , c_get , security_event , configuration_change ,
  system_startup , system_shutdown , user_login , user_logout ,
  data_access , data_export , error
}
 Audit event type enumeration. More...
 
enum class  audit_outcome { success , failure , warning }
 Audit log outcome/status. More...
 
enum class  naming_scheme { uid_hierarchical , date_hierarchical , flat }
 Naming scheme for DICOM file organization. More...
 
enum class  duplicate_policy { reject , replace , ignore }
 Policy for handling duplicate SOP Instance UIDs. More...
 
enum class  storage_tier { hot , warm , cold }
 Storage tier classification. More...
 
enum class  measurement_type {
  length , area , angle , hounsfield ,
  suv , ellipse_area , polygon_area
}
 Measurement types supported by the system. More...
 
enum class  mpps_status { in_progress , completed , discontinued }
 MPPS status values. More...
 
enum class  ups_state { scheduled , in_progress , completed , canceled }
 UPS workitem state values. More...
 
enum class  ups_priority { low , medium , high }
 UPS workitem priority values. More...
 
enum class  worklist_status { scheduled , started , completed }
 Worklist step status values. More...
 

Functions

auto to_string (annotation_type type) -> std::string
 Convert annotation_type to string.
 
auto annotation_type_from_string (std::string_view str) -> std::optional< annotation_type >
 Parse string to annotation_type.
 
auto to_string (audit_event_type type) -> std::string
 Convert audit_event_type enum to string representation.
 
auto parse_audit_event_type (std::string_view str) -> std::optional< audit_event_type >
 Parse string to audit_event_type enum.
 
auto to_string (audit_outcome outcome) -> std::string
 Convert audit_outcome enum to string.
 
constexpr auto to_string (storage_tier tier) noexcept -> std::string_view
 Convert storage_tier to string representation.
 
constexpr auto storage_tier_from_string (std::string_view str) -> std::optional< storage_tier >
 Parse storage_tier from string.
 
auto to_string (measurement_type type) -> std::string
 Convert measurement_type to string.
 
auto measurement_type_from_string (std::string_view str) -> std::optional< measurement_type >
 Parse string to measurement_type.
 
auto to_string (mpps_status status) -> std::string
 Convert mpps_status enum to string representation.
 
auto parse_mpps_status (std::string_view str) -> std::optional< mpps_status >
 Parse string to mpps_status enum.
 
auto to_string (ups_state state) -> std::string
 Convert ups_state enum to string representation.
 
auto parse_ups_state (std::string_view str) -> std::optional< ups_state >
 Parse string to ups_state enum.
 
auto to_string (ups_priority priority) -> std::string
 Convert ups_priority enum to string representation.
 
auto parse_ups_priority (std::string_view str) -> std::optional< ups_priority >
 Parse string to ups_priority enum.
 
auto to_string (worklist_status status) -> std::string
 Convert worklist_status enum to string representation.
 
auto parse_worklist_status (std::string_view str) -> std::optional< worklist_status >
 Parse string to worklist_status enum.
 

Typedef Documentation

◆ azure_progress_callback

Initial value:
std::function<bool(std::size_t bytes_transferred, std::size_t total_bytes)>

Callback type for upload/download progress tracking.

Parameters:

  • bytes_transferred: Number of bytes transferred so far
  • total_bytes: Total number of bytes to transfer
  • Returns: true to continue, false to abort
Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/azure_blob_storage.h.

Definition at line 124 of file azure_blob_storage.h.

◆ migration_function

using kcenon::pacs::storage::migration_function = std::function<VoidResult(sqlite3* db)>

Function type for migration implementations (SQLite)

Each migration function receives a database handle and should execute the necessary SQL to upgrade the schema to its target version.

Parameters
dbThe SQLite database handle
Returns
VoidResult Success or error information
Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/migration_runner.h.

Definition at line 58 of file migration_runner.h.

◆ progress_callback

Initial value:
std::function<bool(std::size_t bytes_transferred, std::size_t total_bytes)>

Callback type for upload/download progress tracking.

Parameters:

  • bytes_transferred: Number of bytes transferred so far
  • total_bytes: Total number of bytes to transfer
  • Returns: true to continue, false to abort
Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/hsm_migration_service.h, and /home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/s3_storage.h.

Definition at line 115 of file s3_storage.h.

◆ Result

Enumeration Type Documentation

◆ annotation_type

Annotation types supported by the system.

Enumerator
arrow 

Arrow annotation.

line 

Simple line.

rectangle 

Rectangle shape.

ellipse 

Ellipse/oval shape.

polygon 

Multi-point polygon.

freehand 

Freehand drawing.

text 

Text annotation.

angle 

Angle measurement annotation.

roi 

Region of interest.

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

Definition at line 29 of file annotation_record.h.

29 {
30 arrow,
31 line,
32 rectangle,
33 ellipse,
34 polygon,
35 freehand,
36 text,
37 angle,
38 roi
39};
@ angle
Angle measurement annotation.

◆ audit_event_type

Audit event type enumeration.

Enumerator
association_established 
association_released 
c_store 
c_find 
c_move 
c_get 
security_event 
configuration_change 
system_startup 
system_shutdown 
user_login 
user_logout 
data_access 
data_export 
error 

Definition at line 28 of file audit_record.h.

◆ audit_outcome

Audit log outcome/status.

Enumerator
success 
failure 
warning 

Definition at line 142 of file audit_record.h.

142 {
143 success,
144 failure,
145 warning
146};

◆ duplicate_policy

Policy for handling duplicate SOP Instance UIDs.

Enumerator
reject 

Return error if instance already exists.

replace 

Overwrite existing instance.

ignore 

Skip silently if instance exists.

Definition at line 52 of file file_storage.h.

52 {
54 reject,
55
57 replace,
58
60 ignore
61};

◆ measurement_type

Measurement types supported by the system.

Enumerator
length 

Linear distance measurement.

area 

Area measurement (generic)

angle 

Angle measurement in degrees.

hounsfield 

CT Hounsfield unit value.

suv 

PET Standard Uptake Value.

ellipse_area 

Ellipse area measurement.

polygon_area 

Polygon area measurement.

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

Definition at line 29 of file measurement_record.h.

29 {
30 length,
31 area,
32 angle,
34 suv,
37};
@ hounsfield
CT Hounsfield unit value.
@ length
Linear distance measurement.
@ area
Area measurement (generic)
@ polygon_area
Polygon area measurement.
@ ellipse_area
Ellipse area measurement.
@ suv
PET Standard Uptake Value.

◆ mpps_status

MPPS status values.

Defines the valid states for a Modality Performed Procedure Step. COMPLETED and DISCONTINUED are final states.

Enumerator
in_progress 

Procedure is currently being performed.

completed 

Procedure completed successfully.

discontinued 

Procedure was stopped/cancelled.

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

Definition at line 33 of file mpps_record.h.

33 {
34 in_progress,
35 completed,
36 discontinued
37};

◆ naming_scheme

Naming scheme for DICOM file organization.

Determines how files are organized in the storage directory.

Enumerator
uid_hierarchical 

{StudyUID}/{SeriesUID}/{SOPUID}.dcm

date_hierarchical 

YYYY/MM/DD/{StudyUID}/{SOPUID}.dcm.

flat 

{SOPUID}.dcm (flat structure)

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

Definition at line 38 of file file_storage.h.

38 {
41
44
46 flat
47};
@ flat
{SOPUID}.dcm (flat structure)
@ date_hierarchical
YYYY/MM/DD/{StudyUID}/{SOPUID}.dcm.
@ uid_hierarchical
{StudyUID}/{SeriesUID}/{SOPUID}.dcm

◆ storage_tier

Storage tier classification.

Represents the different tiers in the hierarchical storage system. Each tier has different performance characteristics and cost implications:

  • Hot: Fast access, high cost (SSD/NVMe)
  • Warm: Medium access, medium cost (HDD)
  • Cold: Slow access, low cost (S3/Glacier/Archive)
Enumerator
hot 

Hot tier - Recent, frequently accessed data (SSD/NVMe)

warm 

Warm tier - Older, occasionally accessed data (HDD)

cold 

Cold tier - Archive, rarely accessed data (S3/Glacier)

Definition at line 37 of file hsm_types.h.

37 {
39 hot,
40
42 warm,
43
45 cold
46};
@ hot
Hot tier - Recent, frequently accessed data (SSD/NVMe)
@ cold
Cold tier - Archive, rarely accessed data (S3/Glacier)
@ warm
Warm tier - Older, occasionally accessed data (HDD)

◆ ups_priority

UPS workitem priority values.

Defines the priority levels for UPS workitems (PS3.4 CC.1.1).

Enumerator
low 

Low priority.

medium 

Medium priority (default)

high 

High priority.

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

Definition at line 90 of file ups_workitem.h.

90 {
91 low,
92 medium,
93 high
94};
@ medium
Medium priority (default)

◆ ups_state

UPS workitem state values.

Defines the valid states for a Unified Procedure Step workitem. State transitions are unidirectional as defined in PS3.4 Table CC.1.1-2.

Enumerator
scheduled 

Workitem is scheduled (initial state)

in_progress 

Workitem is being performed.

completed 

Workitem completed successfully (final)

canceled 

Workitem was canceled (final)

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

Definition at line 34 of file ups_workitem.h.

34 {
35 scheduled,
36 in_progress,
37 completed,
39};
@ scheduled
Workitem is scheduled (initial state)
@ canceled
Workitem was canceled (final)

◆ worklist_status

Worklist step status values.

Defines the valid states for a Scheduled Procedure Step.

Enumerator
scheduled 

Procedure is scheduled (default)

started 

Procedure has been started (MPPS received)

completed 

Procedure has been completed.

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

Definition at line 31 of file worklist_record.h.

31 {
32 scheduled,
33 started,
34 completed
35};
@ started
Procedure has been started (MPPS received)

Function Documentation

◆ annotation_type_from_string()

auto kcenon::pacs::storage::annotation_type_from_string ( std::string_view str) -> std::optional<annotation_type>
inlinenodiscard

Parse string to annotation_type.

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

Definition at line 62 of file annotation_record.h.

63 {
64 if (str == "arrow") return annotation_type::arrow;
65 if (str == "line") return annotation_type::line;
66 if (str == "rectangle") return annotation_type::rectangle;
67 if (str == "ellipse") return annotation_type::ellipse;
68 if (str == "polygon") return annotation_type::polygon;
69 if (str == "freehand") return annotation_type::freehand;
70 if (str == "text") return annotation_type::text;
71 if (str == "angle") return annotation_type::angle;
72 if (str == "roi") return annotation_type::roi;
73 return std::nullopt;
74}

References angle, arrow, ellipse, freehand, line, polygon, rectangle, roi, and text.

◆ measurement_type_from_string()

auto kcenon::pacs::storage::measurement_type_from_string ( std::string_view str) -> std::optional<measurement_type>
inlinenodiscard

Parse string to measurement_type.

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

Definition at line 58 of file measurement_record.h.

59 {
60 if (str == "length") return measurement_type::length;
61 if (str == "area") return measurement_type::area;
62 if (str == "angle") return measurement_type::angle;
63 if (str == "hounsfield") return measurement_type::hounsfield;
64 if (str == "suv") return measurement_type::suv;
65 if (str == "ellipse_area") return measurement_type::ellipse_area;
66 if (str == "polygon_area") return measurement_type::polygon_area;
67 return std::nullopt;
68}

References angle, area, ellipse_area, hounsfield, length, polygon_area, and suv.

Referenced by kcenon::pacs::web::endpoints::register_measurement_endpoints_impl().

Here is the caller graph for this function:

◆ parse_audit_event_type()

auto kcenon::pacs::storage::parse_audit_event_type ( std::string_view str) -> std::optional<audit_event_type>
inlinenodiscard

Parse string to audit_event_type enum.

Definition at line 89 of file audit_record.h.

90 {
91 if (str == "ASSOCIATION_ESTABLISHED") {
92 return audit_event_type::association_established;
93 }
94 if (str == "ASSOCIATION_RELEASED") {
95 return audit_event_type::association_released;
96 }
97 if (str == "C_STORE") {
98 return audit_event_type::c_store;
99 }
100 if (str == "C_FIND") {
101 return audit_event_type::c_find;
102 }
103 if (str == "C_MOVE") {
104 return audit_event_type::c_move;
105 }
106 if (str == "C_GET") {
107 return audit_event_type::c_get;
108 }
109 if (str == "SECURITY_EVENT") {
110 return audit_event_type::security_event;
111 }
112 if (str == "CONFIGURATION_CHANGE") {
113 return audit_event_type::configuration_change;
114 }
115 if (str == "SYSTEM_STARTUP") {
116 return audit_event_type::system_startup;
117 }
118 if (str == "SYSTEM_SHUTDOWN") {
119 return audit_event_type::system_shutdown;
120 }
121 if (str == "USER_LOGIN") {
122 return audit_event_type::user_login;
123 }
124 if (str == "USER_LOGOUT") {
125 return audit_event_type::user_logout;
126 }
127 if (str == "DATA_ACCESS") {
128 return audit_event_type::data_access;
129 }
130 if (str == "DATA_EXPORT") {
131 return audit_event_type::data_export;
132 }
133 if (str == "ERROR") {
134 return audit_event_type::error;
135 }
136 return std::nullopt;
137}

References association_established, association_released, c_find, c_get, c_move, c_store, configuration_change, data_access, data_export, error, security_event, system_shutdown, system_startup, user_login, and user_logout.

◆ parse_mpps_status()

auto kcenon::pacs::storage::parse_mpps_status ( std::string_view str) -> std::optional<mpps_status>
inlinenodiscard

Parse string to mpps_status enum.

Parameters
strThe string representation
Returns
Optional containing the status if valid, nullopt otherwise
Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/mpps_record.h.

Definition at line 64 of file mpps_record.h.

65 {
66 if (str == "IN PROGRESS") {
67 return mpps_status::in_progress;
68 }
69 if (str == "COMPLETED") {
70 return mpps_status::completed;
71 }
72 if (str == "DISCONTINUED") {
73 return mpps_status::discontinued;
74 }
75 return std::nullopt;
76}

References completed, discontinued, and in_progress.

Referenced by kcenon::pacs::storage::mpps_record::get_status().

Here is the caller graph for this function:

◆ parse_ups_priority()

auto kcenon::pacs::storage::parse_ups_priority ( std::string_view str) -> std::optional<ups_priority>
inlinenodiscard

Parse string to ups_priority enum.

Parameters
strThe string representation
Returns
Optional containing the priority if valid, nullopt otherwise
Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/ups_workitem.h.

Definition at line 121 of file ups_workitem.h.

122 {
123 if (str == "LOW") {
124 return ups_priority::low;
125 }
126 if (str == "MEDIUM") {
127 return ups_priority::medium;
128 }
129 if (str == "HIGH") {
130 return ups_priority::high;
131 }
132 return std::nullopt;
133}

References high, low, and medium.

Referenced by kcenon::pacs::storage::ups_workitem::get_priority().

Here is the caller graph for this function:

◆ parse_ups_state()

auto kcenon::pacs::storage::parse_ups_state ( std::string_view str) -> std::optional<ups_state>
inlinenodiscard

Parse string to ups_state enum.

Parameters
strThe string representation
Returns
Optional containing the state if valid, nullopt otherwise
Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/ups_workitem.h.

Definition at line 68 of file ups_workitem.h.

69 {
70 if (str == "SCHEDULED") {
71 return ups_state::scheduled;
72 }
73 if (str == "IN PROGRESS") {
74 return ups_state::in_progress;
75 }
76 if (str == "COMPLETED") {
77 return ups_state::completed;
78 }
79 if (str == "CANCELED") {
80 return ups_state::canceled;
81 }
82 return std::nullopt;
83}

References canceled, completed, in_progress, and scheduled.

Referenced by kcenon::pacs::storage::ups_repository::change_ups_state(), kcenon::pacs::storage::ups_workitem::get_state(), kcenon::pacs::services::ups_push_scp::handle_n_action(), kcenon::pacs::services::ups_push_scp::handle_n_create(), and kcenon::pacs::services::ups_push_scp::handle_n_set().

Here is the caller graph for this function:

◆ parse_worklist_status()

auto kcenon::pacs::storage::parse_worklist_status ( std::string_view str) -> std::optional<worklist_status>
inlinenodiscard

Parse string to worklist_status enum.

Parameters
strThe string representation
Returns
Optional containing the status if valid, nullopt otherwise
Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/worklist_record.h.

Definition at line 62 of file worklist_record.h.

63 {
64 if (str == "SCHEDULED") {
65 return worklist_status::scheduled;
66 }
67 if (str == "STARTED") {
68 return worklist_status::started;
69 }
70 if (str == "COMPLETED") {
71 return worklist_status::completed;
72 }
73 return std::nullopt;
74}

References completed, scheduled, and started.

Referenced by kcenon::pacs::storage::worklist_item::get_status().

Here is the caller graph for this function:

◆ storage_tier_from_string()

auto kcenon::pacs::storage::storage_tier_from_string ( std::string_view str) -> std::optional<storage_tier>
nodiscardconstexpr

Parse storage_tier from string.

Parameters
strString representation ("hot", "warm", "cold")
Returns
Parsed storage tier or std::nullopt if invalid
Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/hsm_types.h.

Definition at line 71 of file hsm_types.h.

72 {
73 if (str == "hot") {
74 return storage_tier::hot;
75 }
76 if (str == "warm") {
77 return storage_tier::warm;
78 }
79 if (str == "cold") {
80 return storage_tier::cold;
81 }
82 return std::nullopt;
83}

References cold, hot, and warm.

◆ to_string() [1/9]

auto kcenon::pacs::storage::to_string ( annotation_type type) -> std::string
inlinenodiscard

Convert annotation_type to string.

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/annotation_record.h, /home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/hsm_types.h, /home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/measurement_record.h, /home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/mpps_record.h, /home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/ups_workitem.h, and /home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/worklist_record.h.

Definition at line 44 of file annotation_record.h.

44 {
45 switch (type) {
46 case annotation_type::arrow: return "arrow";
47 case annotation_type::line: return "line";
48 case annotation_type::rectangle: return "rectangle";
49 case annotation_type::ellipse: return "ellipse";
50 case annotation_type::polygon: return "polygon";
51 case annotation_type::freehand: return "freehand";
52 case annotation_type::text: return "text";
53 case annotation_type::angle: return "angle";
54 case annotation_type::roi: return "roi";
55 }
56 return "unknown";
57}

References angle, arrow, ellipse, freehand, line, polygon, rectangle, roi, and text.

Referenced by kcenon::pacs::storage::hsm_storage::migrate_instance(), kcenon::pacs::storage::sync_repository::resolve_conflict(), kcenon::pacs::storage::annotation_repository::save(), kcenon::pacs::storage::measurement_repository::save(), kcenon::pacs::storage::sync_repository::save_config(), kcenon::pacs::storage::sync_repository::save_conflict(), kcenon::pacs::storage::annotation_repository::search(), kcenon::pacs::storage::measurement_repository::search(), and kcenon::pacs::storage::hsm_storage::verify_integrity().

Here is the caller graph for this function:

◆ to_string() [2/9]

auto kcenon::pacs::storage::to_string ( audit_event_type type) -> std::string
inlinenodiscard

Convert audit_event_type enum to string representation.

Definition at line 49 of file audit_record.h.

49 {
50 switch (type) {
51 case audit_event_type::association_established:
52 return "ASSOCIATION_ESTABLISHED";
53 case audit_event_type::association_released:
54 return "ASSOCIATION_RELEASED";
55 case audit_event_type::c_store:
56 return "C_STORE";
57 case audit_event_type::c_find:
58 return "C_FIND";
59 case audit_event_type::c_move:
60 return "C_MOVE";
61 case audit_event_type::c_get:
62 return "C_GET";
63 case audit_event_type::security_event:
64 return "SECURITY_EVENT";
65 case audit_event_type::configuration_change:
66 return "CONFIGURATION_CHANGE";
67 case audit_event_type::system_startup:
68 return "SYSTEM_STARTUP";
69 case audit_event_type::system_shutdown:
70 return "SYSTEM_SHUTDOWN";
71 case audit_event_type::user_login:
72 return "USER_LOGIN";
73 case audit_event_type::user_logout:
74 return "USER_LOGOUT";
75 case audit_event_type::data_access:
76 return "DATA_ACCESS";
77 case audit_event_type::data_export:
78 return "DATA_EXPORT";
79 case audit_event_type::error:
80 return "ERROR";
81 default:
82 return "UNKNOWN";
83 }
84}

References association_established, association_released, c_find, c_get, c_move, c_store, configuration_change, data_access, data_export, error, security_event, system_shutdown, system_startup, user_login, and user_logout.

◆ to_string() [3/9]

auto kcenon::pacs::storage::to_string ( audit_outcome outcome) -> std::string
inlinenodiscard

Convert audit_outcome enum to string.

Definition at line 151 of file audit_record.h.

151 {
152 switch (outcome) {
153 case audit_outcome::success:
154 return "SUCCESS";
155 case audit_outcome::failure:
156 return "FAILURE";
157 case audit_outcome::warning:
158 return "WARNING";
159 default:
160 return "UNKNOWN";
161 }
162}

References failure, success, and warning.

◆ to_string() [4/9]

auto kcenon::pacs::storage::to_string ( measurement_type type) -> std::string
inlinenodiscard

Convert measurement_type to string.

Definition at line 42 of file measurement_record.h.

42 {
43 switch (type) {
44 case measurement_type::length: return "length";
45 case measurement_type::area: return "area";
46 case measurement_type::angle: return "angle";
47 case measurement_type::hounsfield: return "hounsfield";
48 case measurement_type::suv: return "suv";
49 case measurement_type::ellipse_area: return "ellipse_area";
50 case measurement_type::polygon_area: return "polygon_area";
51 }
52 return "unknown";
53}

References angle, area, ellipse_area, hounsfield, length, polygon_area, and suv.

◆ to_string() [5/9]

auto kcenon::pacs::storage::to_string ( mpps_status status) -> std::string
inlinenodiscard

Convert mpps_status enum to string representation.

Parameters
statusThe status enum value
Returns
String representation matching DICOM standard

Definition at line 45 of file mpps_record.h.

45 {
46 switch (status) {
47 case mpps_status::in_progress:
48 return "IN PROGRESS";
49 case mpps_status::completed:
50 return "COMPLETED";
51 case mpps_status::discontinued:
52 return "DISCONTINUED";
53 default:
54 return "IN PROGRESS";
55 }
56}

References completed, discontinued, and in_progress.

◆ to_string() [6/9]

auto kcenon::pacs::storage::to_string ( storage_tier tier) -> std::string_view
nodiscardconstexprnoexcept

Convert storage_tier to string representation.

Parameters
tierThe storage tier
Returns
String representation ("hot", "warm", "cold")

Definition at line 53 of file hsm_types.h.

54 {
55 switch (tier) {
56 case storage_tier::hot:
57 return "hot";
58 case storage_tier::warm:
59 return "warm";
60 case storage_tier::cold:
61 return "cold";
62 }
63 return "unknown";
64}

References cold, hot, and warm.

◆ to_string() [7/9]

auto kcenon::pacs::storage::to_string ( ups_priority priority) -> std::string
inlinenodiscard

Convert ups_priority enum to string representation.

Parameters
priorityThe priority enum value
Returns
String representation matching DICOM standard

Definition at line 102 of file ups_workitem.h.

102 {
103 switch (priority) {
104 case ups_priority::low:
105 return "LOW";
106 case ups_priority::medium:
107 return "MEDIUM";
108 case ups_priority::high:
109 return "HIGH";
110 default:
111 return "MEDIUM";
112 }
113}

References high, low, and medium.

◆ to_string() [8/9]

auto kcenon::pacs::storage::to_string ( ups_state state) -> std::string
inlinenodiscard

Convert ups_state enum to string representation.

Parameters
stateThe state enum value
Returns
String representation matching DICOM standard

Definition at line 47 of file ups_workitem.h.

47 {
48 switch (state) {
49 case ups_state::scheduled:
50 return "SCHEDULED";
51 case ups_state::in_progress:
52 return "IN PROGRESS";
53 case ups_state::completed:
54 return "COMPLETED";
55 case ups_state::canceled:
56 return "CANCELED";
57 default:
58 return "SCHEDULED";
59 }
60}

References canceled, completed, in_progress, and scheduled.

◆ to_string() [9/9]

auto kcenon::pacs::storage::to_string ( worklist_status status) -> std::string
inlinenodiscard

Convert worklist_status enum to string representation.

Parameters
statusThe status enum value
Returns
String representation

Definition at line 43 of file worklist_record.h.

43 {
44 switch (status) {
45 case worklist_status::scheduled:
46 return "SCHEDULED";
47 case worklist_status::started:
48 return "STARTED";
49 case worklist_status::completed:
50 return "COMPLETED";
51 default:
52 return "SCHEDULED";
53 }
54}

References completed, scheduled, and started.