/// <summary>
        /// Скопировать все карты обследования для указанных id госпитализации и консультации
        /// </summary>
        /// <param name="hospitalizationId">id госпитализации</param>
        /// <param name="visitId">id консультации</param>
        /// <param name="newHospitalizationId">id новой госпитализации</param>
        /// <param name="newVisitId">id новой консультации</param>
        public void CopyByHospitalizationAndVisitId(
            int hospitalizationId, int visitId, int newHospitalizationId, int newVisitId)
        {
            int brachialPlexusCardListCnt = _brachialPlexusCardList.Count;

            for (int i = 0; i < brachialPlexusCardListCnt; i++)
            {
                if (_brachialPlexusCardList[i].HospitalizationId == hospitalizationId &&
                    _brachialPlexusCardList[i].VisitId == visitId)
                {
                    var    newBrachialPlexusCard = new CBrachialPlexusCard(_brachialPlexusCardList[i]);
                    string oldFilePath           = GetPicturePath(newBrachialPlexusCard.GetPictureFileName());
                    newBrachialPlexusCard.HospitalizationId = newHospitalizationId;
                    newBrachialPlexusCard.VisitId           = newVisitId;
                    _brachialPlexusCardList.Add(newBrachialPlexusCard);
                    string newFilePath = GetPicturePath(newBrachialPlexusCard.GetPictureFileName());

                    if (File.Exists(oldFilePath))
                    {
                        File.Copy(oldFilePath, newFilePath);
                    }
                    else
                    {
                        PutDefaultPictureFile(newFilePath);
                    }
                }
            }

            Save(null);
        }
        /// <summary>
        /// Загрузить список карт обследования
        /// </summary>
        private void Load()
        {
            _brachialPlexusCardList = new List <CBrachialPlexusCard>();
            string allDataStr = CDatabaseEngine.UnpackText(_brachialPlexusCardPath);

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

            var errorStr = new StringBuilder();

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

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

                        case "VisitId":
                            brachialPlexusCardInfo.VisitId = Convert.ToInt32(keyValue[1]);
                            break;

                        case "Diaphragm":
                            brachialPlexusCardInfo.Diaphragm = keyValue[1];
                            break;

                        case "EMNG":
                            brachialPlexusCardInfo.EMNG = keyValue[1];
                            break;

                        case "EMNGDate":
                            brachialPlexusCardInfo.EMNGDate = CConvertEngine.StringToDateTime(keyValue[1]);
                            break;

                        case "HornersSyndrome":
                            brachialPlexusCardInfo.HornersSyndrome = keyValue[1];
                            break;

                        case "IsEMNGEnabled":
                            brachialPlexusCardInfo.IsEMNGEnabled = Convert.ToBoolean(keyValue[1]);
                            break;

                        case "IsMyelographyEnabled":
                            brachialPlexusCardInfo.IsMyelographyEnabled = Convert.ToBoolean(keyValue[1]);
                            break;

                        case "Myelography":
                            brachialPlexusCardInfo.Myelography = keyValue[1];
                            break;

                        case "MyelographyDate":
                            brachialPlexusCardInfo.MyelographyDate = CConvertEngine.StringToDateTime(keyValue[1]);
                            break;

                        case "MyelographyType":
                            brachialPlexusCardInfo.MyelographyType = keyValue[1];
                            break;

                        case "TinelsSymptom":
                            brachialPlexusCardInfo.TinelsSymptom = keyValue[1];
                            break;

                        case "VascularStatus":
                            brachialPlexusCardInfo.VascularStatus = keyValue[1];
                            break;

                        case "CardSide":
                            brachialPlexusCardInfo.SideOfCard = CConvertEngine.StringToCardSide(keyValue[1]);
                            break;
                        }
                    }

                    string picturePath = GetPicturePath(brachialPlexusCardInfo.GetPictureFileName());
                    if (!File.Exists(picturePath))
                    {
                        PutDefaultPictureFile(picturePath);
                    }

                    brachialPlexusCardInfo.Picture = CDatabaseEngine.GetBitmapFromFile(picturePath);

                    _brachialPlexusCardList.Add(brachialPlexusCardInfo);
                }
            }
            catch (Exception ex)
            {
                errorStr.Append(ex.Message + "\r\n");
            }

            if (errorStr.Length != 0)
            {
                MessageBox.ShowDialog(errorStr.ToString());
            }
        }