Exemplo n.º 1
0
        private void ExcuteCommand(EEGStudioModuleItem eegStudioItem,
            Guid examinationContext, string fileName, bool isNewExamination,
            string additionalParams = "", PatientData patientData = null)
        {
            if (moduleExchange == null)
                throw new Exception("Exchange module null reference error !!!");

            if (File.Exists(eegStudioItem.ExecuteFile) == false)
                throw new Exception("EEGStudio executable file not found !!!");

            // Проверяем конфиг EEGStudio
            CheckEEGStudioInitialization(eegStudioItem);

            // Запуск нового обследования
            if (isNewExamination == true)
            {
                // Создаем файл PatData.dat в папке конфига для обмена данными между базой и EEGStudio
                // Данные из PatData.dat применяются только при создании нового обследования
                PatientDataHelper.WriteEEGStudioPatDataFile(patientData, patDataFile, fileName);

                string newFileParam = string.Format("-new -pat=\"{0}\"", patDataFile); //

                BeginProcess(eegStudioItem, examinationContext, newFileParam, additionalParams);
            }
            else
            {
                String file = String.Format("\"{0}\"", fileName);
                BeginProcess(eegStudioItem, examinationContext, file, additionalParams);
            }
        }
 /// <summary>
 /// Запускаем выполнение модуля
 /// </summary>
 private bool TryToExecuteModule(IDynamicModule module, ExecuteCommand command, string file, Guid context, PatientData patient = null)
 {
     bool result = true;
     try { module.Execute(command, context, file, patient); }
     catch (Exception) { result = false; }
     return result;
 }
Exemplo n.º 3
0
        /// <summary>
        /// Creates new patient data class
        /// </summary>
        public static PatientDataDictionary GeneratePatDataDictionary(PatientData patientData,  String fileMDFX)
        {
            PatientDataDictionary dictionary = new PatientDataDictionary();

                //Файл данных с полным путем, который должен быть создан при создании обследования
                //Информация в файле не сохраняется
                dictionary.SetValue(PatInfoField.PatInfoIDs.FileLocation, fileMDFX);
                dictionary.SetValue(PatInfoField.PatInfoIDs.Name, patientData.FullName);
                dictionary.SetValue(PatInfoField.PatInfoIDs.DOB, String.Format("{0:dd.MM.yyyy}", patientData.Birthday));
                dictionary.SetValue(PatInfoField.PatInfoIDs.Gender, patientData.Gender);

                dictionary.SetValue(PatInfoField.PatInfoIDs.Address, patientData.Address);
                dictionary.SetValue(PatInfoField.PatInfoIDs.Phone, patientData.Phone);

                dictionary.SetValue(PatInfoField.PatInfoIDs.Passport, patientData.Document);

                dictionary.SetValue(PatInfoField.PatInfoIDs.Job, "");

                dictionary.SetValue(PatInfoField.PatInfoIDs.Direction, "");
                dictionary.SetValue(PatInfoField.PatInfoIDs.DeceaseHistory, "");
                dictionary.SetValue(PatInfoField.PatInfoIDs.Profession, "");
                dictionary.SetValue(PatInfoField.PatInfoIDs.Reserved, "");
                dictionary.SetValue(PatInfoField.PatInfoIDs.ExamName, "");
                dictionary.SetValue(PatInfoField.PatInfoIDs.ExamDate, String.Format("{0:dd.MM.yyyy}", patientData.TimeStart));
                dictionary.SetValue(PatInfoField.PatInfoIDs.ExamTime, String.Format("{0:HH:mm:ss}", patientData.TimeStart));
                dictionary.SetValue(PatInfoField.PatInfoIDs.Age, (DateTime.Now.Year - patientData.Birthday.Year).ToString());
                dictionary.SetValue(PatInfoField.PatInfoIDs.Diagnose, "");
                dictionary.SetValue(PatInfoField.PatInfoIDs.Height, "");
                dictionary.SetValue(PatInfoField.PatInfoIDs.Weight, "");
                dictionary.SetValue(PatInfoField.PatInfoIDs.Coeff, "");
                dictionary.SetValue(PatInfoField.PatInfoIDs.Edist, "");
                dictionary.SetValue(PatInfoField.PatInfoIDs.SPressure, "");
                dictionary.SetValue(PatInfoField.PatInfoIDs.DPressure, "");
                dictionary.SetValue(PatInfoField.PatInfoIDs.Blood, "");

                return dictionary;
        }
Exemplo n.º 4
0
        private static void WriteTxtFile(PatientData patientData, String filePatData, String fileMDFX)
        {
            StreamWriter writer = null;
            try
            {
                writer = new StreamWriter(filePatData, false, Encoding.GetEncoding(1251));

                writer.WriteLine(fileMDFX);
                writer.WriteLine(patientData.FullName);
                writer.WriteLine(String.Format("{0:dd.MM.yyyy}", patientData.Birthday));
                writer.WriteLine(patientData.Gender);
                writer.WriteLine(""); //Код
                writer.WriteLine(patientData.Address);
                //patientData.WriteLine(examination.Patient.RegistrationAddress != null ? examination.Patient.RegistrationAddress.Street+
                //    "%"+examination.Patient.RegistrationAddress.City+"%"+examination.Patient.RegistrationAddress.State+"%"+
                //    examination.Patient.RegistrationAddress.Zip+"%"+examination.Patient.RegistrationAddress.Country : String.Empty);
                writer.WriteLine(patientData.Phone);
                //patientData.WriteLine(examination.Patient.DefaultPhone.Number);
                writer.WriteLine(""); //место работы
                //patientData.WriteLine(String.Format("{0} {1}", examination.Patient.Passport.Series, examination.Patient.Passport.Number));

                writer.WriteLine(patientData.Document);

                writer.WriteLine(""); //Direction
                writer.WriteLine(""); //Decease history
                writer.WriteLine(""); //Профессия
                writer.WriteLine(""); //Зарезервировано
                writer.WriteLine(""); //Наименование обследования
                writer.WriteLine(String.Format("{0:dd.MM.yyyy}", patientData.TimeStart));
                writer.WriteLine(String.Format("{0:HH:mm:ss}", patientData.TimeStart));
                writer.WriteLine(DateTime.Now.Year - patientData.Birthday.Year); //age !!! МОЖЕТ СЛУЧИТСЯ АХТУНГ !!!
                writer.WriteLine(""); //Диагноз
                writer.WriteLine("");
                writer.WriteLine("");
                writer.WriteLine("");
                //patientData.WriteLine(examination.Examiner != null ? examination.Examiner : String.Empty);
                writer.WriteLine(""); //рост
                writer.WriteLine(""); //вес
                writer.WriteLine("1"); //Coeff
                writer.WriteLine("0"); //Edist
                writer.WriteLine("0"); //SPressure
                writer.WriteLine("0"); //DPressure
                writer.WriteLine("0"); //Blood
            }
            catch { throw new Exception("PatData Error"); }
            finally
            {
                if (writer != null)
                {
                    writer.Close();
                    writer = null;
                }
            }
        }
Exemplo n.º 5
0
        public static bool WriteXmlFile(PatientData patientData, String filePatData, String fileMDFX)
        {
            PatientDataDictionary dictionary = GeneratePatDataDictionary(patientData, fileMDFX);

                try
                {
                    using (FileStream fs = new FileStream(filePatData, FileMode.Create))
                    {
                        System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(typeof(PatientDataDictionary));
                        xs.Serialize(fs, dictionary);
                    }//Using FileStream

                    //File.Copy(filePatData, "d:\\test.xml");
                    return true;
                }
                catch { }

                return false;
        }
Exemplo n.º 6
0
 /// <summary>
 /// Метод записывает данные о пациенте в файл PatData.dat для обмена с EEGStudio
 /// после закрытия обследования, файл PatData.dat должен быть удален
 /// </summary>
 /// <param name="examination"></param>
 /// <param name="filePatData"></param>
 /// <param name="fileMDFX"></param>
 public static void WriteEEGStudioPatDataFile(PatientData patientData, String filePatData, String fileMDFX )
 {
     //WriteTxtFile(patientData, filePatData, fileMDFX);
     WriteXmlFile(patientData, filePatData, fileMDFX);
 }