コード例 #1
0
        private TimeSpan GenerateTimePart(DateTimeRangeModel model)
        {
            var rangeSize = model.MaxTime.TimeOfDay.TotalMilliseconds - model.MinTime.TimeOfDay.TotalMilliseconds;
            var increment = _rnd.Next((int)rangeSize);

            return(TimeSpan.FromMilliseconds(model.MinTime.TimeOfDay.TotalMilliseconds + increment));
        }
コード例 #2
0
        //转换MODEL
        private VitalSignCurveDetailModel ConvertToDetailModel(MedVitalSignCurveDetail detail)
        {
            VitalSignCurveDetailModel detailMode = new VitalSignCurveDetailModel();

            detailMode.CurveName = detail.CurveName;
            detailMode.CurveCode = detail.CurveCode;
            detailMode.Visible   = detail.Visible;
            string     type = detail.SymbolType.ToString();
            LegendItem item = new LegendItem();

            item.Code        = detail.CurveCode;
            item.DisplayName = detail.CurveName;
            item.Symbol      = new SymbolModel((SymbolType)Enum.Parse(typeof(SymbolType), type));
            detailMode.LegendList.Add(item);
            // detailMode.LegendDictionary.Add(detail.CurveName, new SymbolModel((SymbolType)Enum.Parse(typeof(SymbolType), type)));
            detailMode.SymbolEntry   = detail.SymbolEntry;
            detailMode.Color         = detail.Color;
            detailMode.DecimalDigits = detail.DotNumber;
            string showType = detail.ShowType.ToString();

            detailMode.ShowType   = (CurveShowType)Enum.Parse(typeof(CurveShowType), showType);
            detailMode.YAxisIndex = detail.YAxisIndex;
            string showTime = detail.ShowTimeInterval.ToString();

            detailMode.ShowTimeInterval = (ShowTimeInterval)Enum.Parse(typeof(ShowTimeInterval), showTime);
            DateTimeRangeModel timeRange = new DateTimeRangeModel(detail.HideStartTime, detail.HideEndTime);

            detailMode.HideTime = new List <DateTimeRangeModel>();
            detailMode.HideTime.Add(timeRange);
            return(detailMode);
        }
コード例 #3
0
        /// <summary>
        /// 初始化体征数据
        /// </summary>
        private void IntensiveSignRefresh()
        {
            string patientID = ExtendAppContext.Current.PatientInformationExtend.PATIENT_ID;
            int    visitID   = ExtendAppContext.Current.PatientInformationExtend.VISIT_ID;
            int    operID    = ExtendAppContext.Current.PatientInformationExtend.OPER_ID;
            string eventNo   = ExtendAppContext.Current.EventNo;

            if (_rescueTime.BeginTime.HasValue)
            {
                ProcessBeginTime = _rescueTime.BeginTime.Value;
            }
            else
            {
                ProcessBeginTime = null;
            }
            if (_rescueTime.EndTime.HasValue)
            {
                ProcessEndTime = _rescueTime.EndTime.Value;
            }
            _vitalSignList = AnesInfoService.ClientInstance.GetVitalSignData(patientID, visitID, operID, eventNo, true);
            ScheduledTimeViewModel scheduledTimeViewModel = new ScheduledTimeViewModel();
            DateTimeRangeModel     timeRange = new DateTimeRangeModel(_rescueTime.BeginTime.Value, _rescueTime.EndTime == null ? _rescueTime.BeginTime.Value.AddMinutes(20) : _rescueTime.EndTime);

            xAxisSetting = scheduledTimeViewModel.SetAxisSetting(timeRange, true);

            VitalSignViewModel vitalSign = new VitalSignViewModel(_vitalSignList, null, _vitalSignGraph, _xAxisSetting);

            Curves = vitalSign.GetVitalSignCurve(true, _rescueTime);
        }
コード例 #4
0
        private DateTime GenerateDatePart(DateTimeRangeModel model)
        {
            var rangeSize = model.MaxDate.Date - model.MinDate.Date;
            var increment = _rnd.Next(rangeSize.Days + 1);
            var result    = model.MinDate.Date.AddDays(increment);

            return(result);
        }
コード例 #5
0
        public AxisSetting SetAxisSetting(DateTimeRangeModel pageTimeRange, bool isIntensive)
        {
            AxisSetting _xAxisSetting = new AxisSetting();

            if (isIntensive)
            {
                double mu = (double)((TimeSpan)(pageTimeRange.EndDateTime - pageTimeRange.StartDateTime)).TotalMinutes;
                if (mu > 20)
                {
                    _xAxisSetting.EndTime       = pageTimeRange.EndDateTime.Value;
                    _xAxisSetting.BeginTime     = _xAxisSetting.EndTime.Value.AddMinutes(-20);
                    _xAxisSetting.BeginFactTime = _xAxisSetting.EndTime.Value.AddMinutes(-20);
                }
                else
                {
                    _xAxisSetting.BeginFactTime = pageTimeRange.StartDateTime.Value;
                    _xAxisSetting.BeginTime     = pageTimeRange.StartDateTime.Value;
                    _xAxisSetting.EndTime       = _xAxisSetting.BeginTime.Value.AddMinutes(20);
                }
                _xAxisSetting.MoveMinLimitTime = pageTimeRange.StartDateTime.Value;
                _xAxisSetting.MoveMaxLimitTime = _xAxisSetting.EndTime.Value.AddMinutes(5);
                _xAxisSetting.MinorUnit        = DateUnit.Second;
                _xAxisSetting.MajorUnit        = DateUnit.Second;
                _xAxisSetting.MinorStep        = 20;
                _xAxisSetting.MajorStep        = 120;
            }
            else
            {
                double mu = (double)((TimeSpan)(pageTimeRange.EndDateTime - pageTimeRange.StartDateTime)).TotalHours;
                if (mu > 2.5)
                {
                    _xAxisSetting.EndTime       = pageTimeRange.EndDateTime.Value.AddMinutes(30);
                    _xAxisSetting.BeginTime     = _xAxisSetting.EndTime.Value.AddHours(-3);
                    _xAxisSetting.BeginFactTime = _xAxisSetting.EndTime.Value.AddHours(-3);
                }
                else
                {
                    _xAxisSetting.BeginFactTime = pageTimeRange.StartDateTime.Value;
                    _xAxisSetting.BeginTime     = pageTimeRange.StartDateTime.Value.AddMinutes(-5);
                    _xAxisSetting.EndTime       = _xAxisSetting.BeginTime.Value.AddHours(3);
                }

                _xAxisSetting.MoveMinLimitTime = pageTimeRange.StartDateTime.Value.AddMinutes(-5);
                _xAxisSetting.MoveMaxLimitTime = _xAxisSetting.EndTime.Value.AddHours(1);
            }

            return(_xAxisSetting);
        }
コード例 #6
0
        protected void ListFromTable(IList list, Type type, DataTable dataTable)
        {
            if (dataTable != null)
            {
                List <MemberDetail> memberDetails = AssemblyHelper.GetPropertyList(type);
                foreach (DataRow row in dataTable.Rows)
                {
                    object obj = Activator.CreateInstance(type);
                    foreach (MemberDetail memberDetail in memberDetails)
                    {
                        PropertyInfo propertyInfo = memberDetail.PropertyInfo;
                        if (dataTable.Columns.Contains(memberDetail.Name) && row[memberDetail.Name] != System.DBNull.Value)
                        {
                            try
                            {
                                if (propertyInfo.Name.Equals("LegendList"))
                                {
                                    string            value      = row[memberDetail.Name].ToString();
                                    string[]          valueList  = value.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries);
                                    List <LegendItem> LegendList = new List <LegendItem>();
                                    foreach (var str in valueList)
                                    {
                                        if (!string.IsNullOrEmpty(str))
                                        {
                                            LegendItem item = new LegendItem();
                                            item.Code        = row["CurveCode"].ToString();
                                            item.DisplayName = row["CurveName"].ToString();
                                            item.Symbol      = new SymbolModel((SymbolType)Enum.Parse(typeof(SymbolType), str));
                                            LegendList.Add(item);
                                        }
                                    }
                                    propertyInfo.SetValue(obj, LegendList, null);
                                }
                                else if (propertyInfo.Name.Equals("HideTime"))
                                {
                                    string   value     = row[memberDetail.Name].ToString();
                                    string[] valueList = value.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries);
                                    List <DateTimeRangeModel> HideTime = new List <DateTimeRangeModel>();
                                    foreach (var str in valueList)
                                    {
                                        if (!string.IsNullOrEmpty(str))
                                        {
                                            string[] timeList = str.Split(new string[] { "&" }, StringSplitOptions.RemoveEmptyEntries);

                                            if (timeList.Length == 2)
                                            {
                                                DateTimeRangeModel item = new DateTimeRangeModel(Convert.ToDateTime(timeList[0]), Convert.ToDateTime(timeList[1]));
                                                HideTime.Add(item);
                                            }
                                        }
                                    }
                                    propertyInfo.SetValue(obj, HideTime, null);
                                }
                                else
                                {
                                    AssemblyHelper.SetPropertyValue(propertyInfo, obj, row[memberDetail.Name].ToString());
                                }
                            }
                            catch (Exception)
                            {
                                //提示信息
                                throw;
                            }
                        }
                    }
                    list.Add(obj);
                }
            }
        }
コード例 #7
0
        /// <summary>
        /// 当前体征明细
        /// </summary>
        public List <VitalSignCurveDetailModel> GetVitalSignCurve(bool isIntensive, RescueTime rescueTime)
        {
            List <VitalSignCurveDetailModel> curveList          = new List <VitalSignCurveDetailModel>();
            Dictionary <string, VitalSignCurveDetailModel> dict = new Dictionary <string, VitalSignCurveDetailModel>();
            List <VitalSignCurveDetailModel> detailModel        = GetUserVitalShowSet("0");

            //188,100,92,44,65,66,89,90密集体征默认显示以上体征
            foreach (VitalSignCurveDetailModel detail in detailModel)
            {
                if (isIntensive && !(detail.CurveCode == "188" || detail.CurveCode == "100" || detail.CurveCode == "92" || detail.CurveCode == "44" ||
                                     detail.CurveCode == "65" || detail.CurveCode == "66" || detail.CurveCode == "89" || detail.CurveCode == "90"))
                {
                    continue;
                }
                if (!string.IsNullOrEmpty(detail.CurveCode) && !dict.ContainsKey(detail.CurveCode))
                {
                    dict.Add(detail.CurveCode, detail);
                }
                else if (string.IsNullOrEmpty(detail.CurveCode) && !string.IsNullOrEmpty(detail.CurveName))
                {
                    foreach (MED_VITAL_SIGN vrow in _vitalSignList)
                    {
                        if (vrow.ITEM_NAME.Equals(detail.CurveName) && !dict.ContainsKey(vrow.ITEM_CODE))
                        {
                            dict.Add(vrow.ITEM_CODE, detail);
                            break;
                        }
                    }
                }
            }
            foreach (MedVitalSignCurveDetail detail in _vitalSignGraph.CurveDetails)
            {
                if (!string.IsNullOrEmpty(detail.CurveCode) && !dict.ContainsKey(detail.CurveCode))
                {
                    if (isIntensive && !(detail.CurveCode == "188" || detail.CurveCode == "100" || detail.CurveCode == "92" || detail.CurveCode == "44" ||
                                         detail.CurveCode == "65" || detail.CurveCode == "66"))
                    {
                        continue;
                    }
                    dict.Add(detail.CurveCode, ConvertToDetailModel(detail));
                }
            }
            List <string> itemNames = new List <string>();

            foreach (var item in detailModel)
            {
                if (!itemNames.Contains(item.CurveCode))
                {
                    itemNames.Add(item.CurveCode);
                }
            }
            //  if (_vitalSignList != null && _vitalSignList.Count > 0)
            {
                _vitalSignList.ForEach(row =>
                {
                    if (!itemNames.Contains(row.ITEM_CODE.Trim()))
                    {
                        itemNames.Add(row.ITEM_CODE);
                    }
                });
                itemNames = SortSignTitle(itemNames);
                ///逐条增加曲线
                #region 逐条增加曲线
                foreach (string item in itemNames)
                {
                    //   if (dict.ContainsKey(item) && !dict[item].Visible) continue;

                    VitalSignCurveDetailModel vitalSignCurveDetail = null;
                    if (dict.ContainsKey(item))
                    {
                        vitalSignCurveDetail = dict[item];
                    }
                    else if (ExtendAppContext.Current.MonitorFunctionCodeDict.ContainsKey(item) && dict.ContainsKey(ExtendAppContext.Current.MonitorFunctionCodeDict[item]))
                    {
                        vitalSignCurveDetail = dict[ExtendAppContext.Current.MonitorFunctionCodeDict[item]];
                    }
                    List <MED_VITAL_SIGN> vitallist = _vitalSignList.Where(x => x.ITEM_CODE == item).ToList();
                    if (vitallist != null && vitallist.Count > 0)
                    {
                        Color color;
                        //bool isDigit = false;
                        if (vitalSignCurveDetail == null)
                        {
                            color = GetRandomColor();
                            //isDigit = false;
                            SymbolModel        symbol     = GetRandomSymbol();
                            List <SymbolModel> symbolList = new List <SymbolModel>();
                            symbolList.Add(symbol);
                            string name = ExtendAppContext.Current.MonitorFunctionCodeDict.ContainsKey(item) ? ExtendAppContext.Current.MonitorFunctionCodeDict[item] : item;
                            vitalSignCurveDetail = new VitalSignCurveDetailModel(name, item, 0);
                            LegendItem litem = new LegendItem();
                            litem.Code        = item;
                            litem.DisplayName = name;
                            litem.Symbol      = symbol;
                            vitalSignCurveDetail.LegendList.Add(litem);
                            vitalSignCurveDetail.ShowType    = CurveShowType.Line;
                            vitalSignCurveDetail.SymbolEntry = "";
                            vitalSignCurveDetail.Visible     = true;
                            vitalSignCurveDetail.YAxisIndex  = 0;
                            vitalSignCurveDetail.HideTime    = new List <DateTimeRangeModel>()
                            {
                                new DateTimeRangeModel(DateTime.MinValue, DateTime.MinValue)
                                {
                                    CurrentEntDT   = null,
                                    CurrentStartDT = null,
                                    EndDateTime    = null,
                                    SelectTime     = null,
                                    StartDateTime  = null
                                }
                            };
                            if (!dict.ContainsKey(item) && !isIntensive)
                            {
                                dict.Add(litem.Code, vitalSignCurveDetail);
                            }
                        }
                        //bool isModify = false;
                        if (vitalSignCurveDetail != null)
                        {
                            if (vitalSignCurveDetail.Points == null)
                            {
                                vitalSignCurveDetail.Points = new List <VitalSignPointModel>();
                            }
                            if (vitallist != null)
                            {
                                DateTime timePoint = vitallist[0].TIME_POINT;
                                DateTime hideStr   = DateTime.MinValue;
                                DateTime hideEnd   = DateTime.MinValue;
                                #region 密集体征
                                if (isIntensive)
                                {
                                    vitallist.ForEach(row =>
                                    {
                                        double tempValue;
                                        if (dict.ContainsKey(vitalSignCurveDetail.CurveCode) &&
                                            !string.IsNullOrEmpty(row.ITEM_VALUE) &&
                                            double.TryParse(row.ITEM_VALUE, out tempValue) &&
                                            Convert.ToDouble(row.ITEM_VALUE) > 0)
                                        {
                                            DateTime endTime = rescueTime.EndTime != null ? rescueTime.EndTime.Value : DateTime.Now;
                                            if (row.TIME_POINT >= rescueTime.BeginTime && row.TIME_POINT <= endTime)
                                            {
                                                vitalSignCurveDetail.ShowTimeInterval = ShowTimeInterval.AnyTime;
                                                vitalSignCurveDetail.Points.Add(new VitalSignPointModel(row.TIME_POINT, Convert.ToDouble(row.ITEM_VALUE), vitalSignCurveDetail, vitalSignCurveDetail.LegendList[0].Symbol, row.Flag));
                                            }
                                        }
                                    });
                                }
                                #endregion
                                #region 普通体征
                                else
                                {
                                    vitallist.ForEach(row =>
                                    {
                                        int mu       = (int)((TimeSpan)(row.TIME_POINT - _xAxisSetting.BeginFactTime.Value.AddSeconds(-_xAxisSetting.BeginFactTime.Value.Second))).TotalMinutes;
                                        string value = row.ITEM_VALUE;
                                        double d     = 0;
                                        //isModify = false;
                                        if (double.TryParse(value, out d) && d >= 0)
                                        {
                                            if (dict.ContainsKey(vitalSignCurveDetail.CurveCode) && ((mu % (int)dict[vitalSignCurveDetail.CurveCode].ShowTimeInterval) == 0) && Convert.ToDouble(row.ITEM_VALUE) > 0)
                                            {
                                                timePoint            = timePoint.AddMinutes((int)dict[vitalSignCurveDetail.CurveCode].ShowTimeInterval);
                                                DateTime curRowPoint = row.TIME_POINT.AddMinutes((int)dict[vitalSignCurveDetail.CurveCode].ShowTimeInterval);
                                                if (timePoint != curRowPoint)
                                                {
                                                    hideStr   = vitallist[vitallist.IndexOf(row) - 1].TIME_POINT.AddMinutes((int)dict[vitalSignCurveDetail.CurveCode].ShowTimeInterval);
                                                    hideEnd   = row.TIME_POINT.AddMinutes(-(int)dict[vitalSignCurveDetail.CurveCode].ShowTimeInterval);
                                                    timePoint = row.TIME_POINT.AddMinutes((int)dict[vitalSignCurveDetail.CurveCode].ShowTimeInterval);;
                                                    DateTimeRangeModel range = new DateTimeRangeModel(hideStr, hideEnd);
                                                    vitalSignCurveDetail.HideTime.Add(range);
                                                }
                                                vitalSignCurveDetail.Points.Add(new VitalSignPointModel(row.TIME_POINT, Convert.ToDouble(row.ITEM_VALUE), vitalSignCurveDetail, vitalSignCurveDetail.LegendList[0].Symbol, row.Flag));
                                            }
                                        }
                                        if (!string.IsNullOrEmpty(row.Flag) && row.Flag.Equals("1"))
                                        {
                                            //isModify = true;
                                        }
                                    });
                                }
                                #endregion
                            }
                            if (vitalSignCurveDetail.Points.Count > 0)
                            {
                                curveList.Add(vitalSignCurveDetail);
                            }
                        }
                    }
                    else
                    {
                        if (vitalSignCurveDetail != null && !vitalSignCurveDetail.IsDigit && vitalSignCurveDetail.Points.Count > 0)
                        {
                            curveList.Add(vitalSignCurveDetail);
                        }
                    }
                }
                #endregion 逐条增加曲线
            }
            VitalSignCurves = curveList;
            if (_anesEventList != null)
            {
                ControlBreath(_anesEventList, dict);
            }
            return(VitalSignCurves);
        }
コード例 #8
0
        public override void LoadData()
        {
            if (ExtendAppContext.Current.PatientInformationExtend == null)
            {
                return;
            }
            _patientID = ExtendAppContext.Current.PatientInformationExtend.PATIENT_ID;
            _visitID   = ExtendAppContext.Current.PatientInformationExtend.VISIT_ID;
            _operID    = ExtendAppContext.Current.PatientInformationExtend.OPER_ID;
            _eventNo   = "0";


            var anesEvent  = AnesInfoService.ClientInstance.GetAnesthesiaEventByEventNo(_patientID, _visitID, _operID, _eventNo);
            var vitalSign  = AnesInfoService.ClientInstance.GetVitalSignData(_patientID, _visitID, _operID, _eventNo, false);
            var operMaster = AnesInfoService.ClientInstance.GetOperationMaster(_patientID, _visitID, _operID);
            ScheduledTimeViewModel scheduledTimeViewModel = new ScheduledTimeViewModel();
            DateTimeRangeModel     pageTimeRange          = scheduledTimeViewModel.GetGraphDateTime(vitalSign, anesEvent, _eventNo, operMaster);

            xAxisSetting = scheduledTimeViewModel.SetAxisSetting(pageTimeRange, false);

            List <IntakeAndOutputData> DataList = new List <IntakeAndOutputData>();
            var listItem = anesEvent.FindAll(delegate(MED_ANESTHESIA_EVENT a)
            {
                return(a.EVENT_CLASS_CODE == "2" || a.EVENT_CLASS_CODE == "3" ||
                       a.EVENT_CLASS_CODE == "4" || a.EVENT_CLASS_CODE == "B" ||
                       a.EVENT_CLASS_CODE == "C" || a.EVENT_CLASS_CODE == "D");
            });

            var oxygen = listItem.FindAll(delegate(MED_ANESTHESIA_EVENT a)
            {
                return(a.EVENT_CLASS_CODE == "4");
            });

            if (oxygen.Count > 0)
            {
                foreach (var item in oxygen)
                {
                    double showNum = 0;
                    double.TryParse(item.PERFORM_SPEED.ToString(), out showNum);
                    IntakeAndOutputData data = new IntakeAndOutputData(item.EVENT_ITEM_NAME, showNum, item.SPEED_UNIT);
                    data.BeginTime = item.START_TIME.Value.AddSeconds(0 - item.START_TIME.Value.Second);
                    if (item.END_TIME != null)
                    {
                        data.EndTime = item.END_TIME.Value.AddSeconds(0 - item.END_TIME.Value.Second);
                    }
                    data.ToolTip = "";
                    DataList.Add(data);
                }
            }

            foreach (var item in listItem)
            {
                if (item.EVENT_CLASS_CODE == "2" || item.EVENT_CLASS_CODE == "C")
                {
                    IntakeAndOutputData data;
                    if (item.DURATIVE_INDICATOR == 1)
                    {
                        double showNum = 0;
                        if (item.PERFORM_SPEED.HasValue || item.PERFORM_SPEED > 0)
                        {
                            double.TryParse(item.PERFORM_SPEED.ToString(), out showNum);
                            data = new IntakeAndOutputData(item.EVENT_ITEM_NAME, showNum, item.SPEED_UNIT);
                        }
                        else
                        {
                            double.TryParse(item.DOSAGE.ToString(), out showNum);
                            data = new IntakeAndOutputData(item.EVENT_ITEM_NAME, showNum, item.DOSAGE_UNITS);
                        }
                        data.BeginTime = item.START_TIME.Value.AddSeconds(0 - item.START_TIME.Value.Second);
                        if (item.END_TIME != null)
                        {
                            data.EndTime = item.END_TIME.Value.AddSeconds(0 - item.END_TIME.Value.Second);
                        }
                    }
                    else
                    {
                        double showNum = 0;
                        double.TryParse(item.DOSAGE.ToString(), out showNum);
                        data             = new IntakeAndOutputData(item.EVENT_ITEM_NAME, showNum, item.DOSAGE_UNITS);
                        data.OnetimeData = new IntakeAndOutputData.OneTimeIntakeAndOut(item.START_TIME != null ? item.START_TIME.Value.AddSeconds(0 - item.START_TIME.Value.Second) : DateTime.Now);
                    }
                    DataList.Add(data);
                }
                else if (item.EVENT_CLASS_CODE == "D")
                {
                    double showNum = 0;
                    double.TryParse(item.DOSAGE.ToString(), out showNum);
                    IntakeAndOutputData data = new IntakeAndOutputData(item.EVENT_ITEM_NAME, showNum, item.DOSAGE_UNITS, IntakeAndOutputType.Output);
                    if (item.DURATIVE_INDICATOR == 1)
                    {
                        data.BeginTime = item.START_TIME.Value.AddSeconds(0 - item.START_TIME.Value.Second);
                        if (item.END_TIME != null)
                        {
                            data.EndTime = item.END_TIME.Value.AddSeconds(0 - item.END_TIME.Value.Second);
                        }
                    }
                    else
                    {
                        if (item.EVENT_ITEM_NAME.Contains("尿"))
                        {
                            data.OnetimeData = new IntakeAndOutputData.OneTimeIntakeAndOut(item.START_TIME != null ? item.START_TIME.Value.AddSeconds(0 - item.START_TIME.Value.Second) : DateTime.Now, "尿", Color.FromRgb(0x66, 0xFF, 0xCC));
                        }
                        else if (item.EVENT_ITEM_NAME.Contains("血"))
                        {
                            data.OnetimeData = new IntakeAndOutputData.OneTimeIntakeAndOut(item.START_TIME != null ? item.START_TIME.Value.AddSeconds(0 - item.START_TIME.Value.Second) : DateTime.Now, "血", Color.FromRgb(0xCC, 0xCC, 0x00));
                        }
                        else
                        {
                            data.OnetimeData = new IntakeAndOutputData.OneTimeIntakeAndOut(item.START_TIME != null ? item.START_TIME.Value.AddSeconds(0 - item.START_TIME.Value.Second) : DateTime.Now, "引", Color.FromRgb(0xCC, 0xCC, 0x00));
                        }
                    }
                    DataList.Add(data);
                }
                else if (item.EVENT_CLASS_CODE == "3" || item.EVENT_CLASS_CODE == "B")
                {
                    IntakeAndOutputData data;
                    if (item.DURATIVE_INDICATOR == 1)
                    {
                        double showNum = 0;
                        //if (item.PERFORM_SPEED.HasValue || item.PERFORM_SPEED > 0)
                        //{
                        //    double.TryParse(item.PERFORM_SPEED.ToString(), out showNum);
                        //    data = new IntakeAndOutputData(item.EVENT_ITEM_NAME, showNum, item.SPEED_UNIT, IntakeAndOutputType.Infusion);
                        //}
                        //else
                        //{
                        double.TryParse(item.DOSAGE.ToString(), out showNum);
                        data = new IntakeAndOutputData(item.EVENT_ITEM_NAME, showNum, item.DOSAGE_UNITS, IntakeAndOutputType.Infusion);
                        //}
                        data.BeginTime = item.START_TIME.Value.AddSeconds(0 - item.START_TIME.Value.Second);
                        if (item.END_TIME != null)
                        {
                            data.EndTime = item.END_TIME.Value.AddSeconds(0 - item.END_TIME.Value.Second);
                        }
                    }
                    else
                    {
                        double showNum = 0;
                        double.TryParse(item.DOSAGE.ToString(), out showNum);
                        data             = new IntakeAndOutputData(item.EVENT_ITEM_NAME, showNum, item.DOSAGE_UNITS, IntakeAndOutputType.Infusion);
                        data.OnetimeData = new IntakeAndOutputData.OneTimeIntakeAndOut(item.START_TIME != null ? item.START_TIME.Value.AddSeconds(0 - item.START_TIME.Value.Second) : DateTime.Now);
                    }
                    DataList.Add(data);
                }
            }
            InputOutData = DataList;
        }
コード例 #9
0
        protected void LoadVitalSignControl()
        {
            if (null == ExtendAppContext.Current.PatientInformationExtend)
            {
                return;
            }

            IsVitalSignsEditEnable = ExtendAppContext.Current.IsModify & ExtendAppContext.Current.IsPermission;
            string patientID = ExtendAppContext.Current.PatientInformationExtend.PATIENT_ID;
            int    visitID   = ExtendAppContext.Current.PatientInformationExtend.VISIT_ID;
            int    operID    = ExtendAppContext.Current.PatientInformationExtend.OPER_ID;
            string eventNo   = ExtendAppContext.Current.EventNo;

            _vitalSignList = AnesInfoService.ClientInstance.GetVitalSignData(patientID, visitID, operID, eventNo, false);
            _anesEventList = AnesInfoService.ClientInstance.GetAnesthesiaEventByEventNo(patientID, visitID, operID, eventNo);
            _operMaster    = AnesInfoService.ClientInstance.GetOperationMaster(patientID, visitID, operID);
            if (_operMaster.IN_DATE_TIME.HasValue)
            {
                ProcessBeginTime = _operMaster.IN_DATE_TIME;
            }
            else
            {
                ProcessBeginTime = null;
            }
            if (_operMaster.END_DATE_TIME.HasValue)
            {
                ProcessEndTime = _operMaster.OUT_DATE_TIME;
            }
            else
            {
                ProcessEndTime = null;
            }
            List <MED_OPERATION_RESCUE> operRescueList = CommonService.ClientInstance.GetOperationRescue(patientID, visitID, operID);
            List <MED_CAMERA_PICINFO>   cameraList     = CareDocService.ClientInstance.GetPicInfoList(patientID, visitID, operID);

            RescueTimeList = new List <RescueTime>();
            if (operRescueList != null && operRescueList.Count > 0)
            {
                foreach (MED_OPERATION_RESCUE row in operRescueList)
                {
                    RescueTimeList.Add(new RescueTime(row.START_DATE_TIME, row.END_DATE_TIME));
                }
            }
            if (ExtendAppContext.Current.IsOperationRescuing && ExtendAppContext.Current.OperationRescueStartTime != null && ExtendAppContext.Current.OperationRescueStartTime != DateTime.MinValue)
            {
                RescueTimeList.Add(new RescueTime(ExtendAppContext.Current.OperationRescueStartTime, null));
            }

            if (cameraList != null && cameraList.Count > 0)
            {
                foreach (MED_CAMERA_PICINFO row in cameraList)
                {
                    RescueTimeList.Add(new RescueTime(row.UPDATE_TIME));
                }
            }

            ScheduledTimeViewModel scheduledTimeViewModel = new ScheduledTimeViewModel();
            DateTimeRangeModel     pageTimeRange          = scheduledTimeViewModel.GetGraphDateTime(_vitalSignList, _anesEventList, eventNo, _operMaster);

            xAxisSetting = scheduledTimeViewModel.SetAxisSetting(pageTimeRange, false);

            VitalSignViewModel vitalSign = new VitalSignViewModel(_vitalSignList, _anesEventList, _vitalSignGraph, _xAxisSetting);

            Curves         = vitalSign.GetVitalSignCurve(false, null);
            TextMarkPoints = vitalSign.GetBloodGasItems(ExtendAppContext.Current.PatientInformationExtend.PATIENT_ID, ExtendAppContext.Current.PatientInformationExtend.VISIT_ID,
                                                        ExtendAppContext.Current.PatientInformationExtend.OPER_ID);
            EventMarkViewModel eventMark = new EventMarkViewModel(_anesEventList, _operMaster, _vitalSignGraph);

            EventMark = eventMark.GetEventMark();
            BreathParaViewModel breathViewModel = new BreathParaViewModel(_vitalSignGraph);

            BreathParam = breathViewModel.GetBreathPara();
        }