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

Annotation record from the database. More...

#include <annotation_record.h>

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

Public Member Functions

auto is_valid () const noexcept -> bool
 Check if this record has valid data.
 

Public Attributes

int64_t pk {0}
 Primary key (auto-generated)
 
std::string annotation_id
 Unique annotation identifier (UUID)
 
std::string study_uid
 Study Instance UID - DICOM tag (0020,000D)
 
std::string series_uid
 Series Instance UID - DICOM tag (0020,000E)
 
std::string sop_instance_uid
 SOP Instance UID - DICOM tag (0008,0018)
 
std::optional< int > frame_number
 Frame number for multi-frame images (1-based)
 
std::string user_id
 User who created the annotation.
 
annotation_type type {annotation_type::text}
 Type of annotation.
 
std::string geometry_json
 Geometry data as JSON string (type-specific coordinates)
 
std::string text
 Text content for text annotations or labels.
 
annotation_style style
 Visual style of the annotation.
 
std::chrono::system_clock::time_point created_at
 Record creation timestamp.
 
std::chrono::system_clock::time_point updated_at
 Record last update timestamp.
 

Detailed Description

Annotation record from the database.

Represents a single annotation on a DICOM image. Maps directly to the annotations table in the database.

Definition at line 94 of file annotation_record.h.

Member Function Documentation

◆ is_valid()

auto kcenon::pacs::storage::annotation_record::is_valid ( ) const -> bool
inlinenodiscardnoexcept

Check if this record has valid data.

Returns
true if annotation_id is not empty
Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/annotation_record.h.

Definition at line 139 of file annotation_record.h.

139 {
140 return !annotation_id.empty() && !study_uid.empty();
141 }
std::string annotation_id
Unique annotation identifier (UUID)
std::string study_uid
Study Instance UID - DICOM tag (0020,000D)

References annotation_id, and study_uid.

Member Data Documentation

◆ annotation_id

std::string kcenon::pacs::storage::annotation_record::annotation_id

◆ created_at

std::chrono::system_clock::time_point kcenon::pacs::storage::annotation_record::created_at

◆ frame_number

std::optional<int> kcenon::pacs::storage::annotation_record::frame_number

◆ geometry_json

std::string kcenon::pacs::storage::annotation_record::geometry_json

◆ pk

int64_t kcenon::pacs::storage::annotation_record::pk {0}

Primary key (auto-generated)

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/annotation_record.h.

Definition at line 96 of file annotation_record.h.

96{0};

◆ series_uid

std::string kcenon::pacs::storage::annotation_record::series_uid

◆ sop_instance_uid

std::string kcenon::pacs::storage::annotation_record::sop_instance_uid

◆ study_uid

std::string kcenon::pacs::storage::annotation_record::study_uid

◆ style

annotation_style kcenon::pacs::storage::annotation_record::style

◆ text

std::string kcenon::pacs::storage::annotation_record::text

◆ type

◆ updated_at

std::chrono::system_clock::time_point kcenon::pacs::storage::annotation_record::updated_at

◆ user_id

std::string kcenon::pacs::storage::annotation_record::user_id

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