PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
waveform_ps_iod_validator.h
Go to the documentation of this file.
1// BSD 3-Clause License
2// Copyright (c) 2021-2025, 🍀☀🌕🌥 🌊
3// See the LICENSE file in the project root for full license information.
4
18#ifndef PACS_SERVICES_VALIDATION_WAVEFORM_PS_IOD_VALIDATOR_HPP
19#define PACS_SERVICES_VALIDATION_WAVEFORM_PS_IOD_VALIDATOR_HPP
20
23#include "kcenon/pacs/services/validation/us_iod_validator.h" // For validation_result types
24
25#include <string>
26#include <vector>
27
29
30// =============================================================================
31// Waveform PS Validation Options
32// =============================================================================
33
39 bool check_type1 = true;
40
42 bool check_type2 = true;
43
45 bool check_conditional = true;
46
49
52
55
57 bool strict_mode = false;
58};
59
60// =============================================================================
61// Waveform PS IOD Validator
62// =============================================================================
63
81public:
84
90 [[nodiscard]] validation_result validate(const core::dicom_dataset& dataset) const;
91
97 [[nodiscard]] validation_result validate_references(const core::dicom_dataset& dataset) const;
98
104 [[nodiscard]] bool quick_check(const core::dicom_dataset& dataset) const;
105
110 [[nodiscard]] const waveform_ps_validation_options& options() const noexcept;
111
116 void set_options(const waveform_ps_validation_options& options);
117
118private:
120
122 const core::dicom_dataset& dataset,
123 validation_result& result) const;
124
126 const core::dicom_dataset& dataset,
127 validation_result& result) const;
128
130 const core::dicom_dataset& dataset,
131 validation_result& result) const;
132
134 const core::dicom_dataset& dataset,
135 validation_result& result) const;
136
138 const core::dicom_dataset& dataset,
139 validation_result& result) const;
140
142 const core::dicom_dataset& dataset,
143 validation_result& result) const;
144
146 const core::dicom_dataset& dataset,
147 validation_result& result) const;
148
150 const core::dicom_dataset& dataset,
151 const core::dicom_tag& tag,
152 const std::string& description,
153 validation_result& result) const;
154
156 const core::dicom_dataset& dataset,
157 const core::dicom_tag& tag,
158 const std::string& description,
159 validation_result& result) const;
160};
161
162} // namespace kcenon::pacs::services::validation
163
164#endif // PACS_SERVICES_VALIDATION_WAVEFORM_PS_IOD_VALIDATOR_HPP
Validates Waveform Presentation State and Annotation IODs.
validation_result validate(const core::dicom_dataset &dataset) const
Validate a complete Waveform Presentation State or Annotation dataset.
void validate_sop_common_module(const core::dicom_dataset &dataset, validation_result &result) const
void validate_general_equipment_module(const core::dicom_dataset &dataset, validation_result &result) const
bool quick_check(const core::dicom_dataset &dataset) const
Quick validation of essential Type 1 attributes only.
void validate_waveform_annotation_module(const core::dicom_dataset &dataset, validation_result &result) const
void validate_patient_module(const core::dicom_dataset &dataset, validation_result &result) const
void validate_general_study_module(const core::dicom_dataset &dataset, validation_result &result) const
const waveform_ps_validation_options & options() const noexcept
Get current validation options.
void validate_general_series_module(const core::dicom_dataset &dataset, validation_result &result) const
validation_result validate_references(const core::dicom_dataset &dataset) const
Validate referenced waveform sequences.
void check_type1_attribute(const core::dicom_dataset &dataset, const core::dicom_tag &tag, const std::string &description, validation_result &result) const
void check_type2_attribute(const core::dicom_dataset &dataset, const core::dicom_tag &tag, const std::string &description, validation_result &result) const
void set_options(const waveform_ps_validation_options &options)
Set validation options.
void validate_waveform_ps_module(const core::dicom_dataset &dataset, validation_result &result) const
DICOM Dataset - ordered collection of Data Elements.
DICOM Tag representation (Group, Element pairs)
Options for Waveform Presentation State / Annotation IOD validation.
bool validate_annotations
Validate annotation sequences (for Waveform Annotation)
bool check_conditional
Check Type 1C/2C (conditionally required) attributes.
bool check_type2
Check Type 2 (required, can be empty) attributes.
bool validate_display_config
Validate presentation state display configuration.
Ultrasound Image IOD Validator.