/// <summary> /// Сохранить список операционных протоколов /// </summary> private void Save() { var operationProtocolsStr = new StringBuilder(); foreach (COperationProtocol operationProtocolInfo in _operationProtocolList) { operationProtocolsStr.Append( "OperationId=" + operationProtocolInfo.OperationId + DataSplitStr + "OperationCourse=" + operationProtocolInfo.OperationCourse + DataSplitStr + "TreatmentPlanDate=" + CConvertEngine.DateTimeToString(operationProtocolInfo.TreatmentPlanDate) + DataSplitStr + "TreatmentPlanInspection=" + operationProtocolInfo.TreatmentPlanInspection + DataSplitStr + "IsTreatmentPlanActiveInOperationProtocol=" + operationProtocolInfo.IsTreatmentPlanActiveInOperationProtocol + DataSplitStr + "ADFirst=" + operationProtocolInfo.ADFirst + DataSplitStr + "ADSecond=" + operationProtocolInfo.ADSecond + DataSplitStr + "Breath=" + operationProtocolInfo.Breath + DataSplitStr + "ChDD=" + operationProtocolInfo.ChDD + DataSplitStr + "Complaints=" + operationProtocolInfo.Complaints + DataSplitStr + "State=" + operationProtocolInfo.State + DataSplitStr + "HeartRhythm=" + operationProtocolInfo.HeartRhythm + DataSplitStr + "HeartSounds=" + operationProtocolInfo.HeartSounds + DataSplitStr + "IsDairyEnabled=" + operationProtocolInfo.IsDairyEnabled + DataSplitStr + "Pulse=" + operationProtocolInfo.Pulse + DataSplitStr + "StLocalis=" + operationProtocolInfo.StLocalis + DataSplitStr + "Stomach=" + operationProtocolInfo.Stomach + DataSplitStr + "Stool=" + operationProtocolInfo.Stool + DataSplitStr + "Temperature=" + operationProtocolInfo.Temperature + DataSplitStr + "TimeWriting=" + CConvertEngine.DateTimeToString(operationProtocolInfo.TimeWriting, true) + DataSplitStr + "Urination=" + operationProtocolInfo.Urination + DataSplitStr + "Wheeze=" + operationProtocolInfo.Wheeze + DataSplitStr + ObjSplitStr); } CDatabaseEngine.PackText(operationProtocolsStr.ToString(), _operationProtocolPath); }
/// <summary> /// Сохранить список операций /// </summary> private void Save() { _operationList.Sort(COperation.Compare); var operationsStr = new StringBuilder(); foreach (COperation operationInfo in _operationList) { operationsStr.Append( "Id=" + operationInfo.Id + DataSplitStr + "HospitalizationId=" + operationInfo.HospitalizationId + DataSplitStr + "PatientId=" + operationInfo.PatientId + DataSplitStr + "DateOfOperation=" + CConvertEngine.DateTimeToString(operationInfo.DateOfOperation) + DataSplitStr + "StartTimeOfOperation=" + CConvertEngine.DateTimeToString(operationInfo.StartTimeOfOperation, true) + DataSplitStr + "EndTimeOfOperation=" + CConvertEngine.DateTimeToString(operationInfo.EndTimeOfOperation, true) + DataSplitStr + "Name=" + operationInfo.Name + DataSplitStr + "Surgeons=" + CConvertEngine.ListToString(operationInfo.Surgeons) + DataSplitStr + "Assistents=" + CConvertEngine.ListToString(operationInfo.Assistents) + DataSplitStr + "OperationTypes=" + CConvertEngine.ListToString(operationInfo.OperationTypes) + DataSplitStr + "HeAnaesthetist=" + operationInfo.HeAnaesthetist + DataSplitStr + "SheAnaesthetist=" + operationInfo.SheAnaesthetist + DataSplitStr + "ScrubNurse=" + operationInfo.ScrubNurse + DataSplitStr + "Orderly=" + operationInfo.Orderly + ObjSplitStr); } CDatabaseEngine.PackText(operationsStr.ToString(), _operationPath); }
/// <summary> /// Сохранить список выписных эпикризов /// </summary> private void Save() { var dischargeEpicrisissStr = new StringBuilder(); foreach (CDischargeEpicrisis dischargeEpicrisisInfo in _dischargeEpicrisisList) { dischargeEpicrisissStr.Append( "HospitalizationId=" + dischargeEpicrisisInfo.HospitalizationId + DataSplitStr + "AnalysisDate=" + CConvertEngine.DateTimeToString(dischargeEpicrisisInfo.AnalysisDate) + DataSplitStr + "AfterOperation=" + dischargeEpicrisisInfo.AfterOperation + DataSplitStr + "ConservativeTherapy=" + dischargeEpicrisisInfo.ConservativeTherapy + DataSplitStr + "Ekg=" + dischargeEpicrisisInfo.Ekg + DataSplitStr + "OakEritrocits=" + dischargeEpicrisisInfo.OakEritrocits + DataSplitStr + "OakHb=" + dischargeEpicrisisInfo.OakHb + DataSplitStr + "OakLekocits=" + dischargeEpicrisisInfo.OakLekocits + DataSplitStr + "OakSoe=" + dischargeEpicrisisInfo.OakSoe + DataSplitStr + "OamColor=" + dischargeEpicrisisInfo.OamColor + DataSplitStr + "OamDensity=" + dischargeEpicrisisInfo.OamDensity + DataSplitStr + "OamEritrocits=" + dischargeEpicrisisInfo.OamEritrocits + DataSplitStr + "OamLekocits=" + dischargeEpicrisisInfo.OamLekocits + DataSplitStr + "AdditionalAnalises=" + dischargeEpicrisisInfo.AdditionalAnalises + DataSplitStr + "Recomendations=" + CConvertEngine.ListToString(dischargeEpicrisisInfo.Recomendations) + DataSplitStr + "AdditionalRecomendations=" + CConvertEngine.ListToString(dischargeEpicrisisInfo.AdditionalRecomendations) + ObjSplitStr); } CDatabaseEngine.PackText(dischargeEpicrisissStr.ToString(), _dischargeEpicrisisPath); }
private void CreateMergeInfos( ObjectType objectType, string patientFio, string nosology, string parameterName, string ownValue, string foreignValue, CVisit diffVisit, out CMergeInfo ownPatientMergeInfo, out CMergeInfo foreignPatientMergeInfo) { const string differenceStr = "Пациент: '{0}'. Нозология: '{1}'. Дата консультации: '{2}'.\r\nНазвание параметра: '{3}'. Значение: '{4}'"; ownPatientMergeInfo = new CMergeInfo { IdOwnPatient = PatientId, IdOwnVisit = Id, TypeOfObject = objectType, Value = ownValue, Difference = string.Format(differenceStr, patientFio, nosology, CConvertEngine.DateTimeToString(VisitDate, true), parameterName, ownValue) }; foreignPatientMergeInfo = new CMergeInfo { IdForeignPatient = diffVisit.PatientId, IdForeignVisit = diffVisit.Id, TypeOfObject = objectType, Value = foreignValue, Difference = string.Format(differenceStr, patientFio, nosology, CConvertEngine.DateTimeToString(diffVisit.VisitDate, true), parameterName, foreignValue) }; }
private void CreateMergeInfos( ObjectType objectType, string patientFio, string nosology, string parameterName, string ownValue, string foreignValue, CHospitalization diffHospitalization, out CMergeInfo ownPatientMergeInfo, out CMergeInfo foreignPatientMergeInfo) { const string differenceStr = "Пациент: '{0}'. Нозология: '{1}'. Дата госпитализации: '{2}'.\r\nНазвание параметра: '{3}'. Значение: '{4}'"; ownPatientMergeInfo = new CMergeInfo { IdOwnPatient = PatientId, IdOwnHospitalization = Id, TypeOfObject = objectType, Value = ownValue, Difference = string.Format(differenceStr, patientFio, nosology, CConvertEngine.DateTimeToString(DeliveryDate, true), parameterName, ownValue) }; foreignPatientMergeInfo = new CMergeInfo { IdForeignPatient = diffHospitalization.PatientId, IdForeignHospitalization = diffHospitalization.Id, TypeOfObject = objectType, Value = foreignValue, Difference = string.Format(differenceStr, patientFio, nosology, CConvertEngine.DateTimeToString(diffHospitalization.DeliveryDate, true), parameterName, foreignValue) }; }
/// <summary> /// Сохранить список карт обследования /// </summary> /// <param name="saveBrachialPlexusCardInfo">Информация о карте, которую сохраняем</param> private void Save(CBrachialPlexusCard saveBrachialPlexusCardInfo) { var brachialPlexusCardsStr = new StringBuilder(); foreach (CBrachialPlexusCard brachialPlexusCardInfo in _brachialPlexusCardList) { brachialPlexusCardsStr.Append( "HospitalizationId=" + brachialPlexusCardInfo.HospitalizationId + DataSplitStr + "VisitId=" + brachialPlexusCardInfo.VisitId + DataSplitStr + "Diaphragm=" + brachialPlexusCardInfo.Diaphragm + DataSplitStr + "EMNG=" + brachialPlexusCardInfo.EMNG + DataSplitStr + "EMNGDate=" + CConvertEngine.DateTimeToString(brachialPlexusCardInfo.EMNGDate) + DataSplitStr + "HornersSyndrome=" + brachialPlexusCardInfo.HornersSyndrome + DataSplitStr + "IsEMNGEnabled=" + brachialPlexusCardInfo.IsEMNGEnabled + DataSplitStr + "IsMyelographyEnabled=" + brachialPlexusCardInfo.IsMyelographyEnabled + DataSplitStr + "Myelography=" + brachialPlexusCardInfo.Myelography + DataSplitStr + "MyelographyDate=" + CConvertEngine.DateTimeToString(brachialPlexusCardInfo.MyelographyDate) + DataSplitStr + "MyelographyType=" + brachialPlexusCardInfo.MyelographyType + DataSplitStr + "TinelsSymptom=" + brachialPlexusCardInfo.TinelsSymptom + DataSplitStr + "VascularStatus=" + brachialPlexusCardInfo.VascularStatus + DataSplitStr + "CardSide=" + brachialPlexusCardInfo.SideOfCard + ObjSplitStr); if (saveBrachialPlexusCardInfo != null && saveBrachialPlexusCardInfo.IsEqual(brachialPlexusCardInfo)) { CDatabaseEngine.SaveBitmapToFile( brachialPlexusCardInfo.Picture, GetPicturePath(brachialPlexusCardInfo.GetPictureFileName())); } } CDatabaseEngine.PackText(brachialPlexusCardsStr.ToString(), _brachialPlexusCardPath); }
/// <summary> /// Сгенерировать папку с фотографиями /// </summary> /// <param name="sender">Объект, пославший сообщение</param> /// <param name="e">Объект, содержащий данные посланного сообщения</param> private void buttonGenerateFolder_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(_patientInfo.PrivateFolder) || !Directory.Exists(CConvertEngine.GetFullPrivateFolderPath(_patientInfo.PrivateFolder))) { MessageBox.ShowDialog("Личная папка не указана или её не существует"); return; } string fotoFolderName = CConvertEngine.DateTimeToString(dateTimePickerDeliveryDate.Value, true).Replace(":", "_").Replace(".", "_"); string fotoPath = Path.Combine(_realPrivateFolder, fotoFolderName); if (Directory.Exists(fotoPath)) { MessageBox.ShowDialog("Папка для этой госпитализации уже создана", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { Directory.CreateDirectory(fotoPath); MessageBox.ShowDialog("Папка для этой госпитализации создана успешно", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information); } textBoxFotoFolderName.Text = fotoFolderName; textBoxFotoFolderName.Focus(); }
/// <summary> /// Получить строку с описанием разницы в полях между текущим и переданным /// этапным эпикризом /// </summary> /// <param name="diffLineOfCommunicationEpicrisis">Импортируемый этапный эпикриз</param> /// <param name="patientFio">ФИО пациента</param> /// <param name="nosology">Нозология</param> /// <param name="hospitalizationDate">Дата госпитализации</param> /// <param name="databasesMerger">Указатель на класс для мержа объектов</param> /// <returns></returns> public void GetDifference( CLineOfCommunicationEpicrisis diffLineOfCommunicationEpicrisis, string patientFio, string nosology, string hospitalizationDate, CDatabasesMerger databasesMerger) { CMergeInfo ownPatientMergeInfo; CMergeInfo foreignPatientMergeInfo; if (AdditionalInfo != diffLineOfCommunicationEpicrisis.AdditionalInfo) { CreateMergeInfos( ObjectType.LineOfCommunicationEpicrisisAdditionalInfo, patientFio, nosology, hospitalizationDate, "Дополнительная информация", AdditionalInfo, diffLineOfCommunicationEpicrisis.AdditionalInfo, diffLineOfCommunicationEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (Plan != diffLineOfCommunicationEpicrisis.Plan) { CreateMergeInfos( ObjectType.LineOfCommunicationEpicrisisPlan, patientFio, nosology, hospitalizationDate, "Планирующиеся действия", Plan, diffLineOfCommunicationEpicrisis.Plan, diffLineOfCommunicationEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (CCompareEngine.CompareDate(WritingDate, diffLineOfCommunicationEpicrisis.WritingDate) != 0) { CreateMergeInfos( ObjectType.LineOfCommunicationEpicrisisWritingDate, patientFio, nosology, hospitalizationDate, "Дата написания документа", CConvertEngine.DateTimeToString(WritingDate), CConvertEngine.DateTimeToString(diffLineOfCommunicationEpicrisis.WritingDate), diffLineOfCommunicationEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } }
/// <summary> /// Получить строку с паспортными данными /// </summary> /// <returns></returns> public string GetPassInformation() { return(string.Format( "сер. {0} № {1} Дата выдачи: {2} Код подразделения: {3} Кем выдан: {4}", Series, Number, DeliveryDate.HasValue ? CConvertEngine.DateTimeToString(DeliveryDate.Value) : string.Empty, SubdivisionCode, Organization)); }
public override string ToString() { return(string.Format( "{1}{0}{2}{0}{3}{0}{4}{0}{5}", CBaseWorker.ListSplitStr, Series, Number, CConvertEngine.DateTimeToString(DeliveryDate), SubdivisionCode, Organization)); }
private void CheckTransferableEpicrisis() { List <CTransferableEpicrisis> wrongTransferableEpicrisiss = _workersKeeper.TransferableEpicrisisWorker.GetWrongTransferableEpicrisis(_workersKeeper.HospitalizationWorker); foreach (CTransferableEpicrisis transferableEpicrisis in wrongTransferableEpicrisiss) { string info = string.Format( "Переводной эпикриз: id госп-и={0}, Дата написания={1}, План={2}", transferableEpicrisis.HospitalizationId, CConvertEngine.DateTimeToString(transferableEpicrisis.WritingDate), transferableEpicrisis.Plan); WrongItemsList.Items.Add(info); } }
private void CheckLineOfCommunicationEpicrisis() { List <CLineOfCommunicationEpicrisis> wrongLineOfCommunicationEpicrisiss = _workersKeeper.LineOfCommunicationEpicrisisWorker.GetWrongLineOfCommunicationEpicrisis(_workersKeeper.HospitalizationWorker); foreach (CLineOfCommunicationEpicrisis lineOfCommunicationEpicrisis in wrongLineOfCommunicationEpicrisiss) { string info = string.Format( "Этапный эпикриз: id госп-и={0}, Дата написания={1}, План={2}", lineOfCommunicationEpicrisis.HospitalizationId, CConvertEngine.DateTimeToString(lineOfCommunicationEpicrisis.WritingDate), lineOfCommunicationEpicrisis.Plan); WrongItemsList.Items.Add(info); } }
/// <summary> /// Сохранить список анамнезов /// </summary> private void Save() { var anamnesesStr = new StringBuilder(); foreach (CAnamnese anamneseInfo in _anamneseList) { anamnesesStr.Append( "PatientId=" + anamneseInfo.PatientId + DataSplitStr + "AnMorbi=" + anamneseInfo.AnMorbi + DataSplitStr + "TraumaDate=" + CConvertEngine.DateTimeToString(anamneseInfo.TraumaDate) + ObjSplitStr); } CDatabaseEngine.PackText(anamnesesStr.ToString(), _anamnesePath); }
private void CheckAnamneses() { List <CAnamnese> wrongAnamneses = _workersKeeper.AnamneseWorker.GetWrongAnamneses(_workersKeeper.PatientWorker); foreach (CAnamnese anamnese in wrongAnamneses) { string info = string.Format( "Анамнез: id пациента={0}, Дата травмы={1}, AnMorbi={2}", anamnese.PatientId, CConvertEngine.DateTimeToString(anamnese.TraumaDate), anamnese.AnMorbi); WrongItemsList.Items.Add(info); } }
/// <summary> /// Сохранить список этапных эпикризов /// </summary> private void Save() { var lineOfCommunicationEpicrisissStr = new StringBuilder(); foreach (CLineOfCommunicationEpicrisis lineOfCommunicationEpicrisisInfo in _lineOfCommunicationEpicrisisList) { lineOfCommunicationEpicrisissStr.Append( "HospitalizationId=" + lineOfCommunicationEpicrisisInfo.HospitalizationId + DataSplitStr + "AdditionalInfo=" + lineOfCommunicationEpicrisisInfo.AdditionalInfo + DataSplitStr + "Plan=" + lineOfCommunicationEpicrisisInfo.Plan + DataSplitStr + "WritingDate=" + CConvertEngine.DateTimeToString(lineOfCommunicationEpicrisisInfo.WritingDate) + ObjSplitStr); } CDatabaseEngine.PackText(lineOfCommunicationEpicrisissStr.ToString(), _lineOfCommunicationEpicrisisPath); }
private void CheckOperationProtocols() { List <COperationProtocol> wrongOperationProtocols = _workersKeeper.OperationProtocolWorker.GetWrongOperationProtocols(_workersKeeper.OperationWorker); foreach (COperationProtocol operationProtocol in wrongOperationProtocols) { string info = string.Format( "Протокол операции: id операции={0}, Время написания={1}, Жалобы={2}, Ход операции={3}", operationProtocol.OperationId, CConvertEngine.DateTimeToString(operationProtocol.TimeWriting), operationProtocol.Complaints, operationProtocol.OperationCourse); WrongItemsList.Items.Add(info); } }
private void CheckVisits() { List <CVisit> wrongVisits = _workersKeeper.VisitWorker.GetWrongVisits(_workersKeeper.PatientWorker); foreach (CVisit visit in wrongVisits) { string info = string.Format( "Консультация: id={0}, id пациента={1}, Дата консультации={2}, Лечащий врач={3}, Диагноз={4}", visit.Id, visit.PatientId, CConvertEngine.DateTimeToString(visit.VisitDate), visit.Doctor, visit.DiagnoseOneLine); WrongItemsList.Items.Add(info); } }
private void CheckOperations() { List <COperation> wrongOperations = _workersKeeper.OperationWorker.GetWrongOperations(_workersKeeper.PatientWorker, _workersKeeper.HospitalizationWorker); foreach (COperation operation in wrongOperations) { string info = string.Format( "Операция: id={0}, id пациента={1}, id госп-и={2}, Дата операции={3}, Хирург(и)={4}, Название={5}", operation.Id, operation.PatientId, operation.HospitalizationId, CConvertEngine.DateTimeToString(operation.DateOfOperation), CConvertEngine.ListToString(operation.Surgeons, ", "), operation.Name); WrongItemsList.Items.Add(info); } }
private void CheckHospitalizations() { List <CHospitalization> wrongHospitalizations = _workersKeeper.HospitalizationWorker.GetWrongHospitalizations(_workersKeeper.PatientWorker); foreach (CHospitalization hospitalization in wrongHospitalizations) { string info = string.Format( "Госпитализация: id={0}, id пациента={1}, Номер ИБ={2}, Лечащий врач={3}, Дата поступления={4}, Диагноз={5}", hospitalization.Id, hospitalization.PatientId, hospitalization.NumberOfCaseHistory, hospitalization.DoctorInChargeOfTheCase, CConvertEngine.DateTimeToString(hospitalization.DeliveryDate), hospitalization.DiagnoseOneLine); WrongItemsList.Items.Add(info); } }
/// <summary> /// Сохранить список переводных эпикризов /// </summary> private void Save() { var transferableEpicrisissStr = new StringBuilder(); foreach (CTransferableEpicrisis transferableEpicrisisInfo in _transferableEpicrisisList) { transferableEpicrisissStr.Append( "HospitalizationId=" + transferableEpicrisisInfo.HospitalizationId + DataSplitStr + "AfterOperationPeriod=" + transferableEpicrisisInfo.AfterOperationPeriod + DataSplitStr + "Plan=" + transferableEpicrisisInfo.Plan + DataSplitStr + "WritingDate=" + CConvertEngine.DateTimeToString(transferableEpicrisisInfo.WritingDate) + DataSplitStr + "AdditionalInfo=" + transferableEpicrisisInfo.AdditionalInfo + DataSplitStr + "DisabilityList=" + transferableEpicrisisInfo.DisabilityList + DataSplitStr + "IsIncludeDisabilityList=" + transferableEpicrisisInfo.IsIncludeDisabilityList + ObjSplitStr); } CDatabaseEngine.PackText(transferableEpicrisissStr.ToString(), _transferableEpicrisisPath); }
/// <summary> /// Сохранить список госпитализаций /// </summary> private void Save() { _hospitalizationList.Sort(CHospitalization.Compare); var hospitalizationsStr = new StringBuilder(); foreach (CHospitalization hospitalizationInfo in _hospitalizationList) { hospitalizationsStr.Append( "Id=" + hospitalizationInfo.Id + DataSplitStr + "PatientId=" + hospitalizationInfo.PatientId + DataSplitStr + "DeliveryDate=" + CConvertEngine.DateTimeToString(hospitalizationInfo.DeliveryDate, true) + DataSplitStr + "ReleaseDate=" + CConvertEngine.DateTimeToString(hospitalizationInfo.ReleaseDate) + DataSplitStr + "NumberOfCaseHistory=" + hospitalizationInfo.NumberOfCaseHistory + DataSplitStr + "Diagnose=" + hospitalizationInfo.Diagnose + DataSplitStr + "FotoFolderName=" + hospitalizationInfo.FotoFolderName + DataSplitStr + "DoctorInChargeOfTheCase=" + hospitalizationInfo.DoctorInChargeOfTheCase + ObjSplitStr); } CDatabaseEngine.PackText(hospitalizationsStr.ToString(), _hospitalizationPath); }
/// <summary> /// Сохранить список осмотров в отделении /// </summary> private void Save() { var medicalInspectionsStr = new StringBuilder(); foreach (CMedicalInspection medicalInspectionInfo in _medicalInspectionList) { medicalInspectionsStr.Append( "HospitalizationId=" + medicalInspectionInfo.HospitalizationId + DataSplitStr + "AnamneseAnMorbi=" + medicalInspectionInfo.AnamneseAnMorbi + DataSplitStr + "StLocalisDescription=" + medicalInspectionInfo.StLocalisDescription + DataSplitStr + "StLocalisRentgen=" + medicalInspectionInfo.StLocalisRentgen + DataSplitStr + "AnamneseAnVitae=" + CConvertEngine.ListToString(medicalInspectionInfo.AnamneseAnVitae) + DataSplitStr + "AnamneseCheckboxes=" + CConvertEngine.ListToString(medicalInspectionInfo.AnamneseCheckboxes) + DataSplitStr + "AnamneseTextBoxes=" + CConvertEngine.ListToString(medicalInspectionInfo.AnamneseTextBoxes) + DataSplitStr + "Complaints=" + medicalInspectionInfo.Complaints + DataSplitStr + "ExpertAnamnese=" + medicalInspectionInfo.ExpertAnamnese + DataSplitStr + "InspectionPlan=" + medicalInspectionInfo.InspectionPlan + DataSplitStr + "IsAnamneseActive=" + medicalInspectionInfo.IsAnamneseActive + DataSplitStr + "IsPlanEnabled=" + medicalInspectionInfo.IsPlanEnabled + DataSplitStr + "IsStLocalisPart1Enabled=" + medicalInspectionInfo.IsStLocalisPart1Enabled + DataSplitStr + "IsStLocalisPart2Enabled=" + medicalInspectionInfo.IsStLocalisPart2Enabled + DataSplitStr + "LnFirstDateStart=" + CConvertEngine.DateTimeToString(medicalInspectionInfo.LnFirstDateStart) + DataSplitStr + "LnWithNumberDateEnd=" + CConvertEngine.DateTimeToString(medicalInspectionInfo.LnWithNumberDateEnd) + DataSplitStr + "LnWithNumberDateStart=" + CConvertEngine.DateTimeToString(medicalInspectionInfo.LnWithNumberDateStart) + DataSplitStr + "StLocalisPart1Fields=" + CConvertEngine.ListToString(medicalInspectionInfo.StLocalisPart1Fields) + DataSplitStr + "StLocalisPart1OppositionFinger=" + medicalInspectionInfo.StLocalisPart1OppositionFinger + DataSplitStr + "StLocalisPart2ComboBoxes=" + CConvertEngine.ListToString(medicalInspectionInfo.StLocalisPart2ComboBoxes) + DataSplitStr + "StLocalisPart2LeftHand=" + CConvertEngine.ListToString(medicalInspectionInfo.StLocalisPart2LeftHand) + DataSplitStr + "StLocalisPart2NumericUpDown=" + medicalInspectionInfo.StLocalisPart2NumericUpDown + DataSplitStr + "StLocalisPart2RightHand=" + CConvertEngine.ListToString(medicalInspectionInfo.StLocalisPart2RightHand) + DataSplitStr + "StLocalisPart2TextBoxes=" + CConvertEngine.ListToString(medicalInspectionInfo.StLocalisPart2TextBoxes) + DataSplitStr + "StLocalisPart2WhichHand=" + medicalInspectionInfo.StLocalisPart2WhichHand + DataSplitStr + "StPraesensComboBoxes=" + CConvertEngine.ListToString(medicalInspectionInfo.StPraesensComboBoxes) + DataSplitStr + "StPraesensNumericUpDowns=" + CConvertEngine.ListToString(medicalInspectionInfo.StPraesensNumericUpDowns) + DataSplitStr + "StPraesensTextBoxes=" + CConvertEngine.ListToString(medicalInspectionInfo.StPraesensTextBoxes) + DataSplitStr + "TeoRisk=" + medicalInspectionInfo.TeoRisk + ObjSplitStr); } CDatabaseEngine.PackText(medicalInspectionsStr.ToString(), _medicalInspectionPath); }
/// <summary> /// Сохранить список консультаций /// </summary> private void Save() { _visitList.Sort(CVisit.Compare); var visitsStr = new StringBuilder(); foreach (CVisit visitInfo in _visitList) { visitsStr.Append( "Id=" + visitInfo.Id + DataSplitStr + "PatientId=" + visitInfo.PatientId + DataSplitStr + "VisitDate=" + CConvertEngine.DateTimeToString(visitInfo.VisitDate, true) + DataSplitStr + "Evenly=" + visitInfo.Evenly + DataSplitStr + "Recommendation=" + visitInfo.Recommendation + DataSplitStr + "Comments=" + visitInfo.Comments + DataSplitStr + "Doctor=" + visitInfo.Doctor + DataSplitStr + "IsLastParagraphForCertificateNeeded=" + visitInfo.IsLastParagraphForCertificateNeeded + DataSplitStr + "IsLastOdkbParagraphForCertificateNeeded=" + visitInfo.IsLastOdkbParagraphForCertificateNeeded + DataSplitStr + "Diagnose=" + visitInfo.Diagnose + ObjSplitStr); } CDatabaseEngine.PackText(visitsStr.ToString(), _visitPath); }
/// <summary> /// Сохранить список пациентов /// </summary> private void Save() { _patientList.Sort(CPatient.Compare); var patientsStr = new StringBuilder(); foreach (CPatient patientInfo in _patientList) { patientsStr.Append( "Birthday=" + CConvertEngine.DateTimeToString(patientInfo.Birthday) + DataSplitStr + "BuildingNumber=" + patientInfo.BuildingNumber + DataSplitStr + "CityName=" + patientInfo.CityName + DataSplitStr + "FlatNumber=" + patientInfo.FlatNumber + DataSplitStr + "HomeNumber=" + patientInfo.HomeNumber + DataSplitStr + "Id=" + patientInfo.Id + DataSplitStr + "LastName=" + patientInfo.LastName + DataSplitStr + "Name=" + patientInfo.Name + DataSplitStr + "NosologyList=" + CConvertEngine.ListToString(patientInfo.NosologyList) + DataSplitStr + "Patronymic=" + patientInfo.Patronymic + DataSplitStr + "Phone=" + patientInfo.Phone + DataSplitStr + "PrivateFolder=" + patientInfo.PrivateFolder + DataSplitStr + "Relatives=" + patientInfo.Relatives + DataSplitStr + "IsSpecifyLegalRepresent=" + patientInfo.IsSpecifyLegalRepresent + DataSplitStr + "LegalRepresent=" + patientInfo.LegalRepresent + DataSplitStr + "WorkPlace=" + patientInfo.WorkPlace + DataSplitStr + "EMail=" + patientInfo.EMail + DataSplitStr + "InsuranceSeries=" + patientInfo.InsuranceSeries + DataSplitStr + "InsuranceNumber=" + patientInfo.InsuranceNumber + DataSplitStr + "InsuranceType=" + patientInfo.InsuranceType + DataSplitStr + "InsuranceName=" + patientInfo.InsuranceName + DataSplitStr + "PassInformation=" + patientInfo.PassInformation + DataSplitStr + "StreetName=" + patientInfo.StreetName + ObjSplitStr); } CDatabaseEngine.PackText(patientsStr.ToString(), _patientPath); }
/// <summary> /// Получить строку с описанием разницы в полях между текущим и переданным /// протоколом операции /// </summary> /// <param name="diffOperationProtocol">Импортируемый протокол операции</param> /// <param name="patientFio">ФИО импортируемого пациента</param> /// <param name="nosology">Нозология</param> /// <param name="hospitalizationDate">Дата импортируемой госпитализации</param> /// <param name="operationName">Название импортируемой операции</param> /// <param name="databasesMerger">Указатель на класс для мержа объектов</param> /// <returns></returns> public void GetDifference( COperationProtocol diffOperationProtocol, string patientFio, string nosology, string hospitalizationDate, string operationName, CDatabasesMerger databasesMerger) { CMergeInfo ownPatientMergeInfo; CMergeInfo foreignPatientMergeInfo; if (TreatmentPlanInspection != diffOperationProtocol.TreatmentPlanInspection) { CreateMergeInfos( ObjectType.OperationProtocolTreatmentPlanInspection, patientFio, nosology, hospitalizationDate, operationName, "Обследование пациента", TreatmentPlanInspection, diffOperationProtocol.TreatmentPlanInspection, diffOperationProtocol, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (IsTreatmentPlanActiveInOperationProtocol != diffOperationProtocol.IsTreatmentPlanActiveInOperationProtocol) { CreateMergeInfos( ObjectType.OperationProtocolIsTreatmentPlanActiveInOperationProtocol, patientFio, nosology, hospitalizationDate, operationName, "Активен ли план обследования в операционном протоколе", IsTreatmentPlanActiveInOperationProtocol.ToString(), diffOperationProtocol.IsTreatmentPlanActiveInOperationProtocol.ToString(), diffOperationProtocol, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (ADFirst != diffOperationProtocol.ADFirst) { CreateMergeInfos( ObjectType.OperationProtocolADFirst, patientFio, nosology, hospitalizationDate, operationName, "Первое значение AD", ADFirst.ToString(), diffOperationProtocol.ADFirst.ToString(), diffOperationProtocol, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (ADSecond != diffOperationProtocol.ADSecond) { CreateMergeInfos( ObjectType.OperationProtocolADSecond, patientFio, nosology, hospitalizationDate, operationName, "Второе значение AD", ADSecond.ToString(), diffOperationProtocol.ADSecond.ToString(), diffOperationProtocol, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (Breath != diffOperationProtocol.Breath) { CreateMergeInfos( ObjectType.OperationProtocolBreath, patientFio, nosology, hospitalizationDate, operationName, "Дыхание", Breath, diffOperationProtocol.Breath, diffOperationProtocol, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (ChDD != diffOperationProtocol.ChDD) { CreateMergeInfos( ObjectType.OperationProtocolChDD, patientFio, nosology, hospitalizationDate, operationName, "ЧДД", ChDD.ToString(), diffOperationProtocol.ChDD.ToString(), diffOperationProtocol, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (Complaints != diffOperationProtocol.Complaints) { CreateMergeInfos( ObjectType.OperationProtocolComplaints, patientFio, nosology, hospitalizationDate, operationName, "Жалобы", Complaints, diffOperationProtocol.Complaints, diffOperationProtocol, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (string.Compare(Complaints, diffOperationProtocol.Complaints) == 0) { } if (State != diffOperationProtocol.State) { CreateMergeInfos( ObjectType.OperationProtocolState, patientFio, nosology, hospitalizationDate, operationName, "Состояние", State, diffOperationProtocol.State, diffOperationProtocol, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (HeartRhythm != diffOperationProtocol.HeartRhythm) { CreateMergeInfos( ObjectType.OperationProtocolHeartRhythm, patientFio, nosology, hospitalizationDate, operationName, "Ритм сердца", HeartRhythm, diffOperationProtocol.HeartRhythm, diffOperationProtocol, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (HeartSounds != diffOperationProtocol.HeartSounds) { CreateMergeInfos( ObjectType.OperationProtocolHeartSounds, patientFio, nosology, hospitalizationDate, operationName, "Тоны сердца", HeartSounds, diffOperationProtocol.HeartSounds, diffOperationProtocol, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (IsDairyEnabled != diffOperationProtocol.IsDairyEnabled) { CreateMergeInfos( ObjectType.OperationProtocolIsDairyEnabled, patientFio, nosology, hospitalizationDate, operationName, "Активен ли дневник", IsDairyEnabled.ToString(), diffOperationProtocol.IsDairyEnabled.ToString(), diffOperationProtocol, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (Pulse != diffOperationProtocol.Pulse) { CreateMergeInfos( ObjectType.OperationProtocolPulse, patientFio, nosology, hospitalizationDate, operationName, "Пульс", Pulse.ToString(), diffOperationProtocol.Pulse.ToString(), diffOperationProtocol, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (StLocalis != diffOperationProtocol.StLocalis) { CreateMergeInfos( ObjectType.OperationProtocolStLocalis, patientFio, nosology, hospitalizationDate, operationName, "StLocalis", StLocalis, diffOperationProtocol.StLocalis, diffOperationProtocol, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (Stomach != diffOperationProtocol.Stomach) { CreateMergeInfos( ObjectType.OperationProtocolStomach, patientFio, nosology, hospitalizationDate, operationName, "Живот", Stomach, diffOperationProtocol.Stomach, diffOperationProtocol, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (Stool != diffOperationProtocol.Stool) { CreateMergeInfos( ObjectType.OperationProtocolStool, patientFio, nosology, hospitalizationDate, operationName, "Стул", Stool, diffOperationProtocol.Stool, diffOperationProtocol, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (Temperature != diffOperationProtocol.Temperature) { CreateMergeInfos( ObjectType.OperationProtocolTemperature, patientFio, nosology, hospitalizationDate, operationName, "Температура тела", Temperature, diffOperationProtocol.Temperature, diffOperationProtocol, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (Urination != diffOperationProtocol.Urination) { CreateMergeInfos( ObjectType.OperationProtocolUrination, patientFio, nosology, hospitalizationDate, operationName, "Мочеиспускание", Urination, diffOperationProtocol.Urination, diffOperationProtocol, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (Wheeze != diffOperationProtocol.Wheeze) { CreateMergeInfos( ObjectType.OperationProtocolWheeze, patientFio, nosology, hospitalizationDate, operationName, "Хрипы", Wheeze, diffOperationProtocol.Wheeze, diffOperationProtocol, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (OperationCourse != diffOperationProtocol.OperationCourse) { CreateMergeInfos( ObjectType.OperationProtocolOperationCourse, patientFio, nosology, hospitalizationDate, operationName, "Ход операции", OperationCourse, diffOperationProtocol.OperationCourse, diffOperationProtocol, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (CCompareEngine.CompareDate(TreatmentPlanDate, diffOperationProtocol.TreatmentPlanDate) != 0) { CreateMergeInfos( ObjectType.OperationProtocolTreatmentPlanDate, patientFio, nosology, hospitalizationDate, operationName, "Дата написание плана обследования", CConvertEngine.DateTimeToString(TreatmentPlanDate), CConvertEngine.DateTimeToString(diffOperationProtocol.TreatmentPlanDate), diffOperationProtocol, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (CCompareEngine.CompareTime(TimeWriting, diffOperationProtocol.TimeWriting) != 0) { CreateMergeInfos( ObjectType.OperationProtocolTimeWriting, patientFio, nosology, hospitalizationDate, operationName, "Время написания эпикриза", CConvertEngine.TimeToString(TimeWriting), CConvertEngine.TimeToString(diffOperationProtocol.TimeWriting), diffOperationProtocol, out ownPatientMergeInfo, out foreignPatientMergeInfo); 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="diffTransferableEpicrisis">Импортируемый переводной эпикриз</param> /// <param name="patientFio">ФИО пациента</param> /// <param name="nosology">Нозология</param> /// <param name="hospitalizationDate">Дата госпитализации</param> /// <param name="databasesMerger">Указатель на класс для мержа объектов</param> /// <returns></returns> public void GetDifference( CTransferableEpicrisis diffTransferableEpicrisis, string patientFio, string nosology, string hospitalizationDate, CDatabasesMerger databasesMerger) { CMergeInfo ownPatientMergeInfo; CMergeInfo foreignPatientMergeInfo; if (AfterOperationPeriod != diffTransferableEpicrisis.AfterOperationPeriod) { CreateMergeInfos( ObjectType.TransferableEpicrisisAfterOperationPeriod, patientFio, nosology, hospitalizationDate, "Послеоперационный период", AfterOperationPeriod, diffTransferableEpicrisis.AfterOperationPeriod, diffTransferableEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (Plan != diffTransferableEpicrisis.Plan) { CreateMergeInfos( ObjectType.TransferableEpicrisisPlan, patientFio, nosology, hospitalizationDate, "Планирующиеся действия", Plan, diffTransferableEpicrisis.Plan, diffTransferableEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (CCompareEngine.CompareDate(WritingDate, diffTransferableEpicrisis.WritingDate) != 0) { CreateMergeInfos( ObjectType.TransferableEpicrisisWritingDate, patientFio, nosology, hospitalizationDate, "Дата написания документа", CConvertEngine.DateTimeToString(WritingDate), CConvertEngine.DateTimeToString(diffTransferableEpicrisis.WritingDate), diffTransferableEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (AdditionalInfo != diffTransferableEpicrisis.AdditionalInfo) { CreateMergeInfos( ObjectType.TransferableEpicrisisAdditionalInfo, patientFio, nosology, hospitalizationDate, "Дополнительная информация", AdditionalInfo, diffTransferableEpicrisis.AdditionalInfo, diffTransferableEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (DisabilityList != diffTransferableEpicrisis.DisabilityList) { CreateMergeInfos( ObjectType.TransferableEpicrisisDisabilityList, patientFio, nosology, hospitalizationDate, "Личный номер", DisabilityList, diffTransferableEpicrisis.DisabilityList, diffTransferableEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (IsIncludeDisabilityList != diffTransferableEpicrisis.IsIncludeDisabilityList) { CreateMergeInfos( ObjectType.TransferableEpicrisisIsIncludeDisabilityList, patientFio, nosology, hospitalizationDate, "Включать ли личный номер в отчёт", IsIncludeDisabilityList.ToString(), diffTransferableEpicrisis.IsIncludeDisabilityList.ToString(), diffTransferableEpicrisis, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } }
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; } }
/// <summary> /// Получить строку с описанием разницы в полях между текущим и /// переданным анамнезом /// </summary> /// <param name="diffAnamnese">Импортируемый анамнез</param> /// <param name="patientFio">ФИО пациента</param> /// <param name="nosology">Нозология</param> /// <param name="databasesMerger">Указатель на класс для мержа объектов</param> /// <returns></returns> public void GetDifference(CAnamnese diffAnamnese, string patientFio, string nosology, CDatabasesMerger databasesMerger) { CMergeInfo ownPatientMergeInfo; CMergeInfo foreignPatientMergeInfo; if (AnMorbi != diffAnamnese.AnMorbi) { CreateMergeInfos( ObjectType.AnamneseAnMorbi, patientFio, nosology, "Описание анамнеза", AnMorbi, diffAnamnese.AnMorbi, diffAnamnese, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } if (TraumaDate.HasValue && !diffAnamnese.TraumaDate.HasValue) { CreateMergeInfos( ObjectType.AnamneseTraumaDate, patientFio, nosology, "Дата травмы", CConvertEngine.DateTimeToString(TraumaDate.Value, false), "Нет значения", diffAnamnese, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } else if (!TraumaDate.HasValue && diffAnamnese.TraumaDate.HasValue) { CreateMergeInfos( ObjectType.AnamneseTraumaDate, patientFio, nosology, "Дата травмы", "Нет значения", CConvertEngine.DateTimeToString(diffAnamnese.TraumaDate.Value, false), diffAnamnese, out ownPatientMergeInfo, out foreignPatientMergeInfo); databasesMerger.AddMergeInfo(ownPatientMergeInfo, foreignPatientMergeInfo); } else if (TraumaDate.HasValue && diffAnamnese.TraumaDate.HasValue && CCompareEngine.CompareDate(TraumaDate.Value, diffAnamnese.TraumaDate.Value) != 0) { CreateMergeInfos( ObjectType.AnamneseTraumaDate, patientFio, nosology, "Дата травмы", CConvertEngine.DateTimeToString(TraumaDate.Value, false), CConvertEngine.DateTimeToString(diffAnamnese.TraumaDate.Value, false), diffAnamnese, out ownPatientMergeInfo, out foreignPatientMergeInfo); 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); } }