Esempio n. 1
0
        /// <summary>
        /// Performs a STUDY level query.
        /// </summary>
        /// <exception cref="FaultException{TDetail}">Thrown when some part of the data in the request is poorly formatted.</exception>
        /// <exception cref="FaultException{QueryFailedFault}">Thrown when the query fails.</exception>
        public IList <StudyRootStudyIdentifier> StudyQuery(StudyRootStudyIdentifier queryCriteria)
        {
            var results = _real.StudyQuery(queryCriteria);

            AuditHelper.LogQueryIssued(_remoteServer.AETitle, _remoteServer.ScpParameters.HostName, EventSource.CurrentUser,
                                       EventResult.Success, SopClass.StudyRootQueryRetrieveInformationModelFindUid,
                                       queryCriteria.ToDicomAttributeCollection());

            return(results);
        }
Esempio n. 2
0
        public static bool IsOpenQuery(this StudyRootStudyIdentifier criteria)
        {
            var attributes = criteria.ToDicomAttributeCollection();

            //Clean out the base identifier attributes, which could have non-empty values.
            attributes[DicomTags.SpecificCharacterSet].SetEmptyValue();
            attributes[DicomTags.RetrieveAeTitle].SetEmptyValue();
            attributes[DicomTags.InstanceAvailability].SetEmptyValue();
            attributes[DicomTags.QueryRetrieveLevel].SetEmptyValue();

            return(!attributes.Any(a => !a.IsNull && !a.IsEmpty));
        }