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

Public Member Functions | |
| imaging_document_source ()=default | |
| imaging_document_source (const imaging_document_source_config &config) | |
| kos_creation_result | create_kos_document (const std::string &study_instance_uid, const std::vector< kos_instance_reference > &references, const std::optional< core::dicom_dataset > &patient_demographics=std::nullopt) const |
| Create a KOS document from a set of DICOM instance references. | |
| xds_document_entry | build_document_entry (const core::dicom_dataset &kos_dataset) const |
| Build XDS document entry metadata from a KOS dataset. | |
| xds_submission_set | build_submission_set (const std::string &patient_id) const |
| Build XDS submission set metadata. | |
| publication_result | publish_document (const core::dicom_dataset &kos_dataset, const xds_document_entry &entry) const |
| Publish a KOS document to the XDS registry/repository. | |
| const imaging_document_source_config & | config () const noexcept |
| Get current configuration. | |
| void | set_config (const imaging_document_source_config &config) |
| Set configuration. | |
Private Member Functions | |
| std::string | generate_uid () const |
| Generate a new UID for KOS instances. | |
| void | build_evidence_sequence (core::dicom_dataset &kos_dataset, const std::vector< kos_instance_reference > &references) const |
| Build the Current Requested Procedure Evidence Sequence. | |
Private Attributes | |
| imaging_document_source_config | config_ |
Definition at line 261 of file imaging_document_source.h.
|
default |
|
explicit |
Definition at line 91 of file imaging_document_source.cpp.
|
nodiscard |
Build XDS document entry metadata from a KOS dataset.
Extracts patient and study metadata from the KOS dataset and populates an xds_document_entry structure suitable for registry submission.
| kos_dataset | The KOS dataset to extract metadata from |
Definition at line 185 of file imaging_document_source.cpp.
References kcenon::pacs::services::xds::xds_document_entry::author_person, kcenon::pacs::services::xds::xds_document_entry::class_code, kcenon::pacs::services::xds::xds_document_entry::class_code_display, kcenon::pacs::services::xds::xds_document_entry::class_code_scheme, config_, kcenon::pacs::services::xds::xds_document_entry::creation_time, kcenon::pacs::services::xds::xds_document_entry::entry_uuid, kcenon::pacs::services::xds::imaging_document_source_config::facility_type_code, kcenon::pacs::services::xds::xds_document_entry::facility_type_code, kcenon::pacs::services::xds::imaging_document_source_config::facility_type_code_scheme, kcenon::pacs::services::xds::xds_document_entry::facility_type_code_scheme, kcenon::pacs::services::xds::xds_document_entry::format_code, kcenon::pacs::services::xds::xds_document_entry::format_code_scheme, generate_uid(), kcenon::pacs::core::dicom_dataset::get_string(), kcenon::pacs::services::sop_classes::key_object_selection_document_storage_uid, kcenon::pacs::core::tags::patient_id, kcenon::pacs::services::xds::xds_document_entry::patient_id, kcenon::pacs::services::xds::imaging_document_source_config::practice_setting_code, kcenon::pacs::services::xds::xds_document_entry::practice_setting_code, kcenon::pacs::services::xds::imaging_document_source_config::practice_setting_code_scheme, kcenon::pacs::services::xds::xds_document_entry::practice_setting_code_scheme, kcenon::pacs::core::tags::referring_physician_name, kcenon::pacs::services::xds::xds_document_entry::service_start_time, kcenon::pacs::services::xds::xds_document_entry::service_stop_time, kcenon::pacs::core::tags::sop_instance_uid, kcenon::pacs::services::xds::xds_document_entry::source_patient_id, kcenon::pacs::services::xds::xds_document_entry::title, kcenon::pacs::services::xds::xds_document_entry::type_code, kcenon::pacs::services::xds::xds_document_entry::type_code_display, kcenon::pacs::services::xds::xds_document_entry::type_code_scheme, and kcenon::pacs::services::xds::xds_document_entry::unique_id.

|
private |
Build the Current Requested Procedure Evidence Sequence.
Definition at line 286 of file imaging_document_source.cpp.
References kcenon::pacs::services::xds::kos_tags::current_requested_procedure_evidence_sequence, kcenon::pacs::services::xds::kos_tags::referenced_series_sequence, kcenon::pacs::services::xds::kos_tags::referenced_sop_class_uid, kcenon::pacs::services::xds::kos_tags::referenced_sop_instance_uid, kcenon::pacs::services::xds::kos_tags::referenced_sop_sequence, kcenon::pacs::core::tags::series_instance_uid, kcenon::pacs::core::dicom_dataset::set_string(), and kcenon::pacs::core::tags::study_instance_uid.
Referenced by create_kos_document().


|
nodiscard |
Build XDS submission set metadata.
Creates a submission set entry for ITI-41 Provide and Register Document Set-b transaction.
| patient_id | Patient ID for the submission |
Definition at line 226 of file imaging_document_source.cpp.
References config_, generate_uid(), and kcenon::pacs::services::xds::imaging_document_source_config::source_oid.

|
nodiscardnoexcept |
Get current configuration.
Definition at line 264 of file imaging_document_source.cpp.
References config_.
Referenced by set_config().

|
nodiscard |
Create a KOS document from a set of DICOM instance references.
Generates a Key Object Selection Document (SOP Class 1.2.840.10008.5.1.4.1.1.88.59) containing references to the specified instances, following TID 2010.
| study_instance_uid | The Study Instance UID |
| references | Vector of instance references to include |
| patient_demographics | Optional patient demographics dataset |
Definition at line 95 of file imaging_document_source.cpp.
References kcenon::pacs::core::tags::accession_number, build_evidence_sequence(), kcenon::pacs::services::xds::kos_tags::code_meaning, kcenon::pacs::services::xds::kos_tags::code_value, kcenon::pacs::services::xds::kos_tags::coding_scheme_designator, kcenon::pacs::services::xds::kos_tags::completion_flag, kcenon::pacs::services::xds::kos_tags::concept_name_code_sequence, kcenon::pacs::core::tags::content_date, kcenon::pacs::services::xds::kos_tags::content_template_sequence, kcenon::pacs::core::tags::content_time, kcenon::pacs::services::xds::kos_creation_result::error_message, generate_uid(), kcenon::pacs::core::tags::instance_number, kcenon::pacs::services::sop_classes::key_object_selection_document_storage_uid, kcenon::pacs::services::xds::kos_creation_result::kos_dataset, kcenon::pacs::services::xds::kos_creation_result::kos_instance_uid, kcenon::pacs::services::xds::kos_tags::mapping_resource, kcenon::pacs::core::tags::modality, kcenon::pacs::core::tags::patient_birth_date, kcenon::pacs::core::tags::patient_id, kcenon::pacs::core::tags::patient_name, kcenon::pacs::core::tags::patient_sex, kcenon::pacs::services::xds::kos_creation_result::reference_count, kcenon::pacs::core::tags::referring_physician_name, kcenon::pacs::core::tags::series_instance_uid, kcenon::pacs::core::tags::series_number, kcenon::pacs::core::dicom_dataset::set_string(), kcenon::pacs::core::tags::sop_class_uid, kcenon::pacs::core::tags::sop_instance_uid, kcenon::pacs::core::tags::study_date, kcenon::pacs::core::tags::study_id, kcenon::pacs::core::tags::study_instance_uid, kcenon::pacs::core::tags::study_time, kcenon::pacs::services::xds::kos_creation_result::success, kcenon::pacs::services::xds::kos_tags::template_identifier, kcenon::pacs::services::xds::kos_tags::value_type, kcenon::pacs::services::xds::kos_tags::verification_flag, and vr.

|
nodiscardprivate |
Generate a new UID for KOS instances.
Definition at line 273 of file imaging_document_source.cpp.
Referenced by build_document_entry(), build_submission_set(), and create_kos_document().

|
nodiscard |
Publish a KOS document to the XDS registry/repository.
Performs the ITI-41 (Provide and Register Document Set-b) transaction to publish the KOS document and its metadata to the configured XDS registry/repository.
| kos_dataset | The KOS dataset to publish |
| entry | The document entry metadata |
Definition at line 242 of file imaging_document_source.cpp.
References config_, kcenon::pacs::services::xds::publication_result::document_entry_uuid, kcenon::pacs::services::xds::publication_result::error_message, kcenon::pacs::services::xds::imaging_document_source_config::registry_url, and kcenon::pacs::services::xds::publication_result::success.
| void kcenon::pacs::services::xds::imaging_document_source::set_config | ( | const imaging_document_source_config & | config | ) |
Set configuration.
| config | New configuration |
Definition at line 268 of file imaging_document_source.cpp.
References config(), and config_.

|
private |
Definition at line 335 of file imaging_document_source.h.
Referenced by build_document_entry(), build_submission_set(), config(), publish_document(), and set_config().