示例#1
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            //常规
            ApplicationConfiguration.DisplayLastMonitorData = chkDisplayLastMonitorData.Checked;
            ApplicationConfiguration.AllRights = chkAllRights.Checked;
            ApplicationConfiguration.SyncOpen  = chkSyncOpen.Checked;
            // ApplicationConfiguration.ShowMainFormStatusBar=chkShowMainFormStatusBar.Checked;
            ApplicationConfiguration.CheckDictInput  = chkCheckDictInput.Checked;
            ApplicationConfiguration.PassWordType    = (ApplicationConfiguration.PassWordTypes)radioGroupPassword.SelectedIndex;
            ApplicationConfiguration.YouDaoRoomTitle = txtYouDaoRoomTitle.Text;

            ApplicationConfiguration.IsYouDaoProgram = chkYouDao.Checked;
            //PACU管理系统
            ApplicationConfiguration.IsPACUProgram = chkPACUProgram.Checked;

            ApplicationConfiguration.AnesDocRange = string.IsNullOrEmpty(txtAnesDocRange.Text) ? 4 : int.Parse(txtAnesDocRange.Text);
            ApplicationConfiguration.PACUDocRange = string.IsNullOrEmpty(txtPACUDocRange.Text) ? 4 : int.Parse(txtPACUDocRange.Text);

            //程序登入后是否弹出显示术中患者列表
            ApplicationConfiguration.IsShowUnDonePatientList = chkIsShowUnDonePatientListView.Checked;

            ApplicationConfiguration.MergeMonitorData        = chkMergeMonitorData.Checked;
            ApplicationConfiguration.ShowDocumentScrollBar   = chkShowDocumentScrollBar.Checked;
            ApplicationConfiguration.UseDefaultOperatingRoom = chkUseDefaultOperatingRoom.Checked;
            ApplicationConfiguration.IsUpdateScheduleStatus  = chkIsUpdateScheduleStatus.Checked;
            ApplicationConfiguration.IsUpdateHisStatus       = chkIsUpdateHisStatus.Checked;
            //手术状态
            List <string> list = new List <string>();

            foreach (DataGridViewRow row in dgvPatientStatusButtonsSelect.Rows)
            {
                list.Add(row.Cells[0].Value.ToString());
            }
            ApplicationConfiguration.PatientStatusButtons = string.Join(",", list.ToArray());
            //导航菜单

            ApplicationConfiguration.NoPatientButtons           = _statusButtonStrList[ProgramStatus.NoPatient];
            ApplicationConfiguration.PeroperativePatientButtons = _statusButtonStrList[ProgramStatus.PeroperativePatient];
            ApplicationConfiguration.AnesthesiaRecordButtons    = _statusButtonStrList[ProgramStatus.AnesthesiaRecord];
            ApplicationConfiguration.PACUButtons = _statusButtonStrList[ProgramStatus.PACURecord];
            ApplicationConfiguration.PostoperativePatientButtons = _statusButtonStrList[ProgramStatus.PostoperativePatient];

            ExtendApplicationContext.Current.StatusButtonStrList = _statusButtonStrList;
            //文书菜单

            OperationStatusHelper.SetOperDocument(_operDocuments);
            OperationStatusHelper.SetOperAction(_operActions);
            ApplicationConfiguration.AutoGenDocument = chkAutoGenDocument.Checked;



            //砖家咨询
            ApplicationConfiguration.IsConnACS  = chkAcs.Checked;
            ApplicationConfiguration.AcsAddress = txtAcsAddress.Text;

            ApplicationConfiguration.IsPACUProcess = chkPACUProcess.Checked;

            //提交更新到数据库
            CommDictService.SaveConfig(ExtendApplicationContext.Current.CommDict.ConfigDict);
        }
示例#2
0
        /// <summary>
        /// 保存主表数据信息
        /// </summary>
        private void SaveOperationMaster(ref TransactionParamsters tp)
        {
            MED_OPERATION_MASTER master = AnesInfoService.ClientInstance.GetOperationMaster(this.CurPatientModel.PatientID, this.CurPatientModel.VisitID, this.CurPatientModel.OperID);

            OperationStatus status = OperationStatusHelper.OperationStatusFromString(OperStatus);

            if (status == OperationStatus.AnesthesiaEnd && this.CurPatientModel.OperStatusCode == OperationStatus.AnesthesiaStart)
            {
                master.ANES_END_TIME    = this.AnesEndTime;
                master.OPER_STATUS_CODE = (int)OperationStatus.AnesthesiaEnd;
            }
            else
            {
                master = ResetOperationMaster(master, status);
                master.OPER_STATUS_CODE = (int)status;
            }

            if (this.CurPatientModel.OperStatusCode >= OperationStatus.OutOperationRoom)
            {
                master.OPER_ROOM_NO = this.OperRoomNo;
            }

            master.ModelStatus = ModelStatus.Modeified;
            tp.Append(master);
        }
示例#3
0
        /// <summary>
        /// 刷新界面数据
        /// </summary>
        public void RefreshData()
        {
            // 在刷新数据时可能是定时器刷新也可能是消息指令刷新,为了防止数据冲突,使用对象锁
            lock (this.locker)
            {
                try
                {
                    // 每次刷新时从数据库中获取患者信息
                    MED_PAT_INFO patInfo = PatInfoService.ClientInstance.GetCurPatientInfo(ExtendAppContext.Current.OperDeptCode, ExtendAppContext.Current.OperRoomNo);
                    this.CurPatientModel = PatientModel.CreateModel(patInfo);

                    if (null != this.CurPatientModel)
                    {
                        this.IsSelectedBorderVisibility = Visibility.Visible;
                        ExtendAppContext.Current.PatientInformationExtend = this.CurPatientModel.Med_Pat_Info;
                        //设置状态灯亮
                        int lightIndex = OperationStatusHelper.GetOperStatusIndex(ExtendAppContext.Current.PatientInformationExtend.OPER_STATUS_CODE);
                        KeyBoardStateCache.KeyBoard.OpenSecondKeyBoardAllLed(lightIndex);
                        // 刷新患者的体征数据
                        this.RefreshVitalSignList();
                        // 刷新监护仪和麻醉机的图标显示
                        this.RefreshMonitor();
                    }
                    else
                    {
                        this.IsSelectedBorderVisibility = Visibility.Collapsed;
                        ExtendAppContext.Current.PatientInformationExtend = null;
                        //关闭状态灯
                        if (KeyBoardStateCache.KeyBoard != null)
                        {
                            KeyBoardStateCache.KeyBoard.CloseSecondKeyBoardAllLed();
                        }
                    }

                    // 设置图片显示或隐藏
                    this.SetOperationVisibility();
                    // 刷新手术时长信息
                    this.RefreshOperationLength();
                }
                catch (Exception ex)
                {
                    Logger.Error("获取术中信息异常", ex);
                    this.ShowMessageBox("获取术中信息发生异常。", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }
示例#4
0
 /// <summary>
 /// 构造方法
 /// </summary>
 public OperationJumpViewModel(MED_PAT_INFO patModel, RichTextBox rtb)
 {
     if (patModel != null)
     {
         this.CurPatientModel      = PatientModel.CreateModel(patModel);
         OperStatus                = OperationStatusHelper.OperationStatusToString(OperationStatus.IsReady);
         this.MedOperatingRoomDict = DictService.ClientInstance.GetOperatingRoomList().Where(x => x.DEPT_CODE.Equals(ExtendAppContext.Current.OperDeptCode) &&
                                                                                             x.BED_TYPE.Equals(ExtendAppContext.Current.EventNo)).ToList();
         this.CbOperatingRoomSourceList = this.MedOperatingRoomDict.Where(x => x.BED_TYPE == ExtendAppContext.Current.EventNo && (x.PATIENT_ID == null || string.IsNullOrEmpty(x.PATIENT_ID))).ToList();
         this.rtbResaon  = rtb;
         this.OperRoomNo = CurPatientModel.OperRoomNo;
         this.LoadOperStatusList();
         // 注册按钮命令
         this.RegisterCommand();
         // 设置界面显示的警告消息
         this.ResetWarningMessage();
     }
 }
示例#5
0
        public void ResetVisibTime()
        {
            OperationStatus status = OperationStatusHelper.OperationStatusFromString(OperStatus);

            if (status == OperationStatus.IsReady)
            {
                this.VisibShowAnesEndTime = Visibility.Collapsed;
                this.StrWarning           = "警告:确认后此患者术中记录数据全部清除!";
            }
            else
            {
                if (status == OperationStatus.InOperationRoom)
                {
                    this.VisibShowAnesEndTime = Visibility.Collapsed;
                }
                else if (status == OperationStatus.AnesthesiaStart)
                {
                    this.VisibShowAnesEndTime = Visibility.Collapsed;
                }
                else if (status == OperationStatus.OperationStart)
                {
                    this.VisibShowAnesEndTime = Visibility.Collapsed;
                }
                else if (status == OperationStatus.OperationEnd)
                {
                    this.VisibShowAnesEndTime = Visibility.Collapsed;
                }
                else if (status == OperationStatus.AnesthesiaEnd)
                {
                    if (this.CurPatientModel.OperStatusCode == OperationStatus.AnesthesiaStart)
                    {
                        this.VisibShowAnesEndTime = Visibility.Visible;
                    }
                    else
                    {
                        this.VisibShowAnesEndTime = Visibility.Collapsed;
                    }
                }

                this.StrWarning = "";
            }
        }
示例#6
0
 /// <summary>
 /// 重置主表节点时间
 /// </summary>
 private MED_OPERATION_MASTER ResetOperationMaster(MED_OPERATION_MASTER master, OperationStatus status)
 {
     foreach (string s in OperationStatusHelper.OperationStatusList)
     {
         OperationStatus StatusFile = OperationStatusHelper.OperationStatusFromString(s);
         if (StatusFile == OperationStatus.TurnToEmergency || StatusFile == OperationStatus.TurnToICU || StatusFile == OperationStatus.TurnToSickRoom ||
             StatusFile == OperationStatus.TurnToMortuary || StatusFile == OperationStatus.TurnToPACU || StatusFile == OperationStatus.OutYouDao ||
             StatusFile == OperationStatus.OperScheduled || StatusFile == OperationStatus.None || StatusFile == OperationStatus.LeftHospital ||
             StatusFile == OperationStatus.InYouDao || StatusFile == OperationStatus.CancelOperation || StatusFile == OperationStatus.Done)
         {
             continue;
         }
         if (StatusFile > status)
         {
             string dtField = OperationStatusHelper.GetTimeFieldName(StatusFile);
             master.SetValue(dtField, null);
         }
     }
     return(master);
 }
示例#7
0
        private void dgPACUList_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            if (dgPACUList.Columns[e.ColumnIndex].HeaderText.Equals("操作"))
            {
                MED_PATIENT_CARD card = dgPACUList.Rows[e.RowIndex].DataBoundItem as MED_PATIENT_CARD;
                int operStatus        = Convert.ToInt32(dgPACUList.Rows[e.RowIndex].Cells["OperStatus"].Value);

                if (dgPACUList.Rows[e.RowIndex].Cells["OperStatus"].Value == null)
                {
                    return;
                }
                if (card.OPER_STATUS_CODE == (int)OperationStatus.TurnToPACU)
                {
                    e.Value = Resources.pacu左表格_入室1;
                }
                else if (card.OPER_STATUS_CODE > (int)OperationStatus.InPACU)
                {
                    if (card.IN_PACU_DATE_TIME.HasValue)
                    {
                        e.Value = Resources.pacu左表格_出室1;
                    }
                    else
                    {
                        e.Value = Resources.pacu左表格_入室1;
                    }
                }
                else
                {
                    e.Value = Resources.pacu左表格_blank;
                }
            }
            else if (dgPACUList.Columns[e.ColumnIndex].HeaderText.Equals("状态"))
            {
                if (e.Value == null)
                {
                    return;
                }
                int operStatus = Convert.ToInt32(e.Value);
                e.Value = OperationStatusHelper.OperationStatusToString((OperationStatus)operStatus);
            }
        }
示例#8
0
        /// <summary>
        /// 保存数据
        /// </summary>
        protected override SaveResult SaveData()
        {
            TransactionParamsters tp     = TransactionParamsters.Create();
            OperationStatus       status = OperationStatusHelper.OperationStatusFromString(OperStatus);

            // 保存手术跳转明细记录
            this.SaveOperationJump(this.strReason, status, ref tp);
            // 更新主表手术间号
            this.SaveOperationMaster(ref tp);

            if (status == OperationStatus.IsReady)
            {
                DeleteAnesEvent();
                DeleteMonitorData();
                // 更新手术室数据
                this.SaveOperatingRoom(ref tp, true);
                // 更新监护仪数据
                this.SaveMonitorDict(ref tp, true);
            }
            if (this.CurPatientModel.OperStatusCode >= OperationStatus.OutOperationRoom && status != OperationStatus.IsReady)
            {
                // 更新手术室数据
                this.SaveOperatingRoom(ref tp, false);
                // 更新监护仪数据
                this.SaveMonitorDict(ref tp, false);
            }

            bool result = CommonService.ClientInstance.UpdateByTransaction(tp.ToString());

            // 刷新主界面信息
            Messenger.Default.Send <object>(this, EnumMessageKey.RefreshMainWindow);


            // 更新手术间字典表
            ApplicationModel.Instance.AllDictList.OperatingRoomList = DictService.ClientInstance.GetOperatingRoomList().Where(x => x.DEPT_CODE == ExtendAppContext.Current.OperDeptCode).ToList();

            // 更新字典表
            ApplicationModel.Instance.AllDictList.MonitorDictList = DictService.ClientInstance.GetMonitorDictList();

            return(result ? SaveResult.Success : SaveResult.Fail);
        }
示例#9
0
        public string SetOperationStatusText()
        {
            string          statusName = "";
            OperationStatus status     = ExtendApplicationContext.Current.OperationStatus;

            if (ApplicationConfiguration.IsPACUProgram)
            {
                if (status > OperationStatus.OutPACU)
                {
                    statusName = OperationStatusHelper.OperationStatusToString(status);
                }
            }
            else
            {
                if (status > OperationStatus.OutOperationRoom)
                {
                    statusName = OperationStatusHelper.OperationStatusToString(status);
                }
            }
            return(statusName);
        }
示例#10
0
        /// <summary>
        /// 绑定数据源数据到控件
        /// </summary>
        public override void BindDataToUI(MedDrugGraph control, Dictionary <string, System.Data.DataTable> dataSources)
        {
            if (!dataSources.ContainsKey("AnesthesiaEvent"))
            {
                throw new NotImplementedException(string.Format("在数据源中未找到名为{0}的表AnesInformations.AnesthesiaEventDataTable,请添加此绑定数据源!", "AnesthesiaEvent"));
            }

            bool     isEndAnes = false;
            DateTime dtEndAnes = DateTime.Now;
            List <MED_ANESTHESIA_EVENT> anesEvent = new ModelHandler <MED_ANESTHESIA_EVENT>().FillModel(dataSources["AnesthesiaEvent"]);

            // 针对麻醉系统:持续用药随手术状态自动结束
            if (ApplicationConfiguration.DrugAutoStop && ExtendAppContext.Current.EventNo == "0")
            {
                string          operText   = ApplicationConfiguration.DrugAutoStopOperationStatus;
                OperationStatus operStatus = OperationStatusHelper.OperationStatusFromString(operText);
                if (operStatus != OperationStatus.None)
                {
                    string    timeField = OperationStatusHelper.GetTimeFieldName(operStatus);
                    DataTable dtMaster  = DataContext.GetCurrent().GetData("MED_OPERATION_MASTER");
                    if (dtMaster != null && dtMaster.Rows.Count > 0 && !dtMaster.Rows[0].IsNull(timeField))
                    {
                        int status = 0;
                        if (!dtMaster.Rows[0].IsNull("OPER_STATUS_CODE"))
                        {
                            status = Convert.ToInt32(dtMaster.Rows[0]["OPER_STATUS_CODE"]);
                        }

                        // 出手术室 35
                        // 时如果没有持续用药没有自动结束的话,会按照配置的时间自动结束
                        if (status >= (int)operStatus)
                        {
                            dtEndAnes = (DateTime)dtMaster.Rows[0][timeField];
                            isEndAnes = true;

                            bool changed = false;
                            if (anesEvent != null)
                            {
                                anesEvent.ForEach(row =>
                                {
                                    if (row.DURATIVE_INDICATOR.HasValue && row.DURATIVE_INDICATOR == 1 && !row.END_TIME.HasValue)
                                    {
                                        row.END_TIME = dtEndAnes;
                                        changed      = true;
                                    }
                                });
                            }

                            if (changed)
                            {
                                AnesInfoService.ClientInstance.UpadteAnesthesiaEvent(anesEvent);
                            }
                        }
                    }
                }
            }

            control.Curves.Clear();
            control.ProLongedDrugShowType = (ProLongedDrugUnitShowType)ApplicationConfiguration.ProLonged;
            control.DrugShowType          = (NormalDrugUnitShowType)ApplicationConfiguration.DrugShow;
            control.StartTime             = PagerSetting.PageTimeSpan.StartDateTime;
            control.EndTime          = PagerSetting.PageTimeSpan.EndDateTime;
            control.MinStartDateTime = PagerSetting.PageTimeSpan.OrigiStartDateTime;
            control.MaxEndDateTime   = PagerSetting.PageTimeSpan.OrigiEndDateTime;

            //joysola测试用

            //ApplicationConfiguration.PassedDrugPointFormat = "DOSAGE;DOSAGE_UNITS;(;PERFORM_SPEED;SPEED_UNIT;+;CONCENTRATION;CONCENTRATION_UNIT;\r\n;ADMINISTRATOR;)";//DOSAGE_UNITS,ADMINISTRATOR
            //ApplicationConfiguration.PassedDrugNameFormat = "EVENT_ITEM_NAME;(;DOSAGE_UNITS;);SPEED_UNIT;CONCENTRATION_UNIT;ADMINISTRATOR";//SPEED_UNIT

            //ApplicationConfiguration.DrugPointShowFormat = "DOSAGE;;PERFORM_SPEED;SPEED_UNIT;CONCENTRATION;CONCENTRATION_UNIT;";//DOSAGE_UNITS,ADMINISTRATOR
            //ApplicationConfiguration.DrugNameShowFormat = "EVENT_ITEM_NAME;DOSAGE_UNITS;;CONCENTRATION_UNIT;ADMINISTRATOR";//SPEED_UNIT
            //ApplicationConfiguration.DrugPointMarkFormat = "(;);+;\r\n;";
            //ApplicationConfiguration.DrugNameMarkFormat = "(;)";

            //modified by joysola on 2018-2-26、3-5、4-8 新增获取用药显示、持续用药显示、药名显示
            control.DrugPointShowFormatType     = ShowHelper.GetDrugPointShowFormat(ApplicationConfiguration.PassedDrugPointFormat);
            control.DrugProLongedShowFormatType = ShowHelper.GetDrugPointShowFormat(ApplicationConfiguration.PassedDrugProLongedFormat);
            control.DrugNameShowFormatType      = ShowHelper.GetDrugNameShowFormat(ApplicationConfiguration.PassedDrugNameFormat);

            control.PointMarkFormat     = ShowHelper.GetDrugPointMarkFormat(ApplicationConfiguration.PassedDrugPointFormat);
            control.ProLongedMarkFormat = ShowHelper.GetDrugPointMarkFormat(ApplicationConfiguration.PassedDrugProLongedFormat);
            control.NameMarkFormat      = ShowHelper.GetDrugNameMarkFormat(ApplicationConfiguration.PassedDrugNameFormat);
            //modified end
            string        itemClass = "," + GetAnesClassTypeString(AnesClassType.InOxygen) + ",";
            List <string> titles    = new List <string>();

            if (anesEvent != null)
            {
                anesEvent.ForEach(row =>
                {
                    if (!string.IsNullOrEmpty(row.EVENT_CLASS_CODE) &&
                        !string.IsNullOrEmpty(row.EVENT_ITEM_NAME) &&
                        itemClass.Contains("," + row.EVENT_CLASS_CODE + ",") &&
                        !titles.Contains(row.EVENT_ITEM_NAME))
                    {
                        // 只显示持续用药
                        if (control.IsOnlyLine)
                        {
                            if (row.DURATIVE_INDICATOR.HasValue && row.DURATIVE_INDICATOR == 1)
                            {
                                titles.Add(row.EVENT_ITEM_NAME);
                            }
                        }
                        else
                        {
                            titles.Add(row.EVENT_ITEM_NAME);
                        }
                    }
                });

                itemClass += this.GetAnesClassTypeString(AnesClassType.AnesDrug) + "," + this.GetAnesClassTypeString(AnesClassType.MixLiquid) + ",";
                anesEvent.ForEach(row =>
                {
                    if (!string.IsNullOrEmpty(row.EVENT_CLASS_CODE) &&
                        !string.IsNullOrEmpty(row.EVENT_ITEM_NAME) &&
                        itemClass.Contains("," + row.EVENT_CLASS_CODE + ",") &&
                        !titles.Contains(row.EVENT_ITEM_NAME))
                    {
                        // 只显示持续用药
                        if (control.IsOnlyLine)
                        {
                            if (row.DURATIVE_INDICATOR.HasValue && row.DURATIVE_INDICATOR == 1)
                            {
                                titles.Add(row.EVENT_ITEM_NAME);
                            }
                        }
                        else
                        {
                            titles.Add(row.EVENT_ITEM_NAME);
                        }
                    }
                });

                itemClass += "C,";// 用药
                // 泵注用药部分暂时隐藏,请勿删除
                //anesEvent.ForEach(row =>
                //{
                //    if (!string.IsNullOrEmpty(row.EVENT_CLASS_CODE) &&
                //        !string.IsNullOrEmpty(row.EVENT_ITEM_NAME) &&
                //        row.EVENT_CLASS_CODE.Equals("C") &&
                //        !titles.Contains(row.EVENT_ITEM_NAME)
                //        && !string.IsNullOrEmpty(row.ADMINISTRATOR) && row.ADMINISTRATOR.Equals("泵注"))
                //    {
                //        if (control.IsOnlyLine)
                //        {
                //            if (row.DURATIVE_INDICATOR.HasValue && row.DURATIVE_INDICATOR == 1)
                //            {
                //                titles.Add(row.EVENT_ITEM_NAME);
                //            }
                //        }
                //        else
                //        {
                //            titles.Add(row.EVENT_ITEM_NAME);
                //        }
                //    }
                //});

                anesEvent.ForEach(row =>
                {
                    if (!string.IsNullOrEmpty(row.EVENT_CLASS_CODE) &&
                        !string.IsNullOrEmpty(row.EVENT_ITEM_NAME) &&
                        row.EVENT_CLASS_CODE.Equals("C") &&
                        !titles.Contains(row.EVENT_ITEM_NAME))
                    {
                        if (control.IsOnlyLine)
                        {
                            if (row.DURATIVE_INDICATOR.HasValue && row.DURATIVE_INDICATOR == 1)
                            {
                                titles.Add(row.EVENT_ITEM_NAME);
                            }
                        }
                        else
                        {
                            titles.Add(row.EVENT_ITEM_NAME);
                        }
                    }
                });

                // 只显示持续用药时进行排序
                if (control.IsOnlyLine && titles.Count < control.LineParameters.Count)
                {
                    anesEvent.OrderBy(x => x.START_TIME).ToList().ForEach(row =>
                    {
                        if (!string.IsNullOrEmpty(row.EVENT_CLASS_CODE) &&
                            !string.IsNullOrEmpty(row.EVENT_ITEM_NAME) &&
                            itemClass.Contains("," + row.EVENT_CLASS_CODE + ",") &&
                            !titles.Contains(row.EVENT_ITEM_NAME))
                        {
                            if (row.DURATIVE_INDICATOR == null || row.DURATIVE_INDICATOR != 1)
                            {
                                titles.Add(row.EVENT_ITEM_NAME);
                            }
                        }
                    });
                }
            }

            // 最多只能显示 drugGraph.LineParameters.Count 行,多的显示在明细中
            int index = 0;

            if (titles.Count > 0)
            {
                DateTime sysDatetTime = this.GetSysDateTime();
                foreach (string title in titles)
                {
                    index++;

                    // 目前为 行
                    if (index > control.LineParameters.Count)
                    {
                        break;
                    }

                    MedDrugCurve curve = new MedDrugCurve(title, GetRandomColor());
                    List <MED_ANESTHESIA_EVENT> eventRows = anesEvent.Where(x => !string.IsNullOrEmpty(x.EVENT_ITEM_NAME) &&
                                                                            x.EVENT_ITEM_NAME.Equals(title)).ToList();
                    if (eventRows != null && eventRows.Count > 0)
                    {
                        eventRows.ForEach(row =>
                        {
                            if (row.START_TIME.HasValue &&
                                !string.IsNullOrEmpty(row.EVENT_CLASS_CODE) &&
                                itemClass.Contains("," + row.EVENT_CLASS_CODE + ","))
                            {
                                DateTime dt;
                                bool isArrow        = false;
                                PointType pointType = this.GetDecimalValue(row.DURATIVE_INDICATOR) == 1 ?
                                                      PointType.ProLonged : PointType.SinglePoint;
                                if (row.END_TIME.HasValue)
                                {
                                    dt = row.END_TIME.Value;
                                }
                                else if (pointType == PointType.ProLonged)
                                {
                                    DateTime dtUse = isEndAnes ? dtEndAnes : sysDatetTime;
                                    dt             = (dtUse > PagerSetting.PageTimeSpan.OrigiEndDateTime) ? dtUse : PagerSetting.PageTimeSpan.OrigiEndDateTime;
                                    isArrow        = !isEndAnes;
                                }
                                else
                                {
                                    dt = row.START_TIME.Value;
                                }

                                MedDrugPoint point = curve.AddPoint(row.START_TIME.Value, this.GetDoubleValue(row.DOSAGE),
                                                                    this.GetStringValue(row.DOSAGE_UNITS),
                                                                    this.GetDoubleValue(row.CONCENTRATION),
                                                                    this.GetStringValue(row.CONCENTRATION_UNIT),
                                                                    this.GetStringValue(row.ADMINISTRATOR),
                                                                    dt,
                                                                    this.GetDoubleValue(row.PERFORM_SPEED),
                                                                    this.GetStringValue(row.SPEED_UNIT), pointType);
                                point.IsArrow = isArrow;
                                _drugRows.Add(point, row);
                            }
                        });

                        control.Curves.Add(curve);
                    }
                }
            }
        }
示例#11
0
        private void SetOperStatusEnable()
        {
            OperationStatus operSate       = OperationStatusHelper.OperationStatusFromString(ViewFlag);
            int             patStatuIndex  = OperationStatusHelper.GetOperStatusIndex(ExtendAppContext.Current.PatientInformationExtend.OPER_STATUS_CODE);
            int             curntEditIndex = OperationStatusHelper.GetOperStatusIndex((int)operSate);

            //当前编辑已填写的状态的时间
            if (patStatuIndex > curntEditIndex)
            {
                visibIndex = patStatuIndex;
            }
            //编辑新的状态时间
            else
            {
                visibIndex     = curntEditIndex;
                operStatusCode = (int)operSate;
            }
            StepIndex       = visibIndex - 1;
            curntStatusCode = (int)operSate;

            enableIndex = curntEditIndex;


            switch (visibIndex)
            {
            case 1:
                InRoomVisible = Visibility.Visible;
                InRoomFinish  = true;
                break;

            case 2:
                InRoomVisible    = Visibility.Visible;
                AnesStartVisible = Visibility.Visible;
                InRoomFinish     = true;
                AnesStartFinish  = true;
                break;

            case 3:
                InRoomVisible    = Visibility.Visible;
                AnesStartVisible = Visibility.Visible;
                OperStartVisible = Visibility.Visible;
                InRoomFinish     = true;
                AnesStartFinish  = true;
                OperStartFinish  = true;
                break;

            case 4:
                InRoomVisible    = Visibility.Visible;
                AnesStartVisible = Visibility.Visible;
                OperStartVisible = Visibility.Visible;
                OperEndVisible   = Visibility.Visible;
                InRoomFinish     = true;
                AnesStartFinish  = true;
                OperStartFinish  = true;
                OperEndFinish    = true;
                break;

            case 5:
                InRoomVisible    = Visibility.Visible;
                AnesStartVisible = Visibility.Visible;
                OperStartVisible = Visibility.Visible;
                OperEndVisible   = Visibility.Visible;
                AnesEndVisible   = Visibility.Visible;
                InRoomFinish     = true;
                AnesStartFinish  = true;
                OperStartFinish  = true;
                OperEndFinish    = true;
                AnesEndFinish    = true;
                break;

            case 6:
                InRoomVisible    = Visibility.Visible;
                AnesStartVisible = Visibility.Visible;
                OperStartVisible = Visibility.Visible;
                OperEndVisible   = Visibility.Visible;
                AnesEndVisible   = Visibility.Visible;
                OutRoomVisible   = Visibility.Visible;
                InRoomFinish     = true;
                AnesStartFinish  = true;
                OperStartFinish  = true;
                OperEndFinish    = true;
                AnesEndFinish    = true;
                OutRoomFinish    = true;
                break;
            }

            switch (enableIndex)
            {
            case 1:
                InRoomEnable      = true;
                InRoomBackVisible = Visibility.Visible;
                InRoomFinish      = false;
                break;

            case 2:
                AnesStartEnable      = true;
                AnesStartBackVisible = Visibility.Visible;
                AnesStartFinish      = false;
                break;

            case 3:
                OperStartEnable      = true;
                OperStartBackVisible = Visibility.Visible;
                OperStartFinish      = false;
                break;

            case 4:
                OperEndEnable      = true;
                OperEndBackVisible = Visibility.Visible;
                OperEndFinish      = false;
                break;

            case 5:
                AnesEndEnable      = true;
                AnesEndBackVisible = Visibility.Visible;
                AnesEndFinish      = false;
                break;

            case 6:
                OutRoomEnable      = true;
                OutRoomBackVisible = Visibility.Visible;
                OutRoomFinish      = false;
                break;
            }
        }
示例#12
0
        /// <summary>
        /// 注册命令
        /// </summary>
        public void RegisterMessage()
        {
            Messenger.Default.Register <object>(this, EnumMessageKey.ChangeDateRegister, msg =>
            {
                if (null != msg && !string.IsNullOrEmpty(msg.ToString()) && this.CheckData())
                {
                    this.SaveData();
                    ViewFlag = msg.ToString();

                    // 执行的手术时间必须是按顺序
                    // 当前手术状态
                    OperationStatus curOperStatus  = (OperationStatus)_masterRow.OPER_STATUS_CODE;
                    OperationStatus nextOperStatus = OperationStatus.None;

                    // 目标状态
                    OperationStatus targetOperStatus = OperationStatusHelper.OperationStatusFromString(ViewFlag);

                    if (curOperStatus >= targetOperStatus)
                    {
                    }
                    else
                    {
                        switch (curOperStatus)
                        {
                        case OperationStatus.InOperationRoom:
                            nextOperStatus = OperationStatus.AnesthesiaStart;
                            break;

                        case OperationStatus.AnesthesiaStart:
                            nextOperStatus = OperationStatus.OperationStart;
                            break;

                        case OperationStatus.OperationStart:
                            nextOperStatus = OperationStatus.OperationEnd;
                            break;

                        case OperationStatus.OperationEnd:
                            nextOperStatus = OperationStatus.AnesthesiaEnd;
                            break;

                        case OperationStatus.AnesthesiaEnd:
                            nextOperStatus = OperationStatus.OutOperationRoom;
                            break;
                        }

                        if (nextOperStatus == OperationStatus.None || nextOperStatus != targetOperStatus)
                        {
                            this.ShowMessageBox("请按流程顺序操作!", MessageBoxButton.OK, MessageBoxImage.Warning);
                            return;
                        }
                        else if (nextOperStatus == targetOperStatus &&
                                 nextOperStatus == OperationStatus.OutOperationRoom)
                        {
                            this.Result = true;
                            this.CloseContentWindow();
                        }
                    }

                    this.InRoomVisible     = Visibility.Collapsed;
                    this.InRoomBackVisible = Visibility.Collapsed;
                    this.InRoomEnable      = false;
                    this.InRoomFinish      = false;

                    this.AnesStartVisible     = Visibility.Collapsed;
                    this.AnesStartBackVisible = Visibility.Collapsed;
                    this.AnesStartEnable      = false;
                    this.AnesStartFinish      = false;

                    this.OperStartVisible     = Visibility.Collapsed;
                    this.OperStartBackVisible = Visibility.Collapsed;
                    this.OperStartEnable      = false;
                    this.OperStartFinish      = false;

                    this.OperEndVisible     = Visibility.Collapsed;
                    this.OperEndBackVisible = Visibility.Collapsed;
                    this.OperEndEnable      = false;
                    this.OperEndFinish      = false;

                    this.AnesEndVisible     = Visibility.Collapsed;
                    this.AnesEndBackVisible = Visibility.Collapsed;
                    this.AnesEndEnable      = false;
                    this.AnesEndFinish      = false;

                    this.OutRoomVisible     = Visibility.Collapsed;
                    this.OutRoomBackVisible = Visibility.Collapsed;
                    this.OutRoomEnable      = false;
                    this.OutRoomFinish      = false;
                    this.LoadData();
                    Messenger.Default.Send <object>(true, EnumMessageKey.RefreshDateRegisterFocus);
                }
            });
        }
示例#13
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            //通用运行参数
            ExtendApplicationContext.Current.OperRoom           = txtOpertionRoom.Text;
            ExtendApplicationContext.Current.AnesthesiaWardCode = txtAnesthesiaWardCode.Text;
            ApplicationConfiguration.DrugShow  = cmbDrugShow.SelectedIndex;
            ApplicationConfiguration.ProLonged = cmbProLonged.SelectedIndex;
            ExtendApplicationContext.Current.HospBranchCode = txtHospBranchCode.Text;
            //持续用药自动结束
            ApplicationConfiguration.DrugAutoStop = chkDrugAutoStop.Checked;
            ApplicationConfiguration.DrugAutoStopOperationStatus    = cmbDrugStopOperationStatus.Text;
            ApplicationConfiguration.IsModifyVitalSignShowDifferent = chkSignModification.Checked;
            ApplicationConfiguration.IsVerificationAudit            = chkVerificationAudit.Checked;

            //本机运行参数
            if (cboPatterns.EditValue != null && cboPatterns.EditValue.Equals("手术间"))
            {
                ApplicationConfiguration.ApplicationPatterns = "0";
            }
            else if (cboPatterns.EditValue != null && cboPatterns.EditValue.Equals("办公室"))
            {
                ApplicationConfiguration.ApplicationPatterns = "1";
            }
            ExtendApplicationContext.Current.OperRoomNo  = txtOpertionRoomNo.Text;
            ExtendApplicationContext.Current.BaseAddress = txtBaseAddress.Text;
            ExtendApplicationContext.Current.WebApiUri   = txtWebApiUri.Text;
            ApplicationConfiguration.IsPACUProgram       = chkPACUProgram.Checked;

            //接口相关参数
            ApplicationConfiguration.SyncOpen = chkSyncOpen.Checked;
            ApplicationConfiguration.IsUpdateScheduleStatus = chkIsUpdateScheduleStatus.Checked;
            ApplicationConfiguration.IsUpdateHisStatus      = chkIsUpdateHisStatus.Checked;
            ApplicationConfiguration.IsUpdateAnesCharge     = chkIsUpdateAnesFei.Checked;

            //打印归档配置
            //打印设置
            try
            {
                ApplicationConfiguration.PrintPageName = medTextBoxPageName.Text;
                float resultValue = 0f;
                if (!float.TryParse(medTextBoxPaperHeight.Text, out resultValue))
                {
                    resultValue = 0f;
                }
                ApplicationConfiguration.PrintPaperHeight = resultValue;
                resultValue = 0f;
                if (!float.TryParse(medTextBoxPaperWidth.Text, out resultValue))
                {
                    resultValue = 0f;
                }
                ApplicationConfiguration.PrintPaperWidth = resultValue;
                resultValue = 0.5f;
                if (!float.TryParse(medTextBoxPaperLeftOff.Text, out resultValue))
                {
                    resultValue = 0.5f;
                }
                ApplicationConfiguration.PaperLeftOff = resultValue;

                resultValue = 1f;
                if (!float.TryParse(medTextBoxPaperTopOff.Text, out resultValue))
                {
                    resultValue = 1f;
                }
                ApplicationConfiguration.PaperTopOff = resultValue;
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message, "打印设置保存时发生错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            //文书上传设置
            ApplicationConfiguration.PDFServerUrl           = txtPDFServerUrl.Text;
            ApplicationConfiguration.PDFLocalUrl            = txtPDFLocalUrl.Text;
            ApplicationConfiguration.IsDeleteAfterCommitDoc = chkDeleteAfterCommitDoc.Checked;
            List <string> fileList = new List <string>();

            foreach (CheckedListBoxItem boxItem in chkUpFileList.Items)
            {
                if (boxItem.CheckState == CheckState.Checked)
                {
                    fileList.Add(boxItem.Value.ToString());
                }
            }
            ApplicationConfiguration.PostPDF_Names        = string.Join(",", fileList.ToArray());
            ApplicationConfiguration.IsAutomaticArchiving = chkAutomaticArchiving.Checked;
            if (chkAutomaticArchiving.Checked && cboArchivOperAfterDay.EditValue != null)
            {
                string days = cboArchivOperAfterDay.EditValue.ToString();
                ApplicationConfiguration.ArchivOperAfterDay = Convert.ToInt32(days);
            }

            //文书配置
            ApplicationConfiguration.NoPatientButtons           = _statusButtonStrList[ProgramStatus.NoPatient];
            ApplicationConfiguration.PeroperativePatientButtons = _statusButtonStrList[ProgramStatus.PeroperativePatient];
            ApplicationConfiguration.AnesthesiaRecordButtons    = _statusButtonStrList[ProgramStatus.AnesthesiaRecord];
            ApplicationConfiguration.PACUButtons = _statusButtonStrList[ProgramStatus.PACURecord];
            ApplicationConfiguration.PostoperativePatientButtons = _statusButtonStrList[ProgramStatus.PostoperativePatient];
            ExtendApplicationContext.Current.StatusButtonStrList = _statusButtonStrList;
            //文书菜单
            OperationStatusHelper.SetOperDocument(_operDocuments);
            //提交更新到数据库
            if (comnDictRepository.SaveConfig(ExtendApplicationContext.Current.CommDict.ConfigDict).Data > 0)
            {
                ParentForm.DialogResult = DialogResult.OK;
            }
        }
示例#14
0
        private bool InPacuRoom()
        {
            PacuRoom = txtPacuNo.Text;
            DateTime inPacuTime = Convert.ToDateTime(txtInPacuTime.EditValue);

            if (!string.IsNullOrEmpty(PacuRoom) && inPacuTime != DateTime.MaxValue && inPacuTime != DateTime.MinValue)
            {
                List <MED_OPERATING_ROOM> operatingRoomList = new ComnDictRepository().GetOperatingRoomList("1").Data;
                MED_OPERATION_MASTER      operMaster        = operationInfoRepository.GetOperMaster(ExtendApplicationContext.Current.PatientContextExtend.PatientID, ExtendApplicationContext.Current.PatientContextExtend.VisitID, ExtendApplicationContext.Current.PatientContextExtend.OperID).Data;
                if (operMaster.IN_PACU_DATE_TIME.HasValue)
                {
                    MessageBoxFormPC.Show("该患者已经入室,请刷新数据!",
                                          "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return(false);
                }
                else if (operMaster.OPER_STATUS_CODE < (int)OperationStatus.TurnToPACU)
                {
                    MessageBoxFormPC.Show("该患者已被跳转到【" + OperationStatusHelper.OperationStatusToString((OperationStatus)operMaster.OPER_STATUS_CODE) + "】状态,请刷新数据!",
                                          "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return(false);
                }
                if (operMaster != null)
                {
                    if (operMaster.OUT_DATE_TIME.HasValue)
                    {
                        if (inPacuTime < operMaster.OUT_DATE_TIME)
                        {
                            MessageBoxFormPC.Show("【入复苏室】 时间 [" + inPacuTime + "] 小于 【出手术室】时间 [" + operMaster.OUT_DATE_TIME + "],请重新输入!",
                                                  "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return(false);
                        }
                    }
                }
                if (operatingRoomList != null && operatingRoomList.Count > 0)
                {
                    List <string> bedNos = new List <string>();
                    operatingRoomList.ForEach(row =>
                    {
                        if (!string.IsNullOrEmpty(row.BED_TYPE) && row.BED_TYPE.Equals("1"))
                        {
                            bedNos.Add(row.ROOM_NO);
                        }
                    });
                }
                if (string.IsNullOrEmpty(PacuRoom))
                {
                    return(false);
                }
                bool isUpdate = new OperatingRoomRepository().SetOperatingRoomPatient(operatingRoomList, PacuRoom, ExtendApplicationContext.Current.OperRoom, _patientID, _visitID, _operID);
                if (isUpdate)
                {
                    new OperatingRoomRepository().SetOperMaster(_patientID, _visitID, _operID, "IN_PACU_DATE_TIME", inPacuTime, 45);
                    new OperatingRoomRepository().SetMonitorDictPatient("1", ExtendApplicationContext.Current.OperRoom, PacuRoom, _patientID, _visitID, _operID);
                    _patientCard.OPER_STATUS_CODE  = 45;
                    _patientCard.IN_PACU_DATE_TIME = inPacuTime;
                    ExtendApplicationContext.Current.PatientInformationExtend = _patientCard;
                }
                else
                {
                    MessageBoxFormPC.Show("床位被占用,请重新选择",
                                          "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                return(isUpdate);
            }
            else
            {
                return(false);
            }

            return(true);
        }
示例#15
0
 /// <summary>
 /// 设置界面跳转目标状态
 /// </summary>
 private void LoadOperStatusList()
 {
     if (CurPatientModel.OperStatusCode == OperationStatus.InOperationRoom)//入手术室
     {
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "入室前", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.IsReady)
         });
     }
     else if (CurPatientModel.OperStatusCode == OperationStatus.AnesthesiaStart)//麻醉开始
     {
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "入室前", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.IsReady)
         });
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "入手术室", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.InOperationRoom)
         });
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "麻醉结束", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.AnesthesiaEnd)
         });
     }
     else if (CurPatientModel.OperStatusCode == OperationStatus.OperationStart)//手术开始
     {
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "入室前", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.IsReady).ToString()
         });
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "入手术室", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.InOperationRoom)
         });
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "麻醉开始", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.AnesthesiaStart)
         });
     }
     else if (CurPatientModel.OperStatusCode == OperationStatus.OperationEnd)//手术结束
     {
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "入室前", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.IsReady).ToString()
         });
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "入手术室", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.InOperationRoom)
         });
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "麻醉开始", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.AnesthesiaStart)
         });
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "手术开始", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.OperationStart)
         });
     }
     else if (CurPatientModel.OperStatusCode == OperationStatus.AnesthesiaEnd)//麻醉结束
     {
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "入室前", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.IsReady)
         });
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "入手术室", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.InOperationRoom)
         });
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "麻醉开始", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.AnesthesiaStart)
         });
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "手术开始", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.OperationStart)
         });
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "手术结束", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.OperationEnd)
         });
     }
     else //其他
     {
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "入室前", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.IsReady)
         });
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "入手术室", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.InOperationRoom)
         });
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "麻醉开始", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.AnesthesiaStart)
         });
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "手术开始", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.OperationStart)
         });
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "手术结束", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.OperationEnd)
         });
         _cbOperStatusSourceList.Add(new MED_ANESTHESIA_INPUT_DICT()
         {
             ITEM_CLASS = "手术状态", ITEM_NAME = "麻醉结束", ITEM_CODE = OperationStatusHelper.OperationStatusToString(OperationStatus.AnesthesiaEnd)
         });
     }
 }