Ejemplo n.º 1
0
        private void btnNext_BtnClicked(object sender, EventArgs e)
        {
            if (radioStatusOperTurnTo.SelectedIndex < 0)
            {
                MessageBoxFormPC.Show("请填写术后去向!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            if (OutPacuRoom())
            {
                statusTime = timeControl.DateTimes;
                if (ApplicationConfiguration.IsUpdateHisStatus)
                {
                    MED_OPERATION_MASTER operMaster = operationInfoRepository.GetOperMaster(ExtendApplicationContext.Current.PatientContextExtend.PatientID, ExtendApplicationContext.Current.PatientContextExtend.VisitID, ExtendApplicationContext.Current.PatientContextExtend.OperID).Data;
                    Logger.Error("SyncOPER503W前:" + operMaster.PATIENT_ID + "|" + operMaster.VISIT_ID + "|" + operMaster.OPER_ID + "|" + operMaster.OPER_STATUS_CODE + "|" + operMaster.IN_PACU_DATE_TIME + "|" + operMaster.OUT_PACU_DATE_TIME);

                    string ret = new SyncInfoRepository().SyncOPER503W(_patientID, _visitID, _operID, 55).Data;

                    operMaster = operationInfoRepository.GetOperMaster(ExtendApplicationContext.Current.PatientContextExtend.PatientID, ExtendApplicationContext.Current.PatientContextExtend.VisitID, ExtendApplicationContext.Current.PatientContextExtend.OperID).Data;

                    Logger.Error("SyncOPER503W后:" + operMaster.PATIENT_ID + "|" + operMaster.VISIT_ID + "|" + operMaster.OPER_ID + "|" + operMaster.OPER_STATUS_CODE + "|" + operMaster.IN_PACU_DATE_TIME + "|" + operMaster.OUT_PACU_DATE_TIME);
                }
                result = DialogResult.OK;
                ParentForm.DialogResult = DialogResult.OK;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 生成数据源
        /// </summary>
        protected override void BuildData(Dictionary <string, DataTable> dataSource)
        {
            dataSource.Clear();
            var operationMaster            = DataContext.GetCurrent().GetData("MED_OPERATION_MASTER");
            MED_OPERATION_MASTER operMater = ExtendAppContext.Current.MED_OPERATION_MASTER;

            _anesEvent = DataContext.GetCurrent().GetAnesthesiaEvent();
            _vitalSign = DataContext.GetCurrent().GetVitalSignData();
            dataSource["MED_OPERATION_MASTER"]       = operationMaster;
            dataSource["MED_PAT_MONITOR_DATA_EXT"]   = DataContext.GetCurrent().GetData("MED_PAT_MONITOR_DATA_EXT");
            dataSource["MED_PAT_MASTER_INDEX"]       = DataContext.GetCurrent().GetData("MED_PAT_MASTER_INDEX");
            dataSource["MED_PAT_VISIT"]              = DataContext.GetCurrent().GetData("MED_PAT_VISIT");
            dataSource["MED_ANESTHESIA_PLAN_PMH"]    = DataContext.GetCurrent().GetData("MED_ANESTHESIA_PLAN_PMH");
            dataSource["MED_ANESTHESIA_PLAN"]        = DataContext.GetCurrent().GetData("MED_ANESTHESIA_PLAN");
            dataSource["MED_POSTOPERATIVE_EXTENDED"] = DataContext.GetCurrent().GetData("MED_POSTOPERATIVE_EXTENDED");
            dataSource["AnesAllEvent"] = new ModelHandler <MED_ANESTHESIA_EVENT>().FillDataTable(_anesEvent);

            //获取起始时间和结束时间
            _dateTimeRange = base.GetGraphDateTime(_vitalSign, _anesEvent, _eventNo, operMater);
            _dateTimeRange.OrigiStartDateTime = _dateTimeRange.StartDateTime;
            _dateTimeRange.OrigiEndDateTime   = _dateTimeRange.EndDateTime;

            base.AdjustDateTimeRange(TimeScaleType.FiveMinute, ref _dateTimeRange);

            if (_dateTimeRange.EndDateTime < _dateTimeRange.StartDateTime.AddHours(_pageHours))
            {
                _dateTimeRange.EndDateTime = _dateTimeRange.StartDateTime.AddHours(_pageHours);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 保存手术间字典数据信息
        /// </summary>
        private void SaveOperatingRoom(MED_OPERATION_MASTER master, ref TransactionParamsters tp)
        {
            if (master.OPER_STATUS_CODE >= 5 && master.OPER_STATUS_CODE <= 30)
            {
                List <MED_OPERATING_ROOM> tempList = new List <MED_OPERATING_ROOM>();
                foreach (MED_OPERATING_ROOM room in this.MedOperatingRoomDict)
                {
                    // 将现患者的手术间信息清空同时将对应数据写入到新的手术间
                    if (null != room.PATIENT_ID && room.PATIENT_ID.Equals(this.CurPatientModel.PatientID) &&
                        null != room.VISIT_ID && room.VISIT_ID == this.CurPatientModel.VisitID &&
                        null != room.OPER_ID && room.OPER_ID == this.CurPatientModel.OperID)
                    {
                        room.PATIENT_ID  = null;
                        room.VISIT_ID    = null;
                        room.OPER_ID     = null;
                        room.ModelStatus = ModelStatus.Modeified;
                        tempList.Add(room);
                        continue;
                    }
                    else if (room.ROOM_NO.Equals(this.OperRoomNo))
                    {
                        room.PATIENT_ID  = this.CurPatientModel.PatientID;
                        room.VISIT_ID    = this.CurPatientModel.VisitID;
                        room.OPER_ID     = this.CurPatientModel.OperID;
                        room.ModelStatus = ModelStatus.Modeified;
                        tempList.Add(room);
                        continue;
                    }
                }

                tp.Append(tempList);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        ///数据加载
        /// </summary>
        public override void LoadData()
        {
            _leftType = new List <OperationShiftModel>();
            OperationShiftModel item1 = new OperationShiftModel();

            item1.ShiftType = "麻醉交班";
            _leftType.Add(item1);
            OperationShiftModel item2 = new OperationShiftModel();

            item2.ShiftType = "手术交班";
            _leftType.Add(item2);
            OperationShiftModel item3 = new OperationShiftModel();

            item3.ShiftType = "护士交班";
            _leftType.Add(item3);
            LeftType        = _leftType;
            MED_DOCTOR_DICT = ApplicationModel.Instance.AllDictList.HisUsersList.Where(x => x.USER_DEPT_CODE == ExtendAppContext.Current.AnesWardCode).ToList();
            MED_NURSE_DICT  = ApplicationModel.Instance.AllDictList.HisUsersList.Where(x => x.USER_DEPT_CODE == ExtendAppContext.Current.OperDeptCode).ToList();
            MED_USERS_DICT  = ApplicationModel.Instance.AllDictList.HisUsersList;
            _masterRow      = AnesInfoService.ClientInstance.GetOperationMaster(_patientID, _visitID, _operID);
            shiftRecordList = AnesInfoService.ClientInstance.GetOperShiftRecord(_patientID, _visitID, _operID);
            ShowNurseShift();
            ShowSurgeryShift();
            ShowAnesDocShift();
        }
Ejemplo n.º 5
0
        protected override void BuildData(Dictionary <string, DataTable> dataSource)
        {
            dataSource["MED_OPERATION_MASTER"] = DataContext.GetCurrent().GetData("MED_OPERATION_MASTER");;
            List <MED_OPERATION_MASTER> lists = ModelHelper <MED_OPERATION_MASTER> .ConvertDataTableToList(dataSource["MED_OPERATION_MASTER"]);

            MED_OPERATION_MASTER operMaster = lists[0];

            Logger.Error("AnesDoc:" + operMaster.PATIENT_ID + "|" + operMaster.VISIT_ID + "|" + operMaster.OPER_ID + "|" + operMaster.OPER_STATUS_CODE + "|" + operMaster.IN_PACU_DATE_TIME + "|" + operMaster.OUT_PACU_DATE_TIME);
            dataSource["MED_PAT_MASTER_INDEX"]       = DataContext.GetCurrent().GetData("MED_PAT_MASTER_INDEX");
            dataSource["MED_PAT_VISIT"]              = DataContext.GetCurrent().GetData("MED_PAT_VISIT");
            dataSource["MED_PATS_IN_HOSPITAL"]       = DataContext.GetCurrent().GetData("MED_PATS_IN_HOSPITAL");
            dataSource["MED_ANESTHESIA_PLAN"]        = DataContext.GetCurrent().GetData("MED_ANESTHESIA_PLAN");
            dataSource["MED_ANESTHESIA_PLAN_PMH"]    = DataContext.GetCurrent().GetData("MED_ANESTHESIA_PLAN_PMH");
            dataSource["MED_ANESTHESIA_PLAN_EXAM"]   = DataContext.GetCurrent().GetData("MED_ANESTHESIA_PLAN_EXAM");
            dataSource["MED_PREOPERATIVE_EXPANSION"] = DataContext.GetCurrent().GetData("MED_PREOPERATIVE_EXPANSION");
            dataSource["MED_POSTOPERATIVE_EXTENDED"] = DataContext.GetCurrent().GetData("MED_POSTOPERATIVE_EXTENDED");
            //dataSource["MED_BJCA_SIGN"] = DataContext.GetCurrent().GetData("MED_BJCA_SIGN");
            //DataTable bjcaDt = DataContext.GetCurrent().GetData("MED_BJCA_SIGN");
            //if (bjcaDt.Rows.Count > 0)
            //{
            //    DataRow[] dataRows = bjcaDt.Select("SIGNDOCNAME = '" + this.Caption + "'");
            //    if (dataRows.Length > 0)
            //    {
            //        DataTable dt = bjcaDt.Clone();
            //        foreach (var item in dataRows)
            //        {
            //            dt.Rows.Add(item.ItemArray);
            //        }
            //        dataSource["MED_BJCA_SIGN"] = dt;
            //    }
            //}
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 保存数据源
        /// </summary>
        protected override bool OnSaveData(Dictionary <string, DataTable> dataSource)
        {
            base.OnSaveData(dataSource);
            List <MED_OPERATION_MASTER> operationMasterDataTable = new ModelHandler <MED_OPERATION_MASTER>().FillModel(dataSource["MED_OPERATION_MASTER"]);
            MED_OPERATION_MASTER        masterRow = operationMasterDataTable.Count > 0 ? operationMasterDataTable[0] : null;

            if (txtOutRoomTime.Text != "" && masterRow != null)
            {
                if (!string.IsNullOrEmpty(masterRow.OPER_STATUS_CODE.ToString()) || masterRow.OPER_STATUS_CODE < (int)OperationStatus.OutOperationRoom)
                {
                    masterRow.ANES_START_TIME  = masterRow.START_DATE_TIME;
                    masterRow.ANES_END_TIME    = masterRow.END_DATE_TIME;
                    masterRow.OPER_STATUS_CODE = (int)OperationStatus.OutOperationRoom;
                    ExtendAppContext.Current.PatientInformationExtend.IN_DATE_TIME     = masterRow.IN_DATE_TIME;
                    ExtendAppContext.Current.PatientInformationExtend.OUT_DATE_TIME    = masterRow.OUT_DATE_TIME;
                    ExtendAppContext.Current.PatientInformationExtend.START_DATE_TIME  = masterRow.START_DATE_TIME;
                    ExtendAppContext.Current.PatientInformationExtend.END_DATE_TIME    = masterRow.END_DATE_TIME;
                    ExtendAppContext.Current.PatientInformationExtend.OPER_STATUS_CODE = masterRow.OPER_STATUS_CODE;
                }
            }

            dataSource["MED_OPERATION_MASTER"] = new ModelHandler().FillDataTable(new List <MED_OPERATION_MASTER>()
            {
                masterRow
            });

            ExtendAppContext.Current.PatientInformationExtend.OPER_ROOM_NO = masterRow.OPER_ROOM_NO;
            bool result = this.SaveDocDataPars(dataSource);

            return(result);
        }
Ejemplo n.º 7
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);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 获取基本数据表
        /// </summary>
        private void GetPatInfoData()
        {
            string patientID = ExtendAppContext.Current.PatientInformationExtend.PATIENT_ID;
            int    visitID   = ExtendAppContext.Current.PatientInformationExtend.VISIT_ID;
            int    operID    = ExtendAppContext.Current.PatientInformationExtend.OPER_ID;

            if (null == this.operMaster)
            {
                this.operMaster = AnesInfoService.ClientInstance.GetOperationMaster(patientID, visitID, operID);
                this.dataSourceList.Add(this.operMaster);
            }

            if (null == this.patMasterIndex)
            {
                this.patMasterIndex = AnesInfoService.ClientInstance.GetPatMasterIndex(patientID).FirstOrDefault();
                this.dataSourceList.Add(this.patMasterIndex);
            }

            if (null == this.patVisit)
            {
                this.patVisit = CareDocService.ClientInstance.GetPatVisit(patientID, visitID);
                this.dataSourceList.Add(this.patVisit);
            }

            if (null == this.patsInHospital)
            {
                this.patsInHospital = AnesInfoService.ClientInstance.GetPatsInHospitalList(patientID, visitID).FirstOrDefault();
                this.dataSourceList.Add(this.patsInHospital);
            }
        }
Ejemplo n.º 9
0
        protected override void OnSaveData(Dictionary <string, DataTable> dataSource)
        {
            List <MED_OPERATION_MASTER> operMasterList = ModelHelper <MED_OPERATION_MASTER> .ConvertDataTableToList(dataSource["MED_OPERATION_MASTER"]);

            MED_OPERATION_MASTER operMaster = null;

            if (operMasterList != null && operMasterList.Count > 0)
            {
                operMaster = operMasterList[0];
            }

            List <MED_PAT_MASTER_INDEX> patIndexList = ModelHelper <MED_PAT_MASTER_INDEX> .ConvertDataTableToList(dataSource["MED_PAT_MASTER_INDEX"]);

            MED_PAT_MASTER_INDEX patMasterIndex = null;

            if (patIndexList != null && patIndexList.Count > 0)
            {
                patMasterIndex = patIndexList[0];
            }

            List <MED_PAT_VISIT> patVisitList = ModelHelper <MED_PAT_VISIT> .ConvertDataTableToList(dataSource["MED_PAT_VISIT"]);

            MED_PAT_VISIT patVisit = null;

            if (patVisitList != null && patVisitList.Count > 0)
            {
                patVisit = patVisitList[0];
            }

            List <MED_ANESTHESIA_RECOVER> anesReconver = ModelHelper <MED_ANESTHESIA_RECOVER> .ConvertDataTableToList(dataSource["MED_ANESTHESIA_RECOVER"]);

            if (anesReconver != null && anesReconver.Count > 0)
            {
                operationInfoRepository.SaveAnesRecoverData(anesReconver[0]);
            }

            List <MED_ANESTHESIA_INQUIRY> anesInquiry = ModelHelper <MED_ANESTHESIA_INQUIRY> .ConvertDataTableToList(dataSource["MED_ANESTHESIA_INQUIRY"]);

            if (anesInquiry != null && anesInquiry.Count > 0)
            {
                operationInfoRepository.SaveAnesInquiryData(anesInquiry[0]);
            }

            List <MED_POSTOPERATIVE_EXTENDED> postExtended = ModelHelper <MED_POSTOPERATIVE_EXTENDED> .ConvertDataTableToList(dataSource["MED_POSTOPERATIVE_EXTENDED"]);

            MED_PATS_IN_HOSPITAL patsInHospital = null;

            MED_ANESTHESIA_PLAN anesPlan = null;

            MED_ANESTHESIA_PLAN_EXAM anesPlanExam = null;

            MED_ANESTHESIA_PLAN_PMH anesPlanPmh = null;

            List <MED_OPERATION_EXTENDED> operExtended = null;

            List <MED_PREOPERATIVE_EXPANSION> preExpansion = null;

            operationInfoRepository.SaveMedicalBasicDoc(new { operMaster, patMasterIndex, patVisit, patsInHospital, anesPlan, anesPlanExam, anesPlanPmh, operExtended, postExtended, preExpansion });
        }
Ejemplo n.º 10
0
        public int SaveOperMaster(MED_OPERATION_MASTER item)
        {
            int result = dapper.Set <MED_OPERATION_MASTER>().Save(item) == true ? 1 : 0;

            dapper.SaveChanges();

            return(result);
        }
Ejemplo n.º 11
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);

            master.OPER_STATUS_CODE = (int)OperationStatus.CancelOperation;
            master.ModelStatus      = ModelStatus.Modeified;
            tp.Append(master);
        }
Ejemplo n.º 12
0
        /// <summary>
        /// 保存数据
        /// </summary>
        /// <returns></returns>
        protected override SaveResult SaveData()
        {
            bool       result     = false;
            SaveResult saveResult = SaveResult.Fail;
            List <MED_ANESTHESIA_EVENT> _anesEvent = AnesInfoService.ClientInstance.
                                                     GetAnesthesiaEventByEventNo(_patientID, _visitID, _operID, _eventNo).
                                                     OrderBy(x => x.START_TIME).ToList();

            if (_anesEvent.Count == 0)
            {
                ShowMessageBox("此病人没有用药信息。", MessageBoxButton.OK, MessageBoxImage.Error);
                saveResult = SaveResult.CancelMessageBox;
            }
            else
            {
                MED_OPERATION_MASTER _operMaster         = AnesInfoService.ClientInstance.GetOperationMaster(_patientID, _visitID, _operID);
                List <MED_ANESTHESIA_EVENT_TEMPLET> list = new List <MED_ANESTHESIA_EVENT_TEMPLET>();
                for (int i = 0; i < _anesEvent.Count; i++)
                {
                    MED_ANESTHESIA_EVENT_TEMPLET item = new MED_ANESTHESIA_EVENT_TEMPLET();
                    item.TEMPLET_NAME       = TEMPLET_NAME;
                    item.CREATE_BY          = ExtendAppContext.Current.LoginUser.USER_JOB_ID;
                    item.TEMPLET_CLASS      = "2"; //模板类别	;	1/PACU、2/手术室、0/通用,默认0
                    item.ANESTHESIA_METHOD  = _ANES_METHOD_NAME;
                    item.EVENT_ITEM_CLASS   = _anesEvent[i].EVENT_CLASS_CODE;
                    item.EVENT_ITEM_NO      = _anesEvent[i].ITEM_NO;
                    item.EVENT_ITEM_NAME    = _anesEvent[i].EVENT_ITEM_NAME;
                    item.EVENT_ITEM_CODE    = _anesEvent[i].EVENT_ITEM_CODE;
                    item.EVENT_ITEM_SPEC    = _anesEvent[i].EVENT_ITEM_SPEC;
                    item.DOSAGE             = _anesEvent[i].DOSAGE;
                    item.DOSAGE_UNITS       = _anesEvent[i].DOSAGE_UNITS;
                    item.ADMINISTRATOR      = _anesEvent[i].ADMINISTRATOR;
                    item.DURATIVE_INDICATOR = _anesEvent[i].DURATIVE_INDICATOR;
                    item.METHOD             = _anesEvent[i].METHOD;
                    item.METHOD_PARENT_NO   = _anesEvent[i].METHOD_PARENT_NO;
                    item.PERFORM_SPEED      = _anesEvent[i].PERFORM_SPEED;
                    item.SPEED_UNIT         = _anesEvent[i].SPEED_UNIT;
                    item.CONCENTRATION      = _anesEvent[i].CONCENTRATION;
                    item.CONCENTRATION_UNIT = _anesEvent[i].CONCENTRATION_UNIT;
                    item.EVENT_ATTR         = _anesEvent[i].EVENT_ATTR;
                    item.PARENT_ITEM_NO     = _anesEvent[i].PARENT_ITEM_NO;
                    item.START_AFTER_INPUT  = (decimal)Math.Round((_anesEvent[i].START_TIME.Value - _operMaster.IN_DATE_TIME.Value).TotalMinutes, 0);
                    if (_anesEvent[i].END_TIME != null)
                    {
                        item.DURATIVE = (decimal)Math.Round((_anesEvent[i].END_TIME.Value - _anesEvent[i].START_TIME.Value).TotalMinutes, 0);
                    }
                    item.ModelStatus = ModelStatus.Add;
                    list.Add(item);
                }
                result = AnesInfoService.ClientInstance.SaveAnesEventTemplet(list);
            }
            if (result)
            {
                saveResult = SaveResult.Success;
            }

            return(saveResult);
        }
Ejemplo n.º 13
0
        private void OutRoomDataLoad()
        {
            if (_operMaster != null)
            {
                lblOperRoom.Text = _operMaster.OPER_ROOM_NO;
                lblSequence.Text = _operMaster.SEQUENCE.Value.ToString();
            }
            else
            {
                _operMaster            = new MED_OPERATION_MASTER();
                _operMaster.PATIENT_ID = _patientID;
                _operMaster.VISIT_ID   = _visitID;
                _operMaster.OPER_ID    = _operID;
            }
            if (_anesPlan != null)
            {
                if (!ApplicationConfiguration.IsPACUProgram)
                {
                    switch (_anesPlan.PLAN_WHEREABORTS)
                    {
                    case "65":
                        radioStatusOperTurnTo.SelectedIndex = 0;
                        break;

                    case "40":
                        radioStatusOperTurnTo.SelectedIndex = 1;
                        break;

                    case "60":
                        radioStatusOperTurnTo.SelectedIndex = 2;
                        break;

                    case "66":
                        radioStatusOperTurnTo.SelectedIndex = 3;
                        break;

                    case "67":
                        radioStatusOperTurnTo.SelectedIndex = 4;
                        break;

                    case "68":
                        radioStatusOperTurnTo.SelectedIndex = 5;
                        break;

                    default:
                        radioStatusOperTurnTo.SelectedIndex = 2;
                        break;
                    }
                }
            }
            else
            {
                _anesPlan            = new MED_ANESTHESIA_PLAN();
                _anesPlan.PATIENT_ID = _patientID;
                _anesPlan.VISIT_ID   = _visitID;
                _anesPlan.OPER_ID    = _operID;
            }
        }
Ejemplo n.º 14
0
        public SaveAnesthesiaPathViewModel()
        {
            _patientID = ExtendAppContext.Current.PatientInformationExtend.PATIENT_ID;
            _visitID   = ExtendAppContext.Current.PatientInformationExtend.VISIT_ID;
            _operID    = ExtendAppContext.Current.PatientInformationExtend.OPER_ID;
            _eventNo   = "0";
            MED_OPERATION_MASTER _operMaster = AnesInfoService.ClientInstance.GetOperationMaster(_patientID, _visitID, _operID);

            _ANES_METHOD_NAME   = _operMaster.ANES_METHOD;
            MED_ANESTHESIA_DICT = ApplicationModel.Instance.AllDictList.AnesthesiaDictList;
        }
Ejemplo n.º 15
0
        /// <summary>
        /// 生成数据源
        /// </summary>
        /// <param name="dataSource"></param>
        protected override void BuildData(Dictionary <string, DataTable> dataSource)
        {
            dataSource.Clear();
            var operationMaster = DataContext.GetCurrent().GetData("MED_OPERATION_MASTER");
            List <MED_OPERATION_MASTER> operMasterList = new ModelHandler <MED_OPERATION_MASTER>().FillModel(operationMaster);
            MED_OPERATION_MASTER        operMater      = null;

            if (operMasterList != null && operMasterList.Count > 0)
            {
                operMater = operMasterList[0];
            }
            _anesEvent = DataContext.GetCurrent().GetAnesthesiaEvent(_eventNo);
            _vitalSign = DataContext.GetCurrent().GetVitalSignData(_eventNo);
            dataSource["MED_OPERATION_MASTER"]      = operationMaster;
            dataSource["MED_OPERATION_MASTER_EXT"]  = DataContext.GetCurrent().GetData("MED_OPERATION_MASTER_EXT");
            dataSource["MED_PAT_MONITOR_DATA_EXT"]  = DataContext.GetCurrent().GetData("MED_PAT_MONITOR_DATA_EXT");
            dataSource["MED_PAT_MASTER_INDEX"]      = DataContext.GetCurrent().GetData("MED_PAT_MASTER_INDEX");
            dataSource["MED_PAT_VISIT"]             = DataContext.GetCurrent().GetData("MED_PAT_VISIT");
            dataSource["MED_ANESTHESIA_PLAN_EXAM"]  = DataContext.GetCurrent().GetData("MED_ANESTHESIA_PLAN_EXAM");
            dataSource["MED_ANESTHESIA_PLAN_PMH"]   = DataContext.GetCurrent().GetData("MED_ANESTHESIA_PLAN_PMH");
            dataSource["MED_ANESTHESIA_PLAN"]       = DataContext.GetCurrent().GetData("MED_ANESTHESIA_PLAN");
            dataSource["MED_PATS_IN_HOSPITAL"]      = DataContext.GetCurrent().GetData("MED_PATS_IN_HOSPITAL");
            dataSource["MED_OPERATION_EXTENDED"]    = DataContext.GetCurrent().GetData("MED_OPERATION_EXTENDED");
            dataSource["AnesAllEvent"]              = new ModelHandler <MED_ANESTHESIA_EVENT>().FillDataTable(_anesEvent);
            dataSource["MED_ANESTHESIA_INPUT_DATA"] = DataContext.GetCurrent().GetData("MED_ANESTHESIA_INPUT_DATA");

            //获取起始时间和结束时间
            _dateTimeRange = base.GetGraphDateTime(_vitalSign, _anesEvent, _eventNo, operMater);
            _dateTimeRange.OrigiStartDateTime = _dateTimeRange.StartDateTime;
            _dateTimeRange.OrigiEndDateTime   = _dateTimeRange.EndDateTime;
            base.AdjustDateTimeRange(TimeScaleType.FiveMinute, ref _dateTimeRange);

            if (ExtendAppContext.Current.IsRescueMode)
            {
                // labelRescue.Text = "取消抢救";
            }
            else
            {
                //  labelRescue.Text = "抢救模式";
            }
            if (!ExtendAppContext.Current.IsRescueMode)
            {
                _pageHours = ApplicationConfiguration.AnesDocPageHours;
            }
            else    //急救模式
            {
                _pageHours = 1;
            }
            if (_dateTimeRange.EndDateTime < _dateTimeRange.StartDateTime.AddHours(_pageHours))
            {
                _dateTimeRange.EndDateTime = _dateTimeRange.StartDateTime.AddHours(_pageHours);
            }
        }
Ejemplo n.º 16
0
        /// <summary>
        /// 生成数据源
        /// </summary>
        /// <param name="dataSource"></param>
        protected override void BuildData(Dictionary <string, DataTable> dataSource)
        {
            dataSource.Clear();
            var operationMaster = DataContext.GetCurrent().GetData("MED_OPERATION_MASTER");

            List <MED_OPERATION_MASTER> lists = ModelHelper <MED_OPERATION_MASTER> .ConvertDataTableToList(operationMaster);

            MED_OPERATION_MASTER operMaster = lists[0];

            Logger.Error("PACUDoc:" + operMaster.PATIENT_ID + "|" + operMaster.VISIT_ID + "|" + operMaster.OPER_ID + "|" + operMaster.OPER_STATUS_CODE + "|" + operMaster.IN_PACU_DATE_TIME + "|" + operMaster.OUT_PACU_DATE_TIME);
            _anesEvent = DataContext.GetCurrent().GetAnesthesiaEvent(_eventNo);
            _vitalSign = DataContext.GetCurrent().GetVitalSignData(_eventNo);
            dataSource["MED_OPERATION_MASTER"]       = operationMaster;
            dataSource["MED_PAT_MONITOR_DATA_EXT"]   = DataContext.GetCurrent().GetData("MED_PAT_MONITOR_DATA_EXT");
            dataSource["MED_OPERATION_MASTER_EXT"]   = DataContext.GetCurrent().GetData("MED_OPERATION_MASTER_EXT");
            dataSource["MED_PAT_MASTER_INDEX"]       = DataContext.GetCurrent().GetData("MED_PAT_MASTER_INDEX");
            dataSource["MED_PAT_VISIT"]              = DataContext.GetCurrent().GetData("MED_PAT_VISIT");
            dataSource["MED_PATS_IN_HOSPITAL"]       = DataContext.GetCurrent().GetData("MED_PATS_IN_HOSPITAL");
            dataSource["MED_ANESTHESIA_PLAN_PMH"]    = DataContext.GetCurrent().GetData("MED_ANESTHESIA_PLAN_PMH");
            dataSource["MED_ANESTHESIA_PLAN"]        = DataContext.GetCurrent().GetData("MED_ANESTHESIA_PLAN");
            dataSource["MED_POSTOPERATIVE_EXTENDED"] = DataContext.GetCurrent().GetData("MED_POSTOPERATIVE_EXTENDED");
            dataSource["MED_OPERATION_EXTENDED"]     = DataContext.GetCurrent().GetData("MED_OPERATION_EXTENDED");
            dataSource["AnesAllEvent"] = ModelHelper <MED_ANESTHESIA_EVENT> .ConvertListToDataTable(_anesEvent);

            //dataSource["MED_BJCA_SIGN"] = DataContext.GetCurrent().GetData("MED_BJCA_SIGN");
            //DataTable bjcaDt = DataContext.GetCurrent().GetData("MED_BJCA_SIGN");
            //if (bjcaDt.Rows.Count > 0)
            //{
            //    DataRow[] dataRows = bjcaDt.Select("SIGNDOCNAME = '" + this.Caption + "'");
            //    if (dataRows.Length > 0)
            //    {
            //        DataTable dt = bjcaDt.Clone();
            //        foreach (var item in dataRows)
            //        {
            //            dt.Rows.Add(item.ItemArray);
            //        }
            //        dataSource["MED_BJCA_SIGN"] = dt;
            //    }
            //}
            //获取起始时间和结束时间
            _dateTimeRange = base.GetGraphDateTime(_vitalSign, _anesEvent, _eventNo, operMaster);
            _dateTimeRange.OrigiStartDateTime = _dateTimeRange.StartDateTime;
            _dateTimeRange.OrigiEndDateTime   = _dateTimeRange.EndDateTime;

            base.AdjustDateTimeRange(TimeScaleType.FiveMinute, ref _dateTimeRange);

            if (_dateTimeRange.EndDateTime < _dateTimeRange.StartDateTime.AddHours(_pageHours))
            {
                _dateTimeRange.EndDateTime = _dateTimeRange.StartDateTime.AddHours(_pageHours);
            }
        }
Ejemplo n.º 17
0
 /// <summary>
 /// 将对应的类型数据添加到明细栏中
 /// </summary>
 /// <param name="anesDetail">明细栏控件</param>
 /// <param name="anesEventTable">事件表数据</param>
 /// <param name="anesClassType">事件类型</param>
 /// <param name="collectionText">明细类型的信息:用药OR麻药OR事件</param>
 /// <param name="collectionType">对应个明细类型:事件OR用药OR汇总</param>
 /// <param name="collectionColor">明细栏控件的颜色</param>
 /// <param name="startDate">起始时间</param>
 /// <param name="isYouDao">当前系统是否为诱导系统,默认是麻醉系统</param>
 /// <param name="operationMaster">主表信息</param>
 private MedAnesSheetDetailCollection AddAnesSheetDetailCollection(MedAnesSheetDetails anesDetail,
                                                                   List <MED_ANESTHESIA_EVENT> anesEventTable,
                                                                   AnesClassType anesClassType,
                                                                   string collectionText,
                                                                   CollectionType collectionType,
                                                                   Color collectionColor,
                                                                   DateTime startDate,
                                                                   bool isYouDao,
                                                                   MED_OPERATION_MASTER operationMaster)
 {
     return(this.AddAnesSheetDetailCollection(anesDetail, anesEventTable, anesClassType, collectionText,
                                              collectionType, collectionColor, startDate, AnesDrugShowType.Total,
                                              isYouDao, operationMaster));
 }
Ejemplo n.º 18
0
        /// <summary>
        /// 注册消息响应
        /// </summary>
        private void RegisterMessage()
        {
            // 刷新背景图片
            Messenger.Default.Register <string>(this, EnumMessageKey.RefreshEnumWorkListType, msg =>
            {
                if (msg.Equals("UnFinishWorkList"))
                {
                    this.UnFinishWorkList.IsChecked = true;
                }
                else if (msg.Equals("FinishWorkList"))
                {
                    this.FinishWorkList.IsChecked = true;
                }
            });

            // 术后患者修改手术进程时间后默认选择当前这个
            Messenger.Default.Register <string>(this, EnumMessageKey.SetWorkListSelectItem, msg =>
            {
                if (workListVM.SelectItem != null)
                {
                    this.patientCardList.SelectedItem = workListVM.SelectItem;
                    this.patientCardList.Focus();
                    this.patientCardList.SelectedIndex = GetWorkListIndex(workListVM.SelectItem.PatientID, workListVM.SelectItem.VisitID, workListVM.SelectItem.OperID);
                    SelectorControlHelper.SetItemFocus(this.patientCardList, this.patientCardList.SelectedItem);
                }
            });

            // 修改手术信息的
            Messenger.Default.Register <object>(this, EnumMessageKey.SetWorkListSelectItem, msg =>
            {
                if (msg is List <object> )
                {
                    List <object> list = msg as List <object>;
                    if (list != null && list.Count == 2)
                    {
                        this.workListVM.SetTodayWorkList(list[1]);
                        MED_OPERATION_MASTER _masterRow = list[0] as MED_OPERATION_MASTER;
                        int index = GetWorkListIndex(_masterRow.PATIENT_ID, _masterRow.VISIT_ID, _masterRow.OPER_ID);
                        if (index >= 0)
                        {
                            this.patientCardList.SelectedIndex = index;
                            this.patientCardList.Focus();
                            workListVM.SelectItem = this.workListVM.PatientModelList[index];
                            SelectorControlHelper.SetItemFocus(this.patientCardList, this.patientCardList.SelectedItem);
                        }
                    }
                }
            });
        }
Ejemplo n.º 19
0
        public virtual MED_OPERATION_MASTER GetOperationMaster(string patientID, int visitID, int operID)
        {
            string sql = string.Format(@"
SELECT MOM.*,
       NVL(MDD.DEPT_NAME, MOM.DEPT_CODE) AS DEPT_NAME
  FROM MED_OPERATION_MASTER MOM
  LEFT JOIN MED_DEPT_DICT MDD ON MDD.DEPT_CODE = MOM.DEPT_CODE
 WHERE MOM.PATIENT_ID = '{0}'
   AND MOM.VISIT_ID = {1}
   AND MOM.OPER_ID = {2}
", patientID, visitID, operID);
            MED_OPERATION_MASTER operationMaster = dapper.Query <MED_OPERATION_MASTER>(sql, null).FirstOrDefault();

            return(operationMaster);
        }
Ejemplo n.º 20
0
 private void InitalizationData()
 {
     using (BackgroundWorker worker = new BackgroundWorker())
     {
         worker.DoWork += delegate(object sender, DoWorkEventArgs e)
         {
             _operMaster = operationInfoRepository.GetOperMaster(_patientID, _visitID, _operID).Data;
             _anesPlan   = operationInfoRepository.GetAnesPlan(_patientID, _visitID, _operID).Data;
         };
         worker.RunWorkerCompleted += delegate(object sender, RunWorkerCompletedEventArgs e)
         {
             OutRoomDataLoad();
         };
         worker.RunWorkerAsync();
     }
 }
Ejemplo n.º 21
0
 /// <summary>
 /// 载入数据
 /// </summary>
 public override void LoadData()
 {
     _masterRow = AnesInfoService.ClientInstance.GetOperationMaster(ExtendAppContext.Current.PatientInformationExtend.PATIENT_ID,
                                                                    ExtendAppContext.Current.PatientInformationExtend.VISIT_ID, ExtendAppContext.Current.PatientInformationExtend.OPER_ID);
     if (_masterRow != null && !string.IsNullOrEmpty(_masterRow.PATIENT_ID))
     {
         _anesInputData     = CareDocService.ClientInstance.GetAnesthestaInputData(_masterRow.PATIENT_ID, _masterRow.VISIT_ID, _masterRow.OPER_ID);
         _patsInHospitalRow = AnesInfoService.ClientInstance.GetPatsInHospitalListByID(_masterRow.PATIENT_ID).OrderByDescending(c => c.VISIT_ID).ToList().First();
         _patMasterIndexRow = AnesInfoService.ClientInstance.GetPatMasterIndex(_masterRow.PATIENT_ID).First();
         OPER_ROOM_NO       = _masterRow.OPER_ROOM_NO;
         SEQUENCE           = _masterRow.SEQUENCE;
         PATIENT_ID         = _masterRow.PATIENT_ID;
         INP_NO             = _patsInHospitalRow.INP_NO;
         NAME                      = _patMasterIndexRow.NAME;
         SEX                       = _patMasterIndexRow.SEX;
         DATE_OF_BIRTH             = _patMasterIndexRow.DATE_OF_BIRTH;
         BED_NO                    = _masterRow.BED_NO;
         DEPT_NAME                 = _masterRow.DEPT_NAME;
         AGE                       = DateDiff.CalAge((DateTime)_patMasterIndexRow.DATE_OF_BIRTH, _masterRow.SCHEDULED_DATE_TIME.Value);
         CANCELED_TYPE             = _anesInputData.CANCELED_TYPE == "1" ? true : false;
         SPINAL_ANES_COMP          = _anesInputData.SPINAL_ANES_COMP == 1 ? true : false;
         CONS_DISTURBANCE          = _anesInputData.CONS_DISTURBANCE == 1 ? true : false;
         RES_TRACT_OBSTRUCE        = _anesInputData.RES_TRACT_OBSTRUCE == 1 ? true : false;
         TRACHEA_6H                = _anesInputData.TRACHEA_6H == 1 ? true : false;
         CENTRAL_VENOUS            = _anesInputData.CENTRAL_VENOUS == 1 ? true : false;
         OXYGEN_SATURATION         = _anesInputData.OXYGEN_SATURATION == 1 ? true : false;
         AFTER_ANES_COMA           = _anesInputData.AFTER_ANES_COMA == 1 ? true : false;
         ANES_ANAPHYLAXIS          = _anesInputData.ANES_ANAPHYLAXIS == 1 ? true : false;
         TRACHEA_HOARSE            = _anesInputData.TRACHEA_HOARSE == 1 ? true : false;
         ANES_DEATH                = _anesInputData.ANES_DEATH == 1 ? true : false;
         PACU_3H                   = _anesInputData.PACU_3H == "1" ? true : false;
         PACU_TEMPERATURE          = _anesInputData.PACU_TEMPERATURE == 1 ? true : false;
         NO_PLAN_IN_ICU            = _anesInputData.NO_PLAN_IN_ICU == 1 ? true : false;
         BLOOD_EVENT               = _anesInputData.BLOOD_EVENT == 1 ? true : false;
         OPER_EVENT                = _anesInputData.OPER_EVENT == 1 ? true : false;
         ANES_EVENT                = _anesInputData.ANES_EVENT == 1 ? true : false;
         PAT_INDETIFICATION        = _anesInputData.PAT_INDETIFICATION == 1 ? true : false;
         OTHER_EVENT               = _anesInputData.OTHER_EVENT == 1 ? true : false;
         this.TRACHEA_REMOVE       = _anesInputData.TRACHEA_REMOVE == 1 ? true : false;
         this.ANES_START_24H_DEATH = _anesInputData.ANES_START_24H_DEATH == 1 ? true : false;
         this.ANES_START_24H_STOP  = _anesInputData.ANES_START_24H_STOP == 1 ? true : false;
         UNEXPECT_EVENT_REASON     = _anesInputData.UNEXPECT_EVENT_REASON;
         PREVENT_STEP              = _anesInputData.PREVENT_STEP;
         EVENT_COURSE              = _anesInputData.EVENT_COURSE;
     }
 }
Ejemplo n.º 22
0
        /// <summary>
        /// 将出室时间和手术状态写入到5.0数据库
        /// </summary>
        private void UpdateAnesFive()
        {
            string sql = string.Format(@"update med_operation_master 
                                            set OUT_PACU_DATE_TIME=to_date('{0}', 'yyyy-mm-dd hh24:mi:ss'),
                                                OPER_STATUS={1}
                                                where patient_id='{2}' and visit_id={3} and oper_id={4}",
                                       timeControl.DateTimes.ToString("yyyy-MM-dd HH:mm:ss"),
                                       Convert.ToInt32(radioStatusOperTurnTo.Text), _patientCard.PATIENT_ID, _patientCard.VISIT_ID, _patientCard.OPER_ID); //"0011636230", 1, 1

            Logger.Error(sql);

            new CommonRepository().UpdateDataTable(sql);

            MED_OPERATION_MASTER operMaster = operationInfoRepository.GetOperMaster(ExtendApplicationContext.Current.PatientContextExtend.PatientID, ExtendApplicationContext.Current.PatientContextExtend.VisitID, ExtendApplicationContext.Current.PatientContextExtend.OperID).Data;

            Logger.Error("UpdateAnesFiveOutPacu:" + operMaster.PATIENT_ID + "|" + operMaster.VISIT_ID + "|" + operMaster.OPER_ID + "|" + operMaster.OPER_STATUS_CODE + "|" + operMaster.IN_PACU_DATE_TIME + "|" + operMaster.OUT_PACU_DATE_TIME);
        }
Ejemplo n.º 23
0
        private void GetPacuInfo()
        {
            OperationRoomContent operationRoomContent = null;

            for (int i = 0; i < OperationRoomContentList.Count; i++)
            {
                operationRoomContent            = OperationRoomContentList[i];
                operationRoomContent.VisitID    = 0;
                operationRoomContent.OperID     = 0;
                operationRoomContent.PatientID  = "";
                operationRoomContent.InPacuTime = "";
                MED_OPERATING_ROOM pacuRoom = pacuRoomList.Where(x => x.ROOM_NO.Equals(operationRoomContent.OperRoomKey)).ToList()[0];
                if (pacuRoom != null)
                {
                    if (!string.IsNullOrEmpty(pacuRoom.PATIENT_ID))
                    {
                        operationRoomContent.PatientID = pacuRoom.PATIENT_ID;
                        operationRoomContent.VisitID   = pacuRoom.VISIT_ID.Value;
                        operationRoomContent.OperID    = pacuRoom.OPER_ID.Value;
                        MED_PAT_MASTER_INDEX patMaster       = operationInfoRepository.GetPatMasterIndex(operationRoomContent.PatientID).Data;
                        MED_OPERATION_MASTER operationMaster = operationInfoRepository.GetOperMaster(operationRoomContent.PatientID, operationRoomContent.VisitID, operationRoomContent.OperID).Data;//ExtendApplicationContext.Current.MED_OPERATION_MASTER;
                        if (operationMaster != null && !string.IsNullOrEmpty(operationMaster.OPER_STATUS_CODE.ToString()))
                        {
                            if (operationMaster.OPER_STATUS_CODE != 45)
                            {
                                operationRoomContent.PatientID = "";
                                operationRoomContent.VisitID   = 0;
                                operationRoomContent.OperID    = 0;
                            }
                            else
                            {
                                if (operationMaster.IN_PACU_DATE_TIME.HasValue)
                                {
                                    TimeSpan timeDiff = accountRepository.GetServerTime().Data - operationMaster.IN_PACU_DATE_TIME.Value;
                                    operationRoomContent.inTime = (int)timeDiff.TotalMinutes;
                                }
                            }
                        }
                    }
                }
                operationRoomContent.RefreshValue();
                operationRoomContent.CancelFocus();
            }
        }
Ejemplo n.º 24
0
        /// <summary>
        /// 保存数据
        /// </summary>
        protected override SaveResult SaveData()
        {
            MED_OPERATION_MASTER  master     = AnesInfoService.ClientInstance.GetOperationMaster(this.CurPatientModel.PatientID, this.CurPatientModel.VisitID, this.CurPatientModel.OperID);
            SaveResult            saveResult = SaveResult.Fail;
            TransactionParamsters tp         = TransactionParamsters.Create();

            // 更新明细表
            this.SaveChangeRoomNo(strReason, ref tp);

            // 更新手术室数据
            this.SaveOperatingRoom(master, ref tp);

            // 更新监护仪数据
            this.SaveMonitorDict(master, ref tp);

            // 更新主表手术间号
            this.SaveOperationMaster(ref tp);
            if (CommonService.ClientInstance.UpdateByTransaction(tp.ToString()))
            {
                // 新增跨手术间消息
                this.InsertTransportMessage();
                saveResult = SaveResult.Success;
            }

            // 刷新主界面信息
            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();

            //TransMessageModel tempTransMsgModel = new TransMessageModel(EnumAppType.AnesWorkStation,
            //                                                            EnumMessageType.Single,
            //                                                            this.OperRoomNo,
            //                                                            string.Empty,
            //                                                            EnumFunctionType.Function,
            //                                                            EnumDetailFunctiom.ChangeOperRoomNo,
            //                                                            "患者转手术间",
            //                                                            true);
            //TransMessageManager.Instance.SendMsg(tempTransMsgModel);
            return(saveResult);
        }
Ejemplo n.º 25
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);
 }
Ejemplo n.º 26
0
        public void SetOperMaster(string patientID, int visitID, int operID, string updateName, DateTime time, int operStatus)
        {
            MED_OPERATION_MASTER operMaster = operationInfoRepository.GetOperMaster(patientID, visitID, operID).Data;

            if (operMaster != null)
            {
                operMaster.OPER_STATUS_CODE     = operStatus;
                operMaster.OUT_PACU_WHEREABORTS = operStatus;
                if (time == DateTime.MinValue)
                {
                    operMaster.SetValue(updateName, null);
                }
                else
                {
                    operMaster.SetValue(updateName, time);
                }
                Logger.Error("master表状态以及时间:" + operMaster.OPER_STATUS_CODE + "|" + operMaster.IN_PACU_DATE_TIME + "|" + operMaster.OUT_PACU_DATE_TIME);
                operationInfoRepository.SaveOperMaster(operMaster);
            }
        }
Ejemplo n.º 27
0
 public void RefreshRoom(string roomNo, string patientID, int visitID, int operID)
 {
     foreach (OperationRoomContent roomContent in OperationRoomContentList)
     {
         if (roomContent.OperRoomNo == roomNo)
         {
             MED_OPERATION_MASTER operationMaster = operationInfoRepository.GetOperMaster(patientID, visitID, operID).Data;
             roomContent.PatientID = patientID;
             roomContent.VisitID   = visitID;
             roomContent.OperID    = operID;
             if (operationMaster.IN_PACU_DATE_TIME.HasValue)
             {
                 TimeSpan timeDiff = accountRepository.GetServerTime().Data - operationMaster.IN_PACU_DATE_TIME.Value;
                 roomContent.inTime = (int)timeDiff.TotalMinutes;
             }
             roomContent.RefreshValue();
             roomContent.IsSelected = true;
         }
     }
 }
Ejemplo n.º 28
0
        private bool InRoom(DateTime inTime)
        {
            string roomNo = ExtendApplicationContext.Current.OperRoomNo;

            SelectDateTime = inTime;
            if (!string.IsNullOrEmpty(roomNo) && inTime != DateTime.MaxValue && inTime != DateTime.MinValue)
            {
                List <MED_OPERATING_ROOM> operatingRoomList = comnDictRepository.GetOperatingRoomList("0").Data;

                MED_OPERATION_MASTER operMaster = operationInfoRepository.GetOperMaster(ExtendApplicationContext.Current.PatientContextExtend.PatientID,
                                                                                        ExtendApplicationContext.Current.PatientContextExtend.VisitID,
                                                                                        ExtendApplicationContext.Current.PatientContextExtend.OperID).Data;
                if (string.IsNullOrEmpty(roomNo))
                {
                    return(false);
                }
                bool isUpdate = operatingRoomRepository.SetOperatingRoomPatient(operatingRoomList, roomNo, ExtendApplicationContext.Current.OperRoom, _patientID, _visitID, _operID);
                if (isUpdate)
                {
                    operatingRoomRepository.SetOperMaster(_patientID, _visitID, _operID, "IN_DATE_TIME", inTime, 5);

                    // CommDictService.SaveOperatingRommList(operatingRoomList);
                    operatingRoomRepository.SetMonitorDictPatient("0", ExtendApplicationContext.Current.OperRoom, roomNo, _patientID, _visitID, _operID);

                    _patientCard.OPER_STATUS_CODE = 5;
                    _patientCard.IN_DATE_TIME     = inTime;
                    ExtendApplicationContext.Current.PatientInformationExtend       = _patientCard;
                    ExtendApplicationContext.Current.PatientContextExtend.PatientID = _patientID;
                    ExtendApplicationContext.Current.PatientContextExtend.VisitID   = _visitID;
                    ExtendApplicationContext.Current.PatientContextExtend.OperID    = _operID;
                }
                return(isUpdate);
            }
            else
            {
                return(false);
            }

            return(true);
        }
Ejemplo n.º 29
0
        /// <summary>
        /// 保存监护仪字典信息
        /// </summary>
        private void SaveMonitorDict(MED_OPERATION_MASTER master, ref TransactionParamsters tp)
        {
            if (master.OPER_STATUS_CODE >= 5 && master.OPER_STATUS_CODE <= 30)
            {
                List <MED_MONITOR_DICT> monitorDict = ApplicationModel.Instance.AllDictList.MonitorDictList.Where(x => x.WARD_TYPE.ToString() == ExtendAppContext.Current.EventNo).ToList();
                foreach (MED_MONITOR_DICT monitor in monitorDict)
                {
                    if (null != monitor.PATIENT_ID && monitor.PATIENT_ID.Equals(this.CurPatientModel.PatientID) &&
                        null != monitor.VISIT_ID && monitor.VISIT_ID == this.CurPatientModel.VisitID &&
                        null != monitor.OPER_ID && monitor.OPER_ID == this.CurPatientModel.OperID)
                    {
                        monitor.PATIENT_ID  = null;
                        monitor.VISIT_ID    = null;
                        monitor.OPER_ID     = null;
                        monitor.ModelStatus = ModelStatus.Modeified;
                        continue;
                    }
                }

                tp.Append(monitorDict);
            }
        }
Ejemplo n.º 30
0
        /// <summary>
        /// 载入数据
        /// </summary>
        public override void LoadData()
        {
            try
            {
                if (string.IsNullOrEmpty(ExtendAppContext.Current.PatientInformationExtend.PATIENT_ID))
                {
                    return;
                }
                _masterRow = AnesInfoService.ClientInstance.GetOperationMaster(ExtendAppContext.Current.PatientInformationExtend.PATIENT_ID,
                                                                               ExtendAppContext.Current.PatientInformationExtend.VISIT_ID, ExtendAppContext.Current.PatientInformationExtend.OPER_ID);
                if (_masterRow != null && !string.IsNullOrEmpty(_masterRow.PATIENT_ID))
                {
                    _patsInHospitalRow = AnesInfoService.ClientInstance.GetPatsInHospitalListByID(_masterRow.PATIENT_ID).OrderByDescending(c => c.VISIT_ID).ToList().First();
                    _patMasterIndexRow = AnesInfoService.ClientInstance.GetPatMasterIndex(_masterRow.PATIENT_ID).First();

                    _anesthesiaPlanRow = AnesInfoService.ClientInstance.GetAnesthesiaPlan(_masterRow.PATIENT_ID, _masterRow.VISIT_ID, _masterRow.OPER_ID).First();

                    OPER_ROOM_NO   = _masterRow.OPER_ROOM_NO;
                    SEQUENCE       = _masterRow.SEQUENCE;
                    PATIENT_ID     = _masterRow.PATIENT_ID;
                    INP_NO         = _patsInHospitalRow.INP_NO;
                    NAME           = _patMasterIndexRow.NAME;
                    SEX            = _patMasterIndexRow.SEX;
                    DATE_OF_BIRTH  = _patMasterIndexRow.DATE_OF_BIRTH;
                    BED_NO         = _masterRow.BED_NO;
                    operStatusCode = _masterRow.OPER_STATUS_CODE;
                    AGE            = DateDiff.CalAge((DateTime)_patMasterIndexRow.DATE_OF_BIRTH, _masterRow.SCHEDULED_DATE_TIME.Value);
                    TitleText      = string.Format("编辑{0}时间", ViewFlag);
                    SetOperStatusEnable();
                    SetOperStatusDate();
                }
            }
            catch (Exception ex)
            {
                Logger.Error("获取患者信息发生异常", ex);
                ShowMessageBox(ex.Message, MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }