PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
pacs-storage.cppm
Go to the documentation of this file.
1// BSD 3-Clause License
2// Copyright (c) 2025, 🍀☀🌕🌥 🌊
3// See the LICENSE file in the project root for full license information.
4
23module;
24
25// Standard library imports
26#include <chrono>
27#include <cstddef>
28#include <cstdint>
29#include <filesystem>
30#include <functional>
31#include <memory>
32#include <optional>
33#include <span>
34#include <string>
35#include <string_view>
36#include <vector>
37
38// PACS storage headers - Core interfaces
42
43// Cloud storage backends
46
47// Hierarchical Storage Management
51
52// Database migration
55
56// Record types
64
65// Security storage
67
68export module kcenon.pacs:storage;
69
70// ============================================================================
71// Re-export pacs::storage namespace
72// ============================================================================
73
74export namespace pacs::storage {
75
76// Storage interfaces
77using pacs::storage::storage_interface;
78using pacs::storage::file_storage;
79
80// Cloud storage
81using pacs::storage::cloud_storage_config;
82using pacs::storage::s3_storage;
83using pacs::storage::azure_storage_config;
84using pacs::storage::azure_blob_storage;
85
86// HSM types
87using pacs::storage::storage_tier;
88using pacs::storage::to_string;
89using pacs::storage::storage_tier_from_string;
90using pacs::storage::tier_policy;
91
92// HSM storage
93using pacs::storage::hsm_storage_config;
94using pacs::storage::hsm_storage;
95using pacs::storage::migration_service_config;
96using pacs::storage::hsm_migration_service;
97
98// Database
99using pacs::storage::index_database;
100
101// Database migration
102using pacs::storage::migration_record;
103using pacs::storage::migration_runner;
104
105// Record types
106using pacs::storage::patient_record;
107using pacs::storage::study_record;
108using pacs::storage::series_record;
109using pacs::storage::instance_record;
110using pacs::storage::mpps_record;
111using pacs::storage::worklist_record;
112using pacs::storage::audit_record;
113
114// Security storage
115using pacs::storage::sqlite_security_storage;
116
117} // namespace pacs::storage
Audit log record data structures.
Azure Blob storage backend for DICOM cloud storage support.
Filesystem-based DICOM storage with hierarchical organization.
Background migration service for Hierarchical Storage Management.
Hierarchical Storage Management (HSM) for multi-tier DICOM storage.
Types for Hierarchical Storage Management (HSM)
PACS index database for metadata storage and retrieval.
Instance record data structures for database operations.
Migration record structure for schema version tracking.
Database schema migration runner.
MPPS (Modality Performed Procedure Step) record data structures.
Patient record data structures for database operations.
S3-compatible DICOM storage backend for cloud storage support.
Series record data structures for database operations.
SQLite implementation of security storage with SQL injection protection.
Abstract storage interface for DICOM persistent storage backends.
Study record data structures for database operations.
Modality Worklist (MWL) record data structures.