80 [[nodiscard]]
auto is_valid() const noexcept ->
bool {
std::optional< std::string > study_uid
Study Instance UID (exact match)
std::optional< std::string > accession_number
Accession number pattern (supports * wildcard)
std::optional< std::string > modality
Modality filter (exact match, e.g., "CT", "MR")
std::optional< std::string > study_date_to
Study date range end (inclusive)
std::optional< std::string > study_date
Study date (exact match, format: YYYYMMDD)
std::optional< std::string > patient_name
Patient name pattern (supports * wildcard)
std::optional< std::string > referring_physician
Referring physician pattern (supports * wildcard)
std::optional< std::string > study_id
Study ID pattern (supports * wildcard)
std::optional< std::string > study_date_from
Study date range start (inclusive)
auto has_criteria() const noexcept -> bool
Check if any filter criteria is set.
std::optional< std::string > study_description
Study description pattern (supports * wildcard)
std::optional< std::string > patient_id
Patient ID for filtering by patient (exact match or wildcard)
size_t limit
Maximum number of results to return (0 = unlimited)
size_t offset
Offset for pagination.
Study record from the database.
std::string study_uid
Study Instance UID - DICOM tag (0020,000D)
std::string accession_number
Accession Number - DICOM tag (0008,0050)
std::string study_id
Study ID - DICOM tag (0020,0010)
int num_instances
Number of instances in this study (denormalized)
std::chrono::system_clock::time_point updated_at
Record last update timestamp.
std::string study_date
Study Date - DICOM tag (0008,0020) format: YYYYMMDD.
int num_series
Number of series in this study (denormalized)
auto is_valid() const noexcept -> bool
Check if this record has valid data.
std::string study_time
Study Time - DICOM tag (0008,0030) format: HHMMSS.
std::string modalities_in_study
Modalities in Study - DICOM tag (0008,0061) e.g., "CT\\MR".
int64_t pk
Primary key (auto-generated)
std::string study_description
Study Description - DICOM tag (0008,1030)
std::string referring_physician
Referring Physician's Name - DICOM tag (0008,0090)
std::chrono::system_clock::time_point created_at
Record creation timestamp.
int64_t patient_pk
Foreign key to patients table.