|
PACS System 0.1.0
PACS DICOM system library
|
#include <sr_iod_validator.h>

Public Member Functions | |
| sr_iod_validator ()=default | |
| Construct validator with default options. | |
| sr_iod_validator (const sr_validation_options &options) | |
| Construct validator with custom options. | |
| validation_result | validate (const core::dicom_dataset &dataset) const |
| Validate a DICOM dataset against SR IOD. | |
| validation_result | validate_basic_text_sr (const core::dicom_dataset &dataset) const |
| Validate a Basic Text SR dataset. | |
| validation_result | validate_enhanced_sr (const core::dicom_dataset &dataset) const |
| Validate an Enhanced SR dataset. | |
| validation_result | validate_comprehensive_sr (const core::dicom_dataset &dataset) const |
| Validate a Comprehensive SR dataset. | |
| validation_result | validate_key_object_selection (const core::dicom_dataset &dataset) const |
| Validate a Key Object Selection document. | |
| validation_result | validate_content_tree (const core::dicom_dataset &dataset) const |
| Validate content tree structure. | |
| validation_result | validate_references (const core::dicom_dataset &dataset) const |
| Validate referenced instances. | |
| bool | quick_check (const core::dicom_dataset &dataset) const |
| Quick check if dataset has minimum required attributes. | |
| const sr_validation_options & | options () const noexcept |
| Get the validation options. | |
| void | set_options (const sr_validation_options &options) |
| Set validation options. | |
Private Attributes | |
| sr_validation_options | options_ |
Definition at line 117 of file sr_iod_validator.h.
|
default |
Construct validator with default options.
|
explicit |
Construct validator with custom options.
| options | Validation options |
Definition at line 89 of file sr_iod_validator.cpp.
|
private |
Definition at line 918 of file sr_iod_validator.cpp.
References kcenon::pacs::services::validation::sr_tags::completion_flag, kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::error, and kcenon::pacs::core::dicom_dataset::get_string().
Referenced by validate_sr_document_general_module().


|
private |
Definition at line 899 of file sr_iod_validator.cpp.
References kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::error, kcenon::pacs::core::dicom_dataset::get_string(), and kcenon::pacs::core::tags::modality.
Referenced by validate_sr_document_series_module().


|
private |
Definition at line 837 of file sr_iod_validator.cpp.
References kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::error, kcenon::pacs::core::dicom_dataset::get(), kcenon::pacs::core::dicom_dataset::get_string(), name, and kcenon::pacs::core::dicom_tag::to_string().
Referenced by validate_general_study_module(), validate_sop_common_module(), validate_sr_document_content_module(), validate_sr_document_general_module(), and validate_sr_document_series_module().


|
private |
Definition at line 882 of file sr_iod_validator.cpp.
References kcenon::pacs::core::dicom_dataset::contains(), name, kcenon::pacs::core::dicom_tag::to_string(), and kcenon::pacs::services::validation::warning.
Referenced by validate_general_equipment_module(), validate_general_study_module(), validate_patient_module(), validate_sr_document_general_module(), and validate_sr_document_series_module().


|
private |
Definition at line 937 of file sr_iod_validator.cpp.
References kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::error, kcenon::pacs::core::dicom_dataset::get_string(), and kcenon::pacs::services::validation::sr_tags::verification_flag.
Referenced by validate_sr_document_general_module().


|
nodiscardnoexcept |
Get the validation options.
Definition at line 338 of file sr_iod_validator.cpp.
References options_.
Referenced by set_options().

|
nodiscard |
Quick check if dataset has minimum required attributes.
Faster than full validation - only checks Type 1 attributes.
| dataset | The dataset to check |
Definition at line 305 of file sr_iod_validator.cpp.
References kcenon::pacs::services::validation::sr_tags::completion_flag, kcenon::pacs::services::validation::sr_tags::concept_name_code_sequence, kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::core::dicom_dataset::get_string(), kcenon::pacs::services::sop_classes::is_sr_storage_sop_class(), kcenon::pacs::core::tags::modality, kcenon::pacs::core::tags::series_instance_uid, kcenon::pacs::core::tags::sop_class_uid, kcenon::pacs::core::tags::sop_instance_uid, kcenon::pacs::core::tags::study_instance_uid, kcenon::pacs::services::validation::sr_tags::value_type, and kcenon::pacs::services::validation::sr_tags::verification_flag.
Referenced by kcenon::pacs::services::validation::is_valid_sr_dataset().


| void kcenon::pacs::services::validation::sr_iod_validator::set_options | ( | const sr_validation_options & | options | ) |
Set validation options.
Definition at line 342 of file sr_iod_validator.cpp.
References options(), and options_.

|
nodiscard |
Validate a DICOM dataset against SR IOD.
Automatically detects the SR type and applies appropriate validation.
| dataset | The dataset to validate |
Definition at line 92 of file sr_iod_validator.cpp.
References kcenon::pacs::services::sop_classes::basic_text, kcenon::pacs::services::sop_classes::comprehensive, kcenon::pacs::services::sop_classes::comprehensive_3d, kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::sop_classes::enhanced, kcenon::pacs::services::validation::error, kcenon::pacs::services::validation::validation_result::findings, kcenon::pacs::services::sop_classes::get_sr_document_type(), kcenon::pacs::core::dicom_dataset::get_string(), kcenon::pacs::services::validation::validation_result::is_valid, kcenon::pacs::services::sop_classes::key_object_selection, kcenon::pacs::core::tags::sop_class_uid, validate_basic_text_sr(), validate_comprehensive_sr(), validate_enhanced_sr(), and validate_key_object_selection().
Referenced by kcenon::pacs::services::validation::validate_sr_iod().


|
nodiscard |
Validate a Basic Text SR dataset.
| dataset | The dataset to validate |
Definition at line 126 of file sr_iod_validator.cpp.
References kcenon::pacs::services::validation::error, kcenon::pacs::services::validation::validation_result::findings, kcenon::pacs::services::validation::validation_result::is_valid, options_, kcenon::pacs::services::validation::sr_validation_options::strict_mode, validate_general_equipment_module(), validate_general_study_module(), validate_patient_module(), validate_sop_common_module(), validate_sr_document_content_module(), validate_sr_document_general_module(), validate_sr_document_series_module(), and kcenon::pacs::services::validation::warning.
Referenced by validate().


|
private |
Definition at line 688 of file sr_iod_validator.cpp.
References kcenon::pacs::services::validation::sr_tags::concept_name_code_sequence, and kcenon::pacs::services::validation::error.
Referenced by validate_content_item().

|
private |
Definition at line 638 of file sr_iod_validator.cpp.
References kcenon::pacs::services::validation::sr_tags::code_meaning, kcenon::pacs::services::validation::sr_tags::code_value, kcenon::pacs::services::validation::sr_tags::coding_scheme_designator, kcenon::pacs::core::dicom_dataset::contains(), and kcenon::pacs::services::validation::error.
Referenced by validate_sr_document_content_module().


|
nodiscard |
Validate a Comprehensive SR dataset.
| dataset | The dataset to validate |
Definition at line 190 of file sr_iod_validator.cpp.
References kcenon::pacs::services::validation::error, kcenon::pacs::services::validation::validation_result::findings, kcenon::pacs::services::validation::validation_result::is_valid, options_, kcenon::pacs::services::validation::sr_validation_options::strict_mode, validate_content_sequence(), kcenon::pacs::services::validation::sr_validation_options::validate_content_sequence, validate_evidence_sequences(), validate_general_equipment_module(), validate_general_study_module(), validate_patient_module(), kcenon::pacs::services::validation::sr_validation_options::validate_references, validate_sop_common_module(), validate_sr_document_content_module(), validate_sr_document_general_module(), validate_sr_document_series_module(), and kcenon::pacs::services::validation::warning.
Referenced by validate().


|
private |
Definition at line 552 of file sr_iod_validator.cpp.
References kcenon::pacs::services::sop_classes::code, kcenon::pacs::services::validation::sr_tags::content_sequence, kcenon::pacs::services::validation::error, kcenon::pacs::services::sop_classes::image, kcenon::pacs::services::sop_classes::num, kcenon::pacs::services::sop_classes::parse_sr_value_type(), kcenon::pacs::services::validation::sr_tags::relationship_type, kcenon::pacs::services::sop_classes::scoord, kcenon::pacs::services::sop_classes::scoord3d, kcenon::pacs::services::sop_classes::text, kcenon::pacs::services::sop_classes::unknown, validate_code_content_item(), validate_content_item(), validate_image_content_item(), validate_num_content_item(), validate_scoord3d_content_item(), validate_scoord_content_item(), validate_text_content_item(), kcenon::pacs::services::validation::sr_tags::value_type, and kcenon::pacs::services::validation::warning.
Referenced by validate_content_item(), and validate_content_sequence().


|
private |
Definition at line 517 of file sr_iod_validator.cpp.
References kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::sr_tags::content_sequence, kcenon::pacs::core::dicom_dataset::get(), kcenon::pacs::core::dicom_dataset::get_string(), kcenon::pacs::services::validation::info, validate_content_item(), and kcenon::pacs::services::validation::sr_tags::value_type.
Referenced by validate_comprehensive_sr(), validate_content_tree(), and validate_sr_document_content_module().


|
nodiscard |
Validate content tree structure.
Validates the Content Sequence hierarchy and relationships.
| dataset | The dataset to validate |
Definition at line 272 of file sr_iod_validator.cpp.
References kcenon::pacs::services::validation::error, kcenon::pacs::services::validation::validation_result::findings, kcenon::pacs::services::validation::validation_result::is_valid, and validate_content_sequence().

|
nodiscard |
Validate an Enhanced SR dataset.
| dataset | The dataset to validate |
Definition at line 157 of file sr_iod_validator.cpp.
References kcenon::pacs::services::validation::error, kcenon::pacs::services::validation::validation_result::findings, kcenon::pacs::services::validation::validation_result::is_valid, options_, kcenon::pacs::services::validation::sr_validation_options::strict_mode, validate_evidence_sequences(), validate_general_equipment_module(), validate_general_study_module(), validate_patient_module(), kcenon::pacs::services::validation::sr_validation_options::validate_references, validate_sop_common_module(), validate_sr_document_content_module(), validate_sr_document_general_module(), validate_sr_document_series_module(), and kcenon::pacs::services::validation::warning.
Referenced by validate().


|
private |
Definition at line 499 of file sr_iod_validator.cpp.
References kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::sr_tags::current_requested_procedure_evidence_sequence, kcenon::pacs::services::validation::info, and kcenon::pacs::services::validation::sr_tags::pertinent_other_evidence_sequence.
Referenced by validate_comprehensive_sr(), validate_enhanced_sr(), and validate_references().


|
private |
Definition at line 394 of file sr_iod_validator.cpp.
References kcenon::pacs::services::validation::sr_validation_options::check_type2, check_type2_attribute(), and options_.
Referenced by validate_basic_text_sr(), validate_comprehensive_sr(), validate_enhanced_sr(), and validate_key_object_selection().


|
private |
Definition at line 362 of file sr_iod_validator.cpp.
References kcenon::pacs::core::tags::accession_number, kcenon::pacs::services::validation::sr_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::services::validation::sr_validation_options::check_type2, check_type2_attribute(), options_, kcenon::pacs::core::tags::referring_physician_name, kcenon::pacs::core::tags::study_date, kcenon::pacs::core::tags::study_id, kcenon::pacs::core::tags::study_instance_uid, and kcenon::pacs::core::tags::study_time.
Referenced by validate_basic_text_sr(), validate_comprehensive_sr(), validate_enhanced_sr(), and validate_key_object_selection().


|
private |
Definition at line 740 of file sr_iod_validator.cpp.
References kcenon::pacs::services::validation::error, kcenon::pacs::services::validation::sr_tags::referenced_sop_class_uid, kcenon::pacs::services::validation::sr_tags::referenced_sop_instance_uid, and kcenon::pacs::services::validation::sr_tags::referenced_sop_sequence.
Referenced by validate_content_item().

|
nodiscard |
Validate a Key Object Selection document.
| dataset | The dataset to validate |
Definition at line 228 of file sr_iod_validator.cpp.
References kcenon::pacs::services::validation::sr_validation_options::check_type1, kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::sr_tags::current_requested_procedure_evidence_sequence, kcenon::pacs::services::validation::error, kcenon::pacs::services::validation::validation_result::findings, kcenon::pacs::services::validation::validation_result::is_valid, options_, kcenon::pacs::services::validation::sr_validation_options::strict_mode, validate_general_equipment_module(), validate_general_study_module(), kcenon::pacs::services::validation::sr_validation_options::validate_key_object_selection, validate_patient_module(), validate_sop_common_module(), validate_sr_document_content_module(), validate_sr_document_general_module(), validate_sr_document_series_module(), and kcenon::pacs::services::validation::warning.
Referenced by validate().


|
private |
Definition at line 702 of file sr_iod_validator.cpp.
References kcenon::pacs::services::validation::error, kcenon::pacs::services::validation::sr_tags::measured_value_sequence, kcenon::pacs::services::validation::sr_tags::measurement_units_code_sequence, and kcenon::pacs::services::validation::sr_tags::numeric_value.
Referenced by validate_content_item().

|
private |
Definition at line 350 of file sr_iod_validator.cpp.
References kcenon::pacs::services::validation::sr_validation_options::check_type2, check_type2_attribute(), options_, kcenon::pacs::core::tags::patient_birth_date, kcenon::pacs::core::tags::patient_id, kcenon::pacs::core::tags::patient_name, and kcenon::pacs::core::tags::patient_sex.
Referenced by validate_basic_text_sr(), validate_comprehensive_sr(), validate_enhanced_sr(), and validate_key_object_selection().


|
nodiscard |
Validate referenced instances.
Checks that all referenced SOP instances are properly specified.
| dataset | The dataset to validate |
Definition at line 289 of file sr_iod_validator.cpp.
References kcenon::pacs::services::validation::error, kcenon::pacs::services::validation::validation_result::findings, kcenon::pacs::services::validation::validation_result::is_valid, and validate_evidence_sequences().

|
private |
Definition at line 801 of file sr_iod_validator.cpp.
References kcenon::pacs::services::validation::error, kcenon::pacs::services::validation::sr_tags::graphic_data, kcenon::pacs::services::validation::sr_tags::graphic_type, and kcenon::pacs::services::validation::sr_tags::referenced_frame_of_reference_uid.
Referenced by validate_content_item().

|
private |
Definition at line 778 of file sr_iod_validator.cpp.
References kcenon::pacs::services::validation::error, kcenon::pacs::services::validation::sr_tags::graphic_data, and kcenon::pacs::services::validation::sr_tags::graphic_type.
Referenced by validate_content_item().

|
private |
Definition at line 476 of file sr_iod_validator.cpp.
References kcenon::pacs::services::validation::sr_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::error, kcenon::pacs::core::dicom_dataset::get_string(), kcenon::pacs::services::sop_classes::is_sr_storage_sop_class(), options_, kcenon::pacs::core::tags::sop_class_uid, and kcenon::pacs::core::tags::sop_instance_uid.
Referenced by validate_basic_text_sr(), validate_comprehensive_sr(), validate_enhanced_sr(), and validate_key_object_selection().


|
private |
Definition at line 439 of file sr_iod_validator.cpp.
References kcenon::pacs::services::validation::sr_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::services::validation::sr_tags::concept_name_code_sequence, kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::error, kcenon::pacs::core::dicom_dataset::get(), kcenon::pacs::core::dicom_dataset::get_string(), options_, kcenon::pacs::services::validation::sr_validation_options::validate_coded_entries, validate_coded_entry(), validate_content_sequence(), kcenon::pacs::services::validation::sr_validation_options::validate_content_sequence, kcenon::pacs::services::validation::sr_validation_options::validate_value_types, and kcenon::pacs::services::validation::sr_tags::value_type.
Referenced by validate_basic_text_sr(), validate_comprehensive_sr(), validate_enhanced_sr(), and validate_key_object_selection().


|
private |
Definition at line 404 of file sr_iod_validator.cpp.
References check_completion_flag(), kcenon::pacs::services::validation::sr_validation_options::check_conditional, kcenon::pacs::services::validation::sr_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::services::validation::sr_validation_options::check_type2, check_type2_attribute(), check_verification_flag(), kcenon::pacs::services::validation::sr_tags::completion_flag, kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::sr_tags::content_date, kcenon::pacs::services::validation::sr_tags::content_time, kcenon::pacs::services::validation::error, kcenon::pacs::core::dicom_dataset::get_string(), kcenon::pacs::services::validation::sr_tags::instance_number, options_, kcenon::pacs::services::validation::sr_validation_options::validate_document_status, kcenon::pacs::services::validation::sr_tags::verification_flag, and kcenon::pacs::services::validation::sr_tags::verifying_observer_sequence.
Referenced by validate_basic_text_sr(), validate_comprehensive_sr(), validate_enhanced_sr(), and validate_key_object_selection().


|
private |
Definition at line 379 of file sr_iod_validator.cpp.
References check_modality(), kcenon::pacs::services::validation::sr_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::services::validation::sr_validation_options::check_type2, check_type2_attribute(), kcenon::pacs::core::tags::modality, options_, kcenon::pacs::core::tags::series_instance_uid, and kcenon::pacs::core::tags::series_number.
Referenced by validate_basic_text_sr(), validate_comprehensive_sr(), validate_enhanced_sr(), and validate_key_object_selection().


|
private |
Definition at line 674 of file sr_iod_validator.cpp.
References kcenon::pacs::services::validation::error, and kcenon::pacs::services::validation::sr_tags::text_value.
Referenced by validate_content_item().

|
private |
Definition at line 318 of file sr_iod_validator.h.
Referenced by options(), set_options(), validate_basic_text_sr(), validate_comprehensive_sr(), validate_enhanced_sr(), validate_general_equipment_module(), validate_general_study_module(), validate_key_object_selection(), validate_patient_module(), validate_sop_common_module(), validate_sr_document_content_module(), validate_sr_document_general_module(), and validate_sr_document_series_module().