52 default:
return "unknown";
62 std::string_view str)
noexcept {
prefetch_trigger prefetch_trigger_from_string(std::string_view str) noexcept
Parse prefetch_trigger from string.
constexpr const char * to_string(job_type type) noexcept
Convert job_type to string representation.
prefetch_trigger
Trigger type for prefetch operations.
@ worklist_match
Triggered by worklist entry.
@ scheduled_exam
Based on scheduled procedure.
@ prior_studies
Fetch prior studies for patient.
History record for a single prefetch operation.
std::string patient_id
Patient ID.
std::string source_node_id
Source node ID.
std::chrono::system_clock::time_point prefetched_at
Timestamp.
std::string job_id
Associated job ID.
std::string study_uid
Study Instance UID.
std::string status
Status (pending, completed, failed)
std::string rule_id
Rule that triggered this (if any)
Configuration for the prefetch manager.
bool deduplicate_requests
Deduplicate pending requests.
std::chrono::seconds worklist_check_interval
Worklist polling interval.
size_t max_concurrent_prefetch
Max concurrent prefetch jobs.
bool enabled
Enable prefetch functionality.
Result of a prefetch operation.
std::vector< std::string > job_ids
Created job IDs.
std::string patient_id
Patient ID.
size_t studies_already_local
Studies already local.
std::string patient_name
Patient name.
std::chrono::milliseconds elapsed
Operation duration.
size_t studies_found
Studies found on remote.
size_t studies_prefetched
Studies actually prefetched.
bool is_success() const noexcept
Check if prefetch was successful.
Statistics for a prefetch rule.
size_t studies_prefetched
Total studies prefetched.
size_t triggered_count
Times rule was triggered.
size_t bytes_prefetched
Total bytes prefetched.
Rule defining when and how to prefetch DICOM data.
std::string name
Human-readable name.
std::string station_ae_filter
Station AE title filter.
std::string modality_filter
Modality filter (e.g., "CT,MR")
std::vector< std::string > prior_modalities
Modalities to fetch (empty = same)
size_t triggered_count
Times rule was triggered.
size_t studies_prefetched
Total studies prefetched.
int64_t pk
Primary key (0 if not persisted)
std::chrono::hours prior_lookback
Lookback period (default: 1 year)
std::string body_part_filter
Body part filter (e.g., "CHEST,ABDOMEN")
std::chrono::system_clock::time_point last_triggered
Last trigger time.
std::string schedule_cron
Cron expression (e.g., "0 6 * * *")
std::chrono::minutes advance_time
Prefetch N minutes before scheduled.
size_t max_prior_studies
Maximum prior studies to fetch.
prefetch_trigger trigger
What triggers this rule.
std::vector< std::string > source_node_ids
Nodes to search for data.
std::string rule_id
Unique rule identifier (UUID)
bool enabled
Whether the rule is active.