PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
kcenon::pacs::storage::annotation_query Struct Reference

Query parameters for annotation search. More...

#include <annotation_record.h>

Collaboration diagram for kcenon::pacs::storage::annotation_query:
Collaboration graph

Public Member Functions

auto has_criteria () const noexcept -> bool
 Check if any filter criteria is set.
 

Public Attributes

std::optional< std::string > study_uid
 Study Instance UID filter.
 
std::optional< std::string > series_uid
 Series Instance UID filter.
 
std::optional< std::string > sop_instance_uid
 SOP Instance UID filter.
 
std::optional< std::string > user_id
 User ID filter.
 
std::optional< annotation_type > type
 Annotation type filter.
 
size_t limit {0}
 Maximum number of results to return (0 = unlimited)
 
size_t offset {0}
 Offset for pagination.
 

Detailed Description

Query parameters for annotation search.

Supports filtering by study, series, instance, user, and type. Empty fields are not included in the query filter.

Example:
query.study_uid = "1.2.3.4.5";
query.user_id = "user123";
auto results = repo.search(query);
Query parameters for annotation search.

Definition at line 158 of file annotation_record.h.

Member Function Documentation

◆ has_criteria()

auto kcenon::pacs::storage::annotation_query::has_criteria ( ) const -> bool
inlinenodiscardnoexcept

Check if any filter criteria is set.

Returns
true if at least one filter field is set

Definition at line 185 of file annotation_record.h.

185 {
186 return study_uid.has_value() || series_uid.has_value() ||
187 sop_instance_uid.has_value() || user_id.has_value() ||
188 type.has_value();
189 }
std::optional< std::string > series_uid
Series Instance UID filter.
std::optional< std::string > user_id
User ID filter.
std::optional< std::string > sop_instance_uid
SOP Instance UID filter.
std::optional< annotation_type > type
Annotation type filter.
std::optional< std::string > study_uid
Study Instance UID filter.

References series_uid, sop_instance_uid, study_uid, type, and user_id.

Member Data Documentation

◆ limit

size_t kcenon::pacs::storage::annotation_query::limit {0}

Maximum number of results to return (0 = unlimited)

Definition at line 175 of file annotation_record.h.

175{0};

Referenced by kcenon::pacs::web::endpoints::register_annotation_endpoints_impl().

◆ offset

size_t kcenon::pacs::storage::annotation_query::offset {0}

Offset for pagination.

Definition at line 178 of file annotation_record.h.

178{0};

Referenced by kcenon::pacs::web::endpoints::register_annotation_endpoints_impl().

◆ series_uid

std::optional<std::string> kcenon::pacs::storage::annotation_query::series_uid

Series Instance UID filter.

Definition at line 163 of file annotation_record.h.

Referenced by has_criteria().

◆ sop_instance_uid

std::optional<std::string> kcenon::pacs::storage::annotation_query::sop_instance_uid

SOP Instance UID filter.

Definition at line 166 of file annotation_record.h.

Referenced by has_criteria().

◆ study_uid

std::optional<std::string> kcenon::pacs::storage::annotation_query::study_uid

Study Instance UID filter.

Definition at line 160 of file annotation_record.h.

Referenced by has_criteria().

◆ type

std::optional<annotation_type> kcenon::pacs::storage::annotation_query::type

Annotation type filter.

Definition at line 172 of file annotation_record.h.

Referenced by has_criteria().

◆ user_id

std::optional<std::string> kcenon::pacs::storage::annotation_query::user_id

User ID filter.

Definition at line 169 of file annotation_record.h.

Referenced by has_criteria().


The documentation for this struct was generated from the following file: