private void selectButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                DataModelPatient SelectedPatient = patientsListView.SelectedItem as DataModelPatient;

                string selectedPatientID = SelectedPatient.Id;
                studyParameters.ActualPatientFirstName = SelectedPatient.FirstName;
                studyParameters.ActualPatientLastName  = SelectedPatient.LastName;
                studyParameters.ActualPatientId        = SelectedPatient.Id;
                //myGlobalSettings.ActualPatientComment = patientList[patientIndex].Comment;
                studyParameters.ActualPatientBirthDate = (DateTime)SelectedPatient.BirthDate;

                fileParameters.studyFolder = SelectedPatient.PatientFilePath;

                // setup nested list of study dates, acq files, and recon files
                //loadStudyFileList(SelectedPatient.PatientFilePath);

                // forward cancel event to the main GUI
                if (this.SelectPopupEvent != null)
                {
                    this.SelectPopupEvent(new object(), new EventArgs());
                }
            }
            catch { }
        }
        public void fillPatientDetails(DataModelPatient SelectedPatient)
        {
            try
            {
                patientFirstNameTextBox.Text  = SelectedPatient.FirstName;
                patientLastNameTextBox.Text   = SelectedPatient.LastName;
                patientIdTextBox.Text         = SelectedPatient.Id.ToString();
                patientCommentTextBox.Text    = SelectedPatient.Comment;
                patientBirthDate.SelectedDate = SelectedPatient.BirthDate;

                int patientSexIndex = 0;
                switch (SelectedPatient.Sex)
                {
                case PatientSex.F:
                    patientSexIndex = 0;
                    break;

                case PatientSex.M:
                    patientSexIndex = 1;
                    break;

                case PatientSex.O:
                    patientSexIndex = 2;
                    break;

                case PatientSex.N:
                    patientSexIndex = 3;
                    break;
                }
                patientSexComboBox.SelectedIndex = patientSexIndex;
            }
            catch { }
        }
Beispiel #3
0
 private void saveChanges()
 {
     saveChangesToPatientFilePath(DMMS);
     previousDMMS = null;
     if (IsNewPatient)
     {
         IsNewPatient = false;
     }
 }
Beispiel #4
0
        private void saveChangesToPatientFilePath(DataModelPatient dmms)
        {
            try
            {
//!!!                //DataModelSerialization.SaveToPath(dmms, dmms.PatientFilePath, Log);
                System.Windows.MessageBox.Show("Now you should save the data");
            }
            catch (Exception ex)
            {
                //MSOTService.IMSOTLog.HandleError(Services.Log.EnumLogType.Warning, DisplayName, "Exception saving patient changes: " + ex.Message);
            }
        }
Beispiel #5
0
        private void discardChanges()
        {
            if (!IsNewPatient)
            {
                if (previousDMMS != null)
                {
//                    DMMS = previousDMMS.DeepCopy<DataModelPatient>();
                    previousDMMS = null;
                }
                RefreshIsDuplicateId();
                dataModelCompleteRefreshed();
                OnPropertyChanged("IsValid");
            }
            else
            {
                OnDiscardNewPatient();
            }
        }
        private bool patientFilter(object item)
        {
            DataModelPatient patient = item as DataModelPatient;

            if (patient.Id.IndexOf(filterTextBox.Text, StringComparison.OrdinalIgnoreCase) >= 0)
            {
                return(true);
            }
            if (patient.LastName.IndexOf(filterTextBox.Text, StringComparison.OrdinalIgnoreCase) >= 0)
            {
                return(true);
            }
            if (patient.FirstName.IndexOf(filterTextBox.Text, StringComparison.OrdinalIgnoreCase) >= 0)
            {
                return(true);
            }
            return(false);
        }
Beispiel #7
0
        public bool CompareAsStrings(DataModelPatient obj)
        {
            bool retValue = false;

            System.IO.StringWriter textWriter1 = null;
            System.IO.StringWriter textWriter2 = null;
            try
            {
                System.Xml.Serialization.XmlSerializer xmlSer = new System.Xml.Serialization.XmlSerializer(obj.GetType());

                textWriter1 = new System.IO.StringWriter();
                xmlSer.Serialize(textWriter1, this);
                string thisString = textWriter1.ToString();

                textWriter2 = new System.IO.StringWriter();
                xmlSer.Serialize(textWriter2, obj);
                string objString = textWriter2.ToString();

                if (thisString == objString)
                {
                    retValue = true;
                }
            }
            catch { }
            finally
            {
                if (textWriter1 != null)
                {
                    textWriter1.Close();
                }
                if (textWriter2 != null)
                {
                    textWriter2.Close();
                }
            }
            return(retValue);
        }
        public void NewPatient()
        {
            try
            {
                string newPatientStudyFilePath;
                newPatientStudyFilePath = CreateNewPatientStudy();

                if (string.IsNullOrWhiteSpace(newPatientStudyFilePath))
                {
                    return;
                }

                string newPatientStudyName = Path.GetFileNameWithoutExtension(newPatientStudyFilePath);
                string studyPath           = Path.GetDirectoryName(newPatientStudyFilePath);

                string           patientFilePath = Path.Combine(studyPath, newPatientStudyName + _patientFileNameExtension);
                DataModelPatient patientDM       = new DataModelPatient(patientFilePath);
                patientDM.Id = getNextAvailablePatientId();
                //DataModelSerialization.SaveToPath(patientDM, patientDM.PatientFilePath, Log);
                System.Windows.MessageBox.Show("Hier sollte gesaved werden");
                ViewModelPatient patientVM = new ViewModelPatient();
                //patientVM.InitializePlugin(patientDM.FriendlyName, new DataModelCatalogItem(patientDM), this);
                //patientVM.CommandLoad.Execute(null);
                patientVM.IsNewPatient       = true;
                patientVM.DiscardNewPatient += patientVM_DiscardNewPatient;
                patientVM.CheckDuplicateId  += patientVM_CheckDuplicateId;
                patientVM.NewPatientSaved   += patientVM_NewPatientSaved;
                _patients.Insert(0, patientVM);
                SelectedPatient = _patients[0];
                SelectedPatient.RefreshIsDuplicateId();
            }
            catch (Exception ex)
            {
                //MSOTService.IMSOTLog.HandleError(DisplayName, "Exception creating new patient: " + ex.Message);
                System.Windows.MessageBox.Show("Exception creating new patient: " + ex.Message);
            }
        }
Beispiel #9
0
 private void finishEdit()
 {
     previousDMMS = null;
 }
Beispiel #10
0
 public ViewModelPatient()
 {
     DMMS = new DataModelPatient();
 }
        private void saveNewPatientButton_Click(object sender, RoutedEventArgs e)
        {
            //here comes the code for saving a new patient
            // first check inputs
            string   _newPatientId        = patientIdTextBox.Text;
            string   _newPatientFirstName = patientFirstNameTextBox.Text;
            string   _newPatientLastName  = patientLastNameTextBox.Text;
            string   _newPatientComment   = patientCommentTextBox.Text;
            DateTime _newPatientBirthDate = new DateTime(1900, 1, 1);

            try
            {
                _newPatientBirthDate = (DateTime)patientBirthDate.SelectedDate;
            }
            catch { }
            int        _newPatientSexIndex = patientSexComboBox.SelectedIndex;
            PatientSex _newPatientSex      = PatientSex.N;

            switch (_newPatientSexIndex)
            {
            case 0: _newPatientSex = PatientSex.F;
                break;

            case 1: _newPatientSex = PatientSex.M;
                break;

            case 2: _newPatientSex = PatientSex.N;
                break;

            case 3: _newPatientSex = PatientSex.O;
                break;
            }
            //patientSexComboBox.SelectedItem as PatientSex;
            DateTime _newPatientCreationTime = DateTime.Now;
            // create new study folder
            string path = fileParameters.RSOMdataFolder + "\\study" + _newPatientId;

            if (Directory.Exists(path))
            {
                Console.WriteLine("That study exists already.");
                System.Windows.MessageBox.Show("That study exists already. Please change ID");
                return;
            }
            else
            {
                try
                {
                    Directory.CreateDirectory(@path);
                }
                catch
                {
                    System.Windows.MessageBox.Show("Not able to create new patient folder. Please check permissions");
                }
            }

            // Create patient Study nod-file and save data
            XDocument objXDoc = new XDocument(

                new XElement("DataModelPatient",
                             new XElement("FriendlyName", ""),
                             new XElement("CreationTime", _newPatientCreationTime.ToString("o")),
                             new XElement("Comment", _newPatientComment),
                             new XElement("FirstName", _newPatientFirstName),
                             new XElement("LastName", _newPatientLastName),
                             new XElement("Id", _newPatientId),
                             new XElement("BirthDate", _newPatientBirthDate.ToString("o")),
                             new XElement("Sex", _newPatientSex.ToString()),
                             new XElement("LastExam", "")
                             )
                );

            objXDoc.Declaration = new XDeclaration("1.0", "utf-8", "true");
            //
            string filename = path + "\\study" + _newPatientId + studyParameters.PatientFileNameExtension;

            objXDoc.Save(@filename);

            // Add to patient List
            DataModelPatient _newCreatedPatient = (new DataModelPatient {
                FirstName = _newPatientFirstName, LastName = _newPatientLastName, Id = _newPatientId, BirthDate = _newPatientBirthDate, Sex = _newPatientSex, Comment = _newPatientComment, FriendlyName = "", CreationTime = _newPatientCreationTime, PatientFilePath = path
            });

            patientList.Add(_newCreatedPatient);
            studyParameters.highestCurrentStudyId = Convert.ToInt32(_newPatientId);
            //
            //ViewModelPatient selected = patientsListView.SelectedItem as ViewModelPatient;
            //selectAndScrollToPatientListViewItem(selected);
            // fill the patient details with last selected patient
            //fillPatientDetails(_newCreatedPatient);
            patientsListView.SelectedItem = _newCreatedPatient;
            patientsListView.Items.Refresh();
            EditingNewPatient = false;


            // Change back GUI behaviour
            patientsListView.IsEnabled      = true;
            deletePatientButton.IsEnabled   = true;
            clearFilterButton.IsEnabled     = true;
            filterTextBox.IsEnabled         = true;
            selectButton.Visibility         = Visibility.Visible;
            saveNewPatientButton.Visibility = Visibility.Collapsed;
        }