Example #1
0
        // GET: Prescription details
        public ActionResult Prescription()
        {
            string id = Request.QueryString["id"];

            if (string.IsNullOrEmpty(id))
            {
                return(View("PatientList", "Pharmacy", null));
            }

            List <FormExamineMedicine> medicinelist      = _unitOfWork.FormExamineMedicineRepository.Get(x => x.FormExamine.FormMedicalID.Value.ToString() == id && x.RowStatus == 0).ToList();
            PrescriptionModel          prescriptionModel = new PrescriptionModel();

            prescriptionModel.FormMedicalID = long.Parse(id);

            //get stock
            var _ids = medicinelist.Select(x => x.ProductID).Distinct();
            var _stockCollections = _unitOfWork.ProductInGudangRepository.Get(x => _ids.Contains(x.ProductId)).Select(x => new { x.ProductId, x.stock });

            foreach (var item in medicinelist)
            {
                FormExamineMedicineModel medicineModel = Mapper.Map <FormExamineMedicine, FormExamineMedicineModel>(item);

                FormExamineMedicineDetail detail = _unitOfWork.FormExamineMedicineDetailRepository.Get(x => x.FormExamineMedicineID.Value == item.ID && x.RowStatus == 0).FirstOrDefault();
                if (detail != null)
                {
                    medicineModel.Detail = Mapper.Map <FormExamineMedicineDetail, FormExamineMedicineDetailModel>(detail);
                }

                if (medicineModel.MedicineJenis != null)
                {
                    switch (medicineModel.MedicineJenis.ToLower())
                    {
                    case "racikan":
                        medicineModel.Detail.ProcessType = "Racik";
                        break;

                    case "non racikan":
                        medicineModel.Detail.ProcessType = "Request";
                        break;

                    default:
                        medicineModel.Detail.ProcessType = string.Empty;
                        break;
                    }
                }

                prescriptionModel.Medicines.Add(medicineModel);
            }

            return(View(prescriptionModel));
        }
Example #2
0
        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);
        }