|
PACS System 0.1.0
PACS DICOM system library
|
Validator for Structured Report IODs. More...
#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_ |
Validator for Structured Report IODs.
Validates DICOM datasets against various SR Document IOD specifications. Supports Basic Text SR, Enhanced SR, Comprehensive SR, and specialized SR documents including CAD SR and Key Object Selection.
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 | ) |
|
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().