예제 #1
0
        public static List <LabTestItem> GetLabTestItem(int sID, int doDate)
        {
            char               cTmp = '-';
            double             refL = 0, refH = 0;
            int                iTmp = 0;
            string             sTmp = "", sTmp1 = "", unit = "";
            LabTestItem        tmp       = null;
            List <LabTestItem> rtnList   = new List <LabTestItem>();
            string             sqlString = " SELECT   b.chinname as 'cName',b.Unit as 'unit',a.SValue as 'sValue',a.ResultState as 'rState',"
                                           + " a.Reftype as 'reftype',a.RefLow as 'refLow',a.RefHigh as 'refHigh' "
                                           + " FROM [LISSerV].[his].[dbo].LabResult a,[LISSerV].[his].[dbo].Labtest b "
                                           + " WHERE ( a.DoDate = @DODATE ) AND ( a.SpecimenID = @SID ) "
                                           + " AND ( a.IsProfile = '0' )  AND ( a.testcode = b.testcode)  "
                                           + " order by b.reportorder  ";

            SqlParameter[] cmdParms = new SqlParameter[] {
                new SqlParameter("@SID", SqlDbType.Int),
                new SqlParameter("@DODATE", SqlDbType.Int)
            };
            cmdParms[0].Value = sID;
            cmdParms[1].Value = doDate;

            DataSet ds = DbHelperSQL_18.Query(sqlString, cmdParms);

            DataTable dt = ds.Tables["ds"];

            //遍历行
            foreach (DataRow dr in dt.Rows)
            {
                //遍历列
                tmp       = new LabTestItem();
                tmp.cName = dr["cName"].ToString().Trim();
                unit      = dr["unit"].ToString().Trim();
                if (double.TryParse(dr["refHigh"].ToString().Trim(), out refH))
                {
                }
                if (double.TryParse(dr["refLow"].ToString().Trim(), out refL))
                {
                }

                if (char.TryParse(dr["reftype"].ToString().Trim(), out cTmp))
                {
                    switch (cTmp)
                    {
                    case '1':

                    case '2':

                        sTmp  = "" + refL.ToString() + "-" + refH.ToString() + "";
                        sTmp1 = unit.ToUpper().Substring(0, 1);

                        if (sTmp1.Equals("X") || sTmp1.Equals("%"))
                        {
                            sTmp = "(" + sTmp + ")" + unit;
                        }
                        break;

                    case '3':
                        sTmp = "阴性";

                        break;

                    case '4':
                        sTmp = "阳性";

                        break;

                    case '5':
                        sTmp = "<" + refH.ToString() + unit;

                        break;

                    case '6':
                        sTmp = ">" + refL.ToString() + unit;

                        break;

                    case '7':
                        sTmp = "<" + refL.ToString() + ":" + refH.ToString() + " " + unit;

                        break;

                    default:
                        sTmp = "";
                        break;
                    }
                }
                tmp.refference = sTmp;
                tmp.unit       = unit;
                if (dr["rState"].ToString().Trim().ToUpper().Equals("H"))
                {
                    tmp.state = "↑";
                }
                else if (dr["rState"].ToString().Trim().ToUpper().Equals("L"))
                {
                    tmp.state = "↓";
                }
                else
                {
                    tmp.state = "";
                }

                tmp.sValue = dr["sValue"].ToString().Trim();


                rtnList.Add(tmp);
            }

            return(rtnList);
        }
예제 #2
0
 public static PatientInfoDto AsDto(this LabTestItem item, int value, string note, DateTime testDate, Guid patientId, string name)
 {
     return(new PatientInfoDto(item.Id, item.Name, item.Value, value, note, testDate, patientId, name));
 }