22#include <kcenon/common/patterns/result.h>
38using VoidResult = kcenon::common::VoidResult;
122 [[nodiscard]]
virtual auto retrieve(std::string_view sop_instance_uid)
133 [[nodiscard]]
virtual auto remove(std::string_view sop_instance_uid)
142 [[nodiscard]]
virtual auto exists(std::string_view sop_instance_uid)
const
179 const std::vector<core::dicom_dataset>& datasets) -> VoidResult;
193 const std::vector<std::string>& sop_instance_uids)
virtual ~storage_interface()=default
Virtual destructor for proper polymorphic destruction.
virtual auto retrieve_batch(const std::vector< std::string > &sop_instance_uids) -> Result< std::vector< core::dicom_dataset > >
Retrieve multiple DICOM datasets by their SOP Instance UIDs.
virtual auto exists(std::string_view sop_instance_uid) const -> bool=0
Check if a DICOM instance exists.
virtual auto get_statistics() const -> storage_statistics=0
Get storage statistics.
virtual auto retrieve(std::string_view sop_instance_uid) -> Result< core::dicom_dataset >=0
Retrieve a DICOM dataset by SOP Instance UID.
virtual auto find(const core::dicom_dataset &query) -> Result< std::vector< core::dicom_dataset > >=0
Find DICOM datasets matching query criteria.
virtual auto store_batch(const std::vector< core::dicom_dataset > &datasets) -> VoidResult
Store multiple DICOM datasets in a single operation.
virtual auto store(const core::dicom_dataset &dataset) -> VoidResult=0
Store a DICOM dataset.
virtual auto remove(std::string_view sop_instance_uid) -> VoidResult=0
Remove a DICOM dataset by SOP Instance UID.
virtual auto verify_integrity() -> VoidResult=0
Verify storage integrity.
DICOM Dataset - ordered collection of Data Elements.
kcenon::common::Result< T > Result
Result type alias for operations returning a value.
Storage statistics structure.
std::size_t total_bytes
Total storage size in bytes.
std::size_t patients_count
Number of unique patients.
std::size_t series_count
Number of unique series.
std::size_t studies_count
Number of unique studies.
std::size_t total_instances
Total number of DICOM instances stored.