Exemplo n.º 1
0
        public void GetAllDetails
        (
            out JobProxy.Status status,
            out JobProxy.CompletedStatus completedstatus,
            out string sError,
            out string sUserData,
            out string sOwner,
            out string PatientID,
            out string StudyInstanceUID,
            out string SeriesInstanceUID,
            out string SOPInstanceUID,
            out string ServerAE,
            out string ServerIP,
            out int ServerPort,
            out int ServerTimeout,
            out string ClientAE,
            out string MoveToClientAE,
            out string ClientIP,
            out int ClientPort
        )
        {
            string   sType;
            string   sObject;
            int      nStatus;
            int      nCompletedStatus;
            DateTime time;


            PatientID         = string.Empty;
            StudyInstanceUID  = string.Empty;
            SeriesInstanceUID = string.Empty;
            SOPInstanceUID    = string.Empty;

            ServerAE       = string.Empty;
            ServerIP       = string.Empty;
            ServerPort     = 0;
            ServerTimeout  = 0;
            ClientAE       = string.Empty;
            MoveToClientAE = string.Empty;
            ClientIP       = string.Empty;
            ClientPort     = 0;

            CheckHasId();

            _DownloadJobsDataAccessAgent.ReadJob(Id, out sType, out sObject, out nStatus, out nCompletedStatus, out time, out sError, out sUserData, out sOwner);

            status          = (Status)nStatus;
            completedstatus = (CompletedStatus)nCompletedStatus;

            using (MoveObjectsJob job = CreateJob(sType, sObject, sOwner))
            {
                ServerAE       = job.ServerAE;
                ServerIP       = job.ServerIP;
                ServerPort     = job.ServerPort;
                ServerTimeout  = job.ServerTimeout;
                ClientAE       = job.ClientAE;
                MoveToClientAE = job.MoveToClientAE;
                ClientIP       = job.ClientIP;
                ClientPort     = job.ClientPort;

                if (null != job.DataSet)
                {
                    ReverseDicomDatasetAdapter dataSetReader = new ReverseDicomDatasetAdapter()
                    {
                        query = job.DataSet
                    };

                    PatientID         = dataSetReader.PatientID;
                    StudyInstanceUID  = dataSetReader.StudyInstanceUID;
                    SeriesInstanceUID = dataSetReader.SeriesInstanceUID;
                    SOPInstanceUID    = dataSetReader.SOPInstanceUID;
                }
            }
        }
Exemplo n.º 2
0
        public bool Match(string PatientID,
                          string StudyInstanceUID,
                          string SeriesInstanceUID,
                          string SOPInstanceUID)
        {
            if (string.IsNullOrEmpty(PatientID) &&
                string.IsNullOrEmpty(StudyInstanceUID) &&
                string.IsNullOrEmpty(SeriesInstanceUID) &&
                string.IsNullOrEmpty(SOPInstanceUID))
            {
                return(true);
            }

            if (!_idisset)
            {
                return(true);
            }

            //have to load details...

            string   sType;
            string   sObject;
            string   sUserData;
            string   sError;
            string   sOwner;
            int      nStatus;
            int      nCompletedStatus;
            DateTime time;

            _DownloadJobsDataAccessAgent.ReadJob(Id, out sType, out sObject, out nStatus, out nCompletedStatus, out time, out sError, out sUserData, out sOwner);

            using (MoveObjectsJob job = CreateJob(sType, sObject, ""))
            {
                if (null == job.DataSet)
                {
                    return(false);
                }

                ReverseDicomDatasetAdapter dataSetReader = new ReverseDicomDatasetAdapter()
                {
                    query = job.DataSet
                };

                string curPatientID         = dataSetReader.PatientID;
                string curStudyInstanceUID  = dataSetReader.StudyInstanceUID;
                string curSeriesInstanceUID = dataSetReader.SeriesInstanceUID;
                string curSOPInstanceUID    = dataSetReader.SOPInstanceUID;

                if (
                    ((PatientID == curPatientID) || (string.IsNullOrEmpty(PatientID) && string.IsNullOrEmpty(curPatientID))) &&
                    ((StudyInstanceUID == curStudyInstanceUID) || (string.IsNullOrEmpty(StudyInstanceUID) && string.IsNullOrEmpty(curStudyInstanceUID))) &&
                    ((SeriesInstanceUID == curSeriesInstanceUID) || (string.IsNullOrEmpty(SeriesInstanceUID) && string.IsNullOrEmpty(curSeriesInstanceUID))) &&
                    ((SOPInstanceUID == curSOPInstanceUID) || (string.IsNullOrEmpty(SOPInstanceUID) && string.IsNullOrEmpty(curSOPInstanceUID)))
                    )
                {
                    return(true);
                }
            }

            return(false);
        }
Exemplo n.º 3
0
        string GetPatientIdFromStorage()
        {
            try
            {
                if (null == DataAccessAgent)
                {
                    return("");
                }

                MatchingParameterCollection matchingParamCollection;
                MatchingParameterList       matchingParamList;

                matchingParamCollection = new MatchingParameterCollection();
                matchingParamList       = new MatchingParameterList();
                matchingParamCollection.Add(matchingParamList);

                {
                    ReverseDicomDatasetAdapter dataSetReader = new ReverseDicomDatasetAdapter()
                    {
                        query = DataSet
                    };

                    string PatientID         = dataSetReader.PatientID;
                    string StudyInstanceUID  = dataSetReader.StudyInstanceUID;
                    string SeriesInstanceUID = dataSetReader.SeriesInstanceUID;
                    string SOPInstanceUID    = dataSetReader.SOPInstanceUID;

                    if (!string.IsNullOrEmpty(SOPInstanceUID))
                    {
                        Instance imageInstance = new Instance(SOPInstanceUID);

                        matchingParamList.Add(imageInstance);
                    }
                    if (!string.IsNullOrEmpty(SeriesInstanceUID))
                    {
                        Leadtools.Medical.Storage.DataAccessLayer.MatchingParameters.Series seriesEntity = new Leadtools.Medical.Storage.DataAccessLayer.MatchingParameters.Series(SeriesInstanceUID);

                        matchingParamList.Add(seriesEntity);
                    }
                    if (!string.IsNullOrEmpty(StudyInstanceUID))
                    {
                        Leadtools.Medical.Storage.DataAccessLayer.MatchingParameters.Study studyEntity = new Leadtools.Medical.Storage.DataAccessLayer.MatchingParameters.Study(StudyInstanceUID);

                        matchingParamList.Add(studyEntity);
                    }
                    if (!string.IsNullOrEmpty(PatientID))
                    {
                        Leadtools.Medical.Storage.DataAccessLayer.MatchingParameters.Patient patientEntity = new Leadtools.Medical.Storage.DataAccessLayer.MatchingParameters.Patient(PatientID);

                        matchingParamList.Add(patientEntity);
                    }
                }

                DataSet result = DataAccessAgent.QueryPatients(matchingParamCollection);
                if (null != result)
                {
                    if (result.Tables[DataTableHelper.PatientTableName].Rows.Count > 0)
                    {
                        // return result.Patient[0].PatientID;
                        IPatientInfo patientInfo = RegisteredDataRows.PatientInfo;
                        DataRow      patientRow  = result.Tables[DataTableHelper.PatientTableName].Rows[0];
                        string       sPatientId  = patientInfo.GetElementValue(patientRow, DicomTag.PatientID);

                        return((string)result.Tables[DataTableHelper.PatientTableName].Rows[0]["PatientId"]);
                    }
                }

                return("");
            }
            catch (System.Exception)
            {
                System.Diagnostics.Debug.Assert(false);
                return("");
            }
        }