public ActionResult CreateItemLab() { LabResponse response = new LabResponse(); if (Request.QueryString["id"] != null) { var request = new LabRequest { Data = new FormExamineLabModel { LoketData = new LoketModel { Id = long.Parse(Request.QueryString["id"].ToString()), }, } }; if (Session["UserLogon"] != null) { request.Data.Account = (AccountModel)Session["UserLogon"]; } LabResponse resp = new LabHandler(_unitOfWork).GetDetailPatient(request.Data.LoketData.Id); FormExamineLabModel _model = resp.Entity; Session["QueuePoliId"] = resp.Entity.LoketData.Id; _model.LabItemsId = LabHandler.GetSelectedLabItem(request.Data.LoketData.Id); return(View(_model)); } ViewBag.LabCategory = BindLabCategory(Constants.NameConstant.Laboratorium); return(View()); }
public JsonResult AddLabItem() { LabResponse response = new LabResponse(); FormExamineLabModel _model = new FormExamineLabModel(); if (Request.Form["FormMedicalID"] != null) { _model.FormMedicalID = Convert.ToInt64(Request.Form["FormMedicalID"].ToString()); } if (Request.Form["LabItems"] != null) { _model.LabItemsId = JsonConvert.DeserializeObject <List <int> >(Request.Form["LabItems"]); } if (Session["UserLogon"] != null) { _model.Account = (AccountModel)Session["UserLogon"]; } if (Session["QueuePoliId"] != null) { if (_model.LoketData == null) { _model.LoketData = new LoketModel(); } _model.LoketData.Id = Convert.ToInt64(Session["QueuePoliId"].ToString()); } var request = new LabRequest { Data = _model }; new LabValidator(_unitOfWork, _context).Validate(request, out response); return(Json(new { Status = response.Status, Message = response.Message }, JsonRequestBehavior.AllowGet)); }
public JsonResult AddLabRadiologiResult() { RadiologiResponse response = new RadiologiResponse(); FormExamineLabModel _model = new FormExamineLabModel(); if (Request.Form["FormMedicalID"] != null) { _model.FormMedicalID = Convert.ToInt64(Request.Form["FormMedicalId"].ToString()); } if (Request.Form["LabResults"] != null) { _model.LabItemCollsJs = JsonConvert.DeserializeObject <List <LabItemResultJS> >(Request.Form["LabResults"]); } if (Session["UserLogon"] != null) { _model.Account = (AccountModel)Session["UserLogon"]; } _model.FormExamine = new FormExamineModel { DoctorID = Request.Form["Doctor"] == null ? 0 : Convert.ToInt32(Request.Form["Doctor"].ToString()), Result = Request.Form["Conclusion"] }; if (Session["QueuePoliId"] != null) { if (_model.LoketData == null) { _model.LoketData = new LoketModel(); } _model.LoketData.Id = Convert.ToInt64(Session["QueuePoliId"].ToString()); } var request = new RadiologiRequest { Data = _model }; new RadiologiValidator(_unitOfWork, _context).ValidateAddResult(request, out response); return(Json(new { Status = response.Status, Message = response.Message }, JsonRequestBehavior.AllowGet)); }
public ActionResult InputLabResult() { LabResponse response = new LabResponse(); var _model = new FormExamineLabModel { }; if (Request.QueryString["id"] != null) { var request = new LabRequest { Data = new FormExamineLabModel { LoketData = new LoketModel { Id = long.Parse(Request.QueryString["id"].ToString()), }, } }; if (Session["UserLogon"] != null) { request.Data.Account = (AccountModel)Session["UserLogon"]; } LabResponse resp = new LabHandler(_unitOfWork).GetDetailPatient(request.Data.LoketData.Id); _model = resp.Entity; LabResponse resp2 = new LabHandler(_unitOfWork).GetDataExamine(request.Data.LoketData.Id); if (_model.FormExamine == null) { _model.FormExamine = new FormExamineModel(); } _model.FormExamine.Result = resp2.Entity.FormExamine.Result; _model.FormExamine.DoctorID = resp2.Entity.FormExamine.DoctorID; Session["QueuePoliId"] = resp.Entity.LoketData.Id; } ViewBag.DoctorList = BindDropDownDokter(); return(View(_model)); }
private PoliExamineModel GeneratePoliExamineModel( string formExamineID, string loketID, string anamnesa, string diagnose, string therapy, string receipt, string finalState, string icdInformation, string poliToID, string doctorToID, List <string> concoctionMedicineList, List <string> medicineList, List <string> injectionList, List <string> labList, List <string> radiologyList, List <string> serviceList) { QueuePoli queue = _unitOfWork.RegistrationRepository.GetById(int.Parse(loketID)); PoliExamineModel model = new PoliExamineModel(); // For new registration data if (!string.IsNullOrEmpty(doctorToID)) { model.DoctorToID = int.Parse(doctorToID); } model.PoliToID = int.Parse(poliToID); // Registration model.LoketData = Mapper.Map <QueuePoli, LoketModel>(queue); // FormExamine model.ExamineData.Anamnesa = anamnesa; model.ExamineData.Diagnose = diagnose; model.ExamineData.Therapy = therapy; model.ExamineData.Result = finalState; model.ExamineData.PoliID = queue.PoliTo; model.ExamineData.DoctorID = queue.DoctorID; model.ExamineData.FormMedicalID = queue.FormMedicalID; model.ExamineData.ICDInformation = icdInformation; // FormExamineMedicine foreach (var item in medicineList) { string[] values = item.Split('|'); FormExamineMedicineModel medModel = new FormExamineMedicineModel { ProductID = int.Parse(values[0]), FormExamineID = long.Parse(formExamineID), Dose = values[1], Qty = int.Parse(values[2]), RemarkUse = values[3], TypeID = ((int)MedicineTypeEnum.Medicine).ToString() }; model.MedicineDataList.Add(medModel); } //concoction Medicine foreach (var item in concoctionMedicineList) { string[] values = item.Split('|'); FormExamineMedicineModel medModel = new FormExamineMedicineModel { ConcoctionMedicine = values[0], FormExamineID = long.Parse(formExamineID), Dose = values[1], MedicineJenis = values[2], RemarkUse = values[3], Qty = Convert.ToDouble(values[4]), TypeID = ((int)MedicineTypeEnum.Concoction).ToString() }; model.MedicineDataList.Add(medModel); } // FormExamineInjection foreach (var item in injectionList) { string[] values = item.Split('|'); FormExamineMedicineModel medModel = new FormExamineMedicineModel { ProductID = int.Parse(values[0]), FormExamineID = long.Parse(formExamineID), RemarkUse = values[2], TypeID = ((int)MedicineTypeEnum.Injection).ToString() }; model.MedicineDataList.Add(medModel); } if (!string.IsNullOrEmpty(receipt)) { FormExamineMedicineModel medModel = new FormExamineMedicineModel { FormExamineID = long.Parse(formExamineID), ConcoctionMedicine = receipt, TypeID = ((int)MedicineTypeEnum.Concoction).ToString() }; model.MedicineDataList.Add(medModel); } // FormExamineLab foreach (var item in labList) { FormExamineLabModel labModel = new FormExamineLabModel { LabItemID = int.Parse(item), LabType = ((int)LabTypeEnum.Laboratorium).ToString() }; model.LabDataList.Add(labModel); } // FormExamineRadiology foreach (var item in radiologyList) { FormExamineLabModel labModel = new FormExamineLabModel { LabItemID = int.Parse(item), LabType = ((int)LabTypeEnum.Radiology).ToString() }; model.LabDataList.Add(labModel); } // FormExamineRadiology foreach (var item in serviceList) { FormExamineServiceModel serviceModel = new FormExamineServiceModel { ServiceID = int.Parse(item) }; model.ServiceDataList.Add(serviceModel); } return(model); }
public LabResponse CreateLabResult(LabRequest request) { var response = new LabResponse { }; FormExamineLabModel model = new FormExamineLabModel(); if (model.LabItemColls == null) { model.LabItemColls = new List <FormExamineLabModel>(); } try { foreach (var item in request.Data.LabItemCollsJs.Where(x => x.name.StartsWith("Result_"))) { string[] temp = item.name.Split('_'); if (temp[0].ToLower() == "result") { //pertama Id FormExLab kedua Lab Item string[] _ids = temp[1].Split('|'); long _Id = Convert.ToInt64(_ids[0]); int _LabItemID = Convert.ToInt32(_ids[1]); string _result = item.value; string _resultIndicator = request.Data.LabItemCollsJs.Where(x => x.name == "ResultIndicator_" + temp[1]).FirstOrDefault().value; var _existing = _unitOfWork.FormExamineLabRepository.Get(x => x.ID == _Id && x.LabItemID == _LabItemID).FirstOrDefault(); if (_existing != null) { _existing.Result = _result; _existing.ResultIndicator = _resultIndicator; _existing.ModifiedBy = request.Data.Account.UserName; _existing.ModifiedDate = DateTime.Now; _unitOfWork.FormExamineLabRepository.Update(_existing); } } } var _existingExam = _unitOfWork.FormExamineRepository.GetFirstOrDefault(x => x.FormMedicalID == request.Data.FormMedicalID); if (_existingExam != null) { _existingExam.Result = request.Data.FormExamine.Result; _existingExam.DoctorID = request.Data.FormExamine.DoctorID; _existingExam.ModifiedBy = request.Data.Account.UserName; _existingExam.ModifiedDate = DateTime.Now; _unitOfWork.FormExamineRepository.Update(_existingExam); } var _editQueuePoli = _unitOfWork.RegistrationRepository.GetById(request.Data.LoketData.Id); if (_editQueuePoli != null) { _editQueuePoli.Status = (int)RegistrationStatusEnum.Finish; _editQueuePoli.ModifiedBy = request.Data.Account.UserName; _editQueuePoli.ModifiedDate = DateTime.Now; _unitOfWork.RegistrationRepository.Update(_editQueuePoli); } int result_affected = _unitOfWork.Save(); if (result_affected > 0) { response.Status = true; response.Message = Messages.LabResultUpdated; } } catch (Exception ex) { response.Status = false; response.Message = Messages.GeneralError; } return(response); }