Ejemplo n.º 1
0
        /// <summary>
        /// Получить консультацию по уникальным данным
        /// </summary>
        /// <param name="visitDate">Дата консультации</param>
        /// <param name="patientFIO">ФИО пациента</param>
        /// <param name="patientNosologyName">Название нозологии</param>
        /// <param name="wrongVisitId">id консультации, который надо игнорировать</param>
        /// <returns></returns>
        public CVisit GetByGeneralData(
            DateTime visitDate, string patientFIO, string patientNosologyName, int wrongVisitId)
        {
            foreach (CVisit visit in _visitList)
            {
                CPatient patient = _workersKeeper.PatientWorker.GetById(visit.PatientId);

                if (CCompareEngine.CompareDateTime(visit.VisitDate, visitDate) == 0 &&
                    patient.GetFullName() == patientFIO &&
                    patient.Nosology == patientNosologyName &&
                    visit.Id != wrongVisitId)
                {
                    return(visit);
                }
            }

            return(null);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Получить госпитализацию по дате поступления
        /// </summary>
        /// <param name="deliveryDate">Дата поступления</param>
        /// <param name="patientFIO">ФИО пациента</param>
        /// <param name="patientNosologyName">Название нозологии</param>
        /// <param name="wrongHospitalizationId">id госпитализации, которая игнорируется</param>
        /// <returns></returns>
        public CHospitalization GetByGeneralData(
            DateTime deliveryDate, string patientFIO, string patientNosologyName, int wrongHospitalizationId)
        {
            foreach (CHospitalization hospitalization in _hospitalizationList)
            {
                CPatient patient = _workersKeeper.PatientWorker.GetById(hospitalization.PatientId);

                if (CCompareEngine.CompareDateTime(hospitalization.DeliveryDate, deliveryDate) == 0 &&
                    patient.GetFullName() == patientFIO &&
                    patient.Nosology == patientNosologyName &&
                    hospitalization.Id != wrongHospitalizationId)
                {
                    return(hospitalization);
                }
            }

            return(null);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Получить операцию с указанным названием
        /// </summary>
        /// <param name="name">Название операции</param>
        /// <param name="hospitalizationDeliveryDate">Дата госпитализации</param>
        /// <param name="patientFIO">ФИО пациента</param>
        /// <param name="patientNosologyName">Название нозологии</param>
        /// <param name="wrongOperationId">id операции, которая игнорируется</param>
        /// <returns></returns>
        public COperation GetByGeneralData(
            string name,
            DateTime hospitalizationDeliveryDate,
            string patientFIO,
            string patientNosologyName,
            int wrongOperationId)
        {
            foreach (COperation operation in _operationList)
            {
                CHospitalization hospitalization = _workersKeeper.HospitalizationWorker.GetById(operation.HospitalizationId);
                CPatient         patient         = _workersKeeper.PatientWorker.GetById(hospitalization.PatientId);

                if (operation.Name == name &&
                    CCompareEngine.CompareDateTime(hospitalization.DeliveryDate, hospitalizationDeliveryDate) == 0 &&
                    patient.GetFullName() == patientFIO &&
                    patient.Nosology == patientNosologyName &&
                    operation.Id != wrongOperationId)
                {
                    return(operation);
                }
            }

            return(null);
        }
Ejemplo n.º 4
0
 public static int Compare(CVisit visit1, CVisit visit2)
 {
     return(CCompareEngine.CompareDateTime(visit1.VisitDate, visit2.VisitDate));
 }
Ejemplo n.º 5
0
        public CPatientView(CPatient patientInfo, CWorkersKeeper workersKeeper)
        {
            Id                 = patientInfo.Id.ToString(CultureInfo.InvariantCulture);
            Nosology           = patientInfo.Nosology;
            FullName           = patientInfo.GetFullName();
            HospitalizationCnt = workersKeeper.HospitalizationWorker.GetCountByPatientId(patientInfo.Id).ToString(CultureInfo.InvariantCulture);
            VisitCnt           = workersKeeper.VisitWorker.GetCountByPatientId(patientInfo.Id).ToString(CultureInfo.InvariantCulture);
            COperation[] operations = workersKeeper.OperationWorker.GetListByPatientId(patientInfo.Id);
            OperationCnt = operations.Length.ToString(CultureInfo.InvariantCulture);
            Age          = CConvertEngine.GetAge(patientInfo.Birthday);

            var operationTypeSB = new StringBuilder();

            foreach (COperation operation in operations)
            {
                foreach (string operationType in operation.OperationTypes)
                {
                    if (!operationTypeSB.ToString().Contains(operationType))
                    {
                        operationTypeSB.Append(operationType + ", ");
                    }
                }
            }

            OperationTypes = operationTypeSB.Length > 0
                ? operationTypeSB.ToString().Substring(0, operationTypeSB.Length - 2)
                : operationTypeSB.ToString();

            int    hospitalizationCnt = Convert.ToInt32(HospitalizationCnt);
            int    visitCnt           = Convert.ToInt32(VisitCnt);
            CVisit lastVisit          = null;

            if (visitCnt > 0)
            {
                lastVisit = workersKeeper.VisitWorker.GetListByPatientId(patientInfo.Id)[visitCnt - 1];
            }

            CHospitalization lastHospitalization = null;

            if (hospitalizationCnt > 0)
            {
                lastHospitalization = workersKeeper.HospitalizationWorker.GetListByPatientId(patientInfo.Id)[hospitalizationCnt - 1];
            }

            if (lastHospitalization != null)
            {
                DeliveryDateString = CConvertEngine.DateTimeToString(lastHospitalization.DeliveryDate, true);

                ReleaseDateString = CConvertEngine.DateTimeToString(lastHospitalization.ReleaseDate, false);

                KD = lastHospitalization.KD;

                if (lastVisit == null)
                {
                    Diagnose = lastHospitalization.DiagnoseOneLine;
                }
            }

            if (lastVisit != null)
            {
                VisitDateString = CConvertEngine.DateTimeToString(lastVisit.VisitDate, true);
            }

            if (lastHospitalization == null && lastVisit != null)
            {
                Diagnose = lastVisit.DiagnoseOneLine;
            }
            else if (lastHospitalization != null && lastVisit != null)
            {
                int dateCompareResult = CCompareEngine.CompareDateTime(lastHospitalization.DeliveryDate, lastVisit.VisitDate);
                Diagnose = dateCompareResult >= 0
                    ? lastHospitalization.DiagnoseOneLine
                    : lastVisit.DiagnoseOneLine;
            }
        }
Ejemplo n.º 6
0
 public static int Compare(CHospitalization hospitalization1, CHospitalization hospitalization2)
 {
     return(CCompareEngine.CompareDateTime(hospitalization1.DeliveryDate, hospitalization2.DeliveryDate));
 }