Пример #1
0
        public int UpdatePatientTransferIn(int patientId, int patientMastervisitId, int serviceAreaId, DateTime transferinDate,
                                           DateTime treatmentStartDate, string currentTreatment, string facilityFrom, int mflCode, string countyFrom, string transferInNotes, int userId)
        {
            PatientTransferIn patientTransferIn = new PatientTransferIn()
            {
                TransferInDate     = transferinDate,
                TreatmentStartDate = treatmentStartDate,
                CurrentTreatment   = currentTreatment,
                FacilityFrom       = facilityFrom,
                MflCode            = mflCode,
                CountyFrom         = countyFrom,
                TransferInNotes    = transferInNotes
            };

            PatientLookupManager patientLookupManager = new PatientLookupManager();
            var patient = patientLookupManager.GetPatientDetailSummary(patientId);

            if (patient != null)
            {
                var patientType = patientLookupManager.GetPatientTypeId(patientId);
                if (patientType == "Transfer-In")
                {
                    _patientTranfersIn.UpdateBlueCardBaselineTransferInTreatment(patient.ptn_pk, transferinDate,
                                                                                 treatmentStartDate, Convert.ToInt32(currentTreatment), facilityFrom, Convert.ToInt32(countyFrom));
                }
            }
            return(_result = _patientTranfersIn.UpdatePatientTransferIn(patientTransferIn));
        }
Пример #2
0
 public int AddPatientTranferIn(PatientTransferIn patientTransferIn)
 {
     using (UnitOfWork _unitOfWork = new UnitOfWork(new GreencardContext()))
     {
         _unitOfWork.PatientTransferInRepository.Add(patientTransferIn);
         Result = _unitOfWork.Complete();
         _unitOfWork.Dispose();
         return(Result);
     }
 }
Пример #3
0
        public int UpdatePatientTransferIn(int patientId, int patientMastervisitId, int serviceAreaId,
                                           DateTime transferinDate,
                                           DateTime treatmentStartDate, string currentTreatment, string facilityFrom, int mflCode, string countyFrom,
                                           string transferInNotes, int userId)
        {
            PatientTransferIn patientTransferIn = new PatientTransferIn()
            {
                TransferInDate     = transferinDate,
                TreatmentStartDate = treatmentStartDate,
                CurrentTreatment   = currentTreatment,
                FacilityFrom       = facilityFrom,
                MflCode            = mflCode,
                CountyFrom         = countyFrom,
                TransferInNotes    = transferInNotes,
            };

            return(_result = _patientTranfersIn.UpdatePatientTransferIn(patientTransferIn));
        }
 public int UpdatePatientTransferIn(PatientTransferIn patientTransferIn)
 {
     using (UnitOfWork _unitOfWork = new UnitOfWork(new GreencardContext()))
     {
         var patientTransfer = _unitOfWork.PatientTransferInRepository.FindBy(x => x.PatientId == patientTransferIn.PatientId & !x.DeleteFlag).FirstOrDefault();
         if (patientTransfer != null)
         {
             patientTransfer.CountyFrom         = patientTransferIn.CountyFrom;
             patientTransfer.CurrentTreatment   = patientTransferIn.CurrentTreatment;
             patientTransfer.FacilityFrom       = patientTransferIn.FacilityFrom;
             patientTransfer.MflCode            = patientTransferIn.MflCode;
             patientTransfer.TransferInDate     = Convert.ToDateTime(patientTransferIn.TransferInDate);
             patientTransfer.TreatmentStartDate = patientTransferIn.TreatmentStartDate;
             patientTransfer.TransferInNotes    = patientTransferIn.TransferInNotes;
         }
         _unitOfWork.PatientTransferInRepository.Update(patientTransfer);
         Result = _unitOfWork.Complete();
         _unitOfWork.Dispose();
         return(Result);
     }
 }
Пример #5
0
        public int ManagePatientTransferIn(int patientId, int patientMastervisitId, int serviceAreaId, DateTime transferinDate, DateTime treatmentStartDate, string currentTreatment, string facilityFrom, int mflCode, string countyFrom, string transferInNotes, int userId)
        {
            Id = _patientTranfersIn.CheckifPatientTransferExisits(patientId);

            PatientTransferIn patientTransferIn = new PatientTransferIn()
            {
                PatientId            = patientId,
                PatientMasterVisitId = patientMastervisitId,
                ServiceAreaId        = 1,
                TransferInDate       = transferinDate,
                TreatmentStartDate   = treatmentStartDate,
                CurrentTreatment     = currentTreatment,
                FacilityFrom         = facilityFrom,
                MflCode         = mflCode,
                CountyFrom      = countyFrom,
                TransferInNotes = transferInNotes,
                CreatedBy       = userId
            };

            _result = (Id > 0)? _patientTranfersIn.UpdatePatientTransferIn(patientTransferIn): _patientTranfersIn.AddPatientTranferIn(patientTransferIn);
            // _result = _patientTranfersIn.AddPatientTranferIn(patientTransferIn);
            return(_result);
        }
Пример #6
0
        public async Task <Result <AddPatientTransferInResponse> > Handle(AddPatientTransferInCommand request, CancellationToken cancellationToken)
        {
            try
            {
                using (_unitOfWork)
                {
                    int Id = 0;
                    int PatientMasterVisitId = 0;
                    RegisterPersonService registerPersonService = new RegisterPersonService(_unitOfWork);
                    var enrollmentVisitType = await _unitOfWork.Repository <LookupItemView>().Get(x => x.MasterName == "VisitType" && x.ItemName == "Enrollment").FirstOrDefaultAsync();

                    int?     visitType = enrollmentVisitType != null ? enrollmentVisitType.ItemId : 0;
                    DateTime TreatmentStartDate;
                    if (request.TreatmentStartDate == null)
                    {
                        TreatmentStartDate = request.TransferInDate;
                    }
                    else
                    {
                        TreatmentStartDate = request.TreatmentStartDate;
                    }
                    var enrollmentPatientMasterVisit =
                        await _unitOfWork.Repository <Core.Models.PatientMasterVisit>().Get(x =>
                                                                                            x.PatientId == request.PatientId && x.ServiceId == request.ServiceId && x.VisitType == visitType).ToListAsync();

                    if (enrollmentPatientMasterVisit.Count > 0)
                    {
                        PatientMasterVisitId = enrollmentPatientMasterVisit[0].Id;
                        var previousPatientEnrollment = await _unitOfWork.Repository <PatientEnrollment>().Get(x =>
                                                                                                               x.PatientId == request.PatientId && x.ServiceAreaId == request.ServiceId && x.DeleteFlag == false)
                                                        .ToListAsync();

                        if (previousPatientEnrollment.Count > 0)
                        {
                            previousPatientEnrollment[0].TransferIn = true;

                            _unitOfWork.Repository <PatientEnrollment>().Update(previousPatientEnrollment[0]);
                        }

                        var transferin = await registerPersonService.GetPatientTransferIn(request.PatientId, PatientMasterVisitId);

                        if (transferin != null)
                        {
                            transferin.TransferInDate     = request.TransferInDate;
                            transferin.TransferInNotes    = request.TransferInNotes;
                            transferin.TreatmentStartDate = TreatmentStartDate;
                            transferin.CountyFrom         = request.CountyFrom;
                            transferin.CurrentTreatment   = request.CurrentTreatment;
                            transferin.ServiceAreaId      = request.ServiceId;
                            transferin.MflCode            = request.MflCode;
                            transferin.DeleteFlag         = request.DeleteFlag;
                            transferin.FacilityFrom       = request.FacilityFrom;

                            var results = await registerPersonService.UpdatePatientTransferIn(transferin);

                            Id = results.Id;
                        }
                        else
                        {
                            PatientTransferIn pt = new PatientTransferIn();

                            pt.TransferInDate       = request.TransferInDate;
                            pt.TransferInNotes      = request.TransferInNotes;
                            pt.TreatmentStartDate   = TreatmentStartDate;
                            pt.FacilityFrom         = request.FacilityFrom;
                            pt.CountyFrom           = request.CountyFrom;
                            pt.CurrentTreatment     = request.CurrentTreatment;
                            pt.ServiceAreaId        = request.ServiceId;
                            pt.MflCode              = request.MflCode;
                            pt.PatientId            = request.PatientId;
                            pt.PatientMasterVisitId = PatientMasterVisitId;
                            pt.CreateDate           = DateTime.Now;
                            pt.CreatedBy            = request.CreatedBy;
                            pt.DeleteFlag           = request.DeleteFlag;
                            var results = await registerPersonService.AddPatientTransferIn(pt);

                            Id = results.Id;
                        }
                    }
                    return(Result <AddPatientTransferInResponse> .Valid(new AddPatientTransferInResponse()
                    {
                        TransferInId = Id
                    }));
                }
            }

            catch (Exception ex)
            {
                return(Result <AddPatientTransferInResponse> .Invalid(ex.Message));
            }
        }