示例#1
0
        /// <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);
        }
    }
示例#2
0
        /// <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);

		}
示例#4
0
		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);
        }
		/// <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 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);
        }
示例#9
0
        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);
        }
示例#10
0
		/// <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>
        ///
        /// </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);
        }
示例#12
0
        /// <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));
        }
示例#13
0
        /// <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);
        }
示例#14
0
        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);
        }
示例#15
0
		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);
		}
示例#16
0
		/// <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 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 };
		}
示例#20
0
		/// <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);
		}
示例#21
0
		/// <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>
        /// 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);
        }
        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 }
            };
        }
示例#24
0
		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);
		}
示例#25
0
		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);
		}
示例#26
0
        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);
        }