PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
sr_storage.h File Reference

Structured Report (SR) Storage SOP Classes. More...

#include <array>
#include <cstdint>
#include <string>
#include <string_view>
#include <vector>
Include dependency graph for sr_storage.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kcenon::pacs::services::sop_classes::sr_sop_class_info
 Information about an SR Storage SOP Class. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::pacs
 
namespace  kcenon::pacs::services
 
namespace  kcenon::pacs::services::sop_classes
 
namespace  kcenon::pacs::services::sop_classes::sr_template
 Common SR Template IDs (TID)
 

Enumerations

enum class  kcenon::pacs::services::sop_classes::sr_document_type {
  kcenon::pacs::services::sop_classes::basic_text , kcenon::pacs::services::sop_classes::enhanced , kcenon::pacs::services::sop_classes::comprehensive , kcenon::pacs::services::sop_classes::comprehensive_3d ,
  kcenon::pacs::services::sop_classes::extensible , kcenon::pacs::services::sop_classes::key_object_selection , kcenon::pacs::services::sop_classes::cad , kcenon::pacs::services::sop_classes::dose_report ,
  kcenon::pacs::services::sop_classes::procedure_log , kcenon::pacs::services::sop_classes::other
}
 SR Document type classification. More...
 
enum class  kcenon::pacs::services::sop_classes::sr_value_type {
  kcenon::pacs::services::sop_classes::text , kcenon::pacs::services::sop_classes::code , kcenon::pacs::services::sop_classes::num , kcenon::pacs::services::sop_classes::datetime ,
  kcenon::pacs::services::sop_classes::date , kcenon::pacs::services::sop_classes::time , kcenon::pacs::services::sop_classes::uidref , kcenon::pacs::services::sop_classes::pname ,
  kcenon::pacs::services::sop_classes::composite , kcenon::pacs::services::sop_classes::image , kcenon::pacs::services::sop_classes::waveform , kcenon::pacs::services::sop_classes::scoord ,
  kcenon::pacs::services::sop_classes::scoord3d , kcenon::pacs::services::sop_classes::tcoord , kcenon::pacs::services::sop_classes::container , kcenon::pacs::services::sop_classes::table ,
  kcenon::pacs::services::sop_classes::unknown
}
 SR Content Item Value Type (0040,A040) More...
 
enum class  kcenon::pacs::services::sop_classes::sr_relationship_type {
  kcenon::pacs::services::sop_classes::contains , kcenon::pacs::services::sop_classes::has_obs_context , kcenon::pacs::services::sop_classes::has_acq_context , kcenon::pacs::services::sop_classes::has_concept_mod ,
  kcenon::pacs::services::sop_classes::has_properties , kcenon::pacs::services::sop_classes::inferred_from , kcenon::pacs::services::sop_classes::selected_from , kcenon::pacs::services::sop_classes::unknown
}
 SR Content Item Relationship Type (0040,A010) More...
 
enum class  kcenon::pacs::services::sop_classes::sr_completion_flag { kcenon::pacs::services::sop_classes::partial , kcenon::pacs::services::sop_classes::complete }
 SR Completion Flag (0040,A491) More...
 
enum class  kcenon::pacs::services::sop_classes::sr_verification_flag { kcenon::pacs::services::sop_classes::unverified , kcenon::pacs::services::sop_classes::verified }
 SR Verification Flag (0040,A493) More...
 

Functions

std::vector< std::string > kcenon::pacs::services::sop_classes::get_sr_transfer_syntaxes ()
 Get recommended transfer syntaxes for SR objects.
 
sr_document_type kcenon::pacs::services::sop_classes::get_sr_document_type (std::string_view uid) noexcept
 Get SR document type for a SOP Class UID.
 
std::string_view kcenon::pacs::services::sop_classes::to_string (sr_document_type type) noexcept
 Get human-readable name for SR document type.
 
std::string_view kcenon::pacs::services::sop_classes::to_string (sr_value_type type) noexcept
 Convert SR value type to DICOM string.
 
sr_value_type kcenon::pacs::services::sop_classes::parse_sr_value_type (std::string_view value) noexcept
 Parse SR value type from DICOM string.
 
bool kcenon::pacs::services::sop_classes::is_valid_sr_value_type (std::string_view value) noexcept
 Check if SR value type string is valid.
 
std::string_view kcenon::pacs::services::sop_classes::to_string (sr_relationship_type type) noexcept
 Convert SR relationship type to DICOM string.
 
sr_relationship_type kcenon::pacs::services::sop_classes::parse_sr_relationship_type (std::string_view value) noexcept
 Parse SR relationship type from DICOM string.
 
std::string_view kcenon::pacs::services::sop_classes::to_string (sr_completion_flag flag) noexcept
 Convert SR completion flag to DICOM string.
 
sr_completion_flag kcenon::pacs::services::sop_classes::parse_sr_completion_flag (std::string_view value) noexcept
 Parse SR completion flag from DICOM string.
 
std::string_view kcenon::pacs::services::sop_classes::to_string (sr_verification_flag flag) noexcept
 Convert SR verification flag to DICOM string.
 
sr_verification_flag kcenon::pacs::services::sop_classes::parse_sr_verification_flag (std::string_view value) noexcept
 Parse SR verification flag from DICOM string.
 
std::vector< std::string > kcenon::pacs::services::sop_classes::get_sr_storage_sop_classes (bool include_cad=true, bool include_dose=true)
 Get all SR Storage SOP Class UIDs.
 
const sr_sop_class_infokcenon::pacs::services::sop_classes::get_sr_sop_class_info (std::string_view uid) noexcept
 Get information about a specific SR SOP Class.
 
bool kcenon::pacs::services::sop_classes::is_sr_storage_sop_class (std::string_view uid) noexcept
 Check if a SOP Class UID is an SR Storage SOP Class.
 
bool kcenon::pacs::services::sop_classes::is_cad_sr_storage_sop_class (std::string_view uid) noexcept
 Check if a SOP Class UID is a CAD SR Storage SOP Class.
 
bool kcenon::pacs::services::sop_classes::is_dose_sr_storage_sop_class (std::string_view uid) noexcept
 Check if a SOP Class UID is a Dose Report SR Storage SOP Class.
 
bool kcenon::pacs::services::sop_classes::sr_supports_spatial_coords (std::string_view uid) noexcept
 Check if an SR SOP Class supports spatial coordinates.
 
std::string_view kcenon::pacs::services::sop_classes::get_recommended_sr_template (std::string_view uid) noexcept
 Get recommended template ID for an SR SOP Class.
 

Variables

constexpr std::string_view kcenon::pacs::services::sop_classes::sr_template::basic_diagnostic_imaging_report = "2000"
 Basic Diagnostic Imaging Report (TID 2000)
 
constexpr std::string_view kcenon::pacs::services::sop_classes::sr_template::mammography_cad_report = "4000"
 Mammography CAD Report (TID 4000)
 
constexpr std::string_view kcenon::pacs::services::sop_classes::sr_template::chest_cad_report = "4100"
 Chest CAD Report (TID 4100)
 
constexpr std::string_view kcenon::pacs::services::sop_classes::sr_template::colon_cad_report = "4200"
 Colon CAD Report (TID 4200)
 
constexpr std::string_view kcenon::pacs::services::sop_classes::sr_template::xray_radiation_dose_report = "10001"
 X-Ray Radiation Dose Report (TID 10001)
 
constexpr std::string_view kcenon::pacs::services::sop_classes::sr_template::ct_radiation_dose_report = "10011"
 CT Radiation Dose Report (TID 10011)
 
constexpr std::string_view kcenon::pacs::services::sop_classes::sr_template::projection_xray_dose_report = "10020"
 Projection X-Ray Radiation Dose Report (TID 10020)
 
constexpr std::string_view kcenon::pacs::services::sop_classes::sr_template::key_object_selection = "2010"
 Key Object Selection (TID 2010)
 
constexpr std::string_view kcenon::pacs::services::sop_classes::sr_template::measurement_report = "1500"
 AI Results Report (TID 1500 - measurement group)
 
Basic SR SOP Classes
constexpr std::string_view kcenon::pacs::services::sop_classes::basic_text_sr_storage_uid
 Basic Text SR Storage SOP Class UID.
 
constexpr std::string_view kcenon::pacs::services::sop_classes::enhanced_sr_storage_uid
 Enhanced SR Storage SOP Class UID.
 
constexpr std::string_view kcenon::pacs::services::sop_classes::comprehensive_sr_storage_uid
 Comprehensive SR Storage SOP Class UID.
 
constexpr std::string_view kcenon::pacs::services::sop_classes::comprehensive_3d_sr_storage_uid
 Comprehensive 3D SR Storage SOP Class UID.
 
constexpr std::string_view kcenon::pacs::services::sop_classes::extensible_sr_storage_uid
 Extensible SR Storage SOP Class UID.
 
Specialized SR SOP Classes
constexpr std::string_view kcenon::pacs::services::sop_classes::mammography_cad_sr_storage_uid
 Mammography CAD SR Storage SOP Class UID.
 
constexpr std::string_view kcenon::pacs::services::sop_classes::chest_cad_sr_storage_uid
 Chest CAD SR Storage SOP Class UID.
 
constexpr std::string_view kcenon::pacs::services::sop_classes::colon_cad_sr_storage_uid
 Colon CAD SR Storage SOP Class UID.
 
constexpr std::string_view kcenon::pacs::services::sop_classes::xray_radiation_dose_sr_storage_uid
 X-Ray Radiation Dose SR Storage SOP Class UID.
 
constexpr std::string_view kcenon::pacs::services::sop_classes::radiopharmaceutical_radiation_dose_sr_storage_uid
 Radiopharmaceutical Radiation Dose SR Storage SOP Class UID.
 
constexpr std::string_view kcenon::pacs::services::sop_classes::acquisition_context_sr_storage_uid
 Acquisition Context SR Storage SOP Class UID.
 
constexpr std::string_view kcenon::pacs::services::sop_classes::simplified_adult_echo_sr_storage_uid
 Simplified Adult Echo SR Storage SOP Class UID.
 
constexpr std::string_view kcenon::pacs::services::sop_classes::patient_radiation_dose_sr_storage_uid
 Patient Radiation Dose SR Storage SOP Class UID.
 
constexpr std::string_view kcenon::pacs::services::sop_classes::planned_imaging_agent_admin_sr_storage_uid
 Planned Imaging Agent Administration SR Storage SOP Class UID.
 
constexpr std::string_view kcenon::pacs::services::sop_classes::performed_imaging_agent_admin_sr_storage_uid
 Performed Imaging Agent Administration SR Storage SOP Class UID.
 
constexpr std::string_view kcenon::pacs::services::sop_classes::enhanced_xray_radiation_dose_sr_storage_uid
 Enhanced X-Ray Radiation Dose SR Storage SOP Class UID.
 
Key Object Selection Document
constexpr std::string_view kcenon::pacs::services::sop_classes::key_object_selection_document_storage_uid
 Key Object Selection Document Storage SOP Class UID.
 

Detailed Description

Structured Report (SR) Storage SOP Classes.

This file provides SOP Class definitions and utilities for Structured Report object storage. Supports various SR document types including Basic Text SR, Enhanced SR, Comprehensive SR, and specialized SR documents for AI/CAD results.

See also
DICOM PS3.4 Section B - Storage Service Class
DICOM PS3.3 Section A.35 - SR Document IODs
Author
kcenon
Since
1.0.0

Definition in file sr_storage.h.