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

IHE ATNA-compliant audit message generator (RFC 3881 XML format) More...

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

Go to the source code of this file.

Classes

struct  kcenon::pacs::security::atna_coded_value
 A coded value with code, code system name, and display name. More...
 
struct  kcenon::pacs::security::atna_active_participant
 An active participant in the audit event. More...
 
struct  kcenon::pacs::security::atna_audit_source
 Identifies the audit source system. More...
 
struct  kcenon::pacs::security::atna_object_detail
 Additional detail about a participant object. More...
 
struct  kcenon::pacs::security::atna_participant_object
 An object (patient, study, query) involved in the event. More...
 
struct  kcenon::pacs::security::atna_audit_message
 Complete RFC 3881 audit message. More...
 
class  kcenon::pacs::security::atna_audit_logger
 RFC 3881 XML audit message generator. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::pacs
 
namespace  kcenon::pacs::security
 
namespace  kcenon::pacs::security::atna_event_ids
 
namespace  kcenon::pacs::security::atna_event_types
 
namespace  kcenon::pacs::security::atna_role_ids
 
namespace  kcenon::pacs::security::atna_object_id_types
 

Enumerations

enum class  kcenon::pacs::security::atna_event_action : char {
  kcenon::pacs::security::create = 'C' , kcenon::pacs::security::read = 'R' , kcenon::pacs::security::update = 'U' , kcenon::pacs::security::delete_action = 'D' ,
  kcenon::pacs::security::execute = 'E'
}
 Action that triggered the audit event. More...
 
enum class  kcenon::pacs::security::atna_event_outcome : uint8_t { kcenon::pacs::security::success = 0 , kcenon::pacs::security::minor_failure = 4 , kcenon::pacs::security::serious_failure = 8 , kcenon::pacs::security::major_failure = 12 }
 Outcome of the audited event. More...
 
enum class  kcenon::pacs::security::atna_network_access_type : uint8_t { kcenon::pacs::security::machine_name = 1 , kcenon::pacs::security::ip_address = 2 , kcenon::pacs::security::phone_number = 3 }
 Type of network access point identifier. More...
 
enum class  kcenon::pacs::security::atna_object_type : uint8_t { kcenon::pacs::security::person = 1 , kcenon::pacs::security::system_object = 2 , kcenon::pacs::security::organization = 3 , kcenon::pacs::security::other = 4 }
 Type of participant object. More...
 
enum class  kcenon::pacs::security::atna_object_role : uint8_t {
  kcenon::pacs::security::patient = 1 , kcenon::pacs::security::location = 2 , kcenon::pacs::security::report = 3 , kcenon::pacs::security::resource = 4 ,
  kcenon::pacs::security::master_file = 5 , kcenon::pacs::security::user = 6 , kcenon::pacs::security::list = 7 , kcenon::pacs::security::doctor = 8 ,
  kcenon::pacs::security::subscriber = 9 , kcenon::pacs::security::guarantor = 10 , kcenon::pacs::security::security_user_entity = 11 , kcenon::pacs::security::security_user_group = 12 ,
  kcenon::pacs::security::security_resource = 13 , kcenon::pacs::security::security_granularity_def = 14 , kcenon::pacs::security::provider = 15 , kcenon::pacs::security::data_destination = 16 ,
  kcenon::pacs::security::data_repository = 17 , kcenon::pacs::security::schedule = 18 , kcenon::pacs::security::customer = 19 , kcenon::pacs::security::job = 20 ,
  kcenon::pacs::security::job_stream = 21 , kcenon::pacs::security::table = 22 , kcenon::pacs::security::routing_criteria = 23 , kcenon::pacs::security::query = 24
}
 Role of the participant object in the event. More...
 

Variables

const atna_coded_value kcenon::pacs::security::atna_event_ids::application_activity
 Application Activity (110100) — Start/Stop.
 
const atna_coded_value kcenon::pacs::security::atna_event_ids::audit_log_used
 Audit Log Used (110101)
 
const atna_coded_value kcenon::pacs::security::atna_event_ids::begin_transferring
 Begin Transferring DICOM Instances (110102)
 
const atna_coded_value kcenon::pacs::security::atna_event_ids::dicom_instances_accessed
 DICOM Instances Accessed (110103)
 
const atna_coded_value kcenon::pacs::security::atna_event_ids::dicom_instances_transferred
 DICOM Instances Transferred (110104)
 
const atna_coded_value kcenon::pacs::security::atna_event_ids::dicom_study_deleted
 DICOM Study Deleted (110105)
 
const atna_coded_value kcenon::pacs::security::atna_event_ids::data_export
 Export (110106)
 
const atna_coded_value kcenon::pacs::security::atna_event_ids::data_import
 Import (110107)
 
const atna_coded_value kcenon::pacs::security::atna_event_ids::network_entry
 Network Entry (110108)
 
const atna_coded_value kcenon::pacs::security::atna_event_ids::order_record
 Order Record (110109)
 
const atna_coded_value kcenon::pacs::security::atna_event_ids::patient_record
 Patient Record (110110)
 
const atna_coded_value kcenon::pacs::security::atna_event_ids::procedure_record
 Procedure Record (110111)
 
const atna_coded_value kcenon::pacs::security::atna_event_ids::query
 Query (110112)
 
const atna_coded_value kcenon::pacs::security::atna_event_ids::security_alert
 Security Alert (110113)
 
const atna_coded_value kcenon::pacs::security::atna_event_ids::user_authentication
 User Authentication (110114)
 
const atna_coded_value kcenon::pacs::security::atna_event_types::application_start
 Application Start.
 
const atna_coded_value kcenon::pacs::security::atna_event_types::application_stop
 Application Stop.
 
const atna_coded_value kcenon::pacs::security::atna_event_types::login
 Login.
 
const atna_coded_value kcenon::pacs::security::atna_event_types::logout
 Logout.
 
const atna_coded_value kcenon::pacs::security::atna_role_ids::application
 Application (110150)
 
const atna_coded_value kcenon::pacs::security::atna_role_ids::application_launcher
 Application Launcher (110151)
 
const atna_coded_value kcenon::pacs::security::atna_role_ids::destination
 Destination Role ID (110152)
 
const atna_coded_value kcenon::pacs::security::atna_role_ids::source
 Source Role ID (110153)
 
const atna_coded_value kcenon::pacs::security::atna_role_ids::destination_media
 Destination Media (110154)
 
const atna_coded_value kcenon::pacs::security::atna_role_ids::source_media
 Source Media (110155)
 
const atna_coded_value kcenon::pacs::security::atna_object_id_types::patient_number
 Patient Number (RFC 3881 defined)
 
const atna_coded_value kcenon::pacs::security::atna_object_id_types::study_instance_uid
 Study Instance UID.
 
const atna_coded_value kcenon::pacs::security::atna_object_id_types::sop_class_uid
 SOP Class UID.
 
const atna_coded_value kcenon::pacs::security::atna_object_id_types::node_id
 Node ID.
 

Detailed Description

IHE ATNA-compliant audit message generator (RFC 3881 XML format)

Generates RFC 3881 / DICOM PS3.15 Annex A.5 compliant XML audit messages for security-relevant events in DICOM systems.

See also
DICOM PS3.15 Annex A.5 — Audit Trail Message Format Profile
IHE ITI TF-1 Section 9 — Audit Trail and Node Authentication (ATNA)
RFC 3881 — Security Audit and Access Accountability Message XML
Issue #817 - ATNA Audit Message Generator
Author
kcenon
Since
1.0.0

Definition in file atna_audit_logger.h.