71 [[nodiscard]]
auto is_valid() const noexcept ->
bool {
std::optional< std::string > body_part_examined
Body part examined (exact match)
size_t offset
Offset for pagination.
std::optional< std::string > series_description
Series description pattern (supports * wildcard)
size_t limit
Maximum number of results to return (0 = unlimited)
std::optional< std::string > study_uid
Study Instance UID for filtering by study (exact match)
std::optional< std::string > series_uid
Series Instance UID (exact match)
std::optional< int > series_number
Series number filter.
std::optional< std::string > modality
Modality filter (exact match, e.g., "CT", "MR")
auto has_criteria() const noexcept -> bool
Check if any filter criteria is set.
Series record from the database.
auto is_valid() const noexcept -> bool
Check if this record has valid data.
std::string series_description
Series Description - DICOM tag (0008,103E)
std::chrono::system_clock::time_point updated_at
Record last update timestamp.
std::optional< int > series_number
Series Number - DICOM tag (0020,0011)
int64_t study_pk
Foreign key to studies table.
std::string body_part_examined
Body Part Examined - DICOM tag (0018,0015)
std::chrono::system_clock::time_point created_at
Record creation timestamp.
int64_t pk
Primary key (auto-generated)
int num_instances
Number of instances in this series (denormalized)
std::string series_uid
Series Instance UID - DICOM tag (0020,000E)
std::string modality
Modality - DICOM tag (0008,0060)
std::string station_name
Station Name - DICOM tag (0008,1010)