|
PACS System 0.1.0
PACS DICOM system library
|
Classes | |
| class | job_manager |
| struct | job_manager_config |
| Configuration for the job manager. More... | |
| struct | job_progress |
| Progress tracking for a job. More... | |
| struct | job_record |
| Complete job record with all metadata. More... | |
| struct | node_manager_config |
| Configuration for the remote node manager. More... | |
| struct | node_statistics |
| Statistics for a remote node. More... | |
| struct | prefetch_history |
| History record for a single prefetch operation. More... | |
| class | prefetch_manager |
| struct | prefetch_manager_config |
| Configuration for the prefetch manager. More... | |
| struct | prefetch_repositories |
| struct | prefetch_result |
| Result of a prefetch operation. More... | |
| struct | prefetch_rule |
| Rule defining when and how to prefetch DICOM data. More... | |
| struct | prefetch_rule_statistics |
| Statistics for a prefetch rule. More... | |
| struct | queue_entry |
| struct | remote_node |
| class | remote_node_manager |
| struct | routing_action |
| Action to perform when a routing rule matches. More... | |
| struct | routing_condition |
| A single condition for routing rule evaluation. More... | |
| class | routing_manager |
| struct | routing_manager_config |
| Configuration for the routing manager. More... | |
| struct | routing_rule |
| A complete routing rule with conditions and actions. More... | |
| struct | routing_statistics |
| Statistics for routing operations. More... | |
| struct | routing_test_result |
| Result of testing rules against a dataset (dry run) More... | |
| struct | sync_config |
| Configuration for a synchronization task. More... | |
| struct | sync_conflict |
| Represents a conflict detected during synchronization. More... | |
| struct | sync_history |
| Historical record of a sync operation. More... | |
| class | sync_manager |
| struct | sync_manager_config |
| Configuration for the sync manager. More... | |
| struct | sync_repositories |
| struct | sync_result |
| Result of a synchronization operation. More... | |
| struct | sync_statistics |
| Aggregate statistics for synchronization operations. More... | |
| struct | tls_config |
| TLS configuration for secure DICOM connections. More... | |
Typedefs | |
| using | job_progress_callback |
| Callback for job progress updates. | |
| using | job_completion_callback |
| Callback for job completion. | |
| using | node_status_callback = std::function<void(std::string_view node_id, node_status status)> |
| Callback function type for node status changes. | |
| using | routing_event_callback |
| Callback type for routing events. | |
| using | sync_progress_callback |
| Callback for sync progress updates. | |
| using | sync_completion_callback |
| Callback for sync completion. | |
| using | sync_conflict_callback = std::function<void(const sync_conflict& conflict)> |
| Callback for conflict detection. | |
Functions | |
| constexpr const char * | to_string (job_type type) noexcept |
| Convert job_type to string representation. | |
| job_type | job_type_from_string (std::string_view str) noexcept |
| Parse job_type from string. | |
| constexpr const char * | to_string (job_status status) noexcept |
| Convert job_status to string representation. | |
| job_status | job_status_from_string (std::string_view str) noexcept |
| Parse job_status from string. | |
| constexpr bool | is_terminal_status (job_status status) noexcept |
| Check if job status is a terminal state. | |
| constexpr const char * | to_string (job_priority priority) noexcept |
| Convert job_priority to string representation. | |
| job_priority | job_priority_from_string (std::string_view str) noexcept |
| Parse job_priority from string. | |
| job_priority | job_priority_from_int (int value) noexcept |
| Parse job_priority from integer. | |
| constexpr const char * | to_string (prefetch_trigger trigger) noexcept |
| Convert prefetch_trigger to string representation. | |
| prefetch_trigger | prefetch_trigger_from_string (std::string_view str) noexcept |
| Parse prefetch_trigger from string. | |
| constexpr const char * | to_string (node_status status) noexcept |
| Convert node_status to string representation. | |
| node_status | node_status_from_string (std::string_view str) noexcept |
| Parse node_status from string. | |
| constexpr const char * | to_string (routing_field field) noexcept |
| Convert routing_field to string representation. | |
| routing_field | routing_field_from_string (std::string_view str) noexcept |
| Parse routing_field from string. | |
| constexpr const char * | to_string (sync_direction direction) noexcept |
| Convert sync_direction to string representation. | |
| sync_direction | sync_direction_from_string (std::string_view str) noexcept |
| Parse sync_direction from string. | |
| constexpr const char * | to_string (sync_conflict_type type) noexcept |
| Convert sync_conflict_type to string representation. | |
| sync_conflict_type | sync_conflict_type_from_string (std::string_view str) noexcept |
| Parse sync_conflict_type from string. | |
| constexpr const char * | to_string (conflict_resolution resolution) noexcept |
| Convert conflict_resolution to string representation. | |
| conflict_resolution | conflict_resolution_from_string (std::string_view str) noexcept |
| Parse conflict_resolution from string. | |
Callback for job completion.
| job_id | The ID of the job |
| record | Final job record |
Definition at line 395 of file job_types.h.
Callback for job progress updates.
| job_id | The ID of the job |
| progress | Current progress information |
Definition at line 385 of file job_types.h.
| using kcenon::pacs::client::node_status_callback = std::function<void(std::string_view node_id, node_status status)> |
Callback function type for node status changes.
Invoked when a node's status changes (e.g., online -> offline).
| node_id | The ID of the node whose status changed |
| status | The new status |
Definition at line 227 of file remote_node.h.
Callback type for routing events.
| rule_id | The ID of the rule that triggered |
| instance_uid | The SOP Instance UID being routed |
| triggered_actions | The actions that will be executed |
Definition at line 260 of file routing_types.h.
Callback for sync completion.
| config_id | The ID of the sync config |
| result | Final sync result |
Definition at line 361 of file sync_types.h.
| using kcenon::pacs::client::sync_conflict_callback = std::function<void(const sync_conflict& conflict)> |
Callback for conflict detection.
| conflict | The detected conflict |
Definition at line 370 of file sync_types.h.
Callback for sync progress updates.
| config_id | The ID of the sync config |
| studies_synced | Number of studies synced so far |
| studies_total | Total studies to sync |
Definition at line 350 of file sync_types.h.
|
strong |
Strategy for resolving synchronization conflicts.
| Enumerator | |
|---|---|
| prefer_local | Keep local version. |
| prefer_remote | Use remote version. |
| prefer_newer | Use the newer version based on timestamp. |
Definition at line 121 of file sync_types.h.
|
strong |
Priority level for job execution.
Higher priority jobs are executed before lower priority ones.
| Enumerator | |
|---|---|
| low | Background operations. |
| normal | Standard priority. |
| high | User-requested operations. |
| urgent | Critical operations. |
Definition at line 154 of file job_types.h.
|
strong |
Current status of a job.
Definition at line 90 of file job_types.h.
|
strong |
Type of job operation.
Definition at line 39 of file job_types.h.
|
strong |
Status of a remote PACS node.
Represents the current connectivity and health status of a remote node.
| Enumerator | |
|---|---|
| unknown | Status not yet determined. |
| online | Node is responding to C-ECHO. |
| offline | Node is not responding. |
| error | Node returned an error. |
| verifying | Verification in progress. |
Definition at line 51 of file remote_node.h.
|
strong |
Trigger type for prefetch operations.
| Enumerator | |
|---|---|
| worklist_match | Triggered by worklist entry. |
| prior_studies | Fetch prior studies for patient. |
| scheduled_exam | Based on scheduled procedure. |
| manual | Manual request. |
Definition at line 34 of file prefetch_types.h.
|
strong |
DICOM field to match in routing conditions.
These fields map to standard DICOM attributes that can be used for routing decisions.
Definition at line 41 of file routing_types.h.
|
strong |
Type of synchronization conflict.
| Enumerator | |
|---|---|
| missing_local | Study exists on remote but not locally. |
| missing_remote | Study exists locally but not on remote. |
| modified | Study modified on both sides. |
| count_mismatch | Instance counts differ. |
Definition at line 78 of file sync_types.h.
|
strong |
Direction of synchronization.
| Enumerator | |
|---|---|
| pull | Pull from remote to local. |
| push | Push from local to remote. |
| bidirectional | Both directions. |
Definition at line 38 of file sync_types.h.
|
inlinenodiscardnoexcept |
Parse conflict_resolution from string.
| str | The string to parse |
Definition at line 147 of file sync_types.h.
References prefer_local, prefer_newer, and prefer_remote.
Referenced by kcenon::pacs::storage::sync_repository::parse_conflict_row().

|
nodiscardconstexprnoexcept |
Check if job status is a terminal state.
| status | The status to check |
Definition at line 139 of file job_types.h.
References cancelled, completed, and failed.
Referenced by kcenon::pacs::client::job_record::can_cancel(), kcenon::pacs::client::job_record::is_finished(), and kcenon::pacs::client::job_manager::impl::update_job_status().

|
inlinenodiscardnoexcept |
Parse job_priority from integer.
| value | The integer value (0-3) |
Definition at line 194 of file job_types.h.
|
inlinenodiscardnoexcept |
Parse job_priority from string.
| str | The string to parse |
Definition at line 181 of file job_types.h.
References high, low, normal, and urgent.
Referenced by kcenon::pacs::storage::routing_repository::deserialize_actions(), and kcenon::pacs::web::endpoints::register_jobs_endpoints_impl().

|
inlinenodiscardnoexcept |
Parse job_status from string.
| str | The string to parse |
Definition at line 123 of file job_types.h.
References cancelled, completed, failed, paused, pending, queued, and running.
Referenced by kcenon::pacs::web::endpoints::register_jobs_endpoints_impl().

|
inlinenodiscardnoexcept |
Parse job_type from string.
| str | The string to parse |
Definition at line 72 of file job_types.h.
References export_, import_, prefetch, query, retrieve, store, and sync.
Referenced by kcenon::pacs::web::endpoints::register_jobs_endpoints_impl().

|
inlinenodiscardnoexcept |
Parse node_status from string.
| str | The string to parse |
Definition at line 80 of file remote_node.h.
References error, offline, online, unknown, and verifying.
Referenced by kcenon::pacs::storage::node_repository::parse_row(), and kcenon::pacs::web::endpoints::register_remote_nodes_endpoints_impl().

|
inlinenodiscardnoexcept |
Parse prefetch_trigger from string.
| str | The string to parse |
Definition at line 61 of file prefetch_types.h.
References manual, prior_studies, scheduled_exam, and worklist_match.
|
inlinenodiscardnoexcept |
Parse routing_field from string.
| str | The string to parse |
Definition at line 80 of file routing_types.h.
References body_part, department, institution, modality, patient_id_pattern, referring_physician, series_description, sop_class_uid, station_ae, and study_description.
Referenced by kcenon::pacs::storage::routing_repository::deserialize_conditions().

|
inlinenodiscardnoexcept |
Parse sync_conflict_type from string.
| str | The string to parse |
Definition at line 105 of file sync_types.h.
References count_mismatch, missing_local, missing_remote, and modified.
Referenced by kcenon::pacs::storage::sync_repository::parse_conflict_row().

|
inlinenodiscardnoexcept |
Parse sync_direction from string.
| str | The string to parse |
Definition at line 63 of file sync_types.h.
References bidirectional, pull, and push.
Referenced by kcenon::pacs::storage::sync_repository::parse_config_row().

|
nodiscardconstexprnoexcept |
Convert conflict_resolution to string representation.
| resolution | The resolution to convert |
Definition at line 132 of file sync_types.h.
References prefer_local, prefer_newer, and prefer_remote.
|
nodiscardconstexprnoexcept |
Convert job_priority to string representation.
| priority | The priority to convert |
Definition at line 166 of file job_types.h.
|
nodiscardconstexprnoexcept |
Convert job_status to string representation.
| status | The status to convert |
Definition at line 105 of file job_types.h.
References cancelled, completed, failed, paused, pending, queued, and running.
|
nodiscardconstexprnoexcept |
Convert job_type to string representation.
| type | The type to convert |
Definition at line 54 of file job_types.h.
References export_, import_, prefetch, query, retrieve, store, and sync.
Referenced by kcenon::pacs::client::job_manager::cancel_job(), kcenon::pacs::client::job_manager::impl::complete_job(), kcenon::pacs::storage::node_repository::find_by_status(), kcenon::pacs::storage::job_repository::find_jobs(), kcenon::pacs::storage::prefetch_repository::find_rules(), kcenon::pacs::client::job_manager::pause_job(), kcenon::pacs::web::endpoints::register_remote_nodes_endpoints_impl(), kcenon::pacs::client::sync_manager::resolve_conflict(), kcenon::pacs::client::job_manager::resume_job(), kcenon::pacs::client::job_manager::retry_job(), kcenon::pacs::storage::job_repository::save(), kcenon::pacs::storage::prefetch_repository::save_rule(), kcenon::pacs::storage::routing_repository::serialize_actions(), kcenon::pacs::storage::routing_repository::serialize_conditions(), kcenon::pacs::client::job_manager::start_job(), kcenon::pacs::storage::node_repository::update_status(), kcenon::pacs::storage::node_repository::upsert(), and kcenon::pacs::client::job_manager::impl::worker_loop().

|
nodiscardconstexprnoexcept |
Convert node_status to string representation.
| status | The status to convert |
Definition at line 64 of file remote_node.h.
|
nodiscardconstexprnoexcept |
Convert prefetch_trigger to string representation.
| trigger | The trigger to convert |
Definition at line 46 of file prefetch_types.h.
References manual, prior_studies, scheduled_exam, and worklist_match.
|
nodiscardconstexprnoexcept |
Convert routing_field to string representation.
| field | The field to convert |
Definition at line 59 of file routing_types.h.
References body_part, department, institution, modality, patient_id_pattern, referring_physician, series_description, sop_class_uid, station_ae, and study_description.
|
nodiscardconstexprnoexcept |
Convert sync_conflict_type to string representation.
| type | The type to convert |
Definition at line 90 of file sync_types.h.
References count_mismatch, missing_local, missing_remote, and modified.
|
nodiscardconstexprnoexcept |
Convert sync_direction to string representation.
| direction | The direction to convert |
Definition at line 49 of file sync_types.h.
References bidirectional, pull, and push.