public override T Convert <T, U>(U entity)
        {
            DiagnosisCode diagnosisCode = entity as DiagnosisCode;

            if (diagnosisCode == null)
            {
                return(default(T));
            }

            BO.DiagnosisCode diagnosisCodeBO = new BO.DiagnosisCode();

            diagnosisCodeBO.ID = diagnosisCode.Id;
            diagnosisCodeBO.DiagnosisTypeId   = diagnosisCode.DiagnosisTypeId;
            diagnosisCodeBO.DiagnosisCodeText = diagnosisCode.DiagnosisCodeText;
            diagnosisCodeBO.DiagnosisCodeDesc = diagnosisCode.DiagnosisCodeDesc;
            //diagnosisCodeBO.CompanyId = diagnosisCode.CompanyId;

            if (diagnosisCode.IsDeleted.HasValue)
            {
                diagnosisCodeBO.IsDeleted = diagnosisCode.IsDeleted.Value;
            }
            if (diagnosisCode.UpdateByUserID.HasValue)
            {
                diagnosisCodeBO.UpdateByUserID = diagnosisCode.UpdateByUserID.Value;
            }

            return((T)(object)diagnosisCodeBO);
        }
예제 #2
0
        /// <summary>
        /// Gets all record.
        /// </summary>
        /// <param name="evaluateableClaim">The evaluateable claim.</param>
        private static void GetAllRecord(EvaluateableClaim evaluateableClaim)
        {
            DiagnosisCode principalDiagnosisCode = evaluateableClaim.DiagnosisCodes.FirstOrDefault(q => PrincipalDiagnosisCodes.Contains(q.Instance));

            if (evaluateableClaim.StatementThru >= DateTime.Parse(Constants.IcdVersionDate, CultureInfo.InvariantCulture))
            {
                //Getting ERecord Data
                evaluateableClaim.MicrodynApcEditInput.ERecord = new ERecord
                {
                    ClaimId = Convert.ToString(evaluateableClaim.ClaimId, CultureInfo.InvariantCulture),
                    PrincipalDiagnosisCode  = principalDiagnosisCode != null ? principalDiagnosisCode.IcddCode : string.Empty,
                    AdmitDiagnosisCode      = principalDiagnosisCode != null ? principalDiagnosisCode.IcddCode : string.Empty,
                    SecondaryDiagnosisCodes = evaluateableClaim.DiagnosisCodes.Where(q => !PrincipalDiagnosisCodes.Contains(q.Instance)).Select(q => q.IcddCode).ToList()
                };
            }
            else
            {
                //Getting DRecord Data
                evaluateableClaim.MicrodynApcEditInput.DRecord = new DRecord
                {
                    ClaimId = Convert.ToString(evaluateableClaim.ClaimId, CultureInfo.InvariantCulture),
                    PrincipalDiagnosisCode  = principalDiagnosisCode != null ? principalDiagnosisCode.IcddCode : string.Empty,
                    AdmitDiagnosisCode      = principalDiagnosisCode != null ? principalDiagnosisCode.IcddCode : string.Empty,
                    SecondaryDiagnosisCodes = evaluateableClaim.DiagnosisCodes.Where(q => !PrincipalDiagnosisCodes.Contains(q.Instance)).Select(q => q.IcddCode).ToList()
                };
            }

            //Getting LRecord Data
            GetLRecord(evaluateableClaim);
        }
예제 #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            DiagnosisCode diagnosisCode = db.DiagnosisCodes.Find(id);

            db.DiagnosisCodes.Remove(diagnosisCode);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #4
0
 public Diagnosis(Severity severity, string message, DiagnosisCode code, string applicationCode, string stackTrace, string payloadPath)
 {
     Severity        = severity;
     SDataCode       = code;
     ApplicationCode = applicationCode;
     Message         = message;
     StackTrace      = stackTrace;
     PayloadPath     = payloadPath;
 }
예제 #5
0
 public Diagnosis(Severity severity, string message, DiagnosisCode code, string applicationCode, string stackTrace, string payloadPath)
 {
     Severity = severity;
     SDataCode = code;
     ApplicationCode = applicationCode;
     Message = message;
     StackTrace = stackTrace;
     PayloadPath = payloadPath;
 }
예제 #6
0
 public ActionResult Edit([Bind(Include = "Id,DiagnosisCode1,DiagnosisCode2,TreatmentCode1,TreatmentCode2,TreatmentCode3,TreatmentCode4")] DiagnosisCode diagnosisCode)
 {
     if (ModelState.IsValid)
     {
         db.Entry(diagnosisCode).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(diagnosisCode));
 }
예제 #7
0
        public bool DeleteDiagnosisCodes(int Id, TokenModel token)
        {
            DiagnosisCode diagnosisCodeEntity = _diagnosisCodesRepository.Get(l => l.Id == Id && l.OrganizationId == 2);// token.OrganizationID);

            diagnosisCodeEntity.IsDeleted   = true;
            diagnosisCodeEntity.IsActive    = false;
            diagnosisCodeEntity.DeletedBy   = 2;// token.UserID;
            diagnosisCodeEntity.DeletedDate = DateTime.UtcNow;
            _diagnosisCodesRepository.SaveChanges();

            return(true);
        }
예제 #8
0
        public ActionResult Create([Bind(Include = "Id,DiagnosisCode1,DiagnosisDescription1,DiagnosisCode2,DiagnosisDescription2," +
                                                   "TreatmentCode1,TreatmentDescription1,TreatmentCode2,TreatmentDescription2,TreatmentCode3," +
                                                   "TreatmentDescription3,TreatmentCode4,TreatmentDescription4")] DiagnosisCode diagnosisCode)
        {
            if (ModelState.IsValid)
            {
                db.DiagnosisCodes.Add(diagnosisCode);
                db.SaveChanges();
                return(RedirectToAction("Create"));
            }

            return(View(diagnosisCode));
        }
예제 #9
0
        // GET: DiagnosisCodes/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DiagnosisCode diagnosisCode = db.DiagnosisCodes.Find(id);

            if (diagnosisCode == null)
            {
                return(HttpNotFound());
            }
            return(View(diagnosisCode));
        }
예제 #10
0
        public JsonModel AddUpdateDiagnosisCodes(DiagnosisCodesDTO diagnosisCodesDTO, TokenModel token)
        {
            JsonModel Result = new JsonModel()
            {
                data       = false,
                Message    = StatusMessage.Success,
                StatusCode = (int)HttpStatusCodes.OK
            };
            DiagnosisCode diagnosisCodeEntity = null;
            DateTime      CurrentDate         = DateTime.UtcNow;

            if (diagnosisCodesDTO.Id == 0 || diagnosisCodesDTO.Id == null)
            {
                diagnosisCodeEntity = _mapper.Map <DiagnosisCode>(diagnosisCodesDTO);
                diagnosisCodeEntity.OrganizationId = 2; // token.OrganizationID;
                diagnosisCodeEntity.CreatedBy      = 2; // token.UserID;
                diagnosisCodeEntity.CreatedDate    = CurrentDate;
                diagnosisCodeEntity.IsActive       = true;
                diagnosisCodeEntity.IsDeleted      = false;
                _diagnosisCodesRepository.Create(diagnosisCodeEntity);
                _diagnosisCodesRepository.SaveChanges();
            }

            else
            {
                DiagnosisCode diagnosisCode = _diagnosisCodesRepository.Get(l => l.Id == diagnosisCodesDTO.Id && l.OrganizationId == 2); // token.OrganizationID);
                diagnosisCode.UpdatedBy   = 2;                                                                                           // token.UserID;
                diagnosisCode.UpdatedDate = CurrentDate;
                diagnosisCode.ICDCode     = diagnosisCodesDTO.ICDCode;
                diagnosisCode.Description = diagnosisCodesDTO.Description;

                _diagnosisCodesRepository.Update(diagnosisCode);
                _diagnosisCodesRepository.SaveChanges();
            }

            return(Result);
        }
예제 #11
0
 public Diagnosis(Severity severity, string message, DiagnosisCode code, string applicationCode, string stackTrace) :
     this(severity, message, code, applicationCode, stackTrace, string.Empty)
 {
 }
예제 #12
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Diagnosis"/> class.
 /// </summary>
 /// <param name="severity">One of the <see cref="Severity"/> values.</param>
 /// <param name="message">A friendly message for the diagnosis.</param>
 /// <param name="code">One of the <see cref="DiagnosisCode"/> values.</param>
 public Diagnosis(Severity severity, string message, DiagnosisCode code) :
     this(severity, message, code, string.Empty)
 {
 }
예제 #13
0
 public Diagnosis(Severity severity, string message, DiagnosisCode code, string applicationCode, string stackTrace)
     : this(severity, message, code, applicationCode, stackTrace, string.Empty)
 {
 }
예제 #14
0
 /// <summary>
 /// Initialises a new instance of the <see cref="Diagnosis"/> class.
 /// </summary>
 /// <param name="severity">One of the <see cref="Severity"/> values.</param>
 /// <param name="message">A friendly message for the diagnosis.</param>
 /// <param name="code">One of the <see cref="DiagnosisCode"/> values.</param>
 public Diagnosis(Severity severity, string message, DiagnosisCode code)
     : this(severity, message, code, String.Empty)
 {
 }
        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);
                }
            }
        }