|
PACS System 0.1.0
PACS DICOM system library
|
DIMSE message encoding and decoding. More...
#include "command_field.h"#include "status_codes.h"#include <kcenon/pacs/core/dicom_dataset.h>#include <kcenon/pacs/core/dicom_tag.h>#include <kcenon/pacs/core/result.h>#include <kcenon/pacs/encoding/transfer_syntax.h>#include <cstdint>#include <functional>#include <optional>#include <span>#include <string>#include <string_view>#include <variant>#include <vector>

Go to the source code of this file.
Classes | |
| class | kcenon::pacs::network::dimse::dimse_message |
Namespaces | |
| namespace | kcenon |
| namespace | kcenon::pacs |
| namespace | kcenon::pacs::network |
| namespace | kcenon::pacs::network::dimse |
Typedefs | |
| template<typename T > | |
| using | kcenon::pacs::network::dimse::dimse_result = kcenon::pacs::Result<T> |
| Result type for DIMSE operations using standardized kcenon::pacs::Result<T> | |
Enumerations | |
| enum class | kcenon::pacs::network::dimse::dimse_error { kcenon::pacs::network::dimse::success = 0 , kcenon::pacs::network::dimse::invalid_command_set , kcenon::pacs::network::dimse::missing_required_field , kcenon::pacs::network::dimse::invalid_data_format , kcenon::pacs::network::dimse::encoding_error , kcenon::pacs::network::dimse::decoding_error } |
| Error codes for DIMSE message operations. More... | |
Functions | |
| constexpr std::string_view | kcenon::pacs::network::dimse::to_string (dimse_error err) noexcept |
| Get error description. | |
| auto | kcenon::pacs::network::dimse::make_c_echo_rq (uint16_t message_id, std::string_view sop_class_uid="1.2.840.10008.1.1") -> dimse_message |
| Create a C-ECHO request message. | |
| auto | kcenon::pacs::network::dimse::make_c_echo_rsp (uint16_t message_id_responded_to, status_code status=status_success, std::string_view sop_class_uid="1.2.840.10008.1.1") -> dimse_message |
| Create a C-ECHO response message. | |
| auto | kcenon::pacs::network::dimse::make_c_store_rq (uint16_t message_id, std::string_view sop_class_uid, std::string_view sop_instance_uid, uint16_t priority=priority_medium) -> dimse_message |
| Create a C-STORE request message. | |
| auto | kcenon::pacs::network::dimse::make_c_store_rsp (uint16_t message_id_responded_to, std::string_view sop_class_uid, std::string_view sop_instance_uid, status_code status=status_success) -> dimse_message |
| Create a C-STORE response message. | |
| auto | kcenon::pacs::network::dimse::make_c_find_rq (uint16_t message_id, std::string_view sop_class_uid, uint16_t priority=priority_medium) -> dimse_message |
| Create a C-FIND request message. | |
| auto | kcenon::pacs::network::dimse::make_c_find_rsp (uint16_t message_id_responded_to, std::string_view sop_class_uid, status_code status) -> dimse_message |
| Create a C-FIND response message. | |
| auto | kcenon::pacs::network::dimse::make_n_create_rq (uint16_t message_id, std::string_view sop_class_uid, std::string_view sop_instance_uid="") -> dimse_message |
| Create an N-CREATE request message. | |
| auto | kcenon::pacs::network::dimse::make_n_create_rsp (uint16_t message_id_responded_to, std::string_view sop_class_uid, std::string_view sop_instance_uid, status_code status=status_success) -> dimse_message |
| Create an N-CREATE response message. | |
| auto | kcenon::pacs::network::dimse::make_n_set_rq (uint16_t message_id, std::string_view sop_class_uid, std::string_view sop_instance_uid) -> dimse_message |
| Create an N-SET request message. | |
| auto | kcenon::pacs::network::dimse::make_n_set_rsp (uint16_t message_id_responded_to, std::string_view sop_class_uid, std::string_view sop_instance_uid, status_code status=status_success) -> dimse_message |
| Create an N-SET response message. | |
| auto | kcenon::pacs::network::dimse::make_n_get_rq (uint16_t message_id, std::string_view sop_class_uid, std::string_view sop_instance_uid, const std::vector< core::dicom_tag > &attribute_tags={}) -> dimse_message |
| Create an N-GET request message. | |
| auto | kcenon::pacs::network::dimse::make_n_get_rsp (uint16_t message_id_responded_to, std::string_view sop_class_uid, std::string_view sop_instance_uid, status_code status=status_success) -> dimse_message |
| Create an N-GET response message. | |
| auto | kcenon::pacs::network::dimse::make_n_event_report_rq (uint16_t message_id, std::string_view sop_class_uid, std::string_view sop_instance_uid, uint16_t event_type_id) -> dimse_message |
| Create an N-EVENT-REPORT request message. | |
| auto | kcenon::pacs::network::dimse::make_n_event_report_rsp (uint16_t message_id_responded_to, std::string_view sop_class_uid, std::string_view sop_instance_uid, uint16_t event_type_id, status_code status=status_success) -> dimse_message |
| Create an N-EVENT-REPORT response message. | |
| auto | kcenon::pacs::network::dimse::make_n_action_rq (uint16_t message_id, std::string_view sop_class_uid, std::string_view sop_instance_uid, uint16_t action_type_id) -> dimse_message |
| Create an N-ACTION request message. | |
| auto | kcenon::pacs::network::dimse::make_n_action_rsp (uint16_t message_id_responded_to, std::string_view sop_class_uid, std::string_view sop_instance_uid, uint16_t action_type_id, status_code status=status_success) -> dimse_message |
| Create an N-ACTION response message. | |
| auto | kcenon::pacs::network::dimse::make_n_delete_rq (uint16_t message_id, std::string_view sop_class_uid, std::string_view sop_instance_uid) -> dimse_message |
| Create an N-DELETE request message. | |
| auto | kcenon::pacs::network::dimse::make_n_delete_rsp (uint16_t message_id_responded_to, std::string_view sop_class_uid, std::string_view sop_instance_uid, status_code status=status_success) -> dimse_message |
| Create an N-DELETE response message. | |
Variables | |
DIMSE Command Tags | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_command_group_length {0x0000, 0x0000} |
| Command Group Length (0000,0000) - UL. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_affected_sop_class_uid {0x0000, 0x0002} |
| Affected SOP Class UID (0000,0002) - UI. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_requested_sop_class_uid {0x0000, 0x0003} |
| Requested SOP Class UID (0000,0003) - UI. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_command_field {0x0000, 0x0100} |
| Command Field (0000,0100) - US. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_message_id {0x0000, 0x0110} |
| Message ID (0000,0110) - US. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_message_id_responded_to {0x0000, 0x0120} |
| Message ID Being Responded To (0000,0120) - US. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_move_destination {0x0000, 0x0600} |
| Move Destination (0000,0600) - AE. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_priority {0x0000, 0x0700} |
| Priority (0000,0700) - US. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_command_data_set_type {0x0000, 0x0800} |
| Command Data Set Type (0000,0800) - US. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_status {0x0000, 0x0900} |
| Status (0000,0900) - US. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_offending_element {0x0000, 0x0901} |
| Offending Element (0000,0901) - AT. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_error_comment {0x0000, 0x0902} |
| Error Comment (0000,0902) - LO. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_error_id {0x0000, 0x0903} |
| Error ID (0000,0903) - US. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_affected_sop_instance_uid {0x0000, 0x1000} |
| Affected SOP Instance UID (0000,1000) - UI. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_requested_sop_instance_uid {0x0000, 0x1001} |
| Requested SOP Instance UID (0000,1001) - UI. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_event_type_id {0x0000, 0x1002} |
| Event Type ID (0000,1002) - US. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_attribute_identifier_list {0x0000, 0x1005} |
| Attribute Identifier List (0000,1005) - AT. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_action_type_id {0x0000, 0x1008} |
| Action Type ID (0000,1008) - US. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_number_of_remaining_subops {0x0000, 0x1020} |
| Number of Remaining Sub-operations (0000,1020) - US. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_number_of_completed_subops {0x0000, 0x1021} |
| Number of Completed Sub-operations (0000,1021) - US. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_number_of_failed_subops {0x0000, 0x1022} |
| Number of Failed Sub-operations (0000,1022) - US. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_number_of_warning_subops {0x0000, 0x1023} |
| Number of Warning Sub-operations (0000,1023) - US. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_move_originator_aet {0x0000, 0x1030} |
| Move Originator Application Entity Title (0000,1030) - AE. | |
| constexpr core::dicom_tag | kcenon::pacs::network::dimse::tag_move_originator_message_id {0x0000, 0x1031} |
| Move Originator Message ID (0000,1031) - US. | |
Command Data Set Type Values | |
| constexpr uint16_t | kcenon::pacs::network::dimse::command_data_set_type_null = 0x0101 |
| Null value indicating no data set present. | |
| constexpr uint16_t | kcenon::pacs::network::dimse::command_data_set_type_present = 0x0001 |
| Value indicating data set is present (any value other than 0x0101) | |
Priority Values | |
| constexpr uint16_t | kcenon::pacs::network::dimse::priority_low = 0x0002 |
| Low priority. | |
| constexpr uint16_t | kcenon::pacs::network::dimse::priority_medium = 0x0000 |
| Medium priority. | |
| constexpr uint16_t | kcenon::pacs::network::dimse::priority_high = 0x0001 |
| High priority. | |
DIMSE message encoding and decoding.
This file provides the dimse_message class for constructing and parsing DICOM Message Service Element (DIMSE) messages.
Definition in file dimse_message.h.