Ejemplo n.º 1
0
        /// <summary>
        /// Получить строку с описанием разницы в полях между текущей и переданной картой
        /// </summary>
        /// <param name="diffCard">Импортируемая карта</param>
        /// <param name="patientFio">ФИО пациента</param>
        /// <param name="nosology">Нозология</param>
        /// <param name="hospitalizationDate">Дата госпитализации (если она есть)</param>
        /// <param name="visitDate">Дата консультации (если она есть)</param>
        /// <param name="databasesMerger">Указатель на класс для мержа объектов</param>
        /// <returns></returns>
        public void GetDifference(
            CCard diffCard,
            string patientFio,
            string nosology,
            string hospitalizationDate,
            string visitDate,
            CDatabasesMerger databasesMerger)
        {
            if (CCompareEngine.IsBitmapsDifferent(Picture, diffCard.Picture))
            {
                CMergeInfo ownPatientMergeInfo;
                CMergeInfo foreignPatientMergeInfo;

                CreateMergeInfos(
                    ObjectType.LeftRightCardPicture,
                    patientFio,
                    nosology,
                    hospitalizationDate,
                    visitDate,
                    "Изображение",
                    "Смотри картинку",
                    "Смотри картинку",
                    diffCard,
                    out ownPatientMergeInfo,
                    out foreignPatientMergeInfo);

                ownPatientMergeInfo.Object     = Picture;
                foreignPatientMergeInfo.Object = diffCard.Picture;
                databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Получить строку с описанием разницы в полях между текущей и переданной картой
        /// </summary>
        /// <param name="diffBrachialPlexusCard">Импортируемая карта плечевого сплетения</param>
        /// <param name="patientFio">ФИО пациента</param>
        /// <param name="nosology">Нозология</param>
        /// <param name="hospitalizationDate">Дата госпитализации (если она есть)</param>
        /// <param name="visitDate">Дата консультации (если она есть)</param>
        /// <param name="databasesMerger">Указатель на класс для мержа объектов</param>
        /// <returns></returns>
        public void GetDifference(
            CBrachialPlexusCard diffBrachialPlexusCard,
            string patientFio,
            string nosology,
            string hospitalizationDate,
            string visitDate,
            CDatabasesMerger databasesMerger)
        {
            CMergeInfo ownPatientMergeInfo;
            CMergeInfo foreignPatientMergeInfo;

            if (SideOfCard != diffBrachialPlexusCard.SideOfCard)
            {
                CreateMergeInfos(
                    ObjectType.BrachialPlexusCardSideOfCard,
                    patientFio,
                    nosology,
                    hospitalizationDate,
                    visitDate,
                    "Сторона",
                    SideOfCard.ToString(),
                    diffBrachialPlexusCard.SideOfCard.ToString(),
                    diffBrachialPlexusCard,
                    out ownPatientMergeInfo,
                    out foreignPatientMergeInfo);
                databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo);
            }

            if (VascularStatus != diffBrachialPlexusCard.VascularStatus)
            {
                CreateMergeInfos(
                    ObjectType.BrachialPlexusCardVascularStatus,
                    patientFio,
                    nosology,
                    hospitalizationDate,
                    visitDate,
                    "Сосудистый статус",
                    VascularStatus,
                    diffBrachialPlexusCard.VascularStatus,
                    diffBrachialPlexusCard,
                    out ownPatientMergeInfo,
                    out foreignPatientMergeInfo);
                databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo);
            }

            if (Diaphragm != diffBrachialPlexusCard.Diaphragm)
            {
                CreateMergeInfos(
                    ObjectType.BrachialPlexusCardDiaphragm,
                    patientFio,
                    nosology,
                    hospitalizationDate,
                    visitDate,
                    "Диафрагма",
                    Diaphragm,
                    diffBrachialPlexusCard.Diaphragm,
                    diffBrachialPlexusCard,
                    out ownPatientMergeInfo,
                    out foreignPatientMergeInfo);
                databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo);
            }

            if (HornersSyndrome != diffBrachialPlexusCard.HornersSyndrome)
            {
                CreateMergeInfos(
                    ObjectType.BrachialPlexusCardHornersSyndrome,
                    patientFio,
                    nosology,
                    hospitalizationDate,
                    visitDate,
                    "Синдром Горнера",
                    HornersSyndrome,
                    diffBrachialPlexusCard.HornersSyndrome,
                    diffBrachialPlexusCard,
                    out ownPatientMergeInfo,
                    out foreignPatientMergeInfo);
                databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo);
            }

            if (TinelsSymptom != diffBrachialPlexusCard.TinelsSymptom)
            {
                CreateMergeInfos(
                    ObjectType.BrachialPlexusCardTinelsSymptom,
                    patientFio,
                    nosology,
                    hospitalizationDate,
                    visitDate,
                    "Симптом Тинеля",
                    TinelsSymptom,
                    diffBrachialPlexusCard.TinelsSymptom,
                    diffBrachialPlexusCard,
                    out ownPatientMergeInfo,
                    out foreignPatientMergeInfo);
                databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo);
            }

            if (IsMyelographyEnabled != diffBrachialPlexusCard.IsMyelographyEnabled)
            {
                CreateMergeInfos(
                    ObjectType.BrachialPlexusCardIsMyelographyEnabled,
                    patientFio,
                    nosology,
                    hospitalizationDate,
                    visitDate,
                    "Информация о том, включена ли миелография",
                    IsMyelographyEnabled.ToString(),
                    diffBrachialPlexusCard.IsMyelographyEnabled.ToString(),
                    diffBrachialPlexusCard,
                    out ownPatientMergeInfo,
                    out foreignPatientMergeInfo);
                databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo);
            }

            if (MyelographyType != diffBrachialPlexusCard.MyelographyType)
            {
                CreateMergeInfos(
                    ObjectType.BrachialPlexusCardMyelographyType,
                    patientFio,
                    nosology,
                    hospitalizationDate,
                    visitDate,
                    "Тип миелографии",
                    MyelographyType,
                    diffBrachialPlexusCard.MyelographyType,
                    diffBrachialPlexusCard,
                    out ownPatientMergeInfo,
                    out foreignPatientMergeInfo);
                databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo);
            }

            if (CCompareEngine.CompareDate(MyelographyDate, diffBrachialPlexusCard.MyelographyDate) != 0)
            {
                CreateMergeInfos(
                    ObjectType.BrachialPlexusCardMyelographyDate,
                    patientFio,
                    nosology,
                    hospitalizationDate,
                    visitDate,
                    "Дата миелографии",
                    CConvertEngine.DateTimeToString(MyelographyDate),
                    CConvertEngine.DateTimeToString(diffBrachialPlexusCard.MyelographyDate),
                    diffBrachialPlexusCard,
                    out ownPatientMergeInfo,
                    out foreignPatientMergeInfo);
                databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo);
            }

            if (Myelography != diffBrachialPlexusCard.Myelography)
            {
                CreateMergeInfos(
                    ObjectType.BrachialPlexusCardMyelography,
                    patientFio,
                    nosology,
                    hospitalizationDate,
                    visitDate,
                    "Миелография",
                    Myelography,
                    diffBrachialPlexusCard.Myelography,
                    diffBrachialPlexusCard,
                    out ownPatientMergeInfo,
                    out foreignPatientMergeInfo);
                databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo);
            }

            if (IsEMNGEnabled != diffBrachialPlexusCard.IsEMNGEnabled)
            {
                CreateMergeInfos(
                    ObjectType.BrachialPlexusCardIsEMNGEnabled,
                    patientFio,
                    nosology,
                    hospitalizationDate,
                    visitDate,
                    "Информация о том, включено ли ЭМНГ",
                    IsEMNGEnabled.ToString(),
                    diffBrachialPlexusCard.IsEMNGEnabled.ToString(),
                    diffBrachialPlexusCard,
                    out ownPatientMergeInfo,
                    out foreignPatientMergeInfo);
                databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo);
            }

            if (CCompareEngine.CompareDate(EMNGDate, diffBrachialPlexusCard.EMNGDate) != 0)
            {
                CreateMergeInfos(
                    ObjectType.BrachialPlexusCardEMNGDate,
                    patientFio,
                    nosology,
                    hospitalizationDate,
                    visitDate,
                    "Дата ЭМНГ",
                    CConvertEngine.DateTimeToString(EMNGDate),
                    CConvertEngine.DateTimeToString(diffBrachialPlexusCard.EMNGDate),
                    diffBrachialPlexusCard,
                    out ownPatientMergeInfo,
                    out foreignPatientMergeInfo);
                databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo);
            }

            if (EMNG != diffBrachialPlexusCard.EMNG)
            {
                CreateMergeInfos(
                    ObjectType.BrachialPlexusCardEMNG,
                    patientFio,
                    nosology,
                    hospitalizationDate,
                    visitDate,
                    "ЭМНГ",
                    EMNG,
                    diffBrachialPlexusCard.EMNG,
                    diffBrachialPlexusCard,
                    out ownPatientMergeInfo,
                    out foreignPatientMergeInfo);
                databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo);
            }

            if (CCompareEngine.IsBitmapsDifferent(Picture, diffBrachialPlexusCard.Picture))
            {
                CreateMergeInfos(
                    ObjectType.BrachialPlexusCardPicture,
                    patientFio,
                    nosology,
                    hospitalizationDate,
                    visitDate,
                    "Изображение",
                    "Смотри картинку",
                    "Смотри картинку",
                    diffBrachialPlexusCard,
                    out ownPatientMergeInfo,
                    out foreignPatientMergeInfo);

                ownPatientMergeInfo.Object     = Picture;
                foreignPatientMergeInfo.Object = diffBrachialPlexusCard.Picture;
                databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo);
            }
        }