Beispiel #1
0
        private void onRemoteSearchButtonClicked(object sender, RoutedEventArgs e)
        {
            StudyLevelQuery query = new StudyLevelQuery();
            DateTime        start = DateTime.Today.AddYears(-100), end = DateTime.Today;

            if (StudyDateStartPicker.SelectedDate != null)
            {
                start = StudyDateStartPicker.SelectedDate.Value;
            }
            if (StudyDateEndPicker.SelectedDate != null)
            {
                end = StudyDateEndPicker.SelectedDate.Value;
            }
            end = end.AddSeconds(86399);

            query.StudyDate         = new DicomDateRange(start, end);
            query.PatientName       = patientFullName(PatientNameBox, PatientSurnameBox);
            query.ModalitiesInStudy = ModalityBox.Text.ToString();

            QueryRetrieve retrieveStudy = new QueryRetrieve();

            retrieveStudy.OnDatasetArrived   += showQueryResults;
            retrieveStudy.OnConnectionClosed += AllStudyArrived;
            listView.Items.Clear();
            retrieveStudy.find(query, "Study");
        }
Beispiel #2
0
        public StudyLevelQuery getQueryFields()
        {
            StudyLevelQuery querySettings = new StudyLevelQuery();

            querySettings.SetField("PatientName", PatientNameBox.Text);
            querySettings.SetField("PatientBirthDate", PatientBirthDatePicker.Text);
            querySettings.SetField("StudyDate", StudyDatePicker.Text);
            querySettings.SetField("StudyDescription", StudyDescriptionBox.Text);
            querySettings.SetField("Modality", ModalityBox.Text);

            return(querySettings);
        }
Beispiel #3
0
        // ------------------QUERY WINDOW------------------------------



        public void onSearchButtonClicked(string mode)
        {
            queryPage.stackPanel.Children.Clear();

            StudyLevelQuery querySettings = queryPage.getQueryFields();

            // search remote
            List <QueryObject> results = new List <QueryObject>();

            if (mode == "remote")
            {
                results = explorerLogic.searchPatient(querySettings);
            }

            foreach (QueryObject result in results)
            {
                Button resultButton = new Button();
                resultButton.Content = result.GetField("PatientName").Replace('^', ' ') + "      " + result.GetField("StudyDescription").Replace('_', ' ') + "      " + result.GetField("StudyDate") + "      " + result.GetField("Modality");
                resultButton.Click  += (theSender, eventArgs) => { onStudyButtonClicked(result); };
                queryPage.stackPanel.Children.Add(resultButton);
            }
            // search database
            DownloadedFileInfo d = new DownloadedFileInfo();

            d.SetField("PatientName", queryPage.PatientNameBox.Text);
            List <DownloadedFileInfo> risultati = new List <DownloadedFileInfo>();

            if (mode == "local")
            {
                risultati = database.Get(d, Constants.database);
            }

            foreach (DownloadedFileInfo result in risultati)
            {
                Button resultButton = new Button();
                resultButton.Content = result.PatientName.Replace('^', ' ') + "      " + result.StudyDescription.Replace('_', ' ') + "      " + result.StudyDate + "      " + result.Modality;
                resultButton.Click  += (theSender, eventArgs) => {
                    MessageBox.Show(XmlTools.getStoragePath(result));
                };
                queryPage.stackPanel.Children.Add(resultButton);
            }
        }