コード例 #1
0
ファイル: ValuateScore.cs プロジェクト: zhanglg40/hmr
        private TimeSpan StayInHospitalHours(string noteID, string regID)
        {
            DateTime regdate       = ThisAddIn.StartTime(noteID, StartTime.Registry, regID);
            DateTime dischagedDate = ThisAddIn.StartTime(noteID, StartTime.Discharged, regID);
            TimeSpan passHours     = dischagedDate.Subtract(regdate);

            return(passHours);
        }
コード例 #2
0
ファイル: ValuateScore.cs プロジェクト: zhanglg40/hmr
        private bool SatisfiedCondition(string condition, string noteID, XmlNode emrdoc)
        {
            bool ret = false;

            switch (condition)
            {
            case Condition.Dead:
                DateTime deadtime = ThisAddIn.StartTime(noteID, StartTime.Dead, regID);
                if (deadtime == DateTime.MinValue)
                {
                    ret = false;
                }
                else
                {
                    ret = Absence(noteID, emrdoc);
                }
                break;

            case Condition.Operation:
                #region Operation
                XmlNode opetime = null;
                ThisAddIn.OperationTime(regID, ref opetime);
                if (opetime == null)
                {
                    ret = false;
                }
                else if (opetime.HasChildNodes)
                {
                    foreach (XmlNode item in opetime.ChildNodes)
                    {
                        string seq = item.Attributes[AttributeNames.Sequence].Value;
                        if (Absence(noteID, seq, emrdoc))
                        {
                            ret = true;
                            break;
                        }
                    }
                }
                #endregion
                break;

            case Condition.Hours48:
                if (StayInHospitalHours(noteID, regID).TotalHours > 48)
                {
                    ret = Absence(noteID, emrdoc);
                }
                break;

            case Condition.Hours72:
                if (StayInHospitalHours(noteID, regID).TotalHours > 72)
                {
                    ret = Absence(noteID, emrdoc);
                }
                break;
            }
            return(ret);
        }