Esempio n. 1
0
 public IHttpActionResult getRebatePercentage(string ptCode)
 {
     try
     {
         var patientHi = new PatientHIDTO();
         if (ptCode.Length == 15)
         {
             var insInterestsCode = ptCode.Trim().Substring(0, 3);
             var ls = getRebatePercentage(1, insInterestsCode);
             if (ls.Count == 0)
             {
                 return(Ok(new { data = false, Err = 2 })); //"Mã BHYT không suy được mức hưởng BH!"
             }
             else
             {
                 patientHi.RebatePercentage = Convert.ToDouble(ls[0]);
                 patientHi.IBID             = Convert.ToInt32(ls[1]);
                 patientHi.InsInterestsCode = insInterestsCode;
                 return(Ok(new { data = true, HI = patientHi }));
             }
         }
         else
         {
             return(Ok(new { data = false, Err = 6 })); // "Mã thẻ BHYT không chính xác!"
         }
     }
     catch (Exception exp)
     {
         return(BadRequest(exp.ToString()));
     }
 }
Esempio n. 2
0
        public IHttpActionResult splitPatientHI(string ptHI)
        {
            try
            {
                var  patientHi = new PatientHIDTO();
                var  arrObject = ptHI.Split('|');
                bool flag      = true;
                var  err       = 0;
                if (arrObject.Length > 13)
                {
                    var insInterestsCode = arrObject[0].Trim().Substring(0, 3);
                    var ls = getRebatePercentage(1, insInterestsCode);
                    if (arrObject[0].Trim().Length != 15)
                    {
                        flag = false;
                        err  = 1;//"Mã BHYT không đúng";
                    }
                    else if (ls.Count == 0)
                    {
                        flag = false;
                        err  = 2; // "Mã BHYT không suy được mức hưởng BHXY!";
                    }
                    else if (DateTime.Compare(DateTime.ParseExact(arrObject[7], "dd/MM/yyyy", CultureInfo.InvariantCulture), DateTime.Now.Date) < 0)
                    {
                        flag = false;
                        err  = 3;// "Thẻ hết hạn sử dụng!";
                    }
                    else if (getHosName(arrObject[5].Trim().Replace("-", "").Replace(" ", "")).Count == 0)
                    {
                        flag = false;
                        err  = 4;// "Mã nơi đăng ký ban đầu không có trong hệ thống!";
                    }

                    else
                    {
                        patientHi.HICode         = arrObject[0].Trim();
                        patientHi.PersName       = ConvertHexStrToUnicode(arrObject[1]);
                        patientHi.BOD            = DateTime.ParseExact(arrObject[2], "dd/MM/yyyy", CultureInfo.InvariantCulture);
                        patientHi.Gender         = Convert.ToInt16(arrObject[3].Trim());
                        patientHi.Address        = ConvertHexStrToUnicode(arrObject[4].Trim());
                        patientHi.HosCode        = arrObject[5].Trim().Replace("-", "").Replace(" ", "");
                        patientHi.StartDate      = DateTime.ParseExact(arrObject[6], "dd/MM/yyyy", CultureInfo.InvariantCulture);
                        patientHi.EndDate        = DateTime.ParseExact(arrObject[7], "dd/MM/yyyy", CultureInfo.InvariantCulture);
                        patientHi.CreatedDate    = DateTime.ParseExact(arrObject[8], "dd/MM/yyyy", CultureInfo.InvariantCulture);
                        patientHi.PersonalBHCode = arrObject[9].Trim();
                        patientHi.FamilyName     = arrObject[10].Trim() == "-" ? arrObject[10].Trim() : ConvertHexStrToUnicode(arrObject[10]);
                        patientHi.CountryCode    = Convert.ToInt16(arrObject[11].Trim());
                        if (arrObject[12].Trim() != "-")
                        {
                            patientHi.FiveYear = DateTime.ParseExact(arrObject[12], "dd/MM/yyyy", CultureInfo.InvariantCulture);
                        }
                        patientHi.CheckedBH = arrObject[13];
                        if (patientHi.HosCode != "")
                        {
                            var lss = getHosName(patientHi.HosCode.Trim());
                            if (lss.Count > 0)
                            {
                                patientHi.HosID      = Convert.ToInt32(lss[0]);
                                patientHi.HosAddress = lss[1];
                            }
                        }
                        if (ls.Count > 0)
                        {
                            patientHi.RebatePercentage = Convert.ToDouble(ls[0]);
                            patientHi.IBID             = Convert.ToInt32(ls[1]);
                        }
                        patientHi.InsInterestsCode = insInterestsCode;
                    }
                    string ptCode = getPtCode(patientHi.HICode.Trim());
                    if (flag)
                    {
                        return(Ok(new { HI = patientHi, PtCode = ptCode, Err = err }));
                    }
                    else
                    {
                        patientHi.HICode = ptHI;
                        return(Ok(new { HI = patientHi, PtCode = ptCode, Err = err }));
                    }
                }
                else
                {
                    patientHi.HICode = ptHI;
                    string ptCode = getPtCode(patientHi.HICode.Trim());
                    return(Ok(new { HI = patientHi, PtCode = ptCode, Err = 5 })); // 5:"Thẻ QA không đúng format!"
                }
            }
            catch (Exception exp)
            {
                return(BadRequest(exp.ToString()));
            }
        }