/// <summary> /// Constructor /// </summary> /// <param name="outcome">The outcome of the audit event.</param> /// <param name="type">Network Attach or Detach</param> /// <param name="node">The identity of the node entering or leaving the network</param> /// <param name="auditSource">The source of the audit message.</param> public NetworkEntryAuditHelper(DicomAuditSource auditSource, EventIdentificationTypeEventOutcomeIndicator outcome, NetworkEntryType type, AuditProcessActiveParticipant node) : base("NetworkEntry") { AuditMessage.EventIdentification = new EventIdentificationType(); AuditMessage.EventIdentification.EventID = CodedValueType.NetworkEntry; AuditMessage.EventIdentification.EventActionCode = EventIdentificationTypeEventActionCode.E; AuditMessage.EventIdentification.EventActionCodeSpecified = true; AuditMessage.EventIdentification.EventDateTime = Platform.Time.ToUniversalTime(); AuditMessage.EventIdentification.EventOutcomeIndicator = outcome; if (type == NetworkEntryType.Attach) { AuditMessage.EventIdentification.EventTypeCode = new CodedValueType[] { CodedValueType.Attach } } ; else { AuditMessage.EventIdentification.EventTypeCode = new CodedValueType[] { CodedValueType.Detach } }; node.UserIsRequestor = false; InternalAddActiveParticipant(node); InternalAddAuditSource(auditSource); } }
/// <summary> /// /// </summary> /// <param name="auditSource"></param> /// <param name="outcome"></param> /// <param name="type"></param> /// <param name="idOfApplicationStarted">Add the ID of the Application Started, should be called once.</param> public ApplicationActivityAuditHelper(DicomAuditSource auditSource, EventIdentificationTypeEventOutcomeIndicator outcome, ApplicationActivityType type, AuditProcessActiveParticipant idOfApplicationStarted) : base("ApplicationActivity") { AuditMessage.EventIdentification = new EventIdentificationType(); AuditMessage.EventIdentification.EventID = CodedValueType.ApplicationActivity; AuditMessage.EventIdentification.EventActionCode = EventIdentificationTypeEventActionCode.E; AuditMessage.EventIdentification.EventActionCodeSpecified = true; AuditMessage.EventIdentification.EventDateTime = Platform.Time.ToUniversalTime(); AuditMessage.EventIdentification.EventOutcomeIndicator = outcome; InternalAddAuditSource(auditSource); if (type == ApplicationActivityType.ApplicationStarted) { AuditMessage.EventIdentification.EventTypeCode = new CodedValueType[] { CodedValueType.ApplicationStart } } ; else { AuditMessage.EventIdentification.EventTypeCode = new CodedValueType[] { CodedValueType.ApplicationStop } }; idOfApplicationStarted.UserIsRequestor = false; idOfApplicationStarted.RoleIdCode = CodedValueType.Application; InternalAddActiveParticipant(idOfApplicationStarted); }
/// <summary> /// /// </summary> /// <param name="auditSource"></param> /// <param name="outcome"></param> /// <param name="type"></param> /// <param name="idOfApplicationStarted">Add the ID of the Application Started, should be called once.</param> public ApplicationActivityAuditHelper(DicomAuditSource auditSource, EventIdentificationTypeEventOutcomeIndicator outcome, ApplicationActivityType type, AuditProcessActiveParticipant idOfApplicationStarted) : base("ApplicationActivity") { AuditMessage.EventIdentification = new EventIdentificationType(); AuditMessage.EventIdentification.EventID = CodedValueType.ApplicationActivity; AuditMessage.EventIdentification.EventActionCode = EventIdentificationTypeEventActionCode.E; AuditMessage.EventIdentification.EventActionCodeSpecified = true; AuditMessage.EventIdentification.EventDateTime = Platform.Time.ToUniversalTime(); AuditMessage.EventIdentification.EventOutcomeIndicator = outcome; InternalAddAuditSource(auditSource); if (type == ApplicationActivityType.ApplicationStarted) AuditMessage.EventIdentification.EventTypeCode = new CodedValueType[] { CodedValueType.ApplicationStart }; else AuditMessage.EventIdentification.EventTypeCode = new CodedValueType[] { CodedValueType.ApplicationStop }; idOfApplicationStarted.UserIsRequestor = false; idOfApplicationStarted.RoleIdCode = CodedValueType.Application; InternalAddActiveParticipant(idOfApplicationStarted); }
public QueryAuditHelper(DicomAuditSource auditSource, EventIdentificationTypeEventOutcomeIndicator outcome, AuditActiveParticipant sourceUser, string destinationAE, string destinationHost, string queryParameters) : base("Query") { AuditMessage.EventIdentification = new EventIdentificationType { EventID = CodedValueType.Query, EventActionCode = EventIdentificationTypeEventActionCode.E, EventActionCodeSpecified = true, EventDateTime = Platform.Time.ToUniversalTime(), EventOutcomeIndicator = outcome }; InternalAddAuditSource(auditSource); InternalAddActiveParticipant(sourceUser); IPAddress x; _participantList.Add(new AuditMessageActiveParticipant(CodedValueType.Destination, "AETITLE=" + destinationAE, null, null, destinationHost, IPAddress.TryParse(destinationHost, out x) ? NetworkAccessPointTypeEnum.IpAddress : NetworkAccessPointTypeEnum.MachineName, null)); AuditQueryMessageParticipantObject o = new AuditQueryMessageParticipantObject(queryParameters); InternalAddParticipantObject("Query", o); }
/// <summary> /// Constructor. /// </summary> public DicomStudyDeletedAuditHelper(DicomAuditSource auditSource, EventIdentificationTypeEventOutcomeIndicator outcome) : base("DicomStudyDeleted") { AuditMessage.EventIdentification = new EventIdentificationType(); AuditMessage.EventIdentification.EventID = CodedValueType.DICOMStudyDeleted; AuditMessage.EventIdentification.EventActionCode = EventIdentificationTypeEventActionCode.D; AuditMessage.EventIdentification.EventActionCodeSpecified = true; AuditMessage.EventIdentification.EventDateTime = Platform.Time.ToUniversalTime(); AuditMessage.EventIdentification.EventOutcomeIndicator = outcome; InternalAddAuditSource(auditSource); }
public ProcedureRecordAuditHelper(DicomAuditSource auditSource, EventIdentificationTypeEventOutcomeIndicator outcome, EventIdentificationTypeEventActionCode code) : base("ProcedureRecord") { AuditMessage.EventIdentification = new EventIdentificationType(); AuditMessage.EventIdentification.EventID = CodedValueType.ProcedureRecord; AuditMessage.EventIdentification.EventActionCode = code; AuditMessage.EventIdentification.EventActionCodeSpecified = true; AuditMessage.EventIdentification.EventDateTime = Platform.Time.ToUniversalTime(); AuditMessage.EventIdentification.EventOutcomeIndicator = outcome; InternalAddAuditSource(auditSource); }
public QueryAuditHelper(DicomAuditSource auditSource, EventIdentificationTypeEventOutcomeIndicator outcome, string sourceAE, string sourceHost, string destinationAE, string destinationHost) : base("Query") { AuditMessage.EventIdentification = new EventIdentificationType(); AuditMessage.EventIdentification.EventID = CodedValueType.Query; AuditMessage.EventIdentification.EventActionCode = EventIdentificationTypeEventActionCode.E; AuditMessage.EventIdentification.EventActionCodeSpecified = true; AuditMessage.EventIdentification.EventDateTime = Platform.Time.ToUniversalTime(); AuditMessage.EventIdentification.EventOutcomeIndicator = outcome; InternalAddActiveDicomParticipant(sourceAE, sourceHost, destinationAE, destinationHost); InternalAddAuditSource(auditSource); }
/// <summary> /// /// </summary> /// <param name="auditSource"></param> /// <param name="outcome">Success implies an informative alert. The other failure values /// imply warning codes that indicate the severity of the alert. A Minor /// or Serious failure indicates that mitigation efforts were effective in /// maintaining system security. A Major failure indicates that /// mitigation efforts may not have been effective, and that the security /// system may have been compromised.</param> /// <param name="eventTypeCode">The type of Security Alert event</param> public SecurityAlertAuditHelper(DicomAuditSource auditSource, EventIdentificationTypeEventOutcomeIndicator outcome, SecurityAlertEventTypeCodeEnum eventTypeCode) : base("SecurityAlert") { AuditMessage.EventIdentification = new EventIdentificationType(); AuditMessage.EventIdentification.EventID = CodedValueType.SecurityAlert; AuditMessage.EventIdentification.EventActionCode = EventIdentificationTypeEventActionCode.E; AuditMessage.EventIdentification.EventActionCodeSpecified = true; AuditMessage.EventIdentification.EventDateTime = Platform.Time.ToUniversalTime(); AuditMessage.EventIdentification.EventOutcomeIndicator = outcome; AuditMessage.EventIdentification.EventTypeCode = new CodedValueType[] { GetEventTypeCode(eventTypeCode) }; InternalAddAuditSource(auditSource); }
/// <summary> /// Constructor. /// </summary> /// <param name="auditSource">The source of the audit.</param> /// <param name="outcome">The outcome (success or failure)</param> /// <param name="exportDestination">Any machine readable identifications on the media, such as media serial number, volume label, /// DICOMDIR SOP Instance UID.</param> public DataExportAuditHelper(DicomAuditSource auditSource, EventIdentificationTypeEventOutcomeIndicator outcome, string exportDestination) : base("DataExport") { AuditMessage.EventIdentification = new EventIdentificationType(); AuditMessage.EventIdentification.EventID = CodedValueType.Export; AuditMessage.EventIdentification.EventActionCode = EventIdentificationTypeEventActionCode.E; AuditMessage.EventIdentification.EventActionCodeSpecified = true; AuditMessage.EventIdentification.EventDateTime = Platform.Time.ToUniversalTime(); AuditMessage.EventIdentification.EventOutcomeIndicator = outcome; InternalAddAuditSource(auditSource); // Add the Destination _participantList.Add( new AuditMessageActiveParticipant(CodedValueType.DestinationMedia, ProcessName, exportDestination, null, null, null, false)); }
/// <summary> /// Constructor. /// </summary> public DicomInstancesTransferredAuditHelper(DicomAuditSource auditSource, EventIdentificationTypeEventOutcomeIndicator outcome, EventIdentificationTypeEventActionCode action, string sourceAE, string sourceHost, string destinationAE, string destinationHost) : base("DicomInstancesTransferred") { AuditMessage.EventIdentification = new EventIdentificationType(); AuditMessage.EventIdentification.EventID = CodedValueType.DICOMInstancesTransferred; AuditMessage.EventIdentification.EventActionCode = action; AuditMessage.EventIdentification.EventActionCodeSpecified = true; AuditMessage.EventIdentification.EventDateTime = Platform.Time.ToUniversalTime(); AuditMessage.EventIdentification.EventOutcomeIndicator = outcome; InternalAddActiveDicomParticipant(sourceAE, sourceHost, destinationAE, destinationHost); InternalAddAuditSource(auditSource); }
public QueryAuditHelper(DicomAuditSource auditSource, EventIdentificationTypeEventOutcomeIndicator outcome, AssociationParameters parms) : base("Query") { AuditMessage.EventIdentification = new EventIdentificationType(); AuditMessage.EventIdentification.EventID = CodedValueType.Query; AuditMessage.EventIdentification.EventActionCode = EventIdentificationTypeEventActionCode.E; AuditMessage.EventIdentification.EventActionCodeSpecified = true; AuditMessage.EventIdentification.EventDateTime = Platform.Time.ToUniversalTime(); AuditMessage.EventIdentification.EventOutcomeIndicator = outcome; InternalAddActiveDicomParticipant(parms); InternalAddAuditSource(auditSource); }
/// <summary> /// Constructor. /// </summary> /// <param name="auditSource">The source of the audit.</param> /// <param name="outcome">The outcome (success or failure)</param> /// <param name="exportDestination">Any machine readable identifications on the media, such as media serial number, volume label, /// DICOMDIR SOP Instance UID.</param> public DataExportAuditHelper(DicomAuditSource auditSource, EventIdentificationTypeEventOutcomeIndicator outcome, string exportDestination) : base("DataExport") { AuditMessage.EventIdentification = new EventIdentificationType(); AuditMessage.EventIdentification.EventID = CodedValueType.Export; AuditMessage.EventIdentification.EventActionCode = EventIdentificationTypeEventActionCode.E; AuditMessage.EventIdentification.EventActionCodeSpecified = true; AuditMessage.EventIdentification.EventDateTime = Platform.Time.ToUniversalTime(); AuditMessage.EventIdentification.EventOutcomeIndicator = outcome; InternalAddAuditSource(auditSource); // Add the Destination _participantList.Add( new AuditMessageActiveParticipant(CodedValueType.DestinationMedia, ProcessName, exportDestination, null, null, null,false)); }
public BeginTransferringDicomInstancesAuditHelper(DicomAuditSource auditSource, EventIdentificationTypeEventOutcomeIndicator outcome, string sourceAE, string sourceHost, string destinationAE, string destinationHost, AuditPatientParticipantObject patient) : base("BeginTransferringDicomInstances") { AuditMessage.EventIdentification = new EventIdentificationType(); AuditMessage.EventIdentification.EventID = CodedValueType.BeginTransferringDICOMInstances; AuditMessage.EventIdentification.EventActionCode = EventIdentificationTypeEventActionCode.E; AuditMessage.EventIdentification.EventActionCodeSpecified = true; AuditMessage.EventIdentification.EventDateTime = Platform.Time.ToUniversalTime(); AuditMessage.EventIdentification.EventOutcomeIndicator = outcome; InternalAddAuditSource(auditSource); InternalAddActiveDicomParticipant(sourceAE, sourceHost, destinationAE, destinationHost); InternalAddParticipantObject(patient.PatientId + patient.PatientsName, patient); }
public UserAuthenticationAuditHelper(DicomAuditSource auditSource, EventIdentificationTypeEventOutcomeIndicator outcome, UserAuthenticationEventType type) : base("UserAuthentication") { AuditMessage.EventIdentification = new EventIdentificationType(); AuditMessage.EventIdentification.EventID = CodedValueType.UserAuthentication; AuditMessage.EventIdentification.EventActionCode = EventIdentificationTypeEventActionCode.E; AuditMessage.EventIdentification.EventActionCodeSpecified = true; AuditMessage.EventIdentification.EventDateTime = Platform.Time.ToUniversalTime(); AuditMessage.EventIdentification.EventOutcomeIndicator = outcome; InternalAddAuditSource(auditSource); if (type == UserAuthenticationEventType.Login) AuditMessage.EventIdentification.EventTypeCode = new CodedValueType[] { CodedValueType.Login }; else AuditMessage.EventIdentification.EventTypeCode = new CodedValueType[] { CodedValueType.Logout }; }
/// <summary> /// Constructor /// </summary> /// <param name="auditSource">The source of the audit</param> /// <param name="outcome">The outcome</param> /// <param name="uriOfAuditLog">Add the Identity of the Audit Log. </param> public AuditLogUsedAuditHelper(DicomAuditSource auditSource, EventIdentificationTypeEventOutcomeIndicator outcome, string uriOfAuditLog) : base("AuditLogUsed") { AuditMessage.EventIdentification = new EventIdentificationType(); AuditMessage.EventIdentification.EventID = CodedValueType.AuditLogUsed; AuditMessage.EventIdentification.EventActionCode = EventIdentificationTypeEventActionCode.R; AuditMessage.EventIdentification.EventActionCodeSpecified = true; AuditMessage.EventIdentification.EventDateTime = Platform.Time.ToUniversalTime(); AuditMessage.EventIdentification.EventOutcomeIndicator = outcome; InternalAddAuditSource(auditSource); AuditSecurityAlertParticipantObject o = new AuditSecurityAlertParticipantObject(ParticipantObjectTypeCodeRoleEnum.SecurityResource, ParticipantObjectIdTypeCodeEnum.URI, uriOfAuditLog, "Security Audit Log"); // Only one can be included. _participantObjectList.Clear(); _participantObjectList.Add(uriOfAuditLog, o); }
/// <summary> /// Constructor /// </summary> /// <param name="outcome">The outcome of the audit event.</param> /// <param name="type">Network Attach or Detach</param> /// <param name="node">The identity of the node entering or leaving the network</param> /// <param name="auditSource">The source of the audit message.</param> public NetworkEntryAuditHelper(DicomAuditSource auditSource, EventIdentificationTypeEventOutcomeIndicator outcome, NetworkEntryType type, AuditProcessActiveParticipant node) : base("NetworkEntry") { AuditMessage.EventIdentification = new EventIdentificationType(); AuditMessage.EventIdentification.EventID = CodedValueType.NetworkEntry; AuditMessage.EventIdentification.EventActionCode = EventIdentificationTypeEventActionCode.E; AuditMessage.EventIdentification.EventActionCodeSpecified = true; AuditMessage.EventIdentification.EventDateTime = Platform.Time.ToUniversalTime(); AuditMessage.EventIdentification.EventOutcomeIndicator = outcome; if (type == NetworkEntryType.Attach) AuditMessage.EventIdentification.EventTypeCode = new CodedValueType[] {CodedValueType.Attach}; else AuditMessage.EventIdentification.EventTypeCode = new CodedValueType[] {CodedValueType.Detach}; node.UserIsRequestor = false; InternalAddActiveParticipant(node); InternalAddAuditSource(auditSource); }
public UserAuthenticationAuditHelper(DicomAuditSource auditSource, EventIdentificationTypeEventOutcomeIndicator outcome, UserAuthenticationEventType type) : base("UserAuthentication") { AuditMessage.EventIdentification = new EventIdentificationType(); AuditMessage.EventIdentification.EventID = CodedValueType.UserAuthentication; AuditMessage.EventIdentification.EventActionCode = EventIdentificationTypeEventActionCode.E; AuditMessage.EventIdentification.EventActionCodeSpecified = true; AuditMessage.EventIdentification.EventDateTime = Platform.Time.ToUniversalTime(); AuditMessage.EventIdentification.EventOutcomeIndicator = outcome; InternalAddAuditSource(auditSource); if (type == UserAuthenticationEventType.Login) { AuditMessage.EventIdentification.EventTypeCode = new CodedValueType[] { CodedValueType.Login } } ; else { AuditMessage.EventIdentification.EventTypeCode = new CodedValueType[] { CodedValueType.Logout } }; }
public QueryAuditHelper(DicomAuditSource auditSource, EventIdentificationTypeEventOutcomeIndicator outcome, string sourceAE, string sourceHost, string destinationAE, string destinationHost, string sopClassUid, DicomAttributeCollection msg) : base("Query") { AuditMessage.EventIdentification = new EventIdentificationType { EventID = CodedValueType.Query, EventActionCode = EventIdentificationTypeEventActionCode.E, EventActionCodeSpecified = true, EventDateTime = Platform.Time.ToUniversalTime(), EventOutcomeIndicator = outcome }; InternalAddActiveDicomParticipant(sourceAE, sourceHost, destinationAE, destinationHost); InternalAddAuditSource(auditSource); AuditQueryMessageParticipantObject o = new AuditQueryMessageParticipantObject(sopClassUid, msg); InternalAddParticipantObject("Query", o); }