21#ifndef PACS_SERVICES_XDS_IMAGING_DOCUMENT_SOURCE_HPP
22#define PACS_SERVICES_XDS_IMAGING_DOCUMENT_SOURCE_HPP
278 const std::string& study_instance_uid,
279 const std::vector<kos_instance_reference>& references,
280 const std::optional<core::dicom_dataset>& patient_demographics = std::nullopt)
const;
305 const std::string& patient_id)
const;
const imaging_document_source_config & config() const noexcept
Get current configuration.
imaging_document_source()=default
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.
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.
void set_config(const imaging_document_source_config &config)
Set configuration.
xds_submission_set build_submission_set(const std::string &patient_id) const
Build XDS submission set metadata.
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.
imaging_document_source_config config_
DICOM Dataset - ordered collection of Data Elements.
Configuration for the Imaging Document Source actor.
std::string source_oid
Source system OID (used as sourceId in submissions)
std::string practice_setting_code_scheme
std::string practice_setting_code
Default practice setting code.
std::string assigning_authority_oid
Assigning authority OID for patient IDs.
std::string registry_url
XDS Registry/Repository endpoint URL.
std::string facility_type_code_scheme
bool include_all_instances
Whether to include all instances or just key instances.
std::string facility_type_code
Default facility type code.
uint32_t timeout_ms
Connection timeout in milliseconds.
Result of a KOS document creation operation.
std::optional< core::dicom_dataset > kos_dataset
The created KOS dataset (if successful)
std::string error_message
Error message (if failed)
size_t reference_count
Number of referenced instances.
std::string kos_instance_uid
SOP Instance UID of the created KOS.
bool success
Whether the KOS was created successfully.
Reference to a DICOM instance within a KOS document.
std::string sop_instance_uid
Referenced SOP Instance UID.
std::string sop_class_uid
Referenced SOP Class UID.
std::string study_instance_uid
Study Instance UID.
std::string series_instance_uid
Referenced Series Instance UID.
Result of publishing a document to an XDS registry/repository.
std::string document_entry_uuid
Registry-assigned document entry UUID.
std::string error_message
Error message (if failed)
bool success
Whether the publication was successful.
Document entry metadata for XDS registry submission.
std::string creation_time
Creation time (DTM format: YYYYMMDDhhmmss)
std::string patient_id
Patient ID in CX format (ID^^^&OID&ISO)
std::string format_code_scheme
std::string type_code_display
std::string service_start_time
Service start/stop time.
std::string mime_type
MIME type of the document.
std::string class_code
Document class code (e.g., "Imaging Procedure")
std::string class_code_scheme
std::string facility_type_code_scheme
std::string type_code
Type code (e.g., "Key Object Selection")
std::string unique_id
Document unique ID (OID format)
std::string facility_type_code
Healthcare facility type.
std::string source_patient_id
Source patient ID (from the originating system)
std::string type_code_scheme
std::string class_code_display
std::string availability_status
Availability status.
std::string author_person
Author information.
std::string format_code
Format code (e.g., "1.2.840.10008.5.1.4.1.1.88.59")
std::string language_code
Language code (e.g., "en-US")
std::string author_institution
std::string entry_uuid
Unique identifier for this document entry.
std::string service_stop_time
std::string title
Title/description.
std::string practice_setting_code_scheme
std::string practice_setting_code
Practice setting code.
Submission set metadata for XDS registry.
std::string content_type_code
Content type code.
std::string content_type_code_display
std::string patient_id
Patient ID.
std::string author_person
Author information.
std::string unique_id
Unique identifier for this submission set.
std::string author_institution
std::string source_id
Source ID (OID of the submitting system)
std::string content_type_code_scheme
std::string submission_time
Submission time (DTM format)