Beispiel #1
0
        public string AutoCompleteGetAllOrderSet(string docName)
        {
            Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls();
            var result = (from dn in ws.GetAllOrderSet(docName).AsEnumerable()
                          where dn.Field <string>("ARCOS_Desc").ToLower().Contains(docName.ToLower()) ||
                          dn.Field <string>("ARCOS_Code").ToLower().Contains(docName.ToLower())
                          select new { desc = dn.Field <string>("ARCOS_Code") + "|,|" + dn.Field <string>("ARCOS_Desc") + "|,|" + dn.Field <string>("ARCIC_Desc") }

                          ).ToList();
            string tmpStr  = string.Empty;
            string tmpConj = "<,>";
            var    result2 = (from t1 in result
                              select t1.desc).ToList();

            foreach (object st in result2)
            {
                tmpStr = tmpStr + HttpContext.Current.Server.HtmlEncode(st.ToString()) + tmpConj;
                //tmpStr = tmpStr + HttpContext.Current.Server.HtmlDecode(st.ToString()) + tmpConj;
            }
            if (!string.IsNullOrEmpty(tmpStr))
            {
                tmpStr.Substring(1, tmpStr.Length - tmpConj.Length);
            }
            return(tmpStr);
        }
Beispiel #2
0
        public string AutoCompleteReqDoc(string docName)
        {
            docName = docName.ToLower();
            Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls();
            var a      = from dn in ws.GetCareprovider("").AsEnumerable() select dn;
            var result = (from dn in ws.GetCareprovider("").AsEnumerable()
                          where dn.Field <string>("DoctorName").ToLower().Contains(docName) ||
                          dn.Field <string>("CTPCP_Desc").ToLower().Contains(docName) ||
                          dn.Field <string>("CTPCP_Code").ToLower().Contains(docName)
                          select new docdata
            {
                DocNameE = dn.Field <string>("CTPCP_Desc"),
                DocNameT = dn.Field <string>("DoctorName"),
                DocCode = dn.Field <string>("CTPCP_Code")
            }).ToList();
            string tmpStr  = string.Empty;
            string tmpConj = "<,>";

            foreach (docdata st in result)
            {
                string[] temp = st.DocNameE.Split('/');
                tmpStr += st.DocCode + "/" + st.DocNameT + "/" + (temp != null ? temp[0] : "") + tmpConj; //+ st.DocCode+","
            }
            if (!string.IsNullOrEmpty(tmpStr))
            {
                tmpStr.Substring(1, tmpStr.Length - tmpConj.Length);
            }
            return(tmpStr);
        }
Beispiel #3
0
        protected void btnVerify_Click(object sender, EventArgs e)
        {
            Service.WS_TrakcareCls wsVerify = new Service.WS_TrakcareCls();
            DataTable dtVerify  = wsVerify.GetAllAllergyByHN_NameDob(txtHN.Text.Trim(), txtName.Text.Trim(), txtBirthDate.Text.Trim());
            DataTable dtHistory = clsEX.get_history_verify(txtHN.Text.Trim());

            if (dtVerify != null)
            {
                if (!(dtVerify.Rows.Count).Equals(0))
                {
                    if (dtHistory.Rows.Count >= 1)
                    {
                        Session["HN"]   = txtHN.Text.Trim();
                        Session["Name"] = dtVerify.Rows[0]["TTL_Desc"].ToString() + " " + dtVerify.Rows[0]["PAPMI_Name"].ToString() + " " + dtVerify.Rows[0]["PAPMI_Name2"].ToString();

                        ////Session["Allergy"] = ut.resultAllergy(dtVerify);
                        Response.Redirect("~/web/frm_verify_result.aspx");
                    }
                    else
                    {
                        lblWarningVerify.Text = "No Verfify Patient";
                    }
                }
                else
                {
                    lblWarningVerify.Text = "No Verfify Patient";
                }
            }
        }
Beispiel #4
0
        public List <DoctorProfile> GetDoctorData()
        {
            List <DoctorProfile> DocName = new List <DoctorProfile>();

            try
            {
                using (Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls())
                {
                    DataTable dt = ws.GetCareprovider("");
                    if (dt != null)
                    {
                        var result = dt.AsEnumerable().Where(x => x.Field <string>("SSUSR_Initials") != null && x.Field <string>("CTPCP_Desc") != null)
                                     .Select(x => new DoctorProfile
                        {
                            SSUSR_Initials = x.Field <string>("SSUSR_Initials"),
                            CTPCP_Desc     = x.Field <string>("CTPCP_Desc"),
                            CTPCP_Code     = x.Field <string>("CTPCP_Code"),
                            CTPCP_SMCNo    = x.Field <string>("CTPCP_SMCNo")
                        }).ToList();
                        result.Insert(0, new DoctorProfile {
                            SSUSR_Initials = "", CTPCP_Desc = "", CTPCP_Code = "", CTCPT_Desc = "", DoctorName = "", CTPCP_SMCNo = ""
                        });

                        DocName = result.ToList();
                    }
                }
                return(DocName);
            }
            catch
            { return(DocName); }
        }
Beispiel #5
0
        public string GetByHN(string hn)
        {
            try
            {
                using (Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls())
                {
                    DataTable dt = ws.GetAllergyByHN(hn);

                    string StrAllery = "";
                    foreach (DataRow dr in dt.Rows)
                    {
                        if (StrAllery == "")
                        {
                            StrAllery = dr["AlgEng_Desc"].ToString();
                        }
                        else
                        {
                            StrAllery += Environment.NewLine + dr["AlgEng_Desc"].ToString();
                        }
                    }
                    if (StrAllery == "")
                    {
                        StrAllery = "No Know Allergy";
                    }
                    return(StrAllery);
                }
            }
            catch (Exception ex)
            {
                Program.MessageError("FunctionDataCls", "GetAllergyByHN(String HN)", ex, false);
                return("");
            }
        }
Beispiel #6
0
 public byte[] getByWebService(string hn)
 {
     try
     {
         using (Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls())
         {
             var img = ws.GetPTImageByHN(hn).AsEnumerable().Select(x => x.Field <byte[]>("docData")).FirstOrDefault();
             if (img != null)
             {
                 return(img);
             }
             else
             {
                 MemoryStream ms = new MemoryStream();
                 Properties.Resources.no_image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                 return(ms.ToArray());
             }
         }
     }
     catch
     {
         MemoryStream ms = new MemoryStream();
         Properties.Resources.no_image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
         return(ms.ToArray());
     }
 }
Beispiel #7
0
        public StatusTransaction WS_GetPTPackageAllStation(ref List <StationStatus> list_StationStatus, int tpr_id)
        {
            try
            {
                using (InhCheckupDataContext cdc = new InhCheckupDataContext())
                {
                    trn_patient_regi patient_regis = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).FirstOrDefault();
                    int en_rowid = Convert.ToInt32(patient_regis.tpr_en_rowid);
                    using (Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls())
                    {
                        var result_datatable = ws.GetPTPackage(en_rowid).AsEnumerable();
                        var result           = result_datatable
                                               .Where(x => (x.Field <string>("OSTAT_Code") == "V" ||
                                                            x.Field <string>("OSTAT_Code") == "E") &&
                                                      x.Field <string>("ARCOS_RowId") != null)
                                               .Select(x => new EntityGetPTPackage
                        {
                            ARCOS_RowId = x.Field <string>("ARCOS_RowId"),
                            ARCOS_Code  = x.Field <string>("ARCOS_Code"),
                            ARCOS_Desc  = x.Field <string>("ARCOS_Desc"),

                            ARCIM_RowId           = x.Field <string>("ARCIM_RowId"),
                            ARCIM_Code            = x.Field <string>("ARCIM_Code"),
                            ARCIM_Desc            = x.Field <string>("ARCIM_Desc"),
                            OEORI_LabTestSetRow   = x.Field <string>("OEORI_LabTestSetRow"),
                            OEORI_AccessionNumber = x.Field <string>("OEORI_AccessionNumber"),
                            ARCIM_Text1           = x.Field <string>("ARCIM_Text1"),
                            OSTAT_Code            = x.Field <string>("OSTAT_Code")
                        }).ToList();
                        var grpStatus = result.GroupBy(x => x.OSTAT_Code);
                        List <StationStatus> list_station = new List <StationStatus>();
                        foreach (var grp in grpStatus)
                        {
                            foreach (var item in grp)
                            {
                                List <int> _mvt_id = cdc.mst_order_plans.Where(x => x.mop_item_row_id == item.ARCIM_RowId).Select(x => x.mvt_id).ToList();
                                foreach (int val in _mvt_id)
                                {
                                    list_station.Add(new StationStatus {
                                        mvt_id = val, status = grp.Key
                                    });
                                }
                            }
                        }
                        list_StationStatus = list_station.GroupBy(x => x.mvt_id).Select(x => new StationStatus
                        {
                            mvt_id = x.Key,
                            status = x.Any(y => y.status == "E") ? "E" : "V"
                        }).ToList();
                        return(StatusTransaction.True);
                    }
                }
            }
            catch (Exception ex)
            {
                Program.MessageError("GetDataFromWSTrakCare", "GetPatientAllStation", ex, false);
                return(StatusTransaction.Error);
            }
        }
Beispiel #8
0
        public List <string> AutoCompleteReqDoc(string txt)
        {
            Service.WS_TrakcareCls ws     = new Service.WS_TrakcareCls();
            List <string>          result = (from t in ws.GetCareprovider(txt).AsEnumerable()
                                             where t.Field <string>("DoctorName").Contains(txt)
                                             select t.Field <string>("DoctorName")).ToList();

            return(result);
        }
Beispiel #9
0
 public ActionResult Main(MasterPackageModel model)
 {
     try
     {
         using (Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls())
         {
             PackageInformationModel pi = new PackageInformationModel();
             pi.string_search          = model.string_search;
             pi.listPackageInformation = ws.GetAllOrderSet(pi.string_search).AsEnumerable()
                                         .Where(x => x.Field <string>("ARCOS_Code") != null && x.Field <string>("ARCOS_Code").Trim() != "" &&
                                                x.Field <string>("ARCOS_Desc") != null && x.Field <string>("ARCOS_Desc").Trim() != "")
                                         .Select(x => new PackageInformation
             {
                 package_code = x.Field <string>("ARCOS_Code"),
                 package_name = x.Field <string>("ARCOS_Desc")
             }).Distinct()
                                         .ToList();
             if (pi.listPackageInformation.Count == 0)
             {
                 return(View(model));
             }
             else
             {
                 return(View("PackageList", pi));
             }
         }
         //using (InhCheckupDataContext cdc = new InhCheckupDataContext())
         //{
         //    PackageInformationModel pi = new PackageInformationModel();
         //    pi.string_search = model.string_search;
         //    pi.listPackageInformation = cdc.trn_patient_order_sets
         //                                   .Where(x => x.tos_od_set_code.ToUpper().StartsWith(model.string_search.ToUpper()))
         //                                   .Select(x => new PackageInformation
         //                                   {
         //                                       package_code = x.tos_od_set_code,
         //                                       package_name = x.tos_od_set_name
         //                                   }).Distinct()
         //                                   .ToList();
         //    if (pi.listPackageInformation.Count == 0)
         //    {
         //        return View(model);
         //    }
         //    else
         //    {
         //        return View("PackageList", pi);
         //    }
         //}
     }
     catch
     {
         return(View(model));
     }
 }
Beispiel #10
0
 public List <CheckupLab> Get(string hn, DateTime dateFrom, DateTime dateTo)
 {
     try
     {
         using (Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls())
         {
             var result = ws.GetCheckupLab(hn, dateFrom.ToString("yyyy-MM-dd"), dateTo.ToString("yyyy-MM-dd")).AsEnumerable();
             return(result.Select(x => new CheckupLab
             {
                 rowid = x.Field <string>("EPVISVisitNumber"),
                 hn = x.Field <string>("DBT_CDE"),
                 en = x.Field <string>("EPI_NO"),
                 age = Convert.ToInt32(x.Field <string>("EPVIS_AGE")),
                 sex = x.Field <string>("EPVIS_SEX") == "Male" ? "M" : x.Field <string>("EPVIS_SEX") == "Female" ? "F" : "",
                 lab_date = new DateTime(
                     Convert.ToInt32(x.Field <string>("EPIVISDateOfCollection").Substring(0, 4)),
                     Convert.ToInt32(x.Field <string>("EPIVISDateOfCollection").Substring(5, 2)),
                     Convert.ToInt32(x.Field <string>("EPIVISDateOfCollection").Substring(8, 2)),
                     (int)(Convert.ToInt32(x.Field <string>("EPIVISTimeOfCollection")) / 60),
                     (int)(Convert.ToInt32(x.Field <string>("EPIVISTimeOfCollection")) % 60),
                     0
                     ),
                 head_lab_code = x.Field <string>("CTTS_CDE"),
                 head_lab_desc = x.Field <string>("CTTS_NME"),
                 lab_code = x.Field <string>("CTTC_CDE"),
                 lab_desc = x.Field <string>("CTTC_DES"),
                 lab_value_number = x.Field <string>("CTTC_RSL_FMT").Contains("N") && x.Field <string>("TST_DTA").Trim().Length > 0 ?
                                    x.Field <string>("TST_DTA").Trim().Substring(0, 1) == "." ? "0" + x.Field <string>("TST_DTA")
                                     : x.Field <string>("TST_DTA")
                                 : x.Field <string>("TST_DTA"),
                 lab_value_string = x.Field <string>("RSL") == null || x.Field <string>("RSL").Trim() == "" ? null : x.Field <string>("RSL").Trim(),
                 lab_unit = x.Field <string>("CTTC_UNT"),
                 lab_range = x.Field <string>("NML"),
                 lab_hl = x.Field <string>("HL") == "H" ? 1 : x.Field <string>("HL") == "L" ? -1 : 0,
                 lab_frs = x.Field <string>("CTTC_RSL_FMT").Contains("N") ? 1 :
                           x.Field <string>("CTTC_RSL_FMT") == "S" ? 2 :
                           x.Field <string>("CTTC_RSL_FMT") == "X" ? 0 :
                           -1,
                 status = x.Field <string>("Status") == "Executed" ? 'E' : 'I',
                 site_code = x.Field <string>("CTHOS_CDE"),
                 lab_seq = (x.Field <string>("Sequen") == null || x.Field <string>("Sequen") == "") ? (int?)null :
                           !IsNumeric(x.Field <string>("Sequen")) ? (int?)null :
                           Convert.ToInt32(x.Field <string>("Sequen"))
             }).ToList());
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Beispiel #11
0
        public trn_basic_measure_hdr getBasicHdr(string hn, string en)
        {
            string   rvisual_out_lens  = null;
            string   lvisual_out_lens  = null;
            string   rvisual_with_lens = null;
            string   lvisual_with_lens = null;
            DateTime dateNow           = Program.GetServerDateTime();

            using (Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls())
            {
                DataSet ds = ws.GetvitalSign(en);
                if (ds != null)
                {
                    if (ds.Tables.Count > 0)
                    {
                        string WithContactLens = ds.Tables[0].Rows[0]["WithContactLens"] == null ? "" : ds.Tables[0].Rows[0]["WithContactLens"].ToString();
                        if (WithContactLens == "N")
                        {
                            rvisual_out_lens = ds.Tables[0].Rows[0]["VisionRt"].ToString();
                            lvisual_out_lens = ds.Tables[0].Rows[0]["VisionLt"].ToString();
                        }
                        else if (WithContactLens == "Y")
                        {
                            rvisual_with_lens = ds.Tables[0].Rows[0]["VisionRt"].ToString();
                            lvisual_with_lens = ds.Tables[0].Rows[0]["VisionLt"].ToString();
                        }
                    }
                }
            }
            trn_basic_measure_hdr tbm = new trn_basic_measure_hdr
            {
                tbm_appearance               = "GD",
                tbm_arrive                   = "WK",
                tbm_create_by                = "System",
                tbm_create_date              = dateNow,
                tbm_precaution               = "SDP",
                tbm_purpose                  = 'W',
                tbm_triage                   = '5',
                tbm_type                     = 'N',
                tbm_update_by                = "System",
                tbm_update_date              = dateNow,
                tbm_vision_lvisual_out_lens  = lvisual_out_lens,
                tbm_vision_lvisual_with_lens = lvisual_with_lens,
                tbm_vision_rvisual_out_lens  = rvisual_out_lens,
                tbm_vision_rvisual_with_lens = rvisual_with_lens
            };

            tbm.trn_basic_measure_dtls.AddRange(getVitalSign(hn, en));
            return(tbm);
        }
Beispiel #12
0
 public EnumerableRowCollection <DataRow> GetPTPackage(int enRowID)
 {
     try
     {
         using (Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls())
         {
             return(ws.GetPTPackage(enRowID).AsEnumerable());
         }
     }
     catch (Exception ex)
     {
         Class.globalCls.MessageError("GetPTPackageCls", "GetPTPackage(int enRowID)", ex.Message);
         return(null);
     }
 }
Beispiel #13
0
 public List <trn_basic_measure_dtl> getVitalSign(string hn, string en)
 {
     using (Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls())
     {
         var result = getVitalSignByHN(hn);
         if (result != null)
         {
             trn_basic_measure_dtl dtl = result.OrderByDescending(x => x.tbd_date).FirstOrDefault();
             return(new List <trn_basic_measure_dtl> {
                 dtl
             });
         }
         return(new List <trn_basic_measure_dtl>());
     }
 }
Beispiel #14
0
 private bool getUser(LogOnModel model)
 {
     using (Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls())
     {
         DataTable dt = ws.LogonTrakcare(model.UserName, model.Password);
         if (dt.Rows.Count >= 1)
         {
             Session["username"] = dt.Rows[0].Field <string>("USERID");
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
Beispiel #15
0
 public string ByGetAllergyByHN(string hn)
 {
     try
     {
         using (Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls())
         {
             var result = ws.GetAllergyByHN(hn).AsEnumerable();
             var strs   = result.Select(x => x.Field <string>("AlgEng_Desc")).Where(x => x != null && x.Trim() != "").ToList();
             return(string.Join(Environment.NewLine, strs));
         }
     }
     catch (Exception ex)
     {
         Class.globalCls.MessageError("GetAllergyCls", "ByGetAllergyByHN", ex.Message);
         throw ex;
     }
 }
Beispiel #16
0
        public void processAll(string SourcePath, string LocalPath, string LocalPathSuccess, string LocalPathError, string LocalPathLog, DateTime dateNow, string LocalPathRerun, string IsRerun, string LocalPathOtherLocation, Boolean IsLoadDatafromWebservice)
        {
            //Step 1 : DTS from Flat file to SQL Server
            DateTime DTCurrent = DateTime.Now;

            char[] delimiter  = { '|' };
            string formatDate = "yyyy-MM-dd";

            Service.WS_TrakcareCls ws_trak = new Service.WS_TrakcareCls();
            DataTable dtArr = ws_trak.GetPTArrivedIncaseFlatFileNotGen(dateNow.ToString(formatDate));

            foreach (DataRow drArr in dtArr.Rows)
            {
                string EN       = string.Empty;
                string Location = string.Empty;
                int    res      = 0;
                try
                {
                    Location = string.Empty;
                    EN       = drArr["PAADM_ADMNo"].ToString();
                    Location = drArr["CTLOC_Code"].ToString();

                    if (EN != string.Empty)
                    {
                        res = serviceGetPTArrivedCheckupFilter(Location, EN, dateNow);
                    }
                    if (res == 1)    //success
                    {
                        string PathSuccess = LocalPathSuccess + DateTime.Now.ToString(formatDate);
                        string FileSuccess = PathSuccess + "\\" + EN + "_S_" + Location + ".txt";
                        if (!Directory.Exists(PathSuccess))
                        {
                            Directory.CreateDirectory(PathSuccess);
                        }
                        if (!File.Exists(FileSuccess))
                        {
                            File.AppendAllText(FileSuccess, "Success : DateTime = " + DateTime.Now.ToString());
                        }
                    }
                }
                catch (Exception ex)
                {
                }
            }
        }
Beispiel #17
0
        protected void btnRetrieve_Click(object sender, EventArgs e)
        {
            lbAlert.Text      = "";
            txtUserLogin.Text = txtUserLogin.Text.Trim();
            if (txtUserLogin.Text.Length > 0)
            {
                Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls();
                DataTable dt = ws.getUser(txtUserLogin.Text);
                if (dt.Rows.Count > 0)
                {
                    txtUserLogin.Text = dt.Rows[0]["SSUSR_Initials"].ToString();
                    string name = dt.Rows[0]["SSUSR_Name"].ToString();
                    if (name.Length > 0)
                    {
                        var sName = name.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
                        txtFirstName.Text = sName.FirstOrDefault();
                        txtLastName.Text  = sName.LastOrDefault();

                        //txtFirstName.Text = name.Substring(0, name.IndexOf(" ")).Trim();
                        //txtLastName.Text = name.Substring(name.IndexOf(" ")).Trim();
                    }
                    else
                    {
                        lbAlert.Text      = "Unknown User's Name.";
                        txtFirstName.Text = "";
                        txtLastName.Text  = "";
                    }
                    chActive.Checked = true;
                }
                else
                {
                    lbAlert.Text      = "User Not Found.";
                    txtFirstName.Text = "";
                    txtLastName.Text  = "";
                    chActive.Checked  = false;
                }
            }
            else
            {
                lbAlert.Text      = "Please Insert Username.";
                txtFirstName.Text = "";
                txtLastName.Text  = "";
                chActive.Checked  = false;
            }
        }
Beispiel #18
0
 private EnumerableRowCollection <DataRow> retrieveVitalSign(string hn)
 {
     try
     {
         using (InhCheckupDataContext cdc = new InhCheckupDataContext())
         {
             List <string> checkupCode = cdc.mst_hpc_sites.Where(x => x.mhs_status == 'A' && x.mhs_other_clinic == false).Select(x => x.mhs_code).ToList();
             using (Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls())
             {
                 var result = ws.GetVitalSignByHN(hn).AsEnumerable();
                 var a      = result.Where(x => checkupCode.Contains(x.Field <string>("CTLOC_Code"))).ToList();
                 return(result);
             }
         }
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
Beispiel #19
0
        public DataTable genTableListPaymentAgreement(string payor)
        {
            Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls();
            DataTable dt = ws.ListPaymentAgreement(payor);

            // string tmpStr = "<td>No.</td><td>Code</td><td>Desc</td><td>...</td>";
            //string tmpStr = "";
            ////int i = 0;
            //string strsplit = "";
            //foreach (DataRow dr in dt.Rows)
            //{
            //    tmpStr +=strsplit + dr["AUXIT_Code"].ToString() +","+ dr["AUXIT_Desc"].ToString().Replace(",","|x|");
            //    strsplit = "|*|";
            //    //tmpStr += "<tr><td>" + (i + 1).ToString() + "</td><td>" + dr["AUXIT_Code"].ToString() + "</td>";
            //    //tmpStr += "<td>" + dr["AUXIT_Desc"].ToString() + "</td>";
            //    //tmpStr += "<td><button type='button' id='btnTest' onclick='delRowPayAgree(" + i.ToString() + ")'>X</button></td></tr>";
            //    //i++;
            //}
            return(dt);
        }
Beispiel #20
0
        public List <trn_out_department> getOutDepartment(string hn, string siteCode, DateTime date)
        {
            DateTime dateNow = Program.GetServerDateTime();

            using (Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls())
            {
                var result = ws.getApptByHN(hn, siteCode, date.ToString("yyyy-MM-dd")).AsEnumerable();
                List <trn_out_department> tod = result.Select(x => new trn_out_department
                {
                    tod_desc        = x.Field <string>("SER_Desc"),
                    tod_location    = x.Field <string>("CTLOC_Desc"),
                    tod_start_date  = convToDateTime(x.Field <TimeSpan>("AS_SessStartTime"), x.Field <DateTime>("AS_Date")),
                    tod_create_by   = null,
                    tod_create_date = dateNow,
                    tod_update_by   = null,
                    tod_update_date = dateNow
                }).ToList();
                return(tod);
            }
        }
Beispiel #21
0
        private string GetAllergyByHN(String HN)
        {
            try
            {
                Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls();
                DataTable dt = ws.GetAllAllergyByHN(HN);

                List <string> allery = dt.AsEnumerable().Select(x => x.Field <string>("Allergy")).ToList();
                if (allery != null && allery.Count() > 0)
                {
                    return(string.Join(Environment.NewLine, allery));
                }
                return("No Know Allergy");
            }
            catch (Exception ex)
            {
                Program.MessageError("RetrieveArrivedCls", "GetAllergyByHN", ex, false);
                return("");
            }
        }
Beispiel #22
0
 private string getPackageName(string package_code)
 {
     try
     {
         using (Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls())
         {
             return(ws.GetAllOrderSet(package_code).AsEnumerable()
                    .Where(x => x.Field <string>("ARCOS_Code") != null && x.Field <string>("ARCOS_Code").Trim() != "" &&
                           x.Field <string>("ARCOS_Desc") != null && x.Field <string>("ARCOS_Desc").Trim() != "")
                    .Select(x => x.Field <string>("ARCOS_Desc")).FirstOrDefault());
             //return cdc.trn_patient_order_sets
             //          .Where(x => x.tos_od_set_code == package_code)
             //          .Select(x => x.tos_od_set_name)
             //          .FirstOrDefault();
         }
     }
     catch
     {
         return("");
     }
 }
Beispiel #23
0
 public byte[] ByGetPTImageByHN(string hn)
 {
     try
     {
         using (Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls())
         {
             var img = ws.GetPTImageByHN(hn).AsEnumerable().Select(x => x.Field <byte[]>("docData")).FirstOrDefault();
             if (img == null)
             {
                 System.IO.MemoryStream ms = new System.IO.MemoryStream();
                 Properties.Resources.no_image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                 return(ms.ToArray());
             }
             return(img);
         }
     }
     catch (Exception ex)
     {
         Class.globalCls.MessageError("GetPatientImageCls", "ByGetPTImageByHN", ex.Message);
         throw ex;
     }
 }
Beispiel #24
0
        private bool Login1(string strUsername, string strPassword)
        {
            Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls();
            DataTable dt = ws.LogonTrakcare(strUsername, strPassword);

            if (dt.Rows.Count > 0)
            {
                using (InhToDoListDataContext dbc = new InhToDoListDataContext())
                {
                    var objcurrentuser = (from t1 in dbc.mst_user_logins
                                          where t1.mul_user_login == strUsername
                                          select t1).FirstOrDefault();
                    if (objcurrentuser != null && (objcurrentuser.mul_user_login == "Admin" && strPassword == "nimd@"))
                    {
                        Constant.CurrentUserLogin = strUsername;
                        return(true);
                    }
                    else
                    {
                        Constant.CurrentUserLogin = "";
                        return(false);
                    }
                }
            }
            else
            {
                if (strUsername == "Admin" && strPassword == "nimd@")
                {
                    Constant.CurrentUserLogin = strUsername;
                    return(true);
                }
                else
                {
                    Constant.CurrentUserLogin = "";
                    return(false);
                }
            }
        }
Beispiel #25
0
 public byte[] GetImageByWS(string hn)
 {
     try
     {
         using (Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls())
         {
             var img = ws.GetPTImageByHN(hn).AsEnumerable().Select(x => x.Field <byte[]>("docData")).FirstOrDefault();
             if (img == null)
             {
                 return(GetDefaultImage());
             }
             else
             {
                 return(img);
             }
         }
     }
     catch (Exception ex)
     {
         Program.MessageError("GetPatientImageCls", "GetImageByWS(string hn)", ex, false);
         return(GetDefaultImage());
     }
 }
Beispiel #26
0
        public List <trn_basic_measure_dtl> getVitalSignByHN(string hn)
        {
            using (Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls())
            {
                DateTime  dateNow = Program.GetServerDateTime();
                DataTable dt      = ws.GetVitalSignByHN(hn);
                if (dt != null)
                {
                    if (dt.Rows.Count > 0)
                    {
                        List <trn_basic_measure_dtl> bmDtl = new List <trn_basic_measure_dtl>();
                        var result = dt.AsEnumerable()
                                     .GroupBy(x => x.Field <DateTime>("OBS_Date").Add(x.Field <TimeSpan>("OBS_Time")))
                                     .OrderByDescending(x => x.Key)
                                     .Take(5);
                        foreach (var re in result)
                        {
                            trn_basic_measure_dtl dtl = new trn_basic_measure_dtl();
                            foreach (var item in re)
                            {
                                int itemNo = item.Field <int>("OBS_Item_DR");
                                switch (itemNo)
                                {
                                case 230:
                                    dtl.tbd_weight = item.Field <string>("OBS_Value");
                                    break;

                                case 231:
                                    dtl.tbd_height = item.Field <string>("OBS_Value");
                                    break;

                                case 11:
                                    dtl.tbd_temp = item.Field <string>("OBS_Value");
                                    break;

                                case 129:
                                    dtl.tbd_systolic = item.Field <string>("OBS_Value");
                                    break;

                                case 128:
                                    dtl.tbd_diastolic = item.Field <string>("OBS_Value");
                                    break;

                                case 9:
                                    dtl.tbd_pulse = item.Field <string>("OBS_Value");
                                    break;

                                case 10:
                                    dtl.tbd_rr = item.Field <string>("OBS_Value");
                                    break;

                                case 134:
                                    dtl.tbd_bmi = item.Field <string>("OBS_Value");
                                    break;

                                case 176:
                                    dtl.tbd_waist = item.Field <string>("OBS_Value");
                                    break;

                                case 173:
                                    dtl.tbd_vision_lt = item.Field <string>("OBS_Value");
                                    break;

                                case 174:
                                    dtl.tbd_vision_rt = item.Field <string>("OBS_Value");
                                    break;

                                case 281:
                                    dtl.tbd_vision_with_lens = (item.Field <string>("OBS_Value") == "Y" || item.Field <string>("OBS_Value") == "y") ? true : false;
                                    break;
                                }
                            }
                            dtl.tbd_date        = re.Key;
                            dtl.tbd_create_by   = Program.CurrentUser.mut_username;
                            dtl.tbd_create_date = dateNow;
                            dtl.tbd_update_by   = Program.CurrentUser.mut_username;
                            dtl.tbd_update_date = dateNow;
                            bmDtl.Add(dtl);
                        }
                        return(bmDtl);
                    }
                }
            }
            return(null);
        }
Beispiel #27
0
        public bool GetInfo(int tpr_id)
        {
            try
            {
                using (InhCheckupDataContext cdc = new InhCheckupDataContext())
                {
                    trn_patient_regi patient_regis = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).FirstOrDefault();
                    string           hn            = patient_regis.trn_patient.tpt_hn_no;
                    using (Service.WS_TrakcareCls ws_trak = new Service.WS_TrakcareCls())
                    {
                        var info = ws_trak.GetPTInfoByHN(hn).AsEnumerable()
                                   .Select(x => new
                        {
                            PAPMI_No              = x.Field <string>("PAPMI_No"),
                            PAPMI_DOB             = x.Field <DateTime>("PAPMI_DOB"),
                            PAPMI_Name            = x.Field <string>("PAPMI_Name"),
                            PAPMI_Name2           = x.Field <string>("PAPMI_Name2"),
                            PAPMI_Name3           = x.Field <string>("PAPMI_Name3"),
                            PAPMI_Name5           = x.Table.Columns.Contains("PAPMI_Name5") ? x.Field <string>("PAPMI_Name5") : "",
                            PAPMI_Name6           = x.Table.Columns.Contains("PAPMI_Name6") ? x.Field <string>("PAPMI_Name6") : "",
                            PAPMI_Name7           = x.Table.Columns.Contains("PAPMI_Name7") ? x.Field <string>("PAPMI_Name7") : "",
                            PAPER_PrefLanguage_DR = x.Field <int>("PAPER_PrefLanguage_DR"),
                            PAPER_AgeYr           = x.Field <string>("PAPER_AgeYr"),
                            PAPER_AgeMth          = x.Field <string>("PAPER_AgeMth"),
                            PAPER_AgeDay          = x.Field <string>("PAPER_AgeDay"),
                            TTL_Desc              = x.Field <string>("TTL_Desc"),
                            CTSEX_Code            = x.Field <string>("CTSEX_Code"),
                            CTSEX_Desc            = x.Field <string>("CTSEX_Desc"),
                            PAPMI_DOB1            = x.Field <DateTime>("PAPMI_DOB1"),
                            PAPMI_DOB_TEXT        = x.Field <string>("papmi_dob_text"),
                            PAPER_StName          = x.Field <string>("PAPER_StName"),
                            CTZIP_Code            = x.Field <string>("CTZIP_Code"),
                            CTZIP_Desc            = x.Field <string>("CTZIP_Desc"),
                            CTNAT_Desc            = x.Field <string>("CTNAT_Desc"),
                            //addby  Artist 18/01/2016
                            Area     = x.Field <string>("Area"),
                            City     = x.Field <string>("City"),
                            Province = x.Field <string>("Province")
                        }).FirstOrDefault();

                        string[] dobText   = info.PAPMI_DOB_TEXT.Split('-');
                        string   dobString = "";
                        if (dobText.Count() == 3)
                        {
                            dobString = dobText[2] + "/" + dobText[1] + "/" + dobText[0];
                        }

                        patient_regis.trn_patient.tpt_dob_text    = dobString;
                        patient_regis.trn_patient.tpt_hn_no       = info.PAPMI_No;
                        patient_regis.trn_patient.tpt_dob         = info.PAPMI_DOB;
                        patient_regis.trn_patient.tpt_pre_name    = info.TTL_Desc;
                        patient_regis.trn_patient.tpt_first_name  = info.PAPMI_Name;
                        patient_regis.trn_patient.tpt_last_name   = info.PAPMI_Name2;
                        patient_regis.trn_patient.tpt_gender      = info.CTSEX_Code == "M" ? 'M' : 'F';
                        patient_regis.trn_patient.tpt_nation_desc = info.CTNAT_Desc;
                        //addby  Artist 18/01/2016
                        patient_regis.tpr_main_address   = info.PAPER_StName;
                        patient_regis.tpr_main_tumbon    = info.Area;
                        patient_regis.tpr_main_amphur    = info.City;
                        patient_regis.tpr_main_province  = info.Province;
                        patient_regis.tpr_other_address  = info.PAPER_StName;
                        patient_regis.tpr_other_tumbon   = info.Area;
                        patient_regis.tpr_other_amphur   = info.City;
                        patient_regis.tpr_other_province = info.Province;
                        //
                        patient_regis.tpr_main_zip_code  = info.CTZIP_Code;
                        patient_regis.tpr_other_zip_code = info.CTZIP_Code;

                        patient_regis.trn_patient.tpt_en_name1 = info.PAPMI_Name5;
                        patient_regis.trn_patient.tpt_en_name2 = info.PAPMI_Name6;
                        patient_regis.trn_patient.tpt_en_name3 = info.PAPMI_Name7;
                        //update image  add by m 08/05/2017 dd/mm/yyyy

                        patient_regis.trn_patient.tpt_image = new APITrakcare.GetPatientImageCls().GetImageByWS(info.PAPMI_No);
                        try
                        {
                            string tname    = string.IsNullOrEmpty(info.TTL_Desc) ? "" : info.TTL_Desc.Trim();
                            string fname    = string.IsNullOrEmpty(info.PAPMI_Name) ? "" : " " + info.PAPMI_Name.Trim();
                            string mname    = string.IsNullOrEmpty(info.PAPMI_Name3) ? "" : " " + info.PAPMI_Name3.Trim();
                            string lname    = string.IsNullOrEmpty(info.PAPMI_Name2) ? "" : " " + info.PAPMI_Name2.Trim();
                            string fullname = (tname + fname + mname + lname).Trim();
                            patient_regis.trn_patient.tpt_fullname  = fullname;
                            patient_regis.trn_patient.tpt_othername = fullname;
                        }
                        catch (Exception ex)
                        {
                            try
                            {
                                string tname    = string.IsNullOrEmpty(info.TTL_Desc) ? "" : info.TTL_Desc.Trim();
                                string fname    = string.IsNullOrEmpty(info.PAPMI_Name) ? "" : " " + info.PAPMI_Name.Trim();
                                string lname    = string.IsNullOrEmpty(info.PAPMI_Name2) ? "" : " " + info.PAPMI_Name2.Trim();
                                string fullname = (tname + fname + lname).Trim();
                                patient_regis.trn_patient.tpt_othername = fullname;
                            }
                            catch
                            {
                            }
                            Program.MessageError("GetDataFromTrakCare", "tpt_fullname", ex, false);
                        }

                        cdc.SubmitChanges();
                    }
                }
                return(true);
            }
            catch
            {
            }
            return(false);
        }
Beispiel #28
0
        private void CallWebservice() //grid view diagnosis
        {
            if (Program.CurrentRegis != null)
            {
                using (Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls())
                {
                    using (InhCheckupDataContext dbc = new InhCheckupDataContext())
                    {
                        int tprid = Program.CurrentRegis.tpr_id;
                        trn_patient_regi currentRegis = (from t1 in dbc.trn_patient_regis where t1.tpr_id == tprid select t1).FirstOrDefault();
                        if (currentRegis != null)
                        {
                            string HNno       = currentRegis.trn_patient.tpt_hn_no;
                            string ENno       = currentRegis.tpr_en_no;
                            string Doctorcode = Program.CurrentUser.mut_username;

                            var currentobsChief = (trn_obstetric_chief)bsObstestricChief.Current;


                            DataTable dt = ws.GetDiagnosisByDoctor("01-92-006363", "O01-12-876565", "001915668");//(HNno, ENno, Doctorcode); //
                            gvDiagnosis.AutoGenerateColumns = false;
                            foreach (DataRow dr in dt.Rows)
                            {
                                bsObstetricDiag.AddNew();
                                var pa = (trn_obstetric_diag)bsObstetricDiag.Current;
                                pa.toc_id          = currentobsChief.toc_id;
                                pa.obg_diag_code   = dr["MRCID_Code"].ToString();
                                pa.obg_diag_desc   = dr["MRCID_Desc"].ToString();
                                pa.obg_diag_type   = dr["DTYP_Desc"].ToString();
                                pa.obg_diag_date   = Convert.ToDateTime(dr["MRDIA_Date"]);
                                pa.obg_create_by   = Program.CurrentUser.mut_username;
                                pa.obg_update_by   = pa.obg_create_by;
                                pa.obg_create_date = Program.GetServerDateTime();
                                pa.obg_update_date = pa.obg_create_date;
                            }
                            //gvDiagnosis.DataSource = dt;

                            //TakeCare 2016
                            //DataTable dt2 = ws.GetMedicineByDoctor("01-92-006363", "O01-12-876565", "001915668");//(HNno, ENno, Doctorcode);//
                            //gvMedicationTreatment.AutoGenerateColumns = false;
                            //foreach (DataRow dr in dt2.Rows)
                            //{
                            //    bsObstetricMed.AddNew();
                            //    var pa = (trn_obstetric_med)bsObstetricMed.Current;
                            //    pa.toc_id = currentobsChief.toc_id;
                            //    pa.obm_med_code = dr["ARCIM_Code"].ToString();
                            //    pa.obm_med_desc = dr["ARCIM_Desc"].ToString();
                            //    pa.obm_desc = dr["PHCFR_Desc1"].ToString();
                            //    pa.obm_qty = dr["OEORI_DoseQty"].ToString();
                            //    pa.obm_unit = dr["CTUOM_Desc2"].ToString();
                            //    pa.obm_eat_unit = dr["PHCIN_Desc1"].ToString();
                            //    pa.obm_create_by = Program.CurrentUser.mut_username;
                            //    pa.obm_update_by = pa.obm_create_by;
                            //    pa.obm_create_date = Program.GetServerDateTime();
                            //    pa.obm_update_date = pa.obm_create_date;
                            //}
                            // gvMedicationTreatment.DataSource = dt2;
                        }
                    }
                }
            }
        }
Beispiel #29
0
        //end suriya 18/03/2015

        public int serviceGetPTArrivedCheckupFilter(string SiteCode, string en, DateTime dateNow)
        {
            try
            {
                SiteCode = returnMainSite(SiteCode);//add suriya 15/08/2016
                using (InhCheckupDataContext cdc = new InhCheckupDataContext())
                {
                    if (cdc.tmp_getptarriveds.Any(t => t.paadm_admno == en && t.ctloc_code == SiteCode))//add suriya 24/03/2015
                    {
                        return(-1);
                    }

                    Service.WS_TrakcareCls ws_trak = new Service.WS_TrakcareCls();
                    var result = ws_trak.GetPTArrivedCheckUpFilter(SiteCode, en, dateNow.ToString("yyyy-MM-dd")).AsEnumerable();


                    tmp_getptarrived patient_arrive = result.Select(x => new tmp_getptarrived
                    {
                        paadm_type_of_patient_calc = x.Field <string>("PAADM_Type_of_Patient_Calc"),
                        paadm_rowid      = x.Field <int>("PAADM_RowID").ToString(),
                        appt_rowid       = x.Field <string>("APPT_RowId"),
                        appt_arrivaltime = x.Field <TimeSpan>("APPT_ArrivalTime").ToString(),
                        paadm_admdate    = x.Field <DateTime?>("PAADM_AdmDate"),
                        allergy_eng      = GetAllergyByHN(x.Field <string>("PAPMI_No")),//call webserice
                        paadm_admno      = x.Field <string>("PAADM_ADMNo"),
                        papmi_no         = x.Field <string>("PAPMI_No"),
                        ttl_desc         = x.Field <string>("TTL_Desc"),
                        papmi_name       = x.Field <string>("PAPMI_Name"),
                        papmi_name2      = x.Field <string>("PAPMI_Name2"),
                        appt_transdate   = x.Field <DateTime?>("APPT_TransDate"),
                        appt_datesearch  = x.Field <DateTime?>("APPT_DateSearch"),
                        paadm_admtime    = x.Field <TimeSpan>("PAADM_admTime").ToString(),
                        ctloc_code       = returnMainSite(x.Field <string>("CTLOC_Code")),
                        ctloc_desc       = x.Field <string>("CTLOC_Desc"),
                        penstype_code    = x.Field <string>("PENSTYPE_Code"),
                        penstype_desc    = x.Field <string>("PENSTYPE_Desc"),
                        ser_rowid        = x.Field <int>("SER_RowId"),
                        ser_desc         = x.Field <string>("SER_Desc"),
                        ctnat_code       = x.Field <string>("CTNAT_Code"),
                        ctnat_desc       = x.Field <string>("CTNAT_Desc"),
                        ctsex_code       = x.Field <string>("CTSEX_Code"),
                        ctsex_desc       = x.Field <string>("CTSEX_Desc"),
                        papmi_dob        = x.Field <DateTime?>("PAPMI_DOB"),
                        //paper_photo = getImagePatient(x.Field<string>("PAPER_Photo")),
                        paper_photo = new GetPatientImage().getByWebService(x.Field <string>("PAPMI_No")),
                        //paper_photo_path = x.Field<string>("PAPER_Photo"),
                        paper_ageyr    = x.Field <string>("PAPER_AgeYr"),
                        paper_agemth   = x.Field <string>("PAPER_AgeMth"),
                        paper_ageday   = x.Field <string>("PAPER_AgeDay"),
                        paper_stname   = x.Field <string>("PAPER_StName"),
                        citarea_desc   = x.Field <string>("CITAREA_Desc"),
                        prov_desc      = x.Field <string>("PROV_Desc"),
                        ctcit_desc     = x.Field <string>("CTCIT_Desc"),
                        ctzip_code     = x.Field <string>("CTZIP_Code"),
                        paper_id       = x.Field <string>("PAPER_ID"),
                        paper_telo     = x.Field <string>("PAPER_TelO"),
                        paper_telh     = x.Field <string>("PAPER_TelH"),
                        paper_mobphone = x.Field <string>("PAPER_MobPhone"),
                        paper_email    = x.Field <string>("PAPER_Email"),

                        ctmar_desc  = x.Field <string>("CTMAR_Desc"),
                        paper_name5 = x.Field <string>("PAPER_Name5"),
                        paper_name6 = x.Field <string>("PAPER_Name6"),
                        paper_name7 = x.Field <string>("PAPER_Name7"),

                        papmi_dob_text = x.Field <string>("papmi_dob_text")
                    }).FirstOrDefault();
                    if (patient_arrive != null)
                    {
                        if (!cdc.tmp_getptarriveds.Any(t => t.paadm_admno == en && t.ctloc_code == SiteCode))
                        {
                            cdc.tmp_getptarriveds.InsertOnSubmit(patient_arrive);
                            cdc.SubmitChanges();
                        }
                    }
                    return(0);
                }
            }
            catch (Exception ex)
            {
                throw ex; //add  suriya 24/03/2015
            }
        }
Beispiel #30
0
        public CheckupLabResult ByGetCheckupLab(string hn, DateTime startDate, DateTime endDate, string enCurrent = "")//add enCurrent suriya 30/06/2017
        {
            try
            {
                string enHomer = string.Empty;//add  suriya 30/06/2017
                using (Service.WS_TrakcareCls ws = new Service.WS_TrakcareCls())
                {
                    //add  suriya 30/06/2017
                    if (enCurrent.ToUpper().Contains("I"))
                    {
                        DataTable ENDetails = ws.GetEPIRowIDByEN(enCurrent);
                        enHomer = ENDetails.Rows[0]["PAADM_HomerID"].ToString();
                    }
                    System.Threading.Thread.CurrentThread.CurrentCulture
                        = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");

                    //end  suriya 30/06/2017
                    var RawMateWS = ws.GetCheckupLab(hn, startDate.ToString("yyyy-MM-dd"), endDate.ToString("yyyy-MM-dd")).AsEnumerable();
                    // var RawMateWS = ws.GetCheckupLab(hn, "2018-02-01", endDate.ToString("yyyy-MM-dd")).AsEnumerable();
                    var RawMateGroups = RawMateWS.Where(x => x.Field <string>("EPI_NO").Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Count() > 0)
                                        .GroupBy(x => x.Field <string>("EPI_NO").Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)[0]).ToList();

                    var result = ws.GetPTInfoByHN(hn).AsEnumerable()
                                 .Select(x => new CheckupLabResult
                    {
                        hn  = hn,
                        sex = x.Field <string>("CTSEX_Code"),
                        dob = x.Field <DateTime>("PAPMI_DOB")
                    }).FirstOrDefault();
                    if (result != null)
                    {
                        using (InhCheckupDataContext cdc = new InhCheckupDataContext())
                        {
                            //var DateRaw = RawMateGroups.Select(z =>  z.Field<string>("EPIVISDateOfCollection") );


                            result.episodes = RawMateGroups.Select(x => new Episode
                            {
                                //en = x.Key, del suriya 30/06/2017
                                en = enHomer == x.Key ? enCurrent : x.Key, //add suriya 30/06/2017


                                //labdates = x.GroupBy(y => new DateTime(
                                //                        Convert.ToInt32( y.Field<string>("EPIVISDateOfCollection").Substring(0, 4)  ),
                                //                        Convert.ToInt32( y.Field<string>("EPIVISDateOfCollection").Substring(5, 2)   ),
                                //                        Convert.ToInt32(  y.Field<string>("EPIVISDateOfCollection").Substring(8, 2) )  )
                                //2017-07-19



                                //   change EPIVISDateOfCollection -> DTE_OF_RCV artist.su 24/08/2017
                                //labdates = x.GroupBy(y => new DateTime(
                                //                        Convert.ToInt32(y.Field<string>("DTE_OF_RCV").Substring(0, 4) == "1840" ? y.Field<string>("EPIVISDateOfCollection").Substring(0, 4) : y.Field<string>("DTE_OF_RCV").Substring(0, 4)),
                                //                        Convert.ToInt32(y.Field<string>("DTE_OF_RCV").Substring(0, 4) == "1840" ? y.Field<string>("EPIVISDateOfCollection").Substring(5, 2) : y.Field<string>("DTE_OF_RCV").Substring(5, 2)),
                                //                        Convert.ToInt32(y.Field<string>("DTE_OF_RCV").Substring(0, 4) == "1840" ? y.Field<string>("EPIVISDateOfCollection").Substring(8, 2) : y.Field<string>("DTE_OF_RCV").Substring(8, 2))
                                //                        )

                                //     labdates = x.GroupBy(y => new DateTime(Convert.ToInt32("2017"), Convert.ToInt32("07"), Convert.ToInt32("19"))
                                //2017-10-30  labdate แก้ 1840 / lab  ผิดพลาด
                                labdates = x.GroupBy(y => new DateTime(
                                                         Convert.ToInt32(y.Field <string>("VISTSDateOfReceive").Substring(0, 4)),
                                                         Convert.ToInt32(y.Field <string>("VISTSDateOfReceive").Substring(5, 2)),
                                                         Convert.ToInt32(y.Field <string>("VISTSDateOfReceive").Substring(8, 2)))

                                                     ).Select(y => new LabDate
                                {
                                    labdate = y.Key,
                                    labs    = (from lab in y
                                               join mhs in new LabClass.MappingLocationCls().Mapping()
                                               on lab.Field <string>("CTHOS_CDE") equals mhs.subcode into l
                                               from m in l.DefaultIfEmpty()
                                               select new Lab
                                    {
                                        rowid = lab.Field <string>("EPVISVisitNumber"),
                                        age = lab.Field <string>("EPVIS_AGE") == null
                                                                 ? (int?)null
                                                                 : !IsNumeric(lab.Field <string>("EPVIS_AGE"))
                                                                 ? (int?)null
                                                                 : Convert.ToInt32(lab.Field <string>("EPVIS_AGE")),
                                        headcode = lab.Field <string>("CTTS_CDE"),
                                        headdesc = lab.Field <string>("CTTS_NME"),
                                        code = lab.Field <string>("CTTC_CDE"),
                                        labname = lab.Field <string>("CTTC_DES"),
                                        //valuenumber = (string.IsNullOrWhiteSpace(lab.Field<string>("TST_DTA")) || string.IsNullOrEmpty(lab.Field<string>("TST_DTA"))) && string.IsNullOrEmpty(lab.Field<string>("VISTD_CMM"))
                                        //              ? null
                                        //              :  string.IsNullOrEmpty(lab.Field<string>("VISTD_CMM")) == false  ?  lab.Field<string>("VISTD_CMM").Trim()
                                        //              : string.IsNullOrWhiteSpace(lab.Field<string>("TST_DTA")) || string.IsNullOrEmpty(lab.Field<string>("TST_DTA")) ? null
                                        //              : lab.Field<string>("TST_DTA").Trim().Substring(0, 1) == "."
                                        //              ? "0" + lab.Field<string>("TST_DTA").Trim()

                                        //              : lab.Field<string>("TST_DTA").Trim(),


                                        //                var tmbLength = tmbPlus < 1 && tmbDiv < 1 ? value.Length - 3 :
                                        //                tmbPlus > 1 ? value.Length - tmbPlus :
                                        //                tmbDiv > 1 ? value.Length - tmbDiv : value.Length - 3;
                                        //               var tmbReturn = value.Substring(3, tmbLength);
                                        valuenumber = string.IsNullOrWhiteSpace(lab.Field <string>("TST_DTA")) || string.IsNullOrEmpty(lab.Field <string>("TST_DTA"))
                                                                         ? null
                                                                         : lab.Field <string>("TST_DTA").Trim().Substring(0, 1) == "."
                                                                         ? "0" + lab.Field <string>("TST_DTA").Trim()
                                                                         : lab.Field <string>("TST_DTA").Trim().Contains("<.")
                                                                         ? lab.Field <string>("TST_DTA").Trim().Replace("<.", "<0.")
                                                                         : lab.Field <string>("TST_DTA").Trim().Contains(">.")
                                                                         ? lab.Field <string>("TST_DTA").Trim().Replace(">.", ">0.")
                                                                         : lab.Field <string>("TST_DTA").Trim().Substring(0, 1).IsNormalized() == false
                                                                         ? lab.Field <string>("TST_DTA").Trim().Substring(1, lab.Field <string>("TST_DTA").Trim().Length - 1)
                                                                         : lab.Field <string>("TST_DTA").Trim(),
                                        valuestring = lab.Field <string>("RSL") == null && lab.Field <string>("TST_DTA") == null
                                                                         ? null
                                                                         : string.IsNullOrEmpty(lab.Field <string>("RSL")) == false ? lab.Field <string>("RSL").Trim()
                                                                         : string.IsNullOrEmpty(lab.Field <string>("TST_DTA")) == false ? lab.Field <string>("TST_DTA").Trim()
                                                                         : string.IsNullOrEmpty(lab.Field <string>("RSL")) ? null
                                                                         : lab.Field <string>("RSL").Trim(),
                                        unit = lab.Field <string>("CTTC_UNT"),
                                        range = lab.Field <string>("NML"),
                                        hl = lab.Field <string>("HL") == "H" ? 1 : lab.Field <string>("HL") == "L" ? -1 : 0,
                                        frs = lab.Field <string>("CTTC_RSL_FMT") == null ? -1
                                                                 : lab.Field <string>("CTTC_RSL_FMT").Contains("N") ? 1
                                                                 : lab.Field <string>("CTTC_RSL_FMT") == "S" ? 2
                                                                 : lab.Field <string>("CTTC_RSL_FMT") == "X" ? 0
                                                                 : -1,
                                        seq = lab.Field <string>("Sequen") == null || lab.Field <string>("Sequen") == ""
                                                                 ? (int?)null
                                                                 : !IsNumeric(lab.Field <string>("Sequen")) ? (int?)null
                                                                 : Convert.ToInt32(lab.Field <string>("Sequen")),
                                        location = lab.Field <string>("CTHOS_CDE"),
                                        status = lab.Field <string>("Status") == "Executed" ? 'E'
                                                                    : lab.Field <string>("Status") == "D/C (Discontinued)" ? 'D'
                                                                    : 'I',
                                        mhs_id = m == null ? (int?)null : m.mainid,
                                        mhs_ename = m == null ? null : m.maindesc,
                                        mhs_tname = m == null ? null : m.maindesc
                                    }).ToList()
                                }).ToList()
                            }).ToList();
                        }
                    }
                    return(result);
                }
            }
            catch (Exception ex)
            {
                Class.globalCls.MessageError("GetCheckupLabCls", "ByGetCheckupLab", ex.Message);
                throw ex;
            }
        }