コード例 #1
0
        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);
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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));
        }