Exemple #1
0
        public void ValidateDRecord()
        {
            //Arrange
            _target = new DRecordLogic();
            DRecord dRecordRaw = new DRecord
            {
                ClaimId                 = "1.04.226",
                AdmitDiagnosisCode      = "1.04.2",
                PrincipalDiagnosisCode  = "1.04.2",
                SecondaryDiagnosisCodes =
                    new List <string> {
                    "4444", "5555", "9981", "0381", "2918", "92", "30080", "5190", "5648", "7638", "30081", "5191", "5649", "7639"
                }
            };


            const string expected =
                "D1.04.226         1042  1042  4444  5555  9981  0381  2918  92    30080 5190  5648  7638  30081 5191  5649  7639                                                                                        ";

            //Act
            string actual = _target.GetDRecordLine(dRecordRaw);

            //Assert
            Assert.AreEqual(expected, actual);
        }
Exemple #2
0
 /// <summary>
 ///  Validations for D Line Raw Data
 /// </summary>
 private static string ValidateDRecord(DRecord dRecord)
 {
     if (dRecord != null)
     {
         return(string.Format(CultureInfo.InvariantCulture, "{0} {1}",
                              ValidateClaimId(dRecord.ClaimId),
                              ValidateSecondaryDiagnosis(dRecord.SecondaryDiagnosisCodes)));
     }
     return(string.Empty);
 }
        /// <summary>
        ///  This Method is called for getting D Line values from DB
        /// </summary>
        private string GetDRecordLine(DRecord dRecordDataRaw)
        {
            if (dRecordDataRaw != null)
            {
                //We assume that dRecordDataRaw does not have any null properties. If the db returns null, the data access
                //layer will be replacing the nulls with string.Empty or 0.

                //REVIEW-MARCH This method has dependencies. Need to use DI.
                DRecordLogic dRecordLogic = new DRecordLogic();
                if (dRecordLogic.ValidateDRecord(dRecordDataRaw))
                {
                    return(dRecordLogic.BuildDRecordString(dRecordDataRaw));
                }
            }
            return(string.Empty);
        }
Exemple #4
0
        /// <summary>
        /// Gets the d record line.
        /// </summary>
        /// <param name="dRecordData"></param>
        /// <returns></returns>
        public string GetDRecordLine(DRecord dRecordData)
        {
            //We assume that dRecordDataRaw does not have any null properties. If the db returns null, the data access
            //layer will be replacing the nulls with string.Empty or 0.
            string dRecord;

            // Validating the D record
            ValidationErrors = ValidateDRecord(dRecordData);
            if (dRecordData != null && string.IsNullOrEmpty(ValidationErrors.Trim()))
            {
                dRecord = BuildDRecordString(dRecordData);
            }
            else
            {
                dRecord = string.Empty;
            }
            return(dRecord);
        }
Exemple #5
0
        public void BuildDRecordStringTestForNone()
        {
            DRecord dRecordRaw = new DRecord
            {
                ClaimId                 = "1.04.2",
                AdmitDiagnosisCode      = "1.04.2",
                PrincipalDiagnosisCode  = "NONE",
                SecondaryDiagnosisCodes =
                    new List <string> {
                    "4444", "5555", "9981", "0381", "2918", "9223", "30080", "5190", "5648", "7638"
                }
            };
            const string expected =
                "D1.04.2           1042        4444  5555  9981  0381  2918  9223  30080 5190  5648  7638                                                                                                                ";
            string actual = DRecordLogic.BuildDRecordString(dRecordRaw);

            Assert.AreEqual(expected, actual);
        }
Exemple #6
0
        public void ValidateDRecordIfSecondaryDiagnosisCodesIsNull()
        {
            //Arrange
            _target = new DRecordLogic();
            DRecord dRecordRaw = new DRecord
            {
                ClaimId                 = "1.04.2",
                AdmitDiagnosisCode      = "1.04.2",
                PrincipalDiagnosisCode  = "1.04.2",
                SecondaryDiagnosisCodes = null
            };

            //Act
            string actual = _target.GetDRecordLine(dRecordRaw);

            //Assert
            Assert.AreEqual(actual, "");
        }
Exemple #7
0
        public void BuildDRecordIfSecondaryDiagnosisCodeIsNull()
        {
            //Arrange
            DRecord dRecordRaw = new DRecord
            {
                ClaimId                 = "1.04.2",
                AdmitDiagnosisCode      = "1.04.2",
                PrincipalDiagnosisCode  = "1.04.2",
                SecondaryDiagnosisCodes = null
            };

            const string expected =
                "D1.04.2           1042  1042                                                                                                                                                                            ";
            //Act
            string actual = DRecordLogic.BuildDRecordString(dRecordRaw);

            //Assert
            Assert.AreEqual(actual, expected);
        }
Exemple #8
0
        public void BuildDRecordIfPrincipalDiagnosisCodeIsNull()
        {
            //Arrange
            DRecord dRecordRaw = new DRecord
            {
                ClaimId                 = "1.04.2",
                AdmitDiagnosisCode      = "1.04.2",
                PrincipalDiagnosisCode  = null,
                SecondaryDiagnosisCodes = new List <string> {
                    "4444", "5555", "9981", "0381", "2918", "92", "30080", "5190", "5648", "7638", "30081", "5191", "5649", "7639"
                }
            };

            const string expected = "D1.04.2           1042        4444  5555  9981  0381  2918  92    30080 5190  5648  7638  30081 5191  5649  7639                                                                                        ";
            //Act
            string actual = DRecordLogic.BuildDRecordString(dRecordRaw);

            //Assert
            Assert.AreEqual(actual, expected);
        }
Exemple #9
0
        public static string BuildDRecordString(DRecord dRecord)
        {
            StringBuilder dRecordString = new StringBuilder(Constants.Stringlength);

            if (dRecord != null)
            {
                dRecordString = dRecordString.Append(Constants.DRecordString);
                dRecordString = dRecordString.Append(BuildClaimId(dRecord.ClaimId));
                dRecordString = dRecordString.Append(BuildAdminDiagnosis(dRecord.AdmitDiagnosisCode));
                dRecordString = dRecordString.Append(BuildPrincipalDiagnosis(dRecord.PrincipalDiagnosisCode));
                dRecordString = dRecordString.Append(BuildSecondaryDiagnosis(dRecord.SecondaryDiagnosisCodes));
                dRecordString = dRecordString.Append(BuildUnUsed());

                if (dRecordString.Length == Constants.Stringlength)
                {
                    return(dRecordString.ToString());
                }
                return(string.Format(CultureInfo.InvariantCulture, "{0,-200}", dRecordString));
            }
            return(string.Empty);
        }
Exemple #10
0
        public void ValidateDRecordIfClaimIdIsInvalid()
        {
            //Arrange
            _target = new DRecordLogic();
            DRecord dRecordRaw = new DRecord
            {
                ClaimId                 = "1.04.2260000000000000",
                AdmitDiagnosisCode      = "1.04.2",
                PrincipalDiagnosisCode  = "1.04.2",
                SecondaryDiagnosisCodes =
                    new List <string> {
                    "4444", "5555", "9981", "0381", "2918", "92", "30080", "5190", "5648", "7638", "30081", "5191", "5649", "7639"
                }
            };

            //Act
            string actual = _target.GetDRecordLine(dRecordRaw);

            //Assert
            Assert.AreEqual(actual, "");
        }
Exemple #11
0
        public void BuildDRecordStringForGeaterThan()
        {
            //Arrange
            DRecord dRecordRaw = new DRecord
            {
                ClaimId                 = "1.04.223213265525888536",
                AdmitDiagnosisCode      = "1.04.2",
                PrincipalDiagnosisCode  = "1.04.2",
                SecondaryDiagnosisCodes =
                    new List <string> {
                    "4444", "5555", "9981", "0381", "2918", "92", "30080", "5190", "5648", "7638", "30081", "5191", "5649", "7639"
                }
            };
            const string expected =
                "D1.04.2232132655258885361042  1042  4444  5555  9981  0381  2918  92    30080 5190  5648  7638  30081 5191  5649  7639                                                                                        ";
            //Act
            string actual = DRecordLogic.BuildDRecordString(dRecordRaw);

            //Assert
            Assert.AreEqual(expected, actual);
        }
        public ActionResult AddDoctor()
        {
            DRecord mr = new DRecord();

            mr.Name = Request["name"];
            string ar = Request["specialist"];

            if (ar == "Others")
            {
                mr.Specialist = Request["other"];
            }
            else
            {
                mr.Specialist = ar;
            }
            mr.HospitalName = Request["hName"];
            mr.Fee          = Request["fee"];
            mr.Location     = Request["location"];
            dc.DRecords.InsertOnSubmit(mr);
            dc.SubmitChanges();
            return(RedirectToAction("RegisterDoctors"));
        }
        public ActionResult Update()
        {
            DRecord mr = new DRecord();
            var     r  = dc.DRecords.First(rec => rec.Id == Convert.ToInt32(Session["Id"]));

            r.Name = Request["name"];
            string ar = Request["specialist"];

            if (ar == "Others")
            {
                r.Specialist = Request["other"];
            }
            else
            {
                r.Specialist = ar;
            }
            r.HospitalName = Request["hName"];
            r.Fee          = Request["fee"];
            r.Location     = Request["location"];
            dc.SubmitChanges();

            return(RedirectToAction("SearchDetails"));
        }
Exemple #14
0
 public BRecord(string SqlConn)
 {
     D_Record = new DRecord(SqlConn);
 }
        public void UpdateEvaluateableClaimsTest()
        {
            // Arrange
            _target = new EvaluateableClaimLogic();

            ConditionCode conditionCode = new ConditionCode {
                ClaimId = 123, Code = "0300"
            };
            List <ConditionCode> conditionCodes = new List <ConditionCode> {
                conditionCode
            };

            PatientData patientData = new PatientData {
                FirstName = "Jim"
            };

            DiagnosisCode diagnosisCode = new DiagnosisCode {
                Instance = "P", ClaimId = 123, IcddCode = "0800"
            };
            List <DiagnosisCode> diagnosisCodes = new List <DiagnosisCode> {
                diagnosisCode
            };

            ClaimCharge claimCharge = new ClaimCharge
            {
                Line    = 1,
                RevCode = "0123",
                Amount  = 5556.2,
            };

            // Act
            List <ClaimCharge> claimCharges = new List <ClaimCharge> {
                claimCharge
            };

            EvaluateableClaim evaluateableClaim = new EvaluateableClaim
            {
                ClaimId        = 123,
                StatementThru  = Convert.ToDateTime("2012-01-12 00:00:00.000"),
                StatementFrom  = Convert.ToDateTime("2012-01-12 00:00:00.000"),
                ConditionCodes = conditionCodes,
                PatientData    = patientData,
                DiagnosisCodes = diagnosisCodes,
                ClaimCharges   = claimCharges
            };

            List <EvaluateableClaim> evaluateableClaimLists = new List <EvaluateableClaim> {
                evaluateableClaim
            };

            List <EvaluateableClaim> actual = _target.UpdateEvaluateableClaims(evaluateableClaimLists);

            // Assert
            EvaluateableClaim updatedEvaluateableClaim = actual.FirstOrDefault();

            if (updatedEvaluateableClaim != null)
            {
                CRecord cRecord = updatedEvaluateableClaim.MicrodynApcEditInput.CRecord;
                if (cRecord != null)
                {
                    Assert.AreEqual(cRecord.PatientData, evaluateableClaim.PatientData);
                    Assert.AreNotEqual(cRecord.ClaimId, evaluateableClaim.ClaimId);
                }

                DRecord dRecord = updatedEvaluateableClaim.MicrodynApcEditInput.DRecord;
                if (dRecord != null)
                {
                    Assert.AreEqual(dRecord.PrincipalDiagnosisCode, evaluateableClaim.DiagnosisCodes.First().IcddCode);
                }

                LRecord lRecord = updatedEvaluateableClaim.MicrodynApcEditInput.LRecords.FirstOrDefault();
                if (lRecord != null)
                {
                    Assert.AreEqual(lRecord.RevenueCode, evaluateableClaim.ClaimCharges.First().RevCode);
                    Assert.AreEqual(lRecord.LineItemId, evaluateableClaim.ClaimCharges.First().Line);
                }

                MedicareOutPatient medicareOutPatient =
                    updatedEvaluateableClaim.MicrodynApcEditInput.MedicareOutPatientRecord;
                if (medicareOutPatient != null)
                {
                    Assert.AreEqual(medicareOutPatient.ClaimId, evaluateableClaim.ClaimId);
                    Assert.AreEqual(medicareOutPatient.BeneDeductible, 0);
                }
            }
        }