public RujukanBerobatResponse SaveSuratRujukanBerobat(RujukanBerobatRequest request) { int _resultAffected = 0; request.Data.LetterType = LetterEnum.MedicalReferenceLetter.ToString(); request.Data.AutoNumber = GetLatestAutoNoSurat(LetterEnum.MedicalReferenceLetter.ToString()) + 1; request.Data.Year = DateTime.Now.Year; var response = new RujukanBerobatResponse { }; try { var _entity = Mapper.Map <RujukanBerobatModel, Letter>(request.Data); _entity.OtherInfo = JsonConvert.SerializeObject(request.Data.InfoRujukanData); _entity.CreatedBy = request.Data.Account.UserName; _entity.CreatedDate = DateTime.Now; _unitOfWork.LetterRepository.Insert(_entity); _resultAffected = _unitOfWork.Save(); var letterId = _entity.Id; //get detail patient var _pasien = _unitOfWork.PatientRepository.GetById(request.Data.ForPatient); var _ExamineData = _unitOfWork.FormExamineRepository.Get(x => x.FormMedicalID == request.Data.FormMedicalID).FirstOrDefault(); var _preExamineData = _unitOfWork.FormPreExamineRepository.Get(x => x.FormMedicalID == request.Data.FormMedicalID).FirstOrDefault(); response.Entity = new RujukanBerobatModel(); response.Entity.PatientData = new PatientModel(); response.Entity.PreExamineData = new PreExamineModel(); response.Entity.FormExamineData = new FormExamineModel(); if (_pasien != null) { response.Entity.PatientData = Mapper.Map <Patient, PatientModel>(_pasien); } if (_ExamineData != null) { response.Entity.FormExamineData = Mapper.Map <FormExamine, FormExamineModel>(_ExamineData); } if (_preExamineData != null) { response.Entity.PreExamineData = Mapper.Map <FormPreExamine, PreExamineModel>(_preExamineData); } response.Entity.NoSurat = $"{_entity.AutoNumber}/klinik/{DateTime.Now.Year}/{DateTime.Now.Month}"; response.Entity.FormMedicalID = _entity.FormMedicalID ?? 0; response.Entity.Id = letterId; response.Status = true; } catch (Exception ex) { response.Status = false; response.Message = ex.Message.ToString(); } return(response); }
public RujukanBerobatResponse PreparePrintSuratRujukanBerobat(long LetterId) { long formMedicalId = 0; var response = new RujukanBerobatResponse(); try { var _letterData = _unitOfWork.LetterRepository.GetById(LetterId); if (_letterData != null) { formMedicalId = _letterData.FormMedicalID ?? 0; } //get data patient var _patientData = _unitOfWork.PatientRepository.GetById(_letterData.ForPatient ?? 0); //get data form examine var _ExamineData = _unitOfWork.FormExamineRepository.Get(x => x.FormMedicalID == formMedicalId).FirstOrDefault(); //get data PreExamine var _preExamineData = _unitOfWork.FormPreExamineRepository.Get(x => x.FormMedicalID == formMedicalId).FirstOrDefault(); response.Entity = new RujukanBerobatModel(); response.Entity.FormMedicalID = formMedicalId; response.Entity.Perusahaan = _letterData.Pekerjaan; response.Entity.PatientData = new PatientModel(); response.Entity.InfoRujukanData = JsonConvert.DeserializeObject <InfoRujukan>(_letterData.OtherInfo); response.Entity.PreExamineData = new PreExamineModel(); response.Entity.FormExamineData = new FormExamineModel(); if (_patientData != null) { response.Entity.PatientData = Mapper.Map <Patient, PatientModel>(_patientData); if (response.Entity.PatientData.familyRelationshipID != 0) { response.Entity.PatientData.familyRelationshipDesc = _unitOfWork.FamilyRelationshipRepository.GetById(response.Entity.PatientData.familyRelationshipID).Code; } } if (_ExamineData != null) { response.Entity.FormExamineData = Mapper.Map <FormExamine, FormExamineModel>(_ExamineData); } if (_preExamineData != null) { response.Entity.PreExamineData = Mapper.Map <FormPreExamine, PreExamineModel>(_preExamineData); } response.Status = true; } catch (Exception ex) { response.Status = false; response.Message = ex.Message; } return(response); }
public JsonResult SaveAndPreviewRujukanBerobat() { var _model = new RujukanBerobatModel(); if (_model.InfoRujukanData == null) { _model.InfoRujukanData = new InfoRujukan(); } if (Request.Form["RSRujukan"] != null) { _model.InfoRujukanData.RSRujukan = Request.Form["RSRujukan"].ToString(); } if (Request.Form["Perusahaan"] != null) { _model.Perusahaan = Request.Form["Perusahaan"].ToString(); } if (Request.Form["Phone"] != null) { _model.InfoRujukanData.Phone = Request.Form["Phone"] == null ? "" : Request.Form["Phone"].ToString(); } if (Request.Form["FormMedicalID"] != null) { _model.FormMedicalID = Convert.ToInt64(Request.Form["FormMedicalID"].ToString()); } if (Request.Form["ForPatient"] != null) { _model.ForPatient = Request.Form["ForPatient"] == null ? 0 : long.Parse(Request.Form["ForPatient"].ToString()); } if (Request.Form["NmDokter"] != null) { _model.InfoRujukanData.NamaDokter = Request.Form["NmDokter"] == null ? "" : Request.Form["NmDokter"].ToString(); } if (Request.Form["HariPraktek"] != null) { _model.InfoRujukanData.HariPraktek = Request.Form["HariPraktek"] == null ? "" : Request.Form["HariPraktek"].ToString(); } if (Session["UserLogon"] != null) { _model.Account = (AccountModel)Session["UserLogon"]; } var request = new RujukanBerobatRequest { Data = _model }; var response = new RujukanBerobatResponse { }; response = new RujukanBerobatValidator(_unitOfWork, _context).Validate(request); return(Json(new { Status = response.Status, FormMedicalId = response.Entity.FormMedicalID, LetterId = response.Entity.Id }, JsonRequestBehavior.AllowGet)); }
public RujukanBerobatResponse GetDetailDataForRujukan(RujukanBerobatRequest request) { var response = new RujukanBerobatResponse(); try { //get data patient var _patientData = _unitOfWork.PatientRepository.GetById(request.Data.ForPatient); //get data form examine var _ExamineData = _unitOfWork.FormExamineRepository.Get(x => x.FormMedicalID == request.Data.FormMedicalID).FirstOrDefault(); //get data PreExamine var _preExamineData = _unitOfWork.FormPreExamineRepository.Get(x => x.FormMedicalID == request.Data.FormMedicalID).FirstOrDefault(); response.Entity = new RujukanBerobatModel(); response.Entity.PatientData = new PatientModel(); response.Entity.PreExamineData = new PreExamineModel(); response.Entity.FormExamineData = new FormExamineModel(); if (_patientData != null) { response.Entity.PatientData = Mapper.Map <Patient, PatientModel>(_patientData); if (response.Entity.PatientData.familyRelationshipID != 0) { response.Entity.PatientData.familyRelationshipDesc = _unitOfWork.FamilyRelationshipRepository.GetById(response.Entity.PatientData.familyRelationshipID).Code; } } if (_ExamineData != null) { response.Entity.FormExamineData = Mapper.Map <FormExamine, FormExamineModel>(_ExamineData); } if (_preExamineData != null) { response.Entity.PreExamineData = Mapper.Map <FormPreExamine, PreExamineModel>(_preExamineData); } response.Status = true; } catch (Exception ex) { response.Status = false; response.Message = ex.Message; } return(response); }
public JsonResult CreateSuratRujukanBerobat() { var _model = new RujukanBerobatModel(); if (Request.Form["forPatient"] != null) { _model.ForPatient = long.Parse(Request.Form["forPatient"].ToString()); } if (Request.Form["FormMedicalID"] != null) { _model.FormMedicalID = long.Parse(Request.Form["FormMedicalID"].ToString()); } if (Session["UserLogon"] != null) { _model.Account = (AccountModel)Session["UserLogon"]; } var request = new RujukanBerobatRequest { Data = _model }; var response = new RujukanBerobatResponse { }; response = new RujukanBerobatHandler(_unitOfWork).GetDetailDataForRujukan(request); return(Json(new { Status = response.Status, Message = response.Message, PatientNm = response.Entity.PatientData.Name, SAP = response.Entity.PatientData.SAP, KTP = response.Entity.PatientData.KTPNumber, BPJS = response.Entity.PatientData.BPJSNumber, Gender = response.Entity.PatientData.Gender, Age = $"{response.Entity.PatientData.Umur}/{response.Entity.PatientData.BirthDateStr}", TglLahir = response.Entity.PatientData.BirthDateStr, HubKeluarga = response.Entity.PatientData.familyRelationshipDesc, Diagnosa = response.Entity.FormExamineData.Diagnose, Keluhan = response.Entity.FormExamineData.Anamnesa, PreExamine = ConstructPreExamine(response.Entity.PreExamineData), Terapi = response.Entity.FormExamineData.Therapy, Penunjang = response.Entity.FormExamineData.Result }, JsonRequestBehavior.AllowGet)); }
public ActionResult ExportSuratRujukanBerobat(string letterId) { long iLetterId = 0; if (!String.IsNullOrEmpty(letterId)) { iLetterId = Convert.ToInt64(letterId); } var response = new RujukanBerobatResponse(); response = new RujukanBerobatHandler(_unitOfWork).PreparePrintSuratRujukanBerobat(iLetterId); response.Entity.strPemFisik = ConstructPreExamine(response.Entity.PreExamineData); // return View(response.Entity); return(new PartialViewAsPdf(response.Entity) { PageOrientation = Orientation.Portrait, PageSize = Size.Folio, FileName = "SuratRujukanBerobat.pdf" }); }