/// <summary>
        /// Обновить информацию об акушерском анамнезе
        /// </summary>
        /// <param name="obstetricHistoryInfo">Информация об акушерском анамнезе</param>
        public void Update(CObstetricHistory obstetricHistoryInfo)
        {
            int n = GetIndexFromList(obstetricHistoryInfo.PatientId);

            obstetricHistoryInfo.NotInDatabase = false;
            _obstetricHistoryList[n]           = new CObstetricHistory(obstetricHistoryInfo);
            Save();
        }
        /// <summary>
        /// Скопировать акушерский анаменз для указанного пациента
        /// </summary>
        /// <param name="patientId">Id копируемого пациента</param>
        /// <param name="newPatientId">Id нового пациента</param>
        public void CopyByPatientId(int patientId, int newPatientId)
        {
            CObstetricHistory newObstetricHistory = GetByPatientId(patientId);

            newObstetricHistory.PatientId = newPatientId;
            _obstetricHistoryList.Add(newObstetricHistory);
            Save();
        }
Exemple #3
0
        public ObstetricHistoryForm(
            CWorkersKeeper workersKeeper,
            CObstetricHistory obstetricHistory)
        {
            InitializeComponent();

            _obstetricHistoryInfo   = obstetricHistory;
            _obstetricHistoryWorker = workersKeeper.ObstetricHistoryWorker;
            _configurationEngine    = workersKeeper.ConfigurationEngine;
        }
Exemple #4
0
 /// <summary>
 /// Добавить акушерский анамнез
 /// </summary>
 /// <param name="fromObstetricHistoryWorker"></param>
 /// <param name="toObstetricHistoryWorker"></param>
 /// <param name="fromPatientId">id пациента, у которого мы берём ???</param>
 /// <param name="toPatientId">id пациента, которому мы вставляем ???</param>
 public static void AddObstetricHistory(
     CObstetricHistoryWorker fromObstetricHistoryWorker,
     CObstetricHistoryWorker toObstetricHistoryWorker,
     int fromPatientId,
     int toPatientId)
 {
     if (fromObstetricHistoryWorker.IsExists(fromPatientId))
     {
         toObstetricHistoryWorker.GetByPatientId(toPatientId);
         var newObstetricHistory = new CObstetricHistory(fromObstetricHistoryWorker.GetByPatientId(fromPatientId))
         {
             PatientId = toPatientId
         };
         toObstetricHistoryWorker.Update(newObstetricHistory);
     }
 }
        /// <summary>
        /// Получить акушерский анамнез по переданному id пациента. Если его нет - то создать новый
        /// </summary>
        /// <param name="patientId">id пациента</param>
        /// <returns></returns>
        public CObstetricHistory GetByPatientId(int patientId)
        {
            int n = GetIndexFromList(patientId);

            if (n == _obstetricHistoryList.Count)
            {
                var newObstetricHistoryInfo = new CObstetricHistory(patientId)
                {
                    NotInDatabase = true
                };
                _obstetricHistoryList.Add(newObstetricHistoryInfo);
                return(new CObstetricHistory(newObstetricHistoryInfo));
            }

            return(new CObstetricHistory(_obstetricHistoryList[n]));
        }
        /// <summary>
        /// Загрузить список акушерских анамнезов
        /// </summary>
        private void Load()
        {
            _obstetricHistoryList = new List <CObstetricHistory>();
            string allDataStr = CDatabaseEngine.UnpackText(_obstetricHistoryPath);

            // Получаем набор объектов
            string[] objectsStr = allDataStr.Split(new[] { ObjSplitStr }, StringSplitOptions.RemoveEmptyEntries);

            // Проходим по всем объектам
            foreach (string objectStr in objectsStr)
            {
                // Для каждого объекта получаем список значений
                string[] datasStr = objectStr.Split(new[] { DataSplitStr }, StringSplitOptions.RemoveEmptyEntries);

                var obstetricHistoryInfo = new CObstetricHistory();
                foreach (string dataStr in datasStr)
                {
                    string[] keyValue = dataStr.Split(new[] { '=' }, 2);
                    switch (keyValue[0])
                    {
                    case "PatientId":
                        obstetricHistoryInfo.PatientId = Convert.ToInt32(keyValue[1]);
                        break;

                    case "Chronology":
                        obstetricHistoryInfo.Chronology = CConvertEngine.StringToBoolArray(keyValue[1]);
                        break;

                    case "ApgarScore":
                        obstetricHistoryInfo.ApgarScore = keyValue[1];
                        break;

                    case "BirthInjury":
                        obstetricHistoryInfo.BirthInjury = keyValue[1];
                        break;

                    case "ChildbirthWeeks":
                        obstetricHistoryInfo.ChildbirthWeeks = keyValue[1];
                        break;

                    case "ComplicationsDuringChildbirth":
                        obstetricHistoryInfo.ComplicationsDuringChildbirth = keyValue[1];
                        break;

                    case "ComplicationsInPregnancy":
                        obstetricHistoryInfo.ComplicationsInPregnancy = keyValue[1];
                        break;

                    case "DrugsInPregnancy":
                        obstetricHistoryInfo.DrugsInPregnancy = keyValue[1];
                        break;

                    case "DurationOfLabor":
                        obstetricHistoryInfo.DurationOfLabor = keyValue[1];
                        break;

                    case "Fetal":
                        obstetricHistoryInfo.Fetal = keyValue[1];
                        break;

                    case "HeightAtBirth":
                        obstetricHistoryInfo.HeightAtBirth = keyValue[1];
                        break;

                    case "HospitalTreatment":
                        obstetricHistoryInfo.HospitalTreatment = keyValue[1];
                        break;

                    case "IsTongsUsing":
                        obstetricHistoryInfo.IsTongsUsing = Convert.ToBoolean(keyValue[1]);
                        break;

                    case "IsVacuumUsing":
                        obstetricHistoryInfo.IsVacuumUsing = Convert.ToBoolean(keyValue[1]);
                        break;

                    case "ObstetricParalysis":
                        obstetricHistoryInfo.ObstetricParalysis = keyValue[1];
                        break;

                    case "OutpatientCare":
                        obstetricHistoryInfo.OutpatientCare = keyValue[1];
                        break;

                    case "WeightAtBirth":
                        obstetricHistoryInfo.WeightAtBirth = keyValue[1];
                        break;
                    }
                }

                _obstetricHistoryList.Add(obstetricHistoryInfo);
            }
        }