Esempio n. 1
0
 public NotificationService()
 {
     alarmService         = new AlarmService();
     MedicalRecordService = new MedicalRecordService();
     physicUserService    = new PhysicUserService();
     residentService      = new ResidentService();
 }
        public bool UpdateTreatmentPhaseDetail(Model.TreatmentPhaseDetail entity)
        {
            var validation = new TreatmentValidation.TreatmentPhaseDetailEntityValidate().Validate(entity);

            if (!validation.IsValid)
            {
                throw new ValidationException(validation.Errors);
            }

            using (var db = new Model.PhysicManagementEntities())
            {
                var Entity = db.TreatmentPhaseDetail.Find(entity.Id);
                if (Entity == null)
                {
                    throw MegaException.ThrowException("این رکورد در پایگاه داده پیدا نشد.");
                }

                var md = new MedicalRecordService();
                var MedicalRecordObject = md.GetMedicalRecordById(entity.MedicalRecordId.GetValueOrDefault());
                if (MedicalRecordObject == null)
                {
                    throw MegaException.ThrowException("شناسه پرونده پزشکی وارد شده در پایگاه داده وجود ندارد.");
                }
                entity.MedicalRecordId = Convert.ToInt64(MedicalRecordObject.MRICode);

                Entity.AcceptedDoctorDate     = entity.AcceptedDoctorDate;
                Entity.AcceptedDoctorFullName = entity.AcceptedDoctorFullName;
                Entity.AcceptedDoctorUserId   = entity.AcceptedDoctorUserId;
                Entity.CancerOARId            = entity.CancerOARId;
                Entity.CancerOARTitle         = entity.CancerOARTitle;
                Entity.CancerOARTolerance     = entity.CancerOARTolerance;
                Entity.CancerTargetId         = entity.CancerTargetId;
                Entity.CancerTargetOptimum    = entity.CancerTargetOptimum;
                Entity.CancerTargetTitle      = entity.CancerTargetTitle;
                Entity.Description            = entity.Description;
                Entity.DoctorDescription      = entity.DoctorDescription;
                Entity.Evaluation             = entity.Evaluation;
                Entity.HadContour             = entity.HadContour;
                Entity.MedicalRecordId        = entity.MedicalRecordId;
                Entity.PatientFirstName       = entity.PatientFirstName;
                Entity.PatientLastName        = entity.PatientLastName;
                Entity.PhysicPlanHasAccepted  = entity.PhysicPlanHasAccepted;
                Entity.PhysicUserFullName     = entity.PhysicUserFullName;
                Entity.PlannedDose            = entity.PlannedDose;
                Entity.PresciptionHasApproved = entity.PresciptionHasApproved;
                Entity.PrescribedDate         = entity.PrescribedDate;
                Entity.PrescribedDose         = entity.PrescribedDose;
                Entity.PrescribedUser         = entity.PrescribedUser;
                Entity.Reserve3         = entity.Reserve3;
                Entity.Reserved1        = entity.Reserved1;
                Entity.Reserved2        = entity.Reserved2;
                Entity.TreatmentPhaseId = entity.TreatmentPhaseId;



                return(db.SaveChanges() == 1);
            }
        }
        public Model.Patient RegisterPatient(string patientFirstName, string patientLastName, string nationalCode, int doctorId, string mobile, string description, bool isIranian)
        {
            // بررسی وجود بیمار با استفاده از کدملی
            var PatientObject = GetPatientByNationalCode(nationalCode);
            // چنین بیماری از قبل وجو نداشته و فرایند ثبت جدید باید انجام شود
            string RandomNo = FileID.ID(10).ToString();

            if (PatientObject == null)
            {
                bool IsAffected = AddPatient(new Model.Patient
                {
                    Address      = "",
                    Code         = GetNewPatientCodeToRegister(),
                    City         = "",
                    FirstName    = patientFirstName,
                    GenderIsMale = null,
                    LastName     = patientLastName,
                    Mobile       = mobile,
                    NationalCode = (isIranian ? nationalCode: RandomNo),
                    Province     = "",
                    RegisterDate = DateTime.Now,
                    IsIranian    = isIranian,
                    IsDeleted    = false
                });

                if (!IsAffected)
                {
                    throw Common.MegaException.ThrowException("امکان ثبت این کاربر وجود ندارد.لطفا با واحد فنی تماس بگیرید.");
                }
            }
            PatientObject = GetPatientByNationalCode((isIranian ? nationalCode : RandomNo));

            Model.Doctor         DoctorObject         = new DoctorService().GetDoctorById(doctorId);
            MedicalRecordService medicalRecordService = new MedicalRecordService();
            var IsMedicalRecordInserted = medicalRecordService.AddMedicalRecord(new Model.MedicalRecord
            {
                DoctorId                       = doctorId,
                DoctorFirstName                = DoctorObject.FirstName,
                DoctorLastName                 = DoctorObject.LastName,
                PatientFirstName               = PatientObject.FirstName,
                PatientLastName                = PatientObject.LastName,
                PatientId                      = Convert.ToInt32(PatientObject.Id),
                ReceptionDate                  = PatientObject.RegisterDate,
                TreatmentProcessId             = 1, // پذیرش شده
                LastTreatmentProcessChangeDate = DateTime.Now,
            });


            if (!IsMedicalRecordInserted)
            {
                throw Common.MegaException.ThrowException("امکان ثبت این کاربر وجود ندارد.لطفا با واحد فنی تماس بگیرید.");
            }

            return(PatientObject);
        }
        public bool UpdateTreatmentPhase(Model.TreatmentPhase entity)
        {
            var validation = new TreatmentValidation.TreatmentPhaseEntityValidate().Validate(entity);

            if (!validation.IsValid)
            {
                throw new ValidationException(validation.Errors);
            }

            using (var db = new Model.PhysicManagementEntities())
            {
                var Entity = db.TreatmentPhase.Find(entity.Id);
                if (Entity == null)
                {
                    throw MegaException.ThrowException("این رکورد در پایگاه داده پیدا نشد.");
                }

                var md = new MedicalRecordService();
                var MedicalRecordObject = md.GetMedicalRecordById(entity.MedicalRecordId.GetValueOrDefault());
                if (MedicalRecordObject == null)
                {
                    throw MegaException.ThrowException("شناسه پرونده پزشکی وارد شده در پایگاه داده وجود ندارد.");
                }
                //entity.MedicalRecordId = Convert.ToInt64(MedicalRecordObject.MRICode);

                Entity.PhaseNumber          = entity.PhaseNumber;
                Entity.PhaseText            = entity.PhaseText;
                Entity.PrescribeDate        = entity.PrescribeDate;
                Entity.Target               = entity.Target;
                Entity.Description          = entity.Description;
                Entity.PatientFirstName     = MedicalRecordObject.PatientFirstName;
                Entity.PatientLastName      = MedicalRecordObject.PatientLastName;
                Entity.PhaseText            = entity.PhaseText;
                Entity.TreatmentDeviceId    = entity.TreatmentDeviceId;
                Entity.TreatmentDeviceTitle = entity.TreatmentDeviceTitle;
                Entity.IsApproved           = entity.IsApproved;
                Entity.Fraction             = entity.Fraction;
                Entity.IsPrescribedByDoctor = entity.IsPrescribedByDoctor;

                return(db.SaveChanges() == 1);
            }
        }
        public Model.MedicalRecord AddMedicalRecordCTCode(string mriCode, string ctDescription, long medicalRecordId)
        {
            MedicalRecordService medicalRecordService = new MedicalRecordService();
            var medicalRecordEntity = medicalRecordService.GetMedicalRecordById(medicalRecordId);

            medicalRecordEntity.CTCode        = GetSystemCodeToCTCode();
            medicalRecordEntity.CTDescription = ctDescription;
            medicalRecordEntity.CTEnterDate   = DateTime.Now;
            medicalRecordEntity.MRICode       = mriCode;
            medicalRecordEntity.MRIEnterDate  = DateTime.Now;
            medicalRecordEntity.IsOnGoing     = true;
            medicalRecordEntity.IsOnCalendar  = false;
            var IsMedicalrecoedInsert = medicalRecordService.UpdateMedicalRecord(medicalRecordEntity);

            if (!IsMedicalrecoedInsert)
            {
                throw Common.MegaException.ThrowException("امکان ثبت این اطلاعات وجود ندارد.لطفا با واحد فنی تماس بگیرید.");
            }

            return(medicalRecordEntity);
        }
        public bool AddTreatmentPhase(Model.TreatmentPhase entity)
        {
            var validation = new TreatmentValidation.TreatmentPhaseEntityValidate().Validate(entity);

            if (!validation.IsValid)
            {
                throw new ValidationException(validation.Errors);
            }

            using (var db = new Model.PhysicManagementEntities())
            {
                var md = new MedicalRecordService();
                var MedicalRecordObject = md.GetMedicalRecordById(entity.MedicalRecordId.GetValueOrDefault());
                if (MedicalRecordObject == null)
                {
                    throw MegaException.ThrowException("شناسه پرونده پزشکی وارد شده در پایگاه داده وجود ندارد.");
                }

                db.TreatmentPhase.Add(entity);
                return(db.SaveChanges() == 1);
            }
        }