/// <summary> /// Получить строку с описанием разницы в полях между текущей и переданной картой /// </summary> /// <param name="diffRangeOfMotionCard">Импортируемая карта объёма движений</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( CRangeOfMotionCard diffRangeOfMotionCard, string patientFio, string nosology, string hospitalizationDate, string visitDate, CDatabasesMerger databasesMerger) { CMergeInfo ownPatientMergeInfo; CMergeInfo foreignPatientMergeInfo; if (OppositionFinger != diffRangeOfMotionCard.OppositionFinger) { CreateMergeInfos( ObjectType.RangeOfMotionCardOppositionFinger, patientFio, nosology, hospitalizationDate, visitDate, "Палец в оппозиции", OppositionFinger, diffRangeOfMotionCard.OppositionFinger, diffRangeOfMotionCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } string ownValue; string foreignValue; if (!CCompareEngine.IsArraysEqual(Fields, diffRangeOfMotionCard.Fields, out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.RangeOfMotionCardFields, patientFio, nosology, hospitalizationDate, visitDate, "Список полей", ownValue, foreignValue, diffRangeOfMotionCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = Fields; foreignPatientMergeInfo.Object = diffRangeOfMotionCard.Fields; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } }
/// <summary> /// Получить строку с описанием разницы в полях между текущим и переданным /// осмотром в отделении /// </summary> /// <param name="diffMedicalInspection">Импортируемый осмотр в отделении</param> /// <param name="patientFio">ФИО пациента</param> /// <param name="nosology">Нозология</param> /// <param name="hospitalizationDate">Дата госпитализации</param> /// <param name="databasesMerger">Указатель на класс для мержа объектов</param> /// <returns></returns> public void GetDifference( CMedicalInspection diffMedicalInspection, string patientFio, string nosology, string hospitalizationDate, CDatabasesMerger databasesMerger) { CMergeInfo ownPatientMergeInfo; CMergeInfo foreignPatientMergeInfo; if (AnamneseAnMorbi != diffMedicalInspection.AnamneseAnMorbi) { CreateMergeInfos( ObjectType.MedicalInspectionAnamneseAnMorbi, patientFio, nosology, hospitalizationDate, "Анамнез, AnMorbi", AnamneseAnMorbi, diffMedicalInspection.AnamneseAnMorbi, diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (Complaints != diffMedicalInspection.Complaints) { CreateMergeInfos( ObjectType.MedicalInspectionComplaints, patientFio, nosology, hospitalizationDate, "Общие данные, жалобы", Complaints, diffMedicalInspection.Complaints, diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (ExpertAnamnese != diffMedicalInspection.ExpertAnamnese) { CreateMergeInfos( ObjectType.MedicalInspectionExpertAnamnese, patientFio, nosology, hospitalizationDate, "Общие данные, 1, 2 или 3 лист нетрудоспособности", ExpertAnamnese.ToString(), diffMedicalInspection.ExpertAnamnese.ToString(), diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (StLocalisDescription != diffMedicalInspection.StLocalisDescription) { CreateMergeInfos( ObjectType.MedicalInspectionStLocalisDescription, patientFio, nosology, hospitalizationDate, "Описание StLocalis-а", StLocalisDescription, diffMedicalInspection.StLocalisDescription, diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (StLocalisRentgen != diffMedicalInspection.StLocalisRentgen) { CreateMergeInfos( ObjectType.MedicalInspectionStLocalisRentgen, patientFio, nosology, hospitalizationDate, "Тип рентгена", StLocalisRentgen, diffMedicalInspection.StLocalisRentgen, diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (InspectionPlan != diffMedicalInspection.InspectionPlan) { CreateMergeInfos( ObjectType.MedicalInspectionInspectionPlan, patientFio, nosology, hospitalizationDate, "Общие данные, обследование", InspectionPlan, diffMedicalInspection.InspectionPlan, diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (IsAnamneseActive != diffMedicalInspection.IsAnamneseActive) { CreateMergeInfos( ObjectType.MedicalInspectionIsAnamneseActive, patientFio, nosology, hospitalizationDate, "Включён ли анамнез в общий отчёт", IsAnamneseActive.ToString(), diffMedicalInspection.IsAnamneseActive.ToString(), diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (IsPlanEnabled != diffMedicalInspection.IsPlanEnabled) { CreateMergeInfos( ObjectType.MedicalInspectionIsPlanEnabled, patientFio, nosology, hospitalizationDate, "Включён ли план осмотра в отчёт", IsPlanEnabled.ToString(), diffMedicalInspection.IsPlanEnabled.ToString(), diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (IsStLocalisPart1Enabled != diffMedicalInspection.IsStLocalisPart1Enabled) { CreateMergeInfos( ObjectType.MedicalInspectionIsStLocalisPart1Enabled, patientFio, nosology, hospitalizationDate, "Включён ли st.localis часть 1 в общий отчёт", IsStLocalisPart1Enabled.ToString(), diffMedicalInspection.IsStLocalisPart1Enabled.ToString(), diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (IsStLocalisPart2Enabled != diffMedicalInspection.IsStLocalisPart2Enabled) { CreateMergeInfos( ObjectType.MedicalInspectionIsStLocalisPart2Enabled, patientFio, nosology, hospitalizationDate, "Включён ли st.localis часть 2 в общий отчёт", IsStLocalisPart2Enabled.ToString(), diffMedicalInspection.IsStLocalisPart2Enabled.ToString(), diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (StLocalisPart1OppositionFinger != diffMedicalInspection.StLocalisPart1OppositionFinger) { CreateMergeInfos( ObjectType.MedicalInspectionStLocalisPart1OppositionFinger, patientFio, nosology, hospitalizationDate, "st.localis часть 1, номер пальца в оппозиции", StLocalisPart1OppositionFinger, diffMedicalInspection.StLocalisPart1OppositionFinger, diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (StLocalisPart2NumericUpDown != diffMedicalInspection.StLocalisPart2NumericUpDown) { CreateMergeInfos( ObjectType.MedicalInspectionStLocalisPart2NumericUpDown, patientFio, nosology, hospitalizationDate, "st.localis часть 2, числовое поле", StLocalisPart2NumericUpDown.ToString(), diffMedicalInspection.StLocalisPart2NumericUpDown.ToString(), diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (StLocalisPart2WhichHand != diffMedicalInspection.StLocalisPart2WhichHand) { CreateMergeInfos( ObjectType.MedicalInspectionStLocalisPart2WhichHand, patientFio, nosology, hospitalizationDate, "st.localis часть 2, выбор повреждённой руки", StLocalisPart2WhichHand, diffMedicalInspection.StLocalisPart2WhichHand, diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (TeoRisk != diffMedicalInspection.TeoRisk) { CreateMergeInfos( ObjectType.MedicalInspectionTeoRisk, patientFio, nosology, hospitalizationDate, "Общие данные, риск ТЭО", TeoRisk, diffMedicalInspection.TeoRisk, diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (CCompareEngine.CompareDate(LnFirstDateStart, diffMedicalInspection.LnFirstDateStart) != 0) { CreateMergeInfos( ObjectType.MedicalInspectionLnFirstDateStart, patientFio, nosology, hospitalizationDate, "общие данные, выдан первично с", CConvertEngine.DateTimeToString(LnFirstDateStart), CConvertEngine.DateTimeToString(diffMedicalInspection.LnFirstDateStart), diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (CCompareEngine.CompareDate(LnWithNumberDateEnd, diffMedicalInspection.LnWithNumberDateEnd) != 0) { CreateMergeInfos( ObjectType.MedicalInspectionLnWithNumberDateEnd, patientFio, nosology, hospitalizationDate, "общие данные, выдан амбулаторно до", CConvertEngine.DateTimeToString(LnWithNumberDateEnd), CConvertEngine.DateTimeToString(diffMedicalInspection.LnWithNumberDateEnd), diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (CCompareEngine.CompareDate(LnWithNumberDateStart, diffMedicalInspection.LnWithNumberDateStart) != 0) { CreateMergeInfos( ObjectType.MedicalInspectionLnWithNumberDateStart, patientFio, nosology, hospitalizationDate, "общие данные, выдан амбулаторно с", CConvertEngine.DateTimeToString(LnWithNumberDateStart), CConvertEngine.DateTimeToString(diffMedicalInspection.LnWithNumberDateStart), diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } string ownValue; string foreignValue; if (!CCompareEngine.IsArraysEqual(AnamneseAnVitae, diffMedicalInspection.AnamneseAnVitae, out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.MedicalInspectionAnamneseAnVitae, patientFio, nosology, hospitalizationDate, "осмотр в отделении, анамнез, AnVitae", ownValue, foreignValue, diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = AnamneseAnVitae; foreignPatientMergeInfo.Object = diffMedicalInspection.AnamneseAnVitae; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (!CCompareEngine.IsArraysEqual(StPraesensTextBoxes, diffMedicalInspection.StPraesensTextBoxes, out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.MedicalInspectionStPraesensTextBoxes, patientFio, nosology, hospitalizationDate, "StPraesens, текстовые поля", ownValue, foreignValue, diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = StPraesensTextBoxes; foreignPatientMergeInfo.Object = diffMedicalInspection.StPraesensTextBoxes; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (!CCompareEngine.IsArraysEqual(AnamneseCheckboxes, diffMedicalInspection.AnamneseCheckboxes, out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.MedicalInspectionAnamneseCheckboxes, patientFio, nosology, hospitalizationDate, "анамнез, checkbox-ы", ownValue, foreignValue, diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = AnamneseCheckboxes; foreignPatientMergeInfo.Object = diffMedicalInspection.AnamneseCheckboxes; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (!CCompareEngine.IsArraysEqual(AnamneseTextBoxes, diffMedicalInspection.AnamneseTextBoxes, out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.MedicalInspectionAnamneseTextBoxes, patientFio, nosology, hospitalizationDate, "анамнез, текстовые поля", ownValue, foreignValue, diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = AnamneseTextBoxes; foreignPatientMergeInfo.Object = diffMedicalInspection.AnamneseTextBoxes; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (!CCompareEngine.IsArraysEqual(StLocalisPart1Fields, diffMedicalInspection.StLocalisPart1Fields, out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.MedicalInspectionStLocalisPart1Fields, patientFio, nosology, hospitalizationDate, "StLocalis часть 1, текстовые поля", ownValue, foreignValue, diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = StLocalisPart1Fields; foreignPatientMergeInfo.Object = diffMedicalInspection.StLocalisPart1Fields; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (!CCompareEngine.IsArraysEqual(StLocalisPart2ComboBoxes, diffMedicalInspection.StLocalisPart2ComboBoxes, out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.MedicalInspectionStLocalisPart2ComboBoxes, patientFio, nosology, hospitalizationDate, "StLocalis часть 2, comboBox-ы", ownValue, foreignValue, diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = StLocalisPart2ComboBoxes; foreignPatientMergeInfo.Object = diffMedicalInspection.StLocalisPart2ComboBoxes; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (!CCompareEngine.IsArraysEqual(StLocalisPart2LeftHand, diffMedicalInspection.StLocalisPart2LeftHand, out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.MedicalInspectionStLocalisPart2LeftHand, patientFio, nosology, hospitalizationDate, "StLocalis часть 2, comboBox-ы для левой руки", ownValue, foreignValue, diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = StLocalisPart2LeftHand; foreignPatientMergeInfo.Object = diffMedicalInspection.StLocalisPart2LeftHand; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (!CCompareEngine.IsArraysEqual(StLocalisPart2RightHand, diffMedicalInspection.StLocalisPart2RightHand, out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.MedicalInspectionStLocalisPart2RightHand, patientFio, nosology, hospitalizationDate, "StLocalis часть 2, comboBox-ы для правой руки", ownValue, foreignValue, diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = StLocalisPart2RightHand; foreignPatientMergeInfo.Object = diffMedicalInspection.StLocalisPart2RightHand; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (!CCompareEngine.IsArraysEqual(StLocalisPart2TextBoxes, diffMedicalInspection.StLocalisPart2TextBoxes, out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.MedicalInspectionStLocalisPart2TextBoxes, patientFio, nosology, hospitalizationDate, "StLocalis часть 2, текстовые поля", ownValue, foreignValue, diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = StLocalisPart2TextBoxes; foreignPatientMergeInfo.Object = diffMedicalInspection.StLocalisPart2TextBoxes; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (!CCompareEngine.IsArraysEqual(StPraesensComboBoxes, diffMedicalInspection.StPraesensComboBoxes, out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.MedicalInspectionStPraesensComboBoxes, patientFio, nosology, hospitalizationDate, "StPraesens, comboBox-ы", ownValue, foreignValue, diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = StPraesensComboBoxes; foreignPatientMergeInfo.Object = diffMedicalInspection.StPraesensComboBoxes; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (!CCompareEngine.IsArraysEqual(StPraesensNumericUpDowns, diffMedicalInspection.StPraesensNumericUpDowns, out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.MedicalInspectionStPraesensNumericUpDowns, patientFio, nosology, hospitalizationDate, "StPraesens, числовые поля", ownValue, foreignValue, diffMedicalInspection, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = StPraesensNumericUpDowns; foreignPatientMergeInfo.Object = diffMedicalInspection.StPraesensNumericUpDowns; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } }
/// <summary> /// Получить строку с описанием разницы в полях между текущим и переданным /// выписным эпикризом /// </summary> /// <param name="diffDischargeEpicrisis">Импортируемый выписной эпикриз</param> /// <param name="patientFio">ФИО пациента</param> /// <param name="nosology">Нозология</param> /// <param name="hospitalizationDate">Дата госпитализации</param> /// <param name="databasesMerger">Указатель на класс для мержа объектов</param> /// <returns></returns> public void GetDifference( CDischargeEpicrisis diffDischargeEpicrisis, string patientFio, string nosology, string hospitalizationDate, CDatabasesMerger databasesMerger) { CMergeInfo ownPatientMergeInfo; CMergeInfo foreignPatientMergeInfo; if (AnalysisDate.HasValue && diffDischargeEpicrisis.AnalysisDate.HasValue && CCompareEngine.CompareDate(AnalysisDate.Value, diffDischargeEpicrisis.AnalysisDate.Value) != 0) { CreateMergeInfos( ObjectType.DischargeEpicrisisAfterOperation, patientFio, nosology, hospitalizationDate, "Дата взятия анализов", CConvertEngine.DateTimeToString(AnalysisDate.Value), CConvertEngine.DateTimeToString(diffDischargeEpicrisis.AnalysisDate.Value), diffDischargeEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (AfterOperation != diffDischargeEpicrisis.AfterOperation) { CreateMergeInfos( ObjectType.DischargeEpicrisisAfterOperation, patientFio, nosology, hospitalizationDate, "После операции", AfterOperation, diffDischargeEpicrisis.AfterOperation, diffDischargeEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (ConservativeTherapy != diffDischargeEpicrisis.ConservativeTherapy) { CreateMergeInfos( ObjectType.DischargeEpicrisisConservativeTherapy, patientFio, nosology, hospitalizationDate, "Консервативное лечение", ConservativeTherapy, diffDischargeEpicrisis.ConservativeTherapy, diffDischargeEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (Ekg != diffDischargeEpicrisis.Ekg) { CreateMergeInfos( ObjectType.DischargeEpicrisisEkg, patientFio, nosology, hospitalizationDate, "ЭКГ", Ekg, diffDischargeEpicrisis.Ekg, diffDischargeEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (OakEritrocits != diffDischargeEpicrisis.OakEritrocits) { CreateMergeInfos( ObjectType.DischargeEpicrisisOakEritrocits, patientFio, nosology, hospitalizationDate, "Общий анализ крови, эритроциты", OakEritrocits, diffDischargeEpicrisis.OakEritrocits, diffDischargeEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (OakHb != diffDischargeEpicrisis.OakHb) { CreateMergeInfos( ObjectType.DischargeEpicrisisOakHb, patientFio, nosology, hospitalizationDate, "Общий анализ крови, Hb", OakHb, diffDischargeEpicrisis.OakHb, diffDischargeEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (OakLekocits != diffDischargeEpicrisis.OakLekocits) { CreateMergeInfos( ObjectType.DischargeEpicrisisOakLekocits, patientFio, nosology, hospitalizationDate, "Общий анализ крови, лейкоциты", OakLekocits, diffDischargeEpicrisis.OakLekocits, diffDischargeEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (OakSoe != diffDischargeEpicrisis.OakSoe) { CreateMergeInfos( ObjectType.DischargeEpicrisisOakSoe, patientFio, nosology, hospitalizationDate, "Общий анализ крови, СОЭ", OakSoe, diffDischargeEpicrisis.OakSoe, diffDischargeEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (OamColor != diffDischargeEpicrisis.OamColor) { CreateMergeInfos( ObjectType.DischargeEpicrisisOamColor, patientFio, nosology, hospitalizationDate, "Общий анализ мочи, цвет", OamColor, diffDischargeEpicrisis.OamColor, diffDischargeEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (OamDensity != diffDischargeEpicrisis.OamDensity) { CreateMergeInfos( ObjectType.DischargeEpicrisisOamDensity, patientFio, nosology, hospitalizationDate, "Общий анализ мочи, относительная плотность", OamDensity, diffDischargeEpicrisis.OamDensity, diffDischargeEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (OamEritrocits != diffDischargeEpicrisis.OamEritrocits) { CreateMergeInfos( ObjectType.DischargeEpicrisisOamEritrocits, patientFio, nosology, hospitalizationDate, "Общий анализ мочи, эритроциты", OamEritrocits, diffDischargeEpicrisis.OamEritrocits, diffDischargeEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (OamLekocits != diffDischargeEpicrisis.OamLekocits) { CreateMergeInfos( ObjectType.DischargeEpicrisisOamLekocits, patientFio, nosology, hospitalizationDate, "Общий анализ мочи, лейкоциты", OamLekocits, diffDischargeEpicrisis.OamLekocits, diffDischargeEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (AdditionalAnalises != diffDischargeEpicrisis.AdditionalAnalises) { CreateMergeInfos( ObjectType.DischargeEpicrisisAdditionalAnalises, patientFio, nosology, hospitalizationDate, "Другие анализы", AdditionalAnalises, diffDischargeEpicrisis.AdditionalAnalises, diffDischargeEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } string ownValue; string foreignValue; if (!CCompareEngine.IsArraysEqual(Recomendations.ToArray(), diffDischargeEpicrisis.Recomendations.ToArray(), out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.DischargeEpicrisisRecomendations, patientFio, nosology, hospitalizationDate, "Рекомендации при выписке", ownValue, foreignValue, diffDischargeEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = Recomendations; foreignPatientMergeInfo.Object = diffDischargeEpicrisis.Recomendations; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (!CCompareEngine.IsArraysEqual(AdditionalRecomendations.ToArray(), diffDischargeEpicrisis.AdditionalRecomendations.ToArray(), out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.DischargeEpicrisisAdditionalRecomendations, patientFio, nosology, hospitalizationDate, "Дополнительные рекомендации при выписке", ownValue, foreignValue, diffDischargeEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = AdditionalRecomendations; foreignPatientMergeInfo.Object = diffDischargeEpicrisis.AdditionalRecomendations; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } }
/// <summary> /// Получить строку с описанием разницы в полях между текущей и переданной картой /// </summary> /// <param name="diffObstetricParalysisCard">Импортируемая карта</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( CObstetricParalysisCard diffObstetricParalysisCard, string patientFio, string nosology, string hospitalizationDate, string visitDate, CDatabasesMerger databasesMerger) { CMergeInfo ownPatientMergeInfo; CMergeInfo foreignPatientMergeInfo; if (SideOfCard != diffObstetricParalysisCard.SideOfCard) { CreateMergeInfos( ObjectType.ObstetricParalysisCardSideOfCard, patientFio, nosology, hospitalizationDate, visitDate, "Сторона", SideOfCard.ToString(), diffObstetricParalysisCard.SideOfCard.ToString(), diffObstetricParalysisCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } string ownValue; string foreignValue; if (!CCompareEngine.IsArraysEqual(GlobalAbductionPicturesSelection, diffObstetricParalysisCard.GlobalAbductionPicturesSelection, out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.ObstetricParalysisCardGlobalAbduction, patientFio, nosology, hospitalizationDate, visitDate, "Информация о Global Abduction", ownValue, foreignValue, diffObstetricParalysisCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = GlobalAbductionPicturesSelection; foreignPatientMergeInfo.Object = diffObstetricParalysisCard.GlobalAbductionPicturesSelection; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (!CCompareEngine.IsArraysEqual(GlobalExternalRotationPicturesSelection, diffObstetricParalysisCard.GlobalExternalRotationPicturesSelection, out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.ObstetricParalysisCardGlobalExternalRotation, patientFio, nosology, hospitalizationDate, visitDate, "Информация о Global External Rotation", ownValue, foreignValue, diffObstetricParalysisCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = GlobalExternalRotationPicturesSelection; foreignPatientMergeInfo.Object = diffObstetricParalysisCard.GlobalExternalRotationPicturesSelection; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (!CCompareEngine.IsArraysEqual(HandToNeckPicturesSelection, diffObstetricParalysisCard.HandToNeckPicturesSelection, out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.ObstetricParalysisCardHandToNeck, patientFio, nosology, hospitalizationDate, visitDate, "Информация о Hand To Neck", ownValue, foreignValue, diffObstetricParalysisCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = HandToNeckPicturesSelection; foreignPatientMergeInfo.Object = diffObstetricParalysisCard.HandToNeckPicturesSelection; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (!CCompareEngine.IsArraysEqual(HandToSpinePicturesSelection, diffObstetricParalysisCard.HandToSpinePicturesSelection, out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.ObstetricParalysisCardHandToSpine, patientFio, nosology, hospitalizationDate, visitDate, "Информация о Hand To Spine", ownValue, foreignValue, diffObstetricParalysisCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = HandToSpinePicturesSelection; foreignPatientMergeInfo.Object = diffObstetricParalysisCard.HandToSpinePicturesSelection; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (!CCompareEngine.IsArraysEqual(HandToMouthPicturesSelection, diffObstetricParalysisCard.HandToMouthPicturesSelection, out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.ObstetricParalysisCardHandToMouth, patientFio, nosology, hospitalizationDate, visitDate, "Информация о Hand To Mouth", ownValue, foreignValue, diffObstetricParalysisCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = HandToMouthPicturesSelection; foreignPatientMergeInfo.Object = diffObstetricParalysisCard.HandToMouthPicturesSelection; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (!CCompareEngine.IsArraysEqual(ComboBoxes, diffObstetricParalysisCard.ComboBoxes, out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.ObstetricParalysisCardComboBoxes, patientFio, nosology, hospitalizationDate, visitDate, "Список комбобоксов", ownValue, foreignValue, diffObstetricParalysisCard, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = ComboBoxes; foreignPatientMergeInfo.Object = diffObstetricParalysisCard.ComboBoxes; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } }
/// <summary> /// Получить строку с описанием разницы в полях между текущим и /// переданным анамнезом /// </summary> /// <param name="diffObstetricHistory">Импортируемый анамнез</param> /// <param name="patientFio">ФИО пациента</param> /// <param name="nosology">Нозология</param> /// <param name="databasesMerger">Указатель на класс для мержа объектов</param> /// <returns></returns> public void GetDifference( CObstetricHistory diffObstetricHistory, string patientFio, string nosology, CDatabasesMerger databasesMerger) { CMergeInfo ownPatientMergeInfo; CMergeInfo foreignPatientMergeInfo; if (ApgarScore != diffObstetricHistory.ApgarScore) { CreateMergeInfos( ObjectType.ObstetricHistoryApgarScore, patientFio, nosology, "Шкала Апгар", ApgarScore, diffObstetricHistory.ApgarScore, diffObstetricHistory, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (BirthInjury != diffObstetricHistory.BirthInjury) { CreateMergeInfos( ObjectType.ObstetricHistoryBirthInjury, patientFio, nosology, "Родовая травма", BirthInjury, diffObstetricHistory.BirthInjury, diffObstetricHistory, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (ChildbirthWeeks != diffObstetricHistory.ChildbirthWeeks) { CreateMergeInfos( ObjectType.ObstetricHistoryChildbirthWeeks, patientFio, nosology, "Роды в срок", ChildbirthWeeks, diffObstetricHistory.ChildbirthWeeks, diffObstetricHistory, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (ComplicationsDuringChildbirth != diffObstetricHistory.ComplicationsDuringChildbirth) { CreateMergeInfos( ObjectType.ObstetricHistoryComplicationsDuringChildbirth, patientFio, nosology, "Осложнения в ходе родов", ComplicationsDuringChildbirth, diffObstetricHistory.ComplicationsDuringChildbirth, diffObstetricHistory, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (ComplicationsInPregnancy != diffObstetricHistory.ComplicationsInPregnancy) { CreateMergeInfos( ObjectType.ObstetricHistoryComplicationsInPregnancy, patientFio, nosology, "Осложнения в период беременности", ComplicationsInPregnancy, diffObstetricHistory.ComplicationsInPregnancy, diffObstetricHistory, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (DrugsInPregnancy != diffObstetricHistory.DrugsInPregnancy) { CreateMergeInfos( ObjectType.ObstetricHistoryDrugsInPregnancy, patientFio, nosology, "Лекарственные препараты и хронические интоксикации в период беременности", DrugsInPregnancy, diffObstetricHistory.DrugsInPregnancy, diffObstetricHistory, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (DurationOfLabor != diffObstetricHistory.DurationOfLabor) { CreateMergeInfos( ObjectType.ObstetricHistoryDurationOfLabor, patientFio, nosology, "Длительности родов", DurationOfLabor, diffObstetricHistory.DurationOfLabor, diffObstetricHistory, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (Fetal != diffObstetricHistory.Fetal) { CreateMergeInfos( ObjectType.ObstetricHistoryFetal, patientFio, nosology, "Предлежание", Fetal, diffObstetricHistory.Fetal, diffObstetricHistory, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (HeightAtBirth != diffObstetricHistory.HeightAtBirth) { CreateMergeInfos( ObjectType.ObstetricHistoryHeightAtBirth, patientFio, nosology, "Рост при рождении", HeightAtBirth, diffObstetricHistory.HeightAtBirth, diffObstetricHistory, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (HospitalTreatment != diffObstetricHistory.HospitalTreatment) { CreateMergeInfos( ObjectType.ObstetricHistoryHospitalTreatment, patientFio, nosology, "Стационарное лечение", HospitalTreatment, diffObstetricHistory.HospitalTreatment, diffObstetricHistory, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (IsTongsUsing != diffObstetricHistory.IsTongsUsing) { CreateMergeInfos( ObjectType.ObstetricHistoryIsTongsUsing, patientFio, nosology, "Использование щипцов в ходе родов", IsTongsUsing.ToString(), diffObstetricHistory.IsTongsUsing.ToString(), diffObstetricHistory, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (IsVacuumUsing != diffObstetricHistory.IsVacuumUsing) { CreateMergeInfos( ObjectType.ObstetricHistoryIsVacuumUsing, patientFio, nosology, "Использование ваккума в ходе родов", IsVacuumUsing.ToString(), diffObstetricHistory.IsVacuumUsing.ToString(), diffObstetricHistory, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (ObstetricParalysis != diffObstetricHistory.ObstetricParalysis) { CreateMergeInfos( ObjectType.ObstetricHistoryObstetricParalysis, patientFio, nosology, "Кем и когда диагностирован акушерский паралич", ObstetricParalysis, diffObstetricHistory.ObstetricParalysis, diffObstetricHistory, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (OutpatientCare != diffObstetricHistory.OutpatientCare) { CreateMergeInfos( ObjectType.ObstetricHistoryOutpatientCare, patientFio, nosology, "Амбулаторное лечение", OutpatientCare, diffObstetricHistory.OutpatientCare, diffObstetricHistory, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (WeightAtBirth != diffObstetricHistory.WeightAtBirth) { CreateMergeInfos( ObjectType.ObstetricHistoryWeightAtBirth, patientFio, nosology, "Вес при рождении", WeightAtBirth, diffObstetricHistory.WeightAtBirth, diffObstetricHistory, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } string ownValue; string foreignValue; if (!CCompareEngine.IsArraysEqual(Chronology, diffObstetricHistory.Chronology, out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.ObstetricHistoryChronology, patientFio, nosology, "Хронология восстановления активных движений верхней конечности", ownValue, foreignValue, diffObstetricHistory, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = Chronology; foreignPatientMergeInfo.Object = diffObstetricHistory.Chronology; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } }
/// <summary> /// Получить строку с описанием разницы в полях между текущей и переданной операции /// </summary> /// <param name="diffOperation">Импортируемая операция</param> /// <param name="patientFio">ФИО импортируемого пациента</param> /// <param name="nosology">Нозология</param> /// <param name="hospitalizationDate">Дата импортируемой госпитализации</param> /// <param name="databasesMerger">Указатель на класс для мержа объектов</param> /// <returns></returns> public void GetDifference( COperation diffOperation, string patientFio, string nosology, string hospitalizationDate, CDatabasesMerger databasesMerger) { CMergeInfo ownPatientMergeInfo; CMergeInfo foreignPatientMergeInfo; if (HeAnaesthetist != diffOperation.HeAnaesthetist) { CreateMergeInfos( ObjectType.OperationHeAnaesthetist, patientFio, nosology, hospitalizationDate, "Анестезист", HeAnaesthetist, diffOperation.HeAnaesthetist, diffOperation, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (SheAnaesthetist != diffOperation.SheAnaesthetist) { CreateMergeInfos( ObjectType.OperationSheAnaesthetist, patientFio, nosology, hospitalizationDate, "Анестезистка", SheAnaesthetist, diffOperation.SheAnaesthetist, diffOperation, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (ScrubNurse != diffOperation.ScrubNurse) { CreateMergeInfos( ObjectType.OperationScrubNurse, patientFio, nosology, hospitalizationDate, "Операционная мед. сестра", ScrubNurse, diffOperation.ScrubNurse, diffOperation, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (Orderly != diffOperation.Orderly) { CreateMergeInfos( ObjectType.OperationOrderly, patientFio, nosology, hospitalizationDate, "Санитар", Orderly, diffOperation.Orderly, diffOperation, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (CCompareEngine.CompareDate(DateOfOperation, diffOperation.DateOfOperation) != 0) { CreateMergeInfos( ObjectType.OperationDateOfOperation, patientFio, nosology, hospitalizationDate, "Дата операции", CConvertEngine.DateTimeToString(DateOfOperation), CConvertEngine.DateTimeToString(diffOperation.DateOfOperation), diffOperation, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (CCompareEngine.CompareTime(StartTimeOfOperation, diffOperation.StartTimeOfOperation) != 0) { CreateMergeInfos( ObjectType.OperationStartTimeOfOperation, patientFio, nosology, hospitalizationDate, "Время начала операции", CConvertEngine.TimeToString(StartTimeOfOperation), CConvertEngine.TimeToString(diffOperation.StartTimeOfOperation), diffOperation, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (EndTimeOfOperation.HasValue && !diffOperation.EndTimeOfOperation.HasValue) { CreateMergeInfos( ObjectType.OperationEndTimeOfOperation, patientFio, nosology, hospitalizationDate, "Время окончания операции", CConvertEngine.TimeToString(EndTimeOfOperation.Value), "Нет значения", diffOperation, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } else if (!EndTimeOfOperation.HasValue && diffOperation.EndTimeOfOperation.HasValue) { CreateMergeInfos( ObjectType.OperationEndTimeOfOperation, patientFio, nosology, hospitalizationDate, "Время окончания операции", "Нет значения", CConvertEngine.TimeToString(diffOperation.EndTimeOfOperation.Value), diffOperation, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } else if (EndTimeOfOperation.HasValue && diffOperation.EndTimeOfOperation.HasValue && CCompareEngine.CompareDate(EndTimeOfOperation.Value, diffOperation.EndTimeOfOperation.Value) != 0) { CreateMergeInfos( ObjectType.OperationEndTimeOfOperation, patientFio, nosology, hospitalizationDate, "Время окончания операции", CConvertEngine.TimeToString(EndTimeOfOperation.Value), CConvertEngine.TimeToString(diffOperation.EndTimeOfOperation.Value), diffOperation, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } string ownValue; string foreignValue; if (!CCompareEngine.IsArraysEqual(Surgeons.ToArray(), diffOperation.Surgeons.ToArray(), out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.OperationSurgeons, patientFio, nosology, hospitalizationDate, "Список хирургов", ownValue, foreignValue, diffOperation, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = Surgeons; foreignPatientMergeInfo.Object = diffOperation.Surgeons; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (!CCompareEngine.IsArraysEqual(Assistents.ToArray(), diffOperation.Assistents.ToArray(), out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.OperationAssistents, patientFio, nosology, hospitalizationDate, "Список ассистентов", ownValue, foreignValue, diffOperation, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = Assistents; foreignPatientMergeInfo.Object = diffOperation.Assistents; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (!CCompareEngine.IsArraysEqual(OperationTypes.ToArray(), diffOperation.OperationTypes.ToArray(), out ownValue, out foreignValue)) { CreateMergeInfos( ObjectType.OperationTypes, patientFio, nosology, hospitalizationDate, "Список типов операций", ownValue, foreignValue, diffOperation, out ownPatientMergeInfo, out foreignPatientMergeInfo); ownPatientMergeInfo.Object = OperationTypes; foreignPatientMergeInfo.Object = diffOperation.OperationTypes; databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } }